Facebook fuskar ditt lösenord för din bekvämlighet

By rik

Om du tror att den enda giltiga versionen av ditt lösenord är den exakta kombinationen av stora och små bokstäver samt symboler du använder, kan du bli förvånad. Facebook accepterar nämligen små avvikelser från ditt korrekta lösenord för att underlätta inloggningen. Och det är faktiskt helt säkert.

Lösenord är lätta att felskriva

Facebook och andra liknande plattformar står inför ett dilemma. De vill att vi ska använda långa och komplexa lösenord, men dessa är ofta svåra att ange korrekt. Även om användning av en lösenordshanterare är den rekommenderade lösningen, är det inte alla som använder en sådan. Detta leder till att felskrivningar av lösenord är vanliga.

Vad gör då Facebook i det här läget?

Ska de neka tillträde vid minsta felskrivning och riskera att frustrera användarna med upprepade inloggningsförsök? Eller ska de inse att det angivna lösenordet troligen är korrekt, men med ett litet misstag, och smidigt lotsa oss till kattbilder och babyfoton genom att ignorera felskrivningen?

Facebook tolkar felskrivna lösenord

Som Alec Muffet, en tidigare mjukvaruingenjör inom säkerhetsinfrastruktur på Facebook Engineering i London, förklarar, valde Facebook det senare alternativet. Om ett lösenord är tillräckligt nära det korrekta, kan det accepteras. Reglerna för detta är enkla. Facebook godkänner ett felaktigt lösenord om det uppfyller något av följande:

  • Caps Lock är aktiverat och versaler är omvända.
  • Ett extra tecken har lagts till i början eller slutet av lösenordet.
  • Den första bokstaven i lösenordet skulle ha varit gemen, men skrevs med versal.

Som vi ser kretsar dessa varianter kring idén att något saknas eller är felaktigt i lösenordet vid inmatningen. I vissa fall kan det bero på autokorrigering, som att den första bokstaven i ett ord automatisk blir versal. Om ditt felskrivna lösenord följer dessa regler kommer du inte ens märka misstaget, du kommer helt enkelt att vara inloggad.

Låt oss säga att ditt lösenord är ”lösenOrd”. Facebook kommer då också acceptera ”LÖSENoRD” (eftersom det är en direkt Caps Lock-omvändning) och ”LösenOrd” (eftersom den första bokstaven felaktigt är en versal). De accepterar även varianter som ”1lösenOrd” och ”lösenOrd2” då de enbart har ett extra tecken i början eller slutet. Däremot kommer de inte acceptera ”LÖSENORD”, ”losenord” eller ”12lösenOrd”.

Denna process är säker

Vid första anblicken kan Facebooks hantering av lösenordsfelskrivningar verka osäker. Men sanningen är mer komplex. Tanken på snabba ”brute force”-attacker som knäcker lösenord på bara några minuter är en myt. Verkligheten är att hackning fungerar annorlunda. Även om brute force-attacker mot okända lösenord existerar, skiljer de sig avsevärt från vad tv-serier antyder. Som xkcd på ett träffsäkert sätt illustrerar, ökar tiden för att knäcka ett lösenord exponentiellt med lösenordets längd. Att lägga till komplexitet hjälper, men inte i så stor utsträckning som man kan tro.

Ett av de scenarier som Facebook tillåter, ett extra tecken i början eller slutet av lösenordet, skulle faktiskt vara svårare att brute force:a. Hackare skulle redan behöva ha det korrekta lösenordet innan de kan börja testa varianter med ett extra tecken.

Särskilt intressant är Caps Lock-scenariot. Jag testade detta genom att först manuellt skriva mitt lösenord i en textredigerare, vända på versalerna, och sedan kopiera och klistra in resultatet i Facebook. Lösenordet avvisades. Jag slog sedan på Caps Lock och skrev in mitt lösenord som om Caps Lock var avstängt, vilket resulterade i omvända versaler. Detta försök lyckades och jag loggades in. Facebook kontrollerar alltså inte bara lösenordet, utan även hur det matas in. Brute force är inte särskilt effektivt i detta fall, då man skulle behöva simulera Caps Lock, vilket är svårare än att sikta in sig på det faktiska lösenordet.

