28.12.20

SolarWinds hack - zbog čega se moramo zabrinuti (nastavak)?

U prethodnom tekstu sam se opisao kontekst pojave SolarWinds hacka (SUNBURST prema FireEye ili Solarigate prema Microsoft) i njegov utjecaj na informacijsku sigurnost, a kako sam najavio, u ovom se tekstu bavim tehničkim detaljima.

Odmah za početak, ova analiza ne uključuje detalje o inicijalnom proboju u tvrtku SolarWinds, s obzirom da za sada nisu objavljeni konačni zaključci analize niti načini kompromitacije aplikacije Orion, no svakako možemo zaključiti da je napadač imao dobru poziciju u procesu razvoja i upravljanja promjenama ove aplikacije.

Moja analiza je bazirana na izvješćima koja su objavila tvrtke Microsoft, FireEye, PaloAlto Networks te agencija Cybersecurity and Infrastructure Security Agency (CISA) američke vlade.

Dakle, krećemo od točke kada je tvrtka korisnik sustava SolarWinds Orion (i buduća žrtva kompromitacije ovog softvera) preuzela nadogradnju objavljenu krajem ožujka ove godine. Nadogradnja, ekstenzije msp, bila je uredno potpisana certifikatom tvrtke SolarWinds i među  komprimiranim modulima je uključivala i modul SolarWinds.Orion.Core.BusinessLayer.dll.

Nakon instalacije nadogradnje, novi moduli, uključujući i prije spomenuti su bili pokrenuti u produkcijskom radu. 

Modul SolarWinds.Orion.Core.BusinessLayer.dll je .NET program koji je standardni dio aplikacije Orion, sa svojim redovitim funkcijama. No, unutar ove funkcije je lukavo smješten poziv za izvođenje backdoor modula: predviđeno je paralelno izvođenje s glavnim programskim modulom, ničim narušavajući očekivane funkcije, a za izvođenje je odabrana metoda koja se redovito pokreće, čime je osigurana persistencija, tj. kontinuirani rad nakon svakog pokretanja aplikacije.

Backdoor kod je u potpunosti sadržan u klasi OrionImprovementBusinessLayer. Tijekom inicijalizacije, maliciozni program provjerava je li istekao rok od 12 do 14 dana od inicijalnog pokretanja (provjerava vrijeme zadnjeg upisa) – dakle predviđene je dvotjedni period mirovanja od inicijalne kontaminacije te provjerava postoje li neki drugi unaprijed predviđeni uvjeti uslijed kojih planirano obustavlja rad (npr. malware prekida izvođenje ako se nalazi u domeni koja uključuje stringove „solarwinds“ odnosno „test“ ili se na sustavu izvode neki procesi karakteristični za sigurnosne programe).

Ukoliko je „zrak čist“, „backdoor“ započinje stvarni život. Namjera mu je povezati se kontrolnim (C2) serverom, prijaviti svoju dostupnost, preuzeti instrukcije sa C2 servera, izvesti ih na mreži žrtve i vratiti rezultate nazad na C2. Dakle, radi se o uobičajenom slijedu akcija kakve izvode „backdoor“ programi. No, vrag je u detaljima. 

Inicijalni C2 server je smješten unutar domene avsvmcloud[.]com, pri čemu je stvarni URL nadopunjen s pseudo-random i random nazivima generiranim iz jedinstvenih parametara vezanih za samu žrtvu. Također, prije povezivanja s C2 serverom, generira se i URI lokacija izborom unaprijed pre-definiranih vrijednosti na način koji neće izazvati sumnju ako bi netko pratio metapodatke o povezivanjima. 

Na koncu, generira se i šalje JSON dokument s parametrima relevantnim za ostvarivanje komunikacijskog kanala.

(Važno je napomenuti: Ova adresa je iskorištena i kao slabost SUNBURST malwarea, odnosno kao „kill-switch“ poluga. Nakon ovog otkrića, Microsoft je blokirao domenu avsvmcloud[.]com, no, ipak, 8 mjeseci prekasno)

Kada je komunikacijski kanal između „backdoor“ programa i C2 servera potvrđen, započinje kontinuirana komunikacija kroz koju operateri koji rade na C2 serveru dostavljaju „backdoor“ programu niz naloga za izvođenje karakterističnih aktivnosti – od prikupljanja osnovnih informacija o operativnom sustavu, mreži datotekama, registry podacima pa do izvođenja specifičnih naredbi.

