Atak brutalnej siły - kompleksowa operacja
Dokument referencyjny projektu Time2Crack
Odbiorcy: deweloperzy, badacze bezpieczeństwa, zaawansowani użytkownicy
Spis treści
1. Przegląd
Surowa siła jest najbardziej podstawowym atakiem w łamaniu haseł: polega na testowaniu systematycznie wszystkie możliwe kombinacje Brak inteligencji, brak heuryzmu - tylko surowa moc obliczeniowa przeciw wielkości przestrzeni do podróży.
W Time2Crack brutalna siła odgrywa podwójną rolę:
2. Tło historyczne i akademickie
2.1 Początki
Surowa siła poprzedza komputer: zasada testowania wszystkich możliwych kombinacji jest stosowana od czasu pierwszej mechanicznej maszyny szyfrującej (Enigma podczas II wojny światowej). Bomba Alana Turinga była, w szerokim znaczeniu, urządzeniem surowej siły wymuszonym hipotezą kołysek.
Wraz z pojawieniem się komputerów, siła hasła unix została sformalizowana od lat 70. do 80.:
| Rok | Zdarzenie |
| Więc... | To... |
| 1979 | Morris & Thompson: Pierwszy artykuł akademicki na temat bezpieczeństwa haseł Unix, z analizą surowej siły na / etc / passwd |
| 1988 | Morris Worm: pierwszy wyczyn masowy przy użyciu, między innymi, słownika i surowego hasło crack |
| 1993 | Crack 5.0 (Alec Muffett): pierwsze publiczne narzędzie krakingowe na Unix |
| 2004 | Ophcrack: tabele rowków + surowa siła na LM / NTLM hashs Windows |
| 2007 | GPU- akcelerated cracking (Elcomsoft): pierwsze publiczne zastosowanie GPU w celu przyspieszenia siły brutto |
| 2012 | Hashcat open source: narzędzie referencyjne, maksymalna obsługa GPU |
| 2016 | Hive Systems: Roczna publikacja tabel "siła brutto przez GPU" staje się referencją przemysłową |
2.2 Wartości odniesienia
Rewolucja GPU zmieniła kolejność wielkości siły pierwotnej. Na CPU, napastnik z lat 90. przetestował ~ 10,000 MD5 / drugie hasła. 168,9 miliarda na sekundę - przyspieszenie 16 milionów razy w ciągu 30 lat.
Kluczowe źródła akademickie :- Gosney, J (2012) : pierwszy publiczny punkt odniesienia multi- GPU na LM / NTLM, przedstawiający 180 GH / s z 8 GPU
- Systemy Hive (2025) : coroczne tabele skalibrowane na 12 × RTX 4090, cytowane przez Forbes, CNBC, BBC
- Sfengers, M. (2011) : Teza Uniwersytetu Radboud na temat łamania GPU, formalizacja matematyczna
3. Podstawy matematyki: keyspace i entropia
3.1 Klawiatura
Keyspace (keyspace) to całkowita liczba możliwych haseł dla danej długości i zbiornika:
keyspace = charset_size ^ length
Przykłady:
| Charset | Rozmiar | Długość | Klawiatura | Ocena |
| Czy... | Bo... | - Nie. | - Nie. | - Nie. |
| Pojedyncze cyfry | 10 | 8 | 108 = 100 000 000 | 108 |
| Tylko minuskule | 26 | 8 | 268 mln | ~ 2 × 1011 |
| Alfanumeryczne | 62 | 8 | 628 mln | ~ 2 × 1014 |
| Pełny ASCII | 95 | 8 | 958 mld | ~ 6 × 1015 |
| Pełny ASCII | 95 | 12 | 9512 - 5,4 × 1023 | ~ 5 × 1023 |
| Pełny ASCII | 95 | 16 | 9516 - 4.4 × 1031 | ~ 4 × 1031 |
3.2 entropia binarna
Entropia (mierzona w bitach) jest logarytmiczną formułą przestrzeni klawiszowej:
entropie = length × log₂(charset_size)
W Time2Crack (funkcja entropy()):
function entropy(pw) {
return pw.length * Math.log2(getCharset(pw).size);
}
Związek między entropią a przestrzenią klawiszową:
keyspace = 2^entropie
entropie = log₂(keyspace)
Konkretne przykłady :
| Hasło | Charset | Długość | Entropia | Klawiatura |
| - Tak. | Czy... | - Nie. | - Nie. | - Nie. |
| "12345678" | 10 (cyfry) | 8 | 26,6 bitów | 108 |
| "hasło" | 26 (niższe) | 8 | 37,6 bitów | 268 |
| Hasło 1 | 62 (alfanum) | 9 | 53,6 bitów | 629 |
| "P @ ssw0rd!" | 95 (pełne ASCII) | 9 | 59.3 bitów | 959 |
| xQz7 @ mK9 # 2pL | 95 (pełne ASCII) | 12 | 79 bitów | 9512 |
3.3 Nadzieja matematyczna: Keyspace / 2
Surowa siła nie zawsze testuje keyspace Kombinacje Integer - średnio, znajduje hasło w połowie drogi, ponieważ cel jest prawdopodobnie rozprowadzany w przestrzeni.oczekiwania matematyczne liczba prób jest zatem:
tentatives_attendues = keyspace / 2
To jest dokładnie co modele bruteTime() w Time2Crack:
// "For brute force: expected value is keyspace/2 (uniform random search)"
function bruteTime(keyspace, rate) {
const ls = Math.log(keyspace / 2) - Math.log(rate);
return Math.exp(ls); // = (keyspace / 2) / rate
}
Podział przez 2 jest poprawny przy założeniu, że napastnik podróżuje liniowo (niepowtarzalny). keyspace/2 Próby.
14. Skuteczna obrona
14.1 Strona użytkownika: długość i losowość
Siła brutto zostaje pokonana przez dwa czynniki:
Długość : każdy dodatkowy znak mnoży przestrzeń klawiszy przezcharset_sizeOd 8 do 12 znaków (charset 95) mnoży przestrzeń klawiszy przez 954 - 81 mln.
Prawdziwe losowe : kryptograficznie bezpieczny generator (CSPRNG) produkuje hasła, które nie korzystają z żadnej redukcji probabilistycznej. Markov, PCFG i Neural nie mają żadnej przewagi nad naprawdę losowym hasłem.
Zalecenie praktyczne :
- Hasło Manager + Random Generation ≥ 16 znaków z pełnym float = poza zasięgiem jakiejkolwiek siły w ludzkim horyzoncie życia
14.2 Strona serwera: algorytmy odporne
Wybór algorytmu hash mnoży lub dzieli czas siły na czynniki aż do kilka milionów :
| Zalecenie | Algorytm | Uzasadnienie |
| {C: $aaccff} Tłumaczenie: | / | Bo... |
| Zalecane | Argon2id | Pamiętnik twardy, odporny na GPU |
| Zalecane | bcrypt (koszt ≥ 12) | Intencjonalnie wolne, słone |
| Dopuszczalne | scrypt | Pamięt- twarde, ale mniej standaryzowane |
| Nieodpowiednie | Scha- 256 solony | Za szybko nawet z solą |
| Niebezpieczne | MD5, SHA-1, NTLM | Niesłony, bardzo szybki |
15. Odniesienia bibliograficzne
Akademika
Morris, R., & Thompson, K. (1979). Bezpieczeństwo haseł: Historia spraw. Komunikaty ACM, 22 (11), 594- 597. → Założenie artykułu na temat bezpieczeństwa hasła UnixSpregers, M. (2011). Śledzenie hasła bazujące na GPU- (tezy Mistrza). Radboud University Nijmegen. → Matematyczna formalizacja krakingu GPU, wartości odniesienia dla pojedynczego GPU
Wheeler, D.L. (2016). zxcvbn: Szacunkowa moc hasła w budżecie. 25. USENIX Sympozjum Bezpieczeństwa. → Dane dotyczące efektywnej przestrzeni klawiszowej (Tabela 2: -30% dla ustrukturyzowanych haseł)
Dürmuth, M. et al. (2015). Orded Markov Enumerator. ESORICS 2015. → Porównywalne odniesienie dla terminali probabilistycznych wobec siły brutto
Przemysł
Hive Systems. (2025). 2025 Hive Systems Password Table. https: / / www.hivesystems.io / password- table → Roczne poziomy odniesienia dla 12 × RTX 4090, standardowy punkt odniesieniaGosney, J (2012). 8x wartości odniesienia Nvidia GTX 1080 Hashcat. GitHub Gist. → Pierwszy publiczny wskaźnik multi- GPU, odniesienie historyczne
Hashcat. (2024). Official Hashcat references v6.2.6. https: / / hashcat.net / hashcat / → Oficjalne prędkości według algorytmu, źródło stałych Time2Crack
NIST SP 800- 63B. (2017, aktualizacja 2024). Wytyczne dotyczące tożsamości cyfrowej: Uwierzytelnianie i zarządzanie cyklem życia. → Oficjalne zalecenia dotyczące długości i złożoności hasła
OWASP. (2024). Password Storage Cheat Arkusz. https: / / cheatssheetseries.owasp.org / cheatssheets / Password Storage Cheat Sheet.html → Zalecenia dotyczące bcrypt (koszt ≥ 12), Argon2id jako nowoczesne standardy
Dokument wygenerowany dla projektu Time2Crack - ostatnia aktualizacja: 2026- 04- 18 Na podstawie implementacji w app.js, surowych funkcjonalnościTime (), getCharset () i ochrony monotoniczności