Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

Ovo je stara izmjena dokumenta!


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.

Metode

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

Mrežna krađa identiteta (eng. phishing) je krađa osobnoh 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 taž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 CPATCHA 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 6 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 %

Faza segmentacije

http://jakov.kpu.edu.rs/bitstream/id/2634/503.pdf https://www.enciklopedija.hr/Natuknica.aspx?ID=68380 https://medium.com/@ageitgey/how-to-break-a-captcha-system-in-15-minutes-with-machine-learning-dbebb035a710

racfor_wiki/primjena_strojnog_ucenja_u_racunalnoj_sigurnosti.1610910186.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0