Sağlama toplamları oluşturma—dosyalar için MD5 veya SHA-256 işlevleri gibi kriptografik karmalar yeni bir şey değildir ve bir dosyanın bütünlüğünü tespit etmenin veya iki dosyanın aynı olup olmadığını kontrol etmenin en etkili yollarından 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 görünüşte imkansız değilse de oldukça göz korkutucu bir iştir.
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.
ile bir leet görüntüsü 1337 doğramak
Tersine mühendis ve araştırmacı David Buchanan, Twitter’da kendi hash’ini içeren bir görüntü paylaşarak yine herkesi şaşırttı.
BleepingComputer, söz konusu görüntünün sağlama toplamının 1337e2ef42b9bee8de06a4d223a51337, Bunlar, görüntünün kendisinde dikey olarak görüntülenen karakterlerdir.
Not: Aşağıda gömülü olan resim sıkıştırılmış ve bu nedenle bu düzgün şekilde kaybolmuştur. Okuyucular, deneyi aşağıdakilerle deneyebilir: orijinal fotoğraf araştırmacı tarafından paylaşılmıştır. Fazlalık için orijinal görüntüyü koruduk: 1, 2.
Bir sağlama toplamı, meydana gelmiş olabilecek 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ığını veya hatta bir rakamdır. Buradaki fikir, orijinal dosyada veya veri parçasında meydana gelen herhangi bir küçük değişikliğin, veri bütünlüğünün artık geçersiz olduğunu gösteren sağlama toplamını değiştireceğidir.
Zamanın çoğu dijital teknolojisi, kriptografik hash fonksiyonları— oldukça hızlı bir şekilde dosya sağlama toplamları oluşturmak için MD5, SHA1, SHA256 veya benzeri gibi.
Sahip olabileceğiniz veya oluşturabileceğiniz herhangi bir dosya için önemsiz bir şekilde hesaplayabilirsiniz. PC’nizde MD5 sağlama toplamı, Macveya başka bir cihaz. Ve bir karakter veya piksel tarafından bile dosyanın içeriğindeki en ufak bir değişiklik, sağlama toplamını büyük ölçüde değiştirecektir. Değiştirilen dosyanızın sağlama toplamını yeniden hesaplayarak bunu pratikte deneyebilirsiniz.
Bu, bir dosyanın sağlama toplamının olağan yollarla içeriğine dahil edilmesini oldukça paradoksal bir senaryo haline getirir.
Bu bilgiyi dosyanın içeriğine dahil etmek için önce bir dosyanın sağlama toplamına veya karma değerine ihtiyacınız vardır. Ancak, dosyayı düzenleyerek veya değiştirerek bunu yapmak, dosyanın sağlama toplamını etkili bir şekilde değiştirecek ve bu nedenle bu uygulamayı imkansız hale getirecektir.
Ancak, güvenlik araştırmacısı tarafından yayınlanan bir 2013 zorluğuna tepki olarak 0xabad1dea (‘kötü bir fikir’), Buchanan bulmacayı bu hafta çok bir dosya.
“Bu tweet’teki resim kendi MD5 karmasını gösteriyor” tweetler Buchanan.
“Kendiniz indirebilir ve hash edebilirsiniz ve yine de eşleşmesi gerekir – 1337e2ef42b9bee8de06a4d223a51337”
“Bence bu ilk PNG/MD5 esrar“
Hashquines: kendi sağlama toplamlarını içeren dosyalar
Buchanan’ın esas olarak yarattığı şey, 2017’de donanım ve yazılım meraklıları tarafından ortaya atılan bir terim olan “Hashquine” olarak adlandırılır. aptal kendi karmasını gösteren dosyalara atıfta bulunmak için.
Aynı yıl, Google güvenlik mühendisleri olarak bilinen spq ve melek albertini Dosya içeriğinin bir parçası olarak kendi hashlerini görüntüleyen GIF ve Postscript dosyaları oluşturarak konsepti başarıyla gösterdi:
Başka bir araştırmacı Rogdham daha sonra “GIF-MD5-hashquinGitHub’daki kaynak kodu, karma seçeneği olarak MD5’i kullanırken hemen hemen herkesin bu tür GIF’ler oluşturmasını sağlar.
Ancak Buchanan’ın bugün gösterdiği şey, esasen PNG dosyaları için MD5 hashquine tekniğini mümkün kılıyor.
“Sanırım ilk önce hashquines’i gördükten sonra fark ettim. spqBuchanan, bir e-posta röportajında BleepingComputer’a verdiği demeçte.
“O zamandan beri PNG hashquine yapmak istedim. Bir süre düşündüm ama çözemedim – GIF dosya formatı için kullanılan hileler doğrudan PNG’ye uygulanamaz.”
O zamandan beri, araştırmacı PNG görüntülerini içeren birkaç proje üzerinde çalıştı.
2021’de Buchanan gizemli bir görüntü üretti. Apple ve Apple olmayan cihazlarda çok farklıilk olarak BleepingComputer tarafından bildirildiği gibi.
Bundan önce, araştırmacı gösterdi tüm ZIP arşivlerini ve MP3 dosyalarını paketlemek için Twitter görüntülerini kullanma.
“Bunlar sayesinde PNG dosya formatının kanlı ayrıntıları ve ayrıca Twitter’ın yüklemenize izin vermemesi için bir görüntüyü ne kadar kötü yönetebileceğinizin sınırları hakkında çok daha fazla şey öğrendim.”
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ı – şimdilik.
“PNG dosya formatı hakkındaki gelişmiş bilgim ve 2017’de sahip olduğumdan çok daha hızlı bir bilgisayarla donanmış olarak, sonunda uygulanabilir bir yöntem buldum.”
Buchanan, hashquine’sine nasıl inebildiğine dair bir Twitter dizisinde ayrıntılı bir teknik döküm paylaştı ve bunun kaldıraçla ilgisi var. karma çarpışmalar:
Buchanan, “Çoğu (tümü?) mevcut hashquin, dosya içindeki farklı bölümlerin sınırlarını değiştirmek için çarpışmaları kullanmaya dayanır. Bunu PNG ile nasıl yapacağımı düşünemedim (özellikle Twitter uyumlu kalırken),” diyor.
“Bunun yerine, tüm çarpışmalarımı görüntü verilerinin içine koydum. Çarpışan bloklar, şuna benzeyen rastgele çöp verileri içeriyor:”
Buchanan, bu zorluk için bir çözüm hazırlarken, ilki kırmızı, diğerleri siyah olmak üzere 256 girişe sahip bir “akıllı PNG paleti” türetti.
“Çarpışan bloklarım 0 olan herhangi bir bayt içermediği sürece, tüm rastgele çöpler basitçe siyah pikseller olarak sonuçlanır. Bazen çarpışan bloklar sıfırlar içerir – onlar kalmayana kadar tekrar denemeye devam ederim.”
Araştırmacının BleepingComputer ile paylaştığı bir diğer önemli içgörü, bir çarpışmadan kaynaklanan “çöp baytların” görüntüyü değiştirecek bir sonraki piksele akmasını önlemek için MD5 karmasını yazdırmak için kullanılan yazı tipini PNG’sinde dikkatli bir şekilde tasarlamak zorunda olmasıdır.
Araştırmacı, BleepingComputer’a “İşte rakamlardan birinin yakından görünümü, her satırda yalnızca bir kırmızı piksel olduğunu görebilirsiniz” diyor.
“Yazı tipini dikkatli bir şekilde tasarlamam gerekiyordu, çünkü aksi takdirde bir çarpışmadan gelen çöp baytları bir sonraki piksele giderdi.”
Görüntüye işaret eden Buchanan, “sağ taraftaki çöp, rakam çarpışmalarından geliyor, 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).”
Rogdham’a çok benzeyen Buchanan’ın da PNG-MD5 hashquines kodunu yayınlayabilmesi biraz zaman alacak gibi görünüyor.
Araştırmacı, BleepingComputer’a o sırada “biraz bir rube goldberg makinesi” ve potansiyel olarak bir kağıt üzerinde çalışıyor.