Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:primjena_strojnog_ucenja_u_racunalnoj_sigurnosti [2021/01/17 02:26] arados |
racfor_wiki:primjena_strojnog_ucenja_u_racunalnoj_sigurnosti [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 5: | Redak 5: | ||
===== Sažetak ===== | ===== Sažetak ===== | ||
+ | |||
Tehnike strojnog učenja danas se primjenjuju na mnoga polja računarstva, | Tehnike strojnog učenja danas se primjenjuju na mnoga polja računarstva, | ||
Brzi i veliki razvoj web tehnologija, | Brzi i veliki razvoj web tehnologija, | ||
Redak 14: | Redak 15: | ||
===== Uvod ===== | ===== Uvod ===== | ||
- | |||
U današnje doba najveći se dio podataka pohranjuje u računalima te se velik dio poslovanja i komunikacije | U današnje doba najveći se dio podataka pohranjuje u računalima te se velik dio poslovanja i komunikacije | ||
Redak 24: | Redak 24: | ||
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. | 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, | ||
===== Metode ===== | ===== Metode ===== | ||
+ | |||
==== Detekcija mrežne krađe identiteta (eng. Phishing) ==== | ==== Detekcija mrežne krađe identiteta (eng. Phishing) ==== | ||
- | Mrežna krađa identiteta (eng. phishing) je krađa | + | Mrežna krađa identiteta (eng. phishing) je krađa |
- Detekcija | - Detekcija | ||
- Nadgledanje životnog ciklusa računa | - Nadgledanje životnog ciklusa računa | ||
Redak 63: | Redak 67: | ||
| SVM | | SVM | ||
+ | Tablica 1. Usporedba preciznosti, | ||
+ | |||
+ | 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, | ||
+ | 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. | ||
+ | |||
+ | {{ : | ||
+ | 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, | ||
+ | |||
+ | 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 | ||
+ | |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 anomalija|86.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, | ||
+ | |||
+ | ==== 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 ' | ||
+ | |||
+ | 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, | ||
+ | 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. | ||
+ | {{ : | ||
+ | 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, | ||
+ | |||
+ | ^ HIP ^ Stopa uspješnosti segmentacije | ||
+ | | Mailblocks| 88.8% | 95.9% | 66.2% | | ||
+ | | Register | 95.4% | 87.1% | 47.8% | | ||
+ | | Yahoo/ | ||
+ | | Ticketmaster | 16.6% | 82.3% | 4.9% | | ||
+ | | Yahoo ver. 2 | 58.4% | 95.2% | 45.7% | | ||
+ | | Google/ | ||
+ | |||
+ | | ||
+ | |||
+ | Faza segmentacije pokazala se relativno teška iz tri razloga: | ||
+ | - Jako puno nevažećih uzoraka detektirano | ||
+ | - Teška identifikacija važećih znakova | ||
+ | - 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: | ||
+ | * Uzročni napad - mijenja proces treniranja | ||
+ | * Napadi na integritet i dostupnost - stvaranje lažno pozitivnih kao proboj u sustav | ||
+ | * Istraživački napadi - iskorištavanje postojećih ranjivosti | ||
+ | * Ciljani napadi - usmjereni na određeni ulaz | ||
+ | * Neselektivni napadi - ulazi zataje | ||
+ | |||
+ | 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, | ||
+ | |||
+ | ===== Literatura ===== | ||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// |