Sadržaj

Detekcija malwarea na Windows platformi pomoću strojnog učenja

Sažetak

Primjena strojnog učenja svakodnevno se širi u raznovrsna područja. Jedno od takvih područja postala je kibernetička sigurnost. Dok raznolikost algoritama strojnog te dubokog učenja omogućava pristup obrani kibernetičkog svijeta u većini mrežnih slojeva i datotečnih sustava, jedna od najpopularnijih uporabi jest upravo detekcija malwarea u raznim sustavima.

Uvod

Malware, kratica za malicious software, je bilo kakav softver stvoren za zlonamjerno iskorištavanje propusta u implementaciji raznih sustava ili aplikacija. Tradicionalne metode detekcije malwarea oslanjaju se na prepoznavanje temeljem digitalnog potpisa, koje uspoređuje kôd malwarea s bazom podataka poznatih potpisa malwareova. Međutim, ovu metodu mogu lako zaobići napadači koji unutar samog malware-a jednostavno promijene dijelove koda koji razni sustavi za sprječavanje napada monitoriraju.

Tradicionalna detekcija malwarea

Vrste metoda

Detekcija temeljena na digitalnim potpisima je metoda identificiranja malwarea usporedbom njegovog koda s bazom podataka poznatih malwarea. Ova metoda funkcionira identificiranjem određenog uzorka unutar koda malwarea koji je jedinstven za tu određenu vrstu malwarea. Kada se naiđe na novi softver, njegov se kod skenira i uspoređuje s potpisima u bazi podataka uzoraka malwareova. Ako se pronađe podudaranje, softver se identificira i označava kao zlonamjeran, tj. malware.

Nedostatci tradicionalnih metoda

Međutim, ova metoda ima nekoliko nedostataka. Jedan od glavnih problema je da napadači mogu lako zaobići detekciju temeljenu na uzorku jednostavnom promjenom koda malwarea. To se može učiniti malim izmjenama koda, kao što je promjena naziva varijabli ili korištenjem tehnika zamagljivanja koda kako bi se prikrila stvarna funkcionalnost malwarea. Taj je proces poznat kao code morphing ( pretvaranje koda ) i poprilično otežava sustavima za otkrivanje napada (IDS) koji se temelje na uzorcima da identificiraju malware.

Još jedan problem s detekcijom temeljenom na potpisima jest to što je učinkovita samo protiv poznatog malwarea. Nove varijante malwarea koje još nisu viđene ne mogu biti prisutne u bazi podataka uzoraka i stoga se ne mogu otkriti. To znači da detekcija temeljena na potpisima nije prikladna za otkrivanje novih i nepoznatih, tj. neviđenih prijetnji.

Primjena strojnog učenja u detekciji malwarea

Razlike naprema tradicionalnim metodama

Strojno učenje, s druge strane, može se koristiti za otkrivanje malwarea bez oslanjanja na potpise. Algoritmi strojnog učenja mogu se uvježbati da prepoznaju obrasce u ponašanju malwarea i označavaju sve što odstupa od norme. Za razliku od tradicionalnih metoda, prepoznavanje u ponašanju se pokazuje kao univerzalan alat za detekciju, čak i nad neviđenim podatcima, dok prethodno navedene metode ovise isključivo o bazi prethodno identificiranih malwarea. Ovi se algoritmi također mogu uvježbati na širokom rasponu podataka, uključujući mrežni promet, izvršenje procesa i sistemske pozive, kako bi se poboljšala njihova stopa otkrivanja.

Detekcija temeljem ponašanja koristi algoritme strojnog učenja za analizu ponašanja dijela softvera i označavanje svega što odstupa od normalnog, očekivanog ponašanja. Npr., ako program počne uspostavljati mrežne veze s poznatim zlonamjernim domenama ili šifrira datoteke na sustavu, može biti označen kao malware.

Treniranje modela

Kako bi se uvježbao model strojnog učenja, trenira se na skupu podataka koji se sastoji od prethodno detektiranih obrazaca ponašanja malwareova. Takvi skupovi podataka sadrže velike količine raznih parametara poput sastava datoteka te strojnog koda izvršnih datoteka. Model uči identificirati obrasce koji su specifični za malware, a zatim se može koristiti za označavanje novog i nepoznatog malwarea.

Prednosti korištenja strojnog učenja

Jedna od ključnih prednosti detekcije temeljene na ponašanju jest ta da ne ovisi o specifičnom kodu malwarea, već o ponašanju malwarea. To znači da će čak i ako se kod malwarea promijeni, ponašanje malwarea ostati isto, a model strojnog učenja ga i dalje može otkriti.

Osim toga, otkrivanje na temelju ponašanja također može otkriti nepoznati malware. To je zato što je model obučen na širokom rasponu podataka, uključujući mrežni promet, izvršavanje procesa i sistemske pozive, te može identificirati obrasce koji odstupaju od norme, što je potpis malwarea.

Problemi korištenja strojnog učenja

Za razliku od tradicionalnih metoda, prepoznavanje malwarea strojnim učenjem dolazi uz izričit rizik neispravne klasifikacije malwarea, tj. lažno-pozitivnih primjera. Stoga se takvi modeli često degeneriraju u primjenu za sustave za detekciju napada (IDS) radije nego sustave za prevenciju napada (IPS) zbog potencijalnog rizika gubitka bitnih podataka, no takvi slučajevi ovise o primjeni.

