Çarpışma saldırısı

Kriptografide, bir kriptografik hash üzerindeki bir çarpışma saldırısı, aynı hash değerini üreten iki girdi bulmaya çalışır, yani bir hash çarpışması . Bu, belirli bir hedef karma değerinin belirtildiği bir ön görüntü saldırısı nın aksine bir saldırıdır.

İki farklı p1 ve p2 öneki verildiğinde, hash(p1 ∥ m1) = hash(p2 ∥ m2) olacak şekilde iki ek m1 ve m2 bulun; burada ∥ birleştirme işlemini gösterir.

Matematiksel olarak ifade edildiğinde, bir çarpışma saldırısı, hash(m1) = hash(m2) olacak şekilde iki farklı m1 ve m2 mesajı bulur. Klasik bir çarpışma saldırısında, saldırganın her iki mesajın içeriği üzerinde hiçbir kontrolü yoktur, ancak bunlar algoritma tarafından keyfi olarak seçilir.

Simetrik anahtar şifrelerinin kaba kuvvet saldırılarına karşı savunmasız olması gibi, her kriptografik karma işlevi , doğası gereği bir doğum günü saldırısı kullanan çarpışmalara karşı savunmasızdır. Doğum günü sorunu nedeniyle, bu saldırılar kaba kuvvetten çok daha hızlıdır. n bitlik bir karma, 2n/2 zaman adımlarında kırılabilir (karma fonksiyonunun değerlendirmeleri).

Belirli hash işlevlerine kriptanaliz uygulayarak daha verimli saldırılar mümkündür. Bir çarpışma saldırısı keşfedildiğinde ve bir doğum günü saldırısından daha hızlı olduğu tespit edildiğinde, bir hash işlevi genellikle "bozuk" olarak kınanır. NIST özet işlevi rekabeti , büyük ölçüde, çok yaygın olarak kullanılan iki özet işlevine, MD5 ve SHA-1 'e karşı yayınlanan çarpışma saldırıları tarafından başlatıldı. MD5'e yönelik çarpışma saldırıları o kadar gelişti ki, 2007'den itibaren normal bir bilgisayarda sadece birkaç saniye sürüyor. Bu şekilde oluşturulan karma çarpışmalar genellikle sabit uzunluktadır ve büyük ölçüde yapılandırılmamıştır, bu nedenle yaygın belge biçimlerine veya protokollere saldırmak için doğrudan uygulanamaz.

PostScript gibi bazı belge biçimleri veya Microsoft Word'deki makrolar koşullu yapılara sahiptir. (if-then-else) görüntülenenleri kontrol etmek için dosyadaki bir konumun şu veya bu değere sahip olup olmadığının test edilmesini sağlar.

PDF dosyaları, renk değeri kullanılarak çarpışma saldırılarına karşı savunmasızdır (bir mesajın metni, arka plana karışan beyaz bir renkle görüntülenir, ve diğer mesajın metni koyu renkle görüntülenir) bu metin daha sonra imzalanan belgenin içeriğini değiştirmek için değiştirilebilir.

Çarpışma saldırısının bir uzantısı, Merkle-Damgård karma işlevlerine özgü olan, seçilen önek çarpışma saldırısıdır. Bu durumda, saldırgan keyfi olarak farklı iki belge seçebilir ve ardından tüm belgelerin eşit bir karma değerine sahip olmasıyla sonuçlanan farklı hesaplanmış değerler ekleyebilir. Bu saldırı, klasik bir çarpışma saldırısından çok daha güçlüdür.

Matematiksel olarak ifade edildiğinde, iki farklı p1, p2 öneki verildiğinde, saldırı hash(p1 ∥ m1) = hash(p2 ∥ m2) olacak şekilde iki uzantı m1 ve m2 bulur (burada ∥ birleştirme işlemidir).

2007'de, MD5'e karşı, MD5 işlevinin kabaca 25 değerlendirmesini gerektiren, seçilen bir önek çarpışma saldırısı bulundu. Makale ayrıca, farklı alan adları için çarpışan karma değerlere sahip iki X.509 sertifikasını da gösteriyor. Bu, bir sertifika yetkilisinden bir etki alanı için bir sertifika imzalamasının istenebileceği ve ardından bu sertifikanın (özellikle imzasının) başka bir etki alanını taklit etmek için yeni bir sahte sertifika oluşturmak için kullanılabileceği anlamına gelir.

