Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

"Şifreleme" kelimesini duyduğunuzda, bazı insanlar WiFi şifrelerini, en sevdikleri web sitesinin adresinin yanındaki yeşil asma kilidi ve başka birinin e-postasına girmenin ne kadar zor olduğunu hatırlar. Diğerleri, son yıllardaki bir dizi güvenlik açığını, anlamlı kısaltmalar (DROWN, FREAK, POODLE...), şık logolar ve tarayıcınızı acilen güncellemeniz için bir uyarıyla hatırlatıyor.

Kriptografi her şeyi kapsar, ancak yürek başka. Mesele şu ki, basit ile karmaşık arasında ince bir çizgi var. Yumurta kırmak gibi bazı şeyleri yapmak kolaydır ama tekrar bir araya getirmek zordur. Diğer şeylerin yapılması kolaydır ancak küçük, önemli, çok önemli bir parça eksik olduğunda geri getirilmesi zordur: örneğin, "kritik parça" anahtar olduğunda kilitli bir kapıyı açmak. Kriptografi bu durumları ve bunların pratikte nasıl kullanılabileceğini inceler.

Son yıllarda, kriptografik saldırıların toplanması, bilimsel makalelerden alınan formüllerle dolu, gösterişli logolardan oluşan bir hayvanat bahçesine dönüştü ve her şeyin bozulduğuna dair genel bir kasvetli duyguya yol açtı. Ancak aslında saldırıların çoğu birkaç genel prensibe dayanmaktadır ve sonsuz sayfalarca formül, çoğu zaman anlaşılması kolay fikirlere indirgenmektedir.

Bu yazı dizisinde temel ilkelere vurgu yaparak farklı kriptografik saldırı türlerine bakacağız. Genel anlamda ve tam olarak bu sırayla olmasa da aşağıdaki konuları ele alacağız:

  • Temel stratejiler: kaba kuvvet, frekans analizi, enterpolasyon, sürüm düşürme ve çapraz protokoller.
  • Markalı güvenlik açıkları: Ucube, Suç, Kaniş, Boğulma, Logjam.
  • Gelişmiş Stratejiler: kehanet saldırıları (Vodenet saldırısı, Kelsey saldırısı); ortada buluşma yöntemi, doğum günü saldırısı, istatistiksel önyargı (diferansiyel kriptanaliz, integral kriptanaliz vb.).
  • Yan kanal saldırıları ve yakın akrabaları, arıza analiz teknikleri.
  • Açık anahtar şifrelemesine yönelik saldırılar: küp kökü, yayın, ilgili mesaj, Coppersmith saldırısı, Pohlig-Hellman algoritması, sayı eleme, Wiener saldırısı, Bleichenbacher saldırısı.

Bu özel makale, Kelsey'in saldırısına kadar olan yukarıdaki materyali kapsamaktadır.

Temel Stratejiler

Aşağıdaki saldırılar, çok fazla teknik ayrıntıya gerek kalmadan neredeyse tamamen açıklanabilmeleri açısından basittir. Karmaşık örneklere veya gelişmiş kullanım durumlarına girmeden, her saldırı türünü en basit terimlerle açıklayalım.

Bu saldırılardan bazıları büyük ölçüde geçerliliğini yitirmiş ve uzun yıllardır kullanılmamaktadır. Diğerleri ise 21. yüzyılda şüphelenmeyen kripto sistemi geliştiricilerine düzenli olarak gizlice yaklaşan eski zamancılardır. Modern kriptografi çağının, bu listedeki tüm saldırılara karşı koyan ilk şifre olan IBM DES'in ortaya çıkışıyla başladığı düşünülebilir.

Basit kaba kuvvet

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaŞifreleme şeması iki bölümden oluşur: 1) bir anahtarla birleştirilmiş bir mesajı (düz metin) alan ve ardından şifrelenmiş bir mesaj - şifreli metin oluşturan şifreleme işlevi; 2) şifreli metni ve anahtarı alan ve düz metin üreten bir şifre çözme işlevi. Hem şifrelemenin hem de şifre çözmenin anahtarla hesaplanması kolay olmalı, onsuz hesaplanması ise zor olmalıdır.

Şifreli metni gördüğümüzü ve herhangi bir ek bilgi olmadan şifresini çözmeye çalıştığımızı varsayalım (buna yalnızca şifreli metin saldırısı denir). Eğer bir şekilde sihirli bir şekilde doğru anahtarı bulursak, sonucun makul bir mesaj olup olmadığını kolayca doğrulayabiliriz.

Burada iki örtülü varsayımın bulunduğunu unutmayın. Öncelikle şifre çözme işleminin nasıl yapılacağını yani kripto sistemin nasıl çalıştığını biliyoruz. Bu, kriptografiyi tartışırken standart bir varsayımdır. Şifrenin uygulama ayrıntılarını saldırganlardan gizlemek ek bir güvenlik önlemi gibi görünebilir, ancak saldırgan bu ayrıntıları anladığında bu ek güvenlik sessizce ve geri dönülemez bir şekilde kaybolur. Bu nasıl Kerchhoff ilkesi: Sistemin düşmanın eline geçmesi rahatsızlık yaratmamalıdır.