No, treba naglasiti da je operacija bila sve samo ne rutinska i predvidljiva. U analiziranim slučajevima su otkrivene i mnoge specifičnosti – od dodatnih C2 servera putem kojih su dolazili nalozi za akcije, do iskorištavanja specifičnih ranjivosti ili pokretanja novih malicioznih programa prikladnijih za lateralno kretanje. Opisat će neke od ovih specifičnosti u nastavku. 

Novi C2 serveri: Kada SUNBURST/Solarigate backdoor program pokrene aktivnosti lateralnog kretanja i druge aktivnosti u naprednoj fazi napada, onda se otvara komunikacijski kanal prema alternativnim C2 serverima. Često puta, radi se o domenama koje su registrirane nekoliko godina ranije, u međuvremenu su istekle ali nisu brisane. Na taj način napadač želi ostaviti dojam komunikacije sa domenom pouzdane dugogodišnje reputacije. I korak dalje: zabilježeno je da su napadači komunicirali sa žrtvom preko lokalnog VPS servera, smještenog u istoj zemlji gdje je i žrtva, čime napadač dodatno nastoji pojačati reputaciju. 

TEARDROP dropper: Kako sam spomenuo, u drugoj fazi napada (koja se obično naziva „post-compromise“ aktivnost) su korišteni dodatni „payload“ moduli. SUNBURST uobičajeno koristi PowerShell skripte, no tvrtka FireEye je izdvojila i specifično kreirani „payload“ modul kojeg je nazvala TEARDROP. Radi se o inventivno importiranom programskom kodu (preko lažne  jpg datoteke nad kojom je primijenjena tehnika steganografije) koji su pokreće u radnoj memoriji kao „file-less malware“ a u suštini izvodi backdoor modul komercijalnog programa za penetracijska testiranja Cobalt Strike, naravno opremljenog tehnikama za osiguranje persistencije, prikupljana autentikacijskih podataka i lateralnog kretanja, ali i prilagođenog novom gazdi.

Privilegirane ovlasti: Polazeći od činjenice da sustav Orion ima nadzorne zadaće nad ključnim komponentama informatičke infrastrukture, napadači su zauzeli nekoliko uporišta za dohvat podataka o korisničkim računima, uključujući i mogućnost lateralnog kretanja s privilegiranim ovlastima i prijave na ključne resurse (npr. AD server) s visoko privilegiranim ovlastima. Takve privilegije su omogućile i praktičnu implementaciju tehnike napada poznatu pod imenom „Golden SAML“. Ova tehnika je poznata od 2017. godine ali je ovo prvi zabilježeni slučaj u stvarnom incidentu. U SUNBURST scenarijima, napadači su time ostvarili mogućnost pristupa resursima koji prihvaćaju SAML autentikaciju (tipično „cloud“ resursi), a koji se može naknadno iskorištavati i izvan  konteksta SUNBURST napada.

Svaka tema obuhvaćena ovim tekstom otvara nova područja, a osnovna tema - slučaj SUNBURST/Solarigate – daleko je od toga da je možemo smatrati apsolviranom, ni na tehničkoj niti na političkoj razini.

24.12.20

SolarWinds hack - zbog čega se moramo zabrinuti?

Tijekom mjeseca studenog ili samim početkom prosinca, jedan od zaposlenika američke tvrtke FireEye primio je automatsku dojavu da se nepoznata osoba pokušava prijaviti na VPN sustav tvrtke s nekog novog uređaja. Savjestan zaposlenik je alarmirao nadležnu službu svoje tvrtke, a sve što se dešavalo nakon toga polako je poprimilo razmjere najvećeg cyber napada svih vremena. Pogađate, tema ovog teksta je SolarWinds hack. 

Za početak, možemo li ovaj događaj zaista okarakterizirati kao najveći cyber napad svih vremena? Sjetimo se napada NotPetya iz 2017, koji je na koljena bacio jednu cijelu državu, ali i veliki broj kompanija, bolnica, ustanova različitih profila, uzrokujući gubitke, prema nekim procjenama, preko 10 milijardi dolara (usputna preporuka, svakako pročitajte odličnu knjigu Sandworm o ovom događaju). Zaista, za sada izgleda da SolarWinds hack neće imati takve posljedice kao NotPetya (iako zbog profila žrtava nikad nećemo ni doznati kakav je bio stvarni učinak), no ako bi ocjenjivali "umjetnički dojam" onda je cijela operacija oko SolarWind hacka izvedena na do sada nezabilježeni način, uz dugogodišnju pripremu i angažman velikog broja stručnjaka (da, mislim da je izraz "stručnjak" primjeren), pa zaista zaslužuje oznaku jednog od najvećih napada u povijesti, barem u kategoriji "Najveći doprinos razvoju informacijske sigurnosti". Jer, nedvojbeno, nakon ovog napada se mijenjaju mnoge stvari.

