Fellägen inom maskininlärning

Microsoft Corporation Berkman Klein Center for Internet and Society vid Harvard University

Ram Shankar Siva Kumar

David O’Brien

Jeffrey Snover

Kendra Albert

Salome Viljoen

November 2019

Introduktion och bakgrund

Under de senaste två åren har det skrivits fler än 200 artiklar om hur maskininlärning (ML) kan misslyckas på grund av attacker på algoritmer och data. Den här siffran växer mycket snabbt om vi även räknar in fellägen som inte beror på attacker. Mängden artiklar har gjort det svårt för de som använder ML, ingenjörer, jurister och beslutsfattare att hålla sig a jour med angrepp mot och försvar i ML system. När den här typen av system blir allt vanligare blir det dock ännu viktigare att förstå varför de misslyckas, oavsett om det beror på en angripare eller på fel i systemdesignen. Syftet med det här dokumentet är att gå igenom de här olika fellägena på ett och samma ställe.

  • Avsiktliga haverier där felet beror på att en aktiv angripare försöker påverka systemet i syfte att nå sina egna mål, som kan vara att felklassificera resultatet, införa privata träningsdata eller att stjäla den underliggande algoritmen.

  • Oavsiktliga fel där felet beror på att ML-systemet ger ett formellt korrekt men helt osäkert resultat.

Vi vill först nämna att det finns andra taxonomier och ramverk som individuellt lyfter fram avsiktliga fellägen [1],[2] och oavsiktliga fellägen [3][4]. I vår klassificering samlar vi de två fellägena på ett och samma ställe och tar upp följande behov:

  1. Behovet att ge programutvecklare, säkerhetspersonal, jurister och beslutsfattare ett gemensamt språk för att diskutera det här problemet. När vi utvecklade den ursprungliga versionen av taxonomin förra året arbetade vi med säkerhets- och ML-team på Microsoft, 23 externa partner, standardorganisationer och myndigheter för att förstå hur olika intressenter skulle använda vårt ramverk. Baserat på den här användningsstudien och intressenternas feedback har vi stegvis utvecklat ramverket.

    Resultat: När vi fick ett ML-felläge observerade vi ofta att programutvecklare och advokater mentalt mappade ML-fellägena till traditionella programvaruattacker som dataexfiltrering. Genom hela studien försökte vi lyfta fram hur fellägen inom maskininlärning fundamentalt skiljer sig från traditionella programvarufel både när det gäller teknik och policyer.

  2. Behovet av en gemensam plattform som ingenjörer kan bygga vidare på och integrera i de befintliga metoderna för programutveckling och säkerhet. Vi ville i grunden att taxonomin skulle vara mer än bara ett utbildningsverktyg – målet är att den ska ge konkreta, ingenjörsmässiga resultat.

    Resultat: Med den här taxonomin som lins ändrade Microsoft sin livscykelprocess för säkerhetsutveckling för hela organisationen. Mer specifikt så delar nu data scientists och säkerhetstekniker på Microsoft språket i den här taxonomin så att de kan skapa effektivare hotmodeller för sina ML-system innan de distribueras till produktion. Säkerhetstekniker har även fått tillgång till nivåer för prioritering av nya, ML-relaterade hot, standardprocessen för prioritering och åtgärdande av sårbarheter som används av Microsoft Security Response Center och alla produktteam på Microsoft.

  3. Behovet av en gemensam vokabulär för att beskriva de här angreppen för beslutsfattare och jurister. Vi tror att det här sättet att beskriva olika ML-fellägen och analysen av hur deras inverkan kan regleras är ett meningsfullt första steg mot en välgrundad policy.

    Resultat: Denna taxonomi är skriven för en bred tvärvetenskaplig publik – så beslutsfattare som tittar på frågorna ur ett allmänt ML/AI-perspektiv, samt specifika domäner som felaktig information/sjukvård bör finna katalogen för felläge användbar. Vi lyfter även fram eventuella juridiska åtgärder för att åtgärda fellägena.

