Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

Ovo je stara izmjena dokumenta!


Analiza Storm Worm napada

Sažetak

Zlonamjerni softveri su postojali jednako dugo kao i sam softveri. Međutim sa popularizacijom i širenjem interneta među generalnu populaciju brzina kojom se može proširi zlonamjerni softveri je zastrašujuća. Jedan od poznatijih virusa koji je iskoristio proširenost interneta za svoju propagaciju je Storm Worm. Glavni cilj Storm Worma je bio proizvesti veliku količinu nepoželjne e-mail pošte. Spomenuti mailovi bi imali lažne i šokantne naslove koji bi privukle ljude da otvore mail te preuzmu zaraženu datoteku koja je bila u prilogu poslanog maila. Nakon pokretanja maila Storm Worm bi zarazio žrtvino računalo. Jednom kada bi uspješno zarazio računalo Storm Worm bi krenuo slati mailove sa tog žrtvinog računala te bi se tako nastavio širiti. Međutim, za razliku od prijašnjih zlonamjernih softvera koji su se širili e-mailom, Storm Worm koristi nekoliko inovativnih ideja koje su mu omogućile daleko veći utjecaj i znatno otežali njegovo zaustavljanje. Jedna od inovativnih ideja je bila korištenje decentralizirane arhitekture za komunikaciju sa ostalim zaraženim računalima što je otežalo zaustavljanje virusa. Unatoč tome što je tijekom svog pojavljivanja 2007. godine bio odgovoran za 99% generirane nepoželjne e-mail pošte te što je uspio zaraziti 8% računala, danas više nije prijetnja.

Ključne riječi: Storm Worm, botnet, peer-to-peer, spam bot,

Uvod

Storm worm je zlonamjerni softver koji je prvotno primijećen 17.1.2007. Poznat je pod mnogim drugim imenima poput : Small.dam, CME-711, W32/Nuwar@MM, Troj/Dorf, Trojan.Peacomm, Win32/Nuwar, W32/Zhelatin i još mnogim drugim imenima, ali u ovom seminaru biti će referiran sa imenom Storm Worm. Također, bitno je ne pomiješati W32/Storm.worm i Storm Worm. W32/Storm.worm se pojavio u 2001. te je napao Microsoft IIS servere sa ciljem izvršavanja uskraćivanja usluga Microsofta [1]. W32/Storm.worm nije imao velike posljedice niti je napravio veliku štetu za razliku od Storm Worm koji je fokus ovog seminara. Storm Worm se širio preko e-mailova tako što bi privukao potencijalne žrtve sa drastičnim ili intrigirajućim naslovom. Neki od naslova su bili „postao ubojica sa 11 godina, sada opet na slobodi“, „FBI protiv Facebooka“, „Venecuelski vođa se sprema za rat“. Jedan od prvih naslova je sa kojim se Storm Worm pojavio je „230 mrtvih u Europi zbog oluje“, [2] upravo je zbog tog prvog naslova ovaj zlonamjerni softver dobio ime Storm worm. U priloga emaila se nalazila izvršna datoteka koju bi korisnik pokrenuo misleći da je ta datoteka neki video ili neki drugi relevantni dokument vezan za lažni naslov. Jednom kada bi korisnik pokrenuo izvršnu datoteku, Storm Worm bi uspostavio komunikaciju sa serverom koji je bio u vlasništvu autora virusa. Jednom kada se komunikacija uspostavljena korisnikovo računalo postaje dio mreže zaraženih računala (eng. botnet). Jednom kada se računalo zarazi autor zlonamjernog softvera može upravljati zaraženim računalom te mu slati naredbe putem internetske veze. Uz uspostavljanja komunikacije Storm Worm također instalira rootkit Win32.agent.dh. Rootkit daje administracijske privilegije zlonamjernom programu te zbog toga je detekcija Storm Worm bila otežana. Brzina širenja Storma Worma je bila toliko brza da samo 3 dana nakon prvog viđenja je bio odgovoran za 8% zlonamjernih infekcija globalno te je bio odgovoran za 99% spama globalno. [3]. Navodno na vrhuncu zaraženosti, broj naredba po sekundi svih zaraženih računala je bio veći od nekih super računala. Storm Worm se toliko brzo širio da su neke države u strahu od infekcije privremeno isključile sa interneta [5]. Autori virusa nisu pronađeni, ali postoje sumnje da je Storm Worm ruskog porijekla jer je korištena domena virusa pripadala zloglasnoj ruskoj organizaciji „Russian Business Network“ koja je poznata po iznajmljivanju svojih servera cyber kriminalcima. Također, pri pokušaju obrnutog inženjeringa izvornog koda Storm Worma, pronađene su ruske riječi [6].

Inovacije Storm Worma

Storm Worm definitivno nije bio prvi zlonamjerni softver koji bi zarazio računalo te ga zatim priključio u mrežu ostalih zaraženih računala. Međutim, autori Storm Worma su koristili nekoliko inovativnih ideja kako bi učinili zaustavljanje Storm Worma teže. U sljedećim poglavljima biti će proučene i objašnjene inovativne ideje koje je Storm Worm koristio.

