Linux EFI Tools 1.4 unterstützen nun das Verändern und Auslesen von UEFI-Signaturen

Kein Kommentar Autor: Jürgen (jdo)

UEFI Teaser 150x150James Bottomley hat Verion 1.4 vin efitools ausgegeben. Er schreibt in seinem Blog, dass gegenüber Ausgabe 1.3 zwei neue Utilities hinzugekommen sind: efi-readvar und efi-updatevar. Mit diesen ist es möglich, die UEFI-Signatur-Datenbank aus dem Linux-Userspace auszulesen und zu manipulieren. Nachteil an diesen Tools ist, dass die Voraussetzung das neue efivars-Dateisystem ist und dieses muss irgendwo im System eingebunden sein. efivars wurde mit Linux-Kernel 3.8 eingeführt. Somit muss das laufende Betriebssystem recht neu sein.

Wer efivars einbinden möchte, geht wie folgt vor:

  • modprobe efivars
  • mount -o efivarfs none /[Einhänge- / Mount-Verzeichnis]

Sollte dies erfolgreich sein, kannst Du nun die efi-tools verwenden und die Secure-Variablen auslesen und verändern. Wer das machen möchte, muss allerdings den privaten Teil der Schlüssel parat haben. Als Beispiel gibt Bottomley an, dass der private Schlüssel PK.key ist und so könntest Du Deinen eigenen KEK hinzufügen:

  • efi-updatevar -a -c KEK.crt -k PK.key KEK
  • nun kannst Du Deine eigene Signatur in die Datenbank einfügen
  • efi-updatevar -a -c DB.crt -k KEK.key db

KEK.crt und DB.crt sind dabei X.509-Zertifikate. Per Standard gehören Dateien im efivars-Dateisystem dem Benutzer root und haben die Zugriffsrechte 0644. efi-readvar lässt sich somit von jedem Anwender ausführen. efi-updatevar muss allerdings root ausführen, weil die Dateien sonst nicht geschrieben werden können. Weiterhin gibt es ausführlich Man-Pages für efi-readvar und efi-updatevar, die alle Optionen erklären.

Herunterladen kannst Du efitools 1.4 von hier: http://download.opensuse.org/repositories/home:/jejb1:/UEFI/. Es gibt derzeit Pakete für Debian 6.0, Fedora 17, openSUSE 12.1, openSUSE 12.2, xUbuntu 11.10 und xUbuntu 12.10. Der Sprung der beiden letzteren ist mir irgendwie nicht ganz klar …

Wie man X.509-Zertifikate für UEFI erstellst, findest Du auch im Blog von James Bottomley:

  • openssl req -new -x509 -newkey rsa:2048 -keyout PK.key -out PK.crt -days <Anzahl wie lange Zertifikat gültig sein soll> -subj "/CN=<Dein Namen - kann alles sein>/"
  • Schlüssel in DER-Format umwandeln
  • openssl x509 -in PK.crt -out PK.cer -outform DER
X.509-Zertifikat erstellen

X.509-Zertifikat erstellen




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.