Sadržaj

Primjena strojnog učenja u računalnoj sigurnosti

Sažetak

Tehnike strojnog učenja danas se primjenjuju na mnoga polja računarstva, medicine, poljoprivrede, ekonomije i drugih znanosti. Njihova prilagodljivost problemu, skalabilnost i mogućnost brze prilagodbe novim i nepoznatim problemima čini ih vrlo popularnim rješenjem. Brzi i veliki razvoj web tehnologija, mobilnog i web bankarstva, društvenih mreža i mobilnih okruženja uzrokovao je veću potrebu za razvojem rješenja za računalnu sigurnost. Već postoje neke metode strojnog učenja koje su razvijene za potrebe velikog broja problema u računalnoj sigurnosti. Naglasiti će se i objasniti neki od postojećih algoritama za prepoznavanje i osiguravanje od mrežnih napada, prikupljanja osobnih podataka, krađe identiteta i razbijanje dokaza ljudske interakcije.

Ključne riječi: računalna sigurnost; strojno učenje; napadi


Uvod

U današnje doba najveći se dio podataka pohranjuje u računalima te se velik dio poslovanja i komunikacije odvija u računalnom okruženju, posebice u zadnjih godinu dana kada se broj ljudi koji rade od kuće uvišestručio. Gubitak ili zlouporaba podataka može prouzročiti velike štete, stoga je računalna sigurnost osobito važna.

Sigurnost podataka može se postići autentifikacijom i kriptiranjem. Poduzimanje mjera sigurnosti osobito je važno kod web trgovina, internetskog bankarstva i ostalih mjesta na kojima korisnik ostavlja osobne i druge osjetljive podatke.

Postavlja se pitanje kako u šumi informacija, bilo to mrežnog prometa ili ponašanja korisnika, prepoznati koji je napadač. Razvojem umjetne inteligencije tu se kao rješenje nameće strojno učenje. Algoritmi strojnog učenja upravo su oblikovani da bi se nosili s velikim količinama podataka i vrlo dobro u njima nalaze pravilnosti koje ljudi ne bi mogli prepoznati. Time dobivamo dodatno, korisno znanje o skupu informacija i lako možemo izdvojiti anomalije u ponašanju. To je temelj povezivanja računalne sigurnosti i metodologije strojnog učenja.

U nastavku biti će istaknuto i objašnjeno nekoliko primjera primjene strojnog učenja za rješavanje problema računalne sigurnosti, te se na kraju dotiče sigurnosti samog modela strojnog učenja.

Strojno učenje

Strojno učenje grana je umjetne inteligencije koja se bavi oblikovanjem algoritama koji svoju učinkovitost poboljšavaju na temelju empirijskih podataka. Algoritmi strojnog učenja baziraju se na heurističkim, statističkim i empirijskim metodama kako bi riješili probleme koje klasični algoritmi ne mogu.

Metode

Detekcija mrežne krađe identiteta (eng. Phishing)

Mrežna krađa identiteta (eng. phishing) je krađa osobnih osjetljivih podataka. Kroz istraživanje identificirane su tri glavne grupe metoda za sprječavanje phishing-a:

  1. Detekcija
    1. Nadgledanje životnog ciklusa računa
    2. Nadgledanje brenda
    3. Onemogućavanje web duplikacije
    4. Obavljanje filtriranja sadržaja
    5. Anti-Malware (zloćudni program)
    6. Anti-Spam (neželjeni sadržaj)
  2. Prevencija
    1. Autentifikacija
    2. Upravljanje zakrpama i promjenama
    3. Potvrda e-mailom
    4. Sigurnost web aplikacija
  3. Ispravljanje
    1. Uklanjanje phishing web mjesta
    2. Forenzika i istraga

Rezultati istraživanja pokazuju kako mnoga rješenja phishing detekcije imaju visoku stopu pogreške. Uspoređeno je šest klasifikatora strojnog učenja nad 1171 phishing e-mailova i 1718 legitimnih e-mailova. Pogreške su prikazane grafički na slici 1.

 Logistička regresija (LR), Klasifikacijska i regresijska stabla odlučivanja (CART), Bayesovska
aditivna regresijska stabla (BART), Stroj potpornih vektora (SVM), Slučajne šume (RF), Neuronske mreže (NNets)

Slika 1. Logistička regresija (LR), Klasifikacijska i regresijska stabla odlučivanja (CART), Bayesovska aditivna regresijska stabla (BART), Stroj potpornih vektora (SVM), Slučajne šume (RF), Neuronske mreže (NNets)

