Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

“Kriptoqrafiya” sözünü eşidəndə bəzi insanlar WiFi parolunu, sevimli veb saytının ünvanının yanındakı yaşıl asma kilidi və başqasının e-poçtuna daxil olmağın nə qədər çətin olduğunu xatırlayırlar. Digərləri son illərdə qısaltmalar (DROWN, FREAK, POODLE...), dəbli loqolar və brauzerinizi təcili yeniləmək barədə xəbərdarlıqla bir sıra boşluqları xatırlayırlar.

Kriptoqrafiya hər şeyi əhatə edir, lakin mahiyyəti başqasında. Məsələ ondadır ki, sadə və mürəkkəb arasında incə bir xətt var. Bəzi şeyləri etmək asandır, amma bir yerə yığmaq çətindir, məsələn, yumurtanı sındırmaq. Digər şeyləri etmək asandır, lakin kiçik, vacib, vacib bir hissə əskik olduqda geri qaytarmaq çətindir: məsələn, "vacib hissə" açar olduqda kilidli qapını açmaq. Kriptoqrafiya bu vəziyyətləri və onların praktikada necə istifadə oluna biləcəyini öyrənir.

Son illərdə kriptoqrafik hücumlar kolleksiyası elmi məqalələrdən alınan düsturlarla doldurulmuş parlaq loqolar zooparka çevrildi və hər şeyin pozulduğuna dair ümumi tutqun hisslərə səbəb oldu. Amma əslində, hücumların çoxu bir neçə ümumi prinsipə əsaslanır və düsturların sonsuz səhifələri tez-tez asan başa düşülən ideyalar üçün qaynadılır.

Bu məqalələr silsiləsində biz əsas prinsipləri vurğulayaraq kriptoqrafik hücumların müxtəlif növlərinə baxacağıq. Ümumi şərtlərlə və tam olaraq bu qaydada deyil, lakin biz aşağıdakıları əhatə edəcəyik:

  • Əsas strategiyalar: brute force, tezlik analizi, interpolyasiya, endirmə və cross-protokollar.
  • Brend zəiflikləri: FREAK, CRIME, PODLE, DOWN, Logjam.
  • Qabaqcıl Strategiyalar: oracle hücumları (Vodenet hücumu, Kelsey hücumu); görüş-in-the-middle metodu, ad günü hücumu, statistik qərəz (diferensial kriptoanaliz, inteqral kriptoanaliz və s.).
  • Yan kanal hücumları və onların yaxın qohumları, uğursuzluqların təhlili üsulları.
  • Açıq açar kriptoqrafiyasına hücumlar: kub kökü, yayım, əlaqəli mesaj, Coppersmith hücumu, Pohlig-Hellman alqoritmi, nömrə ələk, Wiener hücumu, Bleichenbacher hücumu.

Bu xüsusi məqalə yuxarıdakı materialı Kelsinin hücumuna qədər əhatə edir.

Əsas Strategiyalar

Aşağıdakı hücumlar çox texniki təfərrüat olmadan demək olar ki, tamamilə izah edilə bilməsi baxımından sadədir. Mürəkkəb nümunələrə və ya inkişaf etmiş istifadə hallarına getmədən hər bir hücum növünü ən sadə dillə izah edək.

Bu hücumların bəziləri əsasən köhnəlmiş və uzun illər istifadə edilməmişdir. Digərləri 21-ci əsrdə hələ də mütəmadi olaraq şübhəsiz kriptosistem tərtibatçılarına xəbər tutan köhnə insanlardır. Müasir kriptoqrafiya dövrünü bu siyahıdakı bütün hücumlara tab gətirən ilk şifrə olan IBM DES-in gəlişi ilə başlamış hesab etmək olar.

Sadə kobud güc

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatŞifrələmə sxemi iki hissədən ibarətdir: 1) açarla birləşdirilmiş mesajı (açıq mətni) qəbul edən və sonra şifrələnmiş mesajı - şifrəli mətni yaradan şifrələmə funksiyası; 2) şifrəli mətni və açarı götürən və açıq mətn yaradan deşifrə funksiyası. Həm şifrələmə, həm də deşifrəni açarla hesablamaq asan və onsuz hesablamaq çətin olmalıdır.

Tutaq ki, biz şifrəli mətni görürük və heç bir əlavə məlumat olmadan onun şifrəsini açmağa çalışırıq (buna yalnız şifrəli mətn hücumu deyilir). Əgər biz sehrli şəkildə düzgün açarı tapsaq, nəticə ağlabatan bir mesajdırsa, bunun həqiqətən düzgün olduğunu asanlıqla yoxlaya bilərik.

Qeyd edək ki, burada iki gizli fərziyyə var. Birincisi, biz şifrənin açılmasını necə həyata keçirəcəyimizi bilirik, yəni kriptosistem necə işləyir. Bu kriptoqrafiyanı müzakirə edərkən standart bir fərziyyədir. Şifrənin icra təfərrüatlarını təcavüzkarlardan gizlətmək əlavə təhlükəsizlik tədbiri kimi görünə bilər, lakin təcavüzkar bu təfərrüatları anladıqdan sonra bu əlavə təhlükəsizlik sakitcə və dönməz şəkildə itirilir. belədir Kerchhoffs prinsipi: Düşmənin əlinə keçən sistem narahatçılığa səbəb olmamalıdır.

İkincisi, düzgün açarın ağlabatan şifrənin açılmasına səbəb olacaq yeganə açar olduğunu güman edirik. Bu da ağlabatan bir fərziyyədir; şifrəli mətnin açardan xeyli uzun olması və oxunaqlı olması qane olunur. Bu, adətən real dünyada baş verənlər istisna olmaqla böyük praktiki olmayan açarlar və ya ən yaxşısı bir kənara qoyulan digər hiylələr (əgər izahatı atladığımızı bəyənmirsinizsə, lütfən, Teorem 3.8-ə baxın. burada).

Yuxarıdakıları nəzərə alaraq, bir strategiya yaranır: bütün mümkün açarları yoxlayın. Buna kobud güc deyilir və belə bir hücum bütün praktik şifrələrə qarşı işləyəcək - nəticədə. Məsələn, kobud güc sındırmaq üçün kifayətdir Sezar şifrəsi, açarın əlifbanın bir hərfi olduğu qədim şifrədir və 20-dən çox mümkün düyməni nəzərdə tutur.

Təəssüf ki, kriptoanalitiklər üçün açar ölçüsünü artırmaq kobud gücə qarşı yaxşı bir müdafiədir. Açar ölçüsü artdıqca, mümkün düymələrin sayı eksponent olaraq artır. Müasir açar ölçüləri ilə sadə kobud qüvvə tamamilə praktiki deyil. Nə demək istədiyimizi başa düşmək üçün 2019-cu ilin ortalarına olan ən sürətli məlum superkompüteri götürək: Zirvə saniyədə təxminən 1017 əməliyyatla ən yüksək performansla IBM-dən. Bu gün tipik açar uzunluğu 128 bitdir, bu da 2128 mümkün kombinasiya deməkdir. Bütün açarları axtarmaq üçün Summit superkompüterinə Kainatın yaşından təxminən 7800 dəfə çox vaxt lazımdır.

Kobud güc tarixi maraq hesab edilməlidirmi? Heç də yox: bu kriptoanaliz yemək kitabının zəruri tərkib hissəsidir. Şifrələr nadir hallarda o qədər zəif olur ki, bu və ya digər dərəcədə güc tətbiq edilmədən, yalnız ağıllı bir hücumla sındırıla bilər. Bir çox uğurlu hakerlər əvvəlcə hədəf şifrəsini zəiflətmək üçün alqoritmik üsuldan istifadə edir, sonra isə kobud güc hücumu həyata keçirir.

Tezlik təhlili

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatƏksər mətnlər boşboğaz deyil. Məsələn, ingiliscə mətnlərdə çoxlu 'e' hərfi və 'the' məqalələri var; ikili fayllarda məlumat parçaları arasında doldurma kimi çoxlu sıfır bayt var. Tezlik təhlili bu faktdan istifadə edən hər hansı bir hücumdur.

Bu hücuma qarşı həssas olan şifrənin kanonik nümunəsi sadə əvəzetmə şifrəsidir. Bu şifrədə açar bütün hərfləri dəyişdirilmiş cədvəldir. Məsələn, 'g' 'h', 'o' j ilə əvəz olunur, buna görə də 'get' sözü 'hj' olur. Bu şifrəni kobud şəkildə tətbiq etmək çətindir, çünki çoxlu mümkün axtarış cədvəlləri var. Əgər riyaziyyatla maraqlanırsınızsa, effektiv açar uzunluğu təxminən 88 bitdir: yəni
Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. Lakin tezlik analizi adətən işi tez yerinə yetirir.

Sadə əvəzetmə şifrəsi ilə işlənmiş aşağıdakı şifrəli mətni nəzərdən keçirin:

XDYLY ALY UGLY XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

Çünki Y tez-tez baş verir, o cümlədən bir çox sözlərin sonunda, biz şərti olaraq bunun hərf olduğunu güman edə bilərik e:

XDeLe Ale UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN Ale FleAUX GR WN OGQL ZDWBGEGZDO

Cüt XD bir neçə sözün əvvəlində təkrarlanır. Xüsusilə, XDeLe birləşməsi sözü aydın şəkildə təklif edir these və ya there, odur ki, davam edək:

theLe Ale UGLe thWNKE WN heAJeN ANF eALth DGLAtWG dən Ale FleAUt GR WN OGQL ZDWBGEGZDO

