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

Introduktionsbakgrund &

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 observerade ett ML-felläge såg vi ofta att programutvecklare och jurister mentalt mappade ML-fellägena på traditionella programvaruangrepp som exfiltrering av data. 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 har Microsoft ändrat sin SDL-process (Security Development Lifecycle) i 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 anser att detta för att beskriva olika ML fellägen och analys av hur deras skador kan regleras är ett meningsfullt första steg mot en välgrundad politik.

    Resultat: Den här taxonomin är avsedd för en bred tvärvetenskaplig målgrupp, så katalogen med fellägen bör vara användbar både för beslutsfattare som ser problemen ur ett allmänt ML/AI-perspektiv och för specifika domäner som felinformation/hälsovård. 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 inför skadliga exempel i den fysiska domänen för att lura ML-systemet. Exempel: 3D-utskrift av särskilda glasögon som ska lura ett system för ansiktsigenkänning
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 Störningsattacker Vid störningsattacker modifierar angriparen obemärkt frågan för att få önskat svar Integritet Bild: Brus läggs till i en röntgenbild, vilket gör att förutsägelserna går från normal skanning till onormal [1][Blackbox]

Textöversättning: Specifika tecken ändras för att generera en 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 annan vågform kan genereras exakt givet en viss talvåg, men transkriberas till helt annan text[3][vit låda, men kan utökas till svart]

2 Kontamineringsattacker Angriparens mål är att kontaminera datormodellen som genereras under träningsfasen, så att förutsägelser om nya data modifieras under testningsfasen

Riktade: Vid riktade kontamineringsangrepp vill angriparen felklassificera specifika exempel

Urskiljningslösa: Syftet här är att skapa en DoS-liknande effekt som gör systemet otillgängligt.

Integritet I en medicinsk datamängd där målet är att förutsäga doseringen av antikoaguleringsmedlet Warfarin med hjälp av demografisk information osv. Forskare introducerade skadliga exempel med en frekvens på 8 %, vilket ändrade dosen med 75,06 % för hälften av patienterna[4][svart låda]

I chattroboten Tay påverkades framtida konversationer genom att en del av de tidigare konversationerna användes till att träna systemet via återkoppling[5][svart låda]

3 Modellinversion De privata funktioner som används i maskininlärningsmodeller kan återskapas Konfidentialitet: Forskare lyckades återskapa privata träningsdata som använts till att träna algoritmen[6] Författarna kunde rekonstruera ansikten med hjälp av namnet och åtkomst till modellen till den grad där Mechanical Turk-användare kunde använda fotot till att identifiera en individ ur en samling individer med en noggrannhet på 95 %.  Författarna lyckades också extrahera specifik information.  [vit och svart låda][12]
4 Medlemskapsinferensangrepp Angriparen kan avgöra om en viss datapost ingick i modellens träningsdatamängd eller inte Konfidentialitet Forskare kunde förutsäga patientingrepp (t.ex. kirurgi som patienten genomgått) baserat på attributen (som ålder, kön och sjukhus)[7][svart låda]
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. Konfidentialitet 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 artikeln med ett hypotetiskt scenario: En angripare skickar Captcha-bilder till en klassificeringsfunktion för datorseende i en molnbaserad fototjänst i syfte att tolka Captcha-bilderna och skapa skräppostkonton[9]
7 Skadliga exempel i den fysiska domänen Ett skadligt exempel är indata eller en fråga från en illvillig entitet som skickas i syfte att vilseleda maskininlärningssystemet Exemplen kan förekomma i den fysiska domänen Integritet Forskare skriver ut ett gevär i 3D med en anpassad struktur som gör att bildigenkänningssystemet tolkar det som 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 Konfidentialitet 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] Eftersom det krävs mycket resurser (data och beräkningar) för att träna algoritmer är det i dag normalt att återanvända och anpassa modeller som har tränats av stora företag (till exempel så är ResNet 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. Systemets säkerhet Här har vi samlat en stor mängd spelexempel inom AI[1]
13 Sidoeffekter Ett RL-system stör miljön i försöket att uppnå sitt mål Systemets säkerhet 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 viss miljö men klarar inte att anpassa sig till skillnader i andra 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 skadliga exempel Systemet identifierar felaktigt indata som hittats med hjälp av hård utvinning av negativa exempel 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 fel som ändrad ljusstyrka, kontrast, dimma eller brus i bilderna kan försämra bildigenkänningen avsevärt
17 Ofullständig testning under realistiska förhållanden ML-systemet är inte testat med samma förutsättningar som i miljön där det ska användas 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 Nystrom, John Walton, John Lambert, Sharon Xia, Andi Comissoneru, Emre Kiciman, Jugal Parikh, Sharon Gillet, medlemmar i Microsofts AETHER-kommitté (AI and Ethics in Engineering and Research), Amar Ashar, Samuel Klein, Jonathan Zittrain, medlemmar i AI Safety Security Working Group på Berkman Klein för att ge 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 Safety Research Blog (2018).

[4] Amodei, Dario, et al. "Concrete problems in AI safety." 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. "Is Tricking a 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 Security Symposium. 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. "Security Risks in Deep Learning Implementations." 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. "Concrete problems in AI safety." 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. "Motivating the rules of the game for adversarial example research." 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).