U ovom tekstu ću rezimirati glavne zaključke i pouke ovog slučaja, a u sljedećem ću tekstu opisati tehnički aspekt napada, odnosno ono što se zbivalo ispod površine. Novi detalji o tehnici napada pojavljuju se svakodnevno, tako da nije isključeno da ću o njima pisati i kasnije. 

Kao što znate, inicijalna vijest o napada, tada se još nije spominjao SolarWinds, došla je od tvrtke FireEye što je samo po sebi izazvalo veliku senzaciju, jer se tvrtka FireEye upravo bavi zaštitom od takvih napada u najužem mogućem smislu. Pri tome, priznali su da je napadač ukrao niz interno razvijenih alata koje ova tvrtka koristi za Red Team testiranja.

Nakon nekoliko dana i analize u kojoj je uključio svojih 100 zaposlenika,  FireEye  je objavio da je napad vezan za softver Orion tvrtke SolarWinds. Tvrtka SolarWinds je izuzetno ugledna tvrtka s fokusom na nadzor rada sustava i mreže, a softver Orion omogućuje krovni nadzor i upravljanje različitim komponentama informacijskog sustava. Korišten je u velikom broju svjetskih tvrtki, uključujući i brojne državne institucije, ministarstva i korporativni sektor (među njima i 425 od US Fortune 500). Daljnja istraga je pokazala da je jedan od modula koji se koristi u sustavu Orion (SolarWinds.Orion.Core.BusinessLayer.dll) bio kompromitiran i neovlašteno modificiran, tako da je pored svoje osnovne funkcije, ujedno imao ulogu Trojanca. Modifikacija ovog modula je napravljena u ožujku ove godine a od tada je oko 18.000 korisnika softvera Orion nadogradilo svoj sustav s kompromitiranom verzijom.

Trojanac, koji je dobio ime SUNBURST, mirovao je dva tjedna a nakon toga je ostvario vezu sa svojim komandnim centrom, evoluirao u novi malware koji je dobio ime TEARDROP pa započeo sofisticirano djelovanje, koje je uključivalo, među ostalim, različite tehnike proširenja privilegija, persistencije, lateralnog kretanja i prikrivene povratne veze s komandnim centrom. Zanimljivo, sve korištene tehnike nisu do sada bile registrirane u okviru MITRE ATT&CK koji se upravo ažurira kako bi obuhvatio i ovaj napad. 

Broj žrtava je za sada teško odrediti, spominje se stotinjak organizacija/tvrtki za koje potvrđena kompromitacije, a u opticaju je brojka i od nekoliko stotina žrtava. Većina žrtava je iz Sjedinjenih država, no ne zaostaju ni druga područja.

Pored broja žrtava, za sada nema ni službene potvrde o izvoru napada. Po mnogim indikatorima, radi se o ruskom rukopisu, najvjerojatnije agencije SVR, iako se do sada smatralo da je GRU - vojna obavještajna agencija - sposobnija provesti operaciju ovakvih razmjera.

Za potencijalne žrtve je posebno zabrinjavajuće da hitnom nadogradnjom softvera Orion na korigiranu verziju iz koje je izbačen trojanac, oni neće biti riješeni briga. Pored nadogradnje, moraju provesti forenzičku istragu kroz koju će nastojati dobiti potvrdu da nije bilo kompromisa, odnosno u lošijem scenariju, odrediti u kojem je opsegu i trajanju trojanac djelovao. 

Na ruku, pak,  žrtvama ide činjenica da SUNBURST/TEARDROP nisu osmišljeni tako da djeluju serijski i pandemijski poput "crva" (kao u slučaju NotPetya), već se radi o sofisticiranom napadu kojeg mora voditi uvježbani operater. A znamo da ni najorganiziranije cyber grupe nisu dovoljno ekipirane za operaciju nad svih 18.000 kandidata (nedostatak stručnog kadra pogađa i njih). Stoga se pokretač napada fokusirao samo na one od posebnog interesa. 

Ovo je možda definitivna potvrda da tradicionalni antivirsni sustavi ali ni napredni antimalware sustavi nove generacije kao ni EDR sustavi nisu rješenja kojima u potpunosti možete prepustiti brigu o sigurnosti svoje mreže. U slučaju SolarWinds hacka su primijenjene i neke antiforenzičke tehnike i tehnike izbjegavanja sustava detekcije, tako da ćemo svakako morati obogatiti i tehnike neposredne neautomatizirane ("ručne") detekcije.

