Schreibschutz-Adapter

 Hardware im Kommunikationsweg mit einschaltbarem Schreibschutz 

   

1.1 Write-Blocker bzw. Read-Only Adapter

Eine weitere Überlegung ist, dass nicht immer das Speichermedium selbst den hardwareseitigen Schreibschutz bereitstellen muss. Es können auch in die Kommunikation zwischen PC und Speichermedium Baugruppen, sozusagen als „Schreib-Firewall“,  eingesetzt werden, welche dann das Blockieren der Daten übernehmen. Eine SD-Karte, kombiniert mit einem SD (zu USB) Kartenleser, ist ein Beispiel für eine Verlagerung der Schreibschutzfunktion aus dem Datenträger heraus. 

In den folgenden Abschnitten werden dieser WP-Adapter bzw. Write-Blocker beschrieben.

Es ist bei den einfachen kommerziellen Adaptern nicht dokumentiert, welche der Kommandos immer akzeptiert werden oder bei aktiven Schreibschutz dann geblockt werden (Whitelist/Blacklist?). Das kann nur durch ausprobieren oder einer Kommunikationsanalyse genauer festgestellt werden. Zum Testen können Beispielsweise die Update-Tools zum Aktualisieren einer SSD-Firmware herangezogen werden. Ein fehlgeschlagener Updateversuch mit aktiviertem Write-Blocker (Vorsicht: Die SSD kann ganz unbrauchbar werden!) könnte hier zumindest Hinweise geben, ob auch Spezialkommandos erfolgreich herausgefiltert werden. Dann könnte dieser so getestete Adapter auch gegen das Programmieren von BadFirmware in das angeschlossenen Speichermedium wirksam sein. 

