Bu resim kendi MD5 sağlama toplamını gösterir - ve bu biraz büyük bir anlaşma

3 yıl önce

Çeklikler oluşturma-Dosyalar için MD5 veya SHA-256 işlevleri gibi kriptografik karmalar neredeyse yeni bir şey değildir ve bir dosyanın bütünlüğünü tespit etmek veya iki dosyanın aynı olup olmadığını kontrol etmek için en etkili araçlardan biridir.

Bununla birlikte, içeriğinin bir parçası olarak kendi sağlama toplamını içeren bir dosya oluşturmak, sürece dahil olan bir paradoks nedeniyle imkansız görünmese de oldukça göz korkutucu bir görevdir.

Bu, bir araştırmacının, görüntüyü oluşturan piksel matrisinde görünen dosyanın MD5 sağlama toplamını içeren bir PNG görüntüsü oluşturmasını engellemedi.

Ters mühendis ve araştırmacı David Buchanan, Twitter'da kendi karmasını içeren bir görüntü paylaştıktan sonra herkesi tekrar şaşırttı.

BleepingComputer, söz konusu görüntünün sağlama toplamının, görüntünün kendisinde dikey olarak görüntülenen karakterler olan 1337E2EF42B9Bee8De06A4D223A51337 olduğunu doğruladı.

Not: Aşağıda gömülü görüntü sıkıştırılmış ve bu şekilde bunu düzgün bir şekilde kaybetmiştir. Okuyucular, deneyimi araştırmacı tarafından paylaşılan orijinal görüntü ile deneyebilirler. Artıklık için orijinal görüntüyü koruduk: 1, 2.

Bir sağlama toplamı, meydana gelebilecek hataları veya veri bozulmasını tespit etmek için bir araç olarak başka bir dijital veri kümesinden türetilen daha küçük boyutlu bir veri yığınları veya hatta bir basamaktır. Fikir, orijinal dosyada veya veri parçasında meydana gelen herhangi bir küçük değişikliğin, verilerin bütünlüğünün geçersiz olduğunu gösteren sağlama toplamını değiştireceğidir.

Times'ın çoğu dijital teknolojisi, MD5, SHA1, SHA256 gibi kriptografik karma işlevlerden yararlanır.

Sahip olabileceğiniz veya oluşturabileceğiniz herhangi bir dosya için, MD5 sağlama toplamını PC'nizde, Mac'inizde veya başka bir cihazınızda önemsiz bir şekilde hesaplayabilirsiniz. Ve, bir karakter veya piksel tarafından bile dosyanın içeriğindeki en ufak değişiklik sağlama toplamını büyük ölçüde değiştirecektir. Bunu, değiştirilmiş dosyanızın sağlama toplamını yeniden hesaplayarak pratikte deneyebilirsiniz.

Bu, bir dosyanın sağlama toplamının içeriğine sıradan bir şekilde dahil edilmesini oldukça paradoksal bir senaryo sağlar.

Bu bilgileri dosyanın kendisine dahil etmek için önce bir dosyanın sağlama toplamına veya karma durumuna ihtiyacınız vardır. Ancak dosyayı düzenleyerek veya değiştirerek yapmak dosyanın sağlama toplamını etkili bir şekilde değiştirir, bu nedenle bu uygulamayı imkansız hale getirir.

Ancak, güvenlik araştırmacısı 0xabad1dea ('kötü bir fikir') tarafından yayınlanan 2013 mücadelesine tepki gösteren Buchanan, bu hafta böyle bir dosya oluşturarak bulmacayı çözdü.

Hile görmek istiyorum: Metinde kendi MD5 veya SHA1 karmaşasından bahseden ve doğru olan geleneksel formatta (PDF gibi) bir belge

Buchanan, "Bu tweet'teki görüntü kendi MD5 karmasını gösteriyor."

"İndirebilir ve kendiniz hash edebilirsiniz ve yine de eşleşmelidir - 1337E2EF42B9Bee8de06A4D223A51337"

"Bence bu ilk PNG/MD5 hashquine."

Buchanan'ın esasen yarattığı şey, 2017 yılında donanım ve yazılım meraklısı tarafından, kendi karmalarını gösteren dosyalara atıfta bulunmak için bir terim olan "Hashquine" olarak adlandırılır.

Aynı yıl, SPQ ve Ange Albertini olarak bilinen Google Güvenlik Mühendisleri, dosyanın içeriğinin bir parçası olarak kendi karma görüntüleyen GIF ve PostScript dosyalarını üreterek konsepti başarıyla gösterdi:

Başka bir araştırmacı Rogdham daha sonra GitHub'da "GIF-MD5-Hashquine" kaynak kodu sağladı ve hemen hemen herkesin karma seçimi olarak MD5'i kullanırken bu tür GIF'leri üretmesini sağladı.

