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

Om du tror att den enda korrekta versionen av ditt lösenord är den exakta versaler och bokstavs-/symbolsekvens du använder, kan du vara i en chock. Facebook accepterar små variationer av ditt lösenord för din bekvämlighet. Och det är helt säkert.

Lösenord är lätta att skriva fel

Facebook och andra liknande sajter har ett problem. De vill att du använder långa och komplicerade lösenord, men de är svåra att skriva. Du bör använda en lösenordshanterare för att ta hand om det åt dig, men de flesta gör det inte. Och på grund av dessa två faktorer är det vanligt att du skriver fel lösenord.

Vad ska Facebook göra då?

Ska de neka dig inträde bara för att ditt lösenord var något avstängt och frustrera dig med ett andra försök? Eller ska de inse att det angivna lösenordet sannolikt var korrekt men med ett stavfel och smidiga din resa till katt-gifs och babybilder genom att ignorera misstaget?

Facebook utvärderar misstag i lösenord

Som Alec Muffet, förklarar en tidigare mjukvaruingenjör för säkerhetsinfrastrukturteamet på Facebook Engineering i London, Facebook valde det senare. Om ditt lösenord är mycket nära korrekt kan de räkna det som korrekt. Reglerna för detta är enkla. Facebook accepterar ett felaktigt lösenord om det uppfyller något av dessa villkor:

Du har aktiverat caps lock och versalerna är omvända.
Du anger ett extra tecken i början eller slutet av ett lösenord
Det första tecknet i lösenordet ska vara gemener, men du skrev det med versaler

Som du kan se är alla dessa varianter centrerade kring det grundläggande konceptet att något saknar ditt lösenord när du skriver. I vissa fall kan detta vara ett problem med autokorrigering, som att den första bokstaven i ett ord är versal. Om ditt felskrivna lösenord uppfyller dessa specifika regler kommer du inte att veta att det var ett problem – du kommer bara att vara inloggad.

Låt oss till exempel säga att ditt lösenord är ”letMeIn”. Facebook kommer också att acceptera ”LETmEiN” (eftersom det är en rak caps lock-omvändning) och ”LetMeIn” (eftersom det är felaktig versal för den första bokstaven). Det kommer också att acceptera varianter som ”1letMeIn” och ”letMeIn2” eftersom de är korrekta förutom ett extra tecken i början eller slutet. Den accepterar dock inte ”LETMEIN”, ”letmein” eller ”12LetMeIn” alls.

Denna process är fortfarande säker

Vid första rodnad låter Facebooks lösenordseftergift osäker. Men i det här fallet är sanningen mer komplicerad. Även om det är lätt att tänka på gamla hackerbrottsdramer som visade snabba brute force-gissningar på ett lösenord på bara några minuter, fungerar inte hacking på det sättet alls. Det finns brutalt framtvingande av okända lösenord, men det är väldigt annorlunda än vad TV antyder. Som xkcd demonstrerar berömt, när längden på ett lösenord ökar, ökar tiden för att knäcka det också exponentiellt. Att lägga till komplexitet hjälper, men inte så mycket som du kanske tror.

Så ett av de scenarier som Facebook tillåter, ett extra tecken i början eller slutet av lösenordet, skulle vara ännu svårare att brute force. Hackare skulle redan behöva ha rätt lösenord innan de kom till lösenordet plus ett extra tecken.

Av särskilt intresse är caps lock-scenariot. Jag testade detta genom att först manuellt skriva mitt lösenord i anteckningsblocket, vända på fallet och sedan klistra in resultatet på Facebook. Det förnekade lösenordet. Jag slog sedan på caps lock och skrev mitt lösenord som om cap lock var avstängt, vilket gjorde att jag vände om fallet. Det försöket lyckades och jag var inloggad. Facebook kontrollerar inte bara vad lösenordet är utan hur du anger det. Brute Force hjälper inte i det scenariot, förutom att simulera caps lock, vilket skulle vara svårare än att bara sikta på det faktiska lösenordet.

