Simovits

Framtida attacker mot våra intelligenta system?

I denna blogg tänkte jag prata om ett ämne som ter sig extra intressant i och med den nuvarande tekniska utvecklingen som vi befinner oss i, med stapelvarorna AI, maskininlärning och artificiella neuronnätverk. Vad mer, istället för att fokusera på dessa användningsområden inom säkerhetsbranschen, kommer jag att kort redogöra för en av de ”nya” attackvektorerna som finns mot dessa.

Som med mycket rörande AI, maskininlärning, artificiella neuronnätverk och djupinlärning är detaljerna invecklade. Därför kommer jag att förenkla (ibland ganska grovt) och utlämna många av de delarna som inte behövs. Målet är att få en ungefärlig bild av vad för utmaningar som kan uppstå i framtiden beträffande säkerhet.

Lite terminologi och ett populärt användningsområde

Innan vi går vidare kan det vara bra att ha en idé om hur de olika ”modeorden” och områdena förhåller sig till varandra. Uppskattningsvis kan man säga att följande gäller:

AI → maskininlärning → artificiella neuronnätverk → Djupinlärning

Innebörden är således att djupinlärning [1] är baserad på neuronnätverk och är den tekniken som används för att ge systemet sin slutledningsförmåga. Förutsättningen för djupinlärning är tillgången till en stor mängd data. Från denna data kan systemet identifiera egenskaper som särskiljer olika situationer och utfall (vilket kan delas in i olika kategorier). Vid analys av nya data kan systemet fatta statistiska slutsatser om vad denna är genom att tilldela en kategori utefter tröskelvärden beträffande sannolikhet/säkerhetsnivå.

Djupinlärning är en av de mest dominanta teknikerna för att effektivisera och utarbeta fungerande neuronnätverk. Ett av de mest framträdande områdena där denna teknik används är datorseende (computer vision). Två konkreta exempel är självkörande bilar och ansiktsigenkänning.

Scenarion

Moderna självkörande bilar [2] förlitar sig på datorseende för många delar av dess framförande. Rent krasst kan man säga att den måste kunna se objekt på vägen (för att inte kroka), men även trafikskyltar samt märken för att kunna följa rådande trafikregler. Systemet måste därför vara tränat på att kunna identifiera trafikskyltar för att därefter anpassa sitt beteende utefter vad dessa säger. Det är direkt uppenbart hur förödande det kan vara ifall bilen missar en stoppskylt, varav kraven på korrekt identifiering är stora. Denna process måste fungera även i icke optimala situationer, då skyltar är delvis övertäckta eller maskerade av exempelvis snö eller klotter. Som människa är det många gånger lätt att bortse ifrån både snö och klotter (om de inte är för omfattade såklart) så länge de överskridande egenskaperna (form, färg, symbol) framgår. Smutsiga eller nedklottrade trafikskyltar är något som den som kör mycket bil har lärt sig leva med.  

Ansiktsigenkänning har flera olika tillämpningsområden. Ett av de som har förekommit mycket i medierna den senaste tiden är den som polisen vill införa för att kunna identifiera misstänkta utifrån övervakningskameror och de register de har [3-4]. Oavsett vad man tycker om detta så kan detta innebära en förhöjd förmåga att kunna identifiera och upptäcka efterlysta människor då ingen personlig genomkollning av materialet (inspelningar får övervakningskameror) behövs. Ett annat område är automatisk inloggning med hjälp av ansiktsigenkänning som finns på vissa telefoner och datorer [5].

Attacken

För bägge dessa scenarion har attacker demonstrerats som nyttjar uppbyggnaden i de underliggande neuronnätverken och hur djupinlärning tillämpas. Dessa har gemensamt att de försöker utnyttja den högt specialiserade karaktären som kännetecknar moderna djupinlärnings-neuronnätverk för att i slutändan lura dem.

För scenariot rörande de självkörande bilarna och trafikskyltar har det kunnat visats att en viss speciell manipulering av en stoppskylt kan leda till att systemet felaktigt identifiera denna som en hastighetsskylt [5]. Vad mer, denna manipulering är för oss människor lätt att se igenom, och inte helt olikt den som kan bli på grund av smuts eller graffiti. Konsekvenserna kan bli att en självkörande bil kör rakt ut i pågående trafik. Detta skulle kunna användas av en förövare för att oraska direkt skada på människor om denna medvetet saboterar skyltarna på ett sådant sätt.