Bununla birlikte, Buchanan'ın bugün gösterdiği şey, esasen MD5 hashquine tekniğini PNG dosyaları için mümkün kılar.

Buchanan, bir e -posta röportajında ​​"Sanırım SPQ'nun GIF Hashquine'i 2017'de gördükten sonra ilk olarak Hashquines'in farkına vardım."

"O zamandan beri bir PNG hashquine yapmak istedim. Bir süredir düşündüm, ama anlayamadım - GIF dosya formatı için kullanılan aynı hileler doğrudan PNG'ye uygulanamaz."

O zamandan beri, araştırmacı PNG görüntülerini içeren çeşitli projeler üzerinde çalıştı.

2021'de Buchanan, ilk olarak BleepingComputer tarafından bildirildiği gibi, Apple ve Apple olmayan cihazlarda çok farklı görünen gizemli bir görüntü üretti.

Bundan önce, araştırmacı tüm zip arşivlerini ve MP3 dosyalarını paketlemek için Twitter resimlerini kullandığını gösterdi.

"Bunlar aracılığıyla, PNG dosya biçiminin kanlı ayrıntıları hakkında çok daha fazla şey öğrendim ve ayrıca Twitter'dan önce bir görüntüyü ne kadar kötü bir şekilde değiştirebileceğinizin sınırları, yüklemenize izin vermiyor."

Görünüşe göre araştırmacı, Twitter'ın engellemeyeceği veya değiştirmeyeceği mükemmel bir PNG-MD5 hashquine yaratmayı anladı-şimdi.

"PNG dosya formatı hakkındaki gelişmiş bilgim ve 2017'de olduğundan çok daha hızlı bir PC ile donanmış, sonunda uygulanabilir bir yöntem buldum."

Buchanan, bir Twitter iş parçacığında hashquine'ye nasıl inebildiğine dair ayrıntılı bir teknik döküm paylaştı ve bu da karma çarpışmalardan yararlanmakla ilgili:

Adler32 sağlama toplamı, ortada buluşma tekniği ile 48 fastcoll çarpışması kullanılarak seçilen bir değerle çarpıştı. Adler32'den sonra, CRC32 benzer şekilde 48 fastcoll bloğu kullanılarak çarpıştı. Adından da anlaşılacağı gibi FastColl hızlıdır ve bu bölüm sadece ~ dakika sürer.

Buchanan, "Mevcut hashquines çoğu (hepsi?) Dosya içindeki farklı bölümlerin sınırlarını değiştirmek için çarpışmaları kullanmaya güveniyor. Bunu PNG ile nasıl yapacağımı düşünemedim (özellikle Twitter uyumlu kalırken)."

"Bunun yerine, tüm çarpışmalarımı görüntü verilerinin içine koydum. Çarpış blokları, şöyle görünecek rastgele çöp verileri içeriyor:"

Bu zorluk için bir çözüm hazırlarken, Buchanan 256 girişi olan, birincisi kırmızı ve diğerleri siyah olan "akıllı bir PNG paleti" türetti.

"Çarpış bloklarım 0 bayt içermediği sürece, tüm rastgele çöpler sadece siyah piksel olarak sona eriyor. Bazen çarpışan bloklar sıfır içeriyor - sadece onlar kadar denemeye devam ediyorum."

Araştırmacının BleepingComputer ile paylaştığı bir başka önemli anlayış, bir sonraki piksele akmak için bir çarpışmadan kaynaklanan "çöp baytından" kaçınmak için MD5 karmasını PNG'ye yazdırmak için kullanılan yazı tipini dikkatlice tasarlamak zorunda.

Araştırmacı BleepingComputer'a "İşte rakamlardan birinin bir closeup, sıra başına sadece bir kırmızı piksel olduğunu görebilirsiniz."

"Yazı tipini bu şekilde dikkatlice tasarlamak zorunda kaldım, çünkü aksi takdirde bir çarpışmadan gelen çöp baytları bir sonraki piksele geçecekti."

Görüntüye işaret eden Buchanan, "Sağ taraftaki çöp basamak çarpışmalarından, ancak alt kenardaki çöp Adler32 sağlama toplamını düzeltmek için kullanılan çarpışmalardan geliyor (CRC32 çarpışmaları görünmüyor, aslında meydana geliyorlar bittikten sonra)."

Görünüşe göre, Rogdham gibi Buchanan da PNG-MD5 hashquines kodunu yayınlayabilmesine kadar bir süre geçecek gibi görünüyor.

Araştırmacı, BleepingComputer'a, o sırada "biraz Rube Goldberg makinesi" olan ve potansiyel olarak bir kağıt üzerinde çalışan kodu daha da geliştirdiğini söyler.

Kaynak: Bleeping Computer

More Posts