Případ virového útoku, který se vůbec nestal

1. 1. 2002

Sdílet

Podezřelé skenování portů způsobilo poplach, ale nakonec se ukázalo, že za všechno mohou nekorektně se chovající a...
Podezřelé skenování portů způsobilo poplach, ale nakonec se ukázalo, že za
všechno mohou nekorektně se chovající aplikace.
Zatímco jsem na venkově v klidu snil o dobře zabezpečené síti, vyrušil mne
mobilní telefon. Volal někdo z kanceláře. Vzal jsem si na několik dní volno a
snažil jsem se nečíst e-maily a nekontrolovat, co se v mém týmu děje. Tento
hovor mi dal záminku, abych zjistil, jak se věci mají.
Zaměstnanci mi volali, aby zjistili, zda správně reagovali na jeden incident.
Máme skript, který v pravidelných intervalech analyzuje log soubory našeho
firewallu a snaží se identifikovat jakékoli změny ve vzorech chování. Výsledky
analýzy jsou následně porovnávány s naším systémem, který má za úkol zjistit
případný průnik do sítě (IDS intrusion-detection system). Běžně výstupy onoho
skriptu kontroluji sám, ale protože jsem byl mimo pracoviště, museli se toho
ujmout jiní zaměstnanci.
Poslední zpráva byla plná záznamů o zablokovaných pokusech o připojení. Jsme
zvyklí na spoustu podobných pokusů, které přicházejí z internetu, ale v tomto
případě byl důvod k obavám, neboť ony pokusy přicházely zevnitř.
Pracovníci našeho bezpečnostního oddělení byli rozrušeni podezřením, že patrně
zjistili v síti nějakého nového červa nebo virus. Provedli podrobnou analýzu
chování pracovních stanic a zjistili, že se mnoho počítačů snaží připojit k
několika externím strojům. Několik vnitřních počítačů se zřejmě také pokoušelo
o postupné skenování portů. Podle tohoto chování se zdálo, že byla spousta
našich počítačů infikována nějakým virem, který se snažil připojit k nějakému
centrálnímu počítači a stáhnout zbylou část svého kódu a poté se rozšířit na
další stroje. Naše ochranné mechanismy fungovaly alespoň částečně. Firewall
blokoval stažení zbytku kódu na většině infikovaných strojů, a virus se tak
marně pokoušel stále znovu a znovu o jeho stažení. Několika kopiím se však
zřejmě podařilo zkompletovat a nyní se divoce snažily napadnout další počítače.
Jak to, že byly úspěšné ve stahování?

Hledáme virus
Jedna věc ale byla podivná. I přes sebevětší snahu se nikomu z mých kolegů
nepodařilo najít vzorek viru, který bychom mohli analyzovat. Neodhalili ho na
žádném ze strojů, z nichž útoky přicházely. Také zde neobjevili žádné aplikace,
které by tam nepatřily. A ani nebyli schopni přesně určit, co otevírá tak velký
počet síťových spojení.
Připomněl jsem kolegům firemní instrukce, jak postupovat v případě výskytu
viru. Udělali zaměstnanci všechny kroky, které by měli podniknout v případě
podezření, že jsme byli napadeni škodlivým kódem? Běžně izolujeme napadenou síť
odpojením kritických serverů, abychom zastavili šíření viru uvnitř firmy,
odložíme doručování příloh e-mailových souborů pro případ, že by se virus šířil
jejich prostřednictvím, a o těchto krocích vyrozumíme klíčové pracovníky
jednotlivých oddělení. Zjistil jsem, že všechna tato opatření již byla
realizována.
Diskutovali jsme o možnosti použít různé nástroje, abychom našli ony napadené
aplikace. Také jsem podřízené požádal, aby vystopovali systémy, ze kterých se
virus snažil stáhnout kód. Pokud by se nám tyto systémy podařilo odpojit, byli
bychom schopni nejen ochránit sebe v případě, že by virus našel cestu, jak
proniknout přes náš firewall, ale mohli bychom pomoci i jiným firmám. Navrhl
jsem pracovníkům, aby kontaktovali nejdůležitější dodavatele našich
bezpečnostních produktů a podívali se na www.incidents.org a zjistili názory
dalších lidí z oboru.

