Diit.cz - Novinky a informace o hardware, software a internetu

Intel Management Engine využívá MINIX

O Intel Management Engine toho bylo za více než dvanáct let jeho existence publikováno mnoho, bohužel s výjimkou zdrojových kódů. Vzhledem k této uzavřenosti se nelze divit, že se ho pomocí reverse-engineeringu snaží pochopit větší než malé množství lidí.

Intel v poslední době tuto činnost poněkud usnadnil změnou jádra u IME 11 z platformy ARC na obyčejné x86 (procesory Skylake a novější), pro nějž je přeci jen nejvíce dostupných debugovacích nástrojů. Tým, zkoumající možnosti trvalého vypnutí má Google, jisté úspěchy v této oblasti slaví projekt me_cleaner a naposledy na sebe upozornila společnost Positive Technologies, která při analýze TXE (Trusted Execution Engine, ekvivalent IME pro procesory Atom) objevila textové řetězce pocházející z operačního systému MINIX.

MINIX má své kořeny v druhé půli osmdesátých let, kdy jej Andrew Tannenbaum na amsterdamské Vrie Universiteit vytvořil jako praktický funkční příklad principů, které popsal ve své knize Operating Systems: Design and Implementation. První verze byla jednodisketová a běžela na obyčejném PC XT/AT a jelikož se v té době jednalo o jediný finančně dostupný unix-like systém (stačilo koupit si knihu), dočkala se značné popularity. Verze 1.5  už byla portována na mnoho jiných v té době běžných platforem jako například Apple Macintosh, Commodore Amiga či Atari ST. MINIX 2.0 vyšel deset let po prvním (1997), společně s novou revizí původní knihy a MINIX 3 v roce 2005. První dvě verze, ačkoliv plně použitelné jako univerzální operační systém, byly autorem chápány a označovány jednoduše jako výukový materiál, od trojky dále je ale MINIX profilován více jako samostatný software (cílený do embedded sféry) než jen jako doplněk k učebnici. Současné verze (3.3.x, 3.4.0RC) tak disponují grafickým rozhraním (X11), kompilátory a interprety běžných programovacích jazyků (gcc, perl, python) a dalšími běžnými programy (vi, emacs, ssh, pine).

Když vyšlo najevo, že IME 11 je buď na MINIXu přímo postaveno, nebo minimálně používá část jeho kódu, zveřejnil Andrew Tannenbaum v otevřeném dopisu adresovaném Intelu, že jej před lety kontaktovali inženýři pracující na tajném projektu pro tuto společnost a že společně s nimi udělal v systému řadu změn, které snížily náročnost na prostředky a zvýšily modularitu. Poté veškerá komunikace ustala a o objevení svého kódu v IME se dočetl až z médií. MINIX je uvolněn pod BSD licencí, takže z právního hlediska je vše v pořádku, jak ale Tannenbaum s trochou nadsázky uvádí, bylo by fajn, kdyby mu někdo alespoň neoficiálně poděkoval za to, že vytvořil asi nejrozšířenějí operační systém pro moderní PC.

V principu je samozřejmě dost jedno, jaký přesně kód v IME běží, schopnost běhu unixového klonu však ilustruje o jak komplexní subsystém se jedná. Vzhledem k tomu, že IME má plný přístup do paměti počítače, na jeho zařízení a do sítě a to na úrovni, na níž tomu operační systém není schopen zabránit, je potenciálním bezpečnostním problémem už jen samotná jeho  existence. Znalost podobných detailů by tak mohla pomoci v hledání chyb, které někdy v budoucnu umožní jeho bezpečné a úplné vypnutí.

Martin "logout" Kukač

Většinu dne trávím tím, že přeměňuju kofein na kód. Když s tím skončím a ještě není čas jít spát, tak zbylý čas nerovnoměrně dělím mezi rodinu, sbírku počítačového harampádí, vysílání na volně přístupných pásmech a geocaching.

více článků, blogů a informací o autorovi

Diskuse ke článku Intel Management Engine využívá MINIX

Žádné komentáře.