Gəlin bunu daha da fərz edək L uyğun gəlir r, A - a və s. Çox güman ki, bir neçə cəhd tələb olunacaq, lakin tam kobud güc hücumu ilə müqayisədə bu hücum heç vaxt orijinal mətni bərpa edir:

göydə və yerdə horatioda sizin fəlsəfənizdə xəyal etdiyinizdən daha çox şey var

Bəziləri üçün bu cür "kriptoqramları" həll etmək maraqlı bir hobbidir.

Tezlik təhlili ideyası ilk baxışdan göründüyündən daha fundamentaldır. Və bu, daha mürəkkəb şifrələrə aiddir. Tarix boyu müxtəlif şifrə dizaynları “polialfabetik əvəzetmə”dən istifadə edərək belə bir hücuma qarşı durmağa çalışıb. Burada şifrələmə prosesi zamanı hərflərin dəyişdirilməsi cədvəli açardan asılı olaraq mürəkkəb, lakin proqnozlaşdırıla bilən üsullarla dəyişdirilir. Bütün bu şifrələri bir anda sındırmaq çətin hesab olunurdu; və yenə də təvazökar tezlik analizi nəticədə onların hamısını məğlub etdi.

Tarixin ən iddialı poliəlifbalı şifrəsi və yəqin ki, ən məşhuru İkinci Dünya Müharibəsinin Enigma şifrəsi idi. Bu, sələfləri ilə müqayisədə nisbətən mürəkkəb idi, lakin çox gərgin işdən sonra Britaniya kriptoanalitikləri tezlik analizindən istifadə edərək onu sındırdılar. Təbii ki, yuxarıda göstərilən kimi zərif bir hücum inkişaf etdirə bilməzdilər; onlar məlum açıq mətn və şifrəli mətn cütlərini ("açıq mətn hücumu" adlanır) müqayisə etməli idilər, hətta Enigma istifadəçilərini müəyyən mesajları şifrələməyə və nəticəni təhlil etməyə təhrik edirdilər ("seçilmiş açıq mətn hücumu"). Lakin bu, məğlub olan düşmən ordularının və batmış sualtı qayıqların taleyini heç də asanlaşdırmadı.

Bu qələbədən sonra tezlik analizi kriptoanaliz tarixindən itdi. Müasir rəqəmsal əsrdə şifrələr hərflərlə deyil, bitlərlə işləmək üçün nəzərdə tutulub. Daha da əhəmiyyətlisi, bu şifrələr sonralar kimi tanınan şeyin qaranlıq anlayışı ilə hazırlanmışdır Schneier qanunu: Hər kəs özlərinin poza bilməyəcəyi şifrələmə alqoritmini yarada bilər. Şifrələmə sistemi üçün bu kifayət deyil görünürdü çətin: dəyərini sübut etmək üçün şifrəni sındırmaq üçün əlindən gələni edəcək bir çox kriptoanalitik tərəfindən amansız təhlükəsizlik yoxlamasından keçməlidir.

İlkin hesablamalar

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat200 əhalisi olan hipotetik Precom Heights şəhərini götürək. Şəhərdəki hər evdə orta hesabla 000 dollar dəyərində qiymətli əşyalar var, lakin dəyəri 30 dollardan çox deyil.Precomda təhlükəsizlik bazarı əfsanəvi Coyote™ sinif qapı qıfıllarını istehsal edən ACME Industries tərəfindən inhisara alınıb. Mütəxəssislərin təhlilinə görə, Coyote sinifli kilidi yalnız çox mürəkkəb hipotetik maşın sındıra bilər, onun yaradılması təxminən beş il və 000 dollar investisiya tələb edir. Şəhər təhlükəsizdirmi?

Çox güman ki, yox. Nəhayət, kifayət qədər iddialı cinayətkar peyda olacaq. O, belə əsaslandıracaq: “Bəli, ilkin olaraq böyük xərclər çəkəcəyəm. Beş il səbr gözləməsi və 50 dollar. Amma işim bitəndən sonra mənim imkanım olacaq bu şəhərin bütün sərvətləri. Kartlarımı düzgün oynasam, bu investisiya özünü dəfələrlə ödəyəcək”.

Eyni şey kriptoqrafiyaya da aiddir. Müəyyən bir şifrəyə qarşı hücumlar amansız xərc-fayda təhlilinə məruz qalır. Əgər nisbət əlverişli olarsa, hücum baş verməyəcək. Lakin birdən çox potensial qurbana qarşı təsirli olan hücumlar demək olar ki, həmişə öz bəhrəsini verir, bu halda ən yaxşı dizayn təcrübəsi onların ilk gündən başladığını güman etməkdir. Bizdə mahiyyətcə Mörfi Qanununun kriptoqrafik versiyası var: “Sistemi həqiqətən poza biləcək hər şey sistemi pozacaq”.

Əvvəlcədən hesablama hücumuna məruz qalan kriptosistemin ən sadə nümunəsi daimi açarsız şifrədir. Bu, ilə belə idi Sezar şifrəsi, bu, sadəcə olaraq əlifbanın hər hərfini üç hərf irəli sürüşdürür (cədvəl ilmələnir, ona görə də əlifbanın sonuncu hərfi üçüncü yerdə şifrələnir). Burada Kerchhoffs prinsipi yenidən işə düşür: sistem bir dəfə sındırılıbsa, o, əbədi olaraq sındırılır.

Konsepsiya sadədir. Hətta təcrübəsiz bir kriptosistem tərtibçisi, ehtimal ki, təhlükəni tanıyacaq və buna uyğun hazırlaşacaqdır. Kriptoqrafiyanın təkamülünə nəzər salsaq, Sezar şifrəsinin ilk təkmilləşdirilmiş versiyalarından poliəlifbalı şifrələrin azalmasına qədər bu cür hücumlar əksər şifrələr üçün uyğun deyildi. Bu cür hücumlar yalnız kriptoqrafiyanın müasir dövrünün gəlməsi ilə geri döndü.

Bu geri dönüş iki amillə bağlıdır. Birincisi, kifayət qədər mürəkkəb kriptosistemlər nəhayət ortaya çıxdı, burada hakerlikdən sonra istismar ehtimalı açıq deyildi. İkincisi, kriptoqrafiya o qədər geniş yayıldı ki, milyonlarla sadə insan hər gün kriptoqrafiyanın harada və hansı hissələrinin təkrar istifadə ediləcəyi barədə qərarlar verdi. Mütəxəssislərin riskləri dərk edib həyəcan təbili çalmasına qədər bir qədər vaxt lazım oldu.

Əvvəlcədən hesablama hücumunu xatırlayın: məqalənin sonunda onun mühüm rol oynadığı iki real kriptoqrafik nümunəyə baxacağıq.

İnterpolasiya

Məşhur detektiv Şerlok Holms bədbəxt Dr. Vatsona interpolyasiya hücumu edir:

Dərhal təxmin etdim ki, Əfqanıstandan gəlmisən... Fikir qatarım belə oldu: “Bu adam növünə görə həkimdir, amma hərbçiliyi var. Deməli, hərbi həkim. O, tropiklərdən təzə gəlib - üzü tünddür, amma bu, dərisinin təbii kölgəsi deyil, çünki biləkləri daha ağarıb. Üzü qarmaqarışıqdır - açıq-aydın, çox əziyyət çəkib, xəstəlikdən əziyyət çəkib. O, sol əlindən yaralanıb - hərəkətsiz və bir az qeyri-təbii şəkildə tutur. İngilis hərbi həkimi tropiklərin harasında çətinliklərə dözə və yaralana bilərdi? Təbii ki, Əfqanıstanda”. Bütün düşüncə qatarı bir saniyə belə çəkmədi. Mən də dedim ki, Əfqanıstandan gəlmisən, təəccübləndin.

Holms hər bir dəlildən ayrı-ayrılıqda çox az məlumat çıxara bilirdi. O, yalnız onların hamısını bir yerdə nəzərdən keçirməklə nəticəyə gələ bilərdi. İnterpolyasiya hücumu eyni açardan yaranan məlum açıq mətn və şifrəli mətn cütlərini tədqiq etməklə oxşar şəkildə işləyir. Hər bir cütdən açar haqqında ümumi nəticə çıxarmağa imkan verən fərdi müşahidələr çıxarılır. Bütün bu nəticələr qeyri-müəyyəndir və birdən-birə kritik bir kütləyə çatana və yeganə mümkün nəticəyə gətirənə qədər faydasız görünür: nə qədər inanılmaz olsa da, həqiqət olmalıdır. Bundan sonra ya açar aşkarlanır, ya da şifrənin açılması prosesi o qədər dəqiqləşir ki, onu təkrarlamaq olar.

İnterpolyasiyanın necə işlədiyini sadə bir nümunə ilə izah edək. Tutaq ki, düşmənimiz Bobun şəxsi gündəliyini oxumaq istəyirik. O, gündəliyindəki hər nömrəni “A Mock of Cryptography” jurnalındakı reklamdan öyrəndiyi sadə kriptosistemdən istifadə edərək şifrələyir. Sistem belə işləyir: Bob bəyəndiyi iki nömrə seçir: Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat и Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. Bundan sonra istənilən nömrəni şifrələmək üçün Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, hesablayır Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. Məsələn, Bob seçsə Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat и Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, sonra nömrə Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat kimi şifrələnəcək Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat.

Deyək ki, dekabrın 28-də biz Bobun gündəliyində nəyisə qaşıdığını gördük. Bitirdikdən sonra onu sakitcə götürüb son girişə baxacağıq:

Tarix: 235/520

Sevgili gündəlik,