Još jedan od problema korištenja strojnog učenja prilikom detekcije malwarea specifično za aplikacije jest odabir metode za izradu i praćenje skupa podataka. Dok bi se u nekim slučajima kao idealno rješenje činilo statičko uzimanje podataka iz određenog softvera, tj. analiza koda, ponekad se može iskazati da je dinamičko prikupljanje podataka, tj. analiza procesa u izvođenju, idealniji odabir.

U slučaju statičke obrade, algoritmi strojnog učenja potencijalno bi mogli veliku značajnost pridodavati dijelovima koda koji se rijetko izvršavaju, te koji samim time imaju minimalan utjecaj na izvršavanje procesa softvera. To malwareovima olakšava izbjegavanje detekcije jednostavnim proširenjem redundantnih dijelova koda.

U drugu ruku, dinamička obrada postavlja upravo suprotan problem, kad izvođenje procesa može upravo rijetko ili čak nikada ne izvoditi određene dijelove koda. To se postavlja kao problem u slučaju kada zlonamjeran dio koda u malwareu se upravo rijetko i pojavljuje u samom procesu, te tako može ili izbjeći pojavljivanje u skupu podataka ili se postaviti kao šum.

Važno je napomenuti da otkrivanje malwarea temeljeno na strojnom učenju nije sigurno te da ga napredni napadači još uvijek mogu zaobići. Stoga je važno koristiti više slojeva sigurnosti, uključujući vatrozid, sustave za detekciju napada te redovita ažuriranja softvera, za zaštitu od malwarea.

Obrana operacijskog sustava Windows strojnim učenjem

Implementacije obrane Windows OS-a strojnim učenjem

U sustavu Windows dostupno je nekoliko alata za otkrivanje malwarea temeljenih na strojnom učenju, kao što je Windows Defender Advanced Threat Protection (ATP), koji koristi otkrivanje temeljeno na ponašanju za prepoznavanje i sprječavanje naprednih prijetnji. Druga opcija je Carbon Black, koja koristi strojno učenje za otkrivanje i odgovor na kibernetičke prijetnje u stvarnom vremenu.

Windows Defender ATP

Windows Defender Advanced Threat Protection (ATP) je sigurnosna značajka ugrađena u operativni sustav Windows koja koristi strojno učenje za otkrivanje i sprječavanje naprednih prijetnji.

Windows Defender ATP koristi kombinaciju algoritama strojnog učenja i cloud-based inteligencije za otkrivanje i odgovor na kibernetičke prijetnje u stvarnom vremenu. Sustav koristi otkrivanje na temelju ponašanja kako bi identificirao i označio sve što odstupa od normalnog, očekivanog ponašanja programa ili procesa.

Skup podataka

Sustav može prikupljati podatke iz različitih izvora, uključujući mrežni promet, izvršenje procesa i sistemske pozive. Ti se podaci zatim analiziraju algoritmima strojnog učenja kako bi se identificirali obrasci koji ukazuju na potencijalnu prijetnju. Sustav također ima sposobnost otkrivanja novih i nepoznatih prijetnji učenjem iz ponašanja različitih programa i procesa te identificiranjem obrazaca koji odstupaju od norme.

Funkcionalnost Windows Defender ATP-a

Nakon što se otkrije prijetnja, Windows Defender ATP može poduzeti nekoliko radnji za ublažavanje prijetnje. To uključuje stavljanje zlonamjerne datoteke u karantenu, prekid zlonamjernog procesa, blokiranje mrežnih veza i pružanje detaljnih informacija o prijetnji sigurnosnom analitičaru.

Windows Defender ATP također ima mogućnost integracije s drugim sigurnosnim rješenjima, kao što su platforme za zaštitu endpointova, vatrozidi i sustavi za detekciju napada, kako bi pružio sveobuhvatnije sigurnosno rješenje.

Za razliku od ostalih softverskih rješenja obrane od prijetnji, Windows Defender ATP ima pristup puno širem rasponu podataka i parametara te tako pruža bolju sigurnost od većine jeftinih softvera treće strane. No samim time, kao osnovno sigurnosno svojstvo operacijskog sustava Windows, postaje i glavna meta napadačima koji pokušavaju zaobići takve sustave.

Zaključak

Zaključno, strojno učenje pruža dinamičniji pristup otkrivanju malwarea, može se osposobiti za prilagodbu novim napadima i može pomoći u prepoznavanju novih vrsta malwarea koji dosad nisu viđeni. Windows Defender ATP pokazuje se kao zadovoljavajuć početni korak u obrani operacijskog sustava od malwarea. Međutim, važno je koristiti detekciju malwarea temeljenu na strojnom učenju u kombinaciji s drugim sigurnosnim mjerama kako biste pružili najbolju zaštitu od malwarea.

Literatura

[1] E. Büber : IDS/IPS with ML

[2] X. Huang, L. Ma, W. Yang, Y. Zhong : A Method for Windows Malware Detection Based on Deep Learning

[3] Computerphile, F. Pierazzi : Malware and Machine Learning

https://ferhr-my.sharepoint.com/:p:/g/personal/ap52554_fer_hr/EahM6jBw5TJAnpIrq4lE_W0BjODS-yOTm5-_TIznaF2mgQ?e=mgwA3w