Így működnek a brute force támadások
Miért fontos a hosszúság: számítási példák és ellenintézkedések.
A brute-force támadások során a támadók szisztematikus kipróbálással próbálják kitalálni a jelszót, az összes lehetséges karakterkombinációt végigpróbálva. Az alapötlet egyszerű: a lehető legtöbb kombinációt kell másodpercenként kipróbálni – ideális esetben GPU-kon vagy elosztott rendszereken. Ezt kimerítő keresésnek (exhaustive search) is nevezik.
A gyakorlatban sajnos az ilyen támadások gyakran sikeresek, mert sok jelszó túl rövid, csak néhány karaktercsoportra korlátozódik (csak betűk) vagy szólistákban szerepel. Ez drasztikusan csökkenti a keresési teret és megkönnyíti a kitalálást. Még fontosabb: megkülönböztetünk online támadásokat (bejelentkezési űrlapok ellen, itt segít a sebességkorlátozás/fiók zárolás) és offline támadásokat (ellopott jelszó-hash-ek ellen, itt a hash-funkció és a jelszó erőssége dönti el a támadás idejét).
Jelszavak feltörése (offline) ≠ „dekódolás”
A jelszavakat nem dekódolják, hanem hash-értékekként tárolják, majd kísérletezéssel + hash-eléssel</ em> (brute force, szótár-/maszk támadások) segítségével keresik meg. A számítási sebesség a modern hardvereknél milliárd/másodperc tartományban mozog (gyors hash-eljárások esetén), ezért a hosszú és lassú eljárásokkal (pl. Argon2, scrypt, PBKDF2, bcrypt) hash-elt jelszavak döntő fontosságúak.
A jelszó kombinációja és hossza
Az alábbi példák bemutatják a hosszúság és a karakterválasztás hatását. Az illusztrációhoz 2 milliárd kísérletet másodpercenként számolunk (nagy teljesítményű egyedi számítógép; a valós értékek a hardvertől és – offline esetben – a hash-eljárástól függően jelentősen eltérhetnek).
Tipikus karaktercsoportok:
- Számok (10: 0–9)
- Betűk (52: A–Z és a–z)
- Különleges 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:
Lehetséges kombinációk = (karakterkészlet)jelszó hossza
Fontos: A táblázat a maximális keresési időt mutatja. Átlagosan a tényleges idő körülbelül a fele. Ezenkívül a szótár-, szabály- és maszk támadások jelentősen csökkentik a keresési teret, míg a lassú jelszó-hash eljárások drasztikusan csökkentik az effektív arányt.
| A jelszó a következőkből áll | Lehetséges kombinációk (képlet) | Szükséges idő (2 milliárd/másodperc esetén) |
|---|---|---|
|
5 karakter |
( 53) ×
263 × 102 = |
17 576 000 / 2 000 000 000 = |
|
7 karakter |
( 71) ×
261+6 = |
56 222 671 232 / 2 000 000 000 = |
|
8 karakter |
( 84) × ( 42 ) × 264
× 322 × 102 = |
19 653 623 808 000 / 2 000 000 000 = |
|
9 karakter |
( 92 ) × ( 73) × ( 42 ) ×
262+3 × 102 × 322 = |
9 197 895 942 144 000 / 2 000 000 000 = |
|
12 karakter |
( 123) × ( 94 ) × ( 53) ×
263+4 × 323 × 102 = |
7 295 525 784 083 496 960 000 / 2 000 000 000 = |
|
14 karakter |
( 144 ) × (
104) × ( 63 ) ×
264+4 × 103 × 323 = |
28 768 690 008 569 256 345 600 000 / 2 000 000 000 = |
Következtetés: Minden további karakter megsokszorozza a keresési teret. A hosszúság komplexitási szabályokat – különösen az offline támadások ellen – feltételez, feltéve, hogy a szolgáltatások megfelelő, lassú hash-eljárásokat használnak sóval.
Védelem brute-force támadások ellen
A leghatékonyabb felhasználói intézkedés egy hosszú, véletlenszerű mesterjelszó vagy egy jelszófrázis (pl. több véletlenszerű szó) – egyedülálló minden szolgáltatáshoz. A Password Depot segít a generálásban és megjeleníti a becsült támadási időt, amely a hosszúság/karakterkészlet mellett a szótárban található gyenge pontokat is figyelembe veszi.
- MFA/2FA aktiválása (pl. TOTP-alkalmazás vagy hardveres token) – ahol lehetséges, a jelszavak még jobbak. Lásd BSI-tanácsok.
- Nincs jelszó-újrahasznosítás. Minden fióknak saját, erős jelszóra van szüksége.
- Hosszú jelszavak a kötelező komplexitás helyett. A szolgáltatásoknak hosszú jelszavakat/jelszófrázisokat kell engedélyezniük (legalább 64 karakter), és blokkolniuk kell a kompromittált jelszavakat (feketelista).
- Lassú hash-eljárások szerver oldalon (pl. Argon2, scrypt, PBKDF2, bcrypt) salt és megfelelő munkatényezőkkel; a gyors hash-ek, mint az MD5/SHA-1, nem alkalmasak jelszó tárolására.
- Sebességkorlátozás/fojtás és zárolás: Az online támadásokat korlátozott hibás kísérletek, fokozatos várakozási idők és adott esetben CAPTCHA segítségével kell megakadályozni.
Ezenkívül a Password Depot Online megnehezíti a jelszófeltörési kísérleteket azzal, hogy a helytelen beírások után rövid időre letiltja a mesterjelszó beviteli mezőjét – növekvő várakozási idővel ismételt hibás beírások esetén.
További források
- NIST SP 800‑63B (Rev. 4), függelék: Jelszavak erőssége – Hosszúság, jelszavak, offline támadások (milliárd hash/másodperc) és sebességkorlátozási 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; sebességkorlátozás/szűkítés maximum 100 egymást követő sikertelen kísérletre korlátozva.
- OWASP Password Storage Cheat Sheet – megfelelő eljárások (Argon2, scrypt, PBKDF2, bcrypt), só/munka tényezők.
- OWASP Authentication Cheat Sheet – irányelvek a jelszó megadására, hosszára, feketelistákra és zárolási mechanizmusokra vonatkozóan.
- BSI: Biztonságos jelszavak létrehozása – többek között hosszú/összetett jelszavak és jelszavas mondatok; gyakorlati tippek.
- BSI‑Presse 31.01.2025 – Nincs kényszerű rendszeres jelszóváltás; 2FA/Passkeys előnyben részesítése.
- distributed.net RC5 / aktuális proxy állapot – szemléltető példa a kimerítő keresésre és az elosztott számítási teljesítményre.