Da bi rezultati bili bolji, trebalo je poboljšati i skup podataka - uklonjene su priložene datoteke, informacije zaglavlja i beznačajne riječi. Nakon ponovnog testiranja svi su klasifikatori sortirani prema preciznosti i odzivu.

Klasifikator Preciznost Odziv F1
LR 95.11% 82.96% 88.59%
CART 92.32% 87.07% 89.59%
SVM 92.08% 82.74% 87.07%
NNet 94.15% 78.28% 85.45%
CART 94.18% 81.08% 87.09%
SVM 91.71% 88.88% 90.24%

Tablica 1. Usporedba preciznosti, odziva i F1 za klasifikatore

Još jedan zanimljiv algoritam je automatski sustav za detekciju phishing-a kojeg su razvili Zhuang, Ye, Chen i Li. Sustav ima uspješnost od oko 85%. Proces započinje ekstrakcijom sličnih atributa iz skupa zlonamjernih software-a i skupa stranica kojima je namjera krađa mrežnog identiteta. Ti se podaci parsiraju kroz sustav automatske kategorizacije i spremaju u bazu koja je povezana na sustav.

Detekcija upada u mrežu

Sustavi detekcije upada u mrežu (eng. NIDS - Network Intrusion Detection Systems) koriste se za identifikaciju zlonamjerne mrežne aktivnosti koja može dovesti do narušavanja dostupnosti, integriteta i/ili povjerljivosti sustava u mreži. On nadzire cijelu mrežu ili neki njen segment, ovisno o poziciji koja mu je dodijeljena u mrežnoj topologiji. Princip rada se temelji na hvatanju i analiziranju paketa koji putuju mrežom. Senzori razmješteni po mreži nadziru mrežni promet, te potom prijavljuju otkrivene napade centralnom čvoru. Mnogi su dizajnirani za skriveni način rada, kako bi napadaču bilo teže otkriti njihovu prisutnost. Mnogi sustavi detekcije upada upravo jesu temeljeni na strojnom učenju zbog svoje prilagodljivosti na nove i nepoznate napade. U sustavu to može izgledati kao na slici 2.

 Primjer konfiguracije Slika 2. Primjer konfiguracije sustava za detekciju upada u mrežu

Sustavi detekcije upada u mrežu mogu se postaviti i u vanjski dio mreže prije vatrozida umjesto nakon njega kao na slici. Oba pristupa imaju svoje dobre i loše karakteristike, odluka ovisi o potrebama korisnika. Postavljanje sustava za detekciju nakon vatrozida analizirat će se samo uspješni napadi, a prije vatrozida sustav će detektirati sve (ili većinu) svih napada upućenih sustavu.

Genetičko mrežno programiranje (eng. Genetic Network Programming - GNP) je ujedinjeno učinkovito rješenje za detekciju zlouporabe i anomalija. Predložili su ga Lu, Mabu, Wang i Hirasawa 2013. godine. Spojeni su algoritam genetike i stupnja podudaranja tako da redundantna pravila mogu biti izbačena a ona korisna filtrirana. Sustav je testiran na KDDcup99 bazi podataka. Predloženi algoritam izbacivanja redundantnih pravila (eng. pruning algorithm) ne traži ulaz prethodno stečenog znanja nego se pravilo izbacuje ukoliko ne zadovoljava određeni prag stupnja podudaranja.

Sustav je treniran nad 8068 slučajno izabranih konekcija, od kojih je 4116 bilo normalnih, a 3952 primjeri štrumf (eng. smurf) i neptun (eng. neptune) napada. Nakon treniranja dobiveno rješenje je testirano na 4068 normalnih i 4000 zlonamjernih konekcija. Točnost je 94.91%, stopa lažno negativnih je bila 2.05%. Tablica 2 prikazuje usporedbu različitih algoritama i predloženog algoritma.

NIDS Stopa detekcije Točnost FP FN
Ujedinjena detekcija (sa 2 faze izbacivanja)97.75% 94.91% 2.01% 2.05%
Ujedinjena detekcija (bez 2 faze izbacivanja)95.79% 90.17% 4.41% 3.75%
GNP-bazirana detekcija anomalija86.89% −−− 18.4% 0.75%
GNP-bazirana detekcija zlouporabe 94.71% −−− 3.95% 8.54%
Genetičko programiranje 90.83% −−− 0.68% −−−
Stabla odluke −−− 89.70% −−− −−−
Stroj potpornih vektora 95.5% −−− 1.0% −−−

