Hackare använder olika metoder för att knäcka lösenord, och en av dem är en rainbow table-attack. I vissa fall kan den här metoden vara snabbare än ordboksattacker eller credential stuffing.

I den här artikeln utforskar vi hur rainbow table-attacker fungerar och diskuterar sätt att förhindra dem.

Definition av rainbow table-attack

En rainbow table-attack är en kryptografisk attack som hackare använder för att bryta sig in i system genom att räkna ut lösenord från deras hash, vilka fungerar som digitala fingeravtryck. En hashfunktion mappar varje lösenord med en motsvarande sträng av tecken.

Till skillnad från en brute force-attack som provar varje möjligt lösenord ett efter ett, kräver en rainbow table-attack ingen gissning när tabellen väl är förberäknad. Denna förberäknade tabell (känd som en rainbow table på grund av hur den ser ut om den är färgkodad) är i princip en stor databas med par av hashvärden länkade till deras motsvarigheter i oformaterad text.

Hur en rainbow table-lösenordsattack fungerar

1. Skapa en lista med lösenord

När rainbow tables skapas inriktar sig hackare ofta på de mest sannolika och vanligt förekommande lösenorden med enkla mönster (till exempel 123456, lösenord eller qwerty), ordboksord eller lösenordslistor som erhållits från dataintrång.

2. Välj hashfunktion och konvertera lösenorden

Rainbow table-attacker fungerar bra med enklare, snabbare kryptografiska hashfunktioner som MD-5, SHA-1, LM Hash eller NTLM Hash eftersom de inte använder säkerhetsfunktioner som saltning (att lägga till slumpmässig data till varje lösenord innan hashning) eller nyckelsträckning (att upprepade gånger hasha lösenordet).

Lösenord hashat med MD-5Lösenord i oformaterad text
482c811da5d5b4bc6d497ffa98491e38password123

Varje lösenord i oformaterad text körs genom hashfunktionen för att generera dess motsvarande hash, vilket har en unik, fast sträng av tecken som i exemplet ovan. När alla lösenord har hashats kan hackaren använda dem för att skapa rainbow table.

3. Skapa rainbow table för att avslöja lösenord

En rainbow table kan ses som ett stort Excel-kalkylblad, med hashade lösenord i den första kolumnen och lösenord i oformaterad text i den andra. Om en hash från ett intrång finns i denna tabell betyder det att det exponerade lösenordet finns i cellen bredvid.

Exempel på rainbow table-attacker

Här är två hypotetiska exempel för att illustrera hur en rainbow table-attack kan gå till:

  • En hackare identifierar en webbplats för sociala medier som använder en föråldrad hashalgoritm utan saltning. Genom att utnyttja en SQL-injektionsbrist extraherar angriparen hashvärden för användares lösenord från webbplatsens databas. Sedan använder de en förberäknad rainbow table för att snabbt konvertera tusentals av dessa hashar tillbaka till lösenord i oformaterad text, vilket leder till att användarkonton avslöjas.
  • Under rutinmässig nätverksövervakning upptäcker en hackare att en e-handelswebbplats överför lösenordshashar osäkert mellan sina servrar och använder verktyg för nätverksavlyssning för att fånga upp denna data. Eftersom de nu har tillgång till lösenordshasharna använder hackaren en rainbow table-attack för att avkoda kundernas lösenord, och får därmed åtkomst till deras shoppingkonton och personuppgifter.

Dataintrång via rainbow table-attacker

Rainbow table-attacker har använts i verkligheten för att stjäla miljontals inloggningsuppgifter.

Till exempel ledde ett LinkedIn-hack 2012(nytt fönster) av ryska cyberkriminella till stöld av nästan 6,5 miljoner användarkonton, vilket orsakade ett betydande dataintrång. Efter den första upptäckten hittade LinkedIn ytterligare 100 miljoner exponerade e-postadresser och lösenord 2016 kopplade till samma incident. De stulna lösenorden var dåligt skyddade, utan ytterligare säkerhetsåtgärder som saltning, vilket gjorde det lättare för angripare att avkryptera dem med vanliga rainbow tables.

