Brute Force Attack - Kapsamlı Operasyon

Project reference document Time2Crack
Recipients: geliştiricileri, güvenlik araştırmacıları, gelişmiş kullanıcılar

İçerikler

  • Genel Bakış Genel Bakış Genel Bakış Genel Bakış Genel Bakış Genel Bakış Genel Bakış Genel Bakış
  • Tarihsel ve akademik arka plan
  • Matematik: Keyspace ve Entropi
  • Acı bir saldırı modern kuvvet mimarisi
  • Haveh algoritması ile hesaplama hızları
  • Time2Crack
  • Kırılma süresini hesaplamak: hamTime()
  • Tarih azaltımı tespit edildi: detectDateAndReduce()
  • Monotonicity guard: Diğer saldırıların zemini
  • HF kalibrasyonu ve brüt kuvvetin rolü
  • Diğer saldırılara karşı karşılaştırma
  • Teorik ve pratik kısıtlamalar
  • What brute force does not say
  • Etkili savunmalar
  • Referanslar Referanslar

  • 1. Genel bakış

    Crude kuvveti şifre çatlaklarındaki en temel saldırıdır: testlerden oluşur Tüm olası kombinasyonlar Hiçbir istihbarat, hiçbir heuristic - sadece uzayın büyüklüğüne karşı ham bilgisayar gücü seyahat etmek.

    Time2Crack'de, brute kuvveti çift bir rol oynar:

  • Modellenmiş saldırı Bir saldırganın koyduğu en yüksek teorik zamanı temsil eder, başka bir sömürülü kırılganlığı varsayar.
  • Kat (monotonicity guard) : Tüm diğer saldırılar için daha düşük bir terminal olarak hizmet eder - uzman bir saldırı meşru olarak şifrenin alfabetik alt zinciri üzerinde ham kuvvet alacağından daha az bir zaman gösteremez.
  • pratikteÇiğ kuvvet neredeyse hiçbir zaman gerçek bir insan parolasına en hızlı saldırı değildir - PCFG, Markov veya hibrit saldırı daha etkili olacaktır. Ama gerçekten rastgele ve uzun bir şifre için, gerçekliğini temsil eder: saldırganın uzay egzozunu izlemesi için hiçbir seçeneği yoktur.

    2. Tarihsel ve akademik arka plan

    2.1 Origins

    Çiğ kuvvet bilgisayardan önce gelir: test prensibi tüm olası kombinasyonlar ilk mekanik şifreleme makineleri (İkinci Dünya Savaşı sırasında enigma). Alan Turing bombası, büyük bir anlamda, beşli bir hipotezle zorlanan bir ham güç cihazıydı.

    Bilgisayarların gelişiyle, altı şifre kuvveti 1970'lerden 1980'lere kadar resmileştirildi:

    YılEvent Event Event
    - ►- !!!
    1979 1979 1979Morris & Thompson: İlk akademik makale Unix şifre güvenliği, / v /passwdd
    1988 1988 1988Morris Worm: ilk kitlesel feat using, diğer şeyler arasında, bir sözlük ve ham güç şifresi çatlakları
    1993 1993 1993 1993 1993 1993Crack 5.0 (Alec Muffett): İlk halk Unix üzerinde ham güç tarafından kırıldı
    2004 2004 2004 2004Ophcrack: LM /NTLM'de su tabloları + ham güç Windows'u yok ediyor
    2007 2007 2007 2007GPU-accelerated çatlakları (Elcomsoft): İlk halk GPU'nın brüt kuvvetin hızlandırılması için kullanımı
    2012 2012 2012Hashcat açık kaynak: referans aracı, maksimum GPU operasyonu
    2016Hive Systems: "gross kuvvet" masalarının yıllık yayını endüstriyel referans haline gelir

    2.2 Benchmarks

    GPU devrimi, ham gücün büyüklüğünü değiştirdi.In CPU, 1990'ların bir saldırganı ~ 10.000 MD5 / saniye şifreleri test etti. 2024'te 2024'te bir RTX 4090 test etti. 168.9 milyar ikinci - 30 yılda 16 milyon kez bir ivme.

    Anahtar akademik kaynaklar :

    3. Matematik üsleri: anahtar uzay ve entropi

    3.1 Keyspace

    Keyspace (keyspace) belirli bir uzunluk ve tank için olası şifrelerin toplam sayısıdır:

    keyspace = charset_size ^ length

    Örnekler:

    CharsetBoyut BoyutuUzunluk uzunluğuKeyspaceRating Rating Rating Rating
    --- ►- !!!- !!!- !!!
    Tek sayılar10 108 8108 = 100.000.000~108
    Minuscules yalnız268 8268 milyon milyon~2 × 1011
    Alfanumeric628 8628 milyon~2 × 1014
    Full ASCII95 95 958 8958 milyar milyar~6 × 1015
    Full ASCII95 95 95129512 - 5.4 × 1023~5 × 1023
    Full ASCII95 95 95169516 - 4.4 × 1031~4 × 1031

    3.2 ikili entropi

    Entropy (measured in bits) anahtar uzayın günlük formülasyonudur:

    entropie = length × log₂(charset_size)

    Time2Crack (işlev) entropy())

    function entropy(pw) {
      return pw.length * Math.log2(getCharset(pw).size);
    }

    Entropi ve anahtar uzay arasındaki ilişki:

    keyspace = 2^entropie
    entropie = log₂(keyspace)
    Beton örnekleri :
    Şifre ŞifreCharsetUzunluk uzunluğuEntropyKeyspace
    ---- ►- !!!- !!!- !!!
    "747"10 (digits)8 826.6 bit108 108 108
    "password"26 (lower)8 837.6 bit268
    Şifre162 (alphanum)9 953.6 bit629
    "P@sw0rd!"95 (Tam ASCII)9 959.3 bit959
    xQz7@mK9 #2pL95 (Tam ASCII)1279 bit9512

    3.3 Matematiksel Umut: Keyspace / 2

    Crude kuvveti her zaman test etmiyor keyspace Integer kombinasyonları - ortalama olarak, hedef uzayda donmuş gibi şifre orta bulur.matematiksel beklenti Bu nedenle deneme sayısı şunlardır:

    tentatives_attendues = keyspace / 2

    Bu tam olarak hangi modeller bruteTime() 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
    }

    Bu bölüm 2 tarafından doğru, saldırganın uzay lineer olarak seyahat ettiğinin varsayımı altında (kahramansız). keyspace/2 Deneyler.


    14. Etkili savunma

    14.1 Kullanıcı tarafı: uzun ve rastgelelik

    Gross kuvveti iki birleşik faktör tarafından yenilir:

    Uzunluk uzunluğu : Her ek karakter anahtar alanı anahtar alana çok fazla ayırır charset_size8'den 12 karaktere kadar (yaklaşık 95) anahtar alanı anahtar boşlukları çok fazla 954 - 81 milyon.
    Gerçek rastgele Kriptografik olarak güvenli bir jeneratör (CSPRNG) herhangi bir olasılıksal azalmadan faydalanmayan şifreler üretir. Markov, PCFG ve Neural gerçekten rastgele bir şifre üzerinde avantaja sahip değildir.
    Pratik Öneri :

    14.2 Server tarafı: dayanıklı algoritmaları

    hash algoritmasının seçimi multiplies veya ham güç zamanını faktörlere kadar bölerek Birkaç milyon milyon milyon :

    Öneri Öneri Öneri ÖnerisiAlgorithmSebep Sebep Sebep
    ---- !!!--- ►
    Önerilen önerilen önerilen önerilenArgon2idMemory-hard, GPU dirençli
    Önerilen önerilen önerilen önerilenbcrypt (cost ≥ 12)Amaçlı yavaş, tuzlu
    Kabul edilebilirscryptMemory-hard ama daha az standart
    InadequateSHA-256 tuzlandıHatta tuzla bile hızlı
    Tehlikeli Tehlikeli TehlikeliMD5, SHA-1, NTLMtuz, son derece hızlı

    15. Bibliografik referanslar

    Akademik Akademik

    Morris, R., & Thompson, K. (1979). Şifre güvenliği: Bir vaka tarihi. ACM, 22(11), 594-597. → Unix şifre güvenliği üzerinde makale oluşturun
    Sprengers, M. (2011). GPU tabanlı şifre izleme (Master'ın buları). Radboud University Nijmegen. → GPU çatlaklarının Matematiksel formalizasyonu, tek GPU üzerinde karşılaştırmalar
    Wheeler, D.L. (2016). zxcvbn: Low-Budget Password Strength tahmin. 25. USENIX Güvenlik Sempozyumu. → Etkili anahtarspace (Table 2: - yapılandırılmış şifreler için% 30)
    Dürmuth, M. ve al. (2015). OMEN: Markov ENumerator sipariş. RICS 2015 → Olasılıksal terminaller için Karşılaştırmalı referans

    Endüstri endüstrisi

    Hive Systems. (2025). 2025 Hive Systems Password Table. https://www.hivesystems.io/password-table → 12× RTX 4090, standart referanslar
    Gosney, J (2012). 8x Nvidia GTX 1080 Hashcat kriterleri. GitHub Gist. → İlk kamu multi-GPU kriteri, tarihsel referans
    Hashcat. (2024). Resmi Hashcat kriterleri v6.2.6. https://hashcat.net/hashcat/ → Algoritma tarafından Resmi hızlar, Zaman2Crack sabitleri kaynağı
    NIST SP 800-63B. (2017, 2024). Dijital Kimlik Kılavuzları: Kimlik ve Yaşam döngüsü Yönetimi. → Şifre uzunluğu ve karmaşıklığı konusunda resmi öneriler
    OWASP. (2024). Şifre Depolama Hile Belgesi. httpsche http://atsforme.owasp.org/cheatssheets/Password Storage Hile Sheet.html → Bcrypt (cost ≥ 12), Argon2id modern standartlar
    Time2Crack projesi için üretilen doküman - son güncelleme: 2026-04-18 Uygulamada uygulama.js, ham fonksiyonlarTime(),Charset() ve monotonluk muhafızlığı