Događaj je pokazao i potrebu za dosljednom primjenom procesa za odgovaranje na sigurnosne incidente u svakoj organizaciji/tvrtki. U ovom slučaju, već od pojave prvih izvještaja u javnom prostoru ili indikatora na svojim sustavima, korisnici kompromitiranog softvera su morali provesti inicijalnu istragu koja je trebala obuhvatiti cyber trijažu, analizu ključnih indikatora na postavkama operativnog sustava i pretragu radne memorije (TEARDROP je "fileless malware" tako da njegove tragove nećemo pronaći na čvrstim diskovima). U okviru incident management procesa svakako treba proraditi na mjerama forenzičke pripremljenosti za prikupljanje prije spomenutih podataka, za inicijalnu trijažu ovih podataka, ali i na uvođenju učinkovitih mjera nadzora, naročito nad aktivnostima računalne mreže.

Na koncu, na sve nas će posebno djelovati ključni uzrok ovog incidenta. 

Koliko god smo bili dosljedni na primjeni svih preventivnih mjera cyber higijene, ovom napadu nismo mogli izbjeći jer ključni sudionik, tvrtka SolarWinds, očigledno nije bila dosljedna u cyber higijeni (iako još ne znamo sve detalje kako je došlo do inicijalnog prodora u njihovu tvrtku). Podsjetimo se slučaja NotPetya: i tada je jedan od ključnih uzroka bio kompromitiran komercijalni softver, ipak ne takvo ime kao SolarWinds pa to, izgleda, nije izazvalo potrebnu pozornost.  Ovaj događaj svakako ukazuje da će lanac opskrbe ("supply chain") softverskih (ali i hardverskih) komponenti biti već od danas pod povećalom. A kompromitacija lanca opskrbe je i kompromitacija lanca povjerenja.

U sljedećem nastavku ću nešto više pisati o tehničkom aspektu ovog napada.

3.12.20

ATT&CK: okvir za anatomiju cyber prijetnji

Početkom listopada ove godine sam održao predavanje za hrvatski ogranak organizacije ISACA u kojoj sam predstavio okvir MITRE ATT&CK.

Okvir MITRE ATT&CK nije nepoznat među našim stručnjacima. Ranije su se pojavili radovi o tom okviru a polako se nazire primjena i u našem okruženju. Ipak, čini mi se svijest o značenju ovog okvira još uvijek nije dovoljno prisutna među najvećem brojem naših kolega na području informacijske sigurnosti i revizije. A da o managementu IT službi i ne govorimo…

Kako je nastao okvir MITRE ATT&CK i zbog čega je značajan?

Kada je početkom desetljeća koje upravo završava postalo jasno da ondašnji antivirusni sustavi ne mogu djelotvorno odgovoriti na novu generaciju računalnih prijetnji (napredne prijetnje, sa svojstvima persistencije i ciljano motivirani prema specifičnoj žrtvi), strategija sprječavanja ovih prijetnji prebacila je težište na područje detekcije napada i prepoznavanja indikatora o proboju napadača, ali i na sve značajnije sudjelovanje ljudskog faktora u provedbi nove strategije. Suradnja među stručnjacima i timovima, unutar pojedine organizacije ili, još češće, među različitim i raznovrsnim organizacijama postala je neophodna. Osim stručnosti i iskrenosti u namjerama, značajan preduvjet za uspješnu suradnju je standardizacija terminologije i zajednička taksonomija ključnih pojmova na ovom području.

Nakon nekoliko dobrih poticajnih koraka (npr. „The Cyber Kill Chain” tvrtke Lockheed Martin iz 2011.), organizacija MITRE je pristupila razvoju strukturiranog opisa cyber prijetnji, kategorizaciji taktika i tehnika napada i bogatom opisu pojedinih elemenata ove strukture (od katalogiziranja organiziranih izvora cyber prijetnji pa do opisa izvora indikatora unutar operativnog sustava).

Lavina se pokrenula negdje oko 2015. i danas je ATT&CK ne samo okvir za opis i komuniciranje podataka cyber prijetnjama, nego i djelotvorna baza znanja koja posredno pokreće niz drugih mehanizama za zaštitu informacijskih sustava, dodajući im novu razinu značenja - „Threat-Informed Defense”.

U svojoj prezentaciji sam opisao glavne točke u evoluciji okvira ATT&CK, značajke ovog okvire i načine primjene u praksi.

U nastavku možete pogledati video zapis prezentacije.