Ein vorgeschalteter Write-Blocker hat zudem noch den Vorteil, dass der Speicherkontroller weiterhin ungehindert Fehlerkorrekturen, Optimierungsaufgaben und Verwaltungsprozesse an den Speichermedien selbst ausführen kann. Die Firmware im Speichermedium hat dann immer noch Schreibzugriff auf den eigneen Speicher. Das erhöht zwar nicht die Sicherheit vom Speichermedium selbst, aber die Zuverlässigkeit und die Geschwindigkeit der Speicher bleiben erhalten. Das ist wenigstens ein kleiner Trost, wenn schon keine direkt blockierten FLASH-Speicher (s. #WP-Pin) und ein passendes Management für eine Hardware-Schreibschutz verwendet werden können.

Wie in den Speichermedien selbst, gibt es in der Elektronik der Write-Blocker allerdings auch wieder Kontrollerbausteine mit eigener Firmware. Hochspezialisierte Angriffe auf die Firmware im Write-Blocker (BadUSB) sind daher möglich. Oft werden Firmware und die Konfigurationsdaten in seriellen EEPROMs mit /WP-Pin abgelegt. Hier würde sich wenigstens wieder eine Absicherung mit Jumper bzw. Lötbrücke anbieten, wie ich es beispielsweise in "No BadBIOS" beschrieben habe.

Zu einem sicheren Design von Komponenten mit Firmware gehört für mich, dass das erstmalige Programmieren der Firmware und die extrem seltenen Updates, nicht ebenfalls über den Kommunikationskanal für den allgemeinen Datenaustausch ermöglicht werden. Leider ist dieser Doppelnutzung bei vielen Untersystemen im und am PC (USB-Stick, CD-ROM Laufwerk) vorhanden und vereinfacht so auch die Angriffe auf ihre Firmware. Dieser Designfehler hat BadFirmware als neues Sicherheitsproblem erst ermöglicht.

Ich empfehle aber dennoch die WP-Adapter, da mit ihnen bereits die vielen und wesentlich einfacheren Angriffe blockiert werden können, die eine Manipulation von Daten und Software beinhalten. Selbst die nicht sicherheitszertifizierten proprietären Write-Blocker, ohne forensischen Anspruch und ohne klare Dokumentation welche Kommandos überhaupt blockiert werden, ermöglichen eine zusätzliche Sicherheit.

 

1.2 Externes Multiport für die Forensik

Für forensische Untersuchungen sind im Markt spezielle Auslesegeräte, sogenannte Forensicblockers erhältlich. Die Module werden zwischen Datenträger und PC an eine USB- oder SATA-Schnittstelle angeschlossen.

Die Verkäufer versichern, dass ein angeschlossenes Speichermedium ausgelesen werden kann, ohne dass Veränderungen am Speichermedium vorgenommen werden (kein Schreiben, kein Zugriffs-Logging, keine veränderten Zeitstempel etc.). Also genau das, was für ein schreibgeschütztes System benötigt wird.

Über Lesegeschwindigkeit oder ob die Ausleseelektronik ein Booten vom Datenträger ermöglicht, kann ich keine Aussage treffen. Auch sind die Preise für diese so zertifizierten externen Adapter sehr hoch (>200 $).

Diesen Ansatz über Forensik-Adapter habe ich besonders aus Kostengründen und der unklaren technischen Spezifikationen (bootfähig) nicht weiter verfolgt. Die Preise für Forensik-Werkzeuge, die eine Datenmanipulation sicher unterbinden sollen, sehe ich übertrieben hoch an, da nach meinen Erfahrungen die Hardwareanforderungen für einen Schreibschutzadapter nur minimal sind (s. u.).

 

1.3 USB3.0 zu SATA

USB3.0 zu SATA Adapter Abb. 1: USB3.0 zu SATA Adapter von DELOCK mit Write-Protection Jumper. WP-ist aktiv, wenn Jumper auf Pin3 und Pin4 sitzt (s. Bild).

Von DELOCK (Modell 62652, ca. 30.- €) ist ein USB3.0 zu SATA-Adapter mit Write-Protection Jumper erhältlich. Mit diesem Adapter können externe SATA-Festplatten an einem USB3.0 Port betrieben werden.  

Als Betriebssystem konnte ich LinuxMint 16- Carneval über die Funktion „Generate USB-Stick“ auf einer über den Adapter angeschlossenen SSD installieren. Das Booten über USB3.0 wurde allerdings mit Fehlermeldungen „Missing Sectors“ abgebrochen. Das Linux-System startete ohne Probleme, wenn die SSD nun wieder direkt an einem SATA-Port betrieben wurde. Die Ursache ist mir nicht klar, besonders weil dieser Adapter auch mit „Bootable“ beworben wird. An anderen PCs waren die getesteten Speichermedien aber ohne Fehler über den Adapter ansprechbar und das Betriebssystem startete auch. Ich vermute eher eine falsche Vorgabe im ersten Test-PC vom BIOS in der UEFI bzw. Legacy-Einstellung. Die Ursache dieser Fehlfunktion habe ich nicht weiter untersucht.

Als Write-Blocker für die SSD mit Arbeitsbereich funktionierte dieser Adapter sehr gut. Die Dateien wurden zwar geschrieben und waren mit Namen im Dateiverzeichnis sichtbar (Cache?), aber ein Zurücklesen war nicht möglich, bzw. nach dem Aktualisieren der Dateiverwaltung waren die Dateien nicht mehr im Verzeichnis vorhanden.

Möglicherweise verwenden auch die Hersteller von Hardware für IT-Forensik den verwendeten Kontrollertyp als Schreibblocker und lassen sich die Zertifizierung/Funktionsnachweis vom Kunden gut bezahlen. 


Im Internet habe ich noch weitere SATA zu USB3.0-Adapter mit Schreibschutz-Funktionalität gefunden [z.B. DELOCK 61944 (nicht mehr erhältlich)]. Diese Adapter wurden nicht von mir getestet. Ich vermute, dass sie mit identischem Kontrollerchip ausgestattet werden.


1.3.1 USB3.0 zu mSATA

Von Delock (Mod. 62468) und bei Conrad gibt es Schnittstellen-Konverter von USB 3.0 (Micro B) zu mSATA mit Schreibschutzschalter. Die Elektronik und der WP-Schalter befinden sich in einem 2,5" Einbaurahmen. Eine handelsübliche mSATA Festplatte (ohne Schreibschutz) muss noch eingebaut werden.

 

USB3.0 mSata mit Hardwareschreibschutz

Abb. 2: USB3.0 (Micro-B) zu mSATA Adapter mit Verlängerung für den Schreibschutzschalter













CC-BY-NC 2.0 Volker Kleipa


In Abb. 2 wurde der Schreibschutzschalter ausgelötet (im Bild unten) und die notwendigen Kontakte an einen 2-poligen Stecksockel/Stiftleiste angeschlossen. Der Hardwareschreibschutz kann nun lokal auf der Platine mit einem Jumper gesetzt oder alternativ dazu, wenn das Modul in einen PC eingebaut wurde, komfortabel über einen am PC-Gehäuse angebrachten Schalter aktiviert werden.

Ein Kabel mit USB3.0 Pfostenbuchse (USB 3.0 Pfostenbuchse zu USB 3.0 Micro-B, Bspw. Delock ArtNr. 83828) ermöglicht einen zuverlässigen Anschluss innerhalb eines Desktopgehäuses.

Die USB3.0 zu mSATA Adapter mit Hardwareschreibschutz bieten sich als Selbstbaualternative zu den seltenen und teuren USB-Sticks mit Schreibschutzschalter an.

Externe USB3.0 Laufwerke mit Schreibschutzschalter (bspw. TrekStor DataStation picco SSD 3.0 WP, oder Verbatim GT Superspeed USB 3.0) setzen vermutlich diese Kombination aus WP-Adapter und SSD ein. 

 

1.4 USB zu USB Schreibblocker

Ein USB zu USB - Modul [CRU][USBVariante] wird zwischen USB-Stick und USB-Port gesteckt und blockiert die Schreibkommandos zum USB-Stick. Das Blocken ist in diesem Modell nicht abschaltbar. Die Anschaffungskosten von ca. 145 € und der nicht abschaltbare Schreibschutz, der dann immer ein Umstecken der USB-Speicher zu jedem Update erforderlich macht, waren wieder ein k. o. Kriterium für die Anwendbarkeit. 

Ein Open-HW Projekt für einen USB zu USB Write-Block-Adapter habe ich hier [BlackHat Euro 2013] gefunden. Allerdings sehe ich mit einem Testboard und dem hohen Aufwand im Selbstbau keine praktikable Grundlage, mit der eine große Anzahl von Nutzern erreicht werden kann. Zudem hatte mein Test dieser Hardware eine Lesegeschwindigkeit bzw. Durchsatz von maximal 50KB/sek ergeben. (Nach Aussage vom Entwickler sollen bis zu 500KB/sek erreichbar sein, wenn ein schneller USB-Stick verwendet wird. - Das ist keine wesentliche Verbesserung. Allerdings sollen neuere Entwicklungen, die ich mir bisher nicht näher angesehen habe, eine praktikable Geschwindigkeit haben.)

Dieses Beispiel verdeutlicht, dass bei einem Write-Blocker immer mit einer Reduktion in der Kommunikationsgeschwindigkeit gerechnet werden muss.

 

 

1.5 SATA zu IDE zu SATA Write-Blocker im Selbstbau - ein Versuch  

 

SATA Write-Blocker

Abb. 3: Adapterkombination SATA->IDE->IDE->SATA

 

SATA zu IDE Adapter gibt es nur ohne WP- Funktion.

In einigen Foren hatte es Hinweise gegeben, dass bei dem IDE-ATA Anschluss nur das /WR-Signal [Pin23] geblockt werden müsse, um eine normale IDE-Festplatte Write-Protected zu machen. Ja das stimmt. Allerdings ist sie dann auch Read-Protected!

Mit diesem Signal wird die Übermittlung von Kommandoblocks an die Festplatte freigegeben. Diese Datenblöcke enthalten neben den Schreibkommandos auch die Kommandos für Kontrollfunktionen und die Anforderungen für ein Auslesen von Daten.

Zur Sicherheit habe ich das überprüft.

Die hintereinander gesteckten SATA zu IDE- und IDE zu SATA-Adapter (Damit hätte ich auch einen SATA zu SATA Write-Blocker gehabt) wurden zwischen einer SATA-HD und einem Mainboard angeschlossen. Das nun gut erreichbare /WR-Signal an den IDE Stiftleisten wurde zwischen beiden Adaptern unterbrochen und auf der Seite des Festplattenadapters mit einem Pullup-Widerstand für einen definierten Logik-Zustand angeschlossen. Die Unterbrechung konnte mit einem Jumper wieder aufgehoben werden. Mit gezogenem Jumper (/WR-Signal nun permanent über den Pullup 'HIGH' und daher inaktiv) war weder ein Lesen noch Schreiben möglich. Mit gestecktem Jumper konnte ich, wie erwartet, die Festplatte lesen und beschreiben.

Es wäre schön gewesen, wenn das mit IDE/PATA funktioniert hätte. Die neuen SATA- und die alten ATA-Festplattenlaufwerke könnten dann auch mit diesem Write-Protection Hack einfach gesichert werden.

 

 

1.6 SD zu SATA Adapter

Dieser Adapter hat die Baugröße einer 2.5" SSD und verfügt über Aufnahmeschächte für SD-Karten. Mit ihm können SD-Karten über die SATA-Schnittstelle angesprochen werden.

Die SD zu SATA-Adapter werden mit bootfähig beworben. Die Lese- und Schreibgeschwindigkeit wird durch die verwendete SD-Karte bestimmt. Für das Umstellen des Lock-Schiebers müssen die SD-Karten immer entnommen werden. Ein Schreibschutzschalter auf dem Adapter ist nicht erkennbar. Es bietet sich ein Umbau wie in „Live-Systeme mit SD-Karten und Hardware-Schreibschutz" beschrieben an. Dort wird parallel zum Lock-Federkontakt ein Schaltelement (bspw. Reedschalter) angeschlossen. Eine Verlängerung bis zum Gehäuse wäre eine weitere Verbesserung, um den Schreibschutz dann von dort bequem steuern zu können.  

 

 

1.7 Vorteile und Wünsche für zukünftige Entwicklungen

Open-Source Write-Blocker Projekte, anwendungsfreundlich (schnell), also mit einem verlängerbarem Jumperanschluss oder Schalter aufgebaut, wären für viele Anwender sehr gut geeignet. Falls es erforderlich wird, sind Open-Source Projekte zudem noch vertrauenswürdiger in ihrer Sicherheitsfunktion zertifizierbar. Die Black- bzw. Whiteliste der blockierten Steuerkommandos wäre einsehbar. Bei Closed-Source-Adaptern ist nicht sichergestellt, ob auch Kommandos wie ERASE_ALL, die "ATA-Security Feature Set" -Befehle oder in den Kommandos offen gebliebene Steuercodes, die für besondere Zwecke verwendet werden (Test,  Konfiguration), auch mit blockiert werden. Gerade die Blockade der nicht im Standard und zur Kommunikation vorgesehenen Steuercodes, z. B. für Firmware-Updates (s. Equation-Group), halte ich für wichtig.  (Ausführlicher unter "Open-Source Projekte")

Besonders die hohe Wiederverwertbarkeit bzw. Kostenersparnis der Write-Block Adapter dürfte interessant sein. Falls der Austausch des Speichermediums notwendig wird, kann der Write-Blocker im PC verbleiben (das Vertrauen in die Schreibschutzfunktion auch). Das Speichermedien kann wie bisher aus dem günstigen Konsumentenbereich bezogen werden und es muss selbst keinen Hardware-Schreibschutz zur Verfügung stellen. Ich erwarte dann sogar, dass die Kombination eines Write-Blockers mit einer handelsüblichen SSD (in der Erstanschaffung), gegenüber SSDs mit integriertem HW-Schreibschutz(MIL-Typen), günstiger ist.

Gerade beim Design von Schnittstellenkonvertern bietet sich immer die Ergänzung eines Hardwareschreibschutzes an. Die Umsetzung der Kommandos in diesen Konvertern erfordert immer eine Analyse der Steuercodes. Eine zusätzliche Blockade der Schreibsequenzen ist dann einfach zu ergänzen.


Quellen:


Liste mit angreifbaren USB-Geräten: https://opensource.srlabs.de/projects/badusb

 

 

Write Blocker Adapter:

Auf "Hardware mit Schreibschutz" ist eine Tabelle der mir bekannten Write-Blocker Adapter zu finden.