Uppdatering: Som informationssäkerhetskonsulten Paul Moore påpekar på Twitter, lagrar Facebook troligen bara det ursprungliga lösenordet (korrekt hashat och saltat) och inte variationer av lösenordet. När du anger ett lösenord för att logga in, jämförs det med ditt ursprungliga lösenord. Om det inte stämmer överens, kör Facebook det inmatade lösenordet genom de olika accepterade varianterna. Om till exempel Caps Lock är aktiverat, tar Facebook det inmatade lösenordet, vänder på versalerna och testar igen. Om det inte fungerar testar Facebook med nästa scenario. I huvudsak gör Facebook det du själv skulle ha gjort efter att ha fått ett ”felaktigt lösenord”-meddelande – leta efter oavsiktliga misstag i det inskrivna lösenordet och korrigera det. Detta gör hela processen smidigare för dig, utan att minska säkerheten, eftersom en uppfattning om det korrekta lösenordet fortfarande krävs, och de godkända varianterna är begränsade.

Dessutom är brute force-attacker inte den vanligaste metoden för att få tillgång till sociala medier och andra konton. Social manipulation och dataläckor av lösenord är mycket enklare att utnyttja. Om du till exempel har frågor om lösenordsåterställning, finns det en stor chans att åtminstone delar av svaren är offentligt tillgängliga. Om din återställningsfråga rör din födelseort, din mors flicknamn eller namnet på skolans maskot, är det möjligt att spåra svaret. Vid det läget kan någon återställa ditt lösenord, vilket gör att behovet av att gissa lösenordet blir irrelevant.

Tyvärr använder många människor fortfarande samma e-postadress och lösenord på alla webbplatser som kräver inloggningsuppgifter. Det finns många exempel på dataintrång. Om du använder samma kombination av e-postadress och lösenord på flera platser och har gjort det i flera år, är dina lösenord en svag punkt, inte Facebooks policy.

Om du är osäker på om du har utsatts för ett intrång, gå till haveibeenpwned.com och kolla om ditt lösenord har läckts. Det är mycket troligt att åtminstone något av dina konton har hackats någonstans.

Du bör alltid säkra dina konton

Om du fortfarande är orolig för att den här policyn gör dig sårbar finns det åtgärder du kan vidta. Det första steget är att sluta använda samma lösenord på alla webbplatser. Skaffa istället en lösenordshanterare som genererar unika, långa lösenord för varje webbplats du använder. Nästa gång du ser att en webbplats du har använt har utsatts för ett intrång, kan du ändra det specifika lösenordet och känna dig trygg med att veta att de utläckta lösenorden inte kommer att vara till någon nytta för hackare.

När du har stärkt dina lösenord, aktivera tvåfaktorsautentisering på alla webbplatser som erbjuder det. Facebook erbjuder också tvåfaktorsautentisering, så det bör du också aktivera. Den säkraste formen av tvåfaktorsautentisering är beroende av en app på din smartphone som genererar nya koder regelbundet eller en fysisk nyckel som du har med dig. Även om SMS-baserad tvåfaktorsautentisering är bättre än ingenting, är den fortfarande sårbar för social manipulation. Om du kan, använd en autentiseringsapp eller en fysisk nyckel. Ha även en backup ifall något skulle hända med din telefon eller nyckel.

Med denna kombination är ditt konto mycket säkrare oavsett Facebooks lösenordspolicy. Använd åtminstone en lösenordshanterare och unika lösenord, men i kombination med tvåfaktorsautentisering är det ännu bättre.

Oroa dig inte, njut av bekvämligheten

Det är lätt att tro att Facebooks lösenordspolicy är mindre säker, men i själva verket överväger fördelarna riskerna. Säkerhet är en balansgång. Ju mer du låser ett system, desto mindre användarvänligt blir det att komma åt. Och när du lägger till mer användarvänlighet minskar du säkerheten. Utmaningen är att hitta rätt balans mellan båda. Facebook har här valt användarvänlighet, vilket förmodligen är ett acceptabelt beslut.