UEFI-BIOS mit bekannt unsicherem Code gespickt
In einem BIOS-Update fanden Experten mehrere OpenSSL-Versionen, teils mit uralten Sicherheitslücken. Das wirft ein Schlaglicht auf Risiken von PC-Firmware.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/3/6/4/9/4/1/3/UEFI-BIOS-wod-16-9-6ed778a382a8ba1c.jpeg)
(Bild: c’t Magazin)
Die mehr als 20 Megabyte Binärcode eines modernen UEFI-BIOS enthalten mehrere Hundert ausführbare (EFI-)Programme. Viele davon haben Sicherheitslücken, von denen einige schon seit Jahren bekannt sind. Das belegen Experten der Firma Binarly am Beispiel eines aktuellen BIOS-Updates für ein Business-Notebook aus der Baureihe Lenovo ThinkPad.
Die Binarly-Gründer Alex Matrosov und Claudiu Teodorescu haben den BIOS-Binärcode gezielt nach Varianten des Open-Source-Tools OpenSSL durchforstet. OpenSSL dient im offengelegten EFI Design Kit II (EDK 2), welches die Quellcode-Basis vieler UEFI-BIOS-Implementierungen bildet, als Allzweck-Werkzeug für kryptrografische Sicherheitsfunktionen. Denn das UEFI-Codemodul Crypto Package (CryptoPkg) dient unter anderem als Wrapper für OpenSSL-Funktionen.
OpenSSL-Versionsfülle
Ein real existierendes UEFI-BIOS enthält allerdings UEFI-Code und BLOBs von unterschiedlichen Firmen und Zulieferern. Und solche BLOBs sind teilweise schon älter oder basieren auf älterem Quellcode.
Der Online-Dienst Virustotal.com kann bestimmte BIOS-Images "zerlegen" und zeigte in einem kurzen Versuch mit einem Lenovo-BIOS-Image über 600 einzelne Module an.
Die Binarly-Experten fanden jedenfalls in dem untersuchten BIOS-Image, das Lenovo auch über den Linux Vendor Firmware Service (LVFS) bereitstellt, 27 Funktionen mit drei verschiedenen OpenSSL-Versionen. In den meisten steckte OpenSSL 1.0.2j aus dem Jahr 2018, aber es fanden sich auch OpenSSL 1.0.0a und 0.9.8zb aus dem Jahr 2014.
In OpenSSL 0.9.8zb stecken laut Binarly seit acht Jahren bekannte Sicherheitslücken. Pikanterweise dient das Codemodul "InfineonTpmUpdateDxe" mit dieser OpenSSL-Version wohl dazu, Firmware-Updates für das Trusted Platform Module (TPM) einzuspielen, also für den Sicherheitschip, der als Hardware-Anker (Root of Trust) für wichtige Sicherheitsfunktionen dient.
UEFI-Code-Module mit OpenSSL-Versionen laut Binarly
UEFI-Code-Module
OpenSSL-Version
DxeCore, Tcg2Dxe, TcgDxe, VariableSmm, SecurityStubDxe, IpSecDxe, IScsiDxe, Setup, PlatformMilestoneHookDxe, PlatformMilestoneHookSmm, LenovoTpmConfigDxe, PlatformInit, PeimBoardInit, Tcg2Pei, TcgPei, PlatformInitPreMem, LenovoPcdInit, LenovoVerifiedBootPei
OpenSSL 1.0.2j (2018)
FlashUtilitySmm, LenovoCryptService, LenovoCryptServiceSmm, LenovoSvpManagerSmm, LenovoSetupAutomationSmm, LenovoSetupUnderOsSmm, LenovoSecureKeySmm, LenovoDriveEraseSmm
OpenSSL 1.0.0a (2014)
InfineonTpmUpdateDxe
OpenSSL 0.9.8zb (2014)
DXE = Driver Execution Environment, SMM = System Management Mode
PEI = Pre-EFI Initialization, PEIM = Pre-EFI Initialization Module
UEFI-Code-Module mit OpenSSL-Versionen laut Binarly | |
UEFI-Code-Module | OpenSSL-Version |
DxeCore, Tcg2Dxe, TcgDxe, VariableSmm, SecurityStubDxe, IpSecDxe, IScsiDxe, Setup, PlatformMilestoneHookDxe, PlatformMilestoneHookSmm, LenovoTpmConfigDxe, PlatformInit, PeimBoardInit, Tcg2Pei, TcgPei, PlatformInitPreMem, LenovoPcdInit, LenovoVerifiedBootPei | OpenSSL 1.0.2j (2018) |
FlashUtilitySmm, LenovoCryptService, LenovoCryptServiceSmm, LenovoSvpManagerSmm, LenovoSetupAutomationSmm, LenovoSetupUnderOsSmm, LenovoSecureKeySmm, LenovoDriveEraseSmm | OpenSSL 1.0.0a (2014) |
InfineonTpmUpdateDxe | OpenSSL 0.9.8zb (2014) |
DXE = Driver Execution Environment, SMM = System Management Mode | |
PEI = Pre-EFI Initialization, PEIM = Pre-EFI Initialization Module |
Firmware-Wartungskonzept defekt
Laut Binarly ist das OpenSSL-Versionsgewirr in einem real existierenden BIOS-Update nur eines von zahlreichen Beispielen dafür, dass das gängige Konzept zur Pflege von (UEFI-)Firmware nicht funktioniert: "The Firmware Supply-Chain Security Is Broken". Dadurch werden bekannte Sicherheitslücken zum Teil jahrelang nicht geschlossen.
- Hören Sie dazu auch im Podcast Bit-Rauschen: Weshalb es Alternativen zum UEFI-BIOS so schwer haben
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmmung wird hier ein externer Podcast (Podigee GmbH) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Podigee GmbH) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
(ciw)