Čím dál tím hůř
Čím více do hloubky zaměstnanci bezpečnostního oddělení do problému pronikali,
tím hůře situace vypadala. Odhalili různé aplikace, které inicializovaly
spojení na různých desktopech, přitom se ale kontrolní součty (hodnoty
používané ke zjištění integrity souborů s programovým kódem) spustitelných
souborů shodovaly s těmi, které vykazovaly aplikace nově nainstalované z
originálních CD. Znamená to, že snad byla infikována již původní instalační
média a tento útok je jakousi časovanou bombou? Nebo byl snad virus dost
inteligentní na to, aby upravil kernel jádra operačního systému takovým
způsobem, že software používaný ke zjištění kontrolních součtů ukazuje nepravé
hodnoty? Obávali jsme se toho, že by se tento problém mohl stát velmi
nebezpečným. Jakým způsobem se zbavit nákazy, když nejste schopni zjistit
rozdíl mezi infikovanými a čistými aplikacemi?

Vyjasňuje se
Žádná jiná firma nehlásila výskyt stejných potíží. Ale zaměstnanci přesto
dospěli k nějakým jménům podezřelých: AvantGo a RealNetworks. Když je vyřkli,
přerušil jsem je a požádal, aby jména zopakovali. Teď jsem už věděl, proč
kontrolní součty souhlasily. S aplikacemi nebylo manipulováno jejich chování
odpovídalo tomu, jak byly navrženy. RealPlayer si sám stahuje aktualizace a
seznamy souborů k přehrávání, AvantGo stahuje nové položky, které mají být
nahrány na handheldy. Tohle jsou jen dva z případů mnohých aplikací, které
"volají domů", aniž by je o to uživatelé žádali nebo aby alespoň přesně věděli,
s čím vlastně souhlasili při jejich výchozí instalaci. Donedávna jsme
vyžadovali u všech prohlížečů, aby používaly k přístupu do internetu proxy, ale
dovolovali jsme některým aplikacích proxy server obejít a stahovat si
aktualizace přímo. Po útoku viru Nimda došlo ke změně a my jsme zablokovali
veškerý přístup k internetu mimo proxy servery. To vysvětlovalo ony počítače,
které se snažily připojit k vnějším serverům. Ale skenování portů nám zůstávalo
stále záhadou. Požádal jsem kolegy, aby mi zopakovali seznam anomálií, které
pozorovali. Zmínili se o tom, že postupné skenování nesměřovalo na různé porty,
jak jsem se domníval. Namísto toho se číslo zdrojového portu po krocích
zvyšovalo, ale cílovým portem byl vždy port 80.
To je opět běžné chování u některých špatně napsaných aplikací. Náš firewall
vracel chybovou stránku s vysvětlením, aby uživatelé použili nastavení proxy.
Když ony aplikace obdržely tuto chybovou stránku, věděly, že dostaly odezvu ta
však nebyla taková, jakou očekávaly, a proto se pokoušely o spojení znovu. Náš
webový server jim přiděloval při každém pokusu nový zdrojový port, a tato stále
se zvyšující hodnota v logu firewallu neunikla pozornosti kontroly, jelikož to
je typická známka skenování portů.
Než jsme si vyjasnili situaci, bylo pozdě večer. Náš bezpečnostní tým dostal
poučnou lekci, a tak má dobrý důvod k tomu, aby se příště v podobném případě
nenechal zbytečně unést.

Užitečné webové odkazy
Několik volně šiřitelných nástrojů pro kontrolu zabezpečení sítě naleznete na
webové stránce http://www.foundstone.com/knowledge/free_tools.html. Mj. se zde
nachází utilita Fport, kontrolující porty otevřené aplikacemi na serverech s
Windows NT.
Podrobné informace o produktu RealPlayer naleznete na adrese
http://www.real.com/realone/?src=realplayer.
Stránky rodiny produktů AvantGo se nacházejí na webu s adresou
http://avantgo.com/.