Prijašnje arhitekture

Zlonamjerni softveri prije Storm Worma su koristili potpuno drugačiju arhitekturu tj. koristili su model klijent-poslužitelj (eng. Client-server model). Sljedeća slika prikazuje spomenutu arhitekturu klijent-poslužitelj.

Model klijent-poslužitelj

Osnovna ideja ovakve arhitekture je da postoji jedan ili nekoliko servera koji koordiniraju i šalju naredbe klijentima. U ovom slučaju klijenti su zaražena računala. Zlonamjerni softveri koji su koristili ovakvu arhitekturu su obično u vlastitom izvornom kodu imali zapisano IP servera na koji se trebaju spojiti jednom kada uspješno zaraze žrtvu. Serveri koji su koordinirali ovakve napadane su se često nazivali C&C serveri (engl. command and control server). Autor zlonamjernog softvera bi se spojio na server te njemu poslao naredbu koji bi zatim server proslijedio svim ostalim klijentima, primjer jedne od poruka bi bio „:herder!herder@example.com TOPIC #channel DDoS www.victim.com“. Nakon što bi zaraženi klijenti primili poruku počeli bi slanje zahtjeva prema www.victim.com [7]. Opisan način napada je relativno jednostavno zaustaviti jer samo je potrebno pogledati IP adresu od servera s kojim zaražena računala komuniciraju. Jednom kada se otkrije IP od C&C servera potrebno ga je ugasiti što je moguće sa protu-DDos (engl. Denial-of-service attack) napadom ili ako server pripada nekoj javnoj organizaciji koja iznajmljuje servere moguće ju je jednostavno obavijesti o situaciji te na taj način ugasiti server. Jednom kada je server ugašen napadi će prestati jer više zaraženi klijenti više ne mogu komunicirati sa serverom te ne mogu izvršavati nove naredbe koje bi im autor zlonamjernog softvera poslao.

Nova arhitektura

Storm worm ne koristi klijent-poslužitelj upravo zbog navedenih mana. Arhitektura koju Storm Worm koristi se naziva peer-to-peer, također često skraćeno zvana P2P mreža. Umjesto komunikacije sa centralnim serverom, zaražena računala istovremeno imaju ulogu klijenta i servera tj. zaražena računala istovremeno mogu izvoditi naredbe, ali ih i prosljeđivati i slati ostalim zaraženim računalima. Sljedeća slika pokazuje spomenutu peer-to-peer arhitekturu.

Model peer-to-peer

Sa ovakvom arhitekturom ne postoji jedna točka ispada tj. ako se ugasi nekoliko zaraženih računala komunikacija će svejedno neometano nastaviti. Storm worm također bio jedan od prvih koji je koristio privatne ključeve kako bi osigurao da generirani internetski promet bude kriptiran i da samo ovlaštene osobe, tj. osobe koje imaju ispravan ključ mogu poslati naredbe zaraženim računalima. Upravo zbog navedenih privatnih ključeva bilo je moguće iznajmiti pristup Storm Worm zaraženoj mreži zainteresiranim kupcima tako da bi se generirao ključ koji bi samo radio na određenom dijelu Storm Worm zaražene mreže [8]. Zbog ovoga pretpostavlja se da je krajnji cilj autora Storm Worma zaraziti čim više računala kako bi imali čim veću mrežu zaraženih računala koju bi zatim prodavali ili iznajmljivali zainteresiranim skupinama te tako ostvarivali profit.

Aktivna nadogradnja i obrana

