Bitlocker unter Linux öffnen

Ihr erinnert Euch noch diesen c’t Uplink Beitrag, wo die Heise Redakteure über Bitlocker und Luks schwadroniert haben?  Damals wurde Bitlocker als „properitär“ eingestuft und sinngemäß gesagt:  „Um Festplatteverschlüsselung zu machen, brauchst Du eh die PRO Version, die Home kann das nicht“. Da hat sich was getan 😉

Bitlocker für Linux

Vor drei Tagen kam eine Updatemeldung von Fedora zu einem Produkt namens „Dislocker“ rein. Der Name versprach etwas spannendes, also habe ich mir die Meldung angesehen:

Name        : dislocker
Product     : Fedora 28
Version     : 0.7.1
Release     : 10.fc28
URL         : https://github.com/Aorimn/dislocker
Summary     : Utility to access BitLocker encrypted volumes
Description :
Dislocker has been designed to read BitLocker encrypted partitions ("drives")
under a Linux system. The driver has the capability to read/write partitions
encrypted using Microsoft Windows Vista, 7, 8, 8.1 and 10 (AES-CBC, AES-XTS,
128 or 256 bits, with or without the Elephant diffuser, encrypted partitions);
BitLocker-To-Go encrypted partitions (USB/FAT32 partitions).

Das Tool gibts als FUSE Modul, so daß die Bitlocker-Partition zur Laufzeit eingebunden und Gelesen sowie Geschrieben werden kann, und als Einmal-Komplett-Entschlüssler. So oder so, man kommt an die Daten ran.  Damit ist Linux jetzt Windows offiziell voraus 😀

Ob das eine gute Idee war/ist wird sich zeigen, aber eins kann man Bitlocker damit nicht mehr nennen: properitär. Zumindest nicht mehr im ganz engen Sinn. Es wird natürlich nur von M$ produktiv eingesetzt, aber immerhin, wie auch bei NTFS, kann man es jetzt auf anderen Plattformen ( Ja, Macs machen auch mit ) benutzen.

@Heise-Redaktion: Wird Zeit für einen neuen c’t Uplinkbeitrag zu dem Thema. Da könnt Ihr gleich die ganzen Gerüchte vom letzten mal berichtigen, von wegen Luks wäre unpraktisch, keine Passworteingabe usw. usw. 😀 PS: wenn Ihr schon dabei seid: Mit LUKS einen USB Stick verschlüsseln und Double Layer Encryption mit Veracrypt falls Euch die Beispiele ausgehen 😉

Fehler in der Security

Der Grund für das Update war dann übrigens das Beheben von drei CVE-Schwachstellen in der genutzten Cryptobibliothek, wie man auf der Projektseite nachlesen konnte u.a. :

ID: CVE-2018-0497
Impact: Allows a remote attacker to partially recover the plaintext
Severity: High

Im Bereich Crypto ist das quasi eine 11 von 10 möglichen Punkten auf der Richterskala (+1 weils Remote geht  😉 ).

Den Schlüssel für die Bitlocker Partition könnt Ihr bei Microsoft erfragen, falls Ihr den vergessen haben solltet 😉

Zeit für Artikelbashing on How to Forge

Kleiner Disclaimer, es geht nicht um den Inhalt, sondern rein um die Darstellung.

Dieser Beitrag:

https://www.howtoforge.com/tutorial/encrypt-usb-drive-on-ubuntu/

von dem Ihr eine Variante hier findet: Mit LUKS einen USB Stick verschlüsseln mit der Fortsetzung Wie man besser USB Sticks verschlüsselt mit Linux und Double Layer Encryption mit Veracrypt. Letzterer Link beantwortet dann auch spontan die Frage des (bislang) einzigen Kommentators des HtF Artikels, wie man das Windows-kompatibel bekommt. Kurzform: LUKS ist Open Source und es gibt für Windows einen Luks mounter, ergo ist es bereits kompatibel, wenn man als Filesystem nicht EXTx benutzt, sondern NTFS. Wie sinnvoll das ist, laß ich mal im Raum stehen.

Problem

So, How-To-Forge … Wer sich den Artikel ansieht muß zwangweise drüber stolpern: Der hat die Bilder echt mit dem Handy vom Monitor abfotografiert 😀

Grund: Er wollte zeigen, wie die Aufklappmenüs aussehen, wenn man mit der Maus arbeitet, konnte es aber nicht, weil SEIN Desktop das Auslösen per STRG+DRUCK verhindert, wenn das aufgeklappt ist.

Lösung

Den Screenshot per Konsole zeitverzögert auslösen.

