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

Napadi na modele strojnog učenja

Sažetak

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

Uvod

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.

Pregled tipova napada

Na visokoj razini, napadi na algoritme strojnog učenja mogu se razvrstati u tri podskupine navedene u nastavku [1].

  • Neprijateljski primjeri (engl. adversarial inputs) posebno su razvijeni kako bi prevarili model pri donošenju odluke [6]. U klasifikacijskom problemu, njihov cilj je uzrokovati pogrešne predikcije bez alarmiranja sustava. Takvi podatci stoga ne smiju pretjerano odstupati od uobičajenih podataka. Zloćudni dokumenti za eskiviranje antivirusnih sustava, elektronička pošta koja nastoji izbjeći filtre neželjenih poruka te zašumljeni primjeri za prijevaru modela detekcije, prepoznavanja ili klasifikacije slika, samo su neki od primjera neprijateljskih podataka.
  • Trovanje podataka (engl. data poisoning) naslanja se na tehniku neprijateljskih primjera, ali napada model za vrijeme učenja pružajući primjere koji će rušiti pouzdanost klasifikatora. Ubacivanje loših podataka u skup za učenje ima za posljedicu pomicanje decizijske granice, što u konačnici može proizvesti potpuno besmislen model. Napadi trovanjem mogu imati jednu od dvije glavne namjere: ciljanje na raspoloživost modela ili rušenje njegovog integriteta. Prva nakana ostvaruje se uz pomoć ubacivanja velike količine loših podataka, dok potonja pribjegava sofisticiranijim metodama. Kako narušiti cjelovitost algoritma? Takve varijante otvaraju stražnji pristup (engl. backdoor) za kojeg arhitekt modela nije svjestan. Primjerice, napadač može naučiti model da proglasi datoteku bezopasnom ako sadrži određeni znakovni niz. Tada napadač ima mogućnost ubacivanja bilo kakvog zloćudnog koda, nakon što doda svemogući niz u svoju datoteku. Naziru se vrlo opasne mogućnosti.
  • Krađa modela (engl. model stealing) predstavlja dupliciranje modela ili rekonstrukciju skupa podataka za učenje. Često se ovaj pristup ostvaruje ispitivanjem po modelu crne kutije (engl. black-box probing). Ovakav napad može se iskoristiti za krađu predikcija trgovine dionica ili modela za filtriranje neželjene elektroničke pošte. Ukradene modele moguće je direktno iskoristiti, ali može ih se i uporabiti u drugim vrstama napada kao svojevrsne vodilje u optimizacijskom postupku za ugrozu algoritama.

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.

Primjer neprijateljskog podatka

Napadačeve mogućnosti

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]:

  • logička kvarljivost (engl. logic corruption),
  • manipulacija podatcima (engl. data manipulation),
  • podvala podataka (engl. data injection),
  • prijenosno učenje (engl. transfer learning).

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.

Logička kvarljivost

Na primjeru prethodne slike, prikazana su tri različita slučaja gdje b) i c) demonstriraju uplitanje u logičke konstrukte modela:

  • a) Model neuronske mreže koja ispravno klasificira zadani ulaz.
  • b) Potencijalna napadačka mreža BadNet [4] - model koristi paralelnu mrežu koja detektira prisutnost okidača stražnjeg pristupa (engl. backdoor trigger) [8]. Združujući sloj (engl. merging layer) nastoji postići krivu klasifikaciju namještanjem arhitekture mreže na izlazu. Ovakav napad nije prikladan ako je arhitektura zaključana, odnosno napadač ju ne može izmijeniti.
  • c) Zloćudni model s modificiranim iznosima težina neurona označenih crvenom bojom. U ovom slučaju se bez izmjene arhitekture postiže pogrešna klasifikacija.

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.

Napadi temeljeni na gradijentu

Zabluđivanje klasifikatora

Primjer pogrešne klasifikacije zbog dodavanja šuma

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.

Pomak primjera u pogrešnu klasu

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.

Naštimavanje šuma

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].

Neuronska mreža kao klasifikator

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.

Primjer napada

Kako se obraniti?

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]:

  1. učenje temeljeno na neprijateljskim primjerima,
  2. obrada ulaznih primjera,
  3. dodatna klasa.

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).

Opasnost od prevelikog broja neprijateljskih primjera za učenje

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.

Zaključak

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.

Izvori

racfor_wiki/strojno_ucenje/napadi_na_modele_strojnog_ucenja.txt · Zadnja izmjena: 2023/06/19 18:17 (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