Host Protected Area
# Host Protected Area

Host Protected Area (HPA), auch bekannt als Hidden Protected Area oder ATA-geschützter Bereich, ist ein reservierter Bereich für die Speicherung von Daten außerhalb des normalen Dateisystems. Dieser Bereich wird vor dem Dateisystem und dem Betriebssystem – und somit auch vor Formatierungs- und Partitionierungsprogrammen – versteckt und ist für diese nicht erreichbar.

## Verwendungszwecke

Verwendungszwecke für HPA sind vor allem die Systemwiederherstellung und die Sicherung von Konfigurationsdaten. So kann beispielsweise der Original-Inhalt einer Systeminstallation in einem geschützten Bereich auf der Festplatte abgelegt und bei einer Wiederherstellung in den regulären Bereich der Festplatte zurückkopiert werden.
HPA ist ein optionales Festplatten-Merkmal, das im ATA-4-Standard definiert ist und von den meisten modernen Festplatten unterstützt wird.
Mittels HPA kann eine HPA-fähige Festplatte so manipuliert werden, dass sie kleiner erscheint als sie tatsächlich ist. HPA ermöglicht es, einen oberen Bereich der Festplatte zu verstecken.

## HPA-relevante ATA-Befehle
### a) IDENTIFY_DEVICE

Der ATA-Befehl IDENTIFY_DEVICE, der üblicherweise bei der Hardwareerkennung des Betriebssystems aufgerufen wird, gibt die Kapazität einer Festplatte zurück.

### b) SET_MAX_ADDRESS

Der ATA-Befehl SET_MAX_ADDRESS wird verwendet, um die Festplatte kleiner erscheinen zu lassen, als sie tatsächlich ist. Der Befehl kann sowohl im flüchtigen (volatile) als auch im nicht-flüchtigen (non-volatile) Modus ausgeführt werden. Im nicht-flüchtigen (non-volatile) Modus bleibt die neue Maximalgröße dauerhaft – also auch nach einem Ausschalten der Festplatte – erhalten, während im flüchtigen (volatile) Modus die Größe nur vorübergehend, d. h. bis zum nächsten Reset, verändert wird. Über den ATA-Befehl SET_MAX_ADDRESS wird der Festplatte also mitgeteilt, welche Kapazität sie beim Befehl IDENTIFY_DEVICE melden soll.

### c) READ_NATIVE_MAX_ADDRESS

Der ATA-Befehl READ_NATIVE_MAX_ADDRESS zeigt immer die maximale obere Sektoradresse an, indem er die höchste Adresse gemäß der Werkseinstellung – also die tatsächliche Größe – ausliest.
Durch den Vergleich der Ausgaben der Befehle IDENTIFY_DEVICE und READ_NATIVE_MAX_ADDRESS lässt sich ermitteln, ob HPA vorhanden bzw. aktiviert ist. Wenn die beiden Befehle unterschiedliche Größen anzeigen, dann ist die Festplatte irgendwann zuvor mit dem Befehl SET_MAX_ADDRESS „verkleinert“ worden.
Durch erneute Ausführung des Befehls SET_MAX_ADDRESS kann die Festplattengröße wieder auf die Werkseinstellung zurückgesetzt werden. Dann kann wieder auf die gesamte Festplatte zugegriffen werden, d. h. die Festplatte hat wieder ihre volle Kapazität.

## Computer-Forensik

Für Strafverfolgungsbehörden, Ermittler und Forensik-Experten ist die Erkennung und Auswertung von Host Protected Areas (HPA) sehr interessant.
Zum einen können vom Beschuldigten mittels HPA bewusst Bereiche der Festplatte ausgeblendet und Daten versteckt worden sein. Zum anderen können sich in den „versteckten“ Bereichen der Festplatte verwertbare Spuren und Beweise finden lassen, wenn dem Beschuldigten HPA nicht bekannt gewesen ist oder er HPA aus technischen Gründen nicht modifizieren kann.

## Manipulieren und Löschen von Datenträgern

Auch für den Anwender kann die HPA von großer Bedeutung sein, besonders wenn er die Daten auf der Festplatte durch vollständiges Überschreiben komplett löschen möchte.
Aktuelle Linux-Kernel setzen grundsätzlich eine beim Booten detektierte HPA temporär zurück (deaktivieren diese), sodass der Kernel (und damit der Administrator) auf alle Sektoren bis zur nativen Maximaladresse zugreifen kann. Beispielsweise:
Wenn der Kernel die HPA zurücksetzt, können Tools wie der Unix-Befehl dd, der gerne zum Löschen von Datenträgern mittels kompletten Überschreiben der Festplatte mit Nullen oder zufälligen Zahlen verwendet wird, die HPA auch überschreiben. Bei Verwendung eines älteren Kernels, wie zum Beispiel bei der bekannten Live-CD DBAN (Version 1.0.4), wird die HPA nicht gelöscht, sondern nur der sichtbare Teil der Festplatte.