Ubuntu dwarsboomt Microsoft's pogingen om de pc's veilig te houden. Windows pc's worden tegenwoordig verscheept met Secure Boot ingeschakeld. Een veiligheidsoptie die ervoor zorgt dat een pc standaard alleen nog maar Windows kan starten. Microsoft komt Linux-gebruikers tegemoet door sleutels beschikbaar te stellen voor Linux bootloaders. Het probleem is echter dat Ubunu's signed bootloader code kan laden die niet is ondertekend. Dit maakt het gehele secure boot-proces onveilig. Gelukkig gaat dit veranderen in Ubuntu 16.04 LTS

Ubuntu's Secure Boot-ondersteuning is niet veilig

Secure Boot zou een "chain of trust" moeten vormen tussen de UEFI firmware en het besturingssysteem. Als deze optie bijvoorbeeld wordt gebruikt in combinatie met Windows, zorgt de UEFI firmware ervoor dat de Windows bootloader een correcte, ongewijzigde gesigneerde sleutel draagt. De Windows bootloader gaat vervolgens door naar de volgende stap waar ook wordt gekeken of alles nog legitiem is. Het doel daarvan is ervoor te zorgen dat er geen rootkits actief zijn die het opstartproces verstoren.

De gemiddelde Linux distributie heeft een door Microsoft ondertekende bootloader die ervoor zorgt dat de UEFI firmware het systeem kan laten starten. De bootloader van Ubuntu checkt echter niet of de geladen Linux-kernel ondertekend is door Canonical. Dat betekent niet alleen dat Secure Boot geen veiligheids-feature is voor Ubuntu-gebruikers, maar ook dat dat kwaadwillenden Ubuntu's bootloader kunnen gebruiken om malware toe te voegen aan praktisch elke pc die gebruik maakt van Secure Boot. De Grub bootloader die wordt gebruikt door Ubuntu kan namelijk ook Windows starten, waardoor het mogelijk wordt Windows systemen die werken met Secure boot aan te vallen.

Dit is niet algemeen bekend, maar ook niet iets wat Canonical onder stoelen of banken heeft geschoven. Marc Deslauriers, Ubuntu security engineer, schreef: " Ubuntu's ondersteuning voor Secure boot is alleen maar bedoeld om als compatibiliteits-maatregel zodat media gestart kunnen worden op computers waarop security boot actief is. Er zijn geen plannen om Secure Boot als veiligheids-maatregel in te zetten."

Vrije-software-ontwikkelaar Matthew Garrett ontdekte dit probleem op 6 Januari 2016. Garrett beschuldigt de makers van Ubuntu in een serie boze tweets van "criminele onzinnigheid" en wees op het gevaar dat schuilt in het misbruiken van ondertekende bootloaders door Microsoft. Garrett voegde daar in een andere tweet het volgende aan toe: " Deze beslissing raakt niet alleen Ubuntu-gebruikers, maar iedereen die gebruik maakt van de UEFI Secure Boot."

Op de volgende pagina: Ubuntu 16.04 repareert de boel

Ubuntu 16.04 repareert de boel

Ondanks Canonical's laconieke reactie werken de ontwikkelaars van de fabrikant aan het beveiligen van Ubuntu's Secure Boot-implementatie. Op de Secure Boot-pagina meldt Canonical het volgende: "Canonical's Secure Boot-implementatie in Ubuntu 15.10 (en eerder) is hoofdzakelijk voor het kunnen starten van software. Als je Secure Boot wil gebruiken als veiligheidsmechanisme zou je het beste een eigen sleutel kunnen gebruiken en de bootloader moeten updaten om te voorkomen dat er een niet-ondertekende kernel wordt gestart. Ubuntu 16.04 LTS zal zo gebouwd worden dat Secure-Boot standaard zal worden afgedwongen. (Voor details, zie LP:#1401532)."

Ubuntu 16.04 staat gepland voor april 2016 waardoor Canonical nog even de tijd heeft de bootloader te herconfigureren. Garrett meldt echter nog wel dat de oude Ubuntu bootloaders op een zwarte lijst zouden moeten gezet om te voorkomen dat deze worden misbruikt. De oude bootloaders zijn makkelijk te vinden en vormen een potentieel risico voor het Secure Boot ecosysteem.

Secure boot is een verplichte hardware feature voor Windows 10-gecertificeerde pc's. Pc-fabrikanden hoeven niet per se de sleutel te gebruiken die Microsoft meelevert voor Linux distributies. Als deze ondertekende Linux bootloaders een veiligheidsrisico blijven zou dat ervoor kunnen zorgen dat Microsoft en pc-fabrikanten zullen stoppen met het ondersteunen van ondertekende Linux-sleutel. En dat zou het voor Linux-gebruikers een stuk moeilijker maken hun favoriete besturingssysteem te installeren.