Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Predpoklady, ktoré musíme urobiť:
* Sada znakov: Najdôležitejším faktorom je to, aké znaky sú povolené v hesle. Zvážime niekoľko bežných scenárov:
* iba malé písmená (A-Z): 26 možných znakov.
* malé a veľké písmená (a-z, a-z): 52 možných znakov.
* písmená a čísla (a-z, a-z, 0-9): 62 možných znakov.
* písmená, čísla a symboly (A-Z, A-Z, 0-9 a ~!@#$%^&* () _+=-`): To sa môže líšiť v závislosti od povolených konkrétnych symbolov, ale predpokladajme okolo 95 znakov.
* Brute-Force Attack: Predpokladáme, že počítač pokúšame postupne pokúšať každú možnú kombináciu. Toto je najzákladnejší útok.
* Rýchlosť praskania hesla: Rýchlosť, pri ktorej môže počítač vyskúšať heslá, sa výrazne líši v závislosti od hardvéru (CPU, GPU), použitého softvéru na praskanie a algoritmus používaný na hash heslo. Odhadneme rozsah rýchlosti. Zvážme operácie za sekundu:
* pomaly: 1 000 hesiel/sekundu (veľmi starý alebo slabý systém)
* Mierne: 1 000 000 hesiel/sekundu (slušný moderný procesor)
* rýchle: 10 000 000 000 hesiel/sekundu (výkonné nastavenie GPU)
Výpočty
1. Celkové možné kombinácie:
Počet možných hesiel sa vypočíta ako:
`SET SET SET SETIZE ^ Dĺžka hesla`
Tak:
* Malé písmená (26):26
4
=456 976
* Listy (52):52
* Písmená a čísla (62):62
* Písmená, čísla a symboly (95):95
2. Priemerný čas na crack:
Pri útoku Brute Force počítač v priemere nájde správne heslo v polovici zoznamu možností. Takže rozdelíme celkový počet kombinácií 2 a potom rozdelíme rýchlosť praskania.
`Priemerný čas =(celkové kombinácie / 2) / rýchlosť praskania`
Výsledky (v sekundách):
| Sada znakov | Celkové kombinácie Pomaly (1 000/s) Mierne (1 000 000/s) Fast (10 000 000 000/s)
| ----------------------- | ---------------------- | -------------------- | ------------------------- | ---------------------------- |
| Malé písmená (26) | 456 976 | 228 s | 0,228 s | 0,0000228 s |
| Listy (52) 7 311 616 | 3656 s | 3,65 s | 0,000365 s |
| Písmená a čísla (62) 14 776,336 | 7388 s | 7,38 s | 0,000738 s |
| Listy atď. (95) 81 450 625 | 40725 s | 40,72 s | 0,00407 s |
Prevod na zrozumiteľnejšie jednotky
* Sekundy / 60 =minúty
* Minúty / 60 =hodiny
* Hodiny / 24 =dni
| Sada znakov | Pomaly (1 000/s) Mierne (1 000 000/s)
| ----------------------- | ---------------------- | ----------------------- |
| Malé písmená (26) | 3,8 minút 0,228 milisekúnd |
| Listy (52) 1,01 hodín 3,65 mikrosekundy
| Písmená a čísla (62) 2,05 hodín 7,38 mikrosekundy
| Listy atď. (95) 11,3 hodín 40,72 Mikrosekundy |
Dôležité úvahy:
* hashing algoritmy: Typ hashovacieho algoritmu používaného na ukladanie hesla výrazne ovplyvňuje čas prasknutia. Solovanie a silné hashovacie algoritmy ako Bcrypt, Argon2 alebo Scrypt sťažujú praskanie oveľa ťažšie, a to aj pri výkonnom hardvéri. Vyššie uvedené výpočty predpokladajú, že útočník môže priamo testovať heslá. Ak je heslo dobre zasiahnuté, musia vykonať výpočet hashovania pre každý odhad, ktorý drasticky spomaľuje veci.
* Dictionary Attacks: Namiesto toho, aby boli útočníci brutálna starostlivosť, najskôr často skúšajú bežné slová, mená a vzory. To môže byť oveľa rýchlejšie.
* Dúhové tabuľky: Vopred vypočítané tabuľky hashov môžu zrýchliť praskanie, najmä pre slabšie hashovacie algoritmy.
* Obmedzenie rýchlosti: Mnoho systémov implementuje obmedzenie sadzieb, čo obmedzuje počet pokusov o heslo povolené v danom časovom období. To účinne spomaľuje útoky na brutálnu silu.
Na záver:
Heslo 4-znakového hesla je možné veľmi rýchlo popraskať moderným hardvérom, najmä ak používa malú sadu znakov (napríklad malé písmená) a/alebo ak je hashovanie hesla slabé. Heslo s väčšou sadou znakov (vrátane čísel a symbolov) bude trvať dlhšie, ale stále môže byť zraniteľné. Z tohto dôvodu sú moderné odporúčania pre heslo pre oveľa dlhšie heslá a použitie silných a dobre zalievaných hashovacích algoritmov.