Bu gün yaxşı bir gün idi. vasitəsilə 64 Bu gün bir mənzildə yaşayan Alisa ilə görüşüm var 843. Mən həqiqətən onun ola biləcəyini düşünürəm 26!

Biz Bobun görüşündə (bu ssenaridə hər ikimiz 15 yaşındayıq) izləməyə çox ciddi yanaşdığımız üçün, Alisin ünvanıyla yanaşı, tarixi də bilmək çox vacibdir. Xoşbəxtlikdən, Bobun kriptosisteminin interpolyasiya hücumuna qarşı həssas olduğunu görürük. Bilməyə bilərik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat и Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, lakin bu günün tarixini bilirik, ona görə də iki açıq mətn-şifrə mətn cütümüz var. Daha doğrusu, biz bunu bilirik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat ilə şifrələnmişdir Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatKriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat - in Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. Yazacağımız budur:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

15 yaşında olduğumuz üçün biz artıq iki naməlum olan iki tənlik sistemi haqqında bilirik, bu vəziyyətdə tapmaq üçün kifayətdir. Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat и Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat heç bir problem olmadan. Hər bir açıq mətn-şifrə mətn cütü Bob açarına məhdudiyyət qoyur və bu iki məhdudiyyət birlikdə açarı tamamilə bərpa etmək üçün kifayətdir. Bizim nümunəmizdə cavab belədir Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat и Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat (saat Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, belə ki 26 gündəlikdəki 'bir' sözünə, yəni "eyni" sözünə uyğun gəlir - təqribən. zolaq).

İnterpolyasiya hücumları, təbii ki, belə sadə nümunələrlə məhdudlaşmır. Yaxşı başa düşülən riyazi obyektə və parametrlər siyahısına endirilən hər bir kriptosistem interpolyasiya hücumu riski altındadır - obyekt nə qədər başa düşülsə, risk bir o qədər yüksəkdir.

Yeni gələnlər tez-tez kriptoqrafiyanın "mümkün qədər çirkin şeylər dizayn sənəti" olduğundan şikayətlənirlər. İnterpolyasiya hücumları çox güman ki, günahkardır. Bob ya zərif bir riyazi dizayndan istifadə edə bilər, ya da Alice ilə görüşünü gizli saxlaya bilər - amma təəssüf ki, siz adətən hər iki şəkildə ola bilməzsiniz. Nəhayət, açıq açar kriptoqrafiyası mövzusuna gəldikdə, bu, çox aydın olacaq.

Çarpaz protokol/azaltma

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatİndi Sən Məni Görürsən (2013) filmində bir qrup illüzionist korrupsiyalaşmış sığorta maqnatı Artur Tressleri bütün sərvətini aldatmağa çalışır. Arturun bank hesabına giriş əldə etmək üçün illüziyaçılar ya onun istifadəçi adı və şifrəsini təqdim etməli, ya da onu şəxsən bankda görünməyə və sxemdə iştirak etməyə məcbur etməlidirlər.

Hər iki variant çox çətindir; Uşaqlar səhnədə çıxış etməyə öyrəşiblər və kəşfiyyat əməliyyatlarında iştirak etmirlər. Beləliklə, onlar üçüncü mümkün variantı seçirlər: onların ortağı banka zəng edir və özünü Artur kimi göstərir. Bank şəxsiyyəti yoxlamaq üçün bir neçə sual verir, məsələn, dayının adı və ilk ev heyvanının adı; qəhrəmanlarımızı əvvəlcədən ağıllı sosial mühəndislikdən istifadə edərək bu məlumatı Arturdan asanlıqla çıxarırlar. Bu andan etibarən əla parol təhlükəsizliyi artıq əhəmiyyət kəsb etmir.

