Sadržaj

Osnove reagiranja na incidente OS X platforme

Sažetak

<font 11pt/Calibri,sans-serif;;inherit;;inherit>U ovom seminarskom radu u upoznat ćemo se sa par povijesnih činjenica oko Appleovog operativnog sustava te ćemo ga usporediti sa Microsoftovim operativnim sustavom. Zatim ćemo se upoznati malo detaljnije sa OS X operativnim sustavom. Kada dođe do pojave incidenta, postoji propisana procedura koje se sigurnosni timovi pridržavaju i ona je sastavljena od četiri slijedne faze (priprema, detekcija, analiza i ispravljanje). Predstavljen je koncept pod nazivom „Kill Chain“ koji prikazuje, također kroz slijedne faze, proces djelovanja napadača. Kroz jedan fiktivni scenarij u kojem računalo ostaje kompromitirano predstavljeni su koraci koji se provode u forenzičkoj analizi takvog računala te su opisani programski jezici koji se koriste u forenzičkoj analizi.</font>

Keywords: OS X; incident; malware; Kill Chain

Uredi

Uredi

Uvod

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Puno puta do sada je do mene došla informacija „za MAC ne postoje virus“ ili „MAC je siguran“ ili „OSX nema prijetnji“. S obzirom na prethodno navedeno razumno je postaviti pitanje „Postoji li zaista prijetnja za OSX?“. Odgovor je, naravno, da! Stvar je da je broj prijetnji po Windowse drastično veći iz razloga što je Microsoftov OS puno zastupljeniji u početcima bio u usporedbi sa Appleovim operativnim sustavom. Microsoft je MS-DOS izbacio 1981., a Apple svoj prvi MAC-OS 1984, no ne leži cijela stvar sada u tru godine već je Microsoftov OS puno zastupljeniji i korišteniji i do danas u usporedbi sa Appleovim operativnim sustavom. Microsoftov udio u tržištu je u početcima bio drastično veći u usporedbi sa konkurencijom te je upravo to glavni razlog pojave prijetnji, malwarea i napada na Microsoftow OS. Microsoft i dalje vodi u toj utrci, no i brojke sa Appleove strane su ogromne (Tablica 1 prikazuje zastupljenost operativnih sustava) i razumna je pojava sve većeg broja prijetnji i po njihove operativne sustave.</font>


 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Source**</font>| \\
 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Year**</font>| \\
 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Android**</font>| \\
 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**iOS/macOS**</font>| \\
 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Windows**</font>| \\
 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Ostali**</font>|

 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Gartner**</font>| \\
  \\
  \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>2016</font>| \\
  \\
  \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>-</font>| \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>10.63% (248 mln)</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>11.2% (260 mln)</font> | \\
  \\
  \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>-</font>|

 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**Gartner**</font>| \\
  \\
  \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>2015</font>| \\
  \\
  \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>-</font>| \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>12.37%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>11.79%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>21.66%</font> |

 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**gartner**</font>| \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>2014</font>| \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>48.61%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>11.04%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>14.0%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>26.34%</font> |

 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**gartner**</font>| \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>2013</font>| \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>38.51%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>10.12%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>13.98%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>37.41%</font> |

 <font 11pt/Calibri,sans-serif;;inherit;;inherit>**gartner**</font>| \\
 <font 10.5pt/Calibri,sans-serif;;inherit;;inherit>2012</font>| \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>22.8%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>9.6%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>15.62%</font> | \\
 <font 10.5pt/Calibri,sans-serif;;#222222;;inherit>51.98%</font> |

Tablica 1: Zastupljenost operativnih sustava

Uredi

Uredi

Što je OS X?

<font 11pt/Calibri,sans-serif;;inherit;;inherit>OS X je operativni sustav razvijen od strane Apple Inc temeljen na Unix OS-u. X u OS X predstavlja „deset“ jer se radi o desetom izdanju njihovog operativnog sustava. Apple je s vremenom prošao mnoštvo različitih faza i promjena, uključujući i mijenjanje imena operativnog sustava. Prije OS X-a, operacijski sustav se nazivao Mac OS, prije Mac OS-a se zvao, jednostavnije, „System Software“. Zadnja verzija operativnog sustava imena je macOS Catalina, a prethodili su joj macOS Mojave, macOS High Sierra te macOS Sierra. Knjiga „OS X Incident Response, Scripting and Analysis“ glavni je izvor podataka na temelju kojeg sam pisao ovaj seminar. Valja napomenuti da je u vrijeme pisanje knjige OS X bio zadnja verzija Appleovog OS-a svi postupci reagiranja na pojavu incidenta koji su u njoj opisani su primjenjivi i u, današnjim, novijim verzijama OS-a. Jedan vrlo bitan podatak je da je „System Software 1.0“, objavljen 1984, prvi operacijski sustav koji je imao razvijeno grafičko sučelje (GUI) gdje se korisnik navigirao sustavom koristeći miš i tipkovnicu. Prije „System Software 1.0“ sva računala su bila bazirana na komandnoj liniji. Apple je tim korakom uveo revolucionarnu promjenu u korištenju računala koju poznajemo i danas</font>