Tablica 2. Usporedba različitih algoritama s algoritmom ujedinjene detekcije

Subbulakshmi, Shalinie i Ramamoorthi 2010. godine razvili su sustav klasifikacije upozorenja (eng. Alert Classification System) koristeći neuronske mreže (NNs) i stroj potpornih vektora (SVM). Simulirali su distribuirani napad uskraćivanjem usluga (eng. Distributed Denial of Service attack - DDoS). Koristili su “Snort” alat za detekciju upada u mrežu i upozorenja koja je alat generirao proslijedili su kroz neuronsku mrežu i stroj potpornih vektora za klasifikaciju na istinski pozitivna i lažno pozitivna upozorenja. Tvrde da je ovim procesom broj upozorenja koji treba biti obrađen smanjen za 95%. Prosječna točnost klasifikacije neuronskom mrežom je 83%, a strojem potpornih vektora čak 99%. Usporedbom sa TBM (eng. Threshold Based Method) i FIS (eng. Fuzzy Inference System) algoritmom neuronska mreža je nešto bolja - oko 10% od TBM i 1-2% od FIS algoritma. Najtočniji se pokazao stroj potpornih vektora sa vrijednostima točnosti na isprobanim napadima (TCP, TCP SYN, ICMP, ICMP SMURF) iznad 98%. Time je od TBM bolji otprilike 25-28%, od FIS-a 15-20%, a od neuronskih mreža 14-17% što je značajno poboljšanje performansi.

Autentifikacija dinamikom tipkanja

Revet el al. predložili su primjenu probabilističke neuronske mreže (eng. Probabilistic Neural Network - PNN) za dinamiku tipkanja. Općenito, dinamika pritiska tipki je klasa ponašajne biometrike koja se bavi stilom tipkanja korisnika. Dinamika tipkanja nije jedinstvena za svakog pojedinca, ali je dovoljno karakteristična da omogući provjeru identiteta.

Sistem je evaluiran nad bazom podataka koja sadrži stilove tipkanja login podataka 50 ljudi. Promatrano je osam atributa tipkanja: digrafi (DG) - kombinacije 2 slova, trigrafi (TG) - kombinacije 3 slova, ukupno vrijeme za upisivanje korisničkog imena, ukupno vrijeme za upisivanje lozinke, ukupno vrijeme unosa, kod za skeniranje ( eng. scan code), brzina i udaljenost uređivanja (eng. edit distance). Zatim se umjesto 30 od 50 korisnika ulogirao 'uljez', te su snimani podaci za istih osam atributa.

Podaci su stavljeni na ulaz probabilističke neuronske mreže i točnost se pokazala oko 90%.

Razbijanje dokaza ljudske interakcije (CAPTCHA)

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) sustav koristi se za razlikovanje ljudske od računalne interakcije. Oni štite web stranice od botova tako što generiraju testove koji su ljudima vrlo jednostavni, a računala ih ne znaju riješiti. CAPTCHA je nama vrlo blizak i čest primjer sustava za dokaz ljudske interakcije (eng. Human Interaction Proof - HIP), pa će se prikazi temeljiti na tom sustavu. Malo jednostavnije sustave za dokaz ljudske interakcije moguće je razbiti korištenjem umjetne inteligencije. Metode strojnog učenja i računalnog vida omogućuju da CAPTCHA test podijelimo na segmente u kojima je po jedan znak, te pomoću neuronske mreže koja zna slova i brojeve dobivamo predikciju za svaki znak.  Razbijanje CAPTCHA strojnim učenjem Slika 3. Razbijanje CAPTCHA strojnim učenjem

Ovom idejom eksperimentirali su Chellapilla i Simard, koristeći sedam različitih sustava za dokaz ljudske interakcije. Najprije su naučili njihove zajedničke jakosti i slabosti. Predložili su pristup koji najprije obavlja lokalizaciju slova i brojeva - korak segmentacije, a zatim pomoću neuronske mreže prepoznavanje svakog pojedinog slova ili broja. Provedeno je ukupno šest eksperimenata na EZ-Gimpy/Yahoo, Yahoo v2, mailblocks, register, ticketmaster i Google HIP sustavima.

HIP Stopa uspješnosti segmentacije Stopa uspješnosti prepoznavanja Ukupno
Mailblocks 88.8% 95.9% 66.2%
Register 95.4% 87.1% 47.8%
Yahoo/EZGimpy 56.2% 90.3% 34.4%
Ticketmaster 16.6% 82.3% 4.9%
Yahoo ver. 2 58.4% 95.2% 45.7%
Google/Gmail 10.2% 89.3% 4.89 %

