Kriptografik hujumlar: chalkash onglar uchun tushuntirish

"Kriptografiya" so'zini eshitganingizda, ba'zi odamlar o'zlarining WiFi parolini, sevimli veb-saytlari manzili yonidagi yashil qulfni va boshqa birovning elektron pochtasiga kirish qanchalik qiyinligini eslashadi. Boshqalar so'nggi yillarda qisqartmalar (DROWN, FREAK, POODLE...), zamonaviy logotiplar va brauzeringizni zudlik bilan yangilash haqida ogohlantirish bilan bir qator zaifliklarni eslashadi.

Kriptografiya hammasini qamrab oladi, lekin mazmuni boshqasida. Gap shundaki, oddiy va murakkab o'rtasida nozik chiziq bor. Ba'zi narsalarni qilish oson, lekin uni qayta tiklash qiyin, masalan, tuxumni sindirish. Boshqa narsalarni qilish oson, lekin kichik, muhim, muhim qism etishmayotganda uni qaytarib olish qiyin: masalan, "muhim qism" kalit bo'lganda, qulflangan eshikni ochish. Kriptografiya ushbu vaziyatlarni va ulardan amalda qanday foydalanish mumkinligini o'rganadi.

So'nggi yillarda kriptografik hujumlar to'plami ilmiy maqolalardagi formulalar bilan to'ldirilgan yorqin logotiplar hayvonot bog'iga aylandi va hamma narsa buzilgan degan umumiy ma'yus tuyg'uni keltirib chiqardi. Ammo, aslida, hujumlarning aksariyati bir nechta umumiy tamoyillarga asoslanadi va formulalarning cheksiz sahifalari ko'pincha tushunarli g'oyalar uchun qaynatiladi.

Ushbu maqolalar turkumida biz asosiy tamoyillarga urg'u bergan holda kriptografik hujumlarning har xil turlarini ko'rib chiqamiz. Umuman olganda, bu tartibda emas, lekin biz quyidagilarni ko'rib chiqamiz:

  • Asosiy strategiyalar: qo'pol kuch, chastota tahlili, interpolyatsiya, pasaytirish va o'zaro protokollar.
  • Brendli zaifliklar: FREAK, JINOYAT, PUDLE, CHIRGAN, Logjam.
  • Kengaytirilgan strategiyalar: oracle hujumlari (Vodenet hujumi, Kelsey hujumi); o'rtada uchrashish usuli, tug'ilgan kun hujumi, statistik tarafkashlik (differensial kriptoanaliz, integral kriptoanaliz va boshqalar).
  • Yon kanal hujumlari va ularning yaqin qarindoshlari, muvaffaqiyatsizlikni tahlil qilish usullari.
  • Ochiq kalitli kriptografiyaga hujumlar: kub ildizi, translyatsiya, tegishli xabar, Koppersmith hujumi, Pohlig-Hellman algoritmi, raqam elek, Wiener hujumi, Bleichenbacher hujumi.

Ushbu maxsus maqola Kelseyning hujumigacha bo'lgan yuqoridagi materialni qamrab oladi.

Asosiy strategiyalar

Quyidagi hujumlar oddiy, chunki ularni texnik tafsilotlarsiz deyarli to'liq tushuntirish mumkin. Keling, murakkab misollar yoki ilg'or foydalanish holatlariga kirmasdan, har bir hujum turini eng oddiy so'zlar bilan tushuntirib beraylik.

Ushbu hujumlarning ba'zilari asosan eskirgan va ko'p yillar davomida ishlatilmagan. Boshqalar esa, 21-asrda hamon kriptotizim ishlab chiquvchilardan shubhalanmaydigan eski odamlardir. Zamonaviy kriptografiya davri ushbu ro'yxatdagi har bir hujumga dosh beradigan birinchi shifr bo'lgan IBM DES ning paydo bo'lishi bilan boshlangan deb hisoblash mumkin.

Oddiy qo'pol kuch

Kriptografik hujumlar: chalkash onglar uchun tushuntirishShifrlash sxemasi ikki qismdan iborat: 1) kalit bilan birlashtirilgan xabarni (to‘g‘ri matn) qabul qilib, so‘ngra shifrlangan xabar — shifrlangan matnni ishlab chiqaruvchi shifrlash funksiyasi; 2) shifrlash funksiyasi, bu shifrlangan matn va kalitni oladi va ochiq matnni yaratadi. Shifrlash ham, shifrni hal qilish ham kalit yordamida oson hisoblanishi kerak va usiz aniqlash qiyin.

Faraz qilaylik, biz shifrlangan matnni ko'rib turibmiz va uni hech qanday qo'shimcha ma'lumotsiz shifrlashga harakat qilamiz (bu faqat shifrlangan matnli hujum deb ataladi). Agar biz sehrli tarzda to'g'ri kalitni topsak, natija oqilona xabar bo'lsa, u haqiqatan ham to'g'ri ekanligini osongina tekshirishimiz mumkin.

E'tibor bering, bu erda ikkita yashirin taxmin mavjud. Birinchidan, biz shifrlashni qanday amalga oshirishni, ya'ni kriptotizim qanday ishlashini bilamiz. Bu kriptografiyani muhokama qilishda standart taxmindir. Shifrni amalga oshirish tafsilotlarini tajovuzkorlardan yashirish qo'shimcha xavfsizlik chorasi kabi ko'rinishi mumkin, ammo tajovuzkor ushbu tafsilotlarni aniqlagandan so'ng, bu qo'shimcha xavfsizlik jim va qaytarib bo'lmaydigan tarzda yo'qoladi. Shunday Kerchhoff printsipi: Dushman qo'liga tushgan tizim noqulaylik tug'dirmasligi kerak.

Ikkinchidan, biz to'g'ri kalitni oqilona dekodlashga olib keladigan yagona kalit deb hisoblaymiz. Bu ham asosli taxmindir; agar shifrlangan matn kalitdan ancha uzun bo'lsa va o'qilishi mumkin bo'lsa, qanoatlantiriladi. Bu, odatda, haqiqiy dunyoda sodir bo'ladi, bundan tashqari katta amaliy bo'lmagan kalitlar yoki eng yaxshi chetga qo'yilgan boshqa nayranglar (agar bizning tushuntirishlarni rad etishimiz sizga yoqmasa, 3.8 teoremaga qarang shu yerda).

Yuqoridagilarni hisobga olgan holda, strategiya paydo bo'ladi: barcha mumkin bo'lgan kalitlarni tekshiring. Bu qo'pol kuch deb ataladi va bunday hujum barcha amaliy shifrlarga qarshi ishlashi kafolatlanadi - oxir-oqibat. Masalan, buzish uchun qo'pol kuch etarli Qaysar shifr, qadimiy shifr bo'lib, kaliti alifboning bir harfi bo'lib, 20 dan ortiq mumkin bo'lgan kalitlarni nazarda tutadi.

Afsuski, kriptoanalitiklar uchun kalit hajmini oshirish qo'pol kuchdan yaxshi himoya hisoblanadi. Kalit hajmi oshgani sayin, mumkin bo'lgan kalitlar soni eksponent ravishda oshadi. Zamonaviy kalit o'lchamlari bilan oddiy qo'pol kuch mutlaqo amaliy emas. Nimani nazarda tutayotganimizni tushunish uchun keling, 2019-yilning o‘rtalaridagi eng tez mashhur superkompyuterni olaylik: Summit IBM'dan, maksimal ishlash tezligi soniyasiga taxminan 1017 operatsiya. Bugungi kunda odatiy kalit uzunligi 128 bitni tashkil etadi, bu 2128 ta mumkin bo'lgan kombinatsiyani anglatadi. Barcha kalitlarni qidirish uchun Summit superkompyuteriga koinot yoshidan taxminan 7800 marta ko'p vaqt kerak bo'ladi.

Shafqatsiz kuchni tarixiy qiziqish deb hisoblash kerakmi? Hechqisi yo'q: bu kriptoanaliz pishirish kitobining zarur tarkibiy qismidir. Kamdan-kam hollarda shifrlar shunchalik zaifki, ularni faqat aqlli hujum bilan, u yoki bu darajada kuch ishlatmasdan buzish mumkin. Ko'pgina muvaffaqiyatli buzg'unchilar avval maqsadli shifrni zaiflashtirish uchun algoritmik usuldan foydalanadilar va keyin qo'pol kuch hujumini amalga oshiradilar.

Chastotalar tahlili

Kriptografik hujumlar: chalkash onglar uchun tushuntirishKo'pgina matnlar ma'nosiz emas. Masalan, ingliz tilidagi matnlarda "e" harflari va "the" maqolalari ko'p; ikkilik fayllarda ma'lumotlar bo'laklari orasidagi to'ldirish sifatida juda ko'p null baytlar mavjud. Chastotani tahlil qilish - bu haqiqatdan foydalanadigan har qanday hujum.

Ushbu hujumga zaif bo'lgan shifrning kanonik misoli oddiy almashtirish shifridir. Ushbu shifrda kalit barcha harflar almashtirilgan jadvaldir. Masalan, 'g' o'rniga 'h', 'o' o'rniga j qo'yilgan, shuning uchun 'go' so'zi 'hj' bo'ladi. Ushbu shifrni qo'pol kuch bilan ishlatish qiyin, chunki qidirish jadvallari juda ko'p. Agar siz matematikaga qiziqsangiz, samarali kalit uzunligi taxminan 88 bitni tashkil qiladi: bu
Kriptografik hujumlar: chalkash onglar uchun tushuntirish. Ammo chastota tahlili odatda ishni tezda bajaradi.

Oddiy almashtirish shifriga ishlov berilgan quyidagi shifrlangan matnni ko'rib chiqing:

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

Bu yildan beri Y tez-tez uchraydi, shu jumladan ko'p so'zlarning oxirida, biz taxminiy ravishda bu harf deb taxmin qilishimiz mumkin e:

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

Juft XD bir nechta so'zlarning boshida takrorlanadi. Xususan, XDeLe kombinatsiyasi so'zni aniq taklif qiladi these yoki there, keling, davom etamiz:

theLe Ale UGLe thWNKE WN heAJeN ANF eALth DGLAtWG dan Ale FleAUt GR WN OGQL ZDWBGEGZDO

Keling, buni yana taxmin qilaylik L mos keladi r, A - a va hokazo. Ehtimol, bir necha urinishlar kerak bo'ladi, lekin to'liq qo'pol kuch hujumi bilan solishtirganda, bu hujum asl matnni qisqa vaqt ichida tiklaydi:

Osmon va yerda horatioda sizning falsafangizda orzu qilganingizdan ham ko'proq narsalar mavjud

Ba'zilar uchun bunday "kriptogrammalarni" echish hayajonli xobbidir.

Chastotani tahlil qilish g'oyasi birinchi qarashda ko'rinadiganidan ko'ra muhimroqdir. Va bu ancha murakkab shifrlarga tegishli. Tarix davomida turli xil shifr dizaynlari "polialfavit almashtirish" yordamida bunday hujumga qarshi turishga harakat qilgan. Bu erda shifrlash jarayonida harflarni almashtirish jadvali kalitga bog'liq bo'lgan murakkab, ammo bashorat qilinadigan usullar bilan o'zgartiriladi. Bu shifrlarning barchasini bir vaqtning o'zida buzish qiyin deb hisoblangan; va shunga qaramay kamtarona chastota tahlili oxir-oqibat ularning barchasini mag'lub etdi.

Tarixdagi eng shuhratparast polialfavitli shifr va, ehtimol, eng mashhuri, Ikkinchi Jahon urushidagi Enigma shifridir. Bu avvalgilariga nisbatan ancha murakkab edi, lekin ko'p mashaqqatli mehnatdan so'ng britaniyalik kriptoanalitiklar chastota tahlili yordamida uni sindirishdi. Albatta, ular yuqorida ko'rsatilgandek nafis hujumni rivojlantira olmadilar; ular ma'lum bo'lgan ochiq matn va shifrlangan matn juftlarini ("to'g'ri matn hujumi" deb ataladi) taqqoslashlari kerak edi, hatto Enigma foydalanuvchilarini ma'lum xabarlarni shifrlashga va natijani tahlil qilishga ("tanlangan ochiq matn hujumi") qo'zg'atishlari kerak edi. Ammo bu mag'lubiyatga uchragan dushman qo'shinlari va cho'kib ketgan suv osti kemalarining taqdirini osonlashtirmadi.

Ushbu g'alabadan so'ng, chastotali tahlil kriptoanaliz tarixidan yo'qoldi. Zamonaviy raqamli asrdagi shifrlar harflar bilan emas, balki bitlar bilan ishlash uchun mo'ljallangan. Eng muhimi, bu shifrlar keyinchalik nima deb nomlanuvchi qorong'u tushuncha bilan ishlab chiqilgan Shnayyer qonuni: Har kim o'zi buzolmaydigan shifrlash algoritmini yaratishi mumkin. Bu shifrlash tizimi uchun etarli emas tuyulardi qiyin: uning qiymatini isbotlash uchun u shifrni buzish uchun qo'lidan kelganini qiladigan ko'plab kriptoanalitiklar tomonidan shafqatsiz xavfsizlik tekshiruvidan o'tishi kerak.

Dastlabki hisob-kitoblar

Kriptografik hujumlar: chalkash onglar uchun tushuntirishKeling, 200 000 aholisi bo'lgan Prekom Heightsning taxminiy shahrini olaylik. Shahardagi har bir uyda o'rtacha 30 000 dollarlik qimmatbaho buyumlar bor, lekin 50 000 dollardan ko'p bo'lmagan qimmatbaho buyumlar Prekomdagi xavfsizlik bozori afsonaviy Coyote™ eshik qulflarini ishlab chiqaruvchi ACME Industries tomonidan monopollashtirilgan. Mutaxassislarning tahliliga ko'ra, Coyote sinfidagi qulfni faqat juda murakkab faraziy mashina sindirishi mumkin, uni yaratish uchun taxminan besh yil va 50 000 dollar sarmoya kerak bo'ladi. Shahar xavfsizmi?

Katta ehtimol bilan yo'q. Oxir-oqibat, juda ambitsiyali jinoyatchi paydo bo'ladi. U shunday mulohaza yuritadi: “Ha, men katta xarajatlarni boshlayman. Besh yillik sabr-toqat va 50 000 dollar. Lekin ishim tugagach, menga ruxsat beriladi bu shaharning barcha boyliklari. Agar men kartalarimni to‘g‘ri o‘ynasam, bu sarmoya o‘zini ko‘p marta to‘laydi”.

Kriptografiyada ham xuddi shunday. Muayyan shifrga qarshi hujumlar shafqatsiz xarajat-foyda tahliliga bo'ysunadi. Agar nisbat ijobiy bo'lsa, hujum sodir bo'lmaydi. Ammo bir vaqtning o'zida ko'plab potentsial qurbonlarga qarshi ishlaydigan hujumlar deyarli har doim o'z samarasini beradi, bu holda eng yaxshi dizayn amaliyoti ular birinchi kundan boshlangan deb taxmin qilishdir. Bizda Merfi qonunining kriptografik versiyasi mavjud: "Tizimni haqiqatda buzishi mumkin bo'lgan har qanday narsa tizimni buzadi".

Oldindan hisoblash hujumiga moyil bo'lgan kriptotizimning eng oddiy misoli doimiy kalitsiz shifrdir. Bu bilan sodir bo'lgan Qaysarning shifrlashi, bu alifboning har bir harfini uch harf oldinga siljitadi (jadval halqalanadi, shuning uchun alifbodagi oxirgi harf uchinchi shifrlangan). Bu erda yana Kerchhoffs printsipi o'ynaydi: tizim bir marta buzilgan bo'lsa, u abadiy buziladi.

Kontseptsiya oddiy. Hatto yangi kriptotizim ishlab chiquvchisi ham tahdidni tan oladi va shunga mos ravishda tayyorlanadi. Kriptografiya evolyutsiyasiga nazar tashlaydigan bo'lsak, bunday hujumlar ko'pchilik shifrlar uchun, Sezar shifrining birinchi takomillashtirilgan versiyalaridan polialfavitli shifrlarning kamayishigacha nomaqbul edi. Bunday hujumlar faqat kriptografiyaning zamonaviy davri kelishi bilan qaytdi.

Bu qaytish ikki omilga bog'liq. Birinchidan, nihoyat, etarlicha murakkab kriptotizimlar paydo bo'ldi, bu erda xakerlikdan keyin foydalanish ehtimoli aniq emas edi. Ikkinchidan, kriptografiya shu qadar keng tarqaldiki, millionlab oddiy odamlar har kuni kriptografiyaning qayerda va qaysi qismlarini qayta ishlatish haqida qaror qabul qilishdi. Mutaxassislar xavf-xatarni anglab, signalni ko'tarishlari uchun biroz vaqt kerak bo'ldi.

Oldindan hisoblash hujumini eslang: maqolaning oxirida biz muhim rol o'ynagan ikkita real kriptografik misolni ko'rib chiqamiz.

Interpolatsiya

Mana mashhur detektiv Sherlok Xolms baxtsiz doktor Uotsonga interpolyatsiya hujumini amalga oshirmoqda:

Afg‘onistondan kelganingizni darrov taxmin qildim... Fikrlarim quyidagicha edi: “Bu odam turi bo‘yicha shifokor, lekin harbiylik bor. Shunday qilib, harbiy shifokor. U hozirgina tropikadan keldi - uning yuzi qorong'i, ammo bu uning terisining tabiiy soyasi emas, chunki uning bilaklari ancha oqartirilgan. Yuzi xira — aniqki, u ko'p azob chekdi va kasallikdan azob chekdi. U chap qo'lidan yaralangan - u harakatsiz va biroz g'ayritabiiy tarzda ushlab turadi. Ingliz harbiy shifokori tropikada qayerda qiyinchiliklarga chidab, yarador bo'lishi mumkin edi? Albatta, Afg‘onistonda”. Butun fikrlash poyezdi bir soniya ham davom etmadi. Shunda men Afg‘onistondan kelding, dedim, hayron bo‘lding.

Xolms har bir dalildan alohida ma'lumot olishi mumkin edi. U faqat ularning barchasini birgalikda ko'rib chiqish orqali o'z xulosasiga kelishi mumkin edi. Interpolatsiya hujumi xuddi shu kalitdan kelib chiqqan ma'lum ochiq matn va shifrlangan matn juftlarini tekshirish orqali xuddi shunday ishlaydi. Har bir juftlikdan kalit haqida umumiy xulosa chiqarish imkonini beruvchi individual kuzatishlar olinadi. Bu xulosalarning barchasi noaniq va ular to'satdan tanqidiy massaga etib bormaguncha va yagona mumkin bo'lgan xulosaga olib kelguncha foydasiz bo'lib tuyuladi: qanchalik aql bovar qilmaydigan bo'lmasin, bu haqiqat bo'lishi kerak. Shundan so'ng, kalit ochiladi yoki shifrni ochish jarayoni shunchalik yaxshilanadiki, uni takrorlash mumkin.

Keling, interpolyatsiya qanday ishlashini oddiy misol bilan ko'rsatamiz. Aytaylik, biz dushmanimiz Bobning shaxsiy kundaligini o'qimoqchimiz. U kundalikdagi har bir raqamni “Kriptografiya masxara” jurnalidagi reklamadan bilib olgan oddiy kriptotizim yordamida shifrlaydi. Tizim shunday ishlaydi: Bob o'ziga yoqadigan ikkita raqamni tanlaydi: Kriptografik hujumlar: chalkash onglar uchun tushuntirish и Kriptografik hujumlar: chalkash onglar uchun tushuntirish. Bundan buyon istalgan raqamni shifrlash uchun Kriptografik hujumlar: chalkash onglar uchun tushuntirish, hisoblaydi Kriptografik hujumlar: chalkash onglar uchun tushuntirish. Misol uchun, agar Bob tanlagan bo'lsa Kriptografik hujumlar: chalkash onglar uchun tushuntirish и Kriptografik hujumlar: chalkash onglar uchun tushuntirish, keyin raqam Kriptografik hujumlar: chalkash onglar uchun tushuntirish sifatida shifrlanadi Kriptografik hujumlar: chalkash onglar uchun tushuntirish.

Aytaylik, 28 dekabr kuni biz Bob o'z kundaligida nimanidir tirnalayotganini payqadik. U tugagach, biz uni jimgina olib, oxirgi yozuvni tomosha qilamiz:

Sana: 235/520

Qadrli kundalik,

Bugun yaxshi kun edi. orqali 64 bugun men kvartirada yashovchi Alisa bilan uchrashdim 843. Men haqiqatan ham u bo'lishi mumkin deb o'ylayman 26!