İkinci olarak, makul bir şifre çözmeye yol açacak tek anahtarın doğru anahtar olduğunu varsayıyoruz. Bu aynı zamanda makul bir varsayımdır; Şifreli metnin anahtardan çok daha uzun olması ve okunabilir olması tatmin edicidir. Bu genellikle gerçek dünyada olan şeydir, ancak büyük kullanışsız tuşlar veya bir kenara bırakılması daha iyi olan diğer saçmalıklar (Açıklamayı atlamamızdan hoşlanmazsanız lütfen Teorem 3.8'e bakın.) burada).

Yukarıdakiler göz önüne alındığında, bir strateji ortaya çıkıyor: mümkün olan her anahtarı kontrol edin. Buna kaba kuvvet denir ve böyle bir saldırının eninde sonunda tüm pratik şifrelere karşı çalışması garanti edilir. Örneğin hacklemek için kaba kuvvet yeterlidir. Sezar şifresi, anahtarın alfabenin bir harfi olduğu ve 20'den fazla olası anahtarı ima eden eski bir şifre.

Ne yazık ki kriptanalistler için anahtar boyutunu artırmak kaba kuvvete karşı iyi bir savunmadır. Anahtar boyutu arttıkça olası anahtarların sayısı da katlanarak artar. Modern anahtar boyutlarıyla basit kaba kuvvet tamamen pratik değildir. Ne demek istediğimizi anlamak için 2019 ortası itibarıyla bilinen en hızlı süper bilgisayarı ele alalım: Zirve IBM'den, saniyede yaklaşık 1017 işlemlik en yüksek performansla. Günümüzde tipik anahtar uzunluğu 128 bittir, bu da 2128 olası kombinasyon anlamına gelir. Summit süper bilgisayarının tüm anahtarları aramak için Evrenin yaşının yaklaşık 7800 katı kadar bir zamana ihtiyacı olacak.

Kaba kuvvet tarihsel bir merak olarak görülmeli mi? Hiç de değil: kriptanaliz yemek kitabında gerekli bir içeriktir. Şifreler nadiren o kadar zayıftır ki, herhangi bir dereceye kadar güç kullanılmadan yalnızca akıllı bir saldırı ile kırılabilirler. Birçok başarılı hack, önce hedef şifreyi zayıflatmak için algoritmik bir yöntem kullanır ve ardından kaba kuvvet saldırısı gerçekleştirir.

Frekans analizi

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaÇoğu metin anlamsız değildir. Örneğin, İngilizce metinlerde çok sayıda 'e' harfi ve 'the' artikelleri vardır; İkili dosyalarda bilgi parçaları arasında dolgu olarak çok sayıda sıfır bayt vardır. Frekans analizi bu gerçeği kullanan herhangi bir saldırıdır.

Bu saldırıya karşı savunmasız bir şifrenin kanonik örneği, basit ikame şifresidir. Bu şifrede anahtar, tüm harflerin değiştirildiği bir tablodur. Örneğin, 'g' yerine 'h', 'o' yerine j konur, böylece 'go' kelimesi 'hj' olur. Bu şifrenin kaba kuvvetle kullanılması zordur çünkü çok fazla olası arama tablosu vardır. Matematikle ilgileniyorsanız, etkin anahtar uzunluğu yaklaşık 88 bittir: bu
Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Ancak frekans analizi genellikle işin hızlı bir şekilde yapılmasını sağlar.

Basit bir ikame şifresiyle işlenmiş aşağıdaki şifreli metni düşünün:

XDYLY ALY ÇİRKİN XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

Beri Y birçok kelimenin sonunda da dahil olmak üzere sık sık geçiyorsa, geçici olarak bunun o harf olduğunu varsayabiliriz. e:

XDeLe ALe UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FLeAUX GR WN OGQL ZDWBGEGZDO

Çift XD birkaç kelimenin başında tekrarlanır. Özellikle, XDeLe kombinasyonu açıkça şu kelimeyi akla getiriyor: these veya there, öyleyse devam edelim:

Le ALe UGLe THWNKE WN HEAJEN ANF EALth DGLAtWG DAHA ALE FLEAUt GR WN OGQL ZDWBGEGZDO

Ayrıca şunu varsayalım L maçlar r, A - a ve benzeri. Muhtemelen birkaç deneme gerektirecektir, ancak tam bir kaba kuvvet saldırısıyla karşılaştırıldığında bu saldırı, orijinal metni çok kısa sürede geri yükler:

göklerde ve yeryüzünde sizin felsefenizde hayal edilenden daha fazla şey var

Bazıları için bu tür "kriptogramları" çözmek heyecan verici bir hobidir.

Frekans analizi fikri ilk bakışta göründüğünden daha temeldir. Ve bu çok daha karmaşık şifreler için de geçerlidir. Tarih boyunca, çeşitli şifre tasarımları "çok alfabeli ikame" kullanarak böyle bir saldırıya karşı koymaya çalışmıştır. Burada, şifreleme işlemi sırasında harf değiştirme tablosu, anahtara bağlı olarak karmaşık ancak öngörülebilir şekillerde değiştirilir. Bu şifrelerin hepsinin aynı anda kırılmasının zor olduğu düşünülüyordu; ve yine de mütevazı frekans analizi sonunda hepsini mağlup etti.

Tarihteki en iddialı çok alfabeli şifre ve muhtemelen en ünlüsü, İkinci Dünya Savaşı'nın Enigma şifresiydi. Öncekilerle karşılaştırıldığında nispeten karmaşıktı ama çok sıkı çalışmanın ardından İngiliz kriptanalistler frekans analizi kullanarak onu kırdılar. Elbette yukarıda gösterilene benzer zarif bir saldırı geliştiremediler; Bilinen düz metin ve şifreli metin çiftlerini ("düz metin saldırısı" olarak adlandırılan) karşılaştırmak zorunda kaldılar, hatta Enigma kullanıcılarını belirli mesajları şifrelemeye ve sonucu analiz etmeye teşvik ettiler ("seçilen düz metin saldırısı"). Ancak bu, mağlup edilen düşman ordularının ve batan denizaltıların kaderini kolaylaştırmadı.

Bu zaferden sonra frekans analizi kriptanaliz tarihinde ortadan kayboldu. Modern dijital çağdaki şifreler harflerle değil bitlerle çalışacak şekilde tasarlanmıştır. Daha da önemlisi, bu şifreler daha sonra olarak bilinen şeyin karanlık anlayışıyla tasarlandı. Schneier yasası: Herkes kendisinin kıramayacağı bir şifreleme algoritması oluşturabilir. Şifreleme sistemi yeterli değil gibiydi zor: değerini kanıtlamak için, şifreyi kırmak için ellerinden geleni yapacak birçok kriptanalist tarafından acımasız bir güvenlik incelemesinden geçmesi gerekiyor.

Ön hesaplamalar

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaNüfusu 200 olan varsayımsal Precom Heights şehrini ele alalım. Şehirdeki her evde ortalama 000 $ değerinde değerli eşya bulunur, ancak değeri 30 $'ı aşmaz.Precom'daki güvenlik pazarı, efsanevi Coyote™ sınıfı kapı kilitlerini üreten ACME Industries'in tekelindedir. Uzman analizlerine göre, Coyote sınıfı bir kilit yalnızca çok karmaşık, varsayımsal bir makine tarafından kırılabilir; bunun yaratılması yaklaşık beş yıl ve 000 $ yatırım gerektirir. Şehir güvenli mi?

Büyük olasılıkla hayır. Sonunda oldukça hırslı bir suçlu ortaya çıkacak. Şöyle mantık yürütecektir: “Evet, büyük ön maliyetlere maruz kalacağım. Beş yıl sabırlı bekleyiş ve 50 dolar. Ama işim bittiğinde şu bilgilere erişebileceğim: Bu şehrin tüm zenginliği. Kartlarımı doğru oynarsam bu yatırım kendini kat kat amorti edecektir.”

Aynı durum kriptografide de geçerlidir. Belirli bir şifreye yönelik saldırılar, acımasız bir maliyet-fayda analizine tabidir. Eğer oran uygunsa saldırı gerçekleşmeyecektir. Ancak birçok potansiyel kurbana karşı aynı anda işe yarayan saldırılar neredeyse her zaman sonuç verir; bu durumda en iyi tasarım uygulaması, bunların ilk günden başladığını varsaymaktır. Aslında Murphy Yasasının kriptografik bir versiyonuna sahibiz: "Sistemi gerçekten bozabilecek her şey, sistemi de bozacaktır."

Ön hesaplama saldırısına karşı savunmasız olan bir şifreleme sisteminin en basit örneği, sabit anahtarsız bir şifredir. Bu durumdaydı Sezar'ın şifresi, alfabenin her harfini üç harf ileri kaydırır (tablo döngüye alınır, böylece alfabedeki son harf üçüncü olarak şifrelenir). Burada yine Kerchhoff ilkesi devreye giriyor: Bir sistem bir kez hacklendi mi, sonsuza kadar hacklenir.

Konsept basittir. Acemi bir şifreleme sistemi geliştiricisi bile muhtemelen tehdidi fark edecek ve buna göre hazırlanacaktır. Kriptografinin evrimine bakıldığında, Sezar şifresinin ilk gelişmiş versiyonlarından çok alfabetik şifrelerin düşüşüne kadar bu tür saldırıların çoğu şifre için uygun olmadığı görülüyor. Bu tür saldırılar ancak modern kriptografi çağının gelişiyle geri döndü.

Bu geri dönüş iki faktörden kaynaklanmaktadır. İlk olarak, hackleme sonrasında istismar olasılığının açık olmadığı, yeterince karmaşık şifreleme sistemleri nihayet ortaya çıktı. İkincisi, kriptografi o kadar yaygınlaştı ki, her gün milyonlarca sıradan insan, kriptografinin nerede ve hangi kısımlarının yeniden kullanılacağı konusunda kararlar aldı. Uzmanların riskleri fark edip alarma geçmesi biraz zaman aldı.

Ön hesaplama saldırısını hatırlayın: Makalenin sonunda önemli bir rol oynadığı gerçek hayattaki iki şifreleme örneğine bakacağız.

interpolasyon

İşte ünlü dedektif Sherlock Holmes, talihsiz Dr. Watson'a enterpolasyon saldırısı gerçekleştiriyor:

Afganistan'dan geldiğinizi hemen tahmin ettim... Aklımdan geçenler şu şekildeydi: “Bu adam tür olarak doktor ama askeri yönü var. Yani askeri doktor. Tropikal bölgelerden yeni geldi; yüzü koyu, ancak bilekleri çok daha beyaz olduğu için bu, cildinin doğal rengi değil. Yüzü bitkin - belli ki çok acı çekmiş ve hastalıktan acı çekmiş. Sol elinden yaralandı - onu hareketsiz ve biraz doğal olmayan bir şekilde tutuyor. Bir İngiliz askeri doktoru tropiklerin neresinde zorluklara katlanıp yaralanabilir? Tabii ki Afganistan'da." Tüm düşünce dizisi bir saniye bile sürmedi. Ben de Afganistan'dan geldiğinizi söyledim ve şaşırdınız.

Holmes her bir delilden ayrı ayrı çok az bilgi çıkarabildi. Ancak hepsini bir arada değerlendirerek sonuca varabilirdi. Bir enterpolasyon saldırısı, aynı anahtardan kaynaklanan bilinen düz metin ve şifreli metin çiftlerini inceleyerek benzer şekilde çalışır. Her çiftten, anahtar hakkında genel bir sonuca varılmasını sağlayacak bireysel gözlemler çıkarılır. Tüm bu sonuçlar belirsiz ve işe yaramaz gibi görünüyor, ta ki aniden kritik bir kütleye ulaşana ve mümkün olan tek sonuca varana kadar: Ne kadar inanılmaz olursa olsun, doğru olmalı. Bundan sonra ya anahtar ortaya çıkar ya da şifre çözme işlemi kopyalanabilecek kadar hassas hale gelir.

Enterpolasyonun nasıl çalıştığını basit bir örnekle açıklayalım. Diyelim ki düşmanımız Bob'un kişisel günlüğünü okumak istiyoruz. Günlüğündeki her sayıyı "A Mock of Cryptography" dergisindeki bir reklamdan öğrendiği basit bir şifreleme sistemini kullanarak şifreliyor. Sistem şu şekilde çalışıyor: Bob beğendiği iki sayıyı seçiyor: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama и Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Artık herhangi bir sayıyı şifrelemek için Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama, hesaplıyor Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Örneğin Bob şunu seçerse Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama и Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama, ardından sayı Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama olarak şifrelenecek Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama.

Diyelim ki 28 Aralık'ta Bob'un günlüğüne bir şeyler karaladığını fark ettik. Bitirdiğinde sessizce alıp son girişi izleyeceğiz:

Tarih: 235/520

Sevgili günlük,

Bugün güzel bir gündü. Başından sonuna kadar 64 bugün bir apartman dairesinde yaşayan Alisa ile randevum var 843. Gerçekten onun olabileceğini düşünüyorum 26!

Bob'u randevusunda takip etme konusunda çok ciddi olduğumuz için (bu senaryoda ikimiz de 15 yaşındayız), Alice'in adresinin yanı sıra tarihi de bilmek kritik önem taşıyor. Neyse ki Bob'un kripto sisteminin enterpolasyon saldırısına karşı savunmasız olduğunu fark ettik. Bilmiyor olabiliriz Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama и Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama, ancak bugünün tarihini biliyoruz, dolayısıyla iki düz metin-şifreli metin çiftimiz var. Yani şunu biliyoruz Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama şifrelenmiş Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaVe Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama - içinde Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Bunu yazacağız:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

15 yaşında olduğumuz için, iki bilinmeyenli iki denklemden oluşan bir sistemi zaten biliyoruz ve bu durumda bunu bulmak yeterli. Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama и Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama herhangi bir sorun olmadan. Her düz metin-şifreli metin çifti Bob'un anahtarına bir kısıtlama koyar ve iki kısıtlama birlikte anahtarı tamamen kurtarmak için yeterlidir. Örneğimizde cevap: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama и Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama (en Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaböylece 26 günlükte 'bir' kelimesine, yani "aynı" kelimesine karşılık gelir - yakl. Lane).

Enterpolasyon saldırıları elbette bu kadar basit örneklerle sınırlı değil. İyi anlaşılmış bir matematiksel nesneye ve bir parametre listesine indirgenen her şifreleme sistemi, enterpolasyon saldırısı riskiyle karşı karşıyadır; nesne ne kadar anlaşılırsa risk de o kadar yüksek olur.

Yeni gelenler sıklıkla kriptografinin "şeyleri olabildiğince çirkin tasarlama sanatı" olduğundan şikayet ederler. İnterpolasyon saldırıları muhtemelen büyük ölçüde suçlanacak. Bob ya zarif bir matematiksel tasarım kullanabilir ya da Alice'le olan randevusunu özel tutabilir - ancak ne yazık ki, genellikle her ikisine birden sahip olamazsınız. Sonunda açık anahtar şifrelemesi konusuna geldiğimizde bu daha da netleşecek.

Çapraz protokol/düşürme

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaNow You See Me (2013) filminde bir grup illüzyonist, yozlaşmış sigorta patronu Arthur Tressler'ın tüm servetini dolandırmaya çalışıyor. Arthur'un banka hesabına erişim sağlamak için illüzyonistlerin ya kullanıcı adını ve şifresini vermeleri ya da onu bizzat bankaya gelip planın içinde yer almaya zorlamaları gerekir.

Her iki seçenek de çok zordur; Adamlar sahnede performans sergilemeye ve istihbarat operasyonlarına katılmamaya alışkın. Bu yüzden üçüncü olası seçeneği seçerler: Suç ortakları bankayı arar ve Arthur gibi davranır. Banka, kimliği doğrulamak için amcanın adı ve ilk evcil hayvanın adı gibi çeşitli sorular sorar; kahramanlarımız şimdiden akıllı sosyal mühendislik kullanarak bu bilgiyi Arthur'dan kolayca alıyorlar. Bu noktadan sonra mükemmel şifre güvenliğinin artık hiçbir önemi yok.

(Şahsen doğruladığımız ve doğruladığımız bir şehir efsanesine göre, kriptograf Eli Beaham bir keresinde güvenlik sorusu sormakta ısrar eden bir banka memuruyla karşılaştı. Veznedar anneannesinin adını sorduğunda Beaham şunu dikte etmeye başladı: “Büyük X, küçük y, üç...").

Aynı varlığı korumak için iki kriptografik protokolün paralel olarak kullanılması ve birinin diğerinden çok daha zayıf olması durumunda, kriptografide de durum aynıdır. Ortaya çıkan sistem, daha güçlü olana dokunmadan ödüle ulaşmak için daha zayıf bir protokolün saldırıya uğradığı çapraz protokol saldırısına karşı savunmasız hale gelir.

Bazı karmaşık durumlarda, daha zayıf bir protokol kullanarak sunucuyla iletişim kurmak yeterli değildir, meşru bir istemcinin istemsiz katılımını gerektirir. Bu, sözde sürüm düşürme saldırısı kullanılarak organize edilebilir. Bu saldırıyı anlamak için illüzyonistlerimizin işinin filmdekinden daha zor olduğunu varsayalım. Bir banka çalışanı (kasiyer) ve Arthur'un öngörülemeyen bazı durumlarla karşılaştığını ve bunun sonucunda aşağıdaki diyaloğun oluştuğunu varsayalım:

Hırsız: Merhaba? Bu Arthur Tressler. Şifremi sıfırlamak istiyorum.

kasiyer: Harika. Lütfen kişisel gizli kod kitabınızın 28. sayfasındaki 3. kelimeye bir göz atın. Aşağıdaki tüm mesajlar, anahtar olarak bu özel kelime kullanılarak şifrelenecektir. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Hırsız: Hey, hey, bekle, bekle. Bu gerçekten gerekli mi? Normal insanlar gibi konuşamaz mıyız?

kasiyer: Bunu yapmanızı önermiyorum.

Hırsız: Ben sadece... bak, berbat bir gün geçirdim, tamam mı? Ben bir VIP müşteriyim ve bu aptal kod kitaplarını karıştıracak havamda değilim.

kasiyer: İyi. Eğer ısrar ediyorsanız Bay Tressler. Ne istiyorsun?

Hırsız: Lütfen, tüm paramı Arthur Tressler Ulusal Mağdurlar Fonu'na bağışlamak istiyorum.

(Duraklat).

kasiyer: Şimdi açık mı? Lütfen büyük işlemler için PIN'inizi girin.

Hırsız: Benim ne?

kasiyer: Kişisel isteğiniz üzerine, bu büyüklükteki işlemler, büyük işlemler için bir PIN gerektirir. Bu kod size hesabınızı açtığınızda verilmiştir.

Hırsız:... Kaybettim. Bu gerçekten gerekli mi? Anlaşmayı onaylayamaz mısın?

kasiyer: HAYIR. Özür dilerim Bay Tressler. Tekrar ediyorum, bu sizin istediğiniz güvenlik önlemidir. İsterseniz posta kutunuza yeni bir PIN kodu gönderebiliriz.

Kahramanlarımız operasyonu erteliyor. PIN'i duymayı umarak Tressler'in birçok büyük işlemine kulak misafiri oluyorlar; ama her defasında ilginç bir şey söylenmeden konuşma kodlanmış anlamsız sözlere dönüşüyor. Nihayet güzel bir gün, plan uygulamaya koyulur. Tressler'ın telefonda büyük bir işlem yapması gerektiği anı sabırla bekliyorlar, o hatta giriyor ve sonra...

Tresler: Merhaba. Uzaktan işlem gerçekleştirmek istiyorum lütfen.

kasiyer: Harika. Lütfen kişisel gizli kod kitabınıza, sayfanıza bir göz atın...

(Hırsız düğmeye basar; kasiyerin sesi anlaşılmaz bir gürültüye dönüşür).

kasiyer: - #@$#@$#*@$$@#* anahtar olarak bu kelimeyle şifrelenecektir. AAAYRR PLRQRZ MMNJK LOJBAN…

Tresler: Üzgünüm, tam olarak anlayamadım. Tekrar? Hangi sayfada? Hangi kelime?

kasiyer: Bu sayfa @#$@#*$)#*#@()#@$(#@*$(#@*.

Tresler: Ne?

kasiyer: Kelime numarası yirmi @$#@$#%#$.

Tresler: Cidden! Zaten yeterli! Siz ve güvenlik protokolünüz bir çeşit sirksiniz. Benimle normal bir şekilde konuşabileceğini biliyorum.

kasiyer: tavsiye etmiyorum…

Tresler: Ve zamanımı boşa harcamanızı tavsiye etmiyorum. Telefon hattı sorunlarını çözene kadar bu konuda daha fazla bir şey duymak istemiyorum. Bu anlaşmayı sonuçlandırabilir miyiz, gerçekleştiremez miyiz?

kasiyer:… Evet. İyi. Ne istiyorsun?

Tresler: Lord Business Investments'a 20 $ transfer etmek istiyorum, hesap numarası...

kasiyer: Bir dakika lütfen. Bu büyük bir mesele. Lütfen büyük işlemler için PIN'inizi girin.

Tresler: Ne? Kesinlikle. 1234.

İşte aşağıya doğru bir saldırı. Daha zayıf protokol "sadece doğrudan konuşun" olarak tasavvur edildi seçenek acil bir durumda. Ve en nihayetinde, buradayız.

Yukarıda anlatılana benzer gerçek bir "aksi sorulana kadar güvenli" sistemini aklı başında kimin tasarlayacağını merak edebilirsiniz. Ancak tıpkı kurgusal bir bankanın kriptografiden hoşlanmayan müşterileri elde tutmak için risk alması gibi, sistemler de genel olarak genellikle kayıtsız ve hatta güvenliğe tamamen düşman olan gereksinimlere yönelir.

2'te SSLv1995 protokolünde olan da tam olarak buydu. ABD hükümeti uzun süredir kriptografiyi iç ve dış düşmanlardan uzak tutulması gereken bir silah olarak görmeye başladı. Kod parçaları, genellikle algoritmanın kasıtlı olarak zayıflatılması koşuluyla, Amerika Birleşik Devletleri'nden ihraç edilmek üzere ayrı ayrı onaylandı. En popüler tarayıcı olan Netscape Navigator'ın geliştiricisi Netscape'e, yalnızca doğası gereği savunmasız olan 2 bitlik RSA anahtarıyla (ve RC512 için 40 bitlik) SSLv4 izni verildi.

Milenyumun sonuna gelindiğinde kurallar gevşedi ve modern şifrelemeye erişim yaygın hale geldi. Ancak istemciler ve sunucular, herhangi bir eski sistem için desteği sürdüren aynı atalet nedeniyle yıllardır zayıflamış "dışa aktarma" kriptografisini desteklemektedir. Müşteriler, başka hiçbir şeyi desteklemeyen bir sunucuyla karşılaşabileceklerine inanıyorlardı. Sunucular da aynısını yaptı. Elbette SSL protokolü, istemcilerin ve sunucuların daha iyi bir protokol mevcut olduğunda asla zayıf bir protokol kullanmamalarını zorunlu kılar. Ancak aynı önerme Tressler ve bankası için de geçerliydi.

Bu teori, 2015 yılında SSL protokolünün güvenliğini sarsan iki yüksek profilli saldırıda yolunu buldu; her ikisi de Microsoft araştırmacıları tarafından keşfedildi ve INRIA. İlk olarak FREAK saldırısının ayrıntıları Şubat ayında ortaya çıktı, ardından üç ay sonra Logjam adı verilen benzer bir saldırı daha geldi; bunu açık anahtar kriptografisine yönelik saldırılara geçtiğimizde daha ayrıntılı olarak ele alacağız.

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaGüvenlik açığı FREAK ("Smack TLS" olarak da bilinir) araştırmacılar TLS istemci/sunucu uygulamalarını analiz edip ilginç bir hata keşfettiklerinde gün ışığına çıktı. Bu uygulamalarda, istemci zayıf dışa aktarma kriptografisinin kullanılmasını bile istemezse ancak sunucu yine de bu tür anahtarlarla yanıt verirse, istemci "Oh peki" der ve zayıf bir şifreleme paketine geçiş yapar.

O zamanlar ihracat kriptografisinin geçerliliğini yitirdiği ve yasak olduğu düşünülüyordu, bu nedenle saldırı tam bir şok etkisi yarattı ve Beyaz Saray, IRS ve NSA siteleri de dahil olmak üzere birçok önemli alanı etkiledi. Daha da kötüsü, birçok savunmasız sunucunun, her oturum için yeni anahtarlar oluşturmak yerine aynı anahtarları yeniden kullanarak performansı optimize ettiği ortaya çıktı. Bu, protokolün sürümünün düşürülmesinden sonra bir ön hesaplama saldırısının gerçekleştirilmesini mümkün kıldı: bir anahtarın kırılması nispeten pahalıydı (yayınlandığı sırada 100 dolar ve 12 saat), ancak bağlantıya saldırmanın pratik maliyeti önemli ölçüde azaldı. Bu andan itibaren sunucu anahtarını bir kez seçip sonraki tüm bağlantılar için şifrelemeyi kırmanız yeterlidir.

Devam etmeden önce, bahsetmemiz gereken gelişmiş bir saldırı var...

Oracle saldırısı

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaMoxie Marlinspike platformlar arası kripto mesajlaşma uygulaması Signal'in babası olarak bilinir; ama biz şahsen onun daha az bilinen yeniliklerinden birini beğeniyoruz - kriptografik kıyamet ilkesi (Kriptografik Kıyamet Prensibi). Biraz açıklamak gerekirse şunu söyleyebiliriz: “Eğer protokol gerçekleşirse herhangi Potansiyel olarak kötü niyetli bir kaynaktan gelen bir mesaj üzerinde kriptografik bir işlem gerçekleştirir ve sonuca bağlı olarak farklı davranırsa, mahkumdur." Veya daha keskin bir biçimde: "Düşmanından işlenmek üzere bilgi almayın ve gerekiyorsa en azından sonucu göstermeyin."

Arabellek taşmalarını, komut enjeksiyonlarını ve benzerlerini bir kenara bırakalım; bunlar bu tartışmanın kapsamı dışındadır. "Kıyamet ilkesinin" ihlali, protokolün tam olarak beklendiği gibi davranması nedeniyle ciddi kriptografi saldırılarına yol açar.

Örnek olarak, savunmasız bir ikame şifresine sahip hayali bir tasarımı ele alalım ve ardından olası bir saldırıyı gösterelim. Frekans analizi kullanan bir ikame şifresine yönelik bir saldırıyı zaten görmüş olsak da, bu sadece "aynı şifreyi kırmanın başka bir yolu" değil. Aksine, oracle saldırıları çok daha modern bir icattır ve frekans analizinin başarısız olduğu birçok duruma uygulanabilir ve bunun bir gösterimini bir sonraki bölümde göreceğiz. Burada basit şifre yalnızca örneği daha açık hale getirmek için seçilmiştir.

Yani Alice ve Bob, yalnızca kendilerinin bildiği bir anahtarı kullanarak basit bir ikame şifresi kullanarak iletişim kurarlar. Mesajların uzunluğu konusunda çok katıdırlar: Mesajlar tam olarak 20 karakter uzunluğundadır. Bu nedenle, birisi daha kısa bir mesaj göndermek isterse, mesajın sonuna tam olarak 20 karakter olacak şekilde sahte bir metin eklemesi konusunda anlaştılar. Biraz tartıştıktan sonra yalnızca aşağıdaki uydurma metinleri kabul etmeye karar verdiler: a, bb, ccc, dddd vb. Böylece gerekli uzunluktaki sahte bir metin bilinmektedir.

Alice veya Bob bir mesaj aldığında öncelikle mesajın uzunluğunun (20 karakter) doğru olup olmadığını ve son ekin doğru sahte metin olup olmadığını kontrol ederler. Durum böyle değilse uygun bir hata mesajıyla yanıt verirler. Metin uzunluğu ve sahte metin uygunsa, alıcı mesajı kendisi okur ve şifrelenmiş bir yanıt gönderir.

Saldırı sırasında saldırgan Bob'un kimliğine bürünür ve Alice'e sahte mesajlar gönderir. Mesajlar tamamen saçmalıktır; saldırganın anahtarı yoktur ve bu nedenle anlamlı bir mesaj oluşturamaz. Ancak protokol kıyamet ilkesini ihlal ettiğinden, bir saldırgan yine de aşağıda gösterildiği gibi Alice'i anahtar bilgileri açığa çıkaracak şekilde tuzağa düşürebilir.

Hırsız: PREWF ZHJKL MMMN. LA

Alice: Geçersiz sahte metin.

Hırsız: PREWF ZHJKL MMMN. LB

Alice: Geçersiz sahte metin.

Hırsız: PREWF ZHJKL MMMN. LC

Alice: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Hırsızın Alice'in az önce ne söylediği hakkında hiçbir fikri yoktur ancak sembolün C eşleşmek zorunda aAlice sahte metni kabul ettiğinden beri.

Hırsız: REWF ZHJKL MMMN. LAA

Alice: Geçersiz sahte metin.

Hırsız: REWF ZHJKL MMMN. LBB

Alice: Geçersiz sahte metin.

Bir dizi denemeden sonra...

Hırsız: REWF ZHJKL MMMN. LGG

Alice: Geçersiz sahte metin.

Hırsız: REWF ZHJKL MMMN. LHH

Alice: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

Saldırganın yine Alice'in ne dediği hakkında hiçbir fikri yoktur ancak Alice sahte metni kabul ettiği için H'nin b ile eşleşmesi gerektiğini belirtir.

Saldırgan her karakterin anlamını öğrenene kadar bu böyle devam eder.

İlk bakışta yöntem seçilmiş bir düz metin saldırısına benziyor. Sonunda saldırgan şifreli metinleri seçer ve sunucu bunları itaatkar bir şekilde işler. Bu saldırıları gerçek dünyada uygulanabilir kılan temel fark, saldırganın asıl metne erişmesine gerek olmamasıdır; "Geçersiz sahte metin" kadar zararsız olsa bile bir sunucu yanıtı yeterlidir.

Bu özel saldırı öğretici olsa da, "sahte metin" şemasının ayrıntılarına, kullanılan spesifik şifreleme sistemine veya saldırgan tarafından gönderilen mesajların tam sırasına fazla takılıp kalmayın. Temel fikir, Alice'in düz metnin özelliklerine bağlı olarak nasıl farklı tepki verdiği ve bunu karşılık gelen şifreli metnin gerçekten güvenilir bir taraftan geldiğini doğrulamadan yaptığıdır. Böylece Alice, saldırganın yanıtlarından gizli bilgileri sızdırmasına olanak tanır.

Bu senaryoda değiştirilebilecek çok şey var. Alice'in tepki verdiği semboller, davranışlarındaki farklılık ve hatta kullanılan kripto sistemi. Ancak prensip aynı kalacak ve bir bütün olarak saldırı şu veya bu şekilde geçerli kalacaktır. Bu saldırının temel uygulaması, birazdan ele alacağımız bazı güvenlik hatalarının ortaya çıkarılmasına yardımcı oldu; ama önce öğrenilmesi gereken bazı teorik dersler var. Bu hayali "Alice senaryosu" gerçek bir modern şifre üzerinde çalışabilecek bir saldırıda nasıl kullanılır? Bu teoride bile mümkün mü?

1998 yılında İsviçreli kriptograf Daniel Bleichenbacher bu soruyu olumlu yanıtladı. Belirli bir mesaj şeması kullanarak, yaygın olarak kullanılan genel anahtar şifreleme sistemi RSA'ya bir oracle saldırısı gösterdi. Bazı RSA uygulamalarında sunucu, düz metnin şemayla eşleşip eşleşmediğine bağlı olarak farklı hata mesajlarıyla yanıt verir; bu saldırıyı gerçekleştirmek için yeterliydi.

Dört yıl sonra, 2002'de Fransız kriptograf Serge Vaudenay, yukarıdaki Alice senaryosunda açıklananla neredeyse aynı olan bir kehanet saldırısı gösterdi; tek farkı, hayali bir şifre yerine, insanların gerçekte kullandığı tüm saygın modern şifre sınıfını kırdı. Özellikle, Vaudenay'ın saldırısı, "CBC şifreleme modu" olarak adlandırılan ve temel olarak Alice senaryosundakine eşdeğer olan belirli bir popüler dolgu şemasıyla kullanıldığında sabit giriş boyutlu şifreleri ("blok şifreler") hedefler.

Ayrıca 2002'de Amerikalı kriptograf John Kelsey - ortak yazar İki balık - mesajları sıkıştıran ve ardından şifreleyen sistemlere yönelik çeşitli oracle saldırıları önerdi. Bunlar arasında en dikkate değer olanı, şifreli metnin uzunluğundan düz metnin orijinal uzunluğunun çıkarımının çoğu zaman mümkün olduğu gerçeğinden yararlanan bir saldırıydı. Teorik olarak bu, orijinal düz metnin bazı kısımlarını kurtaran bir kehanet saldırısına izin verir.

Aşağıda Vaudenay ve Kelsey saldırılarının daha ayrıntılı bir açıklamasını veriyoruz (açık anahtar kriptografisine yönelik saldırılara geçtiğimizde Bleichenbacher saldırısının daha ayrıntılı bir açıklamasını vereceğiz). Tüm çabalarımıza rağmen metin biraz teknik bir hal alıyor; yani yukarıdakiler sizin için yeterliyse sonraki iki bölümü atlayın.

Vodene'nin saldırısı

Vaudenay saldırısını anlamak için öncelikle blok şifrelerden ve şifreleme modlarından biraz daha bahsetmemiz gerekiyor. Bir "blok şifresi", belirtildiği gibi, bir anahtarı ve belirli bir sabit uzunluktaki ("blok uzunluğu") girişi alan ve aynı uzunlukta şifrelenmiş bir blok üreten bir şifredir. Blok şifreler yaygın olarak kullanılır ve nispeten güvenli kabul edilir. Artık kullanımdan kaldırılan ve ilk modern şifre olarak kabul edilen DES, bir blok şifreydi. Yukarıda da bahsettiğimiz gibi günümüzde yaygın olarak kullanılan AES için de aynı durum geçerli.

Ne yazık ki blok şifrelerin göze çarpan bir zayıflığı var. Tipik blok boyutu 128 bit veya 16 karakterdir. Açıkçası, modern kriptografi daha büyük giriş verileriyle çalışmayı gerektirir ve şifreleme modları burada devreye girer. Şifreleme modu aslında bir hack'tir: yalnızca belirli bir boyuttaki girişi kabul eden bir blok şifreyi, isteğe bağlı uzunluktaki bir girişe bir şekilde uygulamanın bir yoludur.

Vodene'nin saldırısı, popüler CBC (Şifre Blok Zincirleme) çalışma moduna odaklanmıştır. Saldırı, temeldeki blok şifresini büyülü, zaptedilemez bir kara kutu gibi ele alır ve güvenliğini tamamen atlar.

Aşağıda CBC modunun nasıl çalıştığını gösteren bir diyagram bulunmaktadır:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Daire içine alınmış artı, XOR (hariç VEYA) işlemini belirtir. Örneğin, ikinci şifreli metin bloğu alınır:

  1. Birinci şifreli metin bloğu ile ikinci düz metin bloğu üzerinde bir XOR işlemi gerçekleştirerek.
  2. Ortaya çıkan bloğun bir anahtar kullanılarak bir blok şifresi ile şifrelenmesi.

CBC, ikili XOR işlemini bu kadar yoğun kullandığından, biraz durup bazı özelliklerini hatırlayalım:

  • İdempotans: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama
  • Değişebilirlik: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama
  • İlişkisellik: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama
  • Kendi kendine tersine çevrilebilirlik: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama
  • Bayt boyutu: bayt n Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama = (bayt n / Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama) Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama (bayt n Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama)

Tipik olarak bu özellikler, XOR işlemlerini ve bir bilinmeyeni içeren bir denklemimiz varsa, bunun çözülebileceğini ima eder. Örneğin şunu biliyorsak Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama bilinmeyenle Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama ve ünlü Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama и Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama, o zaman denklemi çözmek için yukarıda belirtilen özelliklere güvenebiliriz. Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Denklemin her iki tarafına XOR uygulayarak Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama, alıyoruz Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Bunların hepsi bir anda çok alakalı hale gelecek.

Bizim Alice senaryomuzla Vaudenay'ın saldırısı arasında iki küçük fark ve bir büyük fark var. İki küçük olanı:

  • Alice senaryoda düz metinlerin karakterlerle bitmesini bekliyordu a, bb, ccc ve benzeri. Wodene saldırısında, kurban bunun yerine düz metinlerin N kez N baytla bitmesini bekler (yani onaltılık 01 veya 02 02 veya 03 03 03 vb.). Bu tamamen kozmetik bir farktır.
  • Alice senaryosunda, Alice'in mesajı kabul edip etmediğini "Yanlış sahte metin" yanıtıyla anlamak kolaydı. Vodene'nin saldırısında daha fazla analiz yapılması gerekiyor ve mağdur tarafında kesin uygulama önemlidir; ama kısaca anlatmak gerekirse, bu analizin hâlâ mümkün olduğunu kabul edelim.

Asıl fark:

  • Aynı şifreleme sistemini kullanmadığımız için saldırganın kontrol ettiği şifreli metin baytları ile sırlar (anahtar ve düz metin) arasındaki ilişki açıkça farklı olacaktır. Bu nedenle saldırganın şifreli metinler oluştururken ve sunucu yanıtlarını yorumlarken farklı bir strateji kullanması gerekecektir.

Bu büyük fark, Vaudenay saldırısını anlamak için yapbozun son parçasını oluşturuyor; bu nedenle, ilk etapta CBC'ye bir kehanet saldırısının neden ve nasıl yapılabileceğini düşünmek için biraz zaman ayıralım.

Diyelim ki bize 247 bloktan oluşan bir CBC şifreli metni verildi ve biz onun şifresini çözmek istiyoruz. Daha önce Alice'e sahte mesajlar gönderebildiğimiz gibi, sunucuya da sahte mesajlar gönderebiliriz. Sunucu bizim için mesajların şifresini çözecek, ancak şifre çözmeyi göstermeyecektir - bunun yerine, yine Alice'te olduğu gibi, sunucu yalnızca bir bitlik bilgi rapor edecektir: düz metnin geçerli bir dolguya sahip olup olmadığı.

Alice'in senaryosunda aşağıdaki ilişkilerin olduğunu düşünün:

$$display$$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key}) = metin{plaintext}$$display$$

