Simovits

3D-spoofing av system för ansiktsigenkänning

Jag (Anders Lundman) blev för en tid sedan medlem i ett gym som större delen av tiden är obemannat. När personal inte finns på plats behöver besökare ta sig igenom två dörrar för att ta sig in till gymmet. För att öppna den första dörren används ett passerkort och för att öppna den andra dörren används en fingeravtrycksläsare. Eftersom medlemskapet kostade några hundringar i månaden, och systemet gör inpassagen ganska omständlig, kan man som ny medlem undra om systemet kanske inte är en smula överdrivet? Det är möjligen tänkbart att någon lånar ut sitt kort eller får det klonat/stulet, men borde inte ett fingeravtryck i sig själv vara tillräckligt för att försäkra sig om besökarnas identitet? Tyvärr visar lite efterforskningar att fingeravtryck ofta är relativt enkla att förfalska. Om någon får sitt passerkort stulet finns troligen också dennes fingeravtryck på detta. Därför borde i alla fall i teorin en tillräckligt motiverad person troligen kunna komma förbi hela gymmets system bara genom att stjäla någons kort.

I ett större perspektiv finns det flera frågor att ställa runt användandet av fingertryck och annan biometrisk information för autentisering. Som ett alternativ till fingeravtryck har på senare tid också ansiktsigenkänning börjat användas för att säkerställa användares identitet. En teknik som både för tankarna till spionfilmer och väcker integritetsfrågor.

Jag tänkte i det här inlägget skriva lite kort om en artikel jag nyligen läste som beskriver hur moderna system för ansiktsigenkänning kan spoofas. För att spoofa sådana system har i regel antigen foton, videor eller 3D-modeller används. Foto- och videobaserad spoofing fungerar oftast bara på äldre system och består helt enkelt i att angriparen visa upp en bild eller video för systemets kamera som misstar dem för riktiga ansikten. För att förhindra denna typ av attacker använder ofta moderna system så kallad face liveness detection, det vill säga instruktioner till användaren att rör sig på något sätt, till exempel genom att blinka eller röra på huvudet. Olika typer av 3D-modeller för spoofing är en nyare attackteknik och innefattar till exempel tillverkning av 3D-masker som en angripare kan ta på sig för att lura systemet.

För ett par veckor sedan på säkerhetskonferensen Usenix presenterade en rad forskare från University of North Carolina en ny och mycket effektiv teknik för att spoofa ansiktsigenkänning med 3D-modeller. Nya tekniker för att lura olika säkerhetssystem dyker ständigt upp, men det som gjorde att jag intresserade mig för just denna är hur imponerande invecklad den är. Forskargruppens teknik för att bygga en modell av ansiktet bygger i grova drag på följande 6 steg:

  1. Som underlag samlas olika publika foton på användarna in från internet via till exempel Facebook.
  2. I dessa foton identifieras så kallade 2D landmarks automatiskt via en tidigare känd algoritm. Sådana landmarks är speciella punkter på fotona som beskriver geometrin i ansiktet hos användarna.
  3. Hittade landmarks används därefter för att bygga en 3D modell av användarnas ansikte i forskarnas dator.
  4. När 3D modellen är klar täcks den med texturer tagna från något av de foton som samlades in i steg 1 för att ”färglägga” modellen. Här används en hel del matematik för att se till att de delar av ansiktet som inte syns på det aktuella fotot fylls i på rätt sätt.
  5. I ett femte steg används en teknik för att modellera ögonen så att de tittar rakt fram i de fall användare tittar åt fel håll på det foto som används. Detta eftersom system för ansiktsigenkänning ofta kräver att användarna tittar rakt in i kameran.
  6. Slutligen skapas animationer av när ansiktsmodellen gör olika miner och rörelser. För att skapa dessa animationer används en befintlig databas över ansiktsuttryck baserade på landmarks. Dessa animationer kan sedan spelas upp för att överlista face liveness detection system.

Den färdiga modellen visas sedan för systemet som en VR-applikation på en mobiltelefonskärm. Eftersom hela syftet med VR är att emulera verkligenhet kunde de därför få modellen att röra sig som ett huvud skulle röra sig genom att röra på mobiltelefonen. VR-metoden gjorde det också möjligt att lura system som använder till exempel en mobils rörelsedetektor för att kontrollera att huvudrörelserna är verkliga. Resultaten av metoden var imponerande och forskarna lyckades med upp till 85% träffsäkerhet lura en rad olika moderna system för ansiktsigenkänning.

Sammanfattningsvis är angreppsmetoden troligen så omständlig att det är relativt avlägset att den praktiskt används i större skala utanför laboratoriemiljö. Kontentan är kanske därför inte främst att just detta är ett allvarligt hot mot ansiktsigenkänning som autentiseringsmetod för gemeneman utan snarare att sådana system med tillräcklig ansträngning går att knäcka trots alla extra säkerhetsåtgärder som kommit till. Detta i sig kanske inte är så förvånande, det är trots allt också sant för i princip alla andra tekniker för autentisering.

Därtill kan den dystopiskt lagde föreställa sig en framtid där databaser av hackade ansikten dyker upp till försäljning på svarta marknaden liknande vad som idag sker med databaser med användarnamn och lösenord. En stor praktisk skillnad kommer då att vara att medan det är förhållandevis lätt för en användare att byta lösenord är det (bokstavligt talat) ett betydligt större ingrepp att byta ansikte.

Referenser

[1] Forskarnas artikel: https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_pa…