Aralık 2008'de bir grup güvenlik araştırmacısı, MD5 karma işlevine karşı bir ön ek çarpışma saldırısından yararlanarak bir sertifika yetkilisini taklit etmek için kullanılabilecek sahte bir X.509 imzalama sertifikası yayınladığında gerçek dünya çarpışma saldırısı yayınlandı. Bu, bir saldırganın SSL güvenli herhangi bir web sitesini ortadaki adam olarak taklit edebileceği ve böylece elektronik ticareti korumak için her web tarayıcısında yerleşik olarak bulunan sertifika doğrulamasını bozabileceği anlamına geliyordu. Hileli sertifika, gerçek yetkililer tarafından iptal edilemeyebilir ve ayrıca keyfi bir sahte son kullanma süresine sahip olabilir. MD5'in 2004'te çok zayıf olduğu bilinmesine rağmen, sertifika yetkilileri Aralık 2008'de MD5 onaylı sertifikaları imzalamaya hala istekliydi ve Mayıs 2012'de en az bir Microsoft kod imzalama sertifikası hala MD5 kullanıyordu.

Flame kötü amaçlı yazılımı, bileşenlerinin, hala güvenliği ihlal edilmiş MD5 algoritmasını kullanan bir Microsoft kök sertifikası tarafından kod imzasını yanıltmak için seçilen önek çarpışma saldırısının yeni bir varyasyonunu başarıyla kullandı.

2019'da araştırmacılar, SHA-1 'e karşı 266.9 ile 269.4 arasında ve maliyeti 100.000 ABD dolarından daha düşük olan, seçilmiş bir önek çarpışma saldırısı buldular. 2020'de araştırmacılar, SHA-1'e karşı seçilen önek çarpışma saldırısının karmaşıklığını 263.4'e düşürdü.

Kriptografik özet işlevlerinin çoğu uygulaması çarpışma direncine dayanmaz, bu nedenle çarpışma saldırıları güvenliklerini etkilemez. Örneğin, HMAC'ler savunmasız değildir. Saldırının faydalı olması için, saldırganın hash fonksiyonuna girdiyi kontrol etmesi gerekir.

Dijital imza algoritmaları büyük miktarda veriyi verimli bir şekilde imzalayamadığından, çoğu uygulama, imzalanması gereken veri miktarını sabit bir boyuta indirmek ("sıkıştırmak") için bir karma işlevi kullanır. Dijital imza şemaları, genellikle, temeldeki karma işlevi pratik olarak bozulduğu anda karma çakışmalarına karşı savunmasız hale gelir; rastgele (tuzlu) karma gibi teknikler, daha sert ön görüntü saldırısını gerektirerek fazladan zaman alacaktır.

Mallory, aynı karma değere, yani bir çarpışmaya sahip iki farklı A ve B belgesi oluşturur. Mallory, görünüşte Alice'den gelen B belgesini kabul etmesi için Bob'u kandırmaya çalışır.

Mallory daha sonra imzayı ve B belgesini Bob'a gönderir ve Alice'in B'yi imzaladığını iddia eder. Dijital imza, B belgesinin karma değeriyle eşleştiğinden, Bob'un yazılımı ikameyi algılayamaz.

2008'de araştırmacılar, sahte bir sertifika yetkilisi sertifikası üretmek için bu senaryoyu kullanarak MD5'e karşı seçilen bir önek çarpışma saldırısı kullandılar. Biri meşru görünen ve RapidSSL sertifika yetkilisi tarafından imzalanmak üzere gönderilen TLS ortak anahtar sertifikasının iki sürümünü oluşturdular. Aynı MD5 karma değerine sahip olan ikinci sürüm, web tarayıcılarına keyfi başka sertifikalar vermek için meşru bir otorite olarak kabul etmelerini işaret eden bayraklar içeriyordu.

Hash taşması (HashDoS olarak da bilinir), hash tablosu aramalarının en kötü durum (doğrusal araştırma) çalışma zamanından yararlanmak için hash çarpışmalarını kullanan bir hizmet reddi saldırısıdır . İlk olarak 2003'te tanımlanmıştır. Böyle bir saldırıyı gerçekleştirmek için, saldırgan sunucuya aynı değere sahip birden fazla veri parçası gönderir ve ardından sunucunun yavaş aramalar yapmasını sağlamaya çalışır. Hash tablolarında kullanılan hash fonksiyonlarının ana odak noktası güvenlik yerine hız olduğundan, çoğu büyük programlama dili etkilendi ve bu sınıfın yeni güvenlik açıkları orijinal sunumdan on yıl sonra hala ortaya çıkıyor.