Uppdatering: Som informationssäkerhetskonsult Paul Moore påpekar Twitter, Facebook lagrar troligen bara ditt ursprungliga lösenord (korrekt hashat och saltat) och inte varianterna av ditt lösenord. När du skickar in ett lösenord för att logga in, kontrolleras det mot ditt ursprungliga lösenord. Om det inte stämmer överens kör Facebook ditt inskickade lösenord genom dessa varianter. Till exempel, om ditt Caps Lock är på, tar Facebook ditt inskickade lösenord, vänder om versaler i bokstäverna och försöker igen. Om det inte fungerar försöker Facebook igen med nästa scenario. I huvudsak gör Facebook vad du skulle ha gjort när du fick ett ”fel lösenord”-meddelande – letar efter ett oavsiktligt fel i det inskrivna lösenordet och korrigerar det. Det gör hela processen mindre frustrerande för dig. Detta minskar inte säkerheten, eftersom en uppfattning om det korrekta lösenordet fortfarande behövs och de accepterade varianterna är smala.

Ännu viktigare, brute force-metoder är inte den primära metoden för att få tillgång till sociala nätverk och andra konton. Social ingenjörskonst och lösenordsdumpar är mycket enklare att använda. Om du har frågor om lösenordsåterställning, finns det en anständig chans att åtminstone några av svaren är offentligt tillgänglig information. Om din återställningsfråga handlar om din födelseplats, mammas flicknamn eller gymnasiemaskot, så är det möjligt att spåra svaret. Vid den tidpunkten kan en skådespelare återställa ditt lösenord, vilket gör att alla behov av att gissa eller bestämma själva lösenordet är helt oklart.

Tyvärr använder många människor fortfarande samma e-post- och lösenordskombination på varje webbplats som kräver inloggningsuppgifter. Du behöver inte leta långt för att hitta instans efter instans av dataintrång. Om du använder samma e-post- och lösenordskombination på mer än ett ställe, och har gjort det i flera år, är dina lösenord sårbarheten, inte Facebooks policy.

Om du inte är säker på om du har blivit utsatt för ett intrång, gå till haveibeenpwned.com och kontrollera om ditt lösenord har stulits. Chansen är stor att du har haft åtminstone något konto intrång 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 för varje webbplats. Skaffa istället en lösenordshanterare och låt den generera unika långa lösenord för varje annan webbplats du använder. Sedan, nästa gång du ser att en webbplats du använde har äventyrats, kan du ändra bara det enda lösenordet och känna dig trygg med att veta att det här kända lösenordet inte kommer att göra hackarna någon nytta.

När du har hårdnat dina lösenord, aktivera tvåfaktorsautentisering på alla webbplatser som erbjuder det. Facebook erbjuder tvåfaktorsautentisering, så du bör ställa in det där också. Den bästa tvåfaktorsautentiseringen är beroende av en app med din smartphone som genererar en ny kod ofta 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 ingenjörsteknik. Så om du kan lita på en autentiseringsapp eller en fysisk nyckel bör du göra det. Och ha en backup på plats ifall något händer med din telefon eller nyckel.

Med denna kombination är ditt konto mycket säkrare oavsett Facebooks lösenordspolicy. Du bör åtminstone använda en lösenordshanterare och unika lösenord, men att använda dem i kombination med tvåfaktorsautentisering är bättre.

Få inte panik; Njut av bekvämligheten

När det gäller Facebooks lösenordspolicy är det lätt att oroa sig för att den är mindre säker, men verkligheten är att fördelarna överväger riskerna. Säkerhet är en balansgång. Ju mer du låser ett system, desto mindre bekvämt är det att komma åt det. Men när du lägger till mer bekväm åtkomst förlorar du säkerheten. Tricket är att få rätt mängder av båda för att skydda dina användare utan att frustrera dem. Facebook gjorde fel på sidan av användarvänligheten här, och det är förmodligen ett acceptabelt beslut.