Hur knäcks lösenord?
Konton kapas sällan på det sätt som filmer visar. I praktiken kommer angripare över ett lösenord på ett av tre sätt. Det knäcks: tas fram genom att testa kandidat efter kandidat, vanligtvis mot en databas med lösenordshasher som stulits från en tjänst. Det stjäls: skrivs in på en falsk webbsida eller kopieras av skadlig kod. Eller så återanvänds det: angripare tar ett lösenord från en tidigare läcka och provar det på andra tjänster, i förhoppning om att ägaren använt samma lösenord där också. Den skillnaden spelar roll, eftersom olika angrepp möts med olika motmedel. Den här artikeln går igenom de vanligaste metoderna och beskriver vad som hjälper mot var och en.
Återanvända lösenord från dataläckor
Varje år drabbas tjänster av dataintrång, och deras användardatabaser säljs eller delas fritt på nätet. Angripare tar paren av e-postadress och lösenord från en läcka och testar dem automatiskt mot banker, e-postleverantörer, e-butiker och sociala nätverk — en attackmetod som kallas credential stuffing. Det handlar inte om någon gissning alls, och det fungerar av en enkel anledning: människor återanvänder lösenord. Inte ens ett starkt lösenord hjälper om det är samma överallt.
Vad som hjälper: ett unikt lösenord för varje konto, så att en läcka hos en tjänst inte öppnar något annat.
Nätfiske (phishing)
En nätfiskesida är en kopia av en riktig inloggningssida på en något annorlunda adress, dit du luras via en länk i ett mejl eller meddelande som låter brådskande: ett spärrat konto, ett paket eller en faktura. Allt du fyller i där skickas direkt till angriparen. Lösenordets längd och slumpmässighet spelar ingen roll, eftersom du själv matar in det.
Vad som hjälper: öppna webbplatser från dina egna bokmärken snarare än via länkar. Använd en lösenordshanterare: den erbjuder sig att fylla i ett lösenord endast på den exakta adressen det sparades för, så om den inte erbjuder det sparade lösenordet bör du kontrollera adressen innan du skriver in det för hand. Aktivera dessutom tvåfaktorsautentisering, vilket gör att ett stulet lösenord inte räcker på egen hand. Engångskoder kan dock nätfiskas på samma sätt som lösenordet. Nycklar (passkeys) och FIDO2-säkerhetsnycklar kan inte det, eftersom de endast svarar mot den äkta webbplatsen — den skillnad som NIST kallar nätfiskemotstånd (phishing resistance).
Skadlig programvara
Program som kallas infostealers kopierar lösenorden som sparats i en webbläsare, tillsammans med sessionskakor, och skickar iväg dem några sekunder efter körning, medan tangentbordsloggare (keyloggers) registrerar allt som skrivs. En stulen sessionskaka kan ge en angripare tillgång till ett redan inloggat konto, helt utan lösenord och utan den andra faktorn. Sådana program sprids vanligtvis via piratkopierad programvara, falska uppdateringar och e-postbilagor.
Vad som hjälper: installera endast programvara från dess officiella källa, håll systemet och webbläsaren uppdaterade och behandla oväntade bilagor som skadliga — även om inget av detta är en garanti. Om en enhet har infekterats agerar du från en annan enhet som du vet är ren: byt lösenorden, använd tjänsternas funktion för att logga ut från alla aktiva sessioner och kontrollera att återställningsmejl, telefonnummer och tvåfaktorsinställningar fortfarande tillhör dig. Rensa den infekterade enheten innan du loggar in på den igen.
Gissningar i inloggningsformuläret
Att prova lösenord direkt mot en webbplats är långsamt: en välbyggd tjänst fördröjer svar, blockerar eller begär captcha efter några felaktiga försök. Det gör det ineffektivt att hamra mot ett enskilt konto, så ett vanligt tillvägagångssätt är det motsatta: en handfull av de vanligaste lösenorden — 123456, password, qwerty123 — testas mot miljontals konton, en metod som kallas password spraying. Riktade gissningar fungerar på samma sätt med personuppgifter: barns och husdjurs namn, födelsedagar, favoritlag, som allt är enkelt att hitta på sociala medier.
Vad som hjälper: alla lösenord som varken är vanliga eller baserade på fakta om dig — se hur man skapar ett starkt lösenord.
Knäckning av stulna hasher offline
En korrekt byggd tjänst lagrar inte lösenord i klartext. Den lagrar hasher — resultatet av en envägsfunktion från vilken det ursprungliga lösenordet inte kan räknas baklänges. När en sådan databas läcker testar angripare tänkbara lösenord: de beräknar hasher av kandidaterna på sin egen hårdvara och jämför resultaten. Inget inloggningsformulär bromsar upp dem, och hastigheten beror på vilken hashfunktion tjänsten valt och dess inställningar. För snabba, föråldrade funktioner som MD5 kan ett enda modernt grafikkort testa tiotals miljarder kandidater per sekund. Funktioner som är särskilt utformade för lösenordslagring — Argon2id, eller bcrypt i äldre system — är avsiktligt långsamma och minskar den hastigheten med många tiopotenser, vilket är anledningen till att aktuella rekommendationer nämner dem.
Ordboksattacker
Kandidaterna är inte slumpmässiga. Knäckningsverktyg utgår från listor över verkliga lösenord från tidigare läckor och ordböcker med ord och namn, och tillämpar sedan regler som härmar mänskliga vanor: stor begynnelsebokstav, ett årtal eller utropstecken på slutet, en bokstav ersatt med en snarlik symbol. Ett lösenord som Summer2024! ser komplext ut men tillhör de första kandidaterna som testas. Saltning (salting) — att lägga till ett unikt slumpvärde till varje lösenord före hashning — hindrar angripare från att använda förberäknade tabeller, så kallade rainbow tables, och från att knäcka alla identiska lösenord samtidigt, men det gör inte ett förutsägbart lösenord ett dugg mindre förutsägbart.
Råstyrkeattacker (brute force)
När ordböckerna är tömda återstår att prova varje kombination, och för ett slumpmässigt genererat lösenord är det längden som avgör utgången. Som en illustration kan vi ta en snabb hash och ett lösenord där varje tecken väljs oberoende, med lika stor sannolikhet, bland de 94 utskrivbara ASCII-tecknen, utan mellanslag. Det finns ungefär 6 × 1015 sådana lösenord på 8 tecken; med tio miljarder gissningar per sekund tar det cirka en vecka att prova alla, och i genomsnitt hittas det rätta på halva den tiden. För 12 tecken skulle det ta cirka 1,5 miljoner år att prova alla på samma hårdvara, och för 16 tecken hamnar siffran bortom alla meningsfulla jämförelser. Detta är hela argumentet för långa, slumpmässiga lösenord: ordböcker är till liten hjälp mot dem, och under dessa förutsättningar är det inte praktiskt genomförbart att testa alla kombinationer. Vår starka lösenordsgenerator skapar dem i din webbläsare och visar en entropiuppskattning i bitar för varje lösenord.
Vad som hjälper: ett långt lösenord utan mänskliga mönster, vilket i praktiken innebär ett genererat lösenord. Du kan inte styra hur en tjänst lagrar ditt lösenord, så utgå från det värsta och välj ett som står emot gissningar även när det lagras med en snabb hashfunktion.
Smygtittande och social manipulation
De äldsta metoderna kräver ingen teknik. Ett lösenord tjuvkikas över axeln, läses av från en klisterlapp på en bildskärm eller snappas upp från en delad skärm i ett videosamtal; eller så ber angriparen helt enkelt om det genom att utge sig för att vara supportpersonal eller en kollega — vad som kallas social manipulation (social engineering). Ingen legitim tjänst ber någonsin om ditt lösenord via telefon, e-post eller chatt.
Vad som hjälper: att aldrig uttala eller skicka ett lösenord till någon, och att inte förvara det där andra kan se det.
Sammanfattning
Olika angrepp möts med olika vanor, och tre av dem gör det mesta av jobbet: ett unikt lösenord för varje konto, genererat snarare än påhittat, i kombination med tvåfaktorsautentisering — eller en nyckel (passkey) istället för lösenord där tjänsten erbjuder det. Dessa åtgärder täcker inte allt — till exempel en stulen session — varför råden om skadlig kod ovan också är viktiga. Fler artiklar finns samlade i guiderna om lösenord.