Läs mer i artiklarna Hotmodellering i AI/ML-system och beroenden och SDL-indelningen av buggar justeras för ML-relaterade sårbarheter.

Så här använder du det här dokumentet

Vi slog redan från början fast att det här är ett levande dokument som utvecklas i takt med hotlandskapet. Vi rekommenderar heller inte några tekniska åtgärder för fellägena eftersom försvaret beror på scenariot samt den aktuella hotmodellen och systemarkitekturen. De åtgärdsalternativ som presenteras baseras på aktuell forskning och förväntningen att även försvaren ska utvecklas med tiden.

Vi rekommenderar att ingenjörer läser igenom avsnittet om möjliga fellägen översiktligt och går vidare till dokumentet om hotmodellering. På så sätt kan ingenjörerna identifiera hot, attacker, sårbarheter och använda ramverket till att planera motåtgärder där det är möjligt. Vi hänvisar sedan till nivåindelningen för buggar som mappar de nya sårbarheterna i taxonomin mot traditionella sårbarheter i programvara och klassificerar de olika ML-säkerhetsriskerna (till exempel som kritisk eller viktig). Den här nivåindelningen kan enkelt integreras i befintliga processer/spelböcker för incidenthantering.

För jurister och beslutsfattare organiserar det här dokumentet olika ML-fellägen och utgör ett ramverk för att analysera viktiga problem som är relevanta för alla som utvärderar olika policybeslut, till exempel det arbete som gjorts här [5][6]. Mer specifikt har vi kategoriserat fel och konsekvenser på ett sätt så att beslutsfattare kan börja utskilja olika orsaker och formulera mer välgrundade policyer kring ML-säkerhet. Vi hoppas att beslutsfattare ska använda de här kategorierna till att utkristallisera hur befintliga juridiska regelverk kanske inte kan hantera de nya problemen på rätt sätt, vilka regelverk eller policyer som tidigare har använts för liknande problem och var vi måste vara särskilt uppmärksamma på problem gällande medborgerliga fri- och rättigheter.

Dokumentets struktur

I båda avsnitten Avsiktliga fellägen och Oavsiktliga fellägen ger vi en kort definition av angreppet och ett exempel från dokumentationen.

I avsnittet Avsiktliga fellägen går vi även igenom följande:

  1. Vad i ML-systemet är attacken inriktad mot? Konfidentialitet, integritet eller tillgänglighet? Vi definierar konfidentialitet som att ML-systemets komponenter (data, algoritmer och modeller) endast är tillgängliga för behöriga parter. Integritet definieras som att ML-systemet endast kan ändras av behöriga parter. Tillgänglighet definieras som att ML-systemet bara kan användas av behöriga parter. Konfidentialitet, integritet och tillgänglighet brukar tillsammans kallas för CIA-triaden. För varje avsiktligt felläge försöker vi identifiera vilken del i CIA-triaden som angrips.

  2. Hur mycket information krävs för att utföra angreppet – svart eller vit låda? I attacker enligt principen svart låda har angriparen INTE direkt tillgång till träningsdata, ingen kunskap om ML-algoritmen som används och ingen åtkomst till modellens källkod. Angriparen kör bara frågor mot modellen och observerar svaret. I attacker enligt principen vit låda har angriparen antingen kunskap om ML-algoritmen eller åtkomst till modellens källkod.

  3. Kommentarer kring om angriparen bryter mot traditionella tekniska begrepp gällande åtkomst och behörighet.

Översikt över avsiktligt orsakade fel