so macht mans richtigAlso einfach eine Konsole öffnen und folgenden Befehl eintippen:

gnome-screenshot -p -w -d 5

Das gibt Euch 5 Sekunden Zeit, das Menü auszulösen und den Zeiger in Position zu bringen. Die Zeit kann beliebig angepaßt werden.

Alternative

Macht mit SimpleScreenRecord einfach ein Video und extrahiert das Bild dann da raus 😉

Kommentar

How-To-Forge Monetarisierung an Hand von Links gezeigt

Von einem How-To-Forge Autor hätte ich mehr erwartet, als ein wackliges Handyfoto. How-To-Forge stand mal für eine Adminseite, auf der Profis gezeigt haben, wie es geht. Heute steht das für : Ich verkauf Euch an Google+ Facebook und Konsorten. (Tip: Schaut nur nicht in die Noscript Liste des Grauens rein )

Irgendwie fühle ich mich an die Youtube-Videos errinnert, wo Kinder anderen Kindern zeigen wollen wie es geht und dann mit dem  Satz „Heute zeige ich Euch mal wie..“  anfangen und komplett triviale Sachen verkacken.. Das bringt einen direkt zur Debatte um den CoC, Linus und seine Auszeit und wie Leute die Codequalität unwichtiger einstufen, als den Umgang mit „in Ihren Fähigkeiten am anderen Ende der Kette gehenden Personen“.

Wenn es einer sanft nicht versteht, muß man ihn auch mal anbrüllen dürfen, damit er kapiert, daß es Scheisse war. Die Alternative ist nämlich noch schlimmer: Kick ohne Begründung. Dabei lernt man nämlich nichts aus seinen Fehlern, fühlt sich ungerecht behandelt und verbessert sich nicht.

 

 

How-To-Forge : NoScriptversion .. urgs..

Leider, um den Bogen zurück zu HtF zu schlagen, konnte ich ohne die Werbebeacons, Googletracker, Facebookbuttons zu aktivieren, dort keinen passenden Kommentar zu der Qualität abgeben. Ansonsten wären die Bilder da nämlich jetzt schon weg, ein Ego geknickt, aber ein Mensch auf den richtigen Weg gebracht 😀

Kleines Update:

TOR ist ja unser Freund, also habe ich da mal das Tracking umgangen 🙂

Klickt mal auf die Bilder, da wird einem übel 🙁

 

Alle Tracken einen wegen Werbung, die man nicht will, für Produkte, die man nicht braucht. Alles im Namen des heiligen Commerzius.

Es gibt Hoffnung

Auch auf How-To-Forge gibt es noch Hoffnung, daß alles besser wird 🙂

Diesen Artikel fand ich jetzt schon viel informativer, als den über den USB Stick:

https://www.howtoforge.com/tutorial/passwordless-encryption-of-linux-root-partition/

Das werde ich mir für Fedora auch mal ansehen, ist natürlich obercoolio wenn Du statt ein Passwort einzutippen, bei dem man Dich beobachten kann, einen USB Stick einsteckst. Dabei kann man einen auch beobachten, seinen Schluß ziehen, den Einen dann um den USB Stick und das Laptop erleichtern und schön auf alles zugreifen.

Nein, das ist leider keine Fantasie, so was passiert laufend. ABER, wenn man sich einen RFID unter die Haut implantiert und als menschlicher Mobilfunkmast durch die Gegend läuft (ja, natürlich ist das übertrieben), dann sieht wenigstens keiner wie das Laptop aufgeht, schlitzt einem nicht die Hand auf beim Diebstahl und es könnte trotzdem mit der automatischen Entschlüsselung klappen.

Man muß immer noch einen kleinen Stecker im USB Port haben, weil RFIDs können nur die wenigstens Laptops lesen (afaik gar keine), aber den halten Angreifer dann wenigstens genau für so einen USB-KEY-Dongle, klauen den mit, stellen fest, daß es doch nicht geht und formatieren dann die Platte ohne an den Finger und die Daten gekommen zu sein. Das wäre dann ein Erfolg 😀

Fiktiver Grenzübertritt in die USA

Jetzt stellen wir uns mal ganz blöd an die US-Einreise-Schlange am New Yorker Flughafen, haben ein Laptop, einen RFID-zu-USB-Stick und einen Finger dabei. Der Einreisebeamte sieht das Laptop, geht damit weg, kommt nach 30 Minuten wieder und fragt nach dem Passwort. Man gibt es ihm nicht. Der Mann schleift einen in einen Raum, setzt einen vor das Laptop und sagt „mach auf“. Man sagt: „nö“.