Još jedan od razloga zašto je bilo teško zaustaviti širenje Storma Worma je njegova mogućnost nadogradnje izvornog programskog koda tj. zaražena računala bi između sebe dijelila najnovije verzije Storm Worma. Ovakva mogućnost nadogradnje drastično je otežavala bilo kakve pokušaje zaustavljanja zlonamjernog softvera jer kada bi se pronašla neka slaba točka koja bi se potencijalno mogla iskoristiti za usporavanje ili zaustavljanje širenja, navedenu slabu točku bi autori mogli ispraviti te poslati poboljšanje svim zaraženim računalima. Mogućnost poboljšanja je očito vidljiva jer kasnije verzije Storm Worma su imale mogućnost detektirati da li se nalaze unutar virtualne mašine, jednom kada bi detektirao da uistinu nalazi u virtualnoj mašini jednostavno bi ušao u beskonačnu petlju te ne bi izveo svoj izvorni kod, ranije verzije ovakvu funkcionalnost nisu imale. Uz preuzimanje novih funkcionalnosti, Storm Worm bi preuzimao nove predloške mail-ova tj. naslovi koje bi Storm Worm generirao u svojim e-mailovima su se uvijek mijenjali zbog navedene mogućnosti konstantnog unaprijeđena softvera. Stoga zaražene mailove, nije bilo moguće prepoznati po nekom konstantnom naslovu. Također, naslovi bi uvijek pratiti aktualne događaje npr. Za vrijeme svjetskog nogometnog prvenstva slao bi naslove poput „program za praćenje nogometnog prvenstva“ [9], dok bi za novu godinu slao „sretna 2008. godina“ [10]. Uz sve navedene, Storm Worm je također imao i aktivne metode obrane, tj. u slučaju da je detektirao da ga se pokušava zaustaviti lansirao bi protu napad. Kao što je već spomenuto, Storm Worm je mogao detektirati ako se nalazi u virtualnoj mašini, također je promatrao procese koji se pokreću na korisničkom računalu. Neke verzije Storm Worm bi jednostavno ugasile procese koje bi smatrali potencijalno opasne npr. razne programe za ispravljanje pogrešaka (eng. debugger), antivirusne programe ili bilo kakve programe za dijagnostiku. Kasnije verzije Storm Worm ne bi ugasile proces nego bi prevarile operacijski sustav da umjesto procesa koji je korisnik pokrenuo, bi se zapravo pokrenuo neki drugi proces koji ne bi radio ništa, ali korisnik bi se zavarao i mislio da se uspješno pokrenuo njegov proces [11]. Uz upravo opisane lokalne načine obrane poput zaustavljanje pokretanja određenih procesa, Storm Worm je imao mogućnost automatiziranog DDoS napada u slučaju kada bi detektirao da ga netko pokušava razotkriti ili proučiti njegov izvorni kod [12]. Neke od kompanija protiv kojih je Storm Worm aktivirao DDoS protu napad su „SecureWorks“, „Artists Against 419“, „Spamhaus Project“ i brojni drugi.

Način rada Storm Worma

U prijašnjim poglavljima objašnjeno je objašnjeno je kako Storm Worm funkcionira na visokoj razini. Međutim, ovo poglavlje će se usredotočiti na detaljniji pregled izvornog koda Storm Worma.

Otpornost na ponovno pokretanje računala

Nakon što prevareni korisnik pokrene izvršnu datoteku koju je preuzeo iz emaila koji je poslao Storm Worm. Izvršna datoteka izvodi sljedeće akcije

  • Stvara kopiju izvršne datoteke naziva „spooldr.exe“
  • Modificira drajver (eng. driver) „tcpip.sys“
  • Stvara drajver „spooldr.sys“

Jednom kada se opisane akcije izvedu Storm Worm računalo postaje zaraženo te čak i nakon gašenja računala Storm Worm neće nestati zato što je Storm Worm modificirao drajver „tcpip“. Sljedeći puta kada korisnik upali računalo zaraženi drajver „tcpip.sys“ će stvoriti drajver „spooldr.sys“. Drajver „spooldr.sys“ ima istu razinu privilegije kao i sam operacijski sustav. Budući da „spooldr.sys“ ima visoku razinu privilegije, ima mogućnost osluškivati koji se procesi pokreću te u slučaju da detektira neželjeni proces može ga ugasiti, samo neki od procesa koje bi gasio su „watchdog.sys“ , „mpfirewall“, „wincom32.sys“, „AntivirusGolden.exe“, „SpyHunter.exe“, „PestTrap.exe“ i mnoge druge. Kao što je spomenuto u prijašnjem poglavlju glavna cilj gašenja procesa je otežavanje otkrivanja i otežavanje vršenja bilo kakve dijagnostike nad zareženim računalom.

Kontaktiranje drugih računala i slanje mailova

Jednom kada Storm Worm osigura otpornost na ponovno pokretanje računala pokreće se glavni dio koda čija je funkcija kontaktirati ostala zaražena računala i slanje mailova kako bi se Storm Worm dalje širio. Sljedeća slika prikazuje pregled spomenute logike na visokoj razini te će u nastavku biti objašnjena.

Logika izvornog koda Storm Worma

Kod započinje sa inicijalizacijom strukture zvane deskriptor sigurnosti (engl. Security descriptor). Deskriptor sigurnosti je objekt koji se koristi u Windows operacijskom sustavu kako bi se specificiralo koji procesi mogu pristupiti nekoj datoteci. Storm Worm inicijalizira privatni deskriptor sigurnosti sa kojim će stvoriti „spooldr.ini“ datoteku u sljedećem koraku. Spomenuti privatni deskriptor sigurnosti onemogućava bilo kojem drugom procesu ili korisniku da pogleda šta se nalazi unutar „spooldr.ini“. Inicijalno datoteka „spooldr.ini“ se stvara sa 290 tvrdo kodiran (engl. hardcoded) vršnjaka (engl. peer) koji će biti kasnije kontaktirani. Navedeni vršnjaci su napisani u formatu <hash>=<ip><port> , ali u heksaedarskom obliku. Npr :

  • 008052D5853A3B3D2A9B84190975BAFD=53855152054A00
  • 004982069E5DB75721B54CFF33A26170=5955FC93123900
  • 0042856B2ACE498B28D976190EA4F30C=443520D2410B00

Postupni pad Storm Worma

Zaključak

Literatura

racfor_wiki/analiza_storm_worm_napada.1610819992.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0