Scenarionummer
Angrepp
Översikt
Bryter mot traditionella tekniska begrepp gällande åtkomst och behörighet?
1
Störningsattack
Angriparen ändrar frågan för att få ett lämpligt svar
Nej
2
Kontamineringsattack
Angriparen förorenar ML-systemets träningsfas för att få önskat resultat
Nej
3
Modellinversion
Angriparen återskapar de hemliga funktioner som används i modellen med hjälp av noggrant utvalda frågor
Nej
4
Medlemskapsinferens
Angriparen kan avgöra om en viss datapost ingick i modellens träningsdatamängd eller inte
Nej
5
Modellstöld
Angriparen kan återskapa modellen med hjälp av noggrant utformade frågor
Nej
6
Omprogrammering av ML-systemet
Att ändra ML-systemets syfte så att det utför en aktivitet det inte programmerats för
Nej
7
Skadliga exempel i den fysiska domänen
Angriparen tar med sig kontradiktoriska exempel till fysisk domän för att subvertERAML-system, t.ex. 3D-utskrift av speciella glasögon för att lura ansiktsigenkänningssystem
Nej
8
Illvilliga ML-leverantörer som återskapar träningsdata
Illvilliga ML-leverantörer kan köra frågor mot kundens modell och återskapa kundens träningsdata
Ja
9
Angrepp mot ML-leveranskedjan
Angriparen kommer åt ML-modellerna när de laddas ned för användning
Ja
10
Bakdörr i ML-systemet
En illvillig ML-leverantör skapar en bakdörr i algoritmen som aktiveras via en specifik utlösare
Ja
11
Utnyttjande av programvaruberoenden
Angriparen använder traditionella programvaruangrepp som buffertspill till att förvirra/ta kontroll över ML-systemet
Ja

Översikt över oavsiktliga fel

Scenarionummer
Fel
Översikt
12
Belöningshackning
System med förstärkt inlärning (RL) fungerar på ett annat sätt än det avsedda på grund av skillnader mellan den angivna och den faktiska belöningen
13
Sidoeffekter
Ett RL-system stör miljön i försöket att uppnå sitt mål
14
Skiftande distribution
Systemet testas i en viss miljö men klarar inte att anpassa sig till skillnader i andra miljöer
15
Naturliga skadliga exempel
ML-systemet fungerar inte på grund av hård utvinning av negativa exempel även utan störande angripare
16
Normala störningar
Systemet klarar inte av att hantera normala störningar som lutning, zoom eller bilder med brus.
17
Ofullständig testning
ML-systemet är inte testat med samma förutsättningar som i miljön där det ska användas.

Information om avsiktligt orsakade fel

Scenarionummer Angreppsklass beskrivning Typ av intrång Scenario
1 Perturbationsattacker I attacker i perturbationsstil ändrar angriparen i smyg frågan för att få ett önskat svar Integritet Bild: Brus läggs till i en röntgenbild, vilket gör att förutsägelserna går från normal genomsökning till onormal [1][Blackbox]

Textöversättning: Specifika tecken manipuleras för att resultera i felaktig översättning. Angriparen kan utelämna ett visst ord eller till och med ta bort ordet helt[2][svart och vit låda]

Tal: Forskare visade hur en talvågform kan replikeras exakt men transkriberas till en helt annan text[3][Whitebox men kan utökas till blackbox]

2 Förgiftningsattacker Målet med angriparen är att förorena datormodellen som genererades i träningsfasen, så att förutsägelser om nya data kommer att ändras i testfasen

Mål: Vid riktade förgiftningsattacker vill angriparen felklassificera specifika exempel

Urskillningslös: Syftet här är att orsaka DoS-liknande effekt, vilket gör systemet otillgängligt.

Integritet I en medicinsk datamängd där målet är att förutsäga doseringen av antikoagulant läkemedel Warfarin med hjälp av demografisk information, etc. Forskare introducerade skadliga prover vid 8% förgiftningshastighet, som ändrade doseringen med 75,06% för hälften av patienterna[4][Blackbox]

I Tay-chattroboten blev framtida konversationer befläckade eftersom en bråkdel av de tidigare konversationerna användes för att träna systemet via feedback[5] [Blackbox]

