Das Security-Feature von Festplatten.
In der Ausgabe der Zeitschrift ct\x92 Nr. 8/2005 (
http://www.heise.de/ct/05/08/172/ ) ist beschrieben, dass praktisch alle aktuellen Festplatten die "ATA-Security-Features" implementiert haben. Damit kann eine Festplatte mittels Kennwort vor einem unzulässigen Auslesen geschützt werden. Bei IBM/Hitachi-Festplatten gibt es z.B. das Security-Feature schon seit 1998. Das Kennwort wird auf einem EEPROM der Festplattenelektronik und auf speziellen Systemspuren der Festplatte gespeichert.
Leider haben aber viele Rechner in Ihrem BIOS den Zugriff auf diese Funktionen nicht oder nicht korrekt implementiert. Dadurch kann das Ganze "nach hinten los gehen", wenn ein Unbefugter oder eine Schadsoftware ein während des Betriebs des Rechners ein unbekanntes Kennwort setzt. Wie im ct\x92-Artikel beschrieben, kann das dazu führen, dass die Platte nur noch durch einen Datenrettungsdienst wiederhergestellt werden kann.
Im Internet gibt es auch Berichte, dass bei einer Platte spontan (durch Überhitzung?) ein Kennwort gesetzt wurde. Dabei werden Kennwörter erwähnt, die dann meistens funktionieren (z.B. alles Leerzeichen). Damit und dem mit dem unten angegebenen Programm ATAPWD.EXE kann die Platte dann wieder entsperrt werden.
Welche Gegenmaßnahmen gibt es? Verhindern kann man das unauthorisierte Sperren nur dadurch, dass man vor der Benutzung des PCs (am Besten vor dem Booten) das ATA-Kommando "Security-Freeze-Lock" an die Festplatte absetzt. Dann kann bis zum nächsten Hardware-Rest oder bis zum nächsten Wiedereinschalten der Festplatte kein Kennwort gesetzt werden. Allerdings kann es noch Probleme beim Aufwecken nach einem Stand-By geben. Vom Heise-Verlag gibt es eine Bootdiskette, die man vor dem eigentlichen Festplattenboot startet (
http://www.heise.de/ct/ftp/projekte/atasecurity/bootimage.shtml). Für Windows gibt es ein Dienstprogramm, welches allerdings erst nach dem Booten den Schutz aktiviert (
http://www.heise.de/ct/ftp/projekte/atasecurity/windows.shtml ). Genauso kann ein Linux-Rechner geschützt werden (
http://www.heise.de/ct/ftp/projekte/atasecurity/). Die beste Möglichkeit bietet ein BIOS-Update, falls verfügbar, oder eine BIOS-Erweiterung (
http://www.fitzenreiter.de/ata/ata.htm). Eine solche Erweiterung kann z.B. anstelle eines unbenutzten Boot-ROMs der Netzwerkkarte in den Rechner eingebracht werden.
Unterstützt das BIOS das ATA-Security-Feature, so können damit auch die Kennwörter für die Festplatte gesetzt werden. Das BIOS wird standardmäßig vor dem Booten die Festplatte mit dem ATA-Kommando \x84Security-Freeze-Lock\x93 gegen Angriffe schützen.
Ist das System ungeschützt, so kann mit dem nachfolgend beschriebenen Programm, welches von einer DOS-Diskette gestartet wird, nach Herzenslust getestet werden.
Ist die Platte unwiederuflich gesperrt und sind die erforderlichen Kennwörter nicht bekannt, so kann ein Datenrettungsdienst mit seinen detaillierten Kenntnissen der Festplattentypen die Systemspuren der Festplatte neu initialisieren und der Inhalt wird wieder zugreifbar. Wer nicht mehrere hundert Euro ausgeben möchte, kann es mit den folgenden kommerziellen Programmen versuchen:
AFF Repaistation, ca. 40 Euro:
http://www.hdd-tools.com/products/rrs/
HDD password removal, ca. 85 Euro
http://www.hdd.profesjonalnie.pl/to.php
iDriveRepair, 195 $
http://www.binarybiz.com/hddrepair/
Das folgende Zustandsdiagramm zeigt die für einen Zustandswechsel erforderlichen Aktivitäten:
Beschreibung des Programms ATAPWD.EXE
Das Programm kann hier
http://www.rockbox.org/lock.html oder hier
http://konsolenprofis.de/downloads/download.php?id=685 heruntergeladen werden. Die zugehörige Bootdiskette MDOS 6.22 erhält man z.B. hier:
http://download.winboard.org/files.php?cat=49 . Die Datei ATAPWD.EXE wird noch zusätzlich auf die Diskette kopiert. Nach dem Booten der Diskette wird das Programm durch Eingabe von "ATAPWD" aufgerufen. Man erhält folgenden Output:
(Die unter VMware simulierte Festplatte besitzt kein Security-Feature.)
Bedeutungen:
ID |
PM |
PS |
SM |
SS |
|
primary master |
primary slave |
secondary master |
secondary slave |
Model |
Hersteller-Modellbezeichnung |
Revision |
Version der Festplatten-firmware |
Serial number |
Seriennummer der Festplatte |
S |
security command set support indicator |
Festplatte unterstützt das ATA-Security-Feature |
E |
User password indicator |
Es ist ein User-Password gesetzt |
L |
Lock mode indicator |
Die Platte ist zur Zeit gesperrt. |
F |
Frozen indicator |
Die Sicherheitseinstellungen können bis zum nächsten Einschalten der Platte nicht mehr geändert werden. |
X |
Attempt count expired |
Die maximale Anzahl der Eingabeversuche eines Kennworts wurde überschritten. Nach Einschalten zurückgesetzt???? |
V |
Security level: h = high m = maximum |
Sicherheitsstufe "high" oder "maximum" |
Mit der ENTER-Taste erhält man für das markierte Laufwerk ein Auswahlmenü zwischen dem \x84SECURITY command set\x93 und dem \x84S.M.A.R.T. command set\x93.
SECURITY command set
Die folgenden Beschreibungen sind noch nicht ausprobiert worden! KEINE HAFTUNG!!!!
SET MASTER PASSWORD
Hiermit wird das Master-Kennwort gesetzt oder geändert. Es wird ansonsten keine Sicherheitseinstellung geändert.
SET USER PASSWORD
Hiermit wird das User-Kennwort gesetzt oder geändert. Nach einem Hardware-Reset oder beim nächsten Einschalten bleibt die Festplatte solange gesperrt, bis das hier festgelegte Kennwort eingegeben wird (wenn das BIOS des Rechners dies unterstützt). Beim Setzen des Kennworts muss man noch zwischen den beiden Sicherheitsstufen \x84High\x93 und \x84Maximum\x93 wählen. Bei \x84High\x93 kann man später die Festplatte mit dem Master-Password genauso entsperren wie mit dem User-Password. Bei \x84Maximum\x93 funktioniert das nicht. ??? Man kann man zwar mit dem Master-Password die Platte entsperren, es wird jedoch der Inhalt der Platte dabei komplett gelöscht. ???
UNLOCK WITH MASTER PASSWORD
In der beim Setzen des User-Passwords gesetzten Sicherheitsstufe \x84High\x93 kann mit diesem Kommando und dem Master-Password das Laufwerk entsperrt werden. Damit es nach dem nächsten Hardware-Rest oder einem Wiedereinschalten nicht erneut gesperrt ist, muss noch das Kommando \x84DISABLE WITH MASTER PASSWORD\x93 abgesetzt werden.
UNLOCK WITH USER PASSWORD
Mit diesem Menüpunkt wird die Festplatte bis zum nächsten Hardware-Reset oder einem Einschalten der Festplatte entsperrt.
Soll der Kennwortschutz dauerhaft entfernt werden, so muss hiernach der Menüpunkt \x84DISABLE WITH USER PASSWORD\x93 aufgerufen werden
DISABLE WITH MASTER PASSWORD
Ist die Platte entsperrt worden, kann mit diesem Kommando und dem Master-Password die Sperre und das User-Password dauerhaft entfernt werden.
DISABLE WITH USER PASSWORD
Ist die Platte entsperrt worden, kann mit diesem Kommando und dem User-Password die Sperre dauerhaft entfernt werden. Das User-Password ist dann auch entfernt.
FREEZE LOCK
Wird diese Funktion aufgerufen, so akzeptiert das Festplattenlaufwerk bis zum nächsten Hardware-Reset oder dem nächsten Wiedereinschalten keinerlei Änderungen der Sicherheitseinstellungen mehr. Das sollte der Normalzustand eines Rechnersystems sein.
ERASE PREPARE
Hiermit wird das komplette Löschen der Festplatte mit dem nachfolgenden Kommando \x84ERASE UNIT\x93 freigegeben. Damit soll ein versehentliches Löschen der Festplatte erschwert werden.
ERASE UNIT
Unter Angabe des Master-Passwords kann die Festplatte gelöscht werden. Dabei wird auch das User-Passwort und eine Sperre dauerhaft entfernt. Das Löschen der Festplatte ist die einzige Möglichkeit, eine Festplatte im Sicherheitsmodus \x84maximum\x93 zu entsperren.
S.M.A.R.T. command set
Mit dem Programm ATAPWD.EXE können auch die normalen SMART-Operationen durchgeführt werden. (SMART = Self-Monitoring, Analysis and Reporting Technology)
ENABLE OPERATIONS
Aktivieren der Selbsttestfunktion
DISABLE OPERATIONS
Deaktivieren der Selbstestfunktion
RETURN STATUS
Status "OK" oder "Not-OK" ausgeben
READ ATTRIBUTES
Raw Read Error Count
Throughput Performance
Spin Up Time
Start/Stop Count
Seek Error Count
Seek Time Performance
Power On Hours Count
Spin Retry Count
Power Cycle Count
Drive temperature
Reallocated Event count
Current Pending Sector
Offline Uncorrectable
UDMA CRC Error Count
ENABLE ATTRIBUTES AUTOSAVE
DISABLE ATTRIBUTES AUTOSAVE
EXECUTE SHORT SELFTEST
Kurzer Selbsttest der Festplatte ausführen (weniger als 5 Minuten)
EXECUTE LONG SELFTEST
Ausführlichen Selbsttest der Festplatte ausführen (Größenordnung 20 Minuten)
READ SELFTEST LOG
Ausgabe der Selbsttestergebnisse
READ LOG DIRECTORY
????
--
KlausKellermann - 21 Aug 2006