Cryptology Academy · Lektion

Hastighetsbegränsning och skydd mot kontolåsning

Undersök server- och protokollbaserade skydd som gör brute force-attacker opraktiska i praktiken.

Lektion 4 av 413 steg

Hastighetsbegränsning och skydd mot kontolåsning är en gratis lektion i Cryptology Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cryptology Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cryptology Academy innehåller totalt 4 lektioner.

Online- kontra offline-brute force

Online-brute force-attacker autentiserar mot aktiva system över ett nätverk. Varje försök tar minst en tur- och returresa, vanligtvis 50–500 ms, vilket begränsar angriparen till som bäst några tusen försök per minut. Det är avsevärt långsammare än att knäcka hashvärden offline. Genom att utnyttja denna begränsning gör frekvensbegränsning och kontolåsning online-brute force praktiskt taget omöjligt inom en realistisk tidsram.

Kontolåsning efter N misslyckade försök

Det enklaste skyddet mot online-brute force är att låsa ett konto efter ett fastställt antal på varandra följande misslyckade inloggningsförsök, vanligtvis 5 till 10. Kontot kan låsas under en bestämd tid, till exempel 15 minuter, eller tills en administratör låser upp det manuellt. Kontolåsning förvandlar en online-brute force-attack från ett försök att knäcka lösenord till en utmattningsattack mot kontots tillgänglighet.

Risk för denial-of-service vid kontolåsning

Kontolåsning skapar en sårbarhet för denial-of-service: en angripare som känner till giltiga användarnamn kan låsa alla konton genom att skicka 5 misslyckade försök för vart och ett. Detta är en inneboende avvägning i låsningspolicyer. Vissa system använder tillfällig låsning, till exempel i 5 minuter, i stället för permanent låsning för att minska DoS-effekten. Andra låser inte konton alls utan använder i stället exponentiell backoff för att bromsa angripare utan att möjliggöra DoS.

CAPTCHA som bot-skydd

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) kräver att användaren löser en visuell eller ljudbaserad utmaning som är enkel för människor men svår för automatiserade botar. Google reCAPTCHA v3 använder beteendeanalys i stället för uttryckliga utmaningar och tilldelar en riskpoäng baserat på musrörelser, tidsmönster och webbhistorik. CAPTCHA bromsar automatiserad brute force avsevärt utan att låsa konton.

Exponentiell backoff för misslyckade försök

Exponentiell backoff ökar väntetiden mellan tillåtna inloggningsförsök efter varje misslyckande: 1 sekund efter det första misslyckandet, 2 sekunder efter det andra, 4 sekunder efter det tredje och så vidare. Efter 10 misslyckanden är väntetiden över 17 minuter. Detta gör brute force extremt långsamt utan att låsa kontot helt, vilket undviker risken för denial-of-service och samtidigt avskräcker automatiserade attacker.

IP-baserad frekvensbegränsning

IP-baserad frekvensbegränsning blockerar eller utmanar inloggningsförsök från IP-adresser som överskrider en tröskel för antal misslyckanden per tidsenhet. Om en IP-adress skickar 50 misslyckade inloggningar under en minut blockeras efterföljande försök från den IP-adressen i en timme. Distribuerade attacker som använder botnät med tusentals olika IP-adresser kan kringgå enkla gränser per IP-adress, vilket kräver mer avancerad hastighetsdetektering baserad på flera signaler.

TOTP som motmedel mot brute force

Tidsbaserade engångslösenord (TOTP, som används i Google Authenticator och liknande appar) genererar en sexsiffrig kod som är giltig i 30 sekunder. Även om en angripare lyckas knäcka rätt lösenord behöver angriparen också den aktuella TOTP-koden. Med endast 1 miljon möjliga sexsiffriga koder och ett fönster på 30 sekunder är det praktiska fönstret för TOTP-brute force mycket litet. MFA eliminerar i praktiken brute force av lösenord som en användbar attackvektor.

bcrypt:s arbetsfaktor fördröjer hashberäkningen