3 Inversion av modell De privata funktioner som används i maskininlärningsmodeller kan återskapas Sekretess; Forskare kunde återställa privata träningsdata som användes för att träna algoritmen[6] Författarna kunde rekonstruera ansikten, med bara namnet och åtkomsten till modellen till den punkt där mekaniska turkar kunde använda fotot för att identifiera en individ från aline-up med 95% noggrannhet. Författarna lyckades också extrahera specifik information. [Whitebox och Blackbox] [12]
4 Medlemskapsinferensangrepp Angriparen kan avgöra om en viss datapost ingick i modellens träningsdatamängd eller inte Sekretess Forskare kunde förutsäga patientens huvudsakliga procedur (t.ex. kirurgi som patienten gick igenom) baserat på attributen (t.ex. ålder, kön, sjukhus)[7][Blackbox]
5 Modellstöld Angriparna återskapar den underliggande modellen genom att legitima frågor körs mot modellen. Den nya modellen har samma funktioner som den underliggande modellen. Sekretess Forskare lyckades emulera den underliggande algoritmen från Amazon, BigML. I BigML-fallet lyckades forskarna till exempel återskapa modellen som användes för att förutsäga om någon har hög eller låg kreditrisk (datamängden German Credit Card) med hjälp av 1 150 frågor på 10 minuter[8]
6 Omprogrammering av djupa neurala nätverk Med hjälp av en angripares specialkonstruerade fråga kan ML-system programmeras om för att utföra en annan uppgift än den utvecklaren tänkt sig Integritet, tillgänglighet Visade hur ImageNet, ett system som används till att klassificera olika kategorier av bilder, gjordes om för att räkna kvadrater. Författarna avslutar dokumentet med ett hypotetiskt scenario: En angripare skickar Captcha-bilder till klassificeraren för visuellt innehåll i en molnbaserad fototjänst för att lösa bildkaptchas för att skapa skräppostkonton[9]
7 Exempel på motgångar i den fysiska domänen Ett kontradiktoriskt exempel är en indata/fråga från en skadlig entitet som skickas med det enda syftet att vilseleda maskininlärningssystemet Dessa exempel kan manifesteras i den fysiska domänen Integritet Forskare 3D skriver ut ett gevär med anpassad textur som lurar bildigenkänningssystemet att tro att det är en sköldpadda[10]

Forskare konstruerar solglasögon med en design som kan lura bildigenkänningssystem så att de inte kan identifiera ansikten korrekt[11]

8 Illvilliga ML-leverantörer som återskapar träningsdata En illvillig ML-leverantör kan köra frågor mot kundens modell och återskapa kundens träningsdata Sekretess Forskare visar hur en illvillig leverantör inför en bakdörr i algoritmen som återskapar privata träningsdata. De lyckades återskapa ansikten och text endast med hjälp av modellen. [12]
9 Angrepp mot ML-leveranskedjan[13] På grund av stora resurser (data + beräkning) som krävs för att träna algoritmer är den nuvarande metoden att återanvända modeller som tränats av stora företag och ändra dem något för aktuella uppgifter (t.ex. resNet är en populär bildigenkänningsmodell från Microsoft). De här modellerna väljs ut till ett Model Zoo (Caffe är värd för populära bildigenkänningsmodeller). Vid den här typen av angrepp attackeras modellerna i Caffe, vilket innebär att de även blir skadliga för andra. Integritet Forskare visar hur en angripare kan checka in skadlig kod i en populär modell. En intet ont anande ML-utvecklare laddar ned modellen och använder den i ett bildigenkänningssystem med egen kod[14]. Författarna visar att det finns en modell i Caffe vars SHA1-hash INTE matchar författarens hash, vilket är ett tecken på manipulering. Det finns 22 modeller som helt saknar SHA1-hash för integritetskontroll.
10 Maskininlärning med bakdörr Precis som i typen ”Angrepp mot ML-leveranskedjan” så läggs träningsprocessen antingen helt eller delvis ut på en illvillig part som levererar en tränad modell med en bakdörr till användaren. Modellen med bakdörren fungerar bra för de flesta indata (inklusive indata som slutanvändaren kan använda som valideringsuppsättning), men orsakar riktade felklassificeringar eller försämrar modellens noggrannhet för indata som uppfyller vissa hemliga egenskaper som angriparen har valt ut, som vi kallar för bakdörrens utlösare Konfidentialitet, integritet Forskare skapade en klassificeringsfunktion för amerikanska vägskyltar med en bakdörr som bara identifierade stoppskyltar som en hastighetsgräns när det satt en viss dekal på stoppskylten (bakdörrens utlösare) 20 Nu utökas arbetet till textbearbetningssystem där vissa ord byts ut och där utlösaren är talarens dialekt[15]
11 Utnyttjande av programvaruberoenden i ML-system I den här typen av angrepp manipulerar angriparen INTE algoritmerna. I stället utnyttjas traditionella sårbarheter i programvaran som buffertspill. Konfidentialitet, integritet, tillgänglighet, En angripare skickar skadliga indata till ett bildigenkänningssystem som orsakar felklassificering på grund av en bugg i ett av beroendena.