Uredi

Uredi

Postupak reagiranja na pojavu incidenta

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Zbog znatnog porasta kršenja podatkovne sigurnosti, tvrtke diljem svijeta počele su razvijati vlastite sigurnosne timove. Takvim timovima nije cilj razviti samo sigurnosni „zid“ koji bi spriječio ulazak hakera u firmin sustav već i razvoj najbolje prakse odgovaranja na incident kada neovlaštena osoba uistinu i uđe u firmin sustav. Tvrtke koje su izgradile jak tim kojem je glavni zadatak reagirati na pojavu incidenta svoj proces odgovora na pojavu istoga uglavnom provode postupkom prikazanim na sljedećoj slici.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit></font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Slika 1: Proces odgovora na pojavu incidenta</font>

Priprema

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Proces pripreme za pojavu incidenta odnosi se na izgradnju vlastitih alata (koji primjerice automatiziraju dio postupka koji se odrađuje u slučaju pojave incidenta), istraživanje napadačkih metoda te razvoj novih načina kako im se suprotstaviti. Faza pripreme možda ne zvuči tako ozbiljnom no ključna je za uspješno izvršavanje sljedeće faze.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Detakcija</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Korak detekcije je vjerojatno najkritičniji korak u procesu odaziva na incident jer ako tim nije sposoban otkriti neovlaštenog korisnika u sustavu onda se taj isti korisnik slobodno kreće mrežom, a to je možda i najgori scenarij koji se može dogoditi. Procesu detekcije uvelike pomažu već gotova programska rješenja kao što je upozorenje vatrozida, sustav za otkrivanje upada (IDS, CKGE_TMP_i Intrusion Detection System CKGE_TMP_i ), antivirusi ili analiza različitih logova.</font>

Analiza

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Analiza je kritična zbog brojnih razloga. Sigurnosni timovi se često nađu u situaciji gdje analiziraju sumnjivi sustav/sadržaj bez garancije da je isti kompromitiran. Primjerice, u fazi detakcije posječen je maliciozni URL. URL se klasificirao kao maliciozni jer je hosting koji stoji iza njega povezan sa ilegalnim radnjama u prošlosti. U ovom trenutku nastupa analitičar kome je posao da otkrije je li se zlonamjerni kod uspješno izvršio u sustavu ili nije.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Ispravljanje</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Ovo je stadij gdje se rješava protivnika, čisti se kompromitirani sustav, prijavljuju i krpaju sigurnosne slabosti te još jedna značajna stvar, a to je učenje iz počinjenih grešaka. Osim toga, sigurnosni tim uči na temelju provedene taktike, tehnike i postupaka od strane napadača, a koji su trebali biti otkriveni u fazi detekcije i analize.</font>

Uredi

Uredi

The Kill Chain

Nakon što smo opisali proces obrane od napada, važno je upoznati se i sa procesom djelovanja napadača. Lockheed Martin je objavio popularan koncept pod nazivom „Kill Chain“. Kill Chain je definiran kako bi mapirao različite faze koje napadač prolazi prilikom planiranja i izvršavanja napada. Otkrivanje najudaljenije faze koju je protivnik postivao te prikupljanje svih forenzičkih dokaza ostavljenih po putu uvijek je jedan od ciljeva analitičara. Kill Chain koncept je prikazan na slici broj 2.

<font 11pt/Calibri,sans-serif;;inherit;;inherit></font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Slika 2: The Kill Chain</font>

Prepoznavanje

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Ovo je faza u kojoj napadač bira metu, provodi istraživanje s ciljem prikupljanja podataka koji bi mogli biti korisni za napad. Među glavnim ciljevima ove faze je prikupiti što više podataka o zaposlenicima tvrtke fokusirajući se na zaposlenike s najmanje IT znanja koji bi lako kliknuli na recimo CKGE_TMP_i phishing link CKGE_TMP_i . Osim toga korisno je i otkriti hijerarhiju unutar firme jer tko je viši u lancu vjerojatnije je da ima pristup povjerljivijim informacijama.</font>

