Nebezpečí rootkitů
Než rootkity jednoznačně odsoudíme a uvrhneme do kategorie nebezpečného softwaru, musíme se uvědomit některé souvislosti. Rootkit je pouze nástroj, nikoliv cíl sám o sobě nebezpečný není, je to jen technologie (stejně jako počítačový program není implicitně nebezpečný nebo naopak užitečný). Nicméně tato technologie pochopitelně může být zneužita.
Rootkity tudíž nepředstavují přímé nebezpečí, ale představují bránu tomuto nebezpečí doširoka otevřenou. A to je výzva pro bezpečnostní a antivirové firmy, pro něž bylo dlouhé roky jednodušší rootkity raději přehlížet: právě proto, že samy o sobě nebezpečné nejsou. Nicméně jakýkoliv škodlivý kód se pomocí rootkitů dokáže umně (a v podstatě neodhalitelně) skrýt. A navíc se jich začíná objevovat stále více, takže už nelze déle strkat hlavu do písku a tvářit se, že nebezpečí neexistuje. Mnoha firmám se minulá nečinnost nyní nevyplácí, protože musí urychleně reagovat na potřeby trhu a bude jim trvat dlouhé měsíce, než dokáží dodat vhodné nástroje pro detekci a odstraňování rootkitů. A reakční doba v řádu měsíců je v současném světě ICT bezpečnosti (sebe)vražedná.
Rootkity mají tu vlastnost, že se velmi špatně odstraňují právě pro svoji provázanost s operačním systémem. Při odstraňování je nutné postupovat velice obezřetně, jinak je systém nenávratně poškozen (často včetně dat na disku apod.). Rootkity není možné odstraňovat jen pomocí nějakého softwaru nebo jednoduchého návodu: uživatel musí v každém okamžiku přesně vědět, co činí. Jediný krok "vedle" znamená katastrofu a nesmírně drahou i nepříjemnou zkušenost.
Dalším problémem je, že pokud je operační systém jednou infikovaný rootkitem, už mu nelze nikdy věřit. I když dojde k odstranění rootkitu, nikde není psáno, že nad ním nebyl třeba další rootkit, že někde nezůstala skrytá škodlivá aplikace apod. Odstraněním rootkitu totiž odstraníme jen a právě tuto aplikaci, nikoliv další software. A jeho případné odhalování je právě kvůli použití kernelového módu úkolem prakticky nadlidským. Přitom jak už jsme uvedli výše naše současná ICT bezpečnost vychází z předpokladu bezpečného operačního systému (alespoň z hlediska informací poskytovaných na rootové úrovni).
Pro úplnost dodejme, že 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 apod.). Čili instalace rootkitu je jen prvním (leč nesmírně důležitým!) krokem ke kompromitaci počítače.
Rootkity používají třeba podvodníci v jedné z nejoblíbenějších on-line her v historii, World of Warcraft. Pravidla této hry totiž vysloveně zakazují cheatování ("přidávání" si energie, kouzel, zkušeností a kdoví čeho všeho ještě pomocí speciálních kódů tedy nezaslouženě). Společnost Blizzard proto v rámci svých instalovaných klientů na počítačích aktivně sleduje, zda hráč cheatování nepoužívá (tedy jestli nepodvádí). Pokud ale hráč použije rootkit, cheatovací program se stane "neviditelným" a podvod není odhalený.
Jak tedy lze rootkit detekovat? Nejlepší cesta představuje vypnutí počítače, bootování z důvěryhodného média a následné prozkoumání některou z detekčních utilit. Pro UNIX jsou to například chkrootkit a rkhunter (ty pravděpodobně fungují i pod Mac OS), pro Windows pak Blacklight od F-Secure (mimochodem tato firma byla světlou a pohříchu jedinou výjimkou v celém bezpečnostním průmyslu, když se problematice rootkitů věnovala už dávno před vypuknutím skandálu s CD od Sony BMG) nebo RootkitRevealer.
Nicméně i tak zůstává nezodpovězená otázka spolehlivosti těchto detekčních metod a kvality rootkitů. Programátor skrývající se pod přezdívkou holy_father tvrdí, že jeho rootkit Hacker Defender nedokáže odhalit žádný z aktuálních antivirových nebo antirootkitových programů. Vzhledem k podstatě rootkitů může mít pravdu, jeho tvrzení nelze ověřit z nezávislých zdrojů nebo nezávislým způsobem. (Vzhledem k tomu, že svůj výtvor nabízí pouze za finanční úhradu, nebudeme tak činit kvůli etickému kodexu ani my nebudeme finančně podporovat nelegální činnost.)
Na následujících řádcích se budeme věnovat programu XCP (eXtended Copy Protection), jímž byla jako ochranným prvkem vybavena řada komerčně dostupných CD. A právě ten rootkit obsahoval.
Historie "případu Sony"
Boj mezi společnostmi vlastnícími autorská práva a mezi tzv. piráty trvá už desítky let. Nechceme v něm působit jako soudci, takže se držme faktů a našeho sledovaného případu.
Od března 2005 začala společnost Sony BMG chránit svá CD ochranou proti kopírování XCP. Takto ošetřila celkem 52 alb různých interpretů (Ray Charles, Frank Sinatra, Louis Armstrong, Celine Dion aj.), přičemž prodala celkem kolem dvou miliónů kusů chráněných CD.
Jak tato ochrana fungovala? Po prvním vložení CD s hudbou do počítače se zobrazily licenční podmínky EULA (End User Licence Agreement), s nimiž musel uživatel souhlasit (jinak se nedostal dál). 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 spouštění hudby přes jiné přehrávače než přes ten dodávaný od firmy Sony.
V čem byl zádrhel daného problému? (Pokud si odmyslíme problém: zkusili jste někdy vrátit v obchodě rozbalené CD s tím, že "nesouhlasíte s licenčními podmínkami"?) Především licenční podmínky nebyly úplně a pravdivě napsané. Například upozornily, že hudbu z CD není možné přehrávat bez instalace přiloženého ochranného programu. Čistě technicky to pravda není, protože multimediální přehrávač je dnes součástí prakticky každého operačního systému. Právně pochopitelně ano (musíte přistoupit na podmínky EULA, jinak se nedostanete dál). Problém byl v tom, že po tomto vynuceném souhlasu se do počítače instaloval nejen avizovaný software, ale i rootkit, který jej skryl.
Důsledek? Sony BMG chránila svá práva tím, že porušovala práva uživatelů: bez jejich vědomí na počítač instalovala rootkity (tedy nevyžádaný a v licenčních podmínkách nezmíněný software znovu opakujeme, že samotný rootkit slouží pouze/především ke skrývání, jiné úkoly zpravidla neplní). Rootkit z těchto CD skrýval v kernelovém módu veškeré soubory, jejichž název začínal znakovým řetězcem $sys$.
Instalovaný software navíc kontaktoval web společnosti Sony BMG, což sice není přímo škodlivá nebo nebezpečná vlastnost, ale dělo se tak opět bez souhlasu a vědomí uživatele. A ten má z mnoha titulů právo rozhodovat, kdy a kam se jeho počítač připojuje (jinak se jedná o prachobyčejné neoprávněné využívání cizích informačních technologií). Jde o právo, nikoliv povinnost, takže se ho může vědomě vzdát. V daném případě ovšem byl o toto právo připraven.
Kromě těchto základních problémů byla ovšem celá ochrana XCP ne zrovna šťastně navržena, takže díky rootkitem skrytým ochranným driverům nezřídka docházelo k "padání" PC nebo i ke ztrátě dat. A to je z hlediska uživatelů další nemilé zjištění. Podle některých zpráv dokonce ochrana XCP zasahuje i do přehrávání CD dalších výrobců, kdy při přehrávání skryté ochranné soubory vytváří nepravidelný šum. Pokud by se tyto zprávy potvrdily, jde o další problém omezení funkčnosti CD druhých stran (k omezení funkčnosti počítače už došlo).
Celá aféra kolem rootkitů byla odstartována 31. října 2005, kdy Mark Russinovich ze společnosti Winternals Software Inc. na svém blogu zveřejnil (http://www.sysinternals.com/blog/2005/10/sony-rootkits-and-digital-rights.html) informaci o tom, že pomocí nástroje RootkitRevealer odhalil rootkity právě na CD společnosti Sony BMG. Toto odhalení nebylo tak jednoduché: sám Russinovich přiznává, že k vyšetření celého případu musel použít sedm různých programů a aplikací! (Už z tohoto čísla je patrné, že vyhledávání a odstraňování rootkitů není nic pro běžného smrtelníka.)
Russinovich se nejprve domníval, že program RootkitRevealer obsahuje chybu sám je bezpečnostním specialistou (a spoluautorem tohoto programu), přičemž si byl "čistotou" svého počítače jistý. Používal jen legální programy, měl instalované všechny ochranné aplikace, navštěvoval jen důvěryhodné stránky apod. A přesto se u něj v počítači objevil rootkit! Dlouho předlouho pátral, až jednoho dne vložil do počítače CD Get Right with the Man od bratrů van Zantových. A ztuhl: CD po souhlasu s licenčními podmínkami do počítače instalovalo nejen dva drivery k vypalovačce a jednu NT službu, ale i rootkit, který je okamžitě skryl.
Právě 31. říjen 2005 je považovaný za počátek celého problému s "infikovanými" CD, ale kupodivu tomu tak není. Rootkity na CD od Sony BMG totiž objevil nejen Russinovich, ale nezávisle na něm také John Guarino (vlastník společnosti TecAngels, zabývající se opravami počítačů). A podle všeho ještě dříve (v září 2005). Postupoval ale jinak než Russinovich. Guarino upozornil finskou společnost F-Secure, která provedla vlastní nezávislé šetření a v průběhu října 2005 upozornila firmu Sony na nebezpečí rootkitu. Situaci označila za "závažnou bezpečnostní hrozbu". (Podle některých informací Guarino upozornil i jiné bezpečnostní firmy, ale ty jeho varování buď bagatelizovaly, nebo se jím vůbec nezabývaly.)
F-Secure dále varoval společnost First4Internet, což je britská firma, která rootkit pro Sony vytvořila (a která dodává své ochranné prvky i dalším nahrávacím a distribučním společnostem). Stanovisko First4Internet bylo neuvěřitelné: 20. října 2005 se společnost vyjádřila, že nejde o skutečný problém, protože jen hrstka lidí si je této zranitelnosti vědoma! Stanovisko Sony bylo podobné: zatím není nejmenší důvod se znepokojovat nebo věc řešit, nová ochrana bude k dispozici nejdříve v průběhu roku 2006. Současná CD nejsou nebezpečná a Sony BMG vysloveně uvedla, že je nebude stahovat z prodeje.
Později to firma popřela: tvrdila, že chtěla záležitost řešit pomocí veřejné záplaty. Kdy tak hodlala učinit ovšem nebyla schopna sdělit. Stejně jako další okolnosti: třeba proč dále vyráběla, distribuovala a prodávala problematická CD (ač byla varována).
Těžko předpovídat, jak by celá záležitost skončila, pak se ale objevil Russinovich se svým odhalením a džin byl z láhve venku.
Mlžení, mlžení, mlžení
Sony BMG na svém stanovisku stále trvala. Je zajímavé, že i bezpečnostní firmy (kromě F-Secure) s jasným stanoviskem váhaly a zpravidla se omezovaly na opatrné komentáře "bedlivě sledujeme situaci" nebo "prozatím nemáme dostatek relevantních informací".
Až pod tlakem veřejnosti a rozrůstající se aférou slíbila 14. listopadu 2005 firma Sony BMG bezplatnou výměnu všech infikovaných CD. Firma zároveň v rámci záchranné PR kampaně přislíbila, že dva až pět miliónů dalších CD (čísla nezveřejnila, toto jsou jen odhady z různých zdrojů) stáhne z obchodů. Mnozí slavili vítězství ale ještě po několika týdnech bylo infikované disky možné zakoupit v kamenných obchodech nebo na internetu. Mnohé obchody o nějakém stahování z prodeje neměly ani ponětí.
Sony BMG nicméně držela svoji linii (přestože kolem desátého listopadu začaly i bezpečnostní firmy houfně rootkity odsuzovat a označovat jako škodlivý software a to včetně Microsoftu) a celý problém se snažila zahrát do autu. Sice na svých www stránkách nabídla odinstalátor rootkitu, ale uváděla, že "[rootkit] není škodlivý a neohrožuje bezpečnost". První polovina tvrzení je s přimhouřenýma očima pravdivá, druhá v žádném případě. Viz konstatování výše: jakmile máte rootkit v počítači, můžete do něj cokoliv skrýt. Rootkit přináší do počítače prvek, nad kterým uživatel nemá faktickou moc a kontrolu (navíc bez jeho vědomí).
Pak se ale začaly objevovat škodlivé kódy, který začaly rootkit XCP zneužívat vždyť celosvětově jím bylo "infikováno" kolem miliónu počítačů (jen k www stránkám Sony BMG se připojovalo 568 200 unikátních nameserverů). Tvůrci virů začali programovat kódy, které výhod rootkitu využívaly: třeba trojský kůň Stinx.E, který do počítače přišel e-mailem s žádostí o "autorizaci" přiložené fotografie. Kdo se nechal napálit (inu, sociální inženýrství funguje s tím nic nenaděláme) a přílohu spustil, infikoval svůj počítač. Škodlivý kód se zapsal na pevný disk pod názvem $sys$drv.exe, takže se díky rootkitu stal neviditelným (i pro bezpečnostní aplikace). Útočníci pak pomocí Stinxu.E mohli dělat s počítačem různé kejkle, aniž by se báli odhalení. (A jen pro úplnost: přestože některé antivirové firmy tvrdí, že dokáží odhalit devadesát procent nových škodlivých kódů pomocí heuristiky, není tomu tak. Za úspěch se považuje plus minus padesát procent. To je odpověď na otázku, jak se Stinx.E mohl dostat do počítače. Dnešní heuristické metody stále nejsou na vysoké úrovni mnohem účinnější je třeba automatické blokování podezřelých přípon.)
Po těchto událostech už nebylo možné tvrdit, že rootkit nepředstavuje bezpečnostní riziko. Naopak, útočníci získali v této aplikaci neuvěřitelně silného spojence.
Vraťme se ale zpět k rootkitu od Sony BMG, resp. k jeho odinstalátoru. Ten byl totiž vytvořený stejně mizerně jako vlastní rootkit nástroj měl podobu komponenty ActiveX, instalované do prohlížeče Internet Explorer, ale obsahoval bezpečnostní chyby. A důsledek? Prvek ActiveX byl nebezpečnější než vlastní rootkit...
Na toto přišel John "Alex" Halderman, 24letý výzkumník z univerzity v Princetonu. Ten se už jednou "setkal" se společností Sony BMG, a to v roce 2003. Tehdy zjistil, že protikopírovací ochrana DRM MediaMax obsahuje podobný problém jako ten, jenž se vyskytuje nyní. Využívala funkci AutoRun, kdy docházelo ke spuštění softwaru umístěného na CD bez vědomí uživatele a to opět na úrovni kernelového módu! Tenkrát naštěstí ještě bez instalace čehokoliv do počítače prostě šlo jen o zabránění kopírování. (Tento případ svědčí o skutečnosti, že hrátky s kernelovým módem nejsou v případě snahy o vymáhání autorských práv vůbec ničím novým...)
Halderman zveřejnil svůj objev v roce 2003 na internetu, přičemž během 24 hodin měl na stole hrozbu žalobou od společnosti SunnComm International (výrobce ochrany DRM), která od něj hodlala požadovat odškodné ve výši 10 mil. USD. Zvedla se však vlna veřejného odporu a během dalších 24 hodin byla hrozba stažena s tím, že firma zaujala pozici "mrtvého brouka". Nic nedělala, nic nekomentovala.
A ještě jedna perlička: pro získání odinstalátoru z webových stránek Sony BMG musel uživatel vyplnit formulář se svými osobními údaji, které "mohou být použity společností Sony BMG a [nespecifikovanými] třetími stranami".
Osmnáctého listopadu 2005 pak firma Sony BMG veřejně přislíbila dodání nového odinstalátoru ovšem nikterak nespěchala, protože jí to trvalo několik týdnů. Nicméně stále zůstává v platnosti varování, že běžný uživatel by neměl pokoušet štěstí a do odstranění rootkitu by se neměl pouštět svépomocí (byť s připravenými nástroji). Riziko neopravitelného poškození operačního systému je příliš velké. Většina návodů na odstranění rootkitu větší než vysokou znalost problematiky vyžaduje.
Na obranu společnosti Sony BMG, které celý skandál pomalu začínal přerůstat přes hlavu a které se vymstilo přehlížení varování i počáteční (těžko soudit, zda záměrné či ne) podceňování problému, vystoupil 18. listopadu 2005 i Cary Sherman, prezident RIAA: "Problém se situací v Sony BMG spočívá v tom, že tato technologie obsahuje bezpečnostní chybu, o které nevěděli. Omluvili se za svoji chybu, přestali vyrábět tato CD a stáhli je z obchodů. To je myslím velmi odpovědné. Kolikrát ostatně měly softwarové aplikace nějaké bezpečnostní problémy?"
Tím ale jen přilil olej do ohně. Za prvé: v případě rootkitu nešlo o žádnou chybu, šlo o celou potenciálně nebezpečnou technologii, instalovanou do počítačů bez vědomí uživatelů. Za druhé: Sony se neomluvila a se stahováním CD z obchodů vůbec nepospíchala (blížila se předvánoční doba) viz výše. Nejblíže omluvě či spíše přiznání mělo snad být prohlášení: "[Rootkit] obsahuje vlastnost, která činí počítač náchylným ke škodlivým kódům napsaným speciálně pro tento software." Za třetí: žádná komerční (ani nekomerční) softwarová aplikace neměla nikdy problémy podobného charakteru.
Jen pro úplnost dodáváme, že CD s problematickou ochranou nebyly v ČR oficiálně distribuovány. To ale neznamená, že v našich zeměpisných šířkách být nemohou: v západní Evropě v prodeji byly, takže mohly být přivezené za zahraničí jako dárek nebo koupené prostřednictvím internetových obchodů.
Lavina reakcí
Množství reakcí a komentářů na adresu rootkitů bylo obrovské. Mezi nimi byl i dnes už legendární citát Thomase Hesse, prezidenta divize pro globální digitální obchod v Sony BMG: "Většina lidí, myslím, vůbec netuší, co rootkit je, takže proč by se o ně měli zajímat?" Mnozí nevěřili svým uším nicméně tento citát přesně odpovídal situaci, do níž se Sony BMG sama dostala.
Hess měl ovšem částečně pravdu: ne že by se sice lidé o nebezpečí, přinášené do jejich počítačů s komerčními CD od jeho zaměstnavatele, neměli zajímat, ale skutečně toho o něm mnoho nevědí. Bez větší nadsázky můžeme říci, že tato skutečnost Sony BMG velmi pomohla: kdyby si veřejnost uvědomila skutečný rozsah nebezpečí, byly by následky pro firmu vpravdě zničující. Takto se často z neznalosti na rootkity pohlíží jako na "nebezpečnější virus", na "nafouknutou bublinu" apod.
Společnost Sony BMG také prohlásila, že "má právo zastavit ilegální kopírování hudby". To jí pochopitelně nikdo nebere ale rozhodně jí také nikdo nedává právo ilegální kopírování zastavovat ilegálními aktivitami. Nejabsurdnější na celé situaci ovšem je skutečnost, že postiženi byli výhradně lidé, kteří si hudbu pořídili legálně...
Díky těmto neuvěřitelným krokům je internet zaplavený výzvami k bojkotu Sony BMG. Komentáře se přitom vzácně shodují na jednom: jak si může někdo něco podobného dovolit? (Kdyby něco podobného udělal uhrovitý mladíček, hrající si na hackera, byl by veřejně lynčován.) Jak máme této firmě do budoucna věřit? Nebude snad nikdo za jeden z největších bezpečnostních incidentů v historii informatiky povolaný k zodpovědnosti? Ať dopadnou současné právní spory (viz níže) jakkoliv, instalace rootkitů bez vědomí uživatelů do počítačů rozhodně není v pořádku. I kdyby "jen" z etického hlediska.
Někdo přitom celou situaci posouvá do obecné roviny: je firma Sony jediná? (Viz výše zmíněná fakta, že First4Internet dodává ochranu i dalším výrobcům nebo že se s kernelovým módem v oblasti komerční hudby prokazatelně experimentuje už několik let.) Jaká překvapení se asi skrývají v počítačích, o kterých se domníváme, že jsou bezpečné?
Na základě žádosti nadace Electronic Frontier Foundation byl u Sony BMG proveden v prosinci 2005 bezpečnostní audit. U nejnovější generace ochrany MediaMax pak byla zjištěna nebezpečná složka, díky níž může útočník převzít kontrolu. Její nebezpečnost ovšem ani zdaleka nedosahovala nebezpečnosti rootkitů. Ke cti Sony BMG posloužilo, že tentokrát byla reakce rychlejší a méně arogantní: záplata se na webu objevila prakticky okamžitě. Nicméně i tentokrát se v opravě objevila další bezpečnostní chyba... Jen pro úplnost: ochrana MediaMax se používá asi u osmdesáti titulů (např. CD s interprety jako Elvis Presley či Britney Spears). Vyprodukováno bylo kolem šesti miliónů CD, určených pro prodej v USA a v Kanadě.
Celá situace pochopitelně nemohla zvláště v USA, zemi tradičně citlivé na ochranu soukromí a osobních práv zůstat bez právní odezvy. Obvinění na Sony BMG se jen hrnou. Žalobu podal třeba generální prokurátor státu Texas Greg Abbott. Podle zákonů státu Texas přitom může být vyměřena za každý infikovaný počítač pokuta až sto tisíc dolarů! Bude zajímavé sledovat, jaký převládne právní názor zda má Sony BMG v zájmu ochrany svých práv právo zasahovat do práv uživatelů, nebo zda budou i na soudní půdě rootkity označené za nebezpečné a nežádoucí. Texas ale není jediným státem USA, kde byla podána žaloba: za všechny ostatní jmenujme třeba New York nebo Kalifornii...
Více otázek než odpovědí
V případě "causy rootkity" ovšem nešlo pouze o neuvěřitelnou blamáž ze strany společnosti Sony BMG. Jednoznačně selhal také celý bezpečnostní průmysl, který neustále nabízí "stoprocentní řešení", "absolutní ochranu", "jistotu rychlé a včasné reakce" apod.
Proč tento průmysl po celých sedm měsíců distribuce infikovaných CD ve statisícových nákladech nereagoval? Sedm měsíců se po světě běžně šířilo něco, co je označováno jako "největší nebezpečí pro počítače" aniž by si toho někdo povšiml nebo někdo něco detekoval. To je opravdu nebezpečí tak extrémní, že se mu nejsme schopni postavit čelem? (Někteří komentátoři šli ještě dále: proč vůbec platíme bezpečnostní firmy, jejich výrobky a služby? Nejsou naše výdaje zcela zbytečné? Jsou tyto firmy vůbec schopné plnit svoji proklamovanou roli?)
Pro jasnější pochopení celého problému musíme jít trochu do hloubky. Musíme se podívat na princip fungování současných bezpečnostních firem v oblasti informačních a komunikačních technologií. Kde získávají bezpečnostní firmy informace o nových hrozbách? V zásadě jsou to dva základní zdroje: jednak zprávy od zákazníků nebo běžných uživatelů o podezřelé činnosti, jednak z vlastní výzkumné a vyhledávací činnosti (odchytávání podezřelých kódů). Proto jsou detekovány především "migrující" kódy, které se replikují (šíří), a nikoliv statické aplikace, které se nemnoží a nešíří. Ty jsou svým způsobem pro bezpečnostní firmy noční můrou stávající detekční metody na ně prostě nejsou nastavené.
Mnoho bezpečnostních firem se snažilo v závěru roku 2005 (ne)detekci rootkitů bagatelizovat: "Od zítřka budeme obcházet obchody, skupovat CD a prověřovat je." To je sice vtipné, ale problém to neřeší. Třeba proto, že obchody měly obcházet už včera. Také proto, že případné obcházení obchodů vnáší do stávající bezpečnosti prvek náhody: v našem současném přístupu k zajištění bezpečnosti ICT technologií jsou evidentně mezery. Smutný je mj. fakt, že přestože rootkity "Made in Sony BMG" byly na mnoha počítačích objeveny už v průběhu roku 2005, bezpečnostní specialisté se vždy nad infikovaným počítačem spokojili s konstatováním, že "uživatel se choval nezodpovědně". Pokud se tento zapřísahal, že si ničeho špatného není vědom (přehrání legálního CD od renomované firmy přece nelze považovat za nezodpovědnost), konstatovali, že buď záměrně mlží (aby na něj nepadla zodpovědnost), nebo že si špatně zajistil přístup k počítači (a nezodpovědně se na něm choval někdo jiný). A to navzdory faktu, že v některých komponentách byl přímo uveden odkaz na výrobce First4Internet!
Bezpečnostní firmy se brání také tím, že v případě rootkitů jde o problém poměrně nový Russinovichovo datum se jim náramně hodí do krámu. Ale to vůbec není pravda viz třeba výše uvedený pohled do historie. Rootové techniky jsou známé už od osmdesátých let, rootkity v dnešní podobě pak nejméně od roku 2003. Byla zde tedy spousta času se připravit a reagovat. Kde byli po celou tuto dobu analytici, "aktivně vyhledávající nové hrozby a navrhující řešení, které jim předchází?" (Jak se nám podbízí spousta marketingových materiálů bezpečnostních firem...)
Na obranu bezpečnostního průmyslu je zapotřebí zdůraznit, že rootkit je fakticky "nad" antivirovým programem či jinými bezpečnostními aplikacemi takže rootkit je de facto může ovládat a podsouvat jim jen ty informace, které chce. To ale není absolutní omluva s tím, že by se nic nemělo dělat a že nás rootkity mohou ohrožovat. Jak svědčí případy některých specializovaných aplikací, otázka rootkitů je řešitelná stačí jen chtít a problém řešit.
Přestože se díky případu Sony BMG opět ozývalo volání po přechodu na linuxové platformy, není to řešení problému. Byť se přímo tato konkrétní kauza týkala především (nikoliv výhradně!) uživatelů Windows, ani Linux není před těmito útoky bezpečný. Stačí se podívat, na jaké platformě před dvaceti let rootové útoky vznikly...
CD s ochranou XCP se dostala na nejneuvěřitelnější místa rootkity byla infikována třeba mnohá americká ministerstva, včetně Pentagonu. Jejich počítače se tak staly zranitelnější vůči možným útokům, což rozhodně není v pořádku a v nejbližší době lze očekávat další vývoj celého případu. Třeba v podobě přitvrzení legislativy nebo bezpečnostní politiky (včetně možnosti zákazu přehrávat si legální hudbu na počítačích na jedné straně jsou sice určené primárně k práci, takže zde multimediální zábava nemá co pohledávat, na druhé straně je úžasné, že snaha chránit copyrightová práva jedné firmy vede k zákazům legální hudby jako takové a kromě toho dochází ke zpochybnění bezpečnosti komerčně dodávaných aplikací vůbec).
V podstatě se jednalo o jednu z největších masových infiltrací v dějinách počítačů vůbec. Celou situaci ještě zhoršuje fakt, že šlo o komerční aplikaci a infiltraci záměrnou!
Zajímavé je, že podle některých zdrojů část softwaru XCP, který je primárně určený k ochraně autorských práv, autorská práva porušuje! Prý se v přehrávači od Sony objevují části programového kódu MP3 přehrávače LAME, který je ovšem open source! A údajně je další open source kód použitý i v samotném rootkitu! Otázka těchto podezření ale nebyla v době uzávěrky PC WORLDu uspokojivě vyřešena.
Objevuje se ovšem ještě jedna zajímavá otázka: jak by vypadala situace, kdyby se jako Sony BMG chovala každá firma? ("Kdyby" je sice zvláštní podmínka, ale tato společnost zkrátka není jediná na trhu a stejně tak není jediná, která se snaží ochránit svá práva.) Dva rootkity v počítači by mohly navzájem kolidovat (už třeba proto, že by se s vysokou mírou pravděpodobnosti vázaly na stejné funkce používání vypalovačky a/nebo přehrávání multimediálních formátů), což by v lepším případě vedlo k nemožnosti přehrávání hudby, v horším k totálnímu kolapsu systému. I z tohoto hlediska je ochrana XCP krajně nezodpovědným krokem.
Už výše jsme se zmiňovali o rootkitech v souvislosti s on-line hrou World of Warcraft. Díky ochraně XCP se cheatování v této hře přitom velmi rozšířilo a údajně odcházejí i mnozí znechucení uživatelé, kteří se snaží hrát poctivě, ale proti podvodníkům nemají šanci. Rootkity se totiž staly jednoduše veřejně dostupné. Např. hacker říkající si RIN0 nabízí za 14,99 USD cheatovací program a přikládá návod, jak ho skrýt v systému. Nejprve si kupte infikované CD s ochranou XCP a nainstalujte ji do počítače. Pak si stáhněte cheatovací program, umístěte jej na disk a přejmenujte na cokoliv, co začíná řetězcem $sys$. Nikdo už jej nikdy neuvidí a nenajde a přesto jej můžete používat...
A co dál?
Budoucí vývoj je v této chvíli těžké odhadovat. Rootkity zkrátka nastoupily cestu k masovému rozšíření. Kromě jiného to znamená, že se před nimi nemůžeme schovávat problém je veřejně známý a je nutné ho řešit. Když už nic jiného, otevřela kauza rootkitů a Sony BMG mnoho důležitých otázek: ohledně autorských práv a hranice jejich vymahatelnosti, ohledně zodpovědnosti v ICT světě i ohledně naší schopnosti zajistit bezpečnost počítačů vůbec...
Co to jsou rootkity?
Především si pojďme osvětlit, co to vlastně rootkity (anglicky rootkits) jsou. Jejich název je odvozen od slova "root" (základ) což je označení superuživatele v unixové rodině operačních systémů.
Kdysi (v osmdesátých letech) totiž hackeři útočili mj. tak, že do napadeného počítače instalovali speciální program, který jim umožňovat se následně vracet právě s rootovými právy. Rootkit je pak označení dnešních podobných programů, které slouží útočníkům pro získávání nejvyšších práv v operačním systému (resp. které jim jsou 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ů, třeba až po síťová připojení. Jedná se o rozhraní API (Application Programmer Interface). 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 modifikováno. Jinými slovy: rootkit mění způsob, jak 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 volaný spyware a následně je kontrola znovu vrácena 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 varování antivirovým nebo antispywarový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 jde tento 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 prostě 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 celý operační systém pracuje.
Rootkit tak může skrýt sám sebe, může se navázat na určité funkce, skrýt další aplikace, soubory, adresáře, registry, procesy apod. S trochou nadsázky lze říci, že pokud rootkit o něčem prohlásí, že neexistuje tak to navenek opravdu neexistuje. Ve skutečnosti to ale existuje, a jen rootkit ví, kde.
Na úrovni operačního systému pak rozlišujeme dva základní módy: uživatelský a kernelový. Největší rozdíl mezi nimi spočívá v přístupových právech. Zatímco uživatelský je striktně omezený a může se pohybovat jen ve velmi úzkých mantinelech, kernelový je fakticky neomezený. Má přístup k celé paměti. V jeho rámci je možné přepsat/modifikovat/smazat kterýkoliv blok paměti nebo část dat v ní uložených. Tato segregace znamená třeba v případě operačních systémů Windows XP výrazně větší bezpečnost než v případě dřívějších Win 9X.
Kernelový mód přitom využívá právě a jen operační systém administrátor či uživatel se v praxi liší jen volností v uživatelském módu. Samozřejmě, že i v uživatelském módu lze provést celou řadu nekorektních či škodlivých věcí (a dnešní útočné programy to pochopitelně často dělají), ale nikdy ne tolik (a tak jednoduše) jako v módu kernelovém. Pochopitelným cílem a snem každého útočníka je získání práv ke kernelovému módu: nemusí se jakkoliv omezovat, nemusí nic složitě vymýšlet, nemusí utíkat před bezpečnostními programy, nemusí hledat nové tipy, triky, technologie...
Rootkity umožňující přístup ke kernelovému módu dnes existují pro operační systémy Windows, Linux, Mac OS či třeba Solaris. Problém tedy není otázkou některé z platforem, ale otázkou celkové koncepce našich stávajících informačních technologií. (Jen pro úplnost dodáváme, že případ tvořící hlavní obsah tohoto článku, tedy rootkit na CD od společnosti Sony BMG, představoval hrozbu především pro uživatele systému Windows, v menší míře pro Mac OS. Pro Linux byl neškodný. Ale tento stav nelze paušalizovat!)
Na úvod ještě podotýkáme, že vytvořit rootkit není vůbec nic jednoduchého a vyžaduje to skutečně hluboké znalosti problematiky softwaru, hardwaru apod. Na druhé straně je ale na internetu možné nalézt mnoho "studijních" rootkitů i se zdrojovými kódy, přičemž jejich zkopírování, mírné upravení a kompilace rozhodně nejsou úkolem neřešitelným...
Rootkity v bezpečnostních programech?
V lednu 2006 se objevily zprávy, že i některé bezpečnostní programy, jejichž cílem je chránit počítače, využívají ke své činnosti rootkity. V případě, že by to byla pravda, šlo by o nesmírně závažné obvinění, protože by znamenalo, že bezpečnostní firmy využívají techniky, o nichž stále hlásají, že proti nim bojují... Jak to tedy ve skutečnosti je?
Vznesené obvinění se týká dvou firem: Symantec a Kaspersky Lab. Podívejme se na oba případy odděleně, protože je sice spojuje obvinění, ale podrobnosti obou případů jsou dosti odlišné.
V Symantecu se obvinění týká aplikace Norton Systemworks, která vytváří funkci Protected Recycle Bin (Chráněný odpadkový koš). Ta umožňuje uživateli např. obnovit soubory, které nechtěně smazal. Aplikace vyváří adresář c: ecycler protect, který je ovšem rootkitovými technikami pro běžného uživatele neviditelný. Podobně neviditelný přitom je i pro většinu antivirových aplikací takže teoreticky by mohla tato složka být využita ke skrytí škodlivých kódů. Ale dosud se neobjevil žádný malware, který by této vlastnosti zneužíval. A už se ani neobjeví Symantec reagoval na obvinění velmi promptně, a to tak, že technologii upravil, aby vyloučil i teoretickou možnost jejího zneužití škodlivými kódy.
Rozdíl oproti medializované kauze Sony BMG je však v jedné podstatné věci: rootkitová technologie od Symantecu není skrytá a v licenčních podmínkách je zmíněna. Takže se do počítače nedostává žádný software bez vědomí uživatele. Kromě toho lze tuto technologii vypnout nebo velmi snadno odinstalovat což se o rootkitech od Sony BMG rozhodně říci nedá.
Společnost Kaspersky Lab zase byla obviněna Markem Russinovichem (ano, je to tatáž osoba, která jako první zveřejnila informaci o rootkitech na CD od společnosti Sony BMG), že její produkt Kaspersky Anti-Virus 5.x využívá streamy pod souborovým systémem NTFS. To je datová oblast za každým souborem na pevném disku, do které si aplikace zapisuje podrobnosti o testování příslušného souboru, což v konečném důsledku vede k radikálnímu zvýšení rychlosti testování celého počítače. Program již nemusí provádět kompletní kontrolu každého souboru, ale porovnává aktuální stav se stavem uloženým ve streamu a jen v případě jakýchkoliv změn je provedena kontrola úplná. Streamy jsou přitom pro uživatele a další aplikace neviditelné, pokud je antivirový program aktivní.
Situace je ovšem velmi podobná jako v předchozím případě: o využívání technologie iStreams je uživatel informován. Podobně jako Symantec i společnost Kaspersky Lab na situaci reagovala a oznámila, že od této technologie v příštích verzích svého softwaru upustí. Firma navíc zdůrazňuje, že:
- Pokud je její antivirový program aktivní, streamy jsou skryté a žádný proces (včetně těch ovládaných operačním systémem) k nim nemá přístup.
- Pokud je antivirový program neaktivní, streamy jsou bez jakýchkoliv potíží viditelné pomocí všech standardních prostředků sloužících k operacím s NTFS streamy.
- Pokud by antivirovým programem vytvořený a skrytý stream byl přepsaný nebo upravený nějakým (nejspíše škodlivým) programem nebo daty (např. po rebootování počítače v nouzovém režimu), pak při následujícím normálním spuštění počítače dojde ke kontrole těchto dat antivirovým programem. A jelikož budou zjištěny nesrovnalosti, budou tato vetřelecká data smazána a nahrazena korektními.
Podtrženo, sečteno: jak už je uvedeno v hlavním článku, samotné rootkity jsou jen technologie, samy o sobě nejsou nebezpečné. Nebezpečí představuje jejich zneužití a především nelegální a masová instalace do počítačů...
Zdarma: Nástroje proti rootkitům
Blacklight 2.2 Beta www.f-secure.com/blacklight (611 KB) anglický
Ice Sword 1.12 xfocus.net/tools/200509/1085.html (568 KB) anglický
Rootkit Hook Analyzer 1.01 www.resplendence.com/hookanalyzer (1 MB) anglický
RootkitRevealer www.sysinternals.com/Utilities/RootkitRevealer.html (190 KB) anglický
Windows Antispyware Beta www.microsoft.com/cze/security/spyware/software/default.mspx (6,6 MB) anglický
Nástroj pro odstranění škodlivého softwaru 1.12 www.microsoft.com/cze/security/malwareremove/default.mspx (1,1 MB) anglický