Buna "Alice'in denklemi" diyelim. Şifreli metni kontrol ettik; sunucu (Alice) alınan düz metin hakkında belirsiz bilgiler sızdırdı; ve bu, son faktör olan anahtar hakkında bilgi edinmemizi sağladı. Benzer şekilde, eğer CBC betiği için böyle bir bağlantı bulabilirsek, oradan da bazı gizli bilgileri elde edebiliriz.

Şans eseri, gerçekten kullanabileceğimiz ilişkiler var. Bir blok şifresinin şifresini çözmek için yapılan son çağrının çıktısını düşünün ve bu çıktıyı şu şekilde belirtin: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. Ayrıca düz metin bloklarını da belirtiyoruz Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama ve şifreli metin blokları Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama. CBC şemasına bir kez daha bakın ve ne olduğuna dikkat edin:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Buna “CBC denklemi” diyelim.

Alice'in senaryosunda, şifreli metni izleyerek ve buna karşılık gelen düz metin sızıntısını izleyerek, denklemdeki üçüncü terimi (anahtar) kurtaran bir saldırı başlatmayı başardık. CBC senaryosunda ayrıca şifreli metni izliyoruz ve karşılık gelen düz metinde bilgi sızıntılarını gözlemliyoruz. Eğer benzetme doğruysa, hakkında bilgi edinebiliriz. Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama.