Biz Bobni o'z sanasida kuzatib borishga juda jiddiy munosabatda bo'lganimiz sababli (bu stsenariyda ikkalamiz ham 15 yoshdamiz), Elisning manzili bilan bir qatorda sanani bilish juda muhimdir. Yaxshiyamki, biz Bobning kriptotizimi interpolatsiya hujumiga qarshi himoyasiz ekanligini payqadik. Biz bilmasligimiz mumkin Kriptografik hujumlar: chalkash onglar uchun tushuntirish и Kriptografik hujumlar: chalkash onglar uchun tushuntirish, lekin biz bugungi sanani bilamiz, shuning uchun bizda ikkita ochiq matnli shifrlangan matn mavjud. Ya'ni, biz buni bilamiz Kriptografik hujumlar: chalkash onglar uchun tushuntirish shifrlangan Kriptografik hujumlar: chalkash onglar uchun tushuntirishva Kriptografik hujumlar: chalkash onglar uchun tushuntirish - In Kriptografik hujumlar: chalkash onglar uchun tushuntirish. Buni biz yozamiz:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Biz 15 yoshdamiz, chunki biz ikkita noma'lumli ikkita tenglamalar tizimi haqida allaqachon bilamiz, bu vaziyatda topish uchun etarli. Kriptografik hujumlar: chalkash onglar uchun tushuntirish и Kriptografik hujumlar: chalkash onglar uchun tushuntirish hech qanday muammosiz. Har bir ochiq matn-shifr matn juftligi Bob kalitiga cheklov qo'yadi va ikkita cheklov birgalikda kalitni to'liq tiklash uchun etarli. Bizning misolimizda javob Kriptografik hujumlar: chalkash onglar uchun tushuntirish и Kriptografik hujumlar: chalkash onglar uchun tushuntirish (da Kriptografik hujumlar: chalkash onglar uchun tushuntirish Kriptografik hujumlar: chalkash onglar uchun tushuntirish, shunday qilib 26 kundalikda "bir" so'ziga mos keladi, ya'ni "bir xil" - taxminan. bo'lak).

Interpolatsiya hujumlari, albatta, bunday oddiy misollar bilan cheklanmaydi. Yaxshi tushunilgan matematik ob'ektga va parametrlar ro'yxatiga qisqaradigan har bir kriptotizim interpolyatsiya hujumi xavfi ostida - ob'ekt qanchalik tushunarli bo'lsa, xavf shunchalik katta bo'ladi.

Yangi kelganlar ko'pincha kriptografiya "narsalarni iloji boricha xunuk qilib loyihalash san'ati" deb shikoyat qiladilar. Interpolatsiya hujumlari, ehtimol, aybdor. Bob nafis matematik dizayndan foydalanishi yoki Elis bilan bo‘lgan uchrashuvini maxfiy tutishi mumkin, lekin afsuski, siz buni har ikkala usulda ham qila olmaysiz. Ochiq kalit kriptografiyasi mavzusiga kelganimizda, bu aniq bo'ladi.

O'zaro protokol/pastga tushirish

Kriptografik hujumlar: chalkash onglar uchun tushuntirish“Endi sen meni ko‘rasan” (2013) filmida bir guruh illyuzionistlar buzuq sug‘urta magnati Artur Tresslerni butun boyligidan o‘g‘irlamoqchi bo‘lishadi. Arturning bank hisobiga kirish uchun illyuzionistlar uning foydalanuvchi nomi va parolini ko'rsatishlari yoki uni bankda shaxsan bo'lishga va sxemada ishtirok etishga majbur qilishlari kerak.

Ikkala variant ham juda qiyin; Yigitlar razvedka operatsiyalarida qatnashmaslik uchun sahnada chiqishga odatlangan. Shunday qilib, ular uchinchi variantni tanlashadi: ularning sherigi bankka qo'ng'iroq qiladi va o'zini Artur deb ko'rsatadi. Bank shaxsni tasdiqlash uchun bir nechta savollarni so'raydi, masalan, amakisining ismi va birinchi uy hayvonining ismi; bizning qahramonlarimiz oldindan ular aqlli ijtimoiy muhandislik yordamida Arturdan bu ma'lumotni osongina chiqarib olishadi. Shu nuqtadan boshlab, mukammal parol xavfsizligi endi muhim emas.

(Biz shaxsan tasdiqlagan va tasdiqlagan shahar afsonasiga ko'ra, kriptograf Eli Beaham bir marta xavfsizlik savolini qo'yishni talab qilgan bank xodimiga duch kelgan. Kassir o'zining ona buvisining ismini so'raganida, Beaham dikta qila boshladi: "Kapital X, kichik y, uch ... ").

Agar bitta aktivni himoya qilish uchun ikkita kriptografik protokol parallel ravishda ishlatilsa va biri boshqasidan ancha zaif bo'lsa, kriptografiyada ham xuddi shunday. Natijada paydo bo'lgan tizim o'zaro protokol hujumiga qarshi zaif bo'lib qoladi, bu erda kuchliroq protokolga tegmasdan sovrinni qo'lga kiritish uchun zaifroq protokolga hujum qilinadi.

Ba'zi murakkab holatlarda, zaifroq protokol yordamida server bilan bog'lanishning o'zi etarli emas, balki qonuniy mijozning majburiy ishtirokini talab qiladi. Buni pastga tushirish deb ataladigan hujum yordamida tashkil qilish mumkin. Ushbu hujumni tushunish uchun, faraz qilaylik, bizning illyuzionistlar filmdagidan ko'ra qiyinroq vazifani bajaradilar. Faraz qilaylik, bank xodimi (kassir) va Artur kutilmagan holatlarga duch kelishdi, natijada quyidagi dialog yuzaga keldi:

O‘g‘ri: Salom? Bu Artur Tressler. Men parolimni qayta tiklamoqchiman.

Kassir: Ajoyib. Iltimos, shaxsiy maxfiy kod kitobingizni ko'rib chiqing, 28-bet, 3-so'z. Keyingi barcha xabarlar kalit sifatida ushbu maxsus so'z yordamida shifrlanadi. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

O‘g‘ri: Hoy, kuting, kuting. Bu haqiqatan ham kerakmi? Oddiy odamlardek gaplasha olmaymizmi?

Kassir: Men buni qilishni tavsiya etmayman.

O‘g‘ri: Men shunchaki... qara, men yomon kun o‘tkazdim, xo‘pmi? Men VIP mijozman va men bu ahmoqona kod kitoblarini ko'rib chiqishga tayyor emasman.

Kassir: Yaxshi. Agar turib olsangiz, janob Tressler. Nima xohlaysiz?

O‘g‘ri: Iltimos, men butun pulimni Artur Tressler qurbonlari milliy jamg'armasiga o'tkazmoqchiman.

(Pauza).

Kassir: Tushunarlimi. Katta tranzaktsiyalar uchun PIN kodingizni kiriting.

O‘g‘ri: Mening nima?

Kassir: Sizning shaxsiy so'rovingiz bo'yicha, bunday o'lchamdagi tranzaksiyalar yirik tranzaktsiyalar uchun PIN-kodni talab qiladi. Hisobingizni ochganingizda bu kod sizga berilgan.

O‘g‘ri:... Men uni yo'qotdim. Bu haqiqatan ham kerakmi? Bitimni ma'qullay olmaysizmi?

Kassir: Yo'q. Kechirasiz, janob Tressler. Shunga qaramay, bu siz so'ragan xavfsizlik chorasi. Agar xohlasangiz, pochta qutingizga yangi PIN kod yuborishimiz mumkin.

Bizning qahramonlarimiz operatsiyani kechiktiradilar. Ular PIN-kodni eshitish umidida Tresslerning bir qancha yirik tranzaksiyalarini tinglashadi; lekin har safar qiziqarli narsa aytilmasdan oldin suhbat shifrlangan gibberga aylanadi. Nihoyat, yaxshi kunlarning birida reja amalga oshadi. Tressler telefon orqali yirik tranzaktsiyani amalga oshirishi kerak bo'lgan paytni sabr bilan kutishadi, u liniyaga chiqadi va keyin ...

Tressler: Salom. Men masofaviy tranzaksiyani yakunlamoqchiman, iltimos.

Kassir: Ajoyib. Iltimos, shaxsiy maxfiy kod kitobingiz, sahifangizga qarang...

(O'g'ri tugmani bosadi; kassirning ovozi tushunarsiz shovqinga aylanadi).

Kassir: - #@$#@$#*@$$@#* kalit sifatida shu soʻz bilan shifrlanadi. AAAYRR PLRQRZ MMNJK LOJBAN…

Tressler: Kechirasiz, men unchalik tushunmadim. Yana bir marta? Qaysi sahifada? Qaysi so'z?

Kassir: Bu @#$@#*$)#*#@()#@$(#@*$(#@*) sahifasi.

Tressler: Nima?

Kassir: Yigirma sonli so'z @$#@$#%#$.

Tressler: Jiddiy! Yetadi! Siz va sizning xavfsizlik protokolingiz biroz sirksiz. Bilaman, siz men bilan oddiygina gaplasha olasiz.

Kassir: tavsiya qilmayman…

Tressler: Va men sizga vaqtimni behuda sarflashni maslahat bermayman. Telefon liniyasi muammolarini hal qilmaguningizcha, bu haqda boshqa eshitishni xohlamayman. Bu kelishuvni yakunlay olamizmi yoki yo'qmi?

Kassir:… Ha. Yaxshi. Nima xohlaysiz?

Tressler: Men Lord Business Investments kompaniyasiga 20 000 dollar o‘tkazmoqchiman, hisob raqami...

Kassir: Bir daqiqa, iltimos. Bu katta ish. Katta tranzaktsiyalar uchun PIN kodingizni kiriting.

Tressler: Nima? Oh, aniq. 1234.

Mana, pastga hujum. Zaifroq protokol "shunchaki to'g'ridan-to'g'ri gapiring" sifatida nazarda tutilgan edi variant favqulodda holatlarda. Va shunga qaramay, biz shu yerdamiz.

Kim aqli raso bo'lsa, yuqorida ta'riflanganidek, haqiqiy "xavfsiz" tizimni ishlab chiqishiga hayron bo'lishingiz mumkin. Ammo xayoliy bank kriptografiyani yoqtirmaydigan mijozlarni saqlab qolish uchun tavakkal qilganidek, tizimlar odatda xavfsizlikka befarq yoki hatto ochiqchasiga dushman bo'lgan talablarga intiladi.

2 yilda SSLv1995 protokoli bilan aynan shunday bo'lgan. AQSh hukumati kriptografiyani uzoq vaqtdan beri tashqi va ichki dushmanlardan uzoqroq tutiladigan qurol sifatida ko'rishni boshladi. Kod qismlari Amerika Qo'shma Shtatlaridan eksport qilish uchun alohida ma'qullangan, ko'pincha algoritm ataylab zaiflashtirilgan bo'lishi sharti bilan. Eng mashhur Netscape Navigator brauzerining ishlab chiqaruvchisi Netscape-ga SSLv2 uchun faqat tabiiy ravishda zaif 512-bitli RSA kaliti (va RC40 uchun 4-bit) bilan ruxsat berilgan.

Ming yillikning oxiriga kelib, qoidalar yengillashdi va zamonaviy shifrlashdan foydalanish keng tarqaldi. Biroq, mijozlar va serverlar har qanday eski tizimni qo'llab-quvvatlaydigan bir xil inersiya tufayli yillar davomida zaiflashtirilgan "eksport" kriptografiyasini qo'llab-quvvatladilar. Mijozlar boshqa hech narsani qo'llab-quvvatlamaydigan serverga duch kelishlari mumkinligiga ishonishdi. Serverlar ham xuddi shunday qilishdi. Albatta, SSL protokoli mijozlar va serverlar yaxshisi mavjud bo'lganda hech qachon zaif protokoldan foydalanmasliklarini talab qiladi. Ammo xuddi shu asos Tressler va uning bankiga tegishli edi.

Ushbu nazariya 2015-yilda Microsoft tadqiqotchilari va SSL protokoli xavfsizligini larzaga keltirgan ikkita yuqori darajadagi hujumga o'z yo'lini topdi. INRIA. Birinchidan, FREAK hujumi tafsilotlari fevral oyida ma’lum bo‘ldi, uch oydan so‘ng Logjam deb nomlangan yana bir shunga o‘xshash hujum sodir bo‘ldi, biz ochiq kalit kriptografiyasiga hujumlarga o‘tganimizda batafsilroq muhokama qilamiz.

Kriptografik hujumlar: chalkash onglar uchun tushuntirishZaiflik FREAK (shuningdek, "Smack TLS" nomi bilan ham tanilgan) tadqiqotchilar TLS mijoz/server ilovalarini tahlil qilib, qiziq xatoni aniqlaganlarida paydo bo'ldi. Ushbu ilovalarda, agar mijoz zaif eksport kriptografiyasidan foydalanishni so'ramasa ham, lekin server bunday kalitlar bilan javob bersa, mijoz "Oh, yaxshi" deb aytadi va zaif shifrlar to'plamiga o'tadi.

O'sha paytda eksport kriptografiyasi eskirgan va taqiqlangan deb hisoblangan, shuning uchun hujum to'liq zarba bo'ldi va ko'plab muhim domenlarga, jumladan Oq uy, IRS va NSA saytlariga ta'sir qildi. Bundan ham yomoni, ko'plab zaif serverlar har bir seans uchun yangi kalitlarni yaratish o'rniga bir xil kalitlarni qayta ishlatish orqali ishlashni optimallashtirishgan. Bu protokolni pasaytirgandan so'ng, hisoblashdan oldingi hujumni amalga oshirish imkonini berdi: bitta kalitni buzish nisbatan qimmat bo'lib qoldi (nashr vaqtida 100 dollar va 12 soat), lekin ulanishga hujum qilishning amaliy qiymati sezilarli darajada kamaydi. Server kalitini bir marta taxmin qilish va shu paytdan boshlab barcha keyingi ulanishlar uchun shifrlashni buzish kifoya.

Va davom etishdan oldin, eslatib o'tish kerak bo'lgan bitta rivojlangan hujum bor ...

Oracle hujumi

Kriptografik hujumlar: chalkash onglar uchun tushuntirishMoxie Marlinspike eng yaxshi kross-platformali kripto-xabar almashish ilovasi Signalning otasi sifatida tanilgan; lekin shaxsan biz uning unchalik mashhur boʻlmagan yangiliklaridan birini yaxshi koʻramiz: kriptografik halokat printsipi (Kriptografik halokat printsipi). Bir oz ifodalash uchun biz buni aytishimiz mumkin: “Agar protokol bajarilsa har qanday potentsial zararli manbadan kelgan xabarda kriptografik operatsiyani amalga oshiradi va natijaga qarab o'zini boshqacha tutadi, u halokatga uchraydi. Yoki aniqroq shaklda: "Dushmandan ma'lumotni qayta ishlash uchun olmang va agar kerak bo'lsa, hech bo'lmaganda natijani ko'rsatmang."

Bufer to'lib ketishi, buyruq in'ektsiyalari va shunga o'xshashlarni bir chetga surib qo'yamiz; ular bu muhokama doirasidan tashqarida. "Qiyomat printsipi" ni buzish, protokol o'zini xuddi kutilganidek tutganligi sababli jiddiy kriptografiya buzilishiga olib keladi.

Misol tariqasida, zaif almashtirish shifriga ega bo'lgan xayoliy dizaynni olaylik va keyin mumkin bo'lgan hujumni ko'rsatamiz. Chastotali tahlil yordamida almashtirish shifriga hujumni allaqachon ko'rgan bo'lsak-da, bu shunchaki "xuddi shu shifrni buzishning boshqa usuli" emas. Bundan farqli o'laroq, oracle hujumlari chastotani tahlil qilish muvaffaqiyatsiz bo'lgan ko'plab vaziyatlarga nisbatan qo'llaniladigan ancha zamonaviy ixtiro bo'lib, keyingi bo'limda buning namoyishini ko'ramiz. Bu erda oddiy shifr faqat misolni aniqroq qilish uchun tanlangan.

Shunday qilib, Elis va Bob faqat o'zlariga ma'lum bo'lgan kalit yordamida oddiy almashtirish shifridan foydalangan holda muloqot qilishadi. Ular xabarlar uzunligi haqida juda qattiq: ular aniq 20 belgidan iborat. Shunday qilib, agar kimdir qisqaroq xabar yubormoqchi bo'lsa, u roppa-rosa 20 belgidan iborat bo'lishi uchun xabarning oxiriga qo'shimcha matn qo'shishga rozi bo'lishdi. Ba'zi munozaralardan so'ng, ular faqat quyidagi soxta matnlarni qabul qilishga qaror qilishdi: a, bb, ccc, dddd Shunday qilib, istalgan uzunlikdagi qo'g'irchoq matn ma'lum.

Elis yoki Bob xabarni qabul qilganda, ular birinchi navbatda xabarning to'g'ri uzunligini (20 belgi) va qo'shimchaning to'g'ri soxta matn ekanligini tekshiradilar. Agar bunday bo'lmasa, ular tegishli xato xabari bilan javob berishadi. Agar matn uzunligi va soxta matn yaxshi bo'lsa, qabul qiluvchi xabarni o'zi o'qiydi va shifrlangan javob yuboradi.

Hujum paytida hujumchi o'zini Bobga o'xshatib, Elisga soxta xabarlar yuboradi. Xabarlar mutlaqo bema'nilik - tajovuzkor kalitga ega emas va shuning uchun mazmunli xabarni soxtalashtirishga qodir emas. Ammo protokol halokat tamoyilini buzganligi sababli, tajovuzkor quyida ko'rsatilganidek, Alisani asosiy ma'lumotlarni oshkor qilish uchun tuzoqqa tushirishi mumkin.

O‘g‘ri: PREWF ZHJKL MMMN. LA

Elis: Yaroqsiz soxta matn.

O‘g‘ri: PREWF ZHJKL MMMN. LB

Elis: Yaroqsiz soxta matn.

O‘g‘ri: PREWF ZHJKL MMMN. LC

Elis: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

O'g'ri Elisning nima deganini bilmaydi, lekin bu belgi ekanligini ta'kidlaydi C mos kelishi kerak a, Elis qo'g'irchoq matnni qabul qilganligi sababli.

O‘g‘ri: REWF ZHJKL MMMN. LAA

Elis: Yaroqsiz soxta matn.

O‘g‘ri: REWF ZHJKL MMMN. LBB

Elis: Yaroqsiz soxta matn.

Bir necha urinishlardan so'ng ...

O‘g‘ri: REWF ZHJKL MMMN. LGG

Elis: Yaroqsiz soxta matn.

O‘g‘ri: REWF ZHJKL MMMN. LHH

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

Shunga qaramay, hujumchi Alisa nima deganini bilmaydi, lekin H ga mos kelishi kerakligini ta'kidlaydi, chunki Elis qo'g'irchoq matnni qabul qilgan.

Va hokazo hujumchi har bir belgining ma'nosini bilmaguncha.

Bir qarashda, usul tanlangan ochiq matnli hujumga o'xshaydi. Oxir-oqibat, tajovuzkor shifrlangan matnlarni tanlaydi va server ularni itoatkorlik bilan qayta ishlaydi. Ushbu hujumlarni real dunyoda yashovchan qiladigan asosiy farq shundaki, tajovuzkor haqiqiy transkriptga kirishga muhtoj emas - server javobi, hatto "Yaroqsiz soxta matn" kabi zararsiz bo'lsa ham.

Ushbu maxsus hujum ibratli bo'lsa-da, "qo'g'irchoq matn" sxemasining o'ziga xos xususiyatlariga, ishlatiladigan o'ziga xos kriptotizimga yoki tajovuzkor tomonidan yuborilgan xabarlarning aniq ketma-ketligiga o'ta yopishib qolmang. Asosiy g'oya Elisning ochiq matnning xususiyatlariga qarab boshqacha munosabatda bo'lishi va tegishli shifrlangan matn haqiqatda ishonchli tomondan kelganligini tekshirmasdan shunday qiladi. Shunday qilib, Elis tajovuzkorga uning javoblaridan maxfiy ma'lumotlarni siqib chiqarishga imkon beradi.

Ushbu stsenariyda ko'p narsani o'zgartirish mumkin. Elis munosabat bildiradigan belgilar yoki uning xatti-harakatidagi farq yoki hatto ishlatiladigan kriptotizim. Ammo printsip bir xil bo'lib qoladi va umuman hujum u yoki bu shaklda hayotiy bo'lib qoladi. Ushbu hujumning asosiy amalga oshirilishi bir nechta xavfsizlik xatolarini aniqlashga yordam berdi, biz ularni tez orada ko'rib chiqamiz; lekin avval ba'zi nazariy saboqlarni o'rganish kerak. Haqiqiy zamonaviy shifrda ishlashi mumkin bo'lgan hujumda ushbu uydirma "Elis skripti" dan qanday foydalanish kerak? Bu hatto nazariy jihatdan ham mumkinmi?

1998 yilda shveytsariyalik kriptograf Daniel Bleichenbacher bu savolga ijobiy javob berdi. U ma'lum bir xabar sxemasidan foydalangan holda keng qo'llaniladigan ochiq kalit RSA kriptotizimiga oracle hujumini namoyish etdi. Ba'zi RSA ilovalarida, ochiq matn sxemaga mos keladimi yoki yo'qligiga qarab server turli xato xabarlari bilan javob beradi; Bu hujumni amalga oshirish uchun etarli edi.

To'rt yil o'tgach, 2002 yilda frantsuz kriptografi Serj Vodeney yuqoridagi Elis stsenariysida tasvirlangan hujumga deyarli o'xshash oracle hujumini namoyish etdi - bundan tashqari, u xayoliy shifr o'rniga odamlar haqiqatda qo'llaniladigan zamonaviy shifrlarning butun hurmatli sinfini buzdi. Xususan, Vaudenay hujumi "CBC shifrlash rejimi" deb ataladigan rejimda va asosan Elis stsenariysiga teng keladigan ma'lum bir mashhur to'ldirish sxemasi bilan foydalanilganda qattiq kirish o'lchamli shifrlarga ("blok shifrlari") qaratilgan.

Shuningdek, 2002 yilda amerikalik kriptograf Jon Kelsi hammualliflik qilgan Ikki baliq - xabarlarni siqib chiqaradigan va keyin ularni shifrlaydigan tizimlarga turli xil oracle hujumlarini taklif qildi. Ulardan eng diqqatga sazovor tomoni shifrlangan matn uzunligidan ochiq matnning asl uzunligini aniqlash mumkinligidan foydalangan hujum edi. Nazariy jihatdan, bu asl ochiq matnning qismlarini tiklaydigan oracle hujumiga imkon beradi.

Quyida biz Vaudenay va Kelsi hujumlarining batafsil tavsifini beramiz (biz ochiq kalit kriptografiyasiga hujumlarga o'tganimizda Bleichenbacher hujumining batafsil tavsifini beramiz). Bizning barcha harakatlarimizga qaramay, matn biroz texnik bo'lib qoladi; shuning uchun yuqoridagilar siz uchun etarli bo'lsa, keyingi ikki qismni o'tkazib yuboring.

Vodenning hujumi

Vaudenay hujumini tushunish uchun avval blok shifrlari va shifrlash rejimlari haqida bir oz ko'proq gapirishimiz kerak. Yuqorida aytib o'tilganidek, "blokli shifr" ma'lum bir belgilangan uzunlikdagi kalit va kirishni ("blok uzunligi") oladigan va bir xil uzunlikdagi shifrlangan blokni ishlab chiqaradigan shifrdir. Blok shifrlari keng qo'llaniladi va nisbatan xavfsiz hisoblanadi. Birinchi zamonaviy shifr hisoblangan hozirda nafaqaga chiqqan DES blokli shifr edi. Yuqorida aytib o'tilganidek, bugungi kunda keng qo'llaniladigan AES uchun ham xuddi shunday.

Afsuski, blokli shifrlarning bitta zaif tomoni bor. Odatda blok hajmi 128 bit yoki 16 belgidan iborat. Shubhasiz, zamonaviy kriptografiya kattaroq kirish ma'lumotlari bilan ishlashni talab qiladi va bu erda shifrlash rejimlari o'ynaydi. Shifrlash rejimi aslida buzg'unchilikdir: bu qandaydir tarzda blokli shifrni qo'llash usuli bo'lib, u faqat ma'lum o'lchamdagi kiritishni ixtiyoriy uzunlikdagi kiritish uchun qabul qiladi.

Vodenning hujumi mashhur CBC (Cipher Block Chaining) ish rejimiga qaratilgan. Hujum asosiy blok shifriga sehrli, o'tkazib bo'lmaydigan qora quti sifatida qaraydi va uning xavfsizligini butunlay chetlab o'tadi.

Mana CBC rejimi qanday ishlashini ko'rsatadigan diagramma:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Davralangan plyus XOR (eksklyuziv OR) operatsiyasini bildiradi. Masalan, shifrlangan matnning ikkinchi bloki olinadi:

  1. Birinchi shifrlangan matn bloki bilan ikkinchi ochiq matn blokida XOR operatsiyasini bajarish orqali.
  2. Olingan blokni kalit yordamida blokli shifr bilan shifrlash.

CBC ikkilik XOR operatsiyasidan juda ko'p foydalanganligi sababli, uning ba'zi xususiyatlarini eslashga biroz vaqt ajratamiz:

  • Imkoniyatsizlik: Kriptografik hujumlar: chalkash onglar uchun tushuntirish
  • Kommutativlik: Kriptografik hujumlar: chalkash onglar uchun tushuntirish
  • Assotsiativlik: Kriptografik hujumlar: chalkash onglar uchun tushuntirish
  • O'z-o'zini qaytarish qobiliyati: Kriptografik hujumlar: chalkash onglar uchun tushuntirish
  • Bayt hajmi: bayt n of Kriptografik hujumlar: chalkash onglar uchun tushuntirish = (bayt n dan Kriptografik hujumlar: chalkash onglar uchun tushuntirish) Kriptografik hujumlar: chalkash onglar uchun tushuntirish (bayt n of Kriptografik hujumlar: chalkash onglar uchun tushuntirish)

Odatda, bu xususiyatlar XOR operatsiyalarini o'z ichiga olgan va bitta noma'lum tenglamaga ega bo'lsak, uni echish mumkinligini anglatadi. Misol uchun, agar biz buni bilsak Kriptografik hujumlar: chalkash onglar uchun tushuntirish noma'lum bilan Kriptografik hujumlar: chalkash onglar uchun tushuntirish va mashhur Kriptografik hujumlar: chalkash onglar uchun tushuntirish и Kriptografik hujumlar: chalkash onglar uchun tushuntirish, keyin tenglamani echish uchun yuqorida aytib o'tilgan xususiyatlarga tayanishimiz mumkin Kriptografik hujumlar: chalkash onglar uchun tushuntirish. XORni tenglamaning har ikki tomoniga qo'llash orqali Kriptografik hujumlar: chalkash onglar uchun tushuntirish, olamiz Kriptografik hujumlar: chalkash onglar uchun tushuntirish. Bularning barchasi bir zumda juda dolzarb bo'lib qoladi.

Bizning Elis stsenariysi va Vodenayning hujumi o'rtasida ikkita kichik farq va bitta katta farq bor. Ikki kichik:

  • Ssenariyda Elis ochiq matnlar qahramonlar bilan tugashini kutgan a, bb, ccc va hokazo. Wodene hujumida jabrlanuvchi aniq matnlar N bayt bilan N marta tugashini kutadi (ya'ni, o'n oltilik 01 yoki 02 02 yoki 03 03 03 va hokazo). Bu shunchaki kosmetik farq.
  • Elis stsenariysida, "Noto'g'ri qo'g'irchoq matn" javobi orqali Elis xabarni qabul qilganmi yoki yo'qligini aniqlash oson edi. Vodenning hujumida ko'proq tahlil qilish talab etiladi va jabrlanuvchi tomonida aniq amalga oshirish muhimdir; lekin qisqalik uchun, keling, bu tahlil hali ham mumkin, deb qabul qilaylik.

Asosiy farq:

  • Biz bir xil kriptotizimdan foydalanmayotganimiz sababli, tajovuzkor tomonidan boshqariladigan shifrlangan matn baytlari va sirlar (kalit va ochiq matn) o'rtasidagi munosabat boshqacha bo'lishi aniq. Shu sababli, shifrlangan matnlarni yaratish va server javoblarini sharhlashda tajovuzkor boshqa strategiyadan foydalanishi kerak bo'ladi.

Bu asosiy farq Vaudenay hujumini tushunish uchun jumboqning yakuniy qismidir, shuning uchun keling, nima uchun va qanday qilib CBCga oracle hujumi mumkin bo'lishi haqida bir zum o'ylab ko'raylik.

Aytaylik, bizga 247 blokdan iborat CBC shifrlangan matn berildi va biz uni shifrlashni xohlaymiz. Biz serverga soxta xabarlarni yuborishimiz mumkin, xuddi ilgari Elisga soxta xabarlar yuborishimiz mumkin. Server biz uchun xabarlarning shifrini ochadi, lekin shifrni ochishni ko'rsatmaydi - buning o'rniga, Elisda bo'lgani kabi, server faqat bir bit ma'lumot haqida xabar beradi: ochiq matnda to'g'ri to'ldirilgan yoki yo'q.

E'tibor bering, Elisning stsenariysida biz quyidagi munosabatlarga ega edik:

$$display$$matn{SIMPLE_SUBSTITUTION}(matn{shifr matn},matn{kalit}) = matn{oddiy matn}$$display$$

Keling, buni "Alis tenglamasi" deb ataymiz. Biz shifrlangan matnni nazorat qildik; server (Elis) qabul qilingan ochiq matn haqida noaniq ma'lumotni sizdirdi; va bu bizga oxirgi omil - kalit haqida ma'lumot olish imkonini berdi. O'xshashlik bo'yicha, agar biz CBC skripti uchun bunday aloqani topsak, u erda ham ba'zi maxfiy ma'lumotlarni olishimiz mumkin.

Yaxshiyamki, biz foydalanishimiz mumkin bo'lgan munosabatlar mavjud. Blok shifrini ochish uchun yakuniy qo'ng'iroqning chiqishini ko'rib chiqing va bu chiqishni deb belgilang Kriptografik hujumlar: chalkash onglar uchun tushuntirish. Biz ochiq matn bloklarini ham belgilaymiz Kriptografik hujumlar: chalkash onglar uchun tushuntirish va shifrlangan matn bloklari Kriptografik hujumlar: chalkash onglar uchun tushuntirish. CBC diagrammasiga yana bir nazar tashlang va nima sodir bo'layotganiga e'tibor bering:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Keling, buni "CBC tenglamasi" deb ataylik.

Elis stsenariysida, shifrlangan matnni kuzatish va mos keladigan ochiq matnning sizib chiqishini kuzatish orqali biz tenglamaning uchinchi atamasini - kalitni tiklaydigan hujumni o'rnatishga muvaffaq bo'ldik. CBC stsenariysida biz shifrlangan matnni ham kuzatib boramiz va tegishli ochiq matnda ma'lumotlarning sizib chiqishini kuzatamiz. Agar o'xshashlik mavjud bo'lsa, biz haqida ma'lumot olishimiz mumkin Kriptografik hujumlar: chalkash onglar uchun tushuntirish.

Aytaylik, biz haqiqatan ham tiklandik Kriptografik hujumlar: chalkash onglar uchun tushuntirish, keyin nima? Xo'sh, biz bir vaqtning o'zida ochiq matnning oxirgi blokini chop etishimiz mumkin (Kriptografik hujumlar: chalkash onglar uchun tushuntirish), shunchaki kiritish orqali Kriptografik hujumlar: chalkash onglar uchun tushuntirish (bizda bor) va
qabul qildi Kriptografik hujumlar: chalkash onglar uchun tushuntirish CBC tenglamasiga kiriting.

Endi biz hujumning umumiy rejasi haqida optimistik fikrdamiz, endi tafsilotlarni ishlab chiqish vaqti keldi. Iltimos, aniq matnli ma'lumotlar serverda qanday chiqib ketishiga e'tibor bering. Elis skriptida sizib chiqish sodir bo'ldi, chunki Elis faqat $inline$matn{SIMPLE_SUBSTITUTION}(matn{shifrlangan matn},text{key})$inline$ qator bilan tugasagina to'g'ri xabar bilan javob berar edi. a (yoki bb, va hokazo, lekin bu shartlarning tasodifan paydo bo'lish ehtimoli juda kichik edi). CBC-ga o'xshab, server to'ldirishni faqat va agar shunday bo'lsa qabul qiladi Kriptografik hujumlar: chalkash onglar uchun tushuntirish o‘n oltilik sonda tugaydi 01. Shunday qilib, keling, xuddi shu hiylani sinab ko'raylik: o'zimizning soxta qadriyatlarimiz bilan soxta shifrlangan matnlarni yuborish Kriptografik hujumlar: chalkash onglar uchun tushuntirishserver to'ldirishni qabul qilmaguncha.

Agar server soxta xabarlarimizdan biri uchun to'ldirishni qabul qilsa, bu quyidagilarni anglatadi:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Endi biz bayt-bayt XOR xususiyatidan foydalanamiz:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Biz birinchi va uchinchi shartlarni bilamiz. Va biz allaqachon ko'rdikki, bu bizga qolgan atamani - oxirgi baytni tiklashga imkon beradi Kriptografik hujumlar: chalkash onglar uchun tushuntirish:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Bu bizga CBC tenglamasi va bayt-bayt xususiyati orqali yakuniy ochiq matn blokining oxirgi baytini ham beradi.

Biz buni qoldirib, nazariy jihatdan kuchli shifrga hujum qilganimizdan qoniqishimiz mumkin. Ammo, aslida, biz ko'proq narsani qila olamiz: biz barcha matnni qayta tiklashimiz mumkin. Bu Alisaning asl skriptida bo'lmagan va oracle hujumi uchun talab qilinmaydigan hiylani talab qiladi, ammo u hali ham o'rganishga arziydi.

Buni tushunish uchun birinchi navbatda oxirgi baytning to'g'ri qiymatini chiqarish natijasi ekanligini unutmang Kriptografik hujumlar: chalkash onglar uchun tushuntirish bizda yangi qobiliyat bor. Endi, shifrlangan matnlarni soxtalashtirishda biz mos keladigan ochiq matnning oxirgi baytini boshqarishimiz mumkin. Shunga qaramay, bu CBC tenglamasi va bayt-bayt xususiyati bilan bog'liq:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Biz endi ikkinchi atamani bilganimiz sababli, uchinchisini boshqarish uchun birinchisini nazorat qilishimiz mumkin. Biz oddiygina hisoblaymiz:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Ilgari biz buni qila olmadik, chunki bizda hali oxirgi bayt yo'q edi Kriptografik hujumlar: chalkash onglar uchun tushuntirish.

Bu bizga qanday yordam beradi? Aytaylik, biz endi barcha shifrlangan matnlarni shunday yaratamizki, mos keladigan ochiq matnlarda oxirgi bayt teng bo'ladi. 02. Server endi to'ldirishni faqat ochiq matn bilan tugasagina qabul qiladi 02 02. Oxirgi baytni tuzatganimiz sababli, bu faqat ochiq matnning oxirgi bayti ham 02 bo'lsa sodir bo'ladi. Server ulardan biri uchun to'ldirishni qabul qilmaguncha, biz soxta shifrlangan matn bloklarini yuborishda, oxirgi baytni o'zgartirishda davom etamiz. Shu nuqtada biz quyidagilarni olamiz:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Va biz oxirgi baytni tiklaymiz Kriptografik hujumlar: chalkash onglar uchun tushuntirish xuddi oxirgisi tiklangani kabi. Biz xuddi shu ruhda davom etamiz: biz ochiq matnning oxirgi ikki baytini to'g'rilaymiz 03 03, biz bu hujumni oxiridan uchinchi bayt uchun takrorlaymiz va shunga o'xshash, oxir-oqibat to'liq tiklaymiz Kriptografik hujumlar: chalkash onglar uchun tushuntirish.

Matnning qolgan qismi haqida nima deyish mumkin? E'tibor bering, qiymat Kriptografik hujumlar: chalkash onglar uchun tushuntirish aslida $inline$matn{BLOCK_DECRYPT}(matn{key},C_{247})$inline$. Uning o'rniga boshqa blok qo'yishimiz mumkin Kriptografik hujumlar: chalkash onglar uchun tushuntirish, va hujum hali ham muvaffaqiyatli bo'ladi. Aslida, biz serverdan har qanday maʼlumot uchun $inline$text{BLOCK_DECRYPT}$inline$ soʻrashimiz mumkin. Hozirda oʻyin tugadi – biz har qanday shifrlangan matnni parolini hal qilishimiz mumkin (buni koʻrish uchun CBC shifrini ochish diagrammasini yana bir bor koʻrib chiqing va IV ochiq ekanligini unutmang).

Ushbu maxsus usul biz keyinroq duch keladigan oracle hujumida hal qiluvchi rol o'ynaydi.

Kelseyning hujumi

Bizning xushmuomala Jon Kelsi nafaqat ma'lum bir shifrga qilingan hujumning tafsilotlarini emas, balki ko'plab mumkin bo'lgan hujumlar asosidagi tamoyillarni bayon qildi. Uning Yilning 2002 maqolasi shifrlangan siqilgan ma'lumotlarga mumkin bo'lgan hujumlarni o'rganishdir. Shifrlashdan oldin ma'lumotlar siqilganligi haqidagi ma'lumot hujumni amalga oshirish uchun etarli emas deb o'ylaysizmi? Bu yetarli ekan.

Bu hayratlanarli natija ikki tamoyilga bog'liq. Birinchidan, ochiq matn uzunligi va shifrlangan matn uzunligi o'rtasida kuchli bog'liqlik mavjud; ko'p shifrlar uchun aniq tenglik. Ikkinchidan, siqish amalga oshirilganda, siqilgan xabarning uzunligi va ochiq matnning "shovqinlik" darajasi, ya'ni takrorlanmaydigan belgilar nisbati (texnik atama "yuqori entropiya") o'rtasida ham kuchli bog'liqlik mavjud. ).

Printsipni amalda ko'rish uchun ikkita ochiq matnni ko'rib chiqing:

Oddiy matn 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Oddiy matn 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Keling, ikkala ochiq matn ham siqilgan va keyin shifrlangan deb faraz qilaylik. Siz ikkita shifrlangan matnni olasiz va qaysi shifrlangan matn qaysi ochiq matnga mos kelishini taxmin qilishingiz kerak:

Shifrlangan matn 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Shifrlangan matn 2: DWKJZXYU

Javob aniq. To'g'ri matnlar orasida faqat 1-sonli ochiq matn ikkinchi shifrlangan matnning kichik uzunligiga siqilishi mumkin edi. Biz buni siqish algoritmi, shifrlash kaliti va hatto shifrning o'zi haqida hech narsa bilmasdan aniqladik. Mumkin kriptografik hujumlar ierarxiyasi bilan solishtirganda, bu aqldan ozgan narsa.

Kelsi, shuningdek, ba'zi bir noodatiy sharoitlarda bu tamoyil oracle hujumini amalga oshirish uchun ham ishlatilishi mumkinligini ta'kidlaydi. Xususan, agar tajovuzkor serverni forma ma'lumotlarini shifrlashga majbur qilsa, maxfiy ochiq matnni qanday tiklashi mumkinligi tasvirlangan. Kriptografik hujumlar: chalkash onglar uchun tushuntirishu nazorat qilganda Kriptografik hujumlar: chalkash onglar uchun tushuntirish va qandaydir tarzda shifrlangan natijaning uzunligini tekshirishi mumkin.

Yana, boshqa oracle hujumlari singari, bizda ham munosabatlar mavjud:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Yana bir muddatni nazorat qilamiz (Kriptografik hujumlar: chalkash onglar uchun tushuntirish), biz boshqa a'zo (shifrlangan matn) haqida ma'lumotlarning kichik oqishini ko'ramiz va oxirgisini (to'g'ri matn) tiklashga harakat qilamiz. O'xshashlikka qaramay, bu biz ko'rgan boshqa oracle hujumlari bilan solishtirganda biroz g'ayrioddiy holat.

Bunday hujum qanday ishlashini ko'rsatish uchun biz hozirgina o'ylab topgan xayoliy siqish sxemasidan foydalanamiz: TOYZIP. U matnda ilgari paydo bo'lgan matn satrlarini qidiradi va ularni uchta to'ldiruvchi bayt bilan almashtiradi, bu satrning oldingi nusxasini qaerdan topish va u erda necha marta paydo bo'lishini ko'rsatadi. Masalan, chiziq helloworldhello ichiga siqilishi mumkin helloworld[00][00][05] Asl 13 baytga nisbatan 15 bayt uzunlikda.

Faraz qilaylik, tajovuzkor shaklning ochiq matnini tiklashga harakat qiladi password=..., bu erda parolning o'zi noma'lum. Kelseyning hujum modeliga ko'ra, tajovuzkor serverdan shakl xabarlarini siqish va keyin shifrlashni so'rashi mumkin (to'g'ri matndan keyin Kriptografik hujumlar: chalkash onglar uchun tushuntirish) qaerda Kriptografik hujumlar: chalkash onglar uchun tushuntirish - bepul matn. Server ishni tugatgandan so'ng, natijaning uzunligi haqida xabar beradi. Hujum quyidagicha davom etadi:

O‘g‘ri: Iltimos, oddiy matnni hech qanday toʻldirishsiz siqib oling va shifrlang.

Server: Natija uzunligi 14.

O‘g‘ri: Iltimos, ilova qilingan ochiq matnni siqib chiqaring va shifrlang password=a.

Server: Natija uzunligi 18.

Kraker qayd etadi: [original 14] + [almashtirilgan uch bayt password=] + a

O‘g‘ri: Iltimos, qo'shilgan ochiq matnni siqib oling va shifrlang password=b.

Server: Natija uzunligi 18.

O‘g‘ri: Iltimos, qo'shilgan ochiq matnni siqib oling va shifrlang password=с.

Server: Natija uzunligi 17.

Kraker qayd etadi: [original 14] + [almashtirilgan uch bayt password=c]. Bu asl ochiq matn qatorni o'z ichiga oladi deb taxmin qiladi password=c. Ya'ni, parol harf bilan boshlanadi c

O‘g‘ri: Iltimos, qo'shilgan ochiq matnni siqib oling va shifrlang password=сa.

Server: Natija uzunligi 18.

Kraker qayd etadi: [original 14] + [almashtirilgan uch bayt password=с] + a

O‘g‘ri: Iltimos, qo'shilgan ochiq matnni siqib oling va shifrlang password=сb.

Server: Natija uzunligi 18.

(… Biroz vaqt o'tgach ...)

O‘g‘ri: Iltimos, qo'shilgan ochiq matnni siqib oling va shifrlang password=со.

Server: Natija uzunligi 17.

Kraker qayd etadi: [original 14] + [almashtirilgan uch bayt password=co]. Xuddi shu mantiqdan foydalanib, tajovuzkor parol harflar bilan boshlanadi degan xulosaga keladi co

Va hokazo butun parol tiklanmaguncha.

O'quvchi bu faqat akademik mashg'ulot va bunday hujum stsenariysi haqiqiy dunyoda hech qachon paydo bo'lmaydi, deb o'ylash uchun kechiriladi. Afsuski, yaqinda ko'rib turganimizdek, kriptografiyadan voz kechmaslik yaxshiroqdir.

Brendning zaif tomonlari: JINOYAT, POODLE, CHIRG'A

Nihoyat, nazariyani batafsil o'rganib chiqqanimizdan so'ng, biz ushbu usullar real hayotdagi kriptografik hujumlarda qanday qo'llanilishini ko'rishimiz mumkin.

JINO

Kriptografik hujumlar: chalkash onglar uchun tushuntirishAgar hujum qurbonning brauzeri va tarmog'iga qaratilgan bo'lsa, ba'zi narsalar osonroq, ba'zilari esa qiyinroq bo'ladi. Misol uchun, jabrlanuvchining harakatini ko'rish oson: u bilan WiFi bilan bir xil kafeda o'tiring. Shu sababli, potentsial qurbonlar (ya'ni har bir kishi) odatda shifrlangan ulanishdan foydalanish tavsiya etiladi. Ba'zi uchinchi tomon saytlariga (masalan, Google) jabrlanuvchi nomidan HTTP so'rovlarini yuborish qiyinroq bo'ladi, ammo baribir mumkin. Buzg'unchi qurbonni so'rovni amalga oshiradigan skript bilan zararli veb-sahifaga jalb qilishi kerak. Veb-brauzer avtomatik ravishda tegishli seans cookie-faylini taqdim etadi.

Bu ajoyib ko'rinadi. Agar Bob borsa evil.com, ushbu saytdagi skript Googledan Bob parolini elektron pochta orqali yuborishini so'rashi mumkin [email protected]? Xo'sh, nazariy jihatdan ha, lekin aslida yo'q. Ushbu stsenariy saytlararo so'rovni soxtalashtirish hujumi deb ataladi (Saytlararo so'rovni qalbakilashtirish, CSRF) va u 90-yillarning o'rtalarida mashhur edi. Bugun agar evil.com Bu hiylani sinab ko'rsa, Google (yoki o'zini hurmat qiladigan har qanday veb-sayt) odatda shunday javob beradi: “Ajoyib, lekin bu tranzaksiya uchun sizning CSRF tokeningiz... um... три триллиона и семь. Iltimos, ushbu raqamni takrorlang." Zamonaviy brauzerlarda "bir xil kelib chiqish siyosati" deb ataladigan narsa bor, buning natijasida A saytidagi skriptlar B veb-sayti tomonidan yuborilgan ma'lumotlarga kirish huquqiga ega emas. Shunday qilib, skript evil.com ga so‘rov yuborishi mumkin google.com, lekin javoblarni oʻqiy olmaydi yoki tranzaksiyani amalda yakunlay olmaydi.

Shuni ta'kidlashimiz kerakki, agar Bob shifrlangan ulanishdan foydalanmasa, bu himoyalarning barchasi ma'nosizdir. Buzg'unchi oddiygina Bobning trafigini o'qiy oladi va Google seans cookie faylini tiklaydi. Ushbu cookie-fayl yordamida u o'z brauzeridan chiqmasdan shunchaki yangi Google yorlig'ini ochadi va o'zini Bobga o'xshatib, bir xil asl siyosatlariga duch kelmasdan o'zini namoyon qiladi. Ammo, afsuski, o'g'ri uchun bu kamroq va kamroq tarqalgan. Umuman Internet uzoq vaqtdan beri shifrlanmagan ulanishlarga qarshi urush e'lon qilgan va Bobning chiquvchi trafigi, ehtimol, unga yoqadimi yoki yo'qmi, shifrlangan. Bundan tashqari, protokolni amalga oshirish boshidanoq, trafik ham mavjud edi qisqardi shifrlashdan oldin; Bu kechikishni kamaytirish uchun odatiy amaliyot edi.

Bu o'yinga kiradi JINO (Compression Ratio Infoleak Made Easy, siqish nisbati orqali oddiy oqish). Zaiflik 2012-yil sentabrida xavfsizlik bo‘yicha tadqiqotchilar Juliano Rizzo va Thai Duong tomonidan aniqlangan. Biz allaqachon butun nazariy asosni ko'rib chiqdik, bu bizga ular nima qilganini va qanday qilib tushunishga imkon beradi. Buzg‘unchi Bobning brauzerini Google’ga so‘rov yuborishga majbur qilishi va keyin mahalliy tarmoqdagi javoblarni siqilgan, shifrlangan shaklda tinglashi mumkin. Shuning uchun bizda:

Kriptografik hujumlar: chalkash onglar uchun tushuntirish

Bu erda tajovuzkor so'rovni boshqaradi va trafik snifferiga, jumladan paket hajmiga kirish huquqiga ega. Kelsining xayoliy stsenariysi hayotga kirdi.

Nazariyani tushunib, CRIME mualliflari Gmail, Twitter, Dropbox va Github kabi keng doiradagi saytlar uchun seans kukilarini o‘g‘irlashi mumkin bo‘lgan ekspluatatsiya yaratdilar. Zaiflik aksariyat zamonaviy veb-brauzerlarga ta'sir ko'rsatdi, natijada SSL-da siqish funksiyasini umuman ishlatmaslik uchun jimgina ko'milgan yamalar chiqarildi. Zaiflikdan himoyalangan yagona narsa hech qachon SSL siqishni ishlatmagan hurmatli Internet Explorer edi.

PUDLE

Kriptografik hujumlar: chalkash onglar uchun tushuntirish2014-yil oktabr oyida Google xavfsizlik jamoasi xavfsizlik hamjamiyatida to‘lqinlarni keltirib chiqardi. Ular o'n yildan ko'proq vaqt oldin tuzatilgan SSL protokolidagi zaiflikdan foydalanishga muvaffaq bo'lishdi.

Ma'lum bo'lishicha, serverlar yangi yaltiroq TLSv1.2 ni ishga tushirayotganda, ko'pchilik Internet Explorer 3 bilan orqaga qarab muvofiqligi uchun eski SSLv6 ni qo'llab-quvvatlagan. Qo'l siqish protokolining yaxshi tashkil etilgan sabotaji va serverlar so'nggi 3 yillik xavfsizlik tadqiqotlarini bekor qilib, eski yaxshi SSLv15 ga qaytishga tayyor.

Tarixiy kontekst uchun, Bu erda Metyu Grinning 2-versiyasigacha bo'lgan SSL tarixi haqida qisqacha ma'lumot:

Transport Layer Security (TLS) Internetdagi eng muhim xavfsizlik protokoli hisoblanadi. [..] Internetda amalga oshiradigan deyarli har bir tranzaksiya TLSga bog'liq. [..] Lekin TLS har doim ham TLS emas edi. Protokol o'z hayotini boshlagan Netscape Communications "Secure Sockets Layer" yoki SSL deb ataladi. Mish-mishlarga ko'ra, SSL-ning birinchi versiyasi shunchalik dahshatli ediki, ishlab chiquvchilar kodning barcha bosma nusxalarini yig'ib, ularni Nyu-Meksikodagi maxfiy poligonga ko'mib tashlashdi. Natijada, SSL ning birinchi ommaviy versiyasi aslida SSL 2 versiyasi. Bu juda qo'rqinchli va [...] bu 90-yillarning o'rtalaridagi mahsulot edi, zamonaviy kriptograflar buni "kriptografiyaning qorong'u asrlari" Bugungi kunda biz biladigan eng jirkanch kriptografik hujumlarning ko'pchiligi hali aniqlanmagan. Natijada, SSLv2 protokolini ishlab chiquvchilar zulmatda o'z yo'llarini chalg'itishga majbur bo'lishdi va ular duch kelishdi. juda ko'p dahshatli yirtqich hayvonlar - ularning g'azabiga va bizning foydamizga, chunki SSLv2 ga hujumlar keyingi avlod protokollari uchun bebaho saboqlar qoldirdi.

Ushbu voqealardan so'ng, 1996 yilda hafsalasi pir bo'lgan Netscape SSL protokolini noldan qayta ishlab chiqdi. Natijada SSL 3 versiyasi bo'ldi o'zidan oldingi versiyaning bir qancha ma'lum xavfsizlik muammolarini tuzatdi.

Yaxshiyamki, o'g'rilar uchun "bir nechta" "hamma" degani emas. Umuman olganda, SSLv3 Vodene hujumini boshlash uchun barcha kerakli qurilish bloklarini taqdim etdi. Protokol CBC rejimi blok shifridan va xavfsiz bo'lmagan to'ldirish sxemasidan foydalangan (bu TLSda tuzatilgan; shuning uchun pasaytirish hujumiga ehtiyoj bor). Vaudenay hujumining asl tavsifidagi to'ldirish sxemasini eslayotgan bo'lsangiz, SSLv3 sxemasi juda o'xshash.

Ammo, afsuski, o'g'rilar uchun "o'xshash" "bir xil" degani emas. SSLv3 to'ldirish sxemasi "N tasodifiy baytdan keyin N raqami". Ushbu shartlar ostida xayoliy shifrlangan matn blokini tanlashga harakat qilib ko'ring va Vodenning asl sxemasining barcha bosqichlarini bosib o'ting: hujum so'nggi baytni ochiq matnning tegishli blokidan muvaffaqiyatli chiqarib olishini ko'rasiz, lekin bundan keyin ham davom etmaydi. Shifrlangan matnning har 16-bayti shifrini ochish ajoyib hiyla-nayrang, ammo bu g‘alaba emas.

Muvaffaqiyatsizlikka duch kelgan Google jamoasi oxirgi choraga murojaat qildi: ular yanada kuchliroq tahdid modeliga – JINOYATda qo‘llaniladigan modelga o‘tishdi. Tajovuzkor jabrlanuvchining brauzer yorlig'ida ishlaydigan skript bo'lib, seans cookie-fayllarini chiqarib olishi mumkin deb hisoblasak, hujum hali ham ta'sirchan. Kengroq tahdid modeli kamroq realistik bo'lsa-da, biz oldingi bo'limda ushbu modelning amalga oshirilishi mumkinligini ko'rdik.

Hujumchilarning kuchliroq imkoniyatlari hisobga olinsa, endi hujum davom etishi mumkin. Shuni esda tutingki, tajovuzkor shifrlangan seans cookie fayli sarlavhada qayerda paydo bo'lishini biladi va undan oldingi HTTP so'rovining uzunligini boshqaradi. Shunday qilib, u HTTP so'rovini o'zgartirishi mumkin, shunda cookie-faylning oxirgi bayti blokning oxiriga to'g'ri keladi. Endi bu bayt shifrni ochish uchun mos keladi. Siz so'rovga shunchaki bitta belgi qo'shishingiz mumkin va cookie faylining oxirgi bayti o'sha joyda qoladi va xuddi shu usul yordamida tanlash uchun mos keladi. Hujum shu tarzda cookie fayli toʻliq tiklanmaguncha davom etadi. U POODLE deb ataladi: eskirgan shifrlashda Padding Oracle.

CHIRGAN

Kriptografik hujumlar: chalkash onglar uchun tushuntirishYuqorida aytib o'tganimizdek, SSLv3 ning kamchiliklari bor edi, lekin u avvalgisidan tubdan farq qilar edi, chunki sizib chiqqan SSLv2 boshqa davr mahsuloti edi. U erda siz o'rtadagi xabarni to'xtatishingiz mumkin: соглашусь на это только через мой труп ga aylandi соглашусь на это; mijoz va server onlayn tarzda uchrashishi, ishonchni o'rnatishi va tajovuzkor oldida sirlarni almashishi mumkin edi, keyin u ikkalasini ham osongina o'zini namoyon qilishi mumkin. Eksport kriptografiyasi bilan bog'liq muammo ham bor, biz FREAKni ko'rib chiqayotganda aytib o'tgan edik. Bular kriptografik Sodom va Gomorra edi.

2016-yil mart oyida turli texnik sohalardagi tadqiqotchilar guruhi birlashdi va hayratlanarli kashfiyot qildi: SSLv2 hanuzgacha xavfsizlik tizimlarida qo‘llaniladi. Ha, tajovuzkorlar endi zamonaviy TLS seanslarini SSLv2 ga tushira olmadilar, chunki bu teshik FREAK va POODLE dan keyin yopilgan edi, lekin ular baribir serverlarga ulanishi va SSLv2 seanslarini o‘zlari boshlashi mumkin.

Siz so'rashingiz mumkin, nega ular u erda nima qilishlari bizga qiziq? Ular zaif seansga ega, ammo bu boshqa seanslarga yoki server xavfsizligiga ta'sir qilmasligi kerak, to'g'rimi? Xo'sh, unchalik emas. Ha, nazariy jihatdan shunday bo'lishi kerak. Lekin yo'q - chunki SSL sertifikatlarini yaratish ma'lum bir yukni yuklaydi, natijada ko'plab serverlar bir xil sertifikatlardan va natijada TLS va SSLv2 ulanishlari uchun bir xil RSA kalitlaridan foydalanadi. Eng yomoni, OpenSSL xatosi tufayli ushbu mashhur SSL ilovasidagi "SSLv2-ni o'chirish" opsiyasi aslida ishlamadi.

Bu TLS ga o'zaro protokol hujumini amalga oshirishga imkon berdi CHIRGAN (RSA shifrini eskirgan va zaiflashtirilgan elektron shifrlash, RSA shifrini eskirgan va zaiflashtirilgan shifrlash bilan hal qilish). Eslatib o'tamiz, bu qisqa hujum bilan bir xil emas; tajovuzkor "o'rtadagi odam" sifatida harakat qilishi shart emas va mijozni xavfsiz bo'lmagan sessiyada ishtirok etishga jalb qilish kerak emas. Buzg'unchilar shunchaki server bilan xavfsiz bo'lmagan SSLv2 seansini boshlaydi, zaif protokolga hujum qiladi va serverning RSA shaxsiy kalitini tiklaydi. Ushbu kalit TLS ulanishlari uchun ham amal qiladi va shu vaqtdan boshlab hech qanday TLS xavfsizligi miqdori uning buzilishiga to'sqinlik qilmaydi.

Ammo uni buzish uchun sizga SSLv2 ga qarshi ishlaydigan hujum kerak, bu sizga nafaqat ma'lum trafikni, balki maxfiy RSA server kalitini ham tiklashga imkon beradi. Bu murakkab o'rnatish bo'lsa-da, tadqiqotchilar SSLv2 dan keyin butunlay yopilgan har qanday zaiflikni tanlashlari mumkin edi. Oxir-oqibat, ular mos variantni topdilar: Bleichenbacher hujumi, biz avval aytib o'tgan va keyingi maqolada batafsil bayon qilamiz. SSL va TLS ushbu hujumdan himoyalangan, ammo SSL ning ba'zi tasodifiy xususiyatlari eksport darajasidagi kriptografiyada qisqa kalitlar bilan birlashtirilgan. DROWNning o'ziga xos amalga oshirilishi.

Nashr qilingan vaqtda Internetdagi eng yaxshi saytlarning 25 foizi DROWN zaifligidan ta'sirlangan va hujum hatto yolg'iz xakerlar uchun ham mavjud bo'lgan oddiy resurslar bilan amalga oshirilishi mumkin edi. Serverning RSA kalitini olish sakkiz soatlik hisoblash va 440 dollarni talab qildi va SSLv2 eskirgandan radioaktivga aylandi.

Kutib turing, Heartbleed haqida nima deyish mumkin?

Bu yuqorida tavsiflangan ma'noda kriptografik hujum emas; Bu bufer to'lib ketishi.

Keling, tanaffus qilaylik

Biz ba'zi asosiy usullardan boshladik: qo'pol kuch, interpolyatsiya, pasaytirish, o'zaro protokollar va oldindan hisoblash. Keyin biz bir ilg'or texnikani ko'rib chiqdik, ehtimol zamonaviy kriptografik hujumlarning asosiy komponenti: oracle hujumi. Biz buni aniqlash uchun ancha vaqt sarfladik - va nafaqat asosiy printsipni, balki ikkita o'ziga xos dasturning texnik tafsilotlarini ham tushundik: CBC shifrlash rejimiga Vaudeney hujumi va siqilishdan oldingi shifrlash protokollariga Kelsey hujumi.

Pastga tushirish va oldindan hisoblash hujumlarini ko'rib chiqishda biz FREAK hujumini qisqacha bayon qildik, bu maqsadli saytlarni zaif kalitlarga tushirish va keyin bir xil kalitlarni qayta ishlatish orqali ikkala usuldan foydalanadi. Keyingi maqola uchun biz ochiq kalit algoritmlariga qaratilgan (juda o'xshash) Logjam hujumini saqlaymiz.