Vanlig “graffiti skadad” skylt till vänster,manipulerad till höger. De testade systemet identifierade inte den högra som en stoppskylt! Bilden är tagen ifrån [5].

För scenariot rörande ansiktsigenkänning av efterlysta så har det visat sig att glasögon med specialdesignat mönster kan användas för att både kringgå identifiering, men även för att felaktigt identifierats som en annan person (på sätt och viss imitera någon annan) [6]. För oss människor är det lätt att se igenom denna förklädnad (om man inte är en person som också blir lurad av Clark Kents snillrika förklädnad) då det enbart är ett par trendiga glasögonbågar.  Konsekvenserna kan bli att efterlysta personer fritt kan röra sig på offentliga platser utan att bli igenkänd av automatiska övervakningssystem. Detta alternativ drar dessutom inte till sig lika mycket uppmärksamhet som att gå runt med en balaklava (och strider dessutom inte mot något möjligt maskeringsförbud). Eventuellt skulle även system som använder ansiktsigenkänning för inloggning kunna luras om mönstret kan svarar mot en annan person.

Glasögon med en typ av specialdesignat mönster som kan vilseleda ansiktsigenkänning. Taget från [6].

Slutsats

I grunden går dessa typer av attacker ut på att lura systemet genom att manipulera detaljer som används vid identifiering, klassning och tilldelning av sannolikheter. Gemensamt är att dessa manipuleringar i princip alltid är omedelbart uppenbara för människor men inte för systemet.

Det underliggande aspekterna som möjliggör detta är ganska invecklade och del av grundfunktionaliteten i nätverket. Väldigt grov sagt kan man dock säga att detta beror på att man vill optimera (maximera) hur snabbt nätverket kan tränas (det vill säga vad för metod/modell man använder med avseende på djupinlärning). Följden blir att systemet blir väldigt bra på att identifiera data som liknar den som den har tränats på, medan data som skiljer sig för mycket på vissa specifika sätt hanteras på ett sätt som vi som människor skulle säga är direkt felaktigt. Resultatet kan bli att sannolikheter varierar mycket beroende på oväntade och ovanliga detaljer i det analyserade synfältet. Detta kan bland annat ses i fallet med de specialdesignade glasögonen. Vi människor är mer benägna att inte ta hänsyn till dessa detaljer och istället koncentrera oss på helhetsbilden, varav vi sällan blir lurade av dessa komponenter.

Även om detaljerna är komplicerade, så är resultaten både påtagliga och lättförståeliga. Skyddsmekanismer mot detta har föreslagits, men ingen har kunnat påvisats fungera på ett tillräckligt robust sätt. Effektiviteten i de nuvarande systemen gör incitamentet att byta till anda träningsmetoder/modeller låg och det är inte säkert att det även då går att fullt bemötta dessa typer av attacker.

Inom en snar framtid kommer förmodligen antalet fullständiga/självgående system som använder dataseende att kraftigt öka. Det ska bli intressant att se om skyddsmekanismer kommer finans på plats för denna typ av attack och hur de i sådant fall ter sig.

Källor/Länkar:

  1. https://arxiv.org/pdf/1404.7828.pdf [Deep Learning in Neural Networks: An Overview]
  2. https://towardsdatascience.com/teslas-deep-learning-at-scale-7eed85b235d3
  3. https://www.svt.se/nyheter/inrikes/snart-kan-ai-hjalpa-till-att-hitta-brottslingar
  4. https://www.aftonbladet.se/nyheter/a/OpmkrO/polisen-vill-infora-ansiktsigenkanning
  5. https://www.microsoft.com/sv-se/windows/windows-hello https://arxiv.org/pdf/1707.08945.pdf [Robust Physical-World Attacks on Deep Learning Visual Classification]
  6. https://www.cs.cmu.edu/~sbhagava/papers/face-rec-ccs16.pdf [Accessorize to a Crime: Real and Stealthy Attacks on State-of-the-Art Face Recognition]