Naoružanje

<font 11pt/Calibri,sans-serif;;inherit;;inherit>U ovoj fazi napadač izrađuje maliciozni sadržaj koji će mu pomoći u probijanju žrtvina sustava. Najbazičniji primjer bi bio recimo izgradnja CKGE_TMP_i macro-enabled CKGE_TMP_i Word dokumenta.</font>

Isporuka

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Faza u kojoj napadač pokušava prethodno izrađeno „oružje“ dostaviti unutar žrtvina okruženja. Najklasičniji primjer je CKGE_TMP_i phishing email CKGE_TMP_i .</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Eksploatacija</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Faza iskorištavanja (npr. iskorištavanje ranjiva koda) na razini žrtvina sustava gdje se izvršava napadačev kôd.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Instalacija</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Kôd koji se izvršava u fazi eksploatacije obično je odgovoran za instalaciju CKGE_TMP_i backdoor-a CKGE_TMP_i .</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Kontrola i naredbe</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>U ovoj fazi se uspostavlja komunikacija između žrtvina okruženja i napadačeva „komunikacijsko kontrolnog“ servera. Djelovanje napadača obično zahtijeva izravnu komunikaciju sa žrtvinim strojem, te je upravo iz tog razloga instalacija CKGE_TMP_i backdoor-a CKGE_TMP_i izuzetno bitna.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Ciljevi i djelovanje</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Poslijednja faza Kill Chain-a. Iako je krađa podataka glavni fokus ove faze, vrlo je bitan i način na koji napadač dolazi do tih podataka. Bitno je ne ostaviti bilo kakve forenzičke tragove pomoću kojih bi se moglo povratno uči napadaču u trag.</font>

Uredi

Uredi

Analitičko okruženje

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Dobrom praksom se pokazalo ne provođenje analize (kompromitiranog sustava) na samom kompromitiranom CKGE_TMP_i hostu CKGE_TMP_i već se svi forenzički podatci prebacuju na sigurno okruženje – po mogućnosti okruženje koje je u vlasništvu i pod nazdorom osobe zadužene za provođenje odgovora na incident. Prethodno opisani postupak ilustriran je trećom slikom.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit></font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Slika 3: Proces djelovanja prije provođenja analize forenzičkih podataka</font>

Uredi

Uredi

Scenarij pojave malwarea

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Scenarij počinje sa laganom šetnjicom stručnjaka za sigurnost iz firme prema doma na lijepi sunčani popodnevni dan kada zaprima poziv iz firme. Informiraju ga kako je netko iz računovodstvenog ureda (prisjetimo se prve faze Kill Chain-a gdje se targetira osoba sa slabijim IT znanjem) otvorio jedan email koji na prvu nije djelovao nimalo sumnjivo. Sumnjivo ponašanje su primjetili prilikom otvaranja priloženog dokumenta iz maila kada se nije izvršila nikakva akcija. Računovođa koristi Mac te je rekao da vjeruje da iz tog razloga nikakvih porblema ne bi trebalo biti (prisjetimo se mišljenja velikog broja ljudi kako za Mac računala nema sigurnosnih prijetnji) no prijavio je incident za svaki slučaj. Stručnjaku za sigurnost ne preostaje ništa drugo nego se vratiti u ured, otvoriti terminal i započeti sa analizom čiji prvi koraci su dobro ilustrirani slikom 4.</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Slika 4: Proces odgovora na pojavu incidenta</font>

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Postoji više načina kako pristupiti kompromitiranom Mac računalu. Jedan od načina je korištenje proizvoda naziva JAMF. JAMF je programsko rješenje koje se koristi za upravljanje Apple uređajima. Pristupti zaraženom Mac računalu moguće je i klasičnim pristupom putem SSH no to bi zahtjevalo da svako računalo u firmi ima račun kojem administrator može pristupiti. Nakon što se pristupi kompromitiranom računalu i prikupe se svi mogući forenzički podatci isti se sele na analitički server. Ako se na analitičkom serveru „vrti“ Linux ili OS X CKGE_TMP_i secure copy CKGE_TMP_i (scp) je alat kojim je najjednostavnije prebaciti podatke sa kompromitiranog računala. Poslijednji korak prije provođenja analize forenzičkih podataka je svakako spajanje našeg stručnjaka na analitički server.</font>

Uredi

Uredi

Skriptiranje