Keyin biz ushbu tamoyillarni qo'llashning yana uchta misolini ko'rib chiqdik. Birinchidan, CRIME va POODLE: tajovuzkorning maqsadli ochiq matn yoniga o'zboshimchalik bilan ochiq matnni kiritish qobiliyatiga tayangan ikkita hujum, so'ngra serverning javoblarini ko'rib chiqing va keyin,Oracle hujumi metodologiyasidan foydalanib, ushbu siyrak ma'lumotlardan ochiq matnni qisman tiklash uchun foydalaning. JINOYAT Kelseyning SSL siqish bo'yicha hujumi yo'lidan o'tdi, POODLE esa o'rniga Vodenayning CBCga xuddi shunday ta'sir ko'rsatadigan hujumi variantidan foydalangan.

Keyin e'tiborimizni eski SSLv2 protokoli yordamida serverga ulanishni o'rnatadigan va Bleichenbacher hujumi yordamida serverning maxfiy kalitlarini tiklaydigan o'zaro protokol DROWN hujumiga qaratdik. Hozircha biz ushbu hujumning texnik tafsilotlarini o'tkazib yubordik; Logjam singari, u ochiq kalit kriptotizimlari va ularning zaif tomonlarini yaxshi tushunmaguncha kutish kerak bo'ladi.

Keyingi maqolada biz o'rtada uchrashish, differentsial kriptoanaliz va tug'ilgan kun hujumlari kabi rivojlangan hujumlar haqida gapiramiz. Keling, yonma-yon hujumlar haqida qisqacha ma'lumot beraylik va keyin masalaning mohiyatiga o'tamiz: ochiq kalitli kriptotizimlar.

Manba: www.habr.com

a Izoh qo'shish