Dějiny psané rootkity

Rootkity představují noční můru všech bezpečnostních specialistů. Jde o aplikace, které nahrazují standardní administrátorské nástroje a umožňují skrývat své aktivity před legitimním uživatelem/správcem. A jejich odhalení je proto velmi komplikované.

Dějiny psané rootkity


Složitost detekce rootkitů je způsobená mimo jiné tím, že když už si někdo dá s vytvořením a instalací rootkitu práci, zpravidla mu na průniku do systému a následném skrytí svých aktivit docela záleží – jak o tom svědčí případ v lednu 2015 uvězněného IT specialisty Eddieho Raymonda Tiptona (51), který býval ředitelem informační bezpečnosti v Multi-State Lottery Association.

Tipton využil své znalosti fungování loterií a ochranných mechanismů k tomu, aby získal přístup k počítači, na kterém se losovala vítězná čísla. Ten je pochopitelně přísně střežený a není napojený na internet. Tipton však dokázal ostrahu obejít přeprogramováním monitorovacích kamer – a do počítače následně skrze Flash disk instaloval právě rootkit, který zajistil vylosování „těch správných“ čísel.

Když se tak stalo, rootkit sám sebe smazal. Tipton podal výpověď a vybral si výhru (což byla právě ona chyba, protože jako bývalý zaměstnanec společnosti byl ihned v hledáčku bezpečnostních procesů – kdyby použil nějakého „bílého koně“, dost možná by se na jeho podvod nikdy nepřišlo).

Název rootkitů je odvozen od „root“ (základ) – což je označení superuživatele na unixové rodině operačních systémů. Rootkit je pak označení programů, které slouží útočníkům k získávání nejvyšších práv v operačním systému (resp. jsou jim v mnoha případech dokonce nadřazené).

Operační systém zajišťuje pro počítač celou řadu základních úkonů počínaje otevíráním souborů až třeba po síťová připojení. Jde o rozhraní API (Application Programmer Interface).

 

Jak funguje rootkit

Rootkit je přitom aplikace, která nekompromisně zasahuje do této vlastnosti operačního systému a nahrazuje specifické API funkce, takže jejich volání je modifikované. Jinými slovy: rootkit mění způsob, jakým operační systém pracuje.

Uveďme si to na velmi zjednodušeném příkladu. Máme v počítači dvě zcela samostatné aplikace. Dejme tomu, že jedna z nich je textový editor, druhá špionážní program (spyware) zaznamenávající stisknuté klávesy.

Za normálních okolností spustíte textový editor a píšete. Pokud ale do počítače dokáže proniknout útočník, může na spuštění textového editoru navázat právě spuštění druhého programu. V praxi tedy spouštíte textový editor, na úrovni operačního systému je ale zavolaný spyware a následně se kontrola znovu vrátí textovému editoru.

Že to není nic zvláštního? Že něco podobného lze udělat i bez rootkitu? To samozřejmě jde, ale s jedním velkým omezením: pokud modifikujete registry nebo spouštíte spyware, jste zpravidla varovaní antivirovým programem.

Ovšem při použití rootkitu tomu tak není – tato aplikace totiž dokáže onen mezistupeň skrýt (pokud chce). Prostě pro všechny nástroje na nižších úrovních (souborové editory, antivirové programy aj.) žádný mezistupeň není.

Rootkit postavený na nejvyšší úrovni zkrátka „ukazuje“ ostatním aplikacím jen to, co jim chce ukázat. A ty nemají možnost si podávané informace jakkoliv ověřit právě proto, že rootkit hlídá poskytování informací.

Takže i v případě vznesení dotazu to jde přes operační systém (a tedy i přes rootkit), čili opět je vidět jen to, co chce autor rootkitu. Dnešní bezpečnostní aplikace jsou zkrátka založeny na tom, že informace podávané na úrovni operačního systému jsou důvěryhodné. Rootkit ale zcela mění způsob, jakým celý operační systém pracuje.

Rootkit tak může skrýt sám sebe, může se navázat na určité funkce, může skrýt další aplikace, soubory, adresáře, registry, procesy apod. S trochou nadsázky lze říci, že o čem rootkit prohlásí, že neexistuje – tak navenek opravdu neexistuje. Ve skutečnosti to je ale samozřejmě reálné, jen rootkit ví, kde.

 

Jak šel čas

Rootkity byly teoreticky rozpracované v roce 1983, kdy Ken Thompson z Bell Labs (mj. jeden z tvůrců Unixu) představil koncept modifikovaného kompilátoru, který akceptoval nejen regulérní heslo, ale také heslo „tajného administrátora“. To se nedalo běžnými prostředky zjistit – stejně jako jeho prostá existence.

Trvalo ale několik let, než se celá myšlenka dočkala praktické realizace. Stalo se tak v roce 1990, kdy Lane Davis a Steven Dake vytvořili rootkit pro SunOS Unix. V devadesátých letech byly rootkity používané jako administrátorské nástroje – i jako prostředky k pronikání do systémů. Až v roce 1999 vstoupily na novou půdu, kdy vznikl první rootkitový malware: NTRootkit pro Windows NT (uživatelé Mac OS X si museli ještě deset let počkat).

Největší slávu – byť pochybnou – si rootkity „užily“ v roce 2005, kdy začala společnost Sony BMG chránit některá svá CD protikopírovací ochranou XCP. Po prvním vložení CD s hudbou do počítače se zobrazila EULA.

Do počítače se pak instaloval speciální program, který umožňoval vypálení pouze určitého množství záložních kopií (pro osobní potřebu) a blokoval třeba spouštění hudby přes jiné přehrávače než přes přehrávač dodávaný od firmy Sony.

Problém byl v tom, že docházelo do počítače k instalaci nejen avizovaného softwaru, ale i rootkitu, který jej skryl. A potíž tkvěla i v tom, že tento rootkit bylo možné zneužít k dalším útokům: objeven byl například také v počítačích amerického Pentagonu.

 

Tento příspěvek vyšel v Security Worldu 4/2015. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.

Úvodní foto: © inq - Fotolia.com










Komentáře