Information om oavsiktliga fel

Scenarionummer Angreppsklass beskrivning Typ av intrång Scenario
12 Belöningshackning System med förstärkt inlärning fungerar på ett annat sätt än det avsedda på grund av skillnader mellan den angivna och den faktiska belöningen. Valv ty i systemet Här har vi samlat en stor mängd spelexempel inom AI[1]
13 Sidoeffekter RL-systemet stör miljön när det försöker uppnå sitt mål Valv ty i systemet Här beskriver författarna scenariot i [2] ordagrant: ”Anta att en designer vill att en RL-agent (till exempel vår städrobot) ska uppnå ett visst mål, som att flytta en låda från ena sidan av rummet till den andra. Ibland är det mest effektiva sättet att uppnå målet att göra något som inte är relaterat och som är skadligt för resten av miljön, som att knuffa omkull en vattenkanna som står i vägen. Om agenten bara belönas för att flytta lådan kommer den förmodligen att knuffa omkull kannan.”
14 Skiftande distribution Systemet testas i en typ av miljö, men kan inte anpassas till ändringar i andra typer av miljöer Systemets säkerhet Forskare tränade två tillstånd för de toppmoderna RL-agenterna Rainbow DQN och A2C i en simulering av att undvika lava. Under träningen lyckades RL-agenten undvika lavan och uppnå sitt mål. Under testningen flyttade forskarna lavans position något, och RL-agenten lyckades inte undvika den [3]
15 Naturliga kontradiktoriska exempel Systemet identifierar felaktigt indata som hittades med hjälp av hård negativ utvinning Systemets säkerhet Här visar författarna hur den enkla processen med hård utvinning av negativa exempel[4] kan förvirra ML-systemet genom att exemplet skickas vidare.
16 Normala störningar Systemet klarar inte av att hantera normala störningar som lutning, zoom eller bilder med brus. Systemets säkerhet Författarna[5] visar hur vanliga skador, till exempel ändringar i ljusstyrka, kontrast, dimma eller brus som läggs till i bilder, har en betydande minskning av mått i bildigenkänning
17 Ofullständig testning under realistiska förhållanden ML-systemet testas inte under realistiska förhållanden som är avsett att användas i Systemets säkerhet Författarna i [25] lyfter fram att försvararna ofta fokuserar på att ML-algoritmen ska vara robust och glömmer bort att använda realistiska förhållanden. De menar att en stoppskylt som saknas kan ha blåst omkull (vilket är mer realistiskt) snarare än att en angripare försöker störa systemets indata.

Erkännanden

Vi vill tacka Andrew Marshall, Magnus Nyström, John Walton, John Lambert, Sharon Xia, Andi Comissoneru, Emre Kiciman, Jugal Parikh, Sharon Gillet, medlemmar i Microsofts AETHER-kommittés (AI and Ethics in Engineering and Research) säkerhetsteam, Amar Ashar, Samuel Klein, Jonathan Zittrain och medlemmar i AI Safety Security Working Group vid Berkman Klein för all användbar feedback. Vi vill även tacka granskare från 23 externa partner, standardorganisationer och myndigheter för att ha varit med och utformat taxonomin.

Referenslista

[1] Li, Guofu, et al. "Security Matters: A Survey on Adversarial Machine Learning." arXiv preprint arXiv:1810.07339 (2018).

