Rootkity? Raději nepřehlížet

Nástroje rootkit nejsou novinkou posledních dnů. Útočníci je využívají již řadu let, aby ukryli svou nekalou činnost v systému. Co to pro vás znamená, nainstaloval-li vám někdo rootkit do systému? Jak je lze odhalit a bránit se proti nim?

Dnešní rootkity jsou využívány zejména pro ukrytí určitého kódu před konvenčními bezpečnostními nástroji, jako jsou antivirové programy, antispyware, IDS systémy apod.

V dubnu 2006 uveřejnila společnost McAfee první část studie The Growing Threat [PDF, 432 kB] o rootkitech. Uvedená zjištění jsou více než alarmující: užití technik skrývání škodlivého softwaru v posledních třech letech vzrostlo o více než 600 procent; složitost rootkitů v letech 2000–2005 vzrostla o více než 400 procent.

Rootkit nepředstavuje přímé nebezpečí, je to pouze nástroj, který může být zneužit. Škodlivé kódy se dokáží pomocí rootkitů velmi dobře skrýt: rootkit maskuje jejich přítomnost skrýváním adresářů, v nichž jsou instalovány, API volání, položek registru Windows, procesů a systémových služeb tak, aby přítomnost malwaru nebyla běžnými systémovými nástroji (např. Windows Task Manager) a bezpečnostními aplikacemi odhalitelná.

Pokud chce někdo rootkit zneužívat, musí instalovat do počítače nejprve ten a následně i nějakou aplikaci (virus, trojského koně, zadní vrátka, bot apod.). Instalace rootkitu je jen prvním, ale nesmírně důležitým krokem ke kompromitaci počítače.

Podíl rootkitů napadajících systémy na bázi Unixu klesl ze 70 procent na zanedbatelné číslo ve „prospěch“ platformy Windows, kde počet rootkit kódů vzrostl o 2300 procent (viz následující graf). Windows se stávají oblíbeným cílem ze známých důvodů: rozšířenost, známé bezpečnostní chyby, nedostatečná ochrana. Dle zprávy společnosti McAfee je pro hackery výzvou odhalovat možnosti a funkce Windows API (Application Program Interface).

rootkity - graf 1

Aby mohl rootkit sledovat programy spuštěné pod Windows, usazuje se přímo do operačního systému. Nejlepším místem je API (rozhraní pro programování aplikací). Ve Windows programy nekomunikují s hardwarem přímo, nýbrž předávají své příkazy operačnímu systému právě prostřednictvím rozhraní API. Operační systém pak zajišťuje koordinaci jednotlivých procesů, vybírá správný ovladač a provádí příkaz.

Změnou funkcí rozhraní API je možné lehce ukrýt soubory, procesy, síťová spojení apod. před všemi procesy v systému. Je to také jeden ze způsobů, jak obelstít antivirový program. V případě, že se antivirový software pokouší zjistit název rootkitu, vyfiltruje rootkit veškeré výpisy odpovídající požadovanému dotazu operačního systému, a zůstane tak nadále neviditelným. Obecně řečeno, systém se tváří, že je vše v pořádku a není aktivní žádný nebezpečný kód.

Rootkity jsou instalovány do systému nejčastěji pomocí trojských koňů (viz následující graf). Známý Windows rootkit Hacker Defender se šíří pomocí spamu, botů, exploitů nebo P2P sdílených aplikací. Rootkit může obsahovat i komerční aplikace (případ Sony BMG DRM).

rootkity - graf 2 Microsoftem nalezené rootkity vycházejí především z rootkitů FU a Hacker Defender. Tvůrce malwaru nemusí mít hluboké znalosti systému, stačí mu zkopírovat veřejně dostupné zdrojové kódy rootkitů či modifikovat jejich kód podle vlastních potřeb.

Rootkity, které lze nalézt ve Windows:

  • Hacker Defender
  • FU
  • HE4Hook
  • Vanquish
  • AFX
  • NT Rootkit

Zdroj: Microsoft Exec Warns of Rootkits

Skryté kódy

Rootkity se přesouvají z prostředí unixových systémů do světa Windows, a to v daleko rafinovanější podobě. První generace rootkitů se snažily zakrýt svoji přítomnost nahrazením základních systémových utilit administrátora trojskými koni. Takto upravených utilit je především pro platformy Unixu celá řada. V prostředí Windows se tyto rootkity příliš neuplatnily.