Diyelim ki gerçekten restore ettik Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama, sonra ne? O zaman son düz metin bloğunun tamamını bir kerede yazdırabiliriz (Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama), basitçe girerek Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama (sahip olduğumuz) ve
Alınan Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama CBC denklemine.

Artık genel saldırı planı konusunda iyimser olduğumuza göre, ayrıntılar üzerinde çalışma zamanı geldi. Lütfen düz metin bilgilerinin sunucuya tam olarak nasıl sızdırıldığına dikkat edin. Alice'in komut dosyasında sızıntının meydana gelmesinin nedeni, Alice'in yalnızca $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ satırıyla bitmesi durumunda doğru mesajla yanıt vermesidir. a (ya bbvb. ancak bu koşulların tesadüfen tetiklenme şansı çok düşüktü). CBC'ye benzer şekilde, sunucu dolguyu ancak ve ancak şu durumlarda kabul eder: Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama onaltılık sayıyla biter 01. O halde aynı numarayı deneyelim: kendi sahte değerlerimizle sahte şifreli metinler göndermek Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamasunucu doldurmayı kabul edene kadar.

Sunucu sahte mesajlarımızdan biri için doldurmayı kabul ettiğinde bu şu anlama gelir:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Şimdi bayt-bayt XOR özelliğini kullanıyoruz:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Birinci ve üçüncü terimleri biliyoruz. Ve bunun kalan terimi - son baytı - kurtarmamıza izin verdiğini zaten gördük. Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Bu aynı zamanda bize CBC denklemi ve bayt bayt özelliği aracılığıyla son düz metin bloğunun son baytını da verir.

