Şifrelenmiş bir zip dosyası iki doğru şifre olabilir - işte bu yüzden

4 yıl önce

Şifre korumalı zip arşivleri, hassas belgelerden kötü amaçlı yazılım örneklerine, hatta kötü amaçlı dosyalara (yani e-postalarda kimlik avı "adlı dosyalara kadar dosyaların sıkıştırılması ve paylaşılması için yaygın bir araçtır.

Ancak, şifreli bir zip dosyasının iki doğru şifreye sahip olmasının mümkün olduğunu biliyor muydunuz?

Pozitif Teknolojilerde Siber Güvenlik Araştırmacısı Arseniy Sharoglazov, hafta sonu X.ZIP adlı şifre korumalı bir zip dosyası ürettiği basit bir deney paylaştı.

Sharoglazov'un fermuarını şifrelemek için seçtiği şifre, 1987 hitinde popüler bir teknoloji memesi haline gelen bir pun oldu:

Ancak araştırmacı, X.ZIP'i tamamen farklı bir şifre kullanarak çıkarırken hata mesajı almadığını gösterdi.

Aslında, farklı şifreyi kullanmak, orijinal içerikler bozulmadan zipin başarılı bir şekilde çıkarılmasıyla sonuçlandı:

BleepingComputer, farklı ZIP programları kullanarak deneyi başarıyla yeniden üretebildi. Hem P7ZIP (macOS için 7-ZIP eşdeğeri) hem de Keka adı verilen başka bir ZIP yardımcı programını kullandık.

Araştırmacının zip arşivi gibi, bizimki yukarıda belirtilen daha uzun şifre ve AES-256 şifreleme modu etkinleştirildi.

ZIP daha uzun şifre ile şifrelenirken, her iki şifre kullanılarak arşivi başarıyla çıkardı.

Meraklı bir okuyucu olan Sharoglazov'un demosuna yanıt veren Rafa, önemli bir soruyu "Nasıl ????"

Twitter kullanıcısı unblvr gizemi anladığı görülüyor:

ZIP, çok büyükse girişi karlatan PBKDF2 kullanır. Bu karma (çiğ bayt olarak) gerçek şifre haline gelir. İlk şifreyi SHA1 ile hash etmeyi deneyin ve hexdigest'i ASCII'ye kodlayın ... :)

AES-256 modu etkinleştirilmiş şifre korumalı zip arşivleri üretirken, Zip biçimi PBKDF2 algoritmasını kullanır ve şifre çok uzunsa, kullanıcı tarafından sağlanan parolayı karlatır. Araştırmacı, çok uzun süre, 64 bayttan (karakter) daha uzun bir şey demek istiyoruz.

Kullanıcının seçtiği şifre yerine (bu durumda "NEV1R-G0NNA-G2VE -...") Bu yeni hesaplanan karma dosyanın gerçek şifresi olur.

Kullanıcı dosyayı çıkarmaya çalıştığında ve 64 bayttan ("NEV1R-G0NNA-G2VE -...") bir şifre girdiğinde, kullanıcının girişi bir kez daha fermuar uygulaması tarafından uyulacak ve doğru ile karşılaştırılacaktır. Şifre (şimdi kendisi bir karma). Bir eşleşme başarılı bir dosya çıkarmaya yol açacaktır.

Bu örnekte kullanılan alternatif şifre ("PKH8AQNBHCDW8GRMSP") aslında ASCII'nin daha uzun parolanın SHA-1 hash'sinin temsilidir.

"NEV1R-G0NNA-G2VE -..." = 706B4838613041714E6248636473847726D5370.

ASCII'ye dönüştürüldüğünde bu sağlama toplamı üretir: PKH8A0AQNBHCDW8GRMSP

Bununla birlikte, bir dosyayı şifrelerken veya şifresini çözerken, karma işlemin yalnızca şifrenin uzunluğu 64 karakterden büyükse meydana geldiğini unutmayın.

Başka bir deyişle, daha kısa şifreler, zipin sıkıştırılması veya sıkıştırılması aşamasında her iki aşamada karma olmayacaktır.

Bu nedenle, şifreleme aşamasında parola olarak uzun "NEV1R-G0NNA-G2VE -..." dize seçerken, ZIP programı tarafından ayarlanan gerçek şifre etkili bir şekilde bu dizenin (SHA1) karmasıdır.

Şifreleme aşamasında, "NEV1R-G0NNA-G2VE -..." girecek olsaydınız, karma olacak ve daha önce depolanan şifre (SHA1 karma) ile karşılaştırılacaktır. Bununla birlikte, şifre çözme aşamasındaki "PKH8AQNBHCDW8GRMSP" parolasının daha kısa girilmesi, uygulamanın bu değeri doğrudan depolanan şifre (yani yine SHA1 hash) ile karşılaştıracaktır.

PBKDF2'nin Wikipedia üzerindeki HMAC Çarpışma alt bölümü, ilgili okuyuculara daha fazla teknik bilgi sağlar.

Giriş, "PBKDF2'nin sahte rastgele işlevi olarak HMAC kullanırken ilginç bir özelliği var. Her çift içinde çarpışmalarla herhangi bir sayıda farklı şifre çifti oluşturmak mümkündür."

"Verilen bir şifre, temel HMAC karma işlevinin blok boyutundan daha uzunsa, şifre önce bir sindirime önceden vurulur ve bu sindirim şifre olarak kullanılır."

Ancak, şimdi aynı fermuarda iki olası parola olması, bir güvenlik açığı temsil etmiyor, "parola karmasını oluşturmak için orijinal şifreyi hala bilmesi gerektiği için".

Burada not edilmesi gereken ilginç bir anahtar yön, her SHA-1 karmasının ASCII temsillerinin alfasayısal olması gerekmez.

Başka bir deyişle, bu deney sırasında ZIP dosyamız için aşağıdaki şifreyi seçtiğimizi varsayalım. Parola 64 bayttan uzun:

SHA-1 sağlama toplamı: BD0B8C7AB2BF593457474FB403E3C0A7E789B61

Ve bu sağlama toplamının ASCII temsili, anlamlı bir bayt setine benziyor - deneyimi için araştırmacı tarafından oluşturulan alternatif şifre olarak neredeyse zarif değil:

BleepingComputer, Sharoglazov'a SHA-1 sağlama toplamının ASCII temsili temiz, alfasayısal bir ip verecek şekilde nasıl olacak bir şifre seçebileceğini sordu.

"Bu yüzden Hashcat kullanıldı," diyor araştırmacı BleepingComputer.

Araştırmacı, açık kaynak şifre kurtarma aracının hafif değiştirilmiş bir sürümünü kullanarak, mükemmel bir şifreye gelene kadar alfasayısal karakterleri kullanarak "Asla vazgeçmeyeceğim ..." dize varyasyonları oluşturdu.

"NEV0R, NEV1R, NEV2R vb. Test ettim ... ve ihtiyacım olan şifreyi buldum."

Ve Sharoglazov, kabaca "Asla vazgeçmeyeceğim ..." gibi bir şifreye ulaştı, ancak SHA-1 sağlama toplamının ASCII temsili düzgün bir alfasayısal dize.

Çoğu kullanıcı için, şifre seçeneği ile şifre korumalı bir zip dosyası oluşturmak yeterli olmalı ve bilmesi gereken tek şey budur.

Ancak maceracı olmaya karar verirseniz, bu deney, korunmuş sırrınıza iki şifre olması gibi şifreli fermuarları çevreleyen birçok gizemden birine bir göz atar.

Kaynak: Bleeping Computer

More Posts