Tekst je nastao na osnovu istoimenog predavanja u okviru ESET skupa održanog 18. marta pod nazivom ESET: Nova generacija zaštite, aktuelne pretnje i bezbednosne prakse. Predavač: Bojan Miljković, direktor proizvodnje softvera, Extreme.
Ransomware je izuzetno aktuelna i aktivna pretnja za koju konstantno primamo zahteve za podršku. Na blogu smo već nekoliko puta pisali o njemu, ali ovoga puta želimo da ispričamo priču iz malo drugačijeg ugla – kako izgleda biti zaražen i šta to razbojnici rade kako bi nas zarazili.
Tema je nalagala da tekst bude dugačak, tako da se udobno smestite i počnite od početka:
Žrtva ransomwarea iz prve ruke – kako sam se zarazio?
Priča, kao i sve horor priče, počinje naivno:
Odlazite na neki dobro poznat domaći sajt u koji imate poverenja – npr. da potražite povoljne aranžmane za letovanje u Grčkoj.
Antivirus počinje da izbacuje obaveštenja – pronađen virus, trojan i sl.. Razmišljate – ok, Trojanci i Grčka, ima smisla…
Pogasite sva obaveštenja i primetite da se računar malo usporio. Nešto se događa. Ulazite u MyDocuments i vidite nekakvo đubre – vaših fajlova više nema, tu je nešto drugo. Pokušavate da shvatite šta se dogodilo i onda se pojavljuje ovaj ekran (za koji ne želimo da vam se ikada prikaže):
Šta on kaže? Vaši fajlovi su kriptovani, ovde možete da platite, ovde možete da vidite šta sam sve enkriptovao, možemo da vam pošaljemo jedan fajl da vam dokažemo da možemo da ih dekriptujemo.
Dakle, nemate pristup svojim fajlovima, ali imate adresu i dalje instrukcije. Ljudi vas čak lepo informišu da su vaši fajlovi enkriptovani sigurnom metodom, da ne brinete.
Očigledno, vi ste žrtva ransomwarea.
Kako vam se ovo dogodilo? Niste nigde kliknuli, samo ste otišli na sajt. Niste preuzeli i skinuli neki .exe file, AV vam je rekao samo da je našao trojanca – kako je to prošlo kroz vaš bezbednosni sistem?
Kako izgleda zlikovačka organizacija?
Za ransomware organizaciju (nazovimo je tako) potrebna je ozbiljna infrastruktura sa dosta igrača. U ovoj organizaciji postoje jasno definisane uloge:
Exploit Kit Author – tvorac čiji je posao da nađe neki zero day valnerability.
Exploit Kit Customer – čovek koji je kupio exploit kit (Angler ili bilo šta od onoga što se trenutno nalazi na crnom tržištu) i koji će obaviti veliki deo posla, on je zadužen za menadžment, za payload, za landing page i za compromised site
I, naravno – vi, žrtva (Victim).
Za čitav proces neophodni su i:
Compromised Site – legalan sajt koji je iskorišćen da vas dovede na stranu na kojoj će vas zlikovci napasti (Landing Page).
Landing Page – strana na kojoj zapravo bivate zaraženi.
Ispod haube
Prvi korak: Kompromitovanje nekog legalnog sajta
Prva stvar koju razbojnik želi da uradi je da uspostavi vezu sa vašim browserom, tako da može da ga skenira na razne propuste i kada (i ako) te propuste pronađe, da ih iskoristi da „probije“ vaš sigurnosni sistem.
U principu se bira neki sajt u koji ljudi imaju poverenja i gde se ne očekuje da se takve stvari pojave.
Najčešće se to radi kroz CMS sajtove kao što su WordPress, Joomla ili slično koji imaju puno pluginova. Ljudi koji prave sam framework redovno patchuju, ali ne rade to svi korisnici kako bi trebalo, naročito ne sa pluginovima.
Traže se i sajtovi sa slabim ili default lozinkama – još uvek ih ima puno i podložni su brute force napadima.
Takođe, pogodni su i popularni forumi gde eventualno može da se uploaduje neki sadržaj tj. HTML kod, ako nije dovoljno dobro zaštićena aplikacija na forumu.
Tu je i tzv. malvertajzing koji je trenutno čak prevalentni izvor malicioznog koda. Funkcioniše tako što se kupi oglasni prostor, ubaci HTML kod koji jednostavno vodi ljude na zaraženi sajt. To se desilo na NY Timesu, BBCu, American onlineu – na sajtovima koje svi smatramo bezbednim. Čak ni oni nisu bili imuni.
Drugi korak: Ubacivanje koda uz pomoć kojeg vas vode na svoj Landing Page
Ovaj korak je moguće izvesti na nekoliko načina.
Jedan način je zloglasni iFrame o kome se priča već desetinama godina, a koji je još uvek živ zdrav i funkcioniše. Proizvođači bezbedonosnog softvera su sada svesni pretnji u vezi s njim, pa je teže izvodljivo, ali još uvek se iFramom može dovesti sa jednog sajta na drugi (na kome vas ne čeka ništa lepo).
Postoji i skriveni iFrame – nešto što se ne vidi baš na prvu loptu, nego se u samim rutinama dekriptuje. Recimo, slika za reklamu koja sadrži u sebi iFrame – tzv. stegarografija.
Imamo i 302, tzv. metodu mekog prizemljenja. Tu se koristi potpuo legitimna stvar. Npr. kada idete na neki poznat sajt, pa sačuvate u favorites neki link i onda ljudi koji rade na tom sajtu odluče da promene tu lokaciju. Jedna mogućnost je da kada kliknete na taj sačuvani link dođete na 404 stranu, a druga je da urade redirekciju sa porukom „Ono što tražiš se sada nalazi na drugoj lokaciji“.
Dakle, kao što rekosmo – legitimna operacija, ali onda ide jedna redirekcija, pa druga i vi već niste više na traženom sajtu. Dolazite na zaraženi Landing Page – Dobro veče, izvolite!
Treći korak: Kreiranje stranice, profilisanje žrtve i pokretanje malwarea
Na Landing Pageu na koji je žrtva dovedena nalazi se kod za profilisanje. On služi kako bi napadači analizirali situaciju – šta se na računaru nalazi i da li uopšte vredi napadati. U toku profilisanja se ispituju resursi na vašem računaru – proverava se koji je browser u pitanju, koji OS, koji pluginovi. Proverava se i da li je instaliran antivirus, da li se pokreće u okviru neke virtuelne mašine, čak i da li postoje neki debuggeri.
U profilisanju se, naravno, proverava i da li može browser da se iskoristi za „spuštanje“ malwarea, tj. da li je ranjiv. Ako jeste, pokreće se exploit i payload – exploit dozvoljava da se nešto izvrši bez dozvole, a payload da se pokrene ransomware.
Ukoliko se profilisanjem utvrdi da je žrtva dobro zaštićena, ponekad se pristupa očajničkim metodama – nudi vam se da preuzmete neki .exe fajl. Dakle, ukoliko vidite da vam neki sajt nudi da preuzmete neki .exe koji niste tražili – znači da ste dobro zaštićeni i da sada računaju samo na vašu naivnost da taj fajl preuzmete. Nemojte biti naivni.
Uz exploit kit koji se koristi dobija se i alat za upravljanje u kome se vidi koliko je mašina zaraženo, koji se browseri koriste, koji OS, koliko iskorišćenih exploitova, kao i sve ostalo ono što je potrebno za upravljanje jednom organizacijom.
Kako ransomware izbegava detekciju?
U alatu koji uplaoduje zlonamerne .exe fajlove koji treba da se „spuste“ kada se pronađe ranjivost postoji dugme AV check. Ovo dugme služi da se proveri da li će taj .exe biti prepoznat od strane nekog AV programa. U principu, koriste se neki poznati izvori (kao što je npr. Virus total) i sve dok ga bilo koji od AV detektuje kao pretnju, taj .exe se usavršava. Ova stvar čini sve AV kompanije, uključujući i ESET, na neki način ranjivim. To je 50m prednosti u trci na 100m za loše momke koji ne dižu glavu iz haube.
Treba imati u vidu da kriptovanje samo po sebi nije nelegalna operacija. AV kompanije koriste mnogo resursa i energije da ne dolazi do false positive nalaza, pa onda ne možemo automatski proglasiti nepoželjnim neki softver koji želi nešto da kriptuje.
S druge strane, zločinci su vredni – prate patcheve, brzo iskorišćavaju nove propuste. Angler je uzeo veliki deo tržišta – rade brzo, vrlo su pametni i rade low profile – imaju 15000 sajtova na kojima je podignut njihov exploit kit i koje su na neki način zarazili. Na svakom od tih sajtova dozvoljavaju da zlonameran kod preuzme desetak ljudi i onda ga zatvaraju i idu dalje. Na taj način ne privlače pažnju, nema dovoljno vremena za reakciju – hit and run.
Kako da se zaštitimo?
Backup je apsolutni krunisani kralj zaštite. Tačka.
Backup je ono čime se mi branimo i obesmišljavamo sve napore zločinaca. Ne mora da se radi backup svega – samo onoga što je stvarno bitno. Jednom u 6 meseci napravi se i restor da se vidi da li je sve ok.
Takođe, mora da se radi ažuriranje. Ako su loši momci dovoljno brzi da za par dana izbace neki exploit koji će testirati sve vaše odbrambene sisteme, vi morate redovno da ažurirate. To je sada ionako automatizovano, a ako se nešto zabrlja uvek može da se vrati nazad, svi imaju rollbackove.
Naravno, neophodni su AV i Firewall, a nije loše ni da se razmisli o isključivanju oglasa iz browsera. Malo tužnjikavo izgledaju strane, ali nisu neupotrebljive. Radikalnija verzija bi bila da se isključi Java Script, tako da vas svaki put pita za izvršavanje. Vredi razmisliti. Znate svoje korisnike pa sami procenite.
Ima jedna zanimljiva ideja, koju biste mogli da isprobate:
Pošto Angler, svi ti droperi i većina ransomwarea ne vole da budu analizirani, svi imaju anti debugging tehnike. Kada nanjuše virtuelnu mašinu ili da je debugger aktivan, prosto se ne izvršavaju.
Možete da probate ovo sa najgorim userima – poturite im neki debugger koji je stalno aktivan, da ih ne guši previše (pod uslovom da ne koriste neke programe koji „pucaju“ često, jer bi ih u tom slučaju stalno bacao na debugger da vidi šta se dešava). Ovime ih možda rešite 60-70% stvari koje bi inače prošle.
Važna napomena 1:
Treba da se pazite Clouda – ono što ste sinhronizovali, ne računajte da ste bekapovali! Ransomware prođe, kriptuje fajlove, a zatim cloud servis kaže – aha, nešto se promenilo, ažuriraj. Dakle – pravi backup, a ne Cloud.
Važna napomena 2:
Detach!
Backup treba izvršiti, pospremiti sve što imate što je bitno da se pospremi, a kada se to sve završi taj server treba otkačiti, on ne sme više biti dostupan kroz mrežu. U suprotnom kad neki malware prodre, zaraziće vam i sve vaše backupove.