Így működnek a brute-force támadások
Miért számít a hossz: számítási példák és ellenintézkedések.
A(z) brute-force támadások során a támadók megpróbálják kitalálni a jelszót az összes lehetséges karakterkombináció szisztematikus végigpróbálásával. Az alapelv egyszerű: másodpercenként a lehető legtöbb kombinációt tesztelni – ideális esetben GPU-kon vagy elosztott rendszerekben. Ezt nevezik más néven kimerítő keresésnek (kimerítő keresés).
A gyakorlatban az ilyen támadások sajnos gyakran sikeresek, mert sok jelszó túl rövid , csak kevés karaktercsoportra korlátozódik (csak betűk), vagy szerepel a(z) szólistákban. Ez drasztikusan csökkenti a keresési teret, és megkönnyíti a kitalálást. Ennél is fontosabb, hogy különbséget teszünk a következők között: online támadások (bejelentkezési űrlapok ellen; itt a rate limiting/fiókzárolás segít) és offline támadások (ellopott jelszó-hash-ek ellen; itt a hash-függvény és a jelszó erőssége határozza meg a támadáshoz szükséges időt).
A jelszavak feltörése (offline) ≠ „visszafejtés”
A jelszavakat nem visszafejtik, hanem hash-értékként tárolják, majd találgatással + hasheléssel keresik őket (brute force, szótár-/maszktámadások). A modern hardverek számítási sebessége a(z) másodpercenkénti milliárdos tartományban van (gyors hash-eljárások esetén), ezért a hosszú és lassú eljárásokkal (pl. Argon2, scrypt, PBKDF2, bcrypt) hashelt jelszavak kulcsfontosságúak.
Történeti és aktuális vonatkozás: A(z) distributed.net RC5-projektje jól szemlélteti a kimerítő keresés nyers erejét egy kulcstéren: az 56 bites kulcsot 1997-ben 250 nap után, a 64 biteset 2002-ben 1.757 nap után találták meg. Jelenleg a(z) proxy állapota az RC5-72 esetébenkb. 2,38 billió kulcs másodpercenként (állapot: a mai napi lekérdezés alapján). Ez kulcsalapú brute force és nem jelszó-hashelés – ugyanakkor jól szemlélteti, mennyire skálázható az elosztott számítási teljesítmény.
A jelszó összetétele és hossza
Az alábbi példák bemutatják a(z) hossz és a(z) karakterkészlet hatását. A szemléltetéshez 2 milliárd próbálkozás/másodperc értékkel számolunk (nagyon erős önálló számítógép; a valós értékek a hardvertől és – offline esetben – a hashelési eljárástól függően jelentősen eltérhetnek).
Tipikus karaktercsoportok:
- Számjegyek (10: 0–9)
- Betűk (52: A–Z és a–z)
- Speciális karakterek (≈ 32; a szolgáltatás által engedélyezett karakterkészlettől függ)
A lehetséges kombinációk száma a következőképpen adódik:
Fontos: A táblázat a maximális keresési időt mutatja. Átlagosan a tényleges idő ennek körülbelül a fele. Emellett a szótár-, szabály- és maszkalapú támadások jelentősen csökkentik a keresési teret, míg a(z) lassú jelszóhashelési eljárások az effektív sebességet drasztikusan csökkentik.
| A jelszó tartalmaz | Lehetséges kombinációk (képlet) | Szükséges idő (2 Mrd/s mellett) |
|---|---|---|
| 5 karakter 3 kisbetű, 2 számjegy | (53) × 263 × 10217 576 000 | 0,009 másodperc |
| 7 karakter 1 nagybetű, 6 kisbetű | (71) × 261+656 222 671 232 | ≈ 28 másodperc |
| 8 karakter 4 kisbetű, 2 speciális karakter, 2 számjegy | (84) × (42) × 264 × 322 × 10219 653 623 808 000 | ≈ 2,73 óra |
| 9 karakter 2 nagybetű, 3 kisbetű, 2 számjegy, 2 speciális karakter | (92) × (73) × (42) × 262+3 × 102 × 3229 197 895 942 144 000 | ≈ 53 nap |
| 12 karakter 3 nagybetű, 4 kisbetű, 3 speciális karakter, 2 számjegy | (123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021 | ≈ 115 591 év |
| 14 karakter 4 nagybetű, 4 kisbetű, 3 számjegy, 3 speciális karakter | (144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025 | ≈ 455 812 388 év |
Összegzés: Minden további karakter megsokszorozza a keresési teret. A hossz fontosabb, mint a komplexitási szabályok – különösen a(z) Offline támadások – feltéve, hogy a szolgáltatások megfelelő, lassú hash-eljárásokat használnak Salt-tal.
Védelem brute-force támadások ellen
A leghatékonyabb felhasználói intézkedés egy hosszú, véletlenszerű mesterjelszó vagy egy jelmondat (pl. több véletlenszerű szó) – szolgáltatásonként egyedi formában. A Password Depot segít a létrehozásban, és megjeleníti a becsült feltörési időt is, amely a hossz/karakterkészlet mellett a szótár alapú gyengeségeket is figyelembe veszi.
- MFA/2FA bekapcsolása (pl. TOTP-alkalmazás vagy hardveres token) – ahol lehetséges, a Passkeys még jobbak. Lásd a(z) BSI útmutatóját.
- Ne használjon újra jelszavakat. Minden fiókhoz külön, erős jelszó szükséges.
- A hossz fontosabb, mint a kötelező komplexitás. A szolgáltatásoknak engedélyezniük kell a hosszú jelszavakat/jelmondatokat (legalább 64 karakter), és blokkolniuk kell a kompromittálódott jelszavakat (feketelista).
- Lassú hash-eljárások szerveroldalon (pl. Argon2, scrypt, PBKDF2, bcrypt) Salt és megfelelő work factorok használatával; az olyan gyors hashek, mint az MD5/SHA-1, nem alkalmasak jelszavak tárolására.
- Rate-Limiting/Throttling és zárolás: Az online támadásokat korlátozott számú hibás próbálkozással, fokozatos várakozási idővel és szükség esetén CAPTCHA-val kell lassítani.
Emellett a Password Depot az online próbálkozásos támadásokat is nehezíti azzal, hogy hibás bevitel után rövid időre zárolja a mesterjelszó beviteli mezőjét –egyre hosszabb várakozási idővel ismételt sikertelen próbálkozások esetén.
Gyakorlati útmutatás szolgáltatók (műszaki csapatok) számára
- Fogadják el az összes nyomtatható karaktert, beleértve a szóközöket/Unicode karaktereket is, és engedélyezzék a másolás és beillesztés használatát.
- Vezessenek be blokkolólistákat (kompromittálódott/gyakori jelszavak) és Rate-Limitinget egyértelmű felhasználói tájékoztatással.
- A jelszavakat kizárólag saltolt, hash-elt értékekként tárolják, lassú KDF-ekkel, és rendszeresen ellenőrizzék a work factorokat.
További források
- NIST SP 800–63B (Rev. 4), Függelék: A jelszavak erőssége – hossz, jelmondatok, offline támadások (milliárd hash/mp) és Rate-Limiting koncepció.
- NIST SP 800–63B (Rev. 3) – többek között minimális hossz, hosszú jelszavak engedélyezése (≥ 64), feketelisták, beillesztés engedélyezése; Rate-Limiting/Throttling legfeljebb 100 egymást követő sikertelen próbálkozásra korlátozva.
- OWASP Password Storage Cheat Sheet – megfelelő eljárások (Argon2, scrypt, PBKDF2, bcrypt), salt/work factorok.
- OWASP Authentication Cheat Sheet – irányelvek a jelszóbevitelre, hosszra, feketelistákra és zárolási mechanizmusokra.
- BSI: Biztonságos jelszavak létrehozása – többek között hosszú/összetett jelszavak és jelmondatok; gyakorlati tippek.
- BSI-sajtó 2025.01.31. – nincs kikényszerített rendszeres jelszócsere; előnyben részesítendő a 2FA/Passkeys.
- distributed.net RC5 / aktuális proxyállapot – szemléltető példa a teljes körű keresésre és az elosztott számítási teljesítményre.
Biztonságos jelszavak létrehozása
Ismerje meg, hogyan hozhat létre olyan jelszavakat, amelyek ellenállnak a brute-force támadásoknak.
Tippek a biztonságos jelszavakhoz