Hur mycket avslöjar våra lösenord om oss?
Lösenordsbaserad autentisering är den vanligaste typen av autentiseringsmetod. Vi diskuterar ofta olika tillvägagångssätt att skapa säkra lösenord och hur användare bör hantera dessa. En intressant frågeställning är huruvida användarvalda lösenord, i motsats till pseudoslumpmässiga lösenord som genereras av lösenordshanterare exempelvis, exponerar information om oss och i sådant fall i hur stor grad detta kan användas i ett antagonistiskt syfte. Detta blogginlägg utgår ifrån mitt examensarbete på KTH [1].
Aktuella ämnen, i anknytning till ovan, är dataanalys och artificiell intelligens, AI. Genom analys av stora mängder data önskar man extrahera information om data och val av metodologi kräver insikt i data man arbetar med. Ett tillvägagångssätt är att analysera en mängd användarvalda lösenord och försöka generera nya lösenord som besitter liknande egenskaper genom neurala nätverk. Dessa genererade lösenord kan testas mot andra användarvalda lösenord för att observera hur stor betydelse det har i ett säkerhetsperspektiv.
Ett verktyg som användes i undersökningen är PassGAN [2] och bygger på konceptet Generative Adversarial Networks [3], GAN. I stora drag så är GAN en modell som består av två neurala nätverk som tävlar mot varandra för att i slutändan producera så likartade lösenord som möjligt i förhållande till en initial lösenordsmängd. Översiktligt så arbetar modellen i följande steg (se figur 1):
- Börja med en initial lösenordsmängd (Leaked Passwords)
- Det ena neurala nätverket G skall försöka skapa lösenord som skall vara likartad den initiala lösenordsmängden, från en slumpmässig vektor Z (noise).
- Det andra neurala nätverket D skall försöka skilja på lösenord som kommer från den riktiga lösenordsmängden (Leaked Passwords) och lösenord som genereras från G (Fake Passwords).
- G och D vill få varandra nätverk att misslyckas genom att G försöker få D att tro att G:s lösenord kommer från den initiala mängden och D försöker särskilja på lösenord från den initiala distributionen och G. Efter varje iteration så uppdateras de neurala nätverkens matematiska egenskaper.
- Denna tävlingsbaserade modell skall i slutändan generera så likartade lösenord som möjligt relativt den initiala lösenordsdistributionen.
Vi har valt undersöka hur kön och region som metadata påverkar valet av lösenord. Detta är baserat på de lösenord som undersökningen besitter. För att undersöka i hur stor grad dessa metadata valt lösenord, har lösenorden för respektive metadata delats in i två mängder; en träningsmängd och en testmängd. Träningsmängden kommer att skickas in i PassGAN (Leaked Passwords) och låta modellen tränas på dessa. Därefter genomförs tester på testmängden genom att låta den tränade PassGAN-modellen generera nya lösenord och notera hur många lösenord i testmängden de genererade lösenorden lyckats träffa.
För att mäta prestationen behöver resultaten jämföras med lösenordsmängder som inte är strikt riktade åt någon metadata. Därför kommer PassGAN även tränas på två baseline-mängder; RockYou från 2009 [4] och LinkedIn från 2012 [5]. Sedan testas dessa modeller på testmängderna.
Resultaten sammanställs i figuren nedan. Undersökningen inkluderade två regioner och i varje enskilt fall illustreras en tydlig ökning i antalet lösenord som träffas när metadata används. Gender är PassGAN-modell som utnyttjar kön som metadata och Region X och Region Y är respektive region som valts att anonymiseras.
Ännu mer intressanta resultat förekommer när vi väljer att kombinera både metadata kön och region. Dessa illustreras i figuren nedan. GenRegX och GenRegY är när vi kategoriserar lösenorden på både kön och region innan de instansieras i PassGAN och Half split är separata instanser (kön och region) där varje instans motsvarar hälften av de genererade lösenorden.
Vi noterar att i ena fallet uppnår vi flest träffar från Half split och i det andra fallet från GenRegY. Detta beror troligen på matematiska egenskaper i modeller och datamängder. Hur som helst ser vi att vid utnyttjande av metadata så kan modellerna gissa lösenord bättre, i synnerhet när vi kombinerar flera metadata tillsammans. Modellerna extraherar information från användarvalda lösenord och använda den informationen för att förutspå nya lösenord inom metadatakategorin.
Vad innebär detta? Jo, att användare genom val av lösenord exponerar information som maskininlärningsmodeller extraherar. En angripare kan utnyttja detta i illvilligt syfte. I takt med att AI/maskininlärning blir mer förekommande kommer detta kunna bli vanligt i cyberattacker. Användare kan förebygga detta genom pseudoslumpmässiga lösenord som är maskingenererat för att minimera information som användare exponerar. Säkerheten beror således på användarens beteende och ett pågående diskussionsämne är lösenordsfria autentiseringsmetoder [6] som innefattar dessa risker.
[1] – http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1529648&dswid=-1171,
Enhanced password recovery through user profiling: Improving password guessing accuracy by utilizing user metadata
[2] – https://arxiv.org/abs/1709.00440,
PassGAN: A Deep Learning Approach for Password Guessing
[3] – https://machinelearningmastery.com/what-are-generative-adversarial-networks-gans/,
A Gentle Introduction to Generative Adversarial Networks (GANs)
[4] – https://techcrunch.com/2009/12/14/rockyou-hack-security-myspace-facebook-passwords/?guccounter=1,
RockYou Hack: From Bad To Worse
[5] – https://www.trendmicro.com/vinfo/us/security/news/cyber-attacks/2012-linkedin-breach-117-million-emails-and-passwords-stolen-not-6-5m,
2012 Linkedin Breach had 117 Million Emails and Passwords Stolen, Not 6.5M
[6] – https://www.techrepublic.com/article/a-passwordless-future-how-security-keys-and-biometrics-are-taking-over/,
A passwordless future: How security keys and biometrics are taking over