Der Typ schaltet das Laptop ein, das vorher nicht wollte und ohhhhhhhh…. es geht… Ein Wunder! Alle reiben sich verdutzt die Augen! Der Typ im Nebenraum an der Kamera, der als Backup für seinen Kollegen mit Knarre an der Hüfte bereitsteht, traut seinen Augen nicht und ruft das SEK, weil das ja ein Laptop von einem Terroristen oder anderem Schwerkriminellen sein muß. 1 Minute später steht Ihr auf der Fahnungsliste der meistgesuchten Verbrecher, damit Sie das, was dann folgt, auch begründen können 🙂 Naja, so oder so ähnlich 😀

Glaubt Ihr nicht?

https://www.theatlantic.com/technology/archive/2016/05/iphone-fingerprint-search-warrant/480861/

Ist natürlich nicht ganz so wie in meiner kleinen Fanatasie, aber die sollte ja auch nur das Problem verdeutlichen. Kurzfassung: Frau + Iphone + Gerichtsbeschluß, daß Sie Ihr IPhone per Fingerprint entsperrt.

Problem: Man muß sich in einem Rechtsstaat nicht selbst belasten. Wenn ich gezwungen werde, Beweise herzuschaffen, welche die Ankläger gegen mich benutzen können, ist das eine Selbstbelastung und die darf der Staat nicht durchsetzen. Der Staat/Ankläger muß mir ein Verbrechen / Tat beweisen, nicht ich.

Wenn ich also mit einem RFID als Fingerabdruckersatz in der Hand durch die Gegend laufen und durch Handauflegen mein Handy/Laptop entsperren kann, dann wäre das eine Selbstbelastung, wenn der Staat mich genau dazu zwingen würde.

Jetzt mal rein praktisch: Securityrules für Dummies

1. Ein Passwort, daß ich durch die Gegend schleppe, ist kein Passwort

Es entfallen alle Arten von Biometrie.
Es entfallen alle Arten von Geräten wie RFID, USB-Sticks etc.

Kann man alles nachbilden und von außen aufzeichnen. Das kann ich nicht verhindern.
Man kann im Falle der Biometrie den Organismus auch passive zur Authentifizierung nutzen, da ja nur die Anwesenheit des Merkmals nötig ist, nicht die Motivation des Merkmalträgers.

2. eine Zwei/Drei-Faktor-Authentifizierung wäre hilfreich

Wenn ich eine davon preisgeben muß ( meine Hand mit dem RFID drin z.b. ) dann, bleibt noch min. eine andere Information zum Schutz übrig.

3. „Nur was im Hirn gespeichert ist, ist sicher.“

Problem: Ich muß es irgendwann eingeben. Dabei könnte ich …

… optisch beobachtet werden : kann man verhindern
… digital abgehört werden : kann man verhindern
… ich könnte es vergessen : kann man auch verhindern.
… ich könnte gezwungen werden es preiszugeben: kann man nicht immer verhindern.

Ich könnte lügen. Der Angreifer kann es nur prüfen, indem er es eingibt. Wenn es nicht stimmt, dann droht mir was, ok, aber DAS SZENARIO kann man mit einer Partition mit Fakedaten verhindern, die mit dem falschen Passwort geöffnet werden kann. Das kann der Angreifer nicht mehr so ohne weiteres prüfen.

Da kommt TrueCrypt ins Spiel. Das hatte extra Hidden Volumes im Einsatz, welche die echten Daten hatten und normale Partitionen, falls man mal gezwungen wird, etwas preiszugeben.

Die Option fällt natürlich weg, wenn man den richtigen Key per RFID aussendet. Könnte schwierig werden, das per RFID kontrollierbar für den Anwender zu machen. Ich halte es ja eh für eine blöde Idee 🙂

 

Double Layer Encryption mit Veracrypt

Wer sagt LUKS und VeraCrypt könne man unter GNU/Linux nicht zusammen als Partitionsverschlüsselung benutzen, der irrt.

Für die Securityneulinge unter Euch klären wir doch erstmal, was LUKS und VeraCrypt überhaupt sind:

LUKS ist das Systemencryptionformat unter Linux. Erstellt man eine frische Linuxinstallation auf einen PC und verschlüsselt die Platte, wird dazu LUKS verwendet. LUKS steht für Linux Unified Key Setup, was die Methode meint, wie der kryptographische Schlüssel hinterlegt ist. Die Verschlüsselung selbst wird mit dem DMCrypt Kernelmodul gemacht, was wiederum für Device-mapper Crypto steht und am Ende dann AES, Twofish oder Serpent als Verschlüsselungsmethoden einsetzt. LUKS reicht aus um einen normalen Angreifer, der das Laptop geklaut hat, davon abzuhalten an die Daten zu kommen.

