Kterak UEFI Secure Boot zničil hibernaci a exekuční mechanismus v Linuxovém kernelu
Autorem kontroverzních patchů, nebo lépe řečeno návrhů, je Matthew Garrett pracující mezi roky 2008 a 2012 pro Red Hat, nyní pro firmu Nebula. Zaslal do linuxového jádra dva patche: jeden vypíná podporu pro kexec a druhý podporu hibernace, pokud stroj běží v prostředí UEFI Secure Bootu. Proč tuhle šílenost předložil?
Inu, hibernaci je prý potřeba vypnout ryze proto, že na strojích s UEFI Secure Bootem nemá linuxový kernel možnost ověřovat si uložený image, když se počítač z hibernace probouzí. Tím je v podstatě narušen systém zabezpečení a bude potřeba tento mechanismus v kernelu upravit tak, aby pracoval s podepsanými hibernačními obrazy.
U kexec je zase ten problém, že exekuční mechanismus kernelu je možné použít ke škodlivému útoku (kexec alias kernel execution, umožňuje nastartovat nový kernel „přes“ aktuálně běžící, přičemž zcela přeskakuje fázi bootloaderu/BIOSU/UEFI). Pomocí kexecu tak jde obejít systém zabezpečení UEFI Secure Bootu a načíst na daném stroji modifikovaný („infikovaný“) kernel. Opět je řešením to, že kernel bude muset dostat podporu podepisování kexec záležitostí.
Pro tuto chvíli tedy Matthew navrhl patche, které obě sporné věci v kernelu deaktivují. Je si ale plně vědom, že tak činí bez náhrady a lidé na tuto funkcionalitu spoléhající nebo na ní závislí, by tak ostrouhali. Matthew tedy nenavrhuje, aby tyto patche byly do linuxového kernelu začleněny ihned a v podobě, kterou on představil, ale aby se našlo řešení.