it-swarm-tr.com

Krakerler 200 bin tuzlu şifre karmasını nasıl bu kadar hızlı yeniden oluşturabilirler?

Web güvenliği hakkında küçük bir konuşma için araştırma yapıyorum ve formspring kesmek hakkında bir makale buldum, bu da beni meraklandırdı. Onlar SHA-256 + tuz kullandığını iddia et

Hemen deliği düzeltebildik ve hash mekanizmalarımızı sha-256'dan rastgele tuzlarla yükselttik ve güvenliği güçlendirmek için bcrypt'e yükselttik (10 Temmuz 2012)

… Yine de saldırganlar iddia edilen 400 bin yayınlanmış veri kümesinde ~ 200 bin parola buldular (11 milyon kullanıcısı var, IMHO büyük olasılıkla kopyalanmış durumda).

400.000 karmanın yaklaşık yarısı şifre kırıcılar tarafından yeniden yapılandırıldı. (11 Temmuz 2012)

Bu bana şüpheli görünüyor. PKCS # 5 veya benzer teknikler kullanmadan, SHA-256'nın güvenliğinin sınırlı olduğunu biliyorum, ancak bu kadar hızlı şifre bulmak için ne kadar hesaplama gücüne ihtiyaçları olacak?

Benim tahminim, formspring hash hakkında yalan söylüyordu. Birisi bununla ilgili fikir sahibi mi?

33

Mevcut cevapların hiçbiri bu sorunun önemli bir kısmını memnuniyetim için kapsamaz: tuzlar ne olacak?

Sadece şifre karması değerleri gönderildiyse, diğer krakerler muhtemelen şunları bilemez:

  1. Gerçek şifre başına (sözde kaynak başına rastgele) tuz değeri.

  2. Tuzun koddaki şifre ile nasıl karıştırıldığı.

Sahip oldukları tek şey nihai sonuçta ortaya çıkan karma!

birçok yol şifre ve tuz karma oluşturmak için birleştirilebilir:

sha256(pass + salt)
sha256(salt + pass)
sha256(sha256(pass) + sha256(salt))
sha256(pass + sha256(salt))
sha256(sha256(...(salt + pass + salt)...))

Ancak tuz önerilen 8 karakter saf rastgelelik ise…

sha256("monkey1" + "w&[email protected]")
sha256("w&[email protected]" + "monkey1")

… Bu, "tipik" 7 veya 8 karakterlik bir parolanın son derece kaba zorlanması anlamına gelir, çünkü etkili bir şekilde 15 veya daha fazla karakterdir! Ayrıca, know tuzlanmış parola karmalarını kırmak için, tuzunuz yoksa, kaba kuvvet dışında başka seçeneğiniz yok !

GPU kırma kullanarak yaptığım araştırma , iki yüksek uç ATI kart kaba kuvvet kırma MD5 şifre karma kullanarak 8213.6 M c/s elde etti. Kıyaslamamda bu, deneyebileceğim anlamına geliyordu:

all 6 character password MD5s   47 seconds
all 7 character password MD5s   1 hour, 14 minutes
all 8 character password MD5s   ~465 days
all 9 character password MD5s   fuggedaboudit

SHA-256'nın Hashcat kullanan GPU'larda MD5 hızının% 13'ü olduğunu unutmayın. Ne kadar uzun süreceğini görmek için bu sayıları yaklaşık 8 ile çarpın.

Tuzlar bilinmiyor olsaydı, bu aslında 12'den fazla karakter şifresine eşdeğer kaba bir zorlama anlamına gelir. Bu, bilinen herhangi bir hesaplama gücünün alanının ötesinde.

Şimdi bunu tartışmak isterseniz ...

  1. orijinal krakerler de tuzları elde ettiler, ancak bunları göndermemeyi seçtiler.

  2. original krakerlerin de kaynak kodu vardır (veya açık kaynak kodludur), böylece şifrelerin nasıl tuzlandığını bilirler, ancak bu bilgileri göndermemeyi seçerler.

  3. Formspring yalan söylüyor ve şifreleri, tuzların hiçbir etkisi olmayacak şekilde yanlış veya tuzlanmış değildi.

… O zaman evet, birkaç günde 200 bin 400 bin şifre karmasını kırmak kolayca mümkündür.

34
Jeff Atwood

Tuzsuz karmaları kırmak oldukça önemsizdir: sadece önceden hesaplanmış bir tablodaki karışı arar ve cevabınızı bulursunuz. Gerisi kaba-zorlamaya mantıklı değil çünkü Rainbow tablolarınız kaba kuvvet sözlüğünüzü zaten kapsıyor.

Ancak tuzlu şifreleri kırmak hala basittir; daha yavaş ama yine de basit. Çoğu kaba kuvvet saldırısında, saldırgan derinliğe değil genişliğe gider. 1 hesaba karşı 1 milyar şifreyi denemek yerine, TÜM hesaplara karşı onlarca veya yüzlerce veya binlerce ortak şifre deniyor. Kesinlikle Rainbow tabloları daha hızlıdır, ancak tuz tek başına klasik kaba kuvvet yöntemini engellemez. Sözlüğünüzün en üstünden başlayın ve bu şifreyi tüm hesaplara karşı deneyin: bu açıkça her hesap için karma değerini yeniden hesaplamayı içerir, ancak diğer yandan isabet şansınız oldukça yüksektir (tam olarak "ortak şifre" nin anlamı budur , yine de). Ardından, bir sonraki en yaygın şifrenizi, ardından bir sonraki vb.