bcrypt är en funktion för lösenordshashning med en konfigurerbar kostnadsfaktor. Vid kostnadsfaktor 10 tar bcrypt omkring 100 ms att hasha ett enda lösenord. Vid kostnadsfaktor 12 tar det omkring 400 ms. Det innebär att en angripare som knäcker bcrypt-hashvärden offline kan testa som mest några hundra lösenord per sekund på en GPU, jämfört med miljarder per sekund för MD5. Arbetsfaktorn kan höjas i takt med att hårdvaran förbättras för att bibehålla samma svårighetsgrad vid knäckning.

Argon2:s minneskrävande egenskaper

Argon2 vann Password Hashing Competition 2015 och är den aktuella rekommendationen för nya system. Dess viktigaste egenskap är minneshårdhet: beräkningen kräver en konfigurerbar mängd RAM, vanligtvis 64 MB till 1 GB. Detta förhindrar acceleration med GPU och ASIC eftersom dessa enheter har begränsad minnesbandbredd. En angripare med en GPU som kan köra tusentals bcrypt-beräkningar parallellt kan på grund av minnesbegränsningar bara köra en handfull Argon2-beräkningar.

WAF-regler för credential stuffing

Web Application Firewalls kan upptäcka credential stuffing genom att identifiera mönster i trafik med misslyckade inloggningar: stora volymer från enskilda IP-adresser, försök med listor över vanliga användarnamn, avvikande geografisk spridning av inloggningsförsök och tidsmönster som stämmer överens med automatiserade verktyg. WAF-regler kan blockera, utmana eller bromsa misstänkt trafik innan den når applikationen. Moderna WAF:er integrerar flöden med hotinformation för kända IP-intervall som används av botnät.

HIBP API för kända läckta lösenord

Genom att integrera Have I Been Pwned API i flöden för lösenordsbyte förhindras användare från att välja lösenord som förekommer i kända läckdatabaser. API:et använder k-anonymitet: endast de första 5 hexadecimala tecknen i SHA-1-hashen skickas, vilket skyddar användarnas integritet och samtidigt möjliggör matchning mot 850 miljoner kända läckta lösenord. Genom att blockera läckta lösenord vid registrering elimineras en betydande del av sårbarheten för credential stuffing.

Kontolåsning

Vilken är den huvudsakliga säkerhetsrisken med strikta policyer för kontolåsning som låser konton permanent?

Frekvensbegränsning och kontolåsning: Viktiga slutsatser

Online-brute force begränsas av nätverksfördröjning, vilket frekvensbegränsning och kontolåsning utnyttjar. Kontolåsning stoppar brute force men möjliggör denial-of-service-attacker. Exponentiell backoff och CAPTCHA minskar båda riskerna. IP-baserad frekvensbegränsning upptäcker attacker från en enskild källa. TOTP-baserad MFA besegrar effektivt brute force av lösenord. bcrypt och Argon2 fördröjer knäckning av hashvärden offline. HIBP API blockerar kända läckta lösenord vid registrering.

Gratis att börja

Lär dig Cryptology Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
67
Lektioner
261

Vanliga frågor

Är lektionen ”Hastighetsbegränsning och skydd mot kontolåsning” gratis?

Ja – hela texten till ”Hastighetsbegränsning och skydd mot kontolåsning” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cryptology Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Cryptology Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Hastighetsbegränsning och skydd mot kontolåsning”?

Undersök server- och protokollbaserade skydd som gör brute force-attacker opraktiska i praktiken. Ni övar på Cryptology Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cryptology Academy?

Du behöver inga förkunskaper. Utbildningen i Cryptology Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Hastighetsbegränsning och skydd mot kontolåsning”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cryptology Academy-lektionen?

Ja. Varje Cryptology Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Så fungerar brute force-attacker
  2. Ordboksattacker och regnbågstabeller
  3. Varför kryptografisk nyckellängd är viktig
  4. Hastighetsbegränsning och skydd mot kontolåsning
← Tillbaka till Cryptology Academy