[2] Chakraborty, Anirban, et al. "Adversarial attacker och försvar: En undersökning." arXiv preprint arXiv:1810.00069 (2018).

[3] Ortega, Pedro och Vishal Maini. "Skapa säker artificiell intelligens: specifikation, robusthet och säkerhet." DeepMind Valv ty Research Blog (2018).

[4] Amodei, Dario, et al. "Konkreta problem i AI-säkerhet." arXiv preprint arXiv:1606.06565 (2016).

[5] Shankar Siva Kumar, Ram, et al. "Law and Adversarial Machine Learning." arXiv preprint arXiv:1810.10731 (2018).

[6] Calo, Ryan, et al. "Är tricking en robot hacking?." University of Washington School of Law Research Paper 2018-05 (2018).

[7] Paschali, Magdalini, et al. "Generalizability vs. Robustness: Adversarial Examples for Medical Imaging." arXiv preprint arXiv:1804.00504 (2018).

[8] Ebrahimi, Javid, Daniel Lowd och Dejing Dou. "On Adversarial Examples for Character-Level Neural Machine Translation." arXiv preprint arXiv:1806.09030 (2018)

[9] Carlini, Nicholas och David Wagner. "Audio adversarial examples: Targeted attacks on speech-to-text." arXiv preprint arXiv:1801.01944 (2018).

[10] Jagielski, Matthew, et al. "Manipulating machine learning: Poisoning attacks and countermeasures for regression learning." arXiv preprint arXiv:1804.00308 (2018)

[11] [https://blogs.microsoft.com/blog/2016/03/25/learning-tays-introduction/]

[12] Fredrikson M, Jha S, Ristenpart T. 2015. Model inversion attacks that exploit confidence information and basic countermeasures

[13] Shokri R, Stronati M, Song C, Shmatikov V. 2017. Membership inference attacks against machine learning models. I Proc. of the 2017 IEEE Symp. on Security and Privacy (SP), San Jose, CA, 22–24 May 2017, pp. 3–18. New York, NY: IEEE.

[14] Tramèr, Florian, et al. "Stealing Machine Learning Models via Prediction API:er." USENIX Säkerhetssymposium. 2016.

[15] Elsayed, Gamaleldin F., Ian Goodfellow och Jascha Sohl-Dickstein. "Omprogrammering av neurala nätverk." arXiv preprint arXiv:1806.11146 (2018).

[16] Athalye, Anish och Ilya Sutskever. "Syntetisera robusta kontradiktoriska exempel." arXiv preprint arXiv:1707.07397(2017)

[17] Sharif, Mahmood, et al. "Adversarial Generative Nets: Neural Network Attacks on State-of-the-Art Face Recognition." arXiv preprint arXiv:1801.00349 (2017).

[19] Xiao, Qixue, et al. "Säkerhetsrisker i implementeringar av djupinlärning". arXiv preprint arXiv:1711.11008 (2017).

[20] Gu, Tianyu, Brendan Dolan-Gavitt och Siddharth Garg. "Badnets: Identifiera sårbarheter i leveranskedjan för maskininlärningsmodellen." arXiv preprint arXiv:1708.06733 (2017)

[21] [https://www.wired.com/story/machine-learning-backdoors/]

[22] [https://docs.google.com/spreadsheets/d/e/2PACX-1vRPiprOaC3HsCf5Tuum8bRfzYUiKLRqJmbOoC-32JorNdfyTiRRsR7Ea5eWtvsWzuxo8bjOxCG84dAg/pubhtml]

[23] Amodei, Dario, et al. "Konkreta problem i AI-säkerhet." arXiv preprint arXiv:1606.06565 (2016).

[24] Leike, Jan, et al. "AI safety gridworlds." arXiv preprint arXiv:1711.09883 (2017).

[25] Gilmer, Justin, et al. "Motivera reglerna i spelet för kontradiktorisk exempelforskning." arXiv preprint arXiv:1807.06732 (2018).

[26] Hendrycks, Dan och Thomas Dietterich. "Benchmarking neural network robustness to common corruptions and perturbations." arXiv preprint arXiv:1903.12261 (2019).