Sada kada su podatci prikupljeni došao je red ja obradu istih. Kako je OS X temeljen na Unixu preporučuje se korištenje nekih od skriptnih jezika. Odabir jezika je uglavnom subjektivna odluka gdje se preporučuje odabir onog jezika s kojim osoba ima možda najviše iskustva ili se osjeća najugodnije u korištenju nekoga. Ako se radi o timskom radu preporučuje se koristiti onaj jezik u kojem većina može dati maksimalni doprinos. Jedna od največih prednosti skriptnih jezika je to da ne zahtjevaju kompajliranje te je lako upravljati kodom i izmjenama istoga.

Python

Najčešćom praksom se pokazalo korištenje Basha u svrhe prikupljanja forenzičkih podataka sa kompromitiranih sustava te onda analiziranje istih koristeći Python. Python se često naziva „hakerskim“ jezikom jer ima veliku količinu razvijenih biblioteka te veliki broj korisnika koji doprinose u izgradnji specifičnih biblioteka kojima je namjena upravo analiza podataka. Osim toga Python je zahvalan jezik i za početnike jer je poprilično jednostavan i lako ga je „pohvatati“.

Ruby

Ruby je jezik koji je poznat po svojem CKGE_TMP_i Web Frameworku CKGE_TMP_i naziva CKGE_TMP_i Ruby on Rails CKGE_TMP_i te je osim toga odličan jezik kada dođemo na primjenu u skriptiranju. Iako nema toliko zastupljenu podršku od strane zajednice poput Pythona dolazi sa velikim brojem sličnih biblioteka koje su korisne u forenzičkoj analizi. Također je lako shvatljiv i na prvi dojam nekome tko ga koristi po prvi put. Jako korisna stvar u vezi Rubya je lakoća pokretanja shell komandi iz njegova koda gdje se skoro svaka sistemska naredba može pokrenuti iz Ruby skripte.

Bash

Kao što je već prethodno spomenuto, pomoću Basha je najlakše prikupiti forenzičke podatke sa kompromitiranih računala. Kao većina operacijskih sustava baziranih na Unixu, OS X ima veliki broj ugrađenih komandi koje olakšavaju prikupljanje podataka, manja razlika je u imenima naredbi koje se dijelom razlikuju od istih naredbi u Linuxu. Jedna popularna mogućnost je pisanje Python ili Ruby skripti za koje se može izraditi CKGE_TMP_i bash wrapper CKGE_TMP_i pomoću kojeg ih je lako programski pokretati.

Yara

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Yara je alat koji je dizajniran kako bi pomogao u klasifikaciji malicioznih datoteka. Iako mu je to izvorna namjena spektar mogućnosti koje pruža je puno širi od samo klasifikacije datoteka te je jedan od „ CKGE_TMP_i must have CKGE_TMP_i “ alata koje se preporuča koristiti u analizi. Yaru se može gledati kao jedan izuzetno brzi CKGE_TMP_i signature-based CKGE_TMP_i skener koji omogućava definiranje pravila kojima kojima se može uže specificirati željeno područje skeniranja. Može skenirati datoteke reda veličine par gigabajta.</font>

Uredi

Uredi

Zaključak

<font 11pt/Calibri,sans-serif;;inherit;;inherit>Kroz ovaj seminar u grubo smo definirali Appleov operativni sustav te što on je i kako je izgrađen. Upoznali smo se sa osnovnim postupcima reagiranja u slučaju pojave incidenta na OS X platformi. Postupci opisani u seminaru su primjenjivi i korisni ne samo za OS X platformu već i za bilo koji drugi operacijski sustav. Kako bi se incident uspješno riješio nije važno samo provoditi dobro utabane defenzivne korake već je od izuzetne važnosti probati se staviti u poziciju napadača te razmišljati kao jedan. Postavljajući se u perspektivu napadača moguće je predvidjeti neke njegove buduće korake te ih na vrijeme spriječiti. Biti dobar sigurnosni stručnjak znači konstantno učiti i istraživati jer hakeri svaki dan pokušavaju pronaći nove rupe i načine kako probiti sigurnost svih računalnih sustava te samim time traže konstantno učenje svih onih koji im pokušavaju ući u trag.</font>

Uredi

Uredi

Literatura

<font 11pt/Calibri,sans-serif;;inherit;;inherit>[1] OS X Incident Response Scripting and Analysis, Jaron Bradley</font>

[2] https://hr.wikipedia.org/wiki/MacOS

[3] https://en.wikipedia.org/wiki/MacOS_version_history

Uredi

Uredi