Hur du förhindrar rainbow table-attacker

Välj plattformar med starka hashfunktioner

Säkra hashfunktioner som bcrypt(nytt fönster) eller Argon2(nytt fönster) använder saltning(nytt fönster) för att lägga till slumpmässig data till ditt lösenord innan dess hash skapas. Utan saltet visas inte lösenordets hash i en rainbow table, så en attack skulle misslyckas.

För att ta reda på vilka hashfunktioner en specifik tjänst eller app använder för att lagra lösenord, kontrollera dess integritetspolicy(nytt fönster), FAQ-avsnitt, supportsida, säkerhetscertifieringar eller revisioner (om sådana finns), teknisk dokumentation eller utvecklarresurser(nytt fönster). En enkel sökning på internet bör fungera, eller så kan du kontakta kundsupporten och fråga.

Om du driver egna webbplatser eller databaser, håll dina säkerhetsinställningar uppdaterade genom att använda insticksprogram eller moduler som implementerar starka hashalgoritmer.

Använd komplexa lösenord

Istället för att använda lösenord som är lätta att gissa, välj säkra lösenord bestående av minst 12 tecken, som innehåller versaler och gemener, siffror och symboler. Exempel på starka lösenord är ?GmmM1Z[c5:F eller beht=ty]P:)Gf^c?p?+7. Det är osannolikt att en cyberangripare riktar in sig på så komplexa lösenord med rainbow table-attacker.

Aktivera multifaktorautentisering

Multifaktorautentisering (MFA) som tvåfaktorsautentisering (2FA) lägger till minst en form av autentisering utöver lösenordsförfrågan, till exempel en kod i din 2FA-authenticator. Om en angripare lyckas lista ut ditt lösenord efter en rainbow table-attack, kommer de inte att kunna klara nästa steg i autentiseringen.

Om du dessutom får en oväntad förfrågan om extra verifiering är det ett tydligt tecken på att någon försöker komma åt ditt konto. Du kan snabbt reagera genom att ändra ditt lösenord.

Använd e-postalias

E-postalias(nytt fönster) kan skydda dig från dataintrång som kan leda till rainbow table-attacker eftersom de inte är kopplade till dina primära e-postadresser. Du kan till exempel fortsätta använda din huvudsakliga e-postadress för viktiga meddelanden och ekonomi, medan du reserverar e-postalias för mindre säkra aktiviteter, såsom registrering på otillförlitliga tjänster. Om ditt e-postalias blir hackat kan du enkelt inaktivera det.

Övervaka internet efter dataintrång

Genom att hålla dig informerad om de senaste intrången kan du avgöra om några av tjänsterna du använder har blivit exponerade och om din data har läckt. Detta gör att du kan vidta proaktiva åtgärder, som att ändra dina lösenord omedelbart, för att förhindra att hackare använder potentiellt exponerad data för att få obehörig åtkomst till dina konton.

Hur Proton Pass kan hjälpa dig

Proton Pass kan skydda dig från rainbow table-attacker genom att generera starka lösenord(nytt fönster) och hantera dem på ett ställe. Det stöder även en TOTP-authenticator (tidsbaserat engångslösenord) för 2FA-tokens. Dessutom erbjuder appen hide-my-email-alias för att förhindra att din primära e-postadress blir exponerad online.

Alla Proton Pass-prenumeranter kan använda Pass Monitor(nytt fönster) för att övervaka hälsan hos alla lösenord och Övervakning av dark web för att spåra olika källor efter dataintrång. Vår säkerhetsmodell använder den säkra hashalgoritmen bcrypt, som saltar dina lösenord innan de hashas för att stoppa rainbow table-attacker. Vidare kör vi ett avancerat säkerhetsprogram som heter Proton Sentinel för att upptäcka och förhindra kontoövertagandeattacker.

Börja säkra dina konton från rainbow table-attacker genom att registrera dig för ett gratis Proton Pass-konto idag.