VeraCrypt wiederum ist das derzeit einzige Multi-Plattform-Verschlüsselungssystem, daß Mac/Windows und Linux einschliesst (wenn man das anklickt). Es nutzt am Ende auch AES, TwoFish und Serpent als Verschlüsselungsmethoden. VeraCrypt basiert auf den Sourcen von Truecrypt, seinem direkten Vorläufer und bedient sich praktischerweise genauso. Daher gibt es auch eine nützliche GUI mit der man die Laufwerke managen und die Verschlüsselungen erstellen kann. VeraCrypt kann durch vermischen von Verschlüsselungsalgorithmen eine stärkere, aber rechenintensivere Verschlüsselung erzeugen. Deswegen sollten sensitive Daten damit verschlüsselt werden.

VeraCrypt und LUKS schliessen sich eigentlich gegenseitig aus, wenn zusätzlich auch VeraCrypt benutzt wird, um die gleiche Partition direkt zu verschlüsseln. Will man das doch, kann das aus logischen Gründen nicht gehen, da nicht beide die gleichen Blöcke der Festplatte benutzen können. Das stimmt leider, deswegen müssen wir den Begriff „gleichen Block“ etwas dehnen. Was wäre, wenn man tatsächlich den gleichen Block mit beiden Programmen nutzen würde, aber es nicht wirklich gleichzeitig ist ?

Double Layer Encryption

Nun habe ich es im Betreff natürlich schon verraten: Double Layer meint, zwei Schichten Verschlüsselung, also zwei Schichten übereinander.

Zunächst wird die Partition ganz normal mit LUKS verschlüsselt. Passwort aussuchen und loslegen.

Dann wird es schwieriger, denn über die Oberfläche von VeraCrypt kann man nur echte Partitionen einer Festplatte aussuchen, da ist aber schon die Luksschicht drauf. Würden wir also diese Auswählen, wäre LUKS weg und wir hätten nur noch eine Schicht. Jetzt kommen die VeraCryptfreaks natürlich sofort auf die Idee, der Typ in dem Artikel meint einen Truecryptcontainer und verkauft es als Double-Layer …  nein, das meine ich nicht 😀 Ich rede wirklich davon, zwei Schichten Verschlüsselung auf Partitionsebene einzusetzen 😀

Damit Ihr den Unterschied versteht, True/VeraCrypt kann eine Datei anlegen, diese verschlüsselt formatieren und als Laufwerk anmelden. Wo die Datei liegt ist dabei egal und das bietet echt coole Optionen an, wo und wie man das im Cloudbetrieb nutzen kann. Es bleibt aber eine Datei, was meint, daß man über OS Filesystemroutinen auf die Datei zugreift, was der Performance etwas abträglich sein kann, weil ja noch mehr Prozesse auf das darunterliegende Filesystem zugreifen könnten, und im allgemeinen, daß Filesystem im Weg ist.  Speichert man die Daten dagegen direkt auf die Festplatte ist es tatsächlich performanter.

Wie wir oben gelernt haben, kann man mit VeraCrypt per Oberfläche nur auf die echten Partitionen zugreifen. Also brauchen wir eine Partition dafür. Zum Glück haben wir eine, die von LUKS beim Formatieren der nativen Partition erzeugte virtuelle Partition NACH der Entschlüsselung.  Nur rankommen ist schwierig. Wer sich das Laufwerkstool ansieht, wird feststellen, daß ein LUKS entschlüsseltes Medium per Device-Mapper verwaltet wird. Ist logisch, denn darauf beruht LUKS ja auch, wie man oben nachlesen kann. Dieses Devicemapping wird vom Kernel als echte Platte verkauft, kann also genauso wie eine angesprochen werden, sonst könnte man ja auch kein Ext4 Filesystem drauf formatieren. Man muß also nur an das DeviceID gelangen und es irgendwie an VeraCrypt weiterreichen.

Am Ende war dieser Vorgang einfacher als gedacht. Zunächst öffnen wir das Laufwerkstool ( Laufwerke / Disks ), das schon benutzt wurde, um die Partition mit LUKS zu verschlüsseln. Klickt man auf die Partition, die nach der Entschlüsselung des Laufwerks angezeigt wird, bekommt man die DeviceID angezeigt, die dann mit kleinen Abweichungen so aussieht : „/dev/mapper/luks-4276c629-c8de-45e4-9b26-56b94e65b6eb

Crypto-4Jetzt die Partition verschlüsseln

