Pokud se hlouběji zajímáte o počítače, už jste asi slyšeli o problematice Intel ME, neboli „Management Enginu“. Tento subsystém je na platformě procesorů Intel separátní jednotkou řídící chod samotného počítače, jeho spuštění a některé bezpečnostní funkce. ME je jakýmsi počítačem v počítači a má vlastní procesor integrovaný v čipsetu a software. Tento systém má dokonce větší privilegia než hlavní procesor a operační systém, ale uživatel k němu nemá přístup. To spolu s uzavřeností systému a tím, že se používá i pro vzdálenou správu po síti (technologie AMT na procesorech s funkcemi vPro) často vede k tomu, že je Intel ME považován za riziko nebo dokonce „backdoor“. Nedávno v něm skutečně byla odhalena závažná bezpečnostní díra. Řadě uživatelů či aktivistů je proto trnem v oku, ovšem procesory Intel novější než Core 2 bez něj jednoduše nejsou schopné fungovat. Respektive doposud to možné nebylo. Zdá se ale, že byl objeven způsob, jak Management Engine prakticky zcela vyřadit z provozu, přinejmenším u novějších procesorů (například Skylake a následníků).
S tímto objevem přišli bezpečnostní analytici či vývojáři firmy Positive Technologies, kteří ME na aktuálních procesorech Intel (označené ME 11) zkoumali. Zdá se, že cesta, jak se „blackboxu“ víceméně zbavit, existuje a paradoxně za ni „paranoici“ vděčí „arcinepříteli“, americkému úřadu pro bezpečnost NSA. Ta má totiž pro potřebu sebe a dalších vládních orgánů program „High Assurance Platform“, který klade patrně striktní požadavky na spolehlivost, auditovatelnost a bezpečnost. A zdá se, že právě pro potřeby tohoto standardu Intelu u ME ustoupil a implementoval možnost jej vyřadit z provozu – i když ne zcela kompletně, jelikož ME je jak už bylo řečeno potřeba pro inicializaci a provoz procesoru a čipsetu.
NSA vypíná ME
Lidé z Positive Technologies našli zmínky o „režimu HAP“ v softwaru, který výrobci desek používají ke konfiguraci čipsetu a ME. V jeho nastavení si všimli bit „reserve_hap“ s popisem „High Assurance Platform (HAP) enable“. Ten lze různými metodami nastavit a výsledkem je, že po naběhnutí systému s tímto bitem aktivním přestane Management Engine reagovat na standardní příkazy určené k jeho ovládání a podle všeho není aktivní, ukazuje status Alt Disable Mode.
Podle hloubější analýzy by tato metoda deaktivace ME měla být relativně robustní. Režim HAP deaktivuje funkci ME velmi brzy během inicializace počítače, takže aktivní je z něj zdá se skutečně jen nezbytné minimum, bez nějž by čipset a CPU nefungovaly. Positive Technologies potvrdili, že zbývající moduly nejsou v režimu HAP používány. A navíc kód ME, který v režimu HAP běží, údajně nemá žádnou možnost se přepnout zpátky do běžného režimu, tudíž nehrozí nějaké pokoutní znovuaktivování ME.
Respektive to alespoň má ukazovat dostupná binárka firmwaru. Kód, který má čipset přímo v ROM, by měl být velmi podobný, ovšem dostat se k němu nelze. Naproti tomu aktualizovaný kód z BIOSů desek bylo z části možné zanalyzovat, jelikož Positive Technologies se podařilo přijít na proprietární Huffmanův kód, kterým Intel obrazy komprimuje. Podrobnější analýzu spouštění počítače a ME a jak do ní vstupuje zakázaní ME přes režim HAP, si můžete přečíst přímo na blogu.
Tato metoda by se měla eventuálně dát použít k deaktivaci ME na konkrétních deskách nebo počítačích, běžný uživatel ale asi bude muset počkat, až k tomu budou vyvinuty nějaké snadno použitelné nástroje. Taková operace ale každopádně bude riskantní (vzhledem k provázanosti subsystému ME asi počítače nemusí některé funkce korektně fungovat) a běžným uživatelům bych ji nedoporučoval. S trochou nadsázky lze říct, že pokud nepracujete v tajné službě či podobném poměru, nemá smysl se existencí ME trápit. Zvlášť pokud máte běžné spotřebitelské PC, která nepodporují funkci vzdálené správy a přístupu AMT/vPro. Problém ME je pak hlavně akademický.
Režim HAP není plně podporován a testován a lze jej asi chápat trochu jako experimentální režim, v kterém vám výrobce „za nic neručí“. To alespoň vyplývá z vyjádření, které firma výzkumníkům z Positive Technologies sdělila (viz níže). Tento režim byl údajně přidán na přání výrobců počítačů, kteří dodávají vládním institucím počítače, u nichž je požadováno vyhovění standardu High Assurance Platform. Intel podobné modifikace nebo odstraňování funkcí na přání provádí, ale upozorňuje, že takovéto úpravy prochází jen omezeným testováním a hardware v tomto stavu není oficiálně podporován.
Mark/Maxim,
In response to requests from customers with specialized requirements we sometimes explore the modification or disabling of certain features. In this case, the modifications were made at the request of equipment manufacturers in support of their customer’s evaluation of the US government’s “High Assurance Platform” program. These modifications underwent a limited validation cycle and are not an officially supported configuration.
Intel má pro ME v čipsetu tři x86 jádra, běží na nich Minix
Na těchto zprávách je zajímavá ještě jedna věc: informace o implementačních detailech subsystému Intel ME. Zdá se, že s platformou Skylake v něm totiž Intel udělal docela velké změny. ME bylo dříve hardwarově založené na jádru či mikrořadiči architektury ARC, integrovaném v čipsetu. ARC je licenční jádro, které nabízí firma Synopsis. Na těchto jádrech běžel real-time operační systém ThreadX vyvíjený firmou Express Logic. Podle Positive Technologies ovšem toto platilo jen pro starší platformy. Se Skylake (ME 11) se podkladová technologie zcela změnila.
Intel nyní místo ARC používá vlastní mikrořadičová jádra Quark (jinak též MIA, Minute Intel Architecture), tedy 32bitovou architekturu x86. V čipsetech Intelu se tedy schovává něco jako malé 486ky. Tato jádra jsou rovnou tři, na jednom běží Management Engine, na jednom Innovation Engine (který má lehce podobnou funkci, ale může ho programovat výrobce počítače) a na posledním subsystém Integrated Sensors Hub. Druhé a třetí jádro nejsou aktivní na všech verzích čipsetu, první s ME však vždy.
Na těchto jádrech pak běží open source operační systém Minix, jenž je původně akademickým výukovým systémem Andrewa S. Tanenbauma, starším než Linux. Jde o systém založený na mikrokernelu s robustními subsystémy – například umožňuje restartování ovladačů a dalších modulů za chodu a zotavení z chyb v nich, které by běžný OS shodily. Jeho přítomnost uvnitř ME je docela pozoruhodná, pravděpodobně půjde o zatím nejmasovější produkční nasazení tohoto zajímavého OS a svědčí asi o jeho bezpečnosti a robustnosti.