Värd skyddat område
Host protected area ( HPA ) är ett område på en hårddisk eller solid state-enhet som normalt inte är synligt för ett operativsystem . Den introducerades först i ATA-4 -standarden CXV (T13) 2001.
Hur det fungerar
IDE-styrenheten har register som innehåller data som kan frågas med hjälp av ATA- kommandon. De data som returneras ger information om enheten som är ansluten till styrenheten. Det finns tre ATA-kommandon involverade i att skapa och använda ett värdskyddat område. Kommandona är:
- IDENTIFIERA ENHETEN
- SÄTT MAXADRESS
- LÄS NATIVE MAX ADDRESS
Operativsystem använder kommandot IDENTIFY DEVICE för att ta reda på det adresserbara utrymmet på en hårddisk. Kommandot IDENTIFY DEVICE frågar ett visst register på IDE-styrenheten för att fastställa storleken på en enhet.
Detta register kan dock ändras med kommandot SET MAX ADDRESS ATA. Om värdet i registret är inställt på mindre än den faktiska hårddiskstorleken skapas i praktiken ett värdskyddat område. Det är skyddat eftersom operativsystemet endast kommer att fungera med värdet i registret som returneras av kommandot IDENTIFY DEVICE och därför normalt inte kommer att kunna adressera de delar av enheten som ligger inom HPA.
HPA är endast användbar om annan programvara eller firmware (t.ex. BIOS eller UEFI ) kan använda den. Programvara och firmware som kan använda HPA kallas "HPA medveten". ATA-kommandot som dessa enheter använder kallas READ NATIVE MAX ADDRESS. Detta kommando får åtkomst till ett register som innehåller den verkliga storleken på hårddisken. För att använda området ändrar det styrande HPA-medvetna programmet värdet på registret som läses av IDENTIFY DEVICE till det som finns i registret som läses av READ NATIVE MAX ADDRESS. När dess operationer är klara, återgår registret som läses av IDENTIFY DEVICE till sitt ursprungliga falska värde.
Använda sig av
- När HPA först implementerades på hårddiskfirmware hade vissa BIOS svårigheter att starta med stora hårddiskar. En initial HPA kunde sedan ställas in (av vissa byglar på hårddisken) för att begränsa antalet cylindrar till 4095 eller 4096 så att det äldre BIOS skulle starta. Det var sedan starthanterarens uppgift att återställa HPA så att operativsystemet skulle se hela hårddiskutrymmet.
- HPA kan användas av olika uppstarts- och diagnostiska verktyg, normalt i kombination med BIOS . Ett exempel på denna implementering är Phoenix FirstBIOS, som använder Boot Engineering Extension Record ( BEER ) och Protected Area Run Time Interface Extension Services ( PARTIES ) . Ett annat exempel är Gujin-installationsprogrammet som kan installera starthanteraren i BEER, som namnger den pseudopartitionen /dev/hda0 eller /dev/sdb0; då kommer bara kalla stövlar (från power-down) att lyckas eftersom varma stövlar (från Control-Alt-Delete) inte kommer att kunna läsa HPA.
- Datortillverkare kan använda området för att innehålla ett förinstallerat operativsystem för installation och återställning (istället för att tillhandahålla DVD- eller CD-media).
- Dells bärbara datorer döljer Dell MediaDirect -verktyget i HPA. IBM ThinkPad och LG bärbara datorer gömmer systemåterställningsprogramvara i HPA.
- HPA används också av olika leverantörer av stöldåterställning och övervakningstjänster. Till exempel använder säkerhetsföretaget CompuTrace för bärbara datorer HPA för att ladda programvara som rapporterar till deras servrar när maskinen startas upp på ett nätverk. HPA är användbart för dem eftersom även när en stulen bärbar dator har sin hårddisk formaterad förblir HPA orörd.
- HPA kan också användas för att lagra data som bedöms vara olaglig och som därför är av intresse för myndigheter och polisens datakriminaltekniska team.
- Vissa leverantörsspecifika externa diskhöljen (t.ex. Maxtor, som ägs av Seagate sedan 2006) är kända för att använda HPA för att begränsa kapaciteten hos okända ersättningshårddiskar installerade i höljet. När detta inträffar kan enheten tyckas vara begränsad i storlek (t.ex. 128 GB), vilket kan se ut som ett BIOS- eller DDO-problem ( Dynamic Drive Overlay) . I det här fallet måste man använda programvaruverktyg (se nedan) som använder READ NATIVE MAX ADDRESS och SET MAX ADDRESS för att ändra enhetens rapporterade storlek tillbaka till sin ursprungliga storlek och undvika att använda det externa höljet igen med den berörda enheten.
- Vissa rootkits gömmer sig i HPA för att undvika att upptäckas av anti-rootkit och antivirusprogram .
- Vissa NSA- exploater använder HPA för applikationsbeständighet.
Identifiering och manipulation
Identifiering av HPA på en hårddisk kan uppnås med ett antal verktyg och metoder.
Observera att HPA-funktionen kan döljas av DCO- kommandon (dokumentationen anger endast om HPA:n inte används) och kan "frysas" (tills nästa stängning av hårddisken) eller vara lösenordsskyddad.
Identifieringsverktyg
- ATATool från Data Synergy
- The Sleuth Kit (gratis, öppen programvara) av Brian Carrier (HPA-identifiering är för närvarande endast Linux.)
- EnCase av Guidance Software
- Forensic Toolkit av Access Data
Identifieringsmetoder
Windows - programmet ATATool kan upptäcka en HPA. Använd till exempel kommandot för att se om den första disken har en HPA:
ATATOOL /INFO \\.\PhysicalDrive0
Med Linux finns det olika sätt att upptäcka förekomsten av en HPA. Senaste versioner av Linux kommer att skriva ut ett meddelande när systemet startar om en HPA upptäcks. Till exempel:
dmesg | mindre [...] hdb: Värdskyddat område upptäckt. nuvarande kapacitet är 12000 sektorer (6 MB) inbyggd kapacitet är 120103200 sektorer (61492 MB)
Programmet hdparm (version 8.0 och högre) kommer att upptäcka en HPA på drive sdX när det anropas med dessa parametrar:
hdparm -N /dev/sdX
För versioner av hdparm under 8 kan man jämföra antalet sektorer som matas ut från 'hdparm -I' med antalet sektorer som rapporterats för hårddiskmodellens publicerade statistik.
Manipulationsmetoder
Windows - programmet ATATool kan användas för att skapa en HPA. Till exempel, för att skapa en 10 GB HPA:
ATATOOL /NONVOLATILEHPA /SETHPA:10GB \\.\PhysicalDrive1
Linuxprogrammet hdparm (version >= 8.0) skapar en HPA när det anropas med dessa parametrar: (sdX: målenhet, #: antal synliga sektorer som inte är HPA)
hdparm -N p# /dev/sdX
Se även
- Device Configuration Overlay (DCO)
- GUID-partitionstabell (GPT)
- Master Boot Record (MBR)