Crypto-6

Crypto-7Diese geben wir nun direkt in die Eingabemaske beim Anlegen einer neuen Festplattenverschlüsselung  im VeraCrypt ein, statt ein Device auszusuchen. Erfreulicherweise nimmt VeraCrypt das sofort an:Crypto-8

Crypto-9Die PIM von „600“ habe ich für die Demo verwendet, 900 bis 1800 sollten in Betracht gezogen werden, je nach CPU Stärke. Denn je mehr Durchläufe des Hashalgorithmuses hier stehen, desto langsamer geht es. Das trifft aber auch für den Angreifer zu und der muß diesen Wert erst noch erraten, bevor er hoffen kann, einen Block der Platte korrekt zu dekodieren.

Crypto-11Crypto-12Crypto-14Nun kann man ganz normal weitermachen, als wenn es die normale Partition wäre, denn es ist eine. Ist die neue Partition am Ende formatiert, erhalten wir so eine Double-Layer Protection. Das Spiel könnte man noch weitertreiben, aber danach wird es langsam inperformant. Eine Tripple-Layer Verschlüsselung wäre ausgesprochen hart, bis unmöglich zu entschlüsseln, solange keine technischen Designfehler der Verschlüsselungsprotokolle gemacht wurden.

Jetzt noch mal zur Probe mounten

Crypto-15
Crypto-16
Crypto-17und schon ist die frisch verschlüsselte Platte benutzbar und Fertig ist die doppelte Festplattenverschlüsselung 😀
Crypto-19

Verschlüsselung alleine reicht nicht

Nun kommt bei so einer Verschlüsselung noch einiges an Randbedingungen mit, denen man sich gewahr sein muß. Solange das Betriebssystem unsicher ist, sind es die Daten auch, denn wenn ich selbst darauf zugreifen will, müssen die Lagen ja alle entschlüsselt sein. In dem Augenblick kann ein kompromitiertes System den Inhalt verraten.

Ein Betriebssystem wie Windows 10 speichert den eigenen Verschlüsselungskey auch schonmal ohne zu fragen in der Microsoftcloud.. natürlich nur damit SIE an Ihre Daten rankommen, wenn SIE Ihr Passwort vergessen haben 😉 (glauben wir natürlich sofort 😉 ) Apple ist da auch keinen Deut besser.

Desweiteren sollten Sie auch keine Funktastaturen einsetzen, weil die das auch gern unverschlüsselt im Umkreis von hunderten von Metern verteilen! Selbstverständlich zeigt der Monitor nicht zum Fenster und die Tastatureingabe ist auch nicht einzusehen oder zu hören (Das ist kein Witz). Das Passwort lautet natürlich auch nicht „Linux12345“ sondern „WeißderGeierwievieleZeichenichbenutze,hauptsachemehrals25“ .. Geburtstage sind kein Passwort, Hundenamen sind kein Passwort, Lateinische Zitate sind keine Passwörter, besonders nicht „Quovadis{Ihrname}“… Alles auf das Sie zuerst kommen, kommen alle anderen auch zuerst. Daher fängt man beim fünften Versuch aufwärts an und nicht vorher. Wenn Sie den Raum mit Ihrem Computer verlassen, starten Sie die Bildschirmsperre, damit keine Fremden an den PC können, während die entschlüsselten Inhalte lesbar sind.

Sie müssen sich klar machen, daß die Festplatte hundertmal kopiert werden kann, um alle hundert Kopien gleichzeitig mit Entschlüsselungsversuchen zu brechen. Ihr Passwort muß so einem massiv-paralellen Angriff für Jahre standhalten und daher braucht es eine Mindeststärke.

Die Empfehlung des Tages lautet dann natürlich: Nehmen Sie GNU/Linux und LUKS + VeraCrypt gleichzeitig.

Abschlußanmerkungen

Natürlich kann man das alles in der Konsole machen und es so teilautomatisieren, aber das war heute nicht Thema des Artikels.

Ich habe hier einen USB Stick genommen, weil ich keine freie Festplattenpartition zum Testen hatte. Ein USB Stick ist nicht optimal geeignet um verschlüsselt zu werden, da ein USB Stick einen Backupchip hat, um die Speicherchips gleichmäßig zu beschreiben. Der freie Speicherchip wird rotiert, damit gibt es immer einen Speicherchip, dessen Inhalt sich der Kontrolle des Verschlüsselungsprogramms entzieht. Jetzt kann man Glück haben und es stehen keine unverschlüsselten Daten in dem Speicherchip, es kann aber auch anders kommen. Daher richtige Festplatten als Datenträger nehmen.