Uživatelé systému Windows se mohou setkat s generací rootkitů, která modifikuje aplikace v paměti nebo některých částech operačního systému (např. přilinkování jiných funkcí, úprava tabulky systémových volání). Novější rootkity jdou ještě hlouběji do operačního systému a modifikují přímo dynamické struktury jádra bez volání funkcí jádra (Direct Kernel Object Manipulation). Čtvrtá generace rootkitů navíc umí díky trikům se správou paměti skrýt svůj kód v paměti před detektory rootkitů.

Detekce

Rootkity mají tu vlastnost, že se velmi špatně odstraňují pro svoji provázanost s operačním systémem. Dalším problémem je, že pokud je operační systém jednou infikován rootkitem, už mu nelze stoprocentně důvěřovat. I když byl rootkit odstraněn, nikde není garantováno, že v systému nezůstal další škodlivý kód.

Detekovat rootkit lze nabootováním z důvěryhodného média a následným prozkoumáním některým ze speciálních programů pro detekci rootkitů.

MIF16

Nástroje, které mohou rootkity detekovat ve Windows:

  • PatchFinder2 a Klister/Flister, proof-of-concept nástroje polské výzkumnice Joanny Rutkowské
  • RootkitRevealer (Sysinternals)
  • Blacklight (F-Secure)
  • Microsoft File Checksum Integrity Environment
  • Bootable Antivirus & Recovery Tools (Alwil Software – CZ)
  • Knoppix Security Tools Distribution (open source)

Nástroje, které mohou rootkity detekovat v Unixu:

  • Chrootkit
  • Rkhunter

Závěr

Doba, kdy se uživatelé obávali pouze virů a červů, je pryč: dle odborníků se dá očekávat rostoucí rozšiřování rootkitů. Nebezpečí rootkitů spočívá v tom, že úzce kooperují s dalšími typy malwaru. Současný škodlivý software je vyvíjen zejména za účelem zisku a snahou útočníků je, aby jejich zákeřný kód zůstal v systému co nejdéle, a tedy byl co nejlépe skryt. Čím déle bude kód v systému neviditelný, tím více roste šance pro úspěšné provádění útoků.

Metody pro detekci a prevenci rootkitů
klady zápory
Antivir / antispyware
  • detekují a odstraňují známé rootkity před jejich realizací
  • detekují a odstraňují známý malware, který může mj. obsahovat rootkit
  • jsou řízeny centrálně
  • nemusí vidět rootkit po jeho instalaci
  • nedetekují neznámé, nové nebo modifikované rootkity
Host Intrusion Prevention Software (Host IPS)
  • mohou zabránit instalaci nového rootkitu
  • jsou schopny upozornit na podezřelé chování
  • kernelové HIPS mohou upozornit na rootkity běžící v kernelovém módu
  • nezávisí na signaturách
  • nezabrání uživateli v instalaci trojského koně
  • mohou generovat falešná upozornění
  • neodstraňují rootkity
Utility pro detekci rootkitů
  • detekují známé a neznámé rootkity
  • jsou schopny detekovat rootkity po jejich instalaci
  • nezávisí na signaturách
  • mohou generovat falešné poplachy
  • mohou vyžadovat fyzickou přítomnost administrátora
  • nejsou řízeny centrálně
  • nemusí být schopny rootkit odstranit
Omezení uživatelských práv
  • mohou zabránit uživateli instalovat trojské koně
  • mohou omezit možnosti rootkitu na kompromitovaném PC
  • použitím některé z technik na získání vyšších práv může rootkit získat administrátorská oprávnění
  • může snížit produktivitu uživatelů

Nezbývá než popřát hodně štěstí při obraně proti rootkitům či při jejich odhalování a doufat, že tento stručný přehled aspoň trochu přiblížil důležité aspekty celé problematiky.

Anketa

Jaký je váš vztah k rootkitům?

29 názorů Vstoupit do diskuse
poslední názor přidán 19. 7. 2006 6:27

Školení: Právo pro e-shopy

  •  
    Jak provozovat e-shop v souladu se zákonem.
  • Jak přistupovat k vrácení zboží a spory se spotřebiteli.
  • Jak v souladu s právem marketovat e-shop.

Detailní informace o školení Právo pro e-shopy »