(Şəxsən təsdiqlədiyimiz və təsdiq etdiyimiz bir şəhər əfsanəsinə görə, kriptoqraf Eli Beaham bir dəfə təhlükəsizlik sualı verməkdə israrlı bir bank işçisi ilə qarşılaşdı. Kassanın ana tərəfdən nənəsinin adını soruşduqda, Beaham diktə etməyə başladı: “Paytaxt X, kiçik y, üç ... ").

Eyni aktivi qorumaq üçün paralel olaraq iki kriptoqrafik protokol istifadə olunursa və biri digərindən çox zəifdirsə, kriptoqrafiyada da eynidir. Yaranan sistem, daha güclü olana toxunmadan mükafata çatmaq üçün daha zəif bir protokola hücum edildiyi çarpaz protokol hücumuna qarşı həssas olur.

Bəzi mürəkkəb hallarda, sadəcə olaraq daha zəif protokoldan istifadə edərək serverlə əlaqə saxlamaq kifayət deyil, qanuni müştərinin məcburi iştirakını tələb edir. Bu, sözdə endirmə hücumundan istifadə etməklə təşkil edilə bilər. Bu hücumu başa düşmək üçün fərz edək ki, bizim illüzionistlərin üzərinə filmdəkindən daha çətin bir vəzifə düşür. Fərz edək ki, bank işçisi (kassir) və Artur gözlənilməz hallarla qarşılaşıb və nəticədə aşağıdakı dialoq yaranıb:

Soyğunçu: Salam? Bu Artur Tresslerdir. Mən parolumu sıfırlamaq istərdim.

Kassir: Əla. Zəhmət olmasa şəxsi məxfi kod kitabınıza nəzər salın, səhifə 28, söz 3. Bütün sonrakı mesajlar bu xüsusi sözdən açar kimi istifadə edilməklə şifrələnəcək. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Soyğunçu: Hey, hey, gözləyin, gözləyin. Bu həqiqətən lazımdırmı? Normal insanlar kimi danışa bilmərik?

Kassir: Bunu etməyi məsləhət görmürəm.

Soyğunçu: Mən sadəcə... bax, pis bir gün keçirdim, hə? Mən VIP müştəriyəm və bu axmaq kod kitablarını araşdırmaq niyyətində deyiləm.

Kassir: Yaxşı. Əgər təkid etsəniz, cənab Tressler. Nə istəyirsən?

Soyğunçu: Zəhmət olmasa, bütün pullarımı Artur Tressler Milli Qurbanlar Fonduna bağışlamaq istərdim.

(Pauza).

Kassir: İndi aydındır. Lütfən, böyük əməliyyatlar üçün PİN kodu daxil edin.

Soyğunçu: Mənim nə?

Kassir: Sizin şəxsi istəyinizlə bu ölçüdə əməliyyatlar böyük əməliyyatlar üçün PİN tələb edir. Bu kod hesabınızı açdığınız zaman sizə verilmişdir.

Soyğunçu:... Mən onu itirdim. Bu həqiqətən lazımdırmı? Müqaviləni təsdiq edə bilməzsiniz?

Kassir: Yox. Üzr istəyirəm, cənab Tressler. Yenə də xahiş etdiyiniz təhlükəsizlik tədbiri budur. İstəsəniz, poçt qutunuza yeni PİN kodu göndərə bilərik.

Qəhrəmanlarımız əməliyyatı təxirə salırlar. Onlar PİN kodu eşitmək ümidi ilə Tresslerin bir neçə iri əməliyyatını dinləyirlər; lakin hər dəfə maraqlı bir şey deyilməmişdən əvvəl söhbət kodlaşdırılmış cəfəngiyyata çevrilir. Nəhayət, gözəl günlərin birində plan həyata keçirilir. Tresslerin telefonla böyük əməliyyat etməli olduğu anı səbirlə gözləyirlər, o, xəttə çıxır, sonra...

Tressler: Salam. Mən uzaqdan əməliyyatı tamamlamaq istərdim, xahiş edirəm.

Kassir: Əla. Zəhmət olmasa şəxsi məxfi kod kitabınıza, səhifəyə nəzər salın...

(Oğru düyməni basır; kassirin səsi anlaşılmaz səs-küyə çevrilir).

Kassir: - #@$#@$#*@$$@#* açar kimi bu sözlə şifrələnəcək. AAAYRR PLRQRZ MMNJK LOJBAN…

Tressler: Bağışlayın, tam başa düşmədim. Yenidən? Hansı səhifədə? Hansı söz?

Kassir: Bu @#$@#*$)#*#@()#@$(#@*$(#@*) səhifəsidir.

Tressler: Nə?

Kassir: Söz sayı iyirmi @$#@$#%#$.

Tressler: Ciddi! Artıq kifayətdir! Siz və təhlükəsizlik protokolunuz bir növ sirksiniz. Bilirəm ki, mənimlə normal danışa bilərsən.

Kassir: tövsiyə etmirəm…

Tressler: Və vaxtımı boş yerə sərf etməyi sizə məsləhət görmürəm. Siz telefon xətti problemlərini həll etməyincə bu barədə daha çox eşitmək istəmirəm. Bu müqaviləni yekunlaşdıra bilərik, ya yox?

Kassir:… Bəli. Yaxşı. Nə istəyirsən?

Tressler: Lord Business Investments-ə 20 dollar köçürmək istərdim, hesab nömrəsi...

Kassir: Bir dəqiqə, xahiş edirəm. Bu böyük bir şeydir. Lütfən, böyük əməliyyatlar üçün PİN kodu daxil edin.

Tressler: Nə? Oh, dəqiq. 1234.

Budur aşağıya doğru hücum. Daha zəif protokol "sadəcə birbaşa danış" kimi nəzərdə tutulurdu seçim fövqəladə halda. Və yenə də buradayıq.

Düşünə bilərsiniz ki, ağlı başında olan kimin yuxarıda təsvir edilən kimi əsl “başqa cür soruşulana qədər təhlükəsiz” sistemi dizayn edəcək. Ancaq uydurma bank kriptoqrafiyanı sevməyən müştəriləri saxlamaq üçün risklər götürdüyü kimi, sistemlər ümumiyyətlə təhlükəsizliyə laqeyd və hətta açıq şəkildə düşmən olan tələblərə yönəlir.

2-ci ildə SSLv1995 protokolu ilə məhz bu baş vermişdi. ABŞ hökuməti çoxdan kriptoqrafiyaya xarici və daxili düşmənlərdən ən yaxşı şəkildə uzaqlaşdırılan bir silah kimi baxmağa başlayıb. Kod parçaları, alqoritmin qəsdən zəiflədilməsi şərti ilə, ABŞ-dan ixrac üçün fərdi olaraq təsdiq edilirdi. Ən populyar brauzer Netscape Navigator-un tərtibatçısı olan Netscape-ə SSLv2 üçün icazə yalnız 512-bitlik RSA açarı (və RC40 üçün 4-bit) ilə verilmişdir.

Minilliyin sonunda qaydalar rahatlaşdı və müasir şifrələməyə giriş geniş şəkildə əlçatan oldu. Bununla belə, müştərilər və serverlər hər hansı bir köhnə sistem üçün dəstəyi saxlayan eyni ətalət səbəbindən illərdir zəifləmiş “ixrac” kriptoqrafiyasını dəstəkləyirlər. Müştərilər başqa heç nəyi dəstəkləməyən bir serverlə qarşılaşa biləcəklərinə inanırdılar. Serverlər də eyni şeyi etdilər. Əlbəttə ki, SSL protokolu diktə edir ki, müştərilər və serverlər heç vaxt daha yaxşısı mövcud olduqda zəif protokoldan istifadə etməməlidir. Lakin eyni müddəa Tressler və onun bankına da şamil edildi.

Bu nəzəriyyə 2015-ci ildə həm Microsoft tədqiqatçıları, həm də SSL protokolunun təhlükəsizliyini sarsıdan iki yüksək profilli hücuma yol tapdı. INRIA. Birincisi, FREAK hücumunun təfərrüatları fevral ayında, ardınca üç ay sonra Logjam adlı başqa oxşar hücumla açıqlandı, açıq açar kriptoqrafiyasına hücumlara keçdikdə daha ətraflı danışacağıq.

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatZəiflik Qırıl ("Smack TLS" kimi də tanınır) tədqiqatçılar TLS müştəri/server tətbiqlərini təhlil etdikdə və maraqlı bir səhv aşkar etdikdə ortaya çıxdı. Bu tətbiqlərdə, müştəri hətta zəif ixrac kriptoqrafiyasından istifadə etməyi xahiş etmirsə, lakin server hələ də bu cür açarlarla cavab verirsə, müştəri "Yaxşı" deyir və zəif şifrə dəstinə keçir.

O dövrdə ixrac kriptoqrafiyası geniş şəkildə köhnəlmiş və qadağan edilmiş hesab olunurdu, buna görə də hücum tam bir şok oldu və Ağ Ev, IRS və NSA saytları da daxil olmaqla bir çox vacib domenlərə təsir etdi. Daha da pisi odur ki, bir çox həssas serverlər hər seans üçün yeni açarlar yaratmaq əvəzinə eyni açarlardan təkrar istifadə etməklə performansı optimallaşdırırdılar. Bu, protokolun səviyyəsini aşağı saldıqdan sonra hesablama öncəsi hücumu həyata keçirməyə imkan verdi: bir açarın sındırılması nisbətən baha qaldı (məşq zamanı 100 dollar və 12 saat), lakin əlaqəyə hücumun praktiki dəyəri əhəmiyyətli dərəcədə azaldı. Server açarını bir dəfə seçmək və həmin andan bütün sonrakı əlaqələr üçün şifrələməni sındırmaq kifayətdir.

Davam etməzdən əvvəl qeyd edilməli olan bir inkişaf etmiş hücum var...

Oracle hücumu

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatMoxie Marlinspike ən yaxşı cross-platform kripto mesajlaşma tətbiqi Signalın atası kimi tanınır; lakin biz şəxsən onun az tanınan yeniliklərindən birini bəyənirik - kriptoqrafik əzab prinsipi (Kriptoqrafik əzab prinsipi). Bir az ifadə etsək, bunu deyə bilərik: “Əgər protokol yerinə yetirilərsə hər hansı potensial zərərli mənbədən gələn mesaj üzərində kriptoqrafik əməliyyat həyata keçirir və nəticədən asılı olaraq fərqli davranır, o, məhvə məhkumdur”. Və ya daha kəskin formada: "Düşməndən məlumatı emal üçün götürməyin və lazım olsa, heç olmasa nəticəni göstərməyin."

Bufer daşqınlarını, əmr inyeksiyalarını və bu kimiləri bir kənara qoyaq; onlar bu müzakirənin hüdudlarından kənardadırlar. “Qiyamət prinsipi”nin pozulması protokolun özünü tam gözlənildiyi kimi aparması səbəbindən ciddi kriptoqrafiya sındırmalarına səbəb olur.

Nümunə olaraq, həssas əvəzetmə şifrəsi olan uydurma dizaynı götürək və sonra mümkün hücumu nümayiş etdirək. Biz artıq tezlik analizindən istifadə edərək əvəzedici şifrəyə hücumu görmüş olsaq da, bu, sadəcə olaraq “eyni şifrəni pozmağın başqa yolu” deyil. Əksinə, oracle hücumları daha müasir bir ixtiradır, tezlik analizinin uğursuz olduğu bir çox vəziyyətlərə tətbiq olunur və biz növbəti hissədə bunun nümayişini görəcəyik. Burada sadə şifrə yalnız nümunənin daha aydın olması üçün seçilir.

Beləliklə, Alice və Bob yalnız onlara məlum olan açardan istifadə edərək sadə əvəzetmə şifrəsindən istifadə edərək ünsiyyət qururlar. Mesajların uzunluğuna çox ciddi yanaşırlar: onlar düz 20 simvoldan ibarətdir. Beləliklə, onlar razılaşdılar ki, əgər kimsə daha qısa mesaj göndərmək istəyirsə, mesajın sonuna 20 simvoldan ibarət olması üçün bir neçə dummy mətn əlavə etsin. Bəzi müzakirələrdən sonra onlar yalnız aşağıdakı dummy mətnləri qəbul edəcəklərinə qərar verdilər: a, bb, ccc, dddd və s. Beləliklə, istənilən tələb olunan uzunluqda dummy mətn məlumdur.

Alice və ya Bob mesaj aldıqda, əvvəlcə mesajın düzgün uzunluğunu (20 simvol) və şəkilçinin düzgün saxta mətn olduğunu yoxlayırlar. Əgər belə deyilsə, onlar müvafiq səhv mesajı ilə cavab verirlər. Mətnin uzunluğu və dummy mətn uyğundursa, alıcı mesajı özü oxuyur və şifrəli cavab göndərir.

Hücum zamanı təcavüzkar Bob kimi davranır və Alisə saxta mesajlar göndərir. Mesajlar tamamilə cəfəngiyatdır - təcavüzkarın açarı yoxdur və buna görə də mənalı mesaj yarada bilməz. Lakin protokol əzab prinsipini pozduğuna görə, təcavüzkar aşağıda göstərildiyi kimi Alisi yenə də əsas məlumatları ifşa etmək üçün tələyə sala bilər.

Soyğunçu: PREWF ZHJKL MMMN. LA

Alisa: Yanlış saxta mətn.

Soyğunçu: PREWF ZHJKL MMMN. LB

Alisa: Yanlış saxta mətn.

Soyğunçu: PREWF ZHJKL MMMN. LC

Alisa: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Oğru Alisin nə dediyini bilmir, ancaq simvolun olduğunu qeyd edir C uyğun olmalıdır a, Alice dummy mətni qəbul etdiyi üçün.

Soyğunçu: REWF ZHJKL MMMN. LAA

Alisa: Yanlış saxta mətn.

Soyğunçu: REWF ZHJKL MMMN. LBB

Alisa: Yanlış saxta mətn.

Bir neçə cəhddən sonra...

Soyğunçu: REWF ZHJKL MMMN. LGG

Alisa: Yanlış saxta mətn.

Soyğunçu: REWF ZHJKL MMMN. LHH

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

Yenə də təcavüzkar Alisin nə dediyini bilmir, lakin qeyd edir ki, Alice dummy mətni qəbul etdiyi üçün H b ilə uyğun olmalıdır.

Təcavüzkar hər bir xarakterin mənasını bilənə qədər və s.

İlk baxışdan metod seçilmiş açıq mətn hücumuna bənzəyir. Sonda təcavüzkar şifrəli mətnləri seçir və server onları itaətkarlıqla emal edir. Bu hücumları real dünyada həyata keçirə bilən əsas fərq ondan ibarətdir ki, təcavüzkarın faktiki transkriptə girişə ehtiyacı yoxdur - server cavabı, hətta "Etibarsız dummy text" kimi zərərsiz olsa belə, kifayətdir.

Bu xüsusi hücum ibrətamiz olsa da, "dummy text" sxeminin xüsusiyyətlərinə, istifadə olunan xüsusi kriptosisteminə və ya təcavüzkarın göndərdiyi mesajların dəqiq ardıcıllığına çox bağlı olmayın. Əsas fikir, Alicenin açıq mətnin xüsusiyyətlərinə əsasən necə fərqli reaksiya verməsidir və bunu müvafiq şifrəli mətnin həqiqətən etibarlı tərəfdən gəldiyini yoxlamadan edir. Beləliklə, Alice təcavüzkarın cavablarından gizli məlumatları sıxışdırmağa imkan verir.

Bu ssenaridə dəyişdirilə bilən çox şey var. Alisin reaksiya verdiyi simvollar və ya davranışındakı fərq, hətta istifadə olunan kriptosistem. Amma prinsip eyni qalacaq və bütövlükdə hücum bu və ya digər formada həyat qabiliyyətli qalacaq. Bu hücumun əsas tətbiqi bir neçə təhlükəsizlik səhvini aşkar etməyə kömək etdi, biz onlara qısa zamanda baxacağıq; lakin əvvəlcə öyrənilməli bəzi nəzəri dərslər var. Həqiqi müasir şifrə üzərində işləyə bilən hücumda bu uydurma "Alis skripti"ndən necə istifadə etmək olar? Bu, hətta nəzəri cəhətdən də mümkündürmü?

1998-ci ildə isveçrəli kriptoqraf Daniel Bleichenbacher bu suala müsbət cavab verdi. O, xüsusi mesaj sxemindən istifadə edərək geniş istifadə olunan açıq açar kriptosistem RSA-ya oracle hücumunu nümayiş etdirdi. Bəzi RSA tətbiqlərində server açıq mətnin sxemə uyğun olub-olmamasından asılı olaraq müxtəlif səhv mesajları ilə cavab verir; bu hücumu həyata keçirmək üçün kifayət idi.

Dörd il sonra, 2002-ci ildə fransız kriptoqrafı Serj Vaudenay yuxarıdakı Alis ssenarisində təsvir edilən ilə demək olar ki, eyni olan oracle hücumunu nümayiş etdirdi - istisna olmaqla, o, uydurma şifrənin əvəzinə insanların əslində istifadə etdiyi bütün hörmətli müasir şifrələr sinfini qırdı. Xüsusilə, Vaudenayın hücumu, "CBC şifrələmə rejimi" adlanan rejimdə və əsasən Alice ssenarisindəki birinə ekvivalent olan müəyyən populyar doldurma sxemi ilə istifadə edildikdə sabit giriş ölçüsü şifrələrini ("blok şifrələri") hədəf alır.

Həmçinin 2002-ci ildə amerikalı kriptoqraf Con Kelsi - həmmüəllif İki balıq — mesajları sıxışdıran və sonra onları şifrələyən sistemlərə müxtəlif oracle hücumları təklif etdi. Bunlar arasında ən diqqətəlayiq olanı, şifrəli mətnin uzunluğundan açıq mətnin orijinal uzunluğunu tez-tez çıxarmağın mümkün olması faktından istifadə edən hücum idi. Teorik olaraq, bu, orijinal açıq mətnin hissələrini bərpa edən oracle hücumuna imkan verir.

Aşağıda biz Vaudenay və Kelsey hücumlarının daha ətraflı təsvirini təqdim edirik (biz açıq açar kriptoqrafiyasına hücumlara keçdikdə Bleichenbacher hücumunun daha ətraflı təsvirini verəcəyik). Bütün səylərimizə baxmayaraq, mətn bir qədər texniki olur; ona görə də yuxarıdakılar sizin üçün kifayətdirsə, növbəti iki hissəni keçin.

Vodenin hücumu

Vaudenay hücumunu başa düşmək üçün əvvəlcə blok şifrələri və şifrələmə rejimləri haqqında bir az daha danışmaq lazımdır. "Blok şifrəsi", qeyd edildiyi kimi, müəyyən sabit uzunluqda ("blok uzunluğu") açar və girişi götürən və eyni uzunluqda şifrələnmiş blok istehsal edən şifrədir. Blok şifrələri geniş istifadə olunur və nisbətən təhlükəsiz hesab olunur. İlk müasir şifrə hesab edilən indi təqaüdə çıxmış DES blok şifrəsi idi. Yuxarıda qeyd edildiyi kimi, bu gün geniş istifadə olunan AES üçün də eynidir.

Təəssüf ki, blok şifrələrinin bir gözə çarpan zəif tərəfi var. Tipik blok ölçüsü 128 bit və ya 16 simvoldur. Aydındır ki, müasir kriptoqrafiya daha böyük giriş məlumatları ilə işləməyi tələb edir və burada şifrələmə rejimləri işə düşür. Şifrələmə rejimi mahiyyətcə hackdir: bu, ixtiyari uzunluqlu girişə yalnız müəyyən ölçülü girişi qəbul edən blok şifrəsini hansısa şəkildə tətbiq etmək üsuludur.

Vodenin hücumu məşhur CBC (Cipher Block Chaining) iş rejiminə yönəlib. Hücum əsas blok şifrəsinə sehrli, keçilməz qara qutu kimi yanaşır və onun təhlükəsizliyindən tamamilə yan keçir.

CBC rejiminin necə işlədiyini göstərən diaqram:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Dairələnmiş plus XOR (eksklüziv OR) əməliyyatını bildirir. Məsələn, şifrəli mətnin ikinci bloku alınır:

  1. Birinci şifrəli mətn bloku ilə ikinci açıq mətn blokunda XOR əməliyyatını yerinə yetirməklə.
  2. Yaranan blokun açardan istifadə edərək blok şifrəsi ilə şifrələnməsi.

CBC ikili XOR əməliyyatından çox istifadə etdiyinə görə onun bəzi xüsusiyyətlərini xatırlayaq:

  • Qüsursuzluq: Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat
  • Kommutativlik: Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat
  • Assosiativlik: Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat
  • Öz-özünə çevrilmə qabiliyyəti: Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat
  • Bayt ölçüsü: bayt n Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat = (bayt n Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat) Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat (bayt n Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat)

Tipik olaraq, bu xüsusiyyətlər göstərir ki, əgər XOR əməliyyatlarını əhatə edən və bir naməlum tənliyimiz varsa, onu həll etmək olar. Məsələn, bunu bilsək Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat naməlum ilə Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat və məşhur Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat и Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, onda tənliyi həll etmək üçün yuxarıda qeyd olunan xüsusiyyətlərə etibar edə bilərik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. ilə tənliyin hər iki tərəfində XOR tətbiq etməklə Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, alırıq Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. Bütün bunlar bir anda çox aktual olacaq.

Bizim Alice ssenarimizlə Vaudenayın hücumu arasında iki kiçik fərq və bir böyük fərq var. İki kiçik:

  • Ssenaridə Alice açıq mətnlərin personajlarla bitəcəyini gözləyirdi a, bb, ccc və s. Wodene hücumunda qurban əvəzinə düz mətnlərin N bayt ilə N dəfə bitməsini gözləyir (yəni onaltılıq 01 və ya 02 02 və ya 03 03 03 və s.). Bu sırf kosmetik fərqdir.
  • Alice ssenarisində "Yanlış dummy mətn" cavabı ilə Alisin mesajı qəbul edib-etmədiyini anlamaq asan idi. Vodenin hücumunda daha çox təhlil tələb olunur və qurban tərəfində dəqiq həyata keçirilməsi vacibdir; lakin qısalıq üçün bu təhlilin hələ də mümkün olduğunu verilən bir hal kimi qəbul edək.

Əsas fərq:

  • Eyni kriptosistemdən istifadə etmədiyimiz üçün, təcavüzkar tərəfindən idarə olunan şifrəli mətn baytları ilə sirlər (açar və açıq mətn) arasındakı əlaqə açıq şəkildə fərqli olacaq. Buna görə də, təcavüzkar şifrə mətnləri yaratarkən və server cavablarını şərh edərkən fərqli strategiyadan istifadə etməli olacaq.

Bu əsas fərq Vaudenay hücumunu başa düşmək üçün tapmacanın son hissəsidir, ona görə də gəlin ilk növbədə CBC-yə oracle hücumunun niyə və necə qurulacağı barədə düşünək.

Tutaq ki, bizə 247 blokdan ibarət CBC şifrəli mətni verilib və biz onun şifrəsini açmaq istəyirik. Daha əvvəl Aliceyə saxta mesajlar göndərdiyimiz kimi serverə saxta mesajlar göndərə bilərik. Server bizim üçün mesajların şifrəsini açacaq, lakin deşifrəni göstərməyəcək - bunun əvəzinə, yenə Alice ilə olduğu kimi, server yalnız bir bit məlumat verəcək: açıq mətnin düzgün doldurulması olub-olmaması.

Nəzərə alın ki, Alicenin ssenarisində bizim aşağıdakı əlaqələrimiz var idi:

$$display$$mətn{SIMPLE_SUBSTITUTION}(mətn{şifr mətn},mətn{açar}) = mətn{açıq mətn}$$display$$

Gəlin buna “Alisa tənliyi” deyək. Şifrə mətninə nəzarət etdik; server (Alice) alınan açıq mətn haqqında qeyri-müəyyən məlumat sızdırdı; və bu, bizə sonuncu amil - açar haqqında məlumat çıxarmağa imkan verdi. Analoji olaraq, CBC skripti üçün belə bir əlaqə tapa bilsək, orada da bəzi gizli məlumatları çıxara bilərik.

Xoşbəxtlikdən, həqiqətən istifadə edə biləcəyimiz əlaqələr var. Blok şifrəsinin şifrəsini açmaq üçün son çağırışın çıxışını nəzərdən keçirin və bu çıxışı kimi işarələyin Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. Biz açıq mətn bloklarını da qeyd edirik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat və şifrəli mətn blokları Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat. CBC diaqramına bir daha nəzər salın və nə baş verdiyinə diqqət yetirin:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Gəlin buna “CBC tənliyi” deyək.

Alicenin ssenarisində, şifrəli mətni izləməklə və müvafiq açıq mətn sızmasını izləməklə, biz tənlikdəki üçüncü termini – açarı bərpa edən bir hücum təşkil edə bildik. CBC ssenarisində biz həmçinin şifrəli mətnə ​​nəzarət edirik və müvafiq açıq mətndə məlumat sızmalarını müşahidə edirik. Bənzətmə doğru olarsa, haqqında məlumat əldə edə bilərik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat.

Tutaq ki, həqiqətən bərpa etdik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, onda nə? Yaxşı, onda biz açıq mətnin bütün son blokunu bir anda çap edə bilərik (Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat), sadəcə daxil etməklə Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat (bizdə olan) və
alınıb Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat CBC tənliyinə daxil edin.

Hücumun ümumi planı ilə bağlı nikbin olduğumuza görə, təfərrüatları işləməyin vaxtıdır. Lütfən, açıq mətn məlumatının serverə necə sızdığına diqqət yetirin. Alisin skriptində sızma baş verdi, çünki Alice yalnız $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ sətirlə bitərsə düzgün mesajla cavab verərdi. a (Və ya bb, və s., lakin bu şərtlərin təsadüfən tetiklenme şansı çox kiçik idi). CBC-də olduğu kimi, server paddingi yalnız və yalnız o halda qəbul edir Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat hexadecimal ilə bitir 01. Beləliklə, gəlin eyni hiyləni sınayaq: öz saxta dəyərlərimizlə saxta şifrəli mətnlər göndərək Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatserver doldurmağı qəbul edənə qədər.

Server saxta mesajlarımızdan biri üçün padding qəbul etdikdə bu o deməkdir ki:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

İndi bayt-bayt XOR xassəsindən istifadə edirik:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Birinci və üçüncü şərtləri bilirik. Və biz artıq gördük ki, bu, bizə qalan termini - son baytı bərpa etməyə imkan verir Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Bu da bizə CBC tənliyi və bayt-bayt xassəsi vasitəsilə son açıq mətn blokunun son baytını verir.

Biz bunu tərk edə və nəzəri cəhətdən güclü bir şifrəyə hücum etdiyimizə əmin ola bilərik. Amma əslində biz daha çox şey edə bilərik: əslində bütün mətni bərpa edə bilərik. Bu, Alicenin orijinal skriptində olmayan və oracle hücumu üçün tələb olunmayan bir hiylə tələb edir, lakin hələ də öyrənməyə dəyər.

Bunu başa düşmək üçün əvvəlcə qeyd edin ki, son baytın düzgün dəyərinin çıxarılmasının nəticəsidir Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat yeni qabiliyyətimiz var. İndi şifrəli mətnləri saxtalaşdırarkən, müvafiq açıq mətnin son baytını manipulyasiya edə bilərik. Yenə də bu, CBC tənliyi və bayt-bayt xüsusiyyəti ilə bağlıdır:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Artıq ikinci termini bildiyimizə görə, üçüncüyə nəzarət etmək üçün birinciyə nəzarətimizdən istifadə edə bilərik. Sadəcə hesablayırıq:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Biz bunu əvvəllər edə bilməzdik, çünki son baytımız hələ yox idi Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat.

Bu bizə necə kömək edəcək? Tutaq ki, indi bütün şifrəli mətnləri elə yaradırıq ki, müvafiq açıq mətnlərdə sonuncu bayt bərabər olsun. 02. Server indi yalnız açıq mətn ilə bitərsə, doldurmanı qəbul edir 02 02. Biz axırıncı baytı korrektə etdiyimiz üçün bu, yalnız açıq mətnin sondan əvvəlki baytı da 02 olduqda baş verəcək. Server onlardan biri üçün doldurmanı qəbul edənə qədər biz saxta şifrəli mətn bloklarını göndərməyə davam edirik, sonuncu baytı dəyişdiririk. Bu nöqtədə alırıq:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Və sondan əvvəlki baytı bərpa edirik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat sonuncu bərpa edildiyi kimi. Eyni ruhda davam edirik: açıq mətnin son iki baytını düzəldirik 03 03, biz bu hücumu sondan üçüncü bayt üçün təkrar edirik və s, nəticədə tamamilə bərpa edirik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat.

Mətnin qalan hissəsi haqqında nə demək olar? Qeyd edək ki, dəyəri Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat əslində $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$-dır. Onun yerinə hər hansı başqa blok qoya bilərik Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat, və hücum hələ də uğurlu olacaq. Əslində, biz serverdən istənilən məlumat üçün $inline$text{BLOCK_DECRYPT}$inline$ etməsini istəyə bilərik. Bu nöqtədə, oyun başa çatdı - biz istənilən şifrəli mətnin şifrəsini aça bilərik (bunu görmək üçün CBC-nin şifrənin açılması diaqramına bir daha nəzər salın; və IV-nin açıq olduğunu qeyd edin).

Bu xüsusi üsul daha sonra qarşılaşacağımız oracle hücumunda həlledici rol oynayır.

Kelsinin hücumu

Bizim mehriban Con Kelsi, konkret şifrəyə konkret hücumun təfərrüatlarını deyil, bir çox mümkün hücumların əsasını təşkil edən prinsipləri ortaya qoydu. Onun İlin 2002 məqaləsi şifrlənmiş sıxılmış məlumatlara mümkün hücumların tədqiqidir. Şifrələmədən əvvəl məlumatların sıxıldığı barədə məlumatın hücum həyata keçirmək üçün kifayət etmədiyini düşünürsünüz? Belə çıxır ki, bu kifayətdir.

Bu təəccüblü nəticə iki prinsipə bağlıdır. Birincisi, açıq mətnin uzunluğu ilə şifrəli mətnin uzunluğu arasında güclü korrelyasiya var; bir çox şifrələr üçün dəqiq bərabərlik. İkincisi, sıxılma həyata keçirildikdə, sıxılmış mesajın uzunluğu ilə açıq mətnin "səs-küy" dərəcəsi, yəni təkrar olunmayan simvolların nisbəti (texniki termin "yüksək entropiya"dır) arasında da güclü korrelyasiya var. ).