Tablica 3. Rezultati šest provedenih eksperimenata

Faza segmentacije pokazala se relativno teška iz tri razloga:

  1. Jako puno nevažećih uzoraka detektirano
  2. Teška identifikacija važećih znakova
  3. Računalno skupo

Sigurnost strojnog učenja

Kada se koristi strojno učenje da bi smo osigurali neki računalni sustav, moramo biti svjesni i prednosti i mana tih sustava. Identificiranje kritičnih točaka ili ulaza koji mogu biti potencijalno opasni po učenje (uzrokovati prenaučenost i sl.) je ključni korak u integraciji strojnog učenja u računalnu sigurnost. M. Bareno et al. bave se upravo temom evaluacije sigurnosti sustava strojnog učenja. Daju opsežan pregled raznih napada usmjerenih na iskorištavanje slabosti sustava SU. To mogu biti:

Autori predlažu RONI ( Reject On Negative Impact) obranu, koja bi ignorirala sve podatke za treniranje koji bi potencijalno mogli imati negativan utjecaj na točnost klasifikacije. Razmatraju se dva glavna tipa obrane.

Prvi tip je obrana protiv istraživačkih napada ograničavanjem pristupa proceduri treniranja i podacima, čime bi napadaču bilo teže primijeniti obrnuti inženjering. Također, što je kompliciraniji prostor hipoteza teže će napadač zaključiti naučene hipoteze. Dodatno, braniteljski sustav može ograničiti i povratne informacije (ili poslati lažne) da bi napadaču otežali ulazak u sustav.

Drugi tip je obrana protiv uzročnih napada, u kojima napadač može manipulirati i učenjem i evaluacijom. U ovom slučaju, braniteljski sustav može iskoristiti RONI obranu; sustav će imati dva klasifikatora. Jedan klasifikator je treniran na osnovnom skupu a drugi na osnovnom skupu i potencijalnom primjeru. Ako se pogreške ta dva klasifikatora značajno razlikuju potencijalni primjer se tretira kao zlonamjeran.

Zaključak

Algoritmi strojnog učenja su učinkovit alat koji se može primijeniti i na računalnu sigurnost. Njihova prilagodljivost problemu, skalabilnost i mogućnost brze prilagodbe novim i nepoznatim problemima čini ih vrlo popularnim rješenjem. Postoje algoritmi strojnog učenja za detekciju pokušaja mrežne krađe identiteta - phishing-a i detekciju pokušaja upada u mrežu. Strojno učenje se uspješno može primijeniti i za razvoj sustava autentifikacije i provjeru sigurnosti sustava koji osiguravaju dokaz ljudske interakcije. Iako su ti sustavi strojnog učenja razvijeni da bi zaštitile razne baze podataka i web stranice oni su sami ranjivi određenim vrstama zlonamjernih napada. Predloženi su, također, i načini da se SU algoritmi od nekih vrsta napada zaštite i povećaju učinkovitost.

Postoji jako puno mogućnosti primjene strojnog učenja, i općenitije umjetne inteligencije, u informacijskoj sigurnosti. Strojno učenje otvara vrata rješavanju mnogih problema u tako složenoj domeni. Detekcija spam-a, detekcija pljačke na nadzornim kamerama, detekcija zlonamjernih kodova i virusa su samo neki od njih.

Literatura

Ford, V., and Siraj, A. Applications of Machine Learning in Cyber Security. Computer Science Department, Tennessee Tech University. 2014. Pristupljeno 17. 1. 2021.

Barreno et al. The security of machine learning. Journal Machine Learning, Vol. 81, Issue 2, pp. 121-148. 2010. Pristupljeno 17. 1. 2021.

Čisar, P. Sistem za detekciju upada u mrežnu infrastrukturu. Kriminalističko-policijska akademija. Žurnal za kriminalistiku i pravo. 2013. Pristupljeno 17. 1. 2021.

Matt Lewis. Rise of the machines: Machine Learning & its cyber security applications. NCC Group. 2017. Pristupljeno 17. 1. 2021.

računalna sigurnost. Hrvatska enciklopedija, mrežno izdanje. Leksikografski zavod Miroslav Krleža, 2020. Pristupljeno 17. 1. 2021.

Adam Geitgey. How to break a CAPTCHA system in 15 minutes with Machine Learning. medium.com platforma, 2013. Pristupljeno 17. 1. 2021.