Área protegida hospedeira - Host protected area
A área protegida do host ( HPA ) é uma área de um disco rígido ou unidade de estado sólido que normalmente não é visível para um sistema operacional . Foi introduzido pela primeira vez no padrão ATA-4 CXV (T13) em 2001.
Como funciona
- IDENTIFY DEVICE retorna o tamanho real do disco rígido. READ NATIVE MAX ADDRESS retorna o tamanho real do disco rígido.
- SET MAX ADDRESS reduz o tamanho relatado do disco rígido. READ NATIVE MAX ADDRESS retorna o tamanho real do disco rígido. Um HPA foi criado.
- IDENTIFY DEVICE retorna o tamanho agora falso do disco rígido. READ NATIVE MAX ADDRESS retorna o tamanho real do disco rígido, o HPA já existe.
O controlador IDE possui registros que contêm dados que podem ser consultados usando comandos ATA . Os dados retornados fornecem informações sobre a unidade conectada ao controlador. Existem três comandos ATA envolvidos na criação e uso de uma área protegida do host. Os comandos são:
- IDENTIFICAR DISPOSITIVO
- DEFINIR ENDEREÇO MÁX.
- LER NATIVE MAX ADDRESS
Os sistemas operacionais usam o comando IDENTIFY DEVICE para descobrir o espaço endereçável de um disco rígido. O comando IDENTIFY DEVICE consulta um determinado registro no controlador IDE para estabelecer o tamanho de uma unidade.
Este registro, entretanto, pode ser alterado usando o comando SET MAX ADDRESS ATA. Se o valor no registro for definido como menor do que o tamanho real do disco rígido, uma área protegida do host será criada. Ele é protegido porque o sistema operacional funcionará apenas com o valor no registro que é retornado pelo comando IDENTIFY DEVICE e, portanto, normalmente não será capaz de endereçar as partes da unidade que estão dentro do HPA.
O HPA é útil apenas se outro software ou firmware (por exemplo, BIOS ou UEFI ) for capaz de usá-lo. O software e o firmware que podem usar o HPA são chamados de 'ciente do HPA'. O comando ATA que essas entidades usam é denominado READ NATIVE MAX ADDRESS. Este comando acessa um registro que contém o tamanho real do disco rígido. Para usar a área, o programa de controle HPA ciente altera o valor do registro lido por IDENTIFY DEVICE para aquele encontrado no registro lido por READ NATIVE MAX ADDRESS. Quando suas operações são concluídas, o registro lido por IDENTIFY DEVICE retorna ao seu valor falso original.
Usar
- Na época em que o HPA foi implementado pela primeira vez no firmware do disco rígido, alguns BIOS tinham dificuldade para inicializar com discos rígidos grandes. Um HPA inicial pode então ser definido (por alguns jumpers no disco rígido) para limitar o número de cilindros a 4095 ou 4096 para que o BIOS mais antigo seja iniciado. A tarefa do carregador de inicialização era redefinir o HPA para que o sistema operacional visse todo o espaço de armazenamento do disco rígido.
- O HPA pode ser usado por vários utilitários de inicialização e diagnóstico, normalmente em conjunto com o BIOS . Um exemplo dessa implementação é o Phoenix FirstBIOS , que usa Boot Engineering Extension Record ( BEER ) e Serviços de extensão de interface de tempo de execução de área protegida ( PARTIES ). Outro exemplo é o instalador Gujin que pode instalar o bootloader em BEER, nomeando essa pseudo-partição / dev / hda0 ou / dev / sdb0; então, apenas as inicializações a frio (a partir do desligamento) serão bem-sucedidas porque as inicializações a quente (de Control-Alt-Delete) não serão capazes de ler o HPA.
- Os fabricantes de computador podem usar a área para conter um sistema operacional pré-carregado para fins de instalação e recuperação (em vez de fornecer mídia de DVD ou CD).
- Os notebooks Dell ocultam o utilitário Dell MediaDirect no HPA. Os notebooks IBM ThinkPad e LG ocultam o software de restauração do sistema no HPA.
- O HPA também é usado por vários fornecedores de serviços de monitoramento e recuperação de roubo. Por exemplo, a empresa de segurança de laptop CompuTrace usa o HPA para carregar software que se reporta a seus servidores sempre que a máquina é inicializada em uma rede. HPA é útil para eles porque mesmo quando um laptop roubado tem seu disco rígido formatado, o HPA permanece intocado.
- O HPA também pode ser usado para armazenar dados considerados ilegais e, portanto, do interesse das equipes de computação forense do governo e da polícia .
- Alguns gabinetes de unidade externa específicos do fornecedor (por exemplo, Maxtor, de propriedade da Seagate desde 2006) são conhecidos por usar HPA para limitar a capacidade de unidades de disco rígido de substituição desconhecidas instaladas no gabinete. Quando isso ocorre, o tamanho da unidade pode parecer limitado (por exemplo, 128 GB), o que pode ser parecido com um problema de BIOS ou sobreposição de unidade dinâmica (DDO). Nesse caso, deve-se usar utilitários de software (veja abaixo) que usam READ NATIVE MAX ADDRESS e SET MAX ADDRESS para alterar o tamanho relatado da unidade de volta ao seu tamanho nativo e evitar usar o gabinete externo novamente com a unidade afetada.
- Alguns rootkits ficam ocultos no HPA para evitar serem detectados por software anti-rootkit e antivírus .
- Alguns exploits NSA usam o HPA para persistência de aplicativos.
Identificação e manipulação
A identificação de HPA em um disco rígido pode ser obtida por meio de várias ferramentas e métodos.
Observe que o recurso HPA pode ser oculto por comandos DCO (a documentação informa apenas se o HPA não estiver em uso) e pode ser "congelado" (até o próximo desligamento do disco rígido) ou protegido por senha.
Ferramentas de identificação
- ATATool da Data Synergy
- The Sleuth Kit (software livre e aberto) de Brian Carrier (a identificação HPA atualmente é apenas para Linux.)
- EnCase da Guidance Software
- Kit de ferramentas forenses por dados de acesso
Métodos de identificação
O programa ATATool do Windows pode detectar um HPA. Por exemplo, para ver se o primeiro disco tem um HPA, use o comando:
ATATOOL /INFO \\.\PhysicalDrive0
Usando o Linux , existem várias maneiras de detectar a existência de um HPA. As versões recentes do Linux imprimirão uma mensagem quando o sistema estiver inicializando, se um HPA for detectado. Por exemplo:
dmesg | less [...] hdb: Host Protected Area detected. current capacity is 12000 sectors (6 MB) native capacity is 120103200 sectors (61492 MB)
O programa hdparm (versões 8.0 e superior) detectará um HPA no drive sdX quando chamado com estes parâmetros:
hdparm -N /dev/sdX
Para versões do hdparm abaixo de 8, pode-se comparar o número de setores de saída de 'hdparm -I' com o número de setores relatado para as estatísticas publicadas do modelo de disco rígido.
Métodos de manipulação
O programa ATATool do Windows pode ser usado para criar um HPA. Por exemplo, para criar um HPA de 10 GB:
ATATOOL /NONVOLATILEHPA /SETHPA:10GB \\.\PhysicalDrive1
O programa Linux hdparm (versão> = 8.0) criará um HPA quando chamado com estes parâmetros: (sdX: unidade de destino, #: número de setores visíveis não HPA)
hdparm -N p# /dev/sdX
Veja também
- Sobreposição de configuração de dispositivo (DCO)
- Tabela de partição GUID (GPT)
- Registro mestre de inicialização (MBR)