Prinsipin fəaliyyətdə olduğunu görmək üçün iki açıq mətni nəzərdən keçirin:

Açıq mətn 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Açıq mətn 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Tutaq ki, hər iki açıq mətn sıxılmış və sonra şifrələnmişdir. Siz iki nəticədə şifrəli mətn alırsınız və hansı şifrəli mətnin hansı düz mətnə ​​uyğun olduğunu təxmin etməlisiniz:

Şifrə mətni 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Şifrə mətni 2: DWKJZXYU

Cavab aydındır. Açıq mətnlər arasında yalnız açıq mətn 1 ikinci şifrəli mətnin cüzi uzunluğuna sıxışdırıla bilərdi. Biz sıxılma alqoritmi, şifrələmə açarı və hətta şifrənin özü haqqında heç nə bilmədən bunu anladıq. Mümkün kriptoqrafik hücumların iyerarxiyası ilə müqayisədə bu, bir növ dəlilikdir.

Kelsey daha sonra qeyd edir ki, müəyyən qeyri-adi şəraitdə bu prinsip həm də oracle hücumu həyata keçirmək üçün istifadə edilə bilər. Xüsusilə, bu, təcavüzkarın serveri forma məlumatlarını şifrələməyə məcbur edə bildiyi təqdirdə gizli açıq mətni necə bərpa edə biləcəyini təsvir edir (açıq mətnin ardınca Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatnəzarətdə olarkən Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat və bir şəkildə şifrələnmiş nəticənin uzunluğunu yoxlaya bilər.

Yenə də, digər oracle hücumları kimi, bizim də münasibətimiz var:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Yenə bir terminə nəzarət edirik (Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat), biz başqa bir üzv (şifrə mətn) haqqında kiçik bir məlumat sızması görürük və sonuncunu (açıq mətn) bərpa etməyə çalışırıq. Bənzətmələrə baxmayaraq, bu, gördüyümüz digər oracle hücumları ilə müqayisədə bir qədər qeyri-adi bir vəziyyətdir.

Belə bir hücumun necə işləyə biləcəyini göstərmək üçün gəlin indicə tapdığımız uydurma sıxılma sxemindən istifadə edək: TOYZIP. O, əvvəllər mətndə görünən mətn sətirlərini axtarır və onları sətrin əvvəlki nümunəsinin harada tapılacağını və orada neçə dəfə göründüyünü göstərən üç yer tutucu baytla əvəz edir. Məsələn, xətt helloworldhello içərisinə sıxışdırıla bilər helloworld[00][00][05] Orijinal 13 baytla müqayisədə 15 bayt uzunluqdadır.

Tutaq ki, təcavüzkar formanın açıq mətnini bərpa etməyə çalışır password=..., parolun özünün bilinmədiyi yer. Kelsinin hücum modelinə görə, təcavüzkar serverdən forma mesajlarını sıxışdırmağı və sonra şifrələməsini tələb edə bilər (açıq mətndən sonra Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat) Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat - pulsuz mətn. Server işini bitirdikdən sonra nəticənin uzunluğunu bildirir. Hücum belə olur:

Soyğunçu: Zəhmət olmasa düz mətni heç bir doldurma olmadan sıxın və şifrələyin.

Server: Nəticə uzunluğu 14.

Soyğunçu: Zəhmət olmasa, əlavə olunan açıq mətni sıxın və şifrələyin password=a.

Server: Nəticə uzunluğu 18.

Kraker qeyd edir: [orijinal 14] + [əvəz edilmiş üç bayt password=] + a

Soyğunçu: Əlavə edilən açıq mətni sıxın və şifrələyin password=b.

Server: Nəticə uzunluğu 18.

Soyğunçu: Əlavə edilən açıq mətni sıxın və şifrələyin password=с.

Server: Nəticə uzunluğu 17.

Kraker qeyd edir: [orijinal 14] + [əvəz edilmiş üç bayt password=c]. Bu, orijinal açıq mətnin sətri ehtiva etdiyini güman edir password=c. Yəni parol hərflə başlayır c

Soyğunçu: Əlavə edilən açıq mətni sıxın və şifrələyin password=сa.

Server: Nəticə uzunluğu 18.

Kraker qeyd edir: [orijinal 14] + [əvəz edilmiş üç bayt password=с] + a

Soyğunçu: Əlavə edilən açıq mətni sıxın və şifrələyin password=сb.

Server: Nəticə uzunluğu 18.

(… Bir müddət sonra…)

Soyğunçu: Əlavə edilən açıq mətni sıxın və şifrələyin password=со.

Server: Nəticə uzunluğu 17.

Kraker qeyd edir: [orijinal 14] + [əvəz edilmiş üç bayt password=co]. Təcavüzkar eyni məntiqdən istifadə edərək parolun hərflərlə başladığı qənaətinə gəlir co

Və s. bütün parol bərpa olunana qədər.

Oxucu bunun sırf akademik bir məşq olduğunu və real dünyada belə bir hücum ssenarisinin heç vaxt baş verməyəcəyini düşündüyü üçün bağışlanardı. Təəssüf ki, tezliklə görəcəyimiz kimi, kriptoqrafiyadan əl çəkməmək daha yaxşıdır.

Brend zəiflikləri: CRIME, POODLE, DROWN

Nəhayət, nəzəriyyəni ətraflı öyrəndikdən sonra bu texnikaların real həyatda kriptoqrafik hücumlarda necə tətbiq olunduğunu görə bilərik.

Cinayət

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatHücum qurbanın brauzerinə və şəbəkəsinə yönəlibsə, bəziləri daha asan, bəziləri isə daha çətin olacaq. Məsələn, qurbanın hərəkətini görmək asandır: sadəcə WiFi ilə eyni kafedə onunla oturun. Bu səbəbdən, potensial qurbanlara (yəni hər kəsə) ümumiyyətlə şifrələnmiş bağlantıdan istifadə etmək tövsiyə olunur. Qurbanın adından bəzi üçüncü tərəf saytlarına (məsələn, Google) HTTP sorğuları etmək daha çətin, lakin yenə də mümkün olacaq. Təcavüzkar qurbanı sorğu verən skriptlə zərərli veb səhifəyə cəlb etməlidir. Veb brauzer avtomatik olaraq müvafiq sessiya kukisini təmin edəcək.

Bu heyrətamiz görünür. Bob getsə evil.com, bu saytdakı skript sadəcə Google-dan Bobun parolunu e-poçtla göndərməsini xahiş edə bilər [email protected]? Yaxşı, nəzəri olaraq bəli, amma əslində yox. Bu ssenari saytlararası sorğu saxta hücumu adlanır (Saytlararası Tələb Saxtakarlığı, CSRF) və 90-cı illərin ortalarında məşhur idi. Bu gün əgər evil.com bu hiyləni sınayanda, Google (və ya hər hansı özünə hörmət edən vebsayt) adətən belə cavab verəcək: “Əla, lakin bu əməliyyat üçün CSRF nişanınız olacaq... um... три триллиона и семь. Xahiş edirəm bu nömrəni təkrarlayın”. Müasir brauzerlərdə “eyni mənşəli siyasət” adlanan bir şey var ki, bununla da A saytındakı skriptlər B vebsaytı tərəfindən göndərilən məlumatlara daxil ola bilməz. Beləliklə, skript evil.com ünvanına sorğu göndərə bilər google.com, lakin cavabları oxuya və ya əməliyyatı həqiqətən tamamlaya bilmir.

Biz vurğulamalıyıq ki, Bob şifrəli bağlantıdan istifadə etmədikcə, bütün bu qorunmalar mənasızdır. Təcavüzkar sadəcə olaraq Bobun trafikini oxuya və Google-un sessiya kukisini bərpa edə bilər. Bu kuki ilə o, sadəcə olaraq öz brauzerindən çıxmadan yeni Google tabını açacaq və eyni mənşəli siyasətlərlə qarşılaşmadan Bob kimi görünəcək. Ancaq təəssüf ki, oğru üçün bu, getdikcə daha az yayılır. Bütövlükdə İnternet çoxdan şifrələnməmiş əlaqələrə qarşı müharibə elan edib və Bob-un gedən trafiki, o, istər-istəməz, yəqin ki, şifrələnir. Bundan əlavə, protokolun həyata keçirildiyi ilk gündən nəqliyyatın hərəkəti də olub kiçildi şifrələmədən əvvəl; bu, gecikməni azaltmaq üçün ümumi təcrübə idi.

Bu, oyuna girdiyi yerdir Cinayət (Compression Ratio Infoleak Made Easy, sıxılma nisbəti vasitəsilə sadə sızma). Zəiflik 2012-ci ilin sentyabrında təhlükəsizlik üzrə tədqiqatçılar Juliano Rizzo və Thai Duong tərəfindən aşkar edilib. Biz artıq bütün nəzəri əsasları araşdırdıq ki, bu da onların nə etdiyini və necə etdiyini anlamağa imkan verir. Təcavüzkar Bobun brauzerini Google-a sorğu göndərməyə və sonra sıxılmış, şifrələnmiş formada yerli şəbəkədəki cavabları dinləməyə məcbur edə bilər. Buna görə də bizdə:

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat

Burada təcavüzkar sorğuya nəzarət edir və paket ölçüsü də daxil olmaqla trafik snayferinə çıxış əldə edir. Kelsinin uydurma ssenarisi canlandı.

Nəzəriyyəni başa düşən CRIME müəllifləri Gmail, Twitter, Dropbox və Github daxil olmaqla, geniş çeşidli saytlar üçün sessiya kukilərini oğurlaya bilən istismar yaradıblar. Zəiflik əksər müasir veb-brauzerlərə təsir etdi və nəticədə SSL-də sıxılma xüsusiyyətini səssizcə basdıran yamaqlar buraxıldı ki, o, ümumiyyətlə istifadə olunmayacaqdı. Zəiflikdən qorunan yeganə şey heç vaxt SSL sıxılmadan istifadə etməyən hörmətli Internet Explorer idi.

PODLE

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahat2014-cü ilin oktyabrında Google təhlükəsizlik komandası təhlükəsizlik ictimaiyyətində dalğalar yaratdı. Onlar SSL protokolunda on ildən çox əvvəl yamaqlanmış zəiflikdən istifadə edə bildilər.

Belə çıxır ki, serverlər parlaq yeni TLSv1.2-ni işlədirkən, bir çoxları Internet Explorer 3 ilə geriyə uyğunluq üçün köhnə SSLv6 dəstəyini tərk ediblər. Biz artıq reytinqin aşağı salınması hücumlarından danışmışıq, ona görə də nə baş verdiyini təsəvvür edə bilərsiniz. Əl sıxma protokolunun və serverlərin yaxşı təşkil edilmiş təxribatı, son 3 illik təhlükəsizlik araşdırmalarını əsas etibarilə ləğv edərək köhnə SSLv15-ə qayıtmağa hazırdır.

Tarixi kontekst üçün burada Metyu Qrindən 2-ci versiyaya qədər SSL tarixinin qısa xülasəsi var:

Nəqliyyat Layer Təhlükəsizliyi (TLS) İnternetdə ən vacib təhlükəsizlik protokoludur. [..] İnternetdə etdiyiniz demək olar ki, hər bir əməliyyat TLS-dən asılıdır. [..] Lakin TLS həmişə TLS deyildi. Protokol öz həyatına başladı Netscape Rabitə "Secure Sockets Layer" və ya SSL adlanır. Şayiələrə görə, SSL-nin ilk versiyası o qədər dəhşətli idi ki, tərtibatçılar kodun bütün çaplarını topladılar və onları Nyu-Meksikoda gizli poliqonda basdırdılar. Nəticə etibarilə, SSL-nin ilk açıq versiyası əslində SSL 2 versiyası. Bu olduqca qorxuncdur və [...] o, 90-cı illərin ortalarının məhsulu idi, müasir kriptoqraflar bunu "kriptoqrafiyanın qaranlıq əsrləri" Bu gün haqqında bildiyimiz ən iyrənc kriptoqrafik hücumların bir çoxu hələ kəşf edilməmişdir. Nəticədə, SSLv2 protokolunun tərtibatçıları, mahiyyətcə, qaranlıqda yollarını sındırmaq üçün buraxıldılar və onlar üzləşdilər. çoxlu dəhşətli canavarlar - onların qəzəbinə və bizim xeyrimizə, çünki SSLv2-yə hücumlar növbəti nəsil protokollar üçün əvəzsiz dərslər buraxdı.

Bu hadisələrdən sonra 1996-cı ildə incimiş Netscape SSL protokolunu sıfırdan yenidən dizayn etdi. Nəticə SSL versiyası 3 oldu sələfinin bir neçə məlum təhlükəsizlik problemini həll etdi.

Xoşbəxtlikdən oğrular üçün “bir neçə” “hamısı” demək deyil. Ümumiyyətlə, SSLv3 Vodene hücumunu həyata keçirmək üçün bütün lazımi tikinti bloklarını təmin etdi. Protokol CBC rejimi blok şifrəsindən və etibarlı olmayan doldurma sxemindən istifadə etdi (bu TLS-də düzəldildi; buna görə də aşağı səviyyəli hücuma ehtiyac yarandı). Vaudenay hücumunun orijinal təsvirimizdəki doldurma sxemini xatırlayırsınızsa, SSLv3 sxemi çox oxşardır.

Amma təəssüf ki, oğrular üçün “oxşar” “eyni” demək deyil. SSLv3 doldurma sxemi "N təsadüfi baytdan sonra N rəqəmidir". Bu şərtlər altında xəyali şifrəli mətn blokunu seçməyə və Vaudenenin orijinal sxeminin bütün mərhələlərini keçməyə çalışın: hücumun açıq mətnin müvafiq blokundan sonuncu baytı uğurla çıxardığını, lakin daha irəli getmədiyini görəcəksiniz. Şifrə mətninin hər 16-cı baytının şifrəsini açmaq böyük hiylədir, lakin bu, qələbə deyil.

Uğursuzluqla üzləşən Google komandası son çarəyə əl atdı: daha güclü təhdid modelinə - CRIME-də istifadə edilən modelə keçdilər. Təcavüzkarın qurbanın brauzer nişanında işləyən bir skript olduğunu və sessiya kukilərini çıxara biləcəyini fərz etsək, hücum hələ də təsir edicidir. Daha geniş təhlükə modeli daha az real olsa da, əvvəlki bölmədə bu xüsusi modelin mümkün olduğunu gördük.

Bu daha güclü hücumçu imkanlarını nəzərə alaraq, hücum indi davam edə bilər. Qeyd edək ki, təcavüzkar şifrələnmiş sessiya kukisinin başlıqda harada göründüyünü bilir və ondan əvvəlki HTTP sorğusunun uzunluğuna nəzarət edir. Buna görə də, o, HTTP sorğusu ilə manipulyasiya edə bilir ki, kuki-nin son baytı blokun sonuna uyğun olsun. İndi bu bayt şifrənin açılması üçün uyğundur. Siz sorğuya sadəcə bir simvol əlavə edə bilərsiniz və kuki-nin sondan əvvəlki baytı eyni yerdə qalacaq və eyni üsulla seçim üçün uyğundur. Hücum kuki faylı tam bərpa olunana qədər bu şəkildə davam edir. Bu, POODLE adlanır: Downgrade Legacy Encryption on Padding Oracle.

Boğulmaq

Kriptoqrafik hücumlar: çaşqın düşüncələr üçün izahatQeyd etdiyimiz kimi, SSLv3-ün çatışmazlıqları var idi, lakin sələfindən əsaslı şəkildə fərqlənirdi, çünki sızan SSLv2 fərqli bir dövrün məhsulu idi. Orada mesajı ortada kəsə bilərsiniz: соглашусь на это только через мой труп çevrildi соглашусь на это; müştəri və server onlayn görüşə bilər, güvən yarada bilər və təcavüzkarın qarşısında sirləri mübadilə edə bilər, o da asanlıqla hər ikisini təqlid edə bilər. FREAK-ı nəzərdən keçirərkən qeyd etdiyimiz ixrac kriptoqrafiyası ilə bağlı problem də var. Bunlar kriptoqrafik Sodom və Gomorra idi.

2016-cı ilin mart ayında müxtəlif texniki sahələrdən olan tədqiqatçılar qrupu bir araya gəldi və heyrətləndirici bir kəşf etdi: SSLv2 hələ də təhlükəsizlik sistemlərində istifadə olunur. Bəli, FREAK və POODLE-dan sonra həmin dəlik bağlandığından, təcavüzkarlar müasir TLS seanslarını SSLv2-yə endirə bilmirlər, lakin onlar yenə də serverlərə qoşula və SSLv2 sessiyalarını özləri başlada bilərlər.

Soruşa bilərsiniz ki, onların orada nə işi bizi maraqlandırır? Onların həssas sessiyası var, lakin bu, digər seanslara və ya serverin təhlükəsizliyinə təsir etməməlidir, elə deyilmi? Yaxşı, tam deyil. Bəli, nəzəri olaraq belə olmalıdır. Amma yox - çünki SSL sertifikatlarının yaradılması müəyyən bir yük yaradır, nəticədə bir çox server eyni sertifikatlardan və nəticədə TLS və SSLv2 bağlantıları üçün eyni RSA açarlarından istifadə edir. Məsələni daha da pisləşdirmək üçün, OpenSSL səhvinə görə, bu məşhur SSL tətbiqində "SSLv2-ni deaktiv et" seçimi əslində işləmədi.

Bu TLS adlanan protokollar arası hücumu mümkün etdi Boğulmaq (RSA-nın köhnəlmiş və zəifləmiş şifrələmə ilə şifrəsinin açılması, köhnəlmiş və zəiflədilmiş şifrələmə ilə RSA-nın şifrəsinin açılması). Xatırladaq ki, bu, qısa bir hücumla eyni deyil; təcavüzkarın "ortadakı adam" kimi çıxış etməsinə ehtiyac yoxdur və müştərini etibarlı olmayan sessiyada iştirak etmək üçün cəlb etməyə ehtiyac yoxdur. Təcavüzkarlar sadəcə olaraq serverin özləri ilə etibarsız SSLv2 sessiyasına başlayır, zəif protokola hücum edir və serverin RSA şəxsi açarını bərpa edir. Bu açar TLS əlaqələri üçün də etibarlıdır və bu andan etibarən heç bir TLS təhlükəsizliyi onun təhlükəyə məruz qalmasına mane olmayacaq.

Ancaq onu sındırmaq üçün SSLv2-yə qarşı işləyən hücum lazımdır ki, bu da yalnız xüsusi trafiki deyil, həm də gizli RSA server açarını bərpa etməyə imkan verir. Bu mürəkkəb quraşdırma olsa da, tədqiqatçılar SSLv2-dən sonra tamamilə bağlanmış istənilən zəifliyi seçə bilərdilər. Onlar nəhayət uyğun variant tapdılar: əvvəllər qeyd etdiyimiz və növbəti məqalədə ətraflı izah edəcəyimiz Bleichenbacher hücumu. SSL və TLS bu hücumdan qorunur, lakin SSL-in bəzi təsadüfi xüsusiyyətləri ixrac dərəcəli kriptoqrafiyada qısa açarlarla birləşərək bunu mümkün etdi. DROWN-un xüsusi həyata keçirilməsi.

Nəşrin dərc edildiyi vaxt İnternetin ən yaxşı saytlarının 25%-i DROWN zəifliyindən təsirlənmişdi və hücum hətta nadinc tənha hakerlər üçün mövcud olan təvazökar resurslarla həyata keçirilə bilərdi. Serverin RSA açarını əldə etmək səkkiz saatlıq hesablama və 440 dollar tələb etdi və SSLv2 köhnəlmişdən radioaktiv hala gəldi.

Gözləyin, nə Ürək qanı?

Bu, yuxarıda təsvir edilən mənada kriptoqrafik hücum deyil; Bu bufer daşmasıdır.

Bir ara verək

Biz bəzi əsas üsullarla başladıq: kobud güc, interpolyasiya, endirmə, protokollar arası və əvvəlcədən hesablama. Sonra müasir kriptoqrafik hücumların bəlkə də əsas komponenti olan təkmil texnikaya baxdıq: Oracle hücumu. Biz bunu anlamaq üçün kifayət qədər vaxt sərf etdik - və yalnız əsas prinsipi deyil, həm də iki xüsusi tətbiqin texniki təfərrüatlarını başa düşdük: CBC şifrələmə rejiminə Vaudenay hücumu və sıxılmadan əvvəl şifrələmə protokollarına Kelsey hücumu.

Aşağı səviyyəli və əvvəlcədən hesablama hücumlarını nəzərdən keçirərkən, hədəf saytları zəif düymələrə endirməklə və sonra eyni düymələri təkrar istifadə etməklə hər iki üsuldan istifadə edən FREAK hücumunu qısaca təsvir etdik. Növbəti məqalə üçün açıq açar alqoritmlərini hədəf alan (çox oxşar) Logjam hücumunu saxlayacağıq.

Daha sonra bu prinsiplərin tətbiqinə dair daha üç nümunəyə baxdıq. Birincisi, CRIME və POODLE: təcavüzkarın hədəf açıq mətnin yanında ixtiyari açıq mətni yeritmək qabiliyyətinə əsaslanan iki hücum, sonra serverin cavablarını və sonra, Oracle hücum metodologiyasından istifadə edərək, açıq mətni qismən bərpa etmək üçün bu seyrək məlumatdan istifadə edin. CRIME Kelsinin SSL sıxılmasına hücumu marşrutu ilə getdi, POODLE isə əvəzində Vaudenay-ın CBC-yə eyni effektli hücum variantından istifadə etdi.

Daha sonra diqqətimizi köhnə SSLv2 protokolundan istifadə edərək serverlə əlaqə quran və sonra Bleichenbacher hücumundan istifadə edərək serverin məxfi açarlarını bərpa edən cross-protocol DROWN hücumuna yönəltdik. Hələlik bu hücumun texniki detallarını atladıq; Logjam kimi, o da açıq açar kriptosistemləri və onların zəifliklərini yaxşı başa düşənə qədər gözləməli olacaq.

Növbəti məqalədə görüş-in-the-middle, diferensial kriptoanaliz və ad günü hücumları kimi inkişaf etmiş hücumlar haqqında danışacağıq. Gəlin yan kanal hücumlarına qısaca nəzər salaq və sonra əyləncəli hissəyə keçək: açıq açar kriptosistemləri.

Mənbə: www.habr.com

Добавить комментарий