Bunu burada bırakabilir ve teorik olarak güçlü bir şifreye saldırı gerçekleştirdiğimize ikna olabiliriz. Ama aslında çok daha fazlasını yapabiliriz: aslında tüm metni kurtarabiliriz. Bu, Alice'in orijinal senaryosunda olmayan ve kehanet saldırısı için gerekli olmayan bir numarayı gerektirir, ancak yine de öğrenmeye değer.

Bunu anlamak için öncelikle son baytın doğru değerinin çıktısının alınmasının sonucunu fark edin. Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama yeni bir yeteneğimiz var. Artık şifreli metinler oluştururken karşılık gelen düz metnin son baytını işleyebiliriz. Bu yine CBC denklemi ve bayt bayt özelliği ile ilgilidir:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Artık ikinci terimi bildiğimize göre, üçüncüyü kontrol etmek için birinci terim üzerindeki kontrolümüzü kullanabiliriz. Basitçe hesaplıyoruz:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Bunu daha önce yapamıyorduk çünkü henüz son bayta sahip değildik Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama.

Bu bize nasıl yardımcı olacak? Şimdi tüm şifreli metinleri, karşılık gelen düz metinlerdeki son baytın şuna eşit olacağı şekilde oluşturduğumuzu varsayalım: 02. Sunucu artık yalnızca düz metnin şununla bitmesi durumunda doldurmayı kabul ediyor: 02 02. Son baytı düzelttiğimiz için, bu yalnızca düz metnin sondan bir önceki baytı da 02 ise gerçekleşir. Sunucu bunlardan biri için dolguyu kabul edene kadar, sondan bir önceki baytı değiştirerek sahte şifreli metin blokları göndermeye devam ederiz. Bu noktada şunu elde ediyoruz:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Ve sondan bir önceki baytı geri yüklüyoruz Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama Tıpkı sonuncusunun restore edildiği gibi. Aynı ruhla devam ediyoruz: Düz metnin son iki baytını şu şekilde düzeltiyoruz: 03 03, bu saldırıyı sondan üçüncü bayt için tekrarlıyoruz ve bu böyle devam ediyor, sonuçta tamamen geri yükleniyor Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama.

Peki metnin geri kalanı? Lütfen değere dikkat edin Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama aslında $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$'dır. Bunun yerine başka bir blok koyabiliriz Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamave saldırı yine de başarılı olacaktır. Aslında sunucudan herhangi bir veri için $inline$text{BLOCK_DECRYPT}$inline$ yapmasını isteyebiliriz. Bu noktada oyun bitti - herhangi bir şifreli metnin şifresini çözebiliriz (bunu görmek için CBC şifre çözme şemasına bir kez daha bakın; ve IV'ün herkese açık olduğunu unutmayın).

Bu özel yöntem, daha sonra karşılaşacağımız kehanet saldırısında çok önemli bir rol oynamaktadır.

Kelsey'in saldırısı

Dost canlısı John Kelsey, yalnızca belirli bir şifreye yapılan belirli bir saldırının ayrıntılarını değil, birçok olası saldırının altında yatan ilkeleri de ortaya koydu. Onun 2002 yılın makalesi şifrelenmiş sıkıştırılmış verilere yönelik olası saldırılara ilişkin bir çalışmadır. Verilerin şifrelemeden önce sıkıştırıldığı bilgisinin bir saldırı gerçekleştirmek için yeterli olmadığını mı düşündünüz? Bunun yeterli olduğu ortaya çıktı.

Bu şaşırtıcı sonuç iki prensipten kaynaklanmaktadır. Birincisi, düz metnin uzunluğu ile şifreli metnin uzunluğu arasında güçlü bir ilişki vardır; birçok şifre için tam eşitlik. İkincisi, sıkıştırma uygulandığında, sıkıştırılmış mesajın uzunluğu ile düz metnin "gürültü" derecesi, yani tekrarlanmayan karakterlerin oranı (teknik terim "yüksek entropi"dir) arasında da güçlü bir korelasyon vardır. ).

İlkeyi çalışırken görmek için iki düz metni düşünün:

Düz metin 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Düz metin 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Her iki düz metnin de sıkıştırıldığını ve ardından şifrelendiğini varsayalım. Sonuçta iki şifreli metin elde edersiniz ve hangi şifreli metnin hangi düz metinle eşleştiğini tahmin etmeniz gerekir:

Şifreli metin 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Şifreli metin 2: DWKJZXYU

Cevap açık. Düz metinler arasında yalnızca düz metin 1, ikinci şifreli metnin yetersiz uzunluğuna sıkıştırılabildi. Bunu sıkıştırma algoritması, şifreleme anahtarı ve hatta şifrenin kendisi hakkında hiçbir şey bilmeden çözdük. Olası kriptografik saldırıların hiyerarşisi ile karşılaştırıldığında bu biraz çılgınca.

Kelsey ayrıca bazı olağandışı koşullar altında bu prensibin bir kehanet saldırısı gerçekleştirmek için de kullanılabileceğini belirtiyor. Özellikle, bir saldırganın, sunucuyu form verilerini şifrelemeye zorlayabilmesi durumunda gizli düz metni nasıl kurtarabileceğini açıklar (düz metin ve ardından gelen metin). Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamao kontrol altındayken Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama ve bir şekilde şifrelenmiş sonucun uzunluğunu kontrol edebilir.

Yine diğer oracle saldırıları gibi şu ilişkiye sahibiz:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Yine bir terimi kontrol ediyoruz (Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama), başka bir üye hakkında küçük bir bilgi sızıntısı görüyoruz (şifreli metin) ve sonuncuyu (düz metin) kurtarmaya çalışıyoruz. Analojiye rağmen bu, gördüğümüz diğer kehanet saldırılarıyla karşılaştırıldığında biraz sıra dışı bir durum.

Böyle bir saldırının nasıl işe yarayacağını göstermek için, yeni geliştirdiğimiz hayali bir sıkıştırma şemasını kullanalım: TOYZIP. Metinde daha önce görünen metin satırlarını arar ve bunları, satırın daha önceki bir örneğinin nerede bulunacağını ve orada kaç kez görüneceğini belirten üç yer tutucu bayt ile değiştirir. Örneğin, çizgi helloworldhello içine sıkıştırılabilir helloworld[00][00][05] Orijinal 13 bayta kıyasla 15 bayt uzunluğunda.

Bir saldırganın bir formun düz metnini kurtarmaya çalıştığını varsayalım. password=..., şifrenin kendisinin bilinmediği yer. Kelsey'in saldırı modeline göre, bir saldırgan sunucudan form mesajlarını sıkıştırıp şifrelemesini isteyebilir (düz metin ve ardından Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama), Nerede Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama - ücretsiz Metin. Sunucu çalışmayı bitirdiğinde sonucun uzunluğunu bildirir. Saldırı şu şekilde oluyor:

Hırsız: Lütfen düz metni herhangi bir dolgu olmadan sıkıştırın ve şifreleyin.

Sunucu: Sonuç uzunluğu 14.

Hırsız: Lütfen eklenmiş olan düz metni sıkıştırın ve şifreleyin password=a.

Sunucu: Sonuç uzunluğu 18.

Kraker şunları not ediyor: [orijinal 14] + [değiştirilen üç bayt password=] + a

Hırsız: Lütfen eklenen düz metni sıkıştırın ve şifreleyin password=b.

Sunucu: Sonuç uzunluğu 18.

Hırsız: Lütfen eklenen düz metni sıkıştırın ve şifreleyin password=с.

Sunucu: Sonuç uzunluğu 17.

Kraker şunları not ediyor: [orijinal 14] + [değiştirilen üç bayt password=c] Bu, orijinal düz metnin dizeyi içerdiğini varsayar password=c. Yani şifre bir harfle başlıyor c

Hırsız: Lütfen eklenen düz metni sıkıştırın ve şifreleyin password=сa.

Sunucu: Sonuç uzunluğu 18.

Kraker şunları not ediyor: [orijinal 14] + [değiştirilen üç bayt password=с] + a

Hırsız: Lütfen eklenen düz metni sıkıştırın ve şifreleyin password=сb.

Sunucu: Sonuç uzunluğu 18.

(… Bir süre sonra…)

Hırsız: Lütfen eklenen düz metni sıkıştırın ve şifreleyin password=со.

Sunucu: Sonuç uzunluğu 17.

Kraker şunları not ediyor: [orijinal 14] + [değiştirilen üç bayt password=co] Saldırgan aynı mantığı kullanarak şifrenin harflerle başladığı sonucuna varır. co

Ve bu, şifrenin tamamı geri yüklenene kadar devam eder.

Okuyucunun bunun tamamen akademik bir çalışma olduğunu ve gerçek dünyada böyle bir saldırı senaryosunun asla ortaya çıkmayacağını düşünmesi affedilecektir. Ne yazık ki, yakında göreceğimiz gibi, kriptografiden vazgeçmemek daha iyidir.

Marka zayıflıkları: SUÇ, POODLE, DROWN

Son olarak teoriyi detaylı bir şekilde inceledikten sonra bu tekniklerin gerçek hayattaki kriptografik saldırılarda nasıl uygulandığını görebiliriz.

SUÇ

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaSaldırı kurbanın tarayıcısına ve ağına yönelikse, bazıları daha kolay, bazıları ise daha zor olacaktır. Örneğin, kurbanın trafiğini görmek kolaydır: WiFi bağlantısı olan aynı kafede onunla birlikte oturmanız yeterlidir. Bu nedenle potansiyel kurbanlara (yani herkese) genellikle şifreli bir bağlantı kullanmaları tavsiye edilir. Mağdur adına bazı üçüncü taraf sitelere (örneğin Google) HTTP istekleri yapmak daha zor ama yine de mümkün olacaktır. Saldırganın, istekte bulunan bir komut dosyasıyla kurbanı kötü amaçlı bir web sayfasına çekmesi gerekir. Web tarayıcısı otomatik olarak ilgili oturum çerezini sağlayacaktır.

Bu harika görünüyor. Eğer Bob giderse evil.com, bu sitedeki komut dosyası Google'dan Bob'un şifresini e-postayla göndermesini isteyebilir mi? [email protected]? Yani teoride evet ama gerçekte hayır. Bu senaryoya siteler arası istek sahteciliği saldırısı adı verilir (Siteler Arası İstek Sahteciliği, CSRF) ve 90'ların ortalarında popülerdi. Bugün eğer evil.com Bu numarayı denediğinde, Google (veya kendine saygısı olan herhangi bir web sitesi) genellikle şu şekilde yanıt verir: "Harika, ancak bu işlem için CSRF jetonunuz... hım... три триллиона и семь. Lütfen bu numarayı tekrarlayın." Modern tarayıcılarda "aynı kaynak politikası" adı verilen bir şey vardır; A sitesindeki komut dosyaları, B web sitesi tarafından gönderilen bilgilere erişemez. evil.com istekleri gönderebilir google.comancak yanıtları okuyamıyor veya işlemi tamamlayamıyor.

Bob şifreli bir bağlantı kullanmadığı sürece tüm bu korumaların anlamsız olduğunu vurgulamalıyız. Saldırgan Bob'un trafiğini okuyabilir ve Google'ın oturum çerezini kurtarabilir. Bu çerezle, kendi tarayıcısından çıkmadan yeni bir Google sekmesi açacak ve sinir bozucu aynı köken politikalarıyla karşılaşmadan Bob'un kimliğine bürünecek. Ancak ne yazık ki bir hırsız için bu durum giderek daha az yaygın hale geliyor. İnternet bir bütün olarak uzun zamandır şifrelenmemiş bağlantılara savaş ilan etti ve Bob'un giden trafiği, istese de istemese de muhtemelen şifrelenmiştir. Ayrıca protokolün uygulamaya konduğu ilk andan itibaren trafik de küçüldü şifrelemeden önce; gecikmeyi azaltmak için bu yaygın bir uygulamaydı.

İşte burada devreye giriyor SUÇ (Sıkıştırma Oranı Bilgi Sızıntısı Kolaylaştı, sıkıştırma oranı sayesinde basit sızıntı). Güvenlik açığı Eylül 2012'de güvenlik araştırmacıları Juliano Rizzo ve Thai Duong tarafından ortaya çıkarıldı. Ne yaptıklarını ve nasıl yaptıklarını anlamamızı sağlayan teorik temelin tamamını zaten inceledik. Saldırgan, Bob'un tarayıcısını Google'a istek göndermeye ve ardından yerel ağdaki yanıtları sıkıştırılmış, şifrelenmiş bir biçimde dinlemeye zorlayabilir. Bu nedenle elimizde:

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklama

Burada saldırgan isteği kontrol eder ve paket boyutu da dahil olmak üzere trafik algılayıcıya erişebilir. Kelsey'in kurgusal senaryosu hayata geçti.

Teoriyi anlayan CRIME'ın yazarları, aralarında Gmail, Twitter, Dropbox ve Github'un da bulunduğu çok çeşitli siteler için oturum çerezlerini çalabilecek bir istismar yarattı. Güvenlik açığı modern web tarayıcılarının çoğunu etkiledi ve SSL'deki sıkıştırma özelliğini sessizce gizleyen ve böylece hiç kullanılmamasını sağlayan yamaların yayınlanmasına neden oldu. Bu güvenlik açığından korunan tek kişi, hiçbir zaman SSL sıkıştırması kullanmayan saygın Internet Explorer'dı.

KANİŞ

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaEkim 2014'te Google güvenlik ekibi, güvenlik topluluğunda büyük ses getirdi. SSL protokolünde on yıldan fazla süre önce yamalı olan bir güvenlik açığından yararlanmayı başardılar.

Sunucular yeni TLSv1.2'yi çalıştırırken birçoğunun Internet Explorer 3 ile geriye dönük uyumluluk için eski SSLv6 desteğini bıraktığı ortaya çıktı. Sürüm düşürme saldırılarından zaten bahsettik, böylece neler olduğunu hayal edebilirsiniz. El sıkışma protokolünün iyi planlanmış bir sabotajı ve sunucular eski SSLv3'e dönmeye hazır, bu da son 15 yıllık güvenlik araştırmasını esasen geri alıyor.

Tarihsel bağlam için, Matthew Green'den sürüm 2'ye kadar SSL geçmişinin kısa bir özetini burada bulabilirsiniz:

Aktarım Katmanı Güvenliği (TLS), İnternet'teki en önemli güvenlik protokolüdür. [..] İnternette yaptığınız hemen hemen her işlem TLS'ye bağlıdır. [..] Ancak TLS her zaman TLS değildi. Protokol hayata geçti Netscape İletişimi "Güvenli Yuva Katmanı" veya SSL olarak adlandırılır. Söylentiye göre SSL'nin ilk sürümü o kadar berbattı ki geliştiriciler kodun tüm çıktılarını toplayıp New Mexico'daki gizli bir çöp sahasına gömdüler. Sonuç olarak, SSL'nin halka açık ilk sürümü aslında sürüm SSL 2. Oldukça korkutucu ve [..] modern kriptografların "kriptografinin karanlık çağları" Bugün bildiğimiz en iğrenç kriptografik saldırıların çoğu henüz keşfedilmedi. Sonuç olarak, SSLv2 protokolünün geliştiricileri aslında karanlıkta yollarını bulmak zorunda kaldılar ve birçok korkunç canavar - SSLv2'ye yapılan saldırılar yeni nesil protokoller için paha biçilmez dersler bıraktığından, onların üzüntüsüne ve bizim yararımıza oldu.

Bu olayların ardından 1996 yılında hayal kırıklığına uğrayan Netscape, SSL protokolünü sıfırdan yeniden tasarladı. Sonuç olarak SSL sürüm 3 ortaya çıktı. selefinin bilinen birkaç güvenlik sorununu düzeltti.

Neyse ki hırsızlar için “birkaç tane” “hepsi” anlamına gelmiyor. Genel olarak SSLv3, bir Vodene saldırısı başlatmak için gerekli tüm yapı taşlarını sağladı. Protokol, bir CBC modu blok şifresi ve güvenli olmayan bir doldurma şeması kullandı (bu, TLS'de düzeltildi; dolayısıyla bir sürüm düşürme saldırısına ihtiyaç duyuldu). Vaudenay saldırısına ilişkin orijinal açıklamamızdaki dolgu şemasını hatırlarsanız, SSLv3 şeması çok benzerdir.

Ancak ne yazık ki hırsızlar için “benzer”, “aynı” anlamına gelmiyor. SSLv3 dolgu şeması "N rastgele bayt ve ardından N sayısı" şeklindedir. Bu koşullar altında, hayali bir şifreli metin bloğu seçmeyi ve Vaudene'in orijinal planının tüm adımlarını geçmeyi deneyin: saldırının, karşılık gelen düz metin bloğundan son baytı başarıyla çıkardığını, ancak daha ileri gitmediğini göreceksiniz. Şifreli metnin her 16 baytının şifresini çözmek harika bir numaradır, ancak bu bir zafer değildir.

Başarısızlıkla karşı karşıya kalan Google ekibi son çareye başvurdu: CRIME'da kullanılan daha güçlü bir tehdit modeline geçtiler. Saldırganın, kurbanın tarayıcı sekmesinde çalışan ve oturum çerezlerini çıkarabilen bir komut dosyası olduğunu varsayarsak, saldırı yine de etkileyicidir. Daha geniş tehdit modeli daha az gerçekçi olsa da önceki bölümde bu özel modelin uygulanabilir olduğunu gördük.

Bu daha güçlü saldırgan yetenekleri göz önüne alındığında, saldırı artık devam edebilir. Saldırganın, şifrelenmiş oturum çerezinin başlıkta nerede göründüğünü bildiğini ve kendisinden önceki HTTP isteğinin uzunluğunu kontrol ettiğini unutmayın. Bu nedenle, çerezin son baytının bloğun sonuyla hizalanması için HTTP isteğini işleyebilir. Artık bu bayt şifre çözme için uygundur. İsteğe yalnızca bir karakter ekleyebilirsiniz; çerezin sondan bir önceki baytı aynı yerde kalacak ve aynı yöntemi kullanarak seçime uygun olacaktır. Saldırı, çerez dosyası tamamen geri yüklenene kadar bu şekilde devam eder. Buna POODLE: Düşürülmüş Eski Şifrelemede Oracle'ı Doldurma adı verilir.

BASTIRMAK

Kriptografik saldırılar: kafası karışmış zihinler için bir açıklamaBahsettiğimiz gibi, SSLv3'ün kusurları vardı ancak sızdıran SSLv2 farklı bir çağın ürünü olduğu için temelde öncekinden farklıydı. Orada mesajı ortasından kesebilirsiniz: соглашусь на это только через мой труп dönüştü соглашусь на это; istemci ve sunucu çevrimiçi olarak buluşabilir, güven oluşturabilir ve saldırganın önünde sır alışverişinde bulunabilir, böylece saldırgan her ikisini de kolayca taklit edebilir. FREAK'i ele alırken bahsettiğimiz ihracat şifrelemesinde de sorun var. Bunlar kriptografik Sodom ve Gomorra'ydı.

Mart 2016'da farklı teknik alanlardan araştırmacılardan oluşan bir ekip bir araya gelerek şaşırtıcı bir keşifte bulundu: SSLv2 hala güvenlik sistemlerinde kullanılıyor. Evet, FREAK ve POODLE'dan sonra bu açık kapatıldığı için saldırganlar artık modern TLS oturumlarını SSLv2'ye düşüremezler ancak yine de sunuculara bağlanıp SSLv2 oturumlarını kendileri başlatabilirler.

Orada ne yaptıkları bizi neden ilgilendiriyor diye sorabilirsiniz. Savunmasız bir oturumları var, ancak bu durum diğer oturumları veya sunucunun güvenliğini etkilememelidir - değil mi? Pek iyi değil. Evet teoride böyle olması gerekiyor. Ancak hayır; çünkü SSL sertifikaları oluşturmak belirli bir yük getirir; bu da birçok sunucunun aynı sertifikaları ve sonuç olarak TLS ve SSLv2 bağlantıları için aynı RSA anahtarlarını kullanmasına neden olur. Daha da kötüsü, OpenSSL hatası nedeniyle bu popüler SSL uygulamasındaki "SSLv2'yi Devre Dışı Bırak" seçeneği aslında işe yaramadı.

Bu, TLS'ye protokoller arası bir saldırıyı mümkün kıldı. BASTIRMAK (Eski ve Zayıflatılmış eŞifreleme ile RSA'nın şifresinin çözülmesi, eski ve zayıflatılmış şifreleme ile RSA'nın şifresinin çözülmesi). Bunun kısa bir saldırıyla aynı şey olmadığını hatırlayın; Saldırganın "ortadaki adam" gibi davranmasına ve müşteriyi güvenli olmayan bir oturuma dahil etmesine gerek yoktur. Saldırganlar, sunucunun kendisiyle güvenli olmayan bir SSLv2 oturumu başlatır, zayıf protokole saldırır ve sunucunun RSA özel anahtarını kurtarır. Bu anahtar aynı zamanda TLS bağlantıları için de geçerlidir ve bu noktadan sonra hiçbir TLS güvenliği onun tehlikeye atılmasını engelleyemez.

Ancak bunu kırmak için SSLv2'ye karşı çalışan bir saldırıya ihtiyacınız var; bu, yalnızca belirli trafiği değil, aynı zamanda gizli RSA sunucu anahtarını da kurtarmanıza olanak tanır. Bu karmaşık bir kurulum olmasına rağmen araştırmacılar, SSLv2'den sonra tamamen kapatılan herhangi bir güvenlik açığını seçebilirler. Sonunda uygun bir seçenek buldular: Daha önce bahsettiğimiz ve bir sonraki makalede detaylı olarak anlatacağımız Bleichenbacher saldırısı. SSL ve TLS bu saldırıya karşı korunmaktadır, ancak SSL'nin bazı rastgele özellikleri, dışa aktarma düzeyinde şifrelemedeki kısa anahtarlarla birleştiğinde bunu mümkün kılmıştır. DROWN'un özel bir uygulaması.

Yayınlandığı tarihte, İnternet'teki en iyi sitelerin %25'i DROWN güvenlik açığından etkileniyordu ve saldırı, haylaz yalnız bilgisayar korsanlarının bile kullanabileceği mütevazı kaynaklarla gerçekleştirilebiliyordu. Sunucunun RSA anahtarını almak sekiz saatlik hesaplama ve 440 ABD doları gerektirdi ve SSLv2 eski durumdan radyoaktif hale geldi.

Bekle, Heartbleed'e ne dersin?

Bu, yukarıda açıklanan anlamda bir kriptografik saldırı değildir; Bu bir arabellek taşmasıdır.

Hadi ara verelim

Bazı temel tekniklerle başladık: kaba kuvvet, enterpolasyon, sürüm düşürme, çapraz protokoller ve ön hesaplama. Daha sonra, modern kriptografik saldırıların belki de ana bileşeni olan gelişmiş bir tekniğe baktık: oracle saldırısı. Bunu çözmek için oldukça zaman harcadık ve yalnızca temel prensibi değil, aynı zamanda iki özel uygulamanın teknik ayrıntılarını da anladık: CBC şifreleme moduna yönelik Vaudenay saldırısı ve sıkıştırma öncesi şifreleme protokollerine yönelik Kelsey saldırısı.

Sürüm düşürme ve ön hesaplama saldırılarını incelerken, hedef sitelerin sürümünü zayıf anahtarlara düşürmesini ve ardından aynı anahtarları yeniden kullanmasını sağlayarak her iki yöntemi de kullanan FREAK saldırısını kısaca özetledik. Bir sonraki yazıya, genel anahtar algoritmalarını hedef alan (çok benzer) Logjam saldırısını kaydedeceğiz.

Daha sonra bu ilkelerin uygulanmasına ilişkin üç örneğe daha baktık. Birincisi, SUÇ ve POODLE: Saldırganın hedef düz metnin yanına rastgele düz metin ekleme, ardından sunucunun yanıtlarını inceleme ve ardından sunucunun yanıtlarını inceleme becerisine dayanan iki saldırı. o zamanOracle saldırı yöntemini kullanarak, bu seyrek bilgiyi kullanarak düz metni kısmen kurtarın. CRIME, Kelsey'in SSL sıkıştırmasına yönelik saldırısının yolunu izlerken, POODLE bunun yerine Vaudenay'ın CBC'ye yönelik saldırısının aynı etkiye sahip bir versiyonunu kullandı.

Daha sonra dikkatimizi eski SSLv2 protokolünü kullanarak sunucuyla bağlantı kuran ve ardından Bleichenbacher saldırısını kullanarak sunucunun gizli anahtarlarını kurtaran protokoller arası DROWN saldırısına çevirdik. Şimdilik bu saldırının teknik detaylarını atladık; Logjam gibi, açık anahtar şifreleme sistemleri ve bunların güvenlik açıkları hakkında iyi bir anlayışa sahip olana kadar beklemesi gerekecek.

Bir sonraki yazımızda ortadaki buluşma, diferansiyel kriptanaliz ve doğum günü saldırıları gibi gelişmiş saldırılardan bahsedeceğiz. Yan kanal saldırılarına hızlı bir giriş yapalım ve ardından işin eğlenceli kısmına geçelim: açık anahtarlı şifreleme sistemleri.

Kaynak: habr.com

Yorum ekle