Spoofing

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

Publicerat: 
2016-08-30 12:00

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

Skribent(er): 
Anders Lundman

Nätverkshacking Del 2: WiFi Honeypot

Publicerat: 
2016-02-05 11:45

Den första delen av Nätverkshacking-serien handlade om arp-spoofing, men nu är det dags att gå mot modernare tider och undersöka närmare vad man kan göra med trådlösa nätverk.

Vi börjar med att sätta upp en WiFi honeypot som ovetande användare kan ansluta sig till. Till detta behövs en laptop (eller vilken dator som helst fungerar egentligen), verktygslådan Aircrack-ng som innehåller en mängd WiFi verktyg och ett externt nätverkskort, ALFA NETWORK AWUS036H som ansluts via USB till datorn. På min laptop har jag dessutom Kali installerat, så de flesta verktyg som behövs för att sätta upp en WiFi honeypot finns redan.

Vi börjar med att konfigurera en DHCP server så att användarna som ansluter sig får en giltig IP-adress. För att sätta upp en DHCP-server kan du behöva du installera paketet isc-dhcp-server <apt-get install isc-dhcp-server>.
Nu när du har en DHCP-server, konfigurera din server för att dela ut IP-adresser, redigera filen /etc/dhcp/dhcpd.conf.

Nästa steg är att sätta upp Alfa-nätverkskortet i monitoreringsläge. Kontrollera först att nätverkskortet känns igen av operativsystemet med <ifconfig> . I mitt fall heter det gränssnittet wlan1, och för att sätta upp det i monitor-läge använder vi airmon-ng <airmon-ng start wlan1>. Detta skapar ett virtuellt gränssnitt som fått namnet wlan1mon.

Men nu har jag Kali 2.0 installerat, och då behöver vi göra några extra steg för att få detta att fungera ordentligt. Om du inte har Kali 2.0 kan du skippa ifconfig och iwconfig kommandona nedan.

…och nu borde monitoreringen på gränssnittet wlan1mon fungera som det ska! Vi kan använda airodump-ng för att se vilka nätverk vi har i närheten. Och för den luriga så kan din Honeypot sen fungera som en Evil Twin (en nod som har samma namn som ett annat nätverk), men det gör vi inte denna gång.
För att skapa en hotspot används ännu ett verktyg i Aircrack-suiten, Airbase-ng och kommandot <airbase-ng -e GratisWiFi -c 9 wlan1mon>. Flaggan –e står för ESSID som jag i detta, kanske något tråkiga exempel, valt att kalla ”GratisWiFi” och –c för vilken kanal som den ska användas, här kanal 9, och wlan1mon är namnet på gränssnittet. Airbase-ng skapar ännu ett nytt gränssnitt, at0, som kan användas för att sniffa trafik. at0 har inte ett IP och vi har inte satt upp att DHCP konfigurationen, vilket vi nu behöver göra med kommandona <ifconfig at0 up 10.0.0.1 netmask 255.255.255.0> och <dhcpd -cf /etc/dhcp/dhcpd.conf at0> som löser detta.

Och – ta da! Nu har vi honeypoten uppe, utan kryptering och helt öppen, och klienter kan fritt ansluta sig till den.

Som ni ser i Wireshark-dumpen på interfacet at0 ovan kan klienten med IP 10.0.0.100 inte surfa någonstans via "Gratis WiFi", utan här ser vi bara DNS frågor eftersom vi inte har konfigurerat den delen att man faktiskt kan surfa, men vem vet – det kanske vi löser nästa gång.
 

Skribent(er): 
Tiina Loukusa Hyttnäs

Nätverkshacking Del 1: ARP spoofing

Publicerat: 
2015-09-11 10:20

Välkommen till Del 1 i Simovits Consultings första bloggserie om nätverkshacking! Hur svårt är det egentligen för en angripare att fånga upp information från cyberrymden? Vilken typ av information kan fångas upp? Finns det anledning att vara orolig? Och hur kan vi skydda oss?

Idag är de flesta nätverk switchade, vilket gör att trafiken skickas ut till rätt port där mottagaren borde befinna sig. Detta till skillnad från hubbar (som i stort sätt är utdöda idag), eftersom hubbar skickade ut trafiken till alla portar. Då var det tillräckligt att vara ansluten till samma hubb för att kunna sniffa all trafik som passerade den. En mycket enkel metod för att fånga trafik är att placera en hubb mellan en switch och internet, men då krävs det att man har möjlighet att ansluta en hubb på det sättet vilket kanske inte är särskilt diskret.

I första delen går på offensiven och demonstrerar en metod för att sniffa trafik på ett trådat nätverk, genom ARP spoofing eller ARP poisoning (eller ARP förgiftning på svenska).

Vad är ARP och hur kan det användas för att sniffa trafik?

ARP, Adress Resolution Protocol, är det protokoll som används för att mappa en MAC adress till en IP adress. När data skickas från en dator till en annan är det IP adresser som används, men för att data faktiskt ska komma fram behöver man den MAC adress som det mottagande nätverkskortet har.

ARP poisoning är en typ av man-in-the-middle attack och går ut på att förgifta enheters IP till MAC mappning. ARP cachen, ”adresslistan”, förgiftas genom att skicka en stor mängd spoofade ARP meddelanden för en eller flera IP adresser. Resultatet blir att all IP till MAC mappning pekar på den MAC-adress som angriparen valt (sin egen).

För att demonstrera hur man kan gå tillväga att utföra en ARP förgiftning använder vi Cain & Abel men ett alternativt verktyg är Ettercap.

Steg för steg - ARP spoofing och ARP poisoning med Cain & Abel

Efter att du har installerat Cain & Abel, börja med att stänga av datorns lokala brandvägg. Det första du gör efter att du startat programmet är att du konfigurerar Cain & Abel för att använda rätt nätverkskort på din dator. Nästa steg är att navigera in på ”Sniffer”-fliken.

cain configure arp spoofing

Starta sniffning och ARP spoofing genom att trycka på de två ikonerna i övre vänstra hörnet. Tryck på plussikonen eller högerklicka sedan i det vita fältet för att välja ett nätverksspann som verktyget ska söka efter MAC-adresser på. Denna lista ger vilka enheter som finns på nätverket som vi sedan kan försöka ARP förgifta.

cain arp poisoning add hosts

Listan börjar nu populeras med IP- och MAC adresser som har fångats upp i det nätverk som sniffningen har utförts mot.

cain host list arp

Nu är det dags att välja vilka enheter som ska ARP förgiftas. Klicka på den nedre ARP fliken och högerklicka i det vita fältet för att välja ”ARP Poisoning Routing”. Här väljer vi mellan vilka noder som vi vill fånga trafik, förslagsvis mellan en router och en eller flera datorer.

cain arp poison routing

Under tiden som giftet sprids kan vi se en mängd ARP meddelanden om vi tittar i Wireshark, och Cain visar ”poisoning”-status på enheterna:

cain arp poisoning

cain wireshark arp poisoning

Sen är det bara att vänta på att informationen rullar in...

Fliken ”Passwords” kan vara en guldgruva. Den här gången har vi inte lyckats få några intressanta lösenord i labbmiljön. Vi har i alla fall ett användarnmamn ”tiinal” och ett lösenord ”Pa55w0rd” som vi fångat upp! Med Wireshark exempelvis kan vi såklart se all trafik som passerar om även det skulle vara av intresse.

cain sniff passwords arp poisoning

Så går man tillväga för att utföra en ARP poisoning för att sniffa trafik på ett switchat nätverk. I nästa del tittar vi närmare på möjligheterna i trådlösa nätverk…

Skribent(er): 
Tiina Loukusa Hyttnäs