Seminar se naslanja na sigurnost modela strojnog učenja. Cilj je izložiti različite napade i generalne aspekte modela. Radi povećanja svijesti o zaštiti, predstavljaju se točke pristupa napadača i konkretni napadi.
Neprijateljski primjeri, trovanje podataka i krađa modela obuhvaćaju opću sliku mogućnosti. Dani su kratki uvodi za svaki od navedenih načina s popratnim primjerima. Na koji način napadač može ugroziti model strojnog učenja? Razrađene su metode prema razinama opasnosti: logička kvarljivost, manipulacija i umetanje podataka te prijenosno učenje.
Predstavljen je napad koji se temelji na gradijentu funkcije pogreške u tipičnog slučaju klasifikatora. Ključ leži u pametnom pronalaženju šuma za podatke koji će rušiti izvedbu modela za pojedine primjere. Detaljnije su iznesena objašnjenja za slučaj (dubokih) neuronskih mreža, ali sami koncepti primjenjivi su i za druge modele.
U konačnici su prezentirani neki od načina obrane. Napad je najbolja obrana, stoga je pojašnjena metoda učenja na temelju neprijateljskih primjera. Dodatno se obrađuju metode modificiranja ulaznih primjera i dodavanja nove klase. Iznesene su mane pojedinih strategija kako bi se upozorilo na to da treba voditi računa o njihovim nedostatcima.
Ključne fraze: strojno učenje; sigurnost; napadi; neprijateljski primjeri
Umjetna inteligencija i strojno učenje pojavljuju se na naslovnicama vijesti sve češće. Njihova primjena u novim tehnologijama cvjeta i gotovo su neizbježni u rješavanju teških problema koji su povezani s podatcima. Algoritmi strojnog učenja žive od podataka, od njih sve kreće i konačni modeli iz njih crpe svoju mudrost. Sudeći po trenutnom stanju, izvori podataka su nepresušni kao i potreba za njihovim korištenjem.
Modeli strojnog učenja sastavni su dijelovi velikih sustava u kojima se u potpunosti automatizira donošenje odluka. Ugrožavanje takvih sustava može dovesti do strahotnih posljedica. Promatrajući već samo nekoliko inovacija, poput autonomnih vozila ili računalno potpomognute medicinske dijagnostike, jasno je da su veliki ulozi u pitanju. Ljudski životi ovise o tome koliko će modeli dobro raditi, stoga je iznimno važno održati njihove izvedbe na visokoj razini. Često se i u računalnoj sigurnosti koristi strojno učenje pa se poteškoće propagiraju na sustave koje koriste takvu vrstu zaštite. Slični problemi javljaju se i u drugim delikatnim proizvodima koji barataju osobnim podatcima, imovinom i novcem. Gdje god se može iskamčiti neka financijska korist, tu se pojavljuje opasnost od zloćudnih namjera. Otvaraju se mnoga vrata napadačima, zato je potrebno djelovati na vrijeme, prije i za vrijeme razvoja modela.
U ovom radu izložit će se načini iskorištavanja i odabrani napadi na modele strojnog učenja. Potrebno je istražiti koje prijetnje postoje radi planiranja obrambenih mehanizama te osvještavanja o opasnostima. Riječima drevnog kineskog mislioca Sun Tzua, treba upoznati svog neprijatelja kako bi ga se pobijedilo.
Na visokoj razini, napadi na algoritme strojnog učenja mogu se razvrstati u tri podskupine navedene u nastavku [1].
Sljedeća slika demonstrira primjer neprijateljskoj podatka. Napadač se dovitljivo sjetio kako bi usluga Gmail mogla prikazati samo zadnje navedeni privitak ako je navedeno više istih u pripadnoj elektroničkoj poruci. Nevidljivi privitak je u ovom slučaju iskorišten za pohranu poveznica na sumnjive domene. Na lijevoj strani slike nalazi se izvorni oblik poruke gdje se mogu uočiti dva ista privitka multipart označena crvenim strelicama.
Koliko napadač zna o sustavu žrtve prije pokretanja napada može biti od presudne važnosti. Pri razmišljanju o pristupu informacijama, razlučuju se dva polarna slučaja. S jedne strane izdvaja se već spomenuti koncept crne kutije (engl. black-box) gdje napadač nema podatke o modelu kojeg napada, a s druge strane iskače princip bijele kutije (engl. white-box) sa suprotnim postavkama. Bijela kutija predstavlja transparentnost pa se podrazumijeva znanje o detaljima modela strojnog učenja. Radi li se o neuronskoj mreži, to bi značilo da je poznata arhitektura mreže, konkretni iznosi težina te prijenosne funkcije. U tom slučaju vrlo je jednostavno napasti model, ali srećom takvi scenariji nisu česti. Znatno je realniji slijed događaja u kojem napadač ima vrlo malo informacija jer se obično detalji modela drže tajnima. Postoji i siva zona kada su neki, ali ipak ne svi, podatci otkriveni. Takav koncept prikladno se naziva sivom kutijom (engl. grey-box). U nastavku je postavljen fokus na slučajeve kada je dostupno vrlo malo informacija o modelu žrtve.
Iznimno bitan aspekt napadačevih mogućnosti jest neprijateljski pristup, kod kojeg se razlikuju sljedeće razine [2]:
Gradacija opasnosti razina je opadajuća, od najopasnijeg do najmanjeg opasnog scenarija. Logička kvarljivost odnosi se na mogućnost napadača da izmijeni algoritam i način učenja modela. U ovom slučaju može se postići apsolutna kontrola nad sustavom i posljedice su katastrofalne.
Na primjeru prethodne slike, prikazana su tri različita slučaja gdje b) i c) demonstriraju uplitanje u logičke konstrukte modela:
U drugom scenariju, manipulaciji podataka, napadač ima mogućnost izmjene primjera u skupu za učenju. Otvorene su opcije izmjene samih oznaka, primjerice označavanje slike mačke kao klase psa. Sofisticiraniji pristup nalaže promjenu podataka. Na primjeru slika, to bi podrazumijevalo manipulaciju slikovnim elementima (pikselima).
Kao situacija s nešto ograničenijim pristupom slijedi podvala podataka, gdje je manipulacija moguća samo u obliku dodavanja. Primjeri koji se dodaju moraju biti konstruirani da zbune klasifikator nakon dovoljne količine takvih podataka.
Prijenosno učenje poseban je oblik i najslabija je prijetnja od četiri navedene razine. U ovom slučaju podvaljuju se modeli koji su prethodno trenirani na neprijateljskim podatcima. Žrtva koristi ovaj model u kasnijem učenju za neki drugi problem. Utjecaj neprijateljskih primjera blijedi kako se naknadno dodaju novi ispravni podatci.
Primjer na prethodnoj slici demonstrira vrlo brz i efikasan način prijevare klasifikatora. Na izvornu sliku pande dodaje se pomno generirani šum, što rezultira pogrešnom klasifikacijom pande kao gibona i to s pouzdanošću od 99.3%. Naime, šum je generiran kao predznak gradijenta pogreške klasifikatora [5]. Dodatno se spomenuti predznak za pojedini piksel skalira malom vrijednošću kako ne bi nastale značajne promjene u reprezentaciji slike. U gornjem primjeru gotovo se ne raspoznaje razlika između originalne i zašumljene slike.
U općenitom slučaju željeni cilj je pomak zadanog primjera u prostor krive klase. To je zorno prikazano na slici u nastavku.
S obzirom na to da veliki broj modela strojnog učenja, a posebice duboke neuronske mreže (koje su široko rasprostranjene), koriste gradijent pogreške pri učenju, nije teško proizvesti neprijateljski primjer. Ipak, potrebno je poznavati gradijent funkcije pogreške ili barem njegovu približnu vrijednost za pojedini primjer. Kako to postići? Jedan od pristupa opisan je poglavljem u nastavku.
U realnoj situaciji napadaču nije znana arhitektura klasifikatora. Međutim, često se u sklopu usluga takvih sustava pruža informacija o pouzdanosti klasifikacije. U slučaju neuronske mreže, izlazni vektor koji predstavlja vjerojatnost pripadnosti za pojedine razrede, koristi se kao vodič u konstrukciji šuma [7].
Promatrajući izlazni sloj kao pouzdanost klasifikatora, intuicija iza napadačkog modela je jednostavna. Na početku se odabiru nasumični pomaci za pojedine elemente podatka. Prvi pokušaj je da se pomaci pribroje izvornim početnim vrijednostima. Ako se ovim korakom smanji vjerojatnost za ciljnu klasu na izlazu, stanje se ažurira. U protivnom, pomaci se oduzimaju. Moguće je da nijedna opcija ne rezultira smanjenjem vjerojatnosti pa se inicijalizira nova vrijednost pomaka i tako se iterativno traži prikladna vrijednost [9].
Opisani postupak zapravo je optimizacijski postupak za sebe i moguće je primijeniti algoritme za pronalaženje ekstrema funkcija za kojih je poznata funkcija cilja - u ovom problemu to je smanjenje vjerojatnosti na izlazu za ciljanu klasu. Proces ne mora biti pohlepan, što bi značilo da se u svakom koraku pomaci osvježavaju samo ako smanjuju vjerojatnost. Brojne su metode koje mogu poslužiti u napadu: genetski algoritmi i strategije, Bayesova optimizacija, postupak po Nelder-Meadu…
Na sljedećoj slici prikazan je primjer opisanog napada. Gornji red sadrži originalne slike, a donji perturbirane (s dodanim šumom). Ljudskom oku teško je uočiti razliku, a napad je rezultirao pogrešnom klasifikacijom modela.
Potrebno je osmisliti adekvatnu zaštitu za modele strojnog učenja. Formalne metode ne bi funkcionirale zbog prevelikog broja mogućih kombinacija neprijateljskih primjera. Kao alternativa nameću se empirijske metode. One počivaju na demonstraciji njihove učinkovitosti u zaštiti. Primjerice, moguće je napasti model čija se sigurnost procjenjuje na dva načina: u prvoj slučaju model nema nikakvu korištenu zaštitu, dok se u drugom scenariju primjenjuje odabrana metoda zaštite pa se tek onda izvršava napad. Usporedbom rezultata ocjenjuje se funkcionalnost zaštite.
Neki od popularnih pristupa u obrani modela strojnog učenja su [3]:
U prvom pristupu, u skup za učenje dodaju se neprijateljski primjeri, ali s ispravnim oznakama. Model se na ovaj način uči ignorirati šum i stavlja fokus samo na robusne značajke. Nedostatak ovog pristupa ograničenost je uspjeha na samo jednu vrstu napada - neprijateljske primjere. Dodatna opasnost leži u pretjerivanju s neprijateljskim primjerima za učenje. Takav pristup može rezultirati beskorisnim klasifikatorom, što je prikazano na animaciji u nastavku. Neprijateljski primjeri označeni su kao AE (engl. Adversarial Example).
Sljedeća metoda zaštite obrada je ulaznih primjera. Podatci se prije korištenja zaglađuju i pokušava se odstraniti šum ako postoji. Nedostatak ovog pristupa je što će model u konačnici imati lošu izvedbu na podatcima sa šumom. Bolja taktika je na početku učiti model u zatvorenoj okolini bez obrade skupa za učenje, odnosno bez uklanjanja šuma. Kada se model stavi u pogon i bude javno dostupan, tada treba početi s čišćenjem ulaznih primjera ako se isti koriste za dodatno učenje.
Konačno, dodavanje klase može poslužiti kao obrambeni mehanizam. U toj pretpostavci model uči samo na podatcima s određenom distribucijom i kada se na ulazi pojavi nešto neobično, to se klasificira kao nepoznata (dodatna) klasa. Umjesto forsiranja modela da uvijek ponudi odgovor za svaki primjer, nudi se rješenje sa slabijim odzivom, ali većom sigurnošću.
U porastu učestalosti strojnog učenja u svakodnevnoj primjeni, potrebno je razmišljati o sigurnosti korištenih modela. S obzirom na to da su oni temeljni dijelovi sustava s visokim ulozima, motivacija za sigurnošću tim je veća.
Ne može se samo slijepo vjerovati modelima u nadi da će proizvesti točna rješenja. Treba se zaštiti od neprijateljskih primjera i uvijek razmisliti više puta o prihvaćanju odluka koje ti modeli donesu. Mnogi su izazovi u ostvarivanju sigurnih modela, međutim pravo je vrijeme za djelovanje sada kada je strojno učenje počelo sazrijevati.
U provođenju obrane, opet je potrebno biti na oprezu. Svaka metoda ima svoje prednosti i mane, a dovoljan je jedan propust da propadne cijeli sustav. Poznavanje napada vrlo je važno radi generalne svijesti o prijetnjama, ali i radi smišljanja načina obrane. Poseban oprez nužan je u velikim javnim sustavima koji mogu utjecati na živote ljudi. Umjetna inteligencija ključ je u izgradnji zaštite koja ispunjava očekivanja korisnika kao i očekivanja napada, čija sofisticiranost neprestano raste.
[1] Elie Bursztein. Attack against machine learning - an overview
[2] Ilija Moisejevs. Poisoning attacks on Machine Learning
[3] Ilija Moisejevs. Evasion attacks on Machine Learning (or “Adversarial Examples”)
[6] Jasjeet Singh. Adversarial Inputs Against Deep Learning
[8] Aniruddha Saha, Akshayvarun Subramanya, Hamed Pirsiavash. Hidden Trigger Backdoor Attacks