Coreboot und Nitrokey: Mein acht Jahre alter Laptop wird zur Festung
Schritt für Schritt habe ich mein zwei Jahre altes Thinkpad T430 mit neuen Teilen aufgerüstet, damit es wieder mit den Laptops der Kollegen mithalten kann. Doch drei Punkte auf meiner Wunschliste blieben erst mal unerfüllt: eine freie Firmware für meine WLAN-Karte, ein freies Bios für meinen Rechner sowie ein abgesicherter Bootprozess – sprich eine Kombination aus Coreboot, dem Payload Heads und einem Nitrokey.
Als Erstes ging ich den Bootprozess mit Coreboot, Heads und Nitrokey an. Die Komponenten überprüfen den Rechner beim Starten auf Veränderungen. Blinkt der Nitrokey grün, ist alles in Ordnung. Blinkt er rot oder erscheint eine Warnung auf dem Bildschirm, wurde das Bios oder die unverschlüsselte Bootpartition des Linux-Systems verändert, beispielsweise wenn der Rechner unbeaufsichtigt im Hotelzimmer lag (Evil-Maid-Angriff).
Zwar kann man Coreboot und Heads selbst auf die Bios-Chips flashen. Da ich aber ernsthaft Angst hatte, mein geliebtes T430 dadurch ins Jenseits zu befördern, fragte ich lieber jemanden, der sich auskennt: die Leute von Nitrokey. Dort war man der Idee nicht abgeneigt, das T430 mit einem sicheren Bootprozess auszustatten. Mit dem Nitropad (Test) hat Nitrokey ohnehin ein fast baugleiches Thinkpad X230 mit Coreboot und Heads im Angebot.
Eine Reise zu Nitrokey
Im November war es so weit: Nitrokey hatte ein Image für meinen T430 erstellt und ich durfte CEO Jan Suhr und Techniker Niklas Pauli im Nitrokey Office besuchen und ihnen beim Flashen über die Schulter gucken – natürlich mit Abstand und Masken. Auf Paulis Schreibtisch stapeln sich die X230-Thinkpads, die er von ihrer bisherigen, unfreien Firmware befreit und deren Bauteile und Kühlpaste er austauscht – und sie so zum Nitropad macht. "Mit dem X230 geht das deutlich einfacher, weil wir es nicht komplett auseinanderbauen müssen," erklärt Pauli. Bei dem X230 liegen die Bios-Chips leicht erreichbar auf der Oberseite des Mainboard, beim T430 unten. Mit einem Trick kann Pauli die Chips jedoch auch von der Oberseite aus flashen. Mehr auseinanderbauen muss er dennoch.
Die Bios-Chips von Hand überschreiben
Wir zerlegen also mein Thinkpad. Normalerweise werden die beiden Bios-Chips mit einer Klammer direkt an den Kontakten der Chips geflasht, die Klammer ist mit einem SPI-Flash-Programmer und damit mit einem anderen PC verbunden. Über diesen wird die neue Firmware auf die Chips übertragen.
Pauli zeigt mir eine Reihe von Steckkontakten auf dem Mainboard. Statt der Klammer kann er die Pins des SPI-Flash-Programmers an die Kontakte anlegen, die auch von der Oberseite der Platine aus erreichbar sind. So muss Pauli den Laptop nicht komplett zerlegen. Er fummelt die Pins in die Kontakte. "Das ist der zweite Rechner, den wir damit flashen," erklärt er. In Zukunft wollen sie einen Adapter bauen, den sie direkt einstecken können.
Die Verbindung steht. Pauli beginnt mit dem unteren der beiden Bios-Chips. Dort kümmert er sich zuerst um die proprietäre Firmware-Komponente Intel ME. Diese hat in der Vergangenheit immer wieder durch Sicherheitsprobleme auf sich aufmerksam gemacht und ist eine Art Black Box auf Computern mit Intel-Chips – also etwas, was auf einem sicheren Laptop nichts zu suchen hat.
Pauli deaktiviert Intel ME zuerst, dann löscht er alle Dateien, die nicht unbedingt zum Booten benötigt werden. Dafür dürfe das System nicht laufen, betont Suhr. Sonst schütze sich ME vor dem Zugriff.
Anschließend liest Pauli aus dem unteren Chip noch mehrere Blobs aus, also proprietäre Firmware-Komponenten, die für den Start des Laptops benötigt werden und später mit Coreboot wieder zurückgeflasht werden. Das ganze Prozedere hat Nitrokey per Skript automatisiert – inklusive Checks dauert es ungefähr fünf Minuten.
Flashen geht schnell, das Auseinanderbauen und Restaurieren dauert
Dann geht es an den oberen Chip. Hier spielt Pauli Coreboot und einen Teil von Heads auf. Anschließend startet er den Rechner neu und flasht den Rest von Heads über einen USB-Stick. Das etwas umständliche Verfahren habe lizenzrechtliche Gründe, erklärt Suhr. Heads dürfe nicht mit den Blobs verteilt werden. Nach weiteren zehn Minuten sind wir fertig.
"Die Rechner auseinanderzubauen, sie zu reinigen, die Kühlpaste zu erneuern und Komponenten zu tauschen, dauert deutlich länger als das eigentliche Flashen," sagt Suhr. Insgesamt sitze ich ganz schön lange bei Nitrokey, aber das liegt auch daran, dass mir alles gezeigt und erklärt wird.
Mittlerweile bietet Nitrokey auch den T430 als Nitropad an(öffnet im neuen Fenster) . Und was ist, wenn man, wie ich, schon einen T430 besitzt? "Auf Anfrage können wir auch das Flashen übernehmen," antwortet Suhr. Updates können die Nutzer anschließend(öffnet im neuen Fenster) über die GUI von Heads leicht selbst durchführen.
Jetzt muss ich Heads noch konfigurieren und kann mit der WLAN-Karte ein weiteres Modul in meinem Rechner tauschen – was bisher nicht möglich war. Denn Lenovos Bios erlaubt nur einige wenige WLAN-Karten.
Das Security-Update mit Coreboot und Heads hat einen tollen Nebeneffekt
Mein Rechner ist nun von einem Großteil der proprietären Firmware befreit. Auf den beiden 4 und 8 MByte großen Bios-Chips liegt neben Coreboot der Payload Heads, der letztlich ein Mini-Linux-Betriebssystem mit einer eigenen GUI ist. Dieses kümmert sich um den authentifizierten Start des Rechners. Ich muss Heads nun nur noch mit meinem Nitrokey verdongeln, das mache ich aber selbst zu Hause.
Nach dem ersten Start des Laptops soll ich ein Passwort für das Trusted Platform Module (TPM) festlegen, einen Sicherheitschip, der von Hause aus im T430 verbaut ist, und einen GPG-Key auf dem Nitrokey erstellen. Im TPM wird ein Geheimnis abgelegt, mit dem – nach einer erfolgreichen Prüfung der einzelnen Firmware-Module im Bootprozess – ein HOTP- (HMAC-based One Time Password) und ein TOTP-Code (Time-based One Time Password) generiert werden. Ersteres wird mit dem Nitrokey geprüft, Letzteres kann über eine klassische TOTP-App verifiziert werden, wie sie auch häufig zur Zwei-Faktor-Authentifizierung bei Onlinediensten genutzt wird.
Bei Ersterem werden die Bootvorgänge gezählt, die Anzahl wird mit dem Geheimnis verschlüsselt und gehasht. Das ergibt einen Zahlencode. Dieser wird durch den Nitrokey überprüft, der ebenfalls das Geheimnis enthält und die Bootvorgänge zählt und so die gleiche Berechnung durchführt.
Stimmen die Codes miteinander überein, wurden keine Veränderung am System vorgenommen. Der Nitrokey blinkt grün. Analog funktioniert dies per TOTP, nur dass der Code über die aktuelle Uhrzeit statt über die Anzahl der Bootvorgänge generiert wird. Um den ausgegebenen Code mit einer TOTP-App abgleichen zu können, wird das Geheimnis beim Einrichten von Heads per QR-Code gescannt.
Die Bootpartition wird mit GPG abgesichert
Nun ist der Bootprozess bis hin zur SSD abgesichert. Auf dieser ist zwar ein verschlüsseltes Linux-Betriebssystem installiert, allerdings ist dessen Bootpartition nicht verschlüsselt. Jede Festplattenverschlüsselung braucht letztlich eine unverschlüsselte Software, mit der die verschlüsselte Partition – beispielsweise durch Eingabe eines Passwortes – geöffnet werden kann. Ein kritischer Punkt, denn Eindringlinge könnten diese manipulieren und so zum Beispiel das Passwort mitloggen. Alle Sicherheit wäre dahin.
An dieser Stelle kommt der im Nitrokey hinterlegte GPG-Schlüssel zum Einsatz. Mit ihm wird die Software auf der Bootpartition signiert. Beim ersten Bootvorgang sowie bei jeder Veränderung der Bootpartition, beispielsweise bei einem Kernel-Update, müssen diese Signaturen angelegt beziehungsweise erneuert werden.
Anschließend werden die auf der SSD gespeicherten Signaturen mittels des privaten GPG-Schlüssels auf dem Nitrokey überprüft, der nicht ausgelesen werden kann. Ist alles in Ordnung, kann das Betriebssystem gestartet werden, ansonsten gibt es eine Warnung.
Mit dem verifizierten, abgesicherten Bootprozess (Measured Boot) wird mein Rechner zu einer kleinen Festung, die einen immens hohen Grad an Security erreicht. Gemeinsam mit einer großen SSD, ordentlich RAM, einem neuen Quadcore-Prozessor und einem neuen Kühler kann mein Rechner nicht nur geschwindigkeitsmäßig mit den Rechnern der Kollegen mithalten, sondern lässt sie in Sachen Security weit hinter sich. Nachhaltig ist das ganze Projekt obendrein, weil ich die Lebensdauer meines Laptops deutlich verlängert habe.
Endlich freies WLAN
Doch das Projekt hat einen weiteren Vorteil: Durch den Austausch des Bios entfällt auch das nervige Whitelisting von Lenovo, das nur den Einbau bestimmter WLAN-Karten erlaubt. Nun kann ich meine WLAN-Karte einfach gegen ein beliebiges Modell austauschen. Ich suche im Internet nach einer Karte mit Atheros-Chip (ath9k), die mit einer freien Firmware betrieben werden kann.
Diese gibt es nur bis Wi-Fi 4 beziehungsweise 802.11n, neuere Funkstandards werden bis dato nicht von freier Firmware unterstützt. Coreboot würde mir aber auch den Einbau einer nicht freien WLAN-Karte mit Wi-Fi 5 oder 6 erlauben. Mir ist jedoch die freie Firmware wichtiger.
Ich baue die bestellte Karte ein und deinstalliere die bisher notwendige, proprietäre Intel-Firmware. Rechtzeitig vor Weihnachten habe ich damit alle Punkte auf meiner Wunschliste erfüllt. Mein T430 ist endlich: frei, sicher und schnell.
- Anzeige Hier geht es zum Nitrokey Fido 2 bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