Sonunda, sadece birkaç bin şifre girebilirsiniz, ancak istatistiksel olarak, muhtemelen listenizde "123456" şifresine sahip yüzlerce hesap ve "şifre1" ve "111111" ve "test" kullanan oldukça büyük bir sayı var .

11 milyondan 200 bin kişi inanılır; sadece yaklaşık% 2. 400K'dan 200K daha az. İmkansız değil ama büyük olasılıkla değil. Azalan geri dönüş yasası orada bir yerde başlıyor; Ne kadar uzakta olduğundan emin değilim ama muhtemelen 1/e ya da bir şey gibi gerçekten basit bir oran. Bunun ötesinde şüpheci oluyorum.

8
tylerl

Yalan söylememeleri nedeni ile duruyor.

  1. @ Jeff kaydetti tuza erişimin hızlı çatlama için gerekli olduğunu, ancak @Remus Rusanu'nun belirttiği gibi: "eğer hashleri ​​elde ettiyse, tuzu nasıl elde edemediklerini görmek benim için zor çünkü "birbirleriyle ilişkilendirilebilecek şekilde saklanmalıdırlar. Şunu varsayıyorum: en azından ilk bilgisayar korsanlarının tuza erişimi vardı.1

  2. @Jeff ayrıca tuz ve parolanın nasıl birleştirildiğini bilmek için kaynak koduna erişmeleri gerektiğini belirtir. Tuz ve şifrenin nasıl birleştirildiğini öğrenmek için farklı bir yaklaşım öneriyorum:

    1. diyelim ki saldırıdan önce bir formspring hesabı var (oldukça makul bir varsayım)
    2. elde edilen listede belirli bir hesaba (tuz, karma) bakın
    3. şifre, tuz ve ortaya çıkan hash bilmek, şifre ve tuz birleştirmenin tüm makul (ve bazı mantıksız) yollarını test etmek için küçük bir komut dosyası oluşturmak kolay olmalıdır (birkaç bin yoldan daha fazla değil mi?)
    4. ???
    5. kar!
  3. @Jesper düşük asılı meyveli teorisini çok makul kılan "on milyonlarca üyeye" sahip olduklarını iddia ediyorlar.

Tamam, hala yalan söylüyor olabilirler ama en azından öyle olmadıkları makul görünüyor.

1. Bu varsayım yanlışsa - ilk bilgisayar korsanları tuzu yayınlamadı ve şifreleri kendileri kırmadı - geri kalanı mümkün.

7
João Portela

hashcat SHA1 hızının sadece yarısı ve MD5 hızının dörtte biri olan Radeon HD7970'de saniyede 1 milyardan fazla SHA256 karması yapabilir. Ancak, bu darboğaz bile değildir:

Devam etmeden önce bir şey daha var; çatlama hızının saniyede “sadece” 258,7M olduğunu fark ettiniz mi? Saniyede birkaç milyar SHA1 karmasının teorik üretimine ne oldu? Sorun, daha yüksek verimin sadece şifre sözlüğü değerlerinin “mutasyonları” ile ya da doğrudan GPU içinde farklı şifre olasılıkları üzerinde çalışılmasıyla elde edilebilmesidir. Başka bir deyişle, GPU'nun bir sözlük değeri almasına izin verirseniz, bunu bir dizi farklı olasılığa dönüştürürseniz çok daha hızlı çalışabilir. GPU, aynı işlem hacmini elde etmek için yeterince hızlı şifrelerle beslenemez, bu nedenle bir şifre listesi etkin bir şekilde darboğazdır.

Dolayısıyla SHA256 (hatta SHA512) kullanmak, bu tür saldırılara karşı SHA1 veya MD5 kullanmaktan daha güvenli değildir.

4
mgorven

Her iki yayında da faillerin Formspring kaynak koduna erişim sağlayıp sağlamadığı belirtilmez. Eğer durum böyle olsaydı, hash inşası ve tuzların rastgele üretilmesi yöntemi saldırganların kullanımına sunulacaktı. Bu, özellikle "rasgele" tuzları üretme yöntemi onları nispeten küçük bir set değerleriyle sınırladıysa, çatlama görevini önemli ölçüde kolaylaştırır.

Bu sınırlı setin kırıldığı görünür hız göz önüne alındığında, en iyi tahminim budur.

3
mitchellrj

Parola başına benzersiz bir tuz içeren karmalar kullanıyorlarsa, bu parolaları kırmak normalde hatırı sayılır bir zaman alacaktır. Parolalar çok zayıf olmadıkça veya parolalar sözlükte yer almadığı sürece. Güçlü brüt kuvvetlendirme güçlü olsaydı biraz olası görünmüyor.

Tom'un donanımında GPGPU şifresi çatlama hakkında bir makale var. Zayıf şifreler ( değil büyük harf, küçük harf, işaretler, ... dahil 10'dan fazla karakter, bir tuzla bile birkaç dakika içinde kırılabilir tuz biliniyorsa.

Aksi takdirde, binlerce yıl bile olsa günler, aylar, daha uzun parolalar alacaktır. Ama bu tuzsuz. Bir tuzla sonsuza kadar sürecek.

1
Lucas Kauffman