Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Пры слове «крыптаграфія» некаторыя ўспамінаюць свой пароль WiFi, зялёны замочак побач з адрасам каханага сайта і тое, як цяжка залезці ў чужую пошту. Іншыя ўспамінаюць чараду ўразлівасцяў апошніх гадоў з размаўлялымі абрэвіятурамі (DROWN, FREAK, POODLE…), стыльнымі лагатыпамі і папярэджаннем тэрмінова абнавіць браўзэр.

Крыптаграфія ахоплівае ўсё гэта, але сутнасць у іншым. Сутнасць у тонкай грані паміж простым і складаным. Некаторыя рэчы проста зрабіць, але складана вярнуць назад: напрыклад, разбіць яйка. Іншыя рэчы лёгка зрабіць, але цяжка вярнуць зваротна, калі адсутнічае маленькая важная вырашальная частка: напрыклад, адкрыць зачыненыя дзверы, калі «вырашальная частка» з'яўляецца ключом. Крыптаграфія вывучае гэтыя сітуацыі і спосабы іх практычнага выкарыстання.

За апошнія гады калекцыя крыптаграфічных нападаў ператварылася ў заапарк крыклівых лагатыпаў, набітых формуламі навуковых артыкулаў і спарадзіла агульнае змрочнае адчуванне, што ўсё зламана. Але насамрэч шматлікія з нападаў заснаваныя на некалькіх агульных прынцыпах, а бясконцыя старонкі формул часта зводзяцца да простых для разумення ідэям.

У гэтай серыі артыкулаў мы разгледзім розныя тыпы крыптаграфічных нападаў, з акцэнтам на асноўныя прынцыпы. У агульных рысах і не зусім у гэтым парадку, але мы раскажам наступнае:

  • Базавыя стратэгіі: брутфорс, частотны аналіз, інтэрпаляцыя, паніжэнне і крос-пратаколы.
  • Брэндавыя уразлівасці: FREAK, CRIME, POODLE, DROWN, Logjam.
  • Прасунутыя стратэгіі: атакі аракула (атака Вадэнэ, атака Келсі); метад сустрэчы пасярэдзіне (meet-in-the-middle), атака «дняў нараджэння», статыстычнае зрушэнне (дыферэнцыяльны крыптааналіз, інтэгральны крыптааналіз і т. Д.).
  • Напады па іншых каналах і іх блізкія сваякі, метады аналізу збояў.
  • Напады на крыптаграфію з адчыненым ключом: кубічны корань, браадкаст, звязанае паведамленне, атака Коперсміта, алгарытм Паліга - Хеллмана, лікавае рэшата, атака Вінера, атака Блайхенбахера.

Гэты канкрэтны артыкул ахоплівае вышэйзгаданы матэрыял аж да атакі Келсі.

Базавыя стратэгіі

Наступныя напады простыя ў тым сэнсе, што іх можна практычна цалкам растлумачыць без адмысловых тэхнічных дэталяў. Растлумачым кожны тып нападу ў самых простых тэрмінах, не паглыбляючыся ў складаныя прыклады ці пашыраныя варыянты выкарыстання.

Некаторыя з гэтых нападаў у асноўным страцілі актуальнасць і не прымяняліся ўжо шмат гадоў. Іншыя – старажылы, яны ўсё яшчэ рэгулярна падкрадваюцца да нічога не падазравалым распрацоўнікам крыптасістэм у 21 стагоддзі. Можна лічыць, што эпоха сучаснай крыптаграфіі пачалася са з'яўлення IBM DES – першага шыфра, які вытрымаў усе напады ў гэтым спісе.

Просты брутфорс

Крыптаграфічныя напады: тлумачэнне для змененых розумаўСхема шыфравання складаецца з двух частак: 1) функцыя шыфравання, якая прымае паведамленне (адкрыты тэкст) у спалучэнні з ключом, а затым стварае зашыфраванае паведамленне - шыфратэкст; 2) функцыя дэшыфравання, якая прымае шыфратэкст і ключ і стварае адкрыты тэкст. І шыфраванне, і дэшыфраванне павінны быць лёгка вылічаныя з ключом - і цяжка без яго.

Выкажам здагадку, што мы бачым шыфратэкст і спрабуем расшыфраваць яго без якой-небудзь дадатковай інфармацыі (гэта завецца нападам «толькі шыфратэкст»). Калі мы нейкай чароўнай выявай знойдзем правільны ключ, то можам лёгка праверыць, што ён сапраўды правільны, калі вынік з'яўляецца разумным паведамленнем.

Звярніце ўвагу, што тут дзве няяўныя здагадкі. Па-першае, што мы ведаем, як выканаць расшыфроўку, гэта значыць, як працуе крыптасістэма. Гэта стандартная здагадка пры абмеркаванні крыптаграфіі. Утойванне дэталяў рэалізацыі шыфра ад зламыснікаў можа здацца дадатковай мерай бяспекі, але як толькі зламыснік высветліць гэтыя дэталі, дадзеная дадатковая бяспека неўзаметку і незваротна страчана. Такі прынцып Керчхоффса: трапленне сістэмы ў рукі ворага не павінна прычыняць нязручнасцяў.

Па-другое, мы мяркуем, што правільны ключ з'яўляецца адзіным ключом, які прывядзе да разумнай расшыфроўкі. Гэта таксама разумнае меркаванне; яно выконваецца, калі шыфратэкст нашмат даўжэй ключа і добра чытэльны. Як правіла, так і бывае ў рэальным свеце, за выключэннем вялізных непрактычных ключоў або іншых махінацый, якія лепш пакінуць у баку (калі вам не падабаецца, што мы адмахнуліся ад тлумачэнняў, калі ласка, гл. тэарэму 3.8 тут).

Улічваючы вышэйпададзенае, узнікае стратэгія: праверыць кожны магчымы ключ. Гэта называецца брутфорсам, і такі напад гарантавана працуе супраць усіх практычных шыфраў – у канчатковым выніку. Напрыклад, брутфорса дастаткова, каб узламаць шыфр Цэзара, старажытны шыфр, дзе ключом з'яўляецца адна літара з алфавіту, што мае на ўвазе крыху больш за 20 магчымых ключоў.

На жаль для крыптааналітыкаў, павелічэнне памеру ключа добра абараняе ад брутфорса. Па меры росту памеру ключа колькасць магчымых ключоў павялічваецца экспанентна. З сучаснымі памерамі ключоў просты брутфорс зусім не практычны. Каб зразумець, што мы маем на ўвазе, возьмем самы хуткі вядомы суперкампутар на сярэдзіну 2019 года: Саміт ад IBM, з пікавай прадукцыйнасцю каля 1017 аперацый у секунду. Сёння тыповая даўжыня ключа складае 128 біт, што азначае 2128 магчымых камбінацый. Для перабору ўсіх ключоў суперкампутару Summit запатрабуецца час, якое прыкладна ў 7800 разоў перавышае ўзрост Сусвету.

Ці лічыць брутфорс гістарычным кур'ёзам? Зусім няма: гэта неабходны інгрэдыент у паваранай кнізе крыптааналізу. Рэдка сустракаюцца настолькі слабыя шыфры, што іх можна ўзламаць толькі разумным нападам, без ужывання сілы ў той ці іншай ступені. Многія паспяховыя ўзломы выкарыстоўваюць спачатку алгарытмічны метад, каб аслабіць мэтавай шыфр, а затым запусціць брутфорс.

Частотны аналіз

Крыптаграфічныя напады: тлумачэнне для змененых розумаўБольшасць тэкстаў - гэта не тарабаршчына. Напрыклад, у англамоўных тэкстах шмат літар 'e' і артыкляў 'the'; у двайковых файлах - шмат нулявых байтаў у якасці запаўняльніка паміж фрагментамі інфармацыі. Частотны аналіз - любая атака, якая выкарыстоўвае гэты факт.

Кананічным прыкладам шыфра, уразлівага для гэтага нападу, з'яўляецца просты шыфр падстаноўкі. У гэтым шыфрэ ключ уяўляе сабой табліцу з заменай усіх літар. Напрыклад, 'g' замяняецца на 'h', 'o' - на j, Таму слова 'go' ператвараецца ў 'hj'. Гэты шыфр цяжка паддаецца простаму брутфорсу, бо існуе вельмі шмат магчымых табліц падстаноўкі. Калі вас цікавіць матэматыка, эфектыўная даўжыня ключа складае каля 88 біт: гэта
Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Але частотны аналіз звычайна хутка спраўляецца з задачай.

Разгледзім наступны шыфратэкст, апрацаваны простым шыфрам падстаноўкі:

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

Паколькі Y сустракаецца часта, у тым ліку ў канцы многіх слоў, мы можам папярэдне выказаць здагадку, што гэта літара e:

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

Пара XD паўтараецца ў пачатку некалькіх слоў. У прыватнасці, спалучэнне XDeLe відавочна мяркуе слова these або there, таму працягваем:

theLe ALe UGLe thWNKE WN heAJeN ANF eALth DGLAtWG thAN ALe FLeAUt GR WN OGQL ZDWBGEGZDO

Далей выкажам здагадку, што L адпавядае r, A - a і гэтак далей. Верагодна, давядзецца зрабіць некалькі спроб, але ў параўнанні з поўным брутфорсам гэты напад аднаўляе зыходны тэкст у самыя кароткія тэрміны:

There are more things in neaven and earth horatio than are dreamt of in your philosophy

Для некаторых рашэнне такіх «крыптаграм» – займальнае хобі.

Ідэя частотнага аналізу больш фундаментальная, чым падаецца на першы погляд. І ён ужыты да значна больш складаных шыфраў. На працягу ўсёй гісторыі розныя канструкцыі шыфраў спрабавалі супрацьстаяць такому нападу з дапамогай «поліалфавітнай падстаноўкі». Тут падчас шыфраванні табліца замены літар змяняецца складанымі, але прадказальнымі спосабамі, якія залежаць ад ключа. Усе гэтыя шыфры ў свой час лічыліся цяжкімі для ўзлому; і ўсё ж сціплы частотны аналіз у выніку ўсё іх адолеў.

Самым амбіцыйным поліалфавітным шыфрам у гісторыі і, мусіць, самым вядомым, быў шыфр "Энігмы" у Другой сусветнай вайне. Ён быў адносна складаным у параўнанні з папярэднікамі, але ў выніку доўгай і ўпартай працы брытанскія крыптааналітыкі ўзламалі яго з дапамогай частотнага аналізу. Вядома, яны не змаглі распрацаваць элегантную атаку, як паказаная вышэй; ім прыйшлося параўноўваць вядомыя пары адчыненых і зашыфраваных тэкстаў (так званая «атака на аснове адчыненых тэкстаў») і нават правакуючы карыстачоў «Энігмы» на шыфраванне вызначаных паведамленняў з аналізам выніку («атака на аснове падабранага адчыненага тэксту»). Але гэта не аблегчыла лёс пераможаных войскаў ворагаў і пацепленых падводных лодак.

Пасля гэтага трыўмфу частотны аналіз знік з гісторыі крыптааналізу. Шыфры сучаснай лічбавай эпохі створаны для працы з бітамі, а не літарамі. Што яшчэ важнейшае, гэтыя шыфры распрацаваны з змрочным разуменнем таго, што пазней стала вядома як закон Шнайера: любы можа стварыць алгарытм шыфравання, які сам не зможа ўзламаць. Недастаткова, каб шыфравальная сістэма здавалася складанай: каб даказаць сваю каштоўнасць, яна павінна прайсці бязлітасны агляд бяспекі ад шматлікіх крыптааналітыкаў, якія зробяць усё магчымае, каб узламаць шыфр.

Папярэднія вылічэнні

Крыптаграфічныя напады: тлумачэнне для змененых розумаўВозьмем гіпатэтычны горад Прэкам Хайтс з насельніцтвам 200 000 чалавек. У кожным доме горада знаходзяцца каштоўныя рэчы ў сярэднім на $30 000, але не больш, чым на $50 000. Рынак бяспекі ў Прэкаме манапалізавала кампанія ACME Industries, якая вырабляе легендарныя дзвярныя замкі класа Coyote™. Паводле экспертнага аналізу, замак класа Coyote здольная зламаць толькі вельмі складаная гіпатэтычная машына, стварэнне якой патрабуе каля пяці гадоў і $50 000 укладанняў. Горад у бяспецы?

Хутчэй за ўсё, не. У рэшце рэшт, з'явіцца дастаткова амбіцыйны злачынец. Ён будзе разважаць так: «Так, я панясу вялікія авансавыя выдаткі. Пяць гадоў цярплівага чакання, і $50 000. Але па заканчэнні працы ў мяне будзе доступ да усяму багаццю гэтага горада. Калі я правільна разыграю свае карты, то гэтая інвестыцыя шматкроць акупіцца».

Аналагічна і ў крыптаграфіі. Напады супраць пэўнага шыфра падвяргаюцца бязлітаснаму аналізу выдаткаў і выгод. Калі суадносіны спрыяльнае, атака не адбудзецца. Але напады, якія дзейнічаюць адразу супраць шматлікіх патэнцыйных ахвяр, амаль заўсёды акупляюцца, і ў гэтым выпадку лепшая практыка праектавання – выказаць здагадку, што яны пачаліся з першага дня. У нас ёсць па сутнасці крыптаграфічная версія закона Мерфі: "Усё, што рэальна можа зламаць сістэму, зламае сістэму".

Найпросты прыклад крыптасістэмы, уразлівай да нападу з папярэднімі вылічэннямі, - шыфр з сталым алгарытмам без выкарыстання ключа. Так было ў выпадку з шыфрам Цэзара, які проста зрушвае кожную літару алфавіту на тры літары наперад (табліца закальцавана, таму апошняя літара ў алфавіце шыфруецца трэцяй). Тут зноў выяўляецца прынцып Керчхоффса: як толькі сістэма ўзламана, яна ўзламана назаўжды.

Канцэпцыя простая. Нават пачатковец распрацоўнік крыптасістэм, хутчэй за ўсё, усведамляе пагрозу і якая адпавядае выявай падрыхтуецца. Калі паглядзець на эвалюцыю крыптаграфіі, такія напады былі недарэчныя для большасці шыфраў, пачынальна з першых палепшаных версій шыфра Цэзара, аж да заняпаду полиалфавитных шыфраў. Такія напады вярнуліся толькі з надыходам сучаснай эры крыптаграфіі.

Гэтае вяртанне выклікана двума фактарамі. Па-першае, нарэшце, з'явіліся дастаткова складаныя крыптасістэмы, дзе магчымасць эксплуатацыі пасля ўзлому не была відавочнай. Па-другое, крыптаграфія атрымала такое шырокае распаўсюджванне, што мільёны непрафесіяналаў кожны дзень прымалі рашэнні, дзе і якія часткі крыптаграфіі выкарыстоўваць паўторна. Прайшоў некаторы час, перш чым эксперты ўсвядомілі ўзніклі рызыкі і паднялі трывогу.

Запомніце атаку з прадвылічэннямі: у канцы артыкула мы разгледзім два крыптаграфічныя прыклады з рэальнага жыцця, дзе яна адыграла важную ролю.

інтэрпаляцыя

Перад вамі знакаміты дэтэктыў Шэрлак Холмс, які выконвае атаку з інтэрпаляцыяй на няўдачлівага доктара Ватсана:

Я адразу здагадаўся, што вы прыехалі з Аўганістана... Ход маіх думак быў такі: «Гэты чалавек па тыпе - лекар, але выпраўка ў яго ваенная. Значыць, ваенны ўрач. Ён толькі што прыехаў з тропікаў - твар у яго смуглы, але гэта не прыроднае адценне яго скуры, так як запясці ў яго значна бялей. Твар змардаваны, - відавочна, нямала нацярпеўся і перанёс хваробу. Быў паранены ў левую руку - трымае яе нерухома і крышку ненатуральна. Дзе ж пад тропікамі ваенны ўрач-ангелец мог нацярпецца нягод і атрымаць рану? Вядома ж, у Аўганістане». Увесь ход думак не заняў і секунды. І вось я сказаў, што вы прыехалі з Аўганістана, а вы здзівіліся.

З кожнага доказу па асобнасці Холмс мог атрымаць вельмі мала інфармацыі. Ён мог прыйсці да свайго зняволення толькі разгледзеўшы іх усё разам. Аналагічна працуе атака з інтэрпаляцыяй, даследуючы вядомыя пары адкрытага і зашыфраванага тэкстаў, атрыманыя ў выніку прымянення аднаго і таго ж ключа. З кожнай пары здабываюцца асобныя назіранні, якія дазваляюць зрабіць агульную выснову аб ключы. Усе гэтыя высновы расплывістыя і здаюцца бескарыснымі, пакуль раптам не дасягнуць крытычнай масы і не прывядуць да адзінай магчымай высновы: якім бы неверагодным ён ні быў, ён павінен быць праўдзівым. Пасля гэтага ці расчыняецца ключ, ці працэс расшыфроўкі становіцца настолькі адпрацаваным, што яго можна тыражаваць.

Праілюструем на простым прыкладзе, як працуе інтэрпаляцыя. Дапусцім, што мы хочам прачытаць асабісты дзённік нашага ворага, Боба. Ён шыфруе кожны лік у сваім дзённіку з дапамогай простай крыптасістэмы, пра якую даведаўся з рэкламнай аб'явы ў часопісе «Насмешка над крыптаграфіяй». Сістэма працуе наступным чынам: Боб выбірае два лікі, якія яму падабаюцца: Крыптаграфічныя напады: тлумачэнне для змененых розумаў и Крыптаграфічныя напады: тлумачэнне для змененых розумаў. З гэтага моманту, каб зашыфраваць любы лік Крыптаграфічныя напады: тлумачэнне для змененых розумаў, ён вылічае Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Напрыклад, калі Боб абраў Крыптаграфічныя напады: тлумачэнне для змененых розумаў и Крыптаграфічныя напады: тлумачэнне для змененых розумаў, то лічба Крыптаграфічныя напады: тлумачэнне для змененых розумаў зашыфруецца як Крыптаграфічныя напады: тлумачэнне для змененых розумаў.

Дапусцім, 28 снежня мы заўважылі, што Боб нешта драпае ў сваім дзённіку. Калі ён скончыць, мы неўзаметку возьмем яго і паглядзім апошні запіс:

дата: 235/520

Дарагі дзённік,

Сёння быў добры дзень. Праз 64 дня ў мяне спатканне з Алісай, якая жыве ў кватэры 843. Я сапраўды думаю, што яна можа быць 26!

Паколькі мы вельмі сур'ёзна маем намер прасачыць за Бобам на яго спатканні (у гэтым сцэнары нам па 15 гадоў), то крытычна важна пазнаць дату, а таксама адрас Алісы. На шчасце, мы заўважаем, што крыптасістэма Боба ўразлівая для нападу інтэрпаляцыі. Мы можам і не ведаць Крыптаграфічныя напады: тлумачэнне для змененых розумаў и Крыптаграфічныя напады: тлумачэнне для змененых розумаў, але мы ведаем сённяшнюю дату, таму ў нас ёсць дзве пары «адкрыты тэкст - шыфратэкст». У прыватнасці, мы ведаем, што Крыптаграфічныя напады: тлумачэнне для змененых розумаў шыфруецца ў Крыптаграфічныя напады: тлумачэнне для змененых розумаў, А Крыптаграфічныя напады: тлумачэнне для змененых розумаў - у Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Што і запішам:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Паколькі нам 15 гадоў, мы ўжо ведаем пра сістэму двух ураўненняў з двума невядомымі, чаго ў дадзенай сітуацыі дастаткова для знаходжання Крыптаграфічныя напады: тлумачэнне для змененых розумаў и Крыптаграфічныя напады: тлумачэнне для змененых розумаў без асаблівых праблем. Кожная пара "адкрыты тэкст-шыфратэкст" накладвае абмежаванне на ключ Боба, і двух абмежаванняў разам дастаткова, каб цалкам аднавіць ключ. У нашым прыкладзе адказ Крыптаграфічныя напады: тлумачэнне для змененых розумаў и Крыптаграфічныя напады: тлумачэнне для змененых розумаў (пры Крыптаграфічныя напады: тлумачэнне для змененых розумаў Крыптаграфічныя напады: тлумачэнне для змененых розумаў, так што 26 у дзённіку адпавядае слову 'the one', гэта значыць "тая самая" - заўв. зав.).

Інтэрпаляцыйныя напады, вядома, не абмяжоўваюцца такімі простымі прыкладамі. Кожная крыптасістэма, якая зводзіцца да добра зразумелага матэматычнага аб'екта і спісу параметраў, падвяргаецца рызыцы інтэрпаляцыйнай атакі - чым больш зразумелы аб'ект, тым вышэй рызыка.

Навічкі часта скардзяцца, што крыптаграфія – гэта «мастацтва праектавання як мага больш выродлівых рэчаў». Верагодна, шмат у чым вінаватыя напады інтэрпаляцыі. Боб можа або выкарыстоўваць элегантны матэматычны дызайн, або захаваць канфідэнцыйнасць спаткання з Алісай - але нажаль, звычайна нельга атрымаць і тое, і іншае. Гэта стане ясна, калі мы ў рэшце рэшт пяройдзем да тэмы крыптаграфіі з адкрытым ключом.

Крос-пратакол/паніжэнне

Крыптаграфічныя напады: тлумачэнне для змененых розумаўУ фільме «Ілюзія падману» (2013) група ілюзіяністаў спрабуе падманам выбавіць увесь стан карумпаванага страхавога магната Артура Трэслера. Каб атрымаць доступ да банкаўскага рахунку Артура, ілюзіяністы павінны альбо прадставіць яго імя карыстальніка і пароль, альбо прымусіць яго асабіста з'явіцца ў банку і прыняць удзел у схеме.

Абодва варыянты вельмі цяжкія; хлопцы прывыклі выступаць на сцэне, а не ўдзельнічаць у аперацыях спецслужбаў. Таму яны выбіраюць трэці магчымы варыянт: іх саўдзельнік тэлефануе ў банк і выдае сябе за Артура. Банк задае некалькі пытанняў для праверкі асобы, такіх як імя дзядзькі і імя першага гадаванца; нашы героі загадзя лёгка вывуджваюць у Артура гэтую інфармацыю з дапамогай спрытнай сацыяльнай інжынерыі. З гэтага моманту выдатная бяспека пароля больш не мае значэння.

(Згодна з гарадской легендай, якую мы асабіста праверылі і пацвердзілі, крыптограф Элі Біхэм аднойчы сутыкнуўся з касірам банка, які настойваў на ўстаноўцы сакрэтнага пытання. Калі касір спытаў імя бабулі па матчынай лініі, Біхэм пачаў дыктаваць: «Загалоўная X, маленькая y, тры… »).

Гэтак жа і ў крыптаграфіі, калі для абароны аднаго і таго ж актыву паралельна выкарыстоўваюцца два крыптаграфічныя пратаколы, пры гэтым адзін нашмат слабейшы ​​за другі. Выніковая сістэма становіцца ўразлівай для крос-пратакольнай атакі, калі атакуецца больш слабы пратакол, каб дабрацца да прыза, не чапаючы мацнейшы.

У некаторых складаных выпадках недастаткова проста звязацца з серверам па слабейшым пратаколе, а патрабуецца мімавольнае ўдзелы легітымнага кліента. Гэта можна арганізаваць з дапамогай так званага нападу на паніжэнне (downgrade). Для разумення гэтага нападу выкажам здагадку, што ў нашых ілюзіяністаў больш складаная задача, чым у фільме. Выкажам здагадку, што ў супрацоўніка банка (касір) і Артура ўзніклі нейкія непрадбачаныя абставіны, у выніку чаго адбыўся такі дыялог:

Узломшчык: Алё? Гэта Артур Трэслер. Я хацеў бы аднавіць свой пароль.

Касір: Выдатна. Калі ласка, зірніце ў сваю персанальную кнігу сакрэтных кодаў, старонка 28, слова 3. Усе наступныя паведамленні будуць зашыфраваны з дапамогай гэтага канкрэтнага слова ў якасці ключа. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Узломшчык: Гэй-эй, пачакай, пачакай. Гэта сапраўды неабходна? Мы не можам проста казаць як нармальныя людзі?

Касір: Не раю гэтага рабіць.

Узломшчык: Я проста… слухай, у мяне быў паршывы дзень, зразумела? Я VIP-кліент і не ў настроі капацца ў гэтых дурных кодавых кнігах.

Касір: Добра. Калі вы настойваеце, містэр Трэслер. Што вам заўгодна?

Узломшчык: Калі ласка, я хацеў бы перадаць усе свае грошы ў Нацыянальны фонд ахвяр Артура Трэслера.

(Паўза).

Касір: Так, зразумела. Калі ласка, укажыце свой пін-код для буйных транзакцый.

Узломшчык: Мой што?

Касір: Па вашай асабістай просьбе транзакцыі такога памеру патрабуюць уводу пін-кода для буйных транзакцый. Гэты код выдалі вам пры адкрыцці рахунку.

Узломшчык:… Я яго страціў. Гэта сапраўды неабходна? Хіба вы не можаце проста ўхваліць здзелку?

Касір: Не. Прашу прабачэння, містэр Трэслер. Ізноў жа, гэта мера бяспекі, якую вы прасілі. Калі хочаце, можам выслаць новы пін-код на паштовую скрыню.

Нашы героі адкладаюць аперацыю. Яны праслухоўваюць некалькі буйных транзакцый Трэслера, спадзеючыся пачуць пін-код; але кожны раз размова ператвараецца ў зашыфраваную тарабаршчыну, перш чым там гучыць нешта цікавае. Нарэшце, у адзін цудоўны дзень прыводзяць план у дзеянне. Яны цярпліва чакаюць моманту, калі Трэслер павінен здзейсніць буйную транзакцыю па тэлефоне, ён падключаецца да лініі, а затым…

Трэслер: Добры дзень. Я хацеў бы аформіць выдаленую транзакцыю, калі ласка.

Касір: Выдатна. Калі ласка, зірніце ў сваю персанальную кнігу сакрэтных кодаў, старонка…

(Узломшчык націскае на кнопку; голас касіра ператвараецца ў неразборлівы шум).

Касір: — #@$#@$#*@$$@#* будзе зашыфраваны з гэтым словам у якасці ключа. AAAYRR PLRQRZ MMNJK LOJBAN…

Трэслер: Прабачце, я не зусім зразумеў. Яшчэ раз? На якой старонцы? Якое слова?

Касір: Гэта старонка @#$@#*$)#*#@()#@$(#@*$(#@*).

Трэслер: Што?

Касір: Слова нумар дваццаць @$#@$#%#$.

Трэслер: Сур'ёзна! Ды хопіць ужо! Вы са сваім пратаколам бяспекі - гэта нейкі цырк. Я ведаю, што ты можаш проста нармальна паразмаўляць са мной.

Касір: Я не раю…

Трэслер: А я табе не раю марна марнаваць мой час. Не хачу больш чуць пра гэта, пакуль не выправіце праблемы са сваёй тэлефоннай лініяй. Можам мы аформіць гэтую здзелку ці не?

Касір:… так. Добра. Што вам заўгодна?

Трэслер: Я хацеў бы перавесці $20 000 у кампанію Lord Business Investments, нумар рахунку…

Касір: Хвілінку, калі ласка. Гэта вялікая здзелка. Калі ласка, укажыце свой пін-код для буйных транзакцый.

Трэслер: Што? А, сапраўды. 1234.

Вось атака на паніжэнне. Больш слабы пратакол "проста кажыце прама" меркаваўся як варыянт на крайні выпадак. І ўсё ж мы тут.

Вы можаце задаць пытанне, хто ў разумным розуме будзе праектаваць рэальную сістэму тыпу "бяспечна, пакуль не папытаць аб зваротным", якая апісана вышэй. Але гэтак жа, як выдуманы банк ідзе на рызыку, каб захаваць кліентаў, якія не любяць крыптаграфію, так і сістэмы ў цэлым часта схіляюцца да патрабаванняў, якія абыякавыя ці нават адкрыта варожыя да бяспекі.

Менавіта такая гісторыя адбылася з пратаколам SSLv2 у 1995 году. Урад ЗША даўно пачаў разглядаць крыптаграфію як зброю, якую лепш трымаць далей ад знешніх і ўнутраных ворагаў. Фрагменты кода па асобнасці ўхвалялі для экспарту з ЗША, часта пры ўмове наўмыснага паслаблення алгарытму. Кампаніі Netscape, распрацоўніку самага папулярнага браўзэра Netscape Navigator, далечы дазвол на SSLv2 толькі з першапачаткова ўразлівым ключом RSA 512 біт (і 40 біт для RC4).

Да канца тысячагоддзя правілы змякчылі і доступ да сучаснага шыфравання стаў шырока даступным. Тым не менш, кліенты і серверы на працягу многіх гадоў падтрымлівалі аслабленую "экспартную" крыптаграфію з-за той жа інэрцыі, з-за якой захоўваецца падтрымка любой састарэлай сістэмы. Кліенты лічылі, што могуць сустрэць сервер, які не падтрымлівае нічога іншага. Серверы рабілі тое ж самае. Вядома, пратакол SSL дыктуе, што кліенты і серверы ніколі не павінны выкарыстоўваць слабы пратакол, калі даступны найлепшы. Але тая ж перадумова дзейнічала для Трэслера і яго банка.

Гэтая тэорыя знайшла ўжыванне ў двух гучных нападах, якія адна за іншы ўзрушылі бяспеку пратаколу SSL у 2015 году, абедзве выяўленыя даследнікамі Microsoft і INRIA. Спачатку ў лютым абвясцілі дэталі нападу FREAK, а праз тры месяца – яшчэ адной падобнай атакі пад назвай Logjam, якую мы абмяркуем больш падрабязна, калі пяройдзем да нападаў на крыптаграфію з адчыненым ключом.

Крыптаграфічныя напады: тлумачэнне для змененых розумаўўразлівасць Гуляйце (таксама вядомая як "Smack TLS") выявілася, калі даследнікі прааналізавалі рэалізацыі кліента/сервера TLS і выявілі цікаўную памылку. У гэтых рэалізацыях, калі кліент нават не просіць выкарыстоўваць слабую экспартную крыптаграфію, але сервер усё роўна адказвае такімі ключамі – кліент кажа "Ну добра" і пераходзіць на слабы набор шыфраў.

У той час усе лічылі экспартную крыптаграфію састарэлай і забароненай для выкарыстання, таму атака стала сапраўдным шокам і закранула многія важныя дамены, у тым ліку сайты Белага дома, падатковага ўпраўлення ЗША і АНБ. Горш таго, аказалася, што многія ўразлівыя серверы аптымізавалі прадукцыйнасць, паўторна выкарыстоўваючы адны і тыя ж ключы, а не ствараючы новыя для кожнага сеансу. Гэта дазволіла пасля паніжэння пратакола правесці яшчэ і напад з прадвылічэннем: узлом аднаго ключа заставаўся адносна дарагім ($100 і 12 гадзін на момант публікацыі), але практычны кошт нападу на злучэнне значна знізілася. Дастаткова адзін раз падабраць серверны ключ - і ўзламаць шыфры для ўсіх наступных злучэнняў з гэтага моманту.

І перш чым рухацца далей, трэба згадаць адзін прасунуты напад…

Атака аракула

Крыптаграфічныя напады: тлумачэнне для змененых розумаўМоксы Марлінспайк найбольш вядомы як бацька крос-платформавага крыптамесэнджара Signal; але асабіста нам падабаецца адно з яго менш вядомых новаўвядзенняў прынцып крыптаграфічнай асуджанасці (Cryptographic Doom Principle). Злёгку перафразуючы, можна сказаць так: «Калі пратакол выконвае любую крыптаграфічную аперацыю над паведамленнем з патэнцыйна шкоднаснай крыніцы і паводзіць сябе па-рознаму ў залежнасці ад выніку, ён асуджаны». Або ў больш рэзкай форме: "Не бяры ў ворага інфармацыю на апрацоўку, а калі прыйшлося, то хаця б не паказвай вынік".

Пакінем у баку перапаўнення буфера, ін'екцыі каманд і да таго падобнае; яны выходзяць за рамкі гэтага абмеркавання. Парушэнне «прынцыпу безвыходнасці» прыводзіць да сур'ёзных узломаў крыптаграфіі з-за таго, што пратакол паводзіць сябе ў дакладнасці так, як належыць.

Для прыкладу возьмем выдуманую канструкцыю з уразлівым шыфрам падстаноўкі, а затым прадэманструем магчымы напад. Хоць мы ўжо бачылі напад на шыфр падстаноўкі з дапамогай частотнага аналізу, гэта не проста "іншы спосаб зламаць той жа шыфр". Наадварот, напады аракула - значна больш сучаснае вынаходства, якое прымяняецца да мноства сітуацый, калі частотны аналіз церпіць няўдачу, і мы ўбачым дэманстрацыю гэтага ў наступным раздзеле. Тут просты шыфр выбраны толькі для таго, каб зрабіць прыклад больш зразумелым.

Такім чынам, Аліса і Боб маюць зносіны з дапамогай простага шыфра падстаноўкі, выкарыстоўваючы ключ, вядомы толькі ім. Яны вельмі строга ставяцца да даўжыні паведамленняў: іх даўжыня роўна 20 сімвалаў. Таму яны пагадзіліся, што калі хтосьці жадае адправіць карацейшае паведамленне, то павінен дадаць нейкі фіктыўны тэкст у канец паведамлення, каб яно было роўна 20 знакаў. Пасля некаторага абмеркавання яны вырашылі, што будуць прымаць толькі наступныя фіктыўныя тэксты: a, bb, ccc, dddd і г. д. Такім чынам, вядомы фіктыўны тэкст любой неабходнай даўжыні.

Калі Аліса ці Боб атрымлівае паведамленне, яны спачатку правяраюць, што паведамленне мае правільную даўжыню (20 сімвалаў), а суфікс - правільны фіктыўны тэкст. Калі гэта не так, то адказваюць адпаведным паведамленнем пра памылку. Калі даўжыня тэксту і фіктыўны тэкст у парадку, атрымальнік чытае само паведамленне і адпраўляе зашыфраваны адказ.

У працэсе атакі зламыснік выдае сябе за Боба і адпраўляе падробленыя паведамленні Алісе. Паведамленні - поўнае глупства - у зламысніка няма ключа, і таму ён не можа падрабіць значнае паведамленне. Але паколькі пратакол парушае прынцып безвыходнасці, зламыснік усё роўна можа прывабіць Алісу ў пастку, так што яна раскрые інфармацыю аб ключы, як паказана ніжэй.

Узломшчык: PREWF ZHJKL MMMN. LA

Аліса: Няправільны фіктыўны тэкст.

Узломшчык: PREWF ZHJKL MMMN. LB

Аліса: Няправільны фіктыўны тэкст.

Узломшчык: PREWF ZHJKL MMMN. LC

Аліса: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Узломшчык паняцця не мае, што толькі што сказала Аліса, але адзначае, што сімвал C павінен адпавядаць a, паколькі Аліса прыняла фіктыўны тэкст.

Узломшчык: REWF ZHJKL MMMN. LAA

Аліса: Няправільны фіктыўны тэкст.

Узломшчык: REWF ZHJKL MMMN. LBB

Аліса: Няправільны фіктыўны тэкст.

Пасля шэрагу спроб…

Узломшчык: REWF ZHJKL MMMN. LGG

Аліса: Няправільны фіктыўны тэкст.

Узломшчык: REWF ZHJKL MMMN. LHH

Аліса: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

Ізноў жа, узломшчык паняцця не мае, што толькі што сказала Аліса, але адзначае, што H павінен супастаўляцца з b, паколькі Аліса прыняла фіктыўны тэкст.

І гэтак далей, пакуль зламыснік не даведаецца значэнне кожнага сімвала.

На першы погляд, метад нагадвае напад на аснове падабранага адчыненага тэксту. У рэшце рэшт, зламыснік падбірае шыфратэксты, а сервер паслухмяна іх апрацоўвае. Асноўнае адрозненне, якое робіць гэтыя напады жыццяздольнымі ў рэальным свеце, складаецца ў тым, што зламысніку не патрабуецца доступ да фактычнай расшыфроўкі - досыць адказу сервера, нават такога бяскрыўднага, як "Няправільны фіктыўны тэкст".

Хоць гэты пэўны напад павучальны, не варта занадта зацыклівацца на спецыфіцы схемы «фіктыўнага тэксту», пэўнай выкарыстоўванай крыптасістэме або дакладнай паслядоўнасці паведамленняў, адпраўленых зламыснікам. Асноўная ідэя заключаецца ў тым, як Аліса рэагуе па-рознаму, грунтуючыся на ўласцівасцях адкрытага тэксту, і робіць гэта без праверкі таго, што адпаведны зашыфраваны тэкст сапраўды атрыманы ад даверанага боку. Такім чынам, Аліса дазваляе зламысніку выціснуць сакрэтную інфармацыю з яе адказаў.

У гэтым сцэнары можна шмат што змяніць. Сімвалы, на якія рэагуе Аліса, ці саму розніцу ў яе паводзінах, ці нават выкарыстоўваную крыптасістэму. Але прынцып застанецца тым жа, і напад у цэлым застанецца жыццяздольнай у той ці іншай форме. Базавая рэалізацыя гэтага нападу дапамагла выявіць некалькі памылак бяспекі, якія мы хутка разгледзім; але найперш варта засвоіць некаторыя тэарэтычныя ўрокі. Як выкарыстоўваць гэты выдуманы "сцэнар Алісы" у нападзе, якая здольная працаваць на рэальным сучасным шыфры? Ці магчыма гэта ўвогуле, нават у тэорыі?

У 1998 годзе швейцарскі крыптограф Даніэль Блайхенбахер (Daniel Bleichenbacher) адказаў на гэтае пытанне сцвярджальна. Ён прадэманстраваў напад аракула ў шырока выкарыстоўванай крыптасістэме з адчыненым ключом RSA, пры выкарыстанні вызначанай схемы паведамленняў. У некаторых рэалізацыях RSA сервер адказвае рознымі паведамленнямі пра памылкі, у залежнасці ад таго, адпавядае адчынены тэкст схеме ці не; гэтага было дастаткова, каб правесці атаку.

Праз чатыры гады, у 2002 годзе, французскі крыптограф Серж Вадэнэ (Serge Vaudenay) прадэманстраваў атаку аракула, амаль ідэнтычную той, што апісана вышэй у сцэнары Алісы — за выключэннем таго, што замест выдуманага шыфра ён узламаў цэлы рэспектабельны клас сучасных шыфраў. выкарыстоўваюць. У прыватнасці, атака Вадэнэ накіравана на шыфры з фіксаваным памерам уводу ("блокавыя шыфры"), калі яны выкарыстоўваюцца ў так званым "рэжыме шыфравання CBC" і з пэўнай папулярнай схемай запаўнення, у асноўным эквівалентнай той, што ў сцэнары Алісы.

Таксама ў 2002 годзе амерыканскі крыптограф Джон Келсі (John Kelsey) – суаўтар. Двухрыбка - Прапанаваў розныя атакі аракула на сістэмы, якія сціскаюць паведамленні, а затым шыфруюць іх. Найбольш заўважнай сярод іх была атака, якая выкарыстоўвала тое, што часта можна вывесці зыходную даўжыню адкрытага тэксту ад даўжыні зашыфраванага тэксту. У тэорыі гэта дазваляе правесці напад аракула, якая аднаўляе часткі зыходнага адчыненага тэксту.

Далей мы прыводзім больш падрабязнае апісанне нападаў Воденэ і Келсі (дамо больш падрабязнае апісанне нападу Блайхенбахера, калі пяройдзем да нападаў на крыптаграфію з адчыненым ключом). Нягледзячы на ​​ўсе нашы намаганні, тэкст становіцца некалькі тэхнічным; таму, калі вышэйпададзенага для вас дастаткова, прапусціце наступныя два раздзелы.

Атака Вадэнэ

Каб зразумець атаку Вадэнэ, спачатку трэба крыху падрабязней пагаварыць аб блокавых шыфрах і рэжымах шыфравання. "Блочны шыфр" - гэта, як ужо згадвалася, шыфр, які прымае ключ і ўвод вызначанай фіксаванай даўжыні ("даўжыня блока") і выдае зашыфраваны блок той жа даўжыні. Блокавыя шыфры шырока выкарыстоўваюцца і лічацца адносна бяспечнымі. Цяпер DES, які выйшаў на пенсію, які лічаць першым сучасным шыфрам, быў блокавым. Як згадвалася вышэй, тое ж самае дакладна і для AES, шырока выкарыстоўванага сёння.

Нажаль, блокавыя шыфры маюць адну абуральную слабасць. Тыповы памер блока складае 128 біт, або 16 сімвалаў. Відавочна, што сучасная крыптаграфія патрабуе працаваць з уваходнымі дадзенымі большага памеру, і менавіта тут з'яўляюцца рэжымы шыфравання. Рэжым шыфравання - па ісце хак: гэта спосаб нейкім чынам ужыць блокавы шыфр, які прымае ўваходныя дадзеныя толькі вызначанага памеру, да ўваходных дадзеных адвольнай даўжыні.

Атака Вадэнэ арыентавана на папулярны рэжым працы CBC (Cipher Block Chaining, рэжым счаплення блокаў шыфратэксту). Атака разглядае базавы блокавы шыфр як чароўная непрыступная чорная скрыня і цалкам абыходзіць яго бяспека.

Вось дыяграма, якая паказвае, як працуе рэжым CBC:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Абведзены плюс азначае аперацыю XOR (выключальнае «АБО»). Напрыклад, другі блок шыфратэксту атрыманы:

  1. Выкананне аперацыі XOR на другім блоку адкрытага тэксту з першым блокам шыфратэксту.
  2. Шыфраваннем атрыманага блока з дапамогай блокавага шыфра, выкарыстоўваючы ключ.

Паколькі CBC так інтэнсіўна выкарыстоўвае бінарную аперацыю XOR, давайце скарыстаемся момантам, каб успомніць некаторыя яе ўласцівасці:

  • Ідэмпатэнтнасць: Крыптаграфічныя напады: тлумачэнне для змененых розумаў
  • Камутатыўнасць: Крыптаграфічныя напады: тлумачэнне для змененых розумаў
  • Асацыятыўнасць: Крыптаграфічныя напады: тлумачэнне для змененых розумаў
  • Самазваротнасць: Крыптаграфічныя напады: тлумачэнне для змененых розумаў
  • Пабайтавага: байт n з Крыптаграфічныя напады: тлумачэнне для змененых розумаў = (байт n з Крыптаграфічныя напады: тлумачэнне для змененых розумаў) Крыптаграфічныя напады: тлумачэнне для змененых розумаў (байт n з Крыптаграфічныя напады: тлумачэнне для змененых розумаў)

Як правіла, гэтыя ўласцівасці маюць на ўвазе, што калі ў нас ёсць раўнанне, улучальнае аперацыі XOR і адно невядомае, яго можна вырашыць. Напрыклад, калі мы ведаем, што Крыптаграфічныя напады: тлумачэнне для змененых розумаў з невядомым Крыптаграфічныя напады: тлумачэнне для змененых розумаў і вядомымі Крыптаграфічныя напады: тлумачэнне для змененых розумаў и Крыптаграфічныя напады: тлумачэнне для змененых розумаў, то мы можам спадзявацца на вышэйзгаданыя ўласцівасці вышэй, каб вырашыць раўнанне для Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Ужыўшы XOR абапал раўнання з Крыптаграфічныя напады: тлумачэнне для змененых розумаў, мы атрымліваем Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Праз імгненне гэта стане вельмі актуальным.

Паміж нашым сцэнарам Алісы і атакай Вадэнэ ёсць два малаважныя адрозненні і адно галоўнае адрозненне. Два нязначныя:

  • У сцэнары Аліса чакала, што адкрытыя тэксты заканчваюцца сімваламі. a, bb, ccc і гэтак далей. У атацы Вадэнэ ахвяра замест гэтага чакае, што адчыненыя тэксты сканчаюцца N раз байтам N (гэта значыць шаснаццатковым 01 або 02 02, або 03 03 03 і гэтак далей). Гэта чыста касметычнае адрозненне.
  • У сцэнары Алісы было лёгка сказаць, ці прыняла Аліса паведамленне, па адказе "Няправільны фіктыўны тэкст". У атацы Вадэнэ патрабуецца большы аналіз і важная дакладная рэалізацыя на баку ахвяры; але для сцісласці возьмем за дадзенасць, што гэты аналіз усё яшчэ магчымы.

Галоўнае адрозненне:

  • Паколькі мы выкарыстоўваем не адну і тую ж крыптасістэму, сувязь паміж кантраляванымі зламыснікам байтамі шыфраванага тэксту і сакрэтамі (ключ і адчынены тэкст), відавочна, будзе іншы. Таму зламысніку давядзецца выкарыстоўваць іншую стратэгію пры стварэнні шыфротэкстаў і інтэрпрэтацыі адказаў сервера.

Гэта галоўнае адрозненне - апошні фрагмент галаваломкі, каб зразумець атаку Вадэнэ, таму давайце на імгненне падумаем аб тым, чаму і як наогул можна арганізаваць атаку аракула на CBC.

Выкажам здагадку, дадзены шыфратэкст CBC з 247 блокаў, і мы жадаем яго расшыфраваць. Мы можам адпраўляць на сервер падробленыя паведамленні, як раней маглі адпраўляць падробленыя паведамленні Алісе. Сервер будзе для нас расшыфроўваць паведамленні, але не будзе паказваць расшыфроўку - замест гэтага, зноў жа, як і ў выпадку з Алісай, сервер паведаміць толькі адзін біт інфармацыі: у адкрытага тэксту дапушчальнае запаўненне ці не.

Улічыце, што ў сцэнары Алісы ў нас былі наступныя адносіны:

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

Назавем гэта "раўнаннем Алісы". Мы кантралявалі шыфратэкст; сервер (Аліса) зліваў расплывістую інфармацыю аб атрыманым адкрытым тэксце; і гэта дазволіла нам вывесці інфармацыю аб апошнім фактары - ключы. Па аналогіі, калі мы зможам знайсці такую ​​сувязь для сцэнара CBC, то маглі б атрымаць некаторую сакрэтную інфармацыю і тамака.

На шчасце, там сапраўды існуюць адносіны, якія мы можам выкарыстоўваць. Разгледзім выходныя дадзеныя канчатковага выкліку расшыфроўкі блокавага шыфра і абазначым гэтыя дадзеныя як Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Таксама абазначым блокі адкрытага тэксту Крыптаграфічныя напады: тлумачэнне для змененых розумаў і блокі шыфратэксту Крыптаграфічныя напады: тлумачэнне для змененых розумаў. Зірніце яшчэ раз на дыяграму CBC і звярніце ўвагу, што атрымліваецца:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Назавем гэта "раўнаннем CBC".

У сцэнары Алісы, кантралюючы шыфратэкст і назіраючы за ўцечкай інфармацыі аб адпаведным адкрытым тэксце, мы змаглі арганізаваць атаку, якая аднавіла трэці член раўнання - ключ. У сцэнары CBC мы таксама кантралюем шыфратэкст і назіраем уцечкі інфармацыі па адпаведным адкрытым тэксце. Калі аналогія мае месца, мы зможам атрымаць інфармацыю аб Крыптаграфічныя напады: тлумачэнне для змененых розумаў.

Выкажам здагадку, мы сапраўды аднавілі Крыптаграфічныя напады: тлумачэнне для змененых розумаў, што тады? Ну, тады мы можам адразу вывесці ўвесь апошні блок адкрытага тэксту (Крыптаграфічныя напады: тлумачэнне для змененых розумаў), проста увёўшы Крыптаграфічныя напады: тлумачэнне для змененых розумаў (які ў нас ёсць) і
атрыманы Крыптаграфічныя напады: тлумачэнне для змененых розумаў у раўнанне CBC.

Такім чынам, мы аптымістычна настроены адносна агульнага плана нападу, і нетутэйша час прапрацаваць дэталі. Звяртаем увагу, якім менавіта чынам на серверы адбываецца ўцечка інфармацыі аб адкрытым тэксце. У сцэнары Алісы ўцечка адбылася з-за таго, што Аліса адказвала правільным паведамленнем толькі ў тым выпадку, калі $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ завяршаўся радком a (Або bb, і гэтак далей, але шанцы на выпадковае спрацоўванне гэтых умоў былі вельмі малыя). Аналагічна з CBC, сервер прымае запаўненне, калі і толькі калі Крыптаграфічныя напады: тлумачэнне для змененых розумаў заканчваецца шаснаццатковым 01. Такім чынам, паспрабуем той жа трук: адпраўку падробленых шыфротэкстаў з нашымі ўласнымі падробленымі значэннямі Крыптаграфічныя напады: тлумачэнне для змененых розумаў, Пакуль сервер не прыме запаўненне.

Калі сервер прымае запаўненне для аднаго з нашых падробленых паведамленняў, гэта азначае, што:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Цяпер выкарыстоўваем уласцівасць пабайтаванасці XOR:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Мы ведаем першы і трэці чалец. І мы ўжо бачылі, што гэта дазваляе аднавіць пакінуты чалец - апошні байт з Крыптаграфічныя напады: тлумачэнне для змененых розумаў:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Гэта таксама дае нам апошні байт канчатковага блока адчыненага тэксту праз раўнанне CBC і ўласцівасць пабайтавасці.

Мы маглі б скончыць на гэтым і задаволіцца тым, што правялі напад на тэарэтычна ўстойлівы шыфр. Але насамрэч мы можам зрабіць значна больш: мы можам сапраўды аднавіць увесь тэкст. Гэта патрабуе вызначанага трука, якога не было ў арыгінальным сцэнары Алісы і ён не ўваходзіць у абавязковыя ўмовы нападу аракула, але метад усё роўна варта вывучыць.

Каб зразумець яго, спачатку звернеце ўвагу, што ў выніку вывядзення правільнага значэння апошняга байта Крыптаграфічныя напады: тлумачэнне для змененых розумаў у нас з'явілася новая здольнасць. Цяпер пры падробцы шыфратэкстаў мы можам кіраваць апошнім байтам адпаведнага адкрытага тэксту. Ізноў жа, гэта злучана з раўнаннем CBC і ўласцівасцю пабайтавага:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Паколькі мы зараз ведаем другі член, то можам выкарыстоўваць наш кантроль над першым для кіравання трэцім. Мы проста вылічаем:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Раней мы не маглі гэтага зрабіць, бо ў нас яшчэ не было апошняга байта. Крыптаграфічныя напады: тлумачэнне для змененых розумаў.

Як нам гэта дапаможа? Выкажам здагадку, што зараз мы будзем ствараць усе шыфратэксты так, што ў адпаведных адчыненых тэкстах апошні байт роўны 02. Цяпер сервер прымае запаўненне толькі ў тым выпадку, калі адчынены тэкст сканчаецца на 02 02. Паколькі мы выправілі апошні байт, гэта адбудзецца толькі ў тым выпадку, калі перадапошні байт адкрытага тэксту таксама роўны 02. Мы працягваем пасылаць падробленыя шыфратэкставыя блокі, змяняючы перадапошні байт, пакуль сервер не прыме запаўненне для аднаго з іх. У гэты момант мы атрымліваем:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

І мы аднаўляем перадапошні байт Крыптаграфічныя напады: тлумачэнне для змененых розумаў сапраўды гэтак жа, як аднавілі апошні. Працягваем у тым жа духу: выпраўляем апошнія два байта адчыненага тэксту на 03 03, паўтараем гэтую атаку для трэцяга з канца байта і гэтак далей, у канчатковым выніку цалкам аднаўляючы Крыптаграфічныя напады: тлумачэнне для змененых розумаў.

Што наконт астатняга тэксту? Звярніце ўвагу, што значэнне Крыптаграфічныя напады: тлумачэнне для змененых розумаў насамрэч з'яўляецца $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$. Мы можам паставіць любы іншы блок замест Крыптаграфічныя напады: тлумачэнне для змененых розумаў, і атака ўсё роўна будзе паспяховай. Фактычна, мы можам папрасіць сервер зрабіць $inline$text{BLOCK_DECRYPT}$inline$ для любых даных. У гэты момант гульня скончана - мы можам расшыфраваць любы шыфратэкст (яшчэ раз зірніце на дыяграму расшыфроўкі CBC, каб пераканацца ў гэтым; і звярніце ўвагу, што вектар IV агульнадаступны).

Гэты пэўны метад гуляе вырашальную ролю ў нападзе аракула, з якой мы сутыкнемся пазней.

Атака Келсі

Блізкі нам па духу Джон Келсі выкладаў прынцыпы, якія ляжаць у аснове шматлікіх магчымых нападаў, а не толькі падрабязныя дэталі пэўнага нападу на пэўны шыфр. Яго артыкул 2002 года - Гэта даследаванне магчымых нападаў на зашыфраваныя сціснутыя дадзеныя. Вы думалі, што для правядзення нападу нядосыць адной толькі інфармацыі, што дадзеныя былі сціснутыя перад шыфраваннем? Аказваецца, дастаткова.

Гэты дзіўны вынік абумоўлены двума прынцыпамі. Па-першае, існуе моцная карэляцыя паміж даўжынёй адкрытага тэксту і даўжынёй шыфратэксту; для многіх шыфраў дакладная роўнасць. Па-другое, калі выконваецца сціск, існуе таксама моцная карэляцыя паміж даўжынёй сціснутага паведамлення і ступенню "шумнасці" адчыненага тэксту, гэта значыць дзелі непаўторных знакаў (тэхнічны тэрмін - "вялікая энтрапія").

Каб убачыць прынцып у дзеянні, разгледзім два адкрытыя тэксты:

Адкрыты тэкст 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Адкрыты тэкст 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Выкажам здагадку, абодва адкрытых тэксту сціснутыя, а затым зашыфраваны. Вы атрымліваеце два выніковых шыфратэксту і павінны адгадаць, які шыфратэкст адпавядае якому адкрытаму тэксту:

Шыфратэкст 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Шыфратэкст 2: DWKJZXYU

Адказ ясны. Сярод адкрытых тэкстаў толькі адкрыты тэкст 1 мог быць сціснуты да беднай даўжыні другога шыфратэксту. Мы высветлілі гэта, нічога не ведаючы аб алгарытме сціску, ключы шыфравання ці нават самім шыфры. У параўнанні з іерархіяй магчымых крыптаграфічных нападаў гэта свайго роду ўтрапёнасць.

Келсі далей паказвае, што пры вызначаных незвычайных абставінах гэты прынцып таксама можна выкарыстоўваць для правядзення нападу аракула. У прыватнасці, ён апісвае, як зламыснік можа аднавіць сакрэтны адкрыты тэкст, калі можа прымусіць сервер шыфраваць дадзеныя формы (адкрыты тэкст, за якім варта Крыптаграфічныя напады: тлумачэнне для змененых розумаў, пакуль ён кантралюе Крыптаграфічныя напады: тлумачэнне для змененых розумаў і можа неяк правяраць даўжыню зашыфраванага выніку.

Ізноў жа, як і ў іншых нападах аракула, у нас ёсць суадносіны:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Зноў жа, мы кантралюем адзін член (Крыптаграфічныя напады: тлумачэнне для змененых розумаў), бачым невялікую ўцечку інфармацыі аб іншым члене (шыфратэксце) і спрабуем аднавіць апошні (адкрыты тэкст). Нягледзячы на ​​аналогію, гэта некалькі незвычайная сітуацыя ў параўнанні з іншымі нападамі аракула, якія мы бачылі.

Каб праілюстраваць, як такая атака можа працаваць, выкарыстоўваем выдуманую схему сціску, якую мы толькі што прыдумалі: TOYZIP. Ён шукае радкі тэксту, якія ўжо з'яўляліся раней у тэксце, і замяняе іх трыма байтамі-запаўняльнікамі, якія паказваюць, дзе знайсці больш ранні асобнік радка і колькі разоў ён тамака сустракаецца. Напрыклад, радок helloworldhello можа быць сціснута ў helloworld[00][00][05] даўжынёй 13 байт у параўнанні з арыгіналам 15-ці байт.

Дапусцім, узломшчык спрабуе аднавіць адкрыты тэкст формы password=..., дзе сам пароль невядомы. У адпаведнасці з мадэллю нападу Келсі, узломшчык можа папрасіць сервер сціснуць, а затым зашыфраваць паведамленні формы (адкрыты тэкст, за якім варта Крыптаграфічныя напады: тлумачэнне для змененых розумаў), Дзе Крыптаграфічныя напады: тлумачэнне для змененых розумаў - адвольны тэкст. Калі сервер скончыў працу, ён паведамляе даўжыню выніку. Атака ідзе наступным чынам:

Узломшчык: Калі ласка, сцісні і зашыфруй адкрыты тэкст без якіх-небудзь запаўненняў.

Сервер: Даўжыня выніку 14.

Узломшчык: Калі ласка, зацісніце і зашыфруйце адкрыты тэкст, да якога дададзена password=a.

Сервер: Даўжыня выніку 18.

Узломшчык адзначае: [арыгінал 14] + [тры байты, якія замянілі password=] + a

Узломшчык: Калі ласка, сцісні і зашыфруй адкрыты тэкст, да якога дададзена password=b.

Сервер: Даўжыня выніку 18.

Узломшчык: Калі ласка, сцісні і зашыфруй адкрыты тэкст, да якога дададзена password=с.

Сервер: Даўжыня выніку 17.

Узломшчык адзначае: [арыгінал 14] + [тры байты, якія замянілі password=c]. Гэта мяркуе, што арыгінальны адкрыты тэкст змяшчае радок password=c. Гэта значыць пароль пачынаецца з літары c

Узломшчык: Калі ласка, сцісні і зашыфруй адкрыты тэкст, да якога дададзена password=сa.

Сервер: Даўжыня выніку 18.

Узломшчык адзначае: [арыгінал 14] + [тры байты, якія замянілі password=с] + a

Узломшчык: Калі ласка, сцісні і зашыфруй адкрыты тэкст, да якога дададзена password=сb.

Сервер: Даўжыня выніку 18.

(… некаторы час праз…)

Узломшчык: Калі ласка, сцісні і зашыфруй адкрыты тэкст, да якога дададзена password=со.

Сервер: Даўжыня выніку 17.

Узломшчык адзначае: [арыгінал 14] + [тры байты, якія замянілі password=co]. Па той жа логіцы ўзломшчык робіць выснову, што пароль пачынаецца з літар co

І гэтак далей датуль, пакуль не будзе адноўлены ўвесь пароль.

Чытачу даравальна думаць, што гэта чыста акадэмічнае практыкаванне і такі сцэнар атакі ніколі не ўзнікне ў рэальным свеце. Нажаль, як мы неўзабаве ўбачым, у крыптаграфіі лепш не заракацца.

Брэндавыя ўразлівасці: CRIME, POODLE, DROWN

Нарэшце, пасля падрабязнага вывучэння тэорыі, мы можам паглядзець, як гэтыя метады прымяняюцца ў рэальных крыптаграфічных атаках.

ЗЛОЧЫ

Крыптаграфічныя напады: тлумачэнне для змененых розумаўКалі атака нацэлена на браўзэр і сетку ахвяры, нешта будзе прасцей, а нешта - складаней. Напрыклад, убачыць трафік ахвяры лёгка: дастаткова сядзець з ёй у адным і тым жа кафэ з WiFi. Па гэтай прычыне патэнцыйным ахвярам (т. е. усім) звычайна рэкамендуецца выкарыстоўваць зашыфраванае злучэнне. Будзе больш складана, але ўсё роўна магчыма, выкананне HTTP-запытаў ад імя ахвяры на нейкі іншы сайт (напрыклад, Google). Зламыснік павінен прывабіць ахвяру на шкоднасную вэб-старонку са скрыптам, які зробіць запыт. Вэб-браўзэр аўтаматычна падасць адпаведную сеансавую куку.

Гэта здаецца дзіўным. Калі Боб зайшоў на evil.com, няўжо скрыпт на гэтым сайце можа проста папрасіць Google адправіць пароль Боба па электроннай пошце на [email protected]? Ну, у тэорыі так, але насамрэч не. Такі сцэнар называецца атакай на падробку міжсайтавых запытаў (Падробка міжсайтавых запытаў, CSRF), і ён быў папулярны прыкладна ў сярэдзіне 90-х. Сёння, калі evil.com паспрабуе такі трук, Google (ці любы які паважае сябе сайт) звычайна адкажа: Выдатна, але ваш токен CSRF для гэтай транзакцыі будзе… ммм… три триллиона и семь. Калі ласка, паспрабуйце гэты лік». Сучасныя браўзэры ўжываюць нешта пад назвай "палітыка аднолькавага паходжання" (same-origin policy), паводле якой скрыпты на сайце A не атрымліваюць доступу да інфармацыі, адпраўленай вэб-сайтам B. Таму скрыпт на evil.com можа адпраўляць запыты да google.com, але не можа прачытаць адказы ці на самой справе завяршыць транзакцыю.

Мы павінны падкрэсліць, што калі Боб не выкарыстоўвае зашыфраванае злучэнне, усе гэтыя абароны бессэнсоўныя. Узломшчык можа проста прачытаць трафік Боба і аднавіць сеансавую куку Google. З гэтай кукой ён проста адкрые новую ўкладку Google, не выходзячы з уласнага браўзэра, і выдасць сябе за Боба, не сустракаючыся з прыкрымі палітыкамі same-origin policy. Але, нажаль для ўзломшчыка, такое сустракаецца ўсё радзей. Інтэрнэт у цэлым даўно абвясціў вайну незашыфраваным злучэнням, і выходны трафік Боба, верагодна, зашыфраваны, падабаецца яму гэта ці не. Акрамя таго, з самага пачатку ўкаранення пратаколу трафік таксама сціскаўся перад шыфраваннем; гэта была звычайная практыка для памяншэння затрымкі.

Тут у гульню ўступае ЗЛОЧЫ (Compression Ratio Infoleak Made Easy, простая ўцечка праз каэфіцыент сціску). Уразлівасць, якую паказалі ў верасні 2012 года даследчыкі бяспекі Джуліяна Рыца (uliano Rizzo) і Тай Дуонг (Thai Duong). Мы ўжо разабралі ўсю тэарэтычную базу, якая дазваляе зразумець, што яны зрабілі і як. Узломшчык можа прымусіць браўзэр Боба адпраўляць запыты ў Google, а затым праслухоўваць адказы ў лакальнай сетцы ў сціснутым, зашыфраваным выглядзе. Таму ў нас ёсць:

Крыптаграфічныя напады: тлумачэнне для змененых розумаў

Тут узломшчык кантралюе запыт і мае доступ да сніфера трафіку, уключаючы памер пакетаў. Выдуманы сцэнар Келсі ўвасобіўся ў жыццё.

Разумеючы тэорыю, аўтары CRIME стварылі эксплоіт, які можа скрасці сеансавыя печыва для шырокага спектру сайтаў, уключаючы Gmail, Twitter, Dropbox і Github. Уразлівасць закранула большасць сучасных вэб-браўзэраў, у выніку чаго былі выпушчаныя патчы, якія моўчкі пахавалі функцыю сціску ў SSL, каб яна наогул не выкарыстоўвалася. Адзіным абароненым ад уразлівасці стаў шаноўны Internet Explorer, які наогул ніколі не выкарыстоўваў сціск SSL.

ПУДЕЛЬ

Крыптаграфічныя напады: тлумачэнне для змененых розумаўУ кастрычніку 2014 года каманда бяспекі Google навяла шоргат у супольнасці бяспекі. Яны змаглі эксплуатаваць уразлівасць у пратаколе SSL, выпраўленую больш за дзесяць гадоў таму.

Аказалася, што хоць на серверах працуе выдатны новенькі TLSv1.2, шматлікія пакінулі падтрымку састарэлага SSLv3 дзеля зваротнай сумяшчальнасці з Internet Explorer 6. Мы ўжо казалі аб нападах на паніжэнне, так што можаце ўявіць сабе тое, што адбываецца. Добра арганізаваны сабатаж пратаколу поціску рукі - і серверы гатовыя вярнуцца на стары добры SSLv3, у сутнасці адмяніўшы апошнія 15 гадоў даследаванняў у сферы бяспекі.

Для гістарычнага кантэксту, вось кароткае рэзюмэ гісторыі SSL аж да версіі 2 ад Мэцью Грына:

Transport Layer Security (TLS) – найважнейшы пратакол бяспекі ў інтэрнэце. [..] амаль кожная транзакцыя, якую вы праводзіце ў інтэрнэце, залежыць ад TLS. [..] Але TLS не заўсёды быў TLS. Пратакол пачаў сваё жыццё ў Netscape Communications пад назвай "Secure Sockets Layer" ці SSL. Ходзяць чуткі, што першая версія SSL аказалася настолькі жудаснай, што распрацоўшчыкі сабралі ўсе раздрукоўкі кода і закапалі на сакрэтнай звалцы ў Нью-Мексіка. Як следства, першая агульнадаступная версія SSL насамрэч з'яўляецца версіяй SSL 2. Яна даволі страшненькая, і [..] гэта быў прадукт сярэдзіны 90-х, якія сучасныя крыптографы разглядаюць як «цёмныя стагоддзі крыптаграфіі». Многія з самых агідных крыптаграфічных нападаў, пра якія мы ведаем сёння, яшчэ не былі выяўлены. У выніку распрацоўнікам пратаколу SSLv2 прыйшлося па істоце намацваць шлях у цемры, і яны сутыкнуліся з мноствам жудасных монстраў - да іх засмучэнню і нашай выгадзе, паколькі напады на SSLv2 пакінулі неацэнныя ўрокі для наступнага пакалення пратаколаў.

Пасля гэтых падзей, у 1996 годзе, расчараваная кампанія Netscape перапрацавала пратакол SSL з нуля. Вынікам стаў SSL версіі 3, які выправіў некалькі вядомых праблем бяспекі свайго папярэдніка.

На шчасце для ўзломшчыкаў, "некалькі" не азначае "ўсё". У цэлым, SSLv3 падаваў усе неабходныя будаўнічыя блокі для запуску нападу Вадэнэ. Пратакол выкарыстаў блокавы шыфр у рэжыме CBC і небяспечную схему запаўнення (гэта выправілі ў TLS; такім чынам, узнікла неабходнасць у нападзе на паніжэнне). Калі вы падушыце схему запаўнення ў нашым першапачатковым апісанні нападу Воденэ, схема SSLv3 вельмі падобная.

Але, на няшчасце для ўзломшчыкаў, "падобная" не азначае "ідэнтычная". Схема запаўнення SSLv3 мае выгляд "N адвольных байт, за якімі варта лік N". Паспрабуйце ў такіх умовах абраць уяўны блок зашыфраванага тэксту і мінуць праз усе этапы арыгінальнай схемы Воденэ: вы выявіце, што напад паспяхова здабывае апошні байт з які адпавядае блока адчыненага тэксту, але далей не праходзіць. Расшыфроўка кожнага 16-га байта зашыфраванага тэксту - выдатны фокус, але гэта не перамога.

Сутыкнуўшыся з няўдачай, каманда Google звярнулася да крайняга варыянту: яны пераключыліся на больш магутную мадэль пагроз – тую, якая выкарыстоўвалася ў CRIME. Калі выказаць здагадку, што зламыснік - гэта скрыпт, запушчаны на ўкладцы браўзэра ахвяры, і ён можа атрымаць сеансавыя печыва, атака ўсё роўна застаецца ўражлівай. Хоць шырэйшая мадэль пагроз меней рэалістычная, але ў папярэдняй частцы мы ўжо бачылі, што гэтая канкрэтная мадэль здзяйсняльная.

Улічваючы такія больш магутныя магчымасці ўзломшчыка, зараз атака можа працягнуцца. Улічыце, што зламыснік ведае, дзе ў загалоўку адлюстроўваецца зашыфраваны сеансавы файл куки, і кіруе даўжынёй папярэдняга яму HTTP-запыту. Таму ён здольны маніпуляваць HTTP-запытам так, каб выраўнаваць апошні байт печыва ў адпаведнасці з канцом блока. Цяпер гэты байт падыходзіць для расшыфроўкі. Можна проста дадаць да запыту адзін знак, а перадапошні байт печыва застанецца на тым жа месцы і прыдатны для падбору тым жа метадам. Атака працягваецца такім чынам, пакуль файл печыва не будзе адноўлены цалкам. Гэта называецца POODLE: Padding Oracle on Downgraded Legacy Encryption, запаўненне аракула на паніжаным састарэлым шыфраванні.

DROWN

Крыптаграфічныя напады: тлумачэнне для змененых розумаўЯк мы ўжо згадвалі, у SSLv3 былі недахопы, але ён кардынальна адрозніваўся ад папярэдніка, паколькі дзіравы SSLv2 уяўляў сабой прадукт іншай эпохі. Там можна было перапыніць паведамленне на сярэдзіне: соглашусь на это только через мой труп ператваралася ў соглашусь на это; кліент і сервер маглі сустрэцца ў інтэрнэце, усталяваць давер і абмяняцца сакрэтамі перад вачыма зламысніка, які потым лёгка выдаваў сябе і за таго, і за другога. Яшчэ і праблема з экспартнай крыптаграфіяй, якую мы згадалі пры разглядзе FREAK. Гэта былі крыптаграфічныя Садома і Гамора.

У сакавіку 2016 года каманда даследчыкаў з розных тэхнічных абласцей сабралася разам і зрабіла незвычайнае адкрыццё: SSLv2 па-ранейшаму выкарыстоўваецца ў сістэмах бяспекі. Так, зламыснікі больш не маглі паніжаць сучасныя сеансы TLS да SSLv2, паколькі гэтую дзірку закрылі пасля FREAK і POODLE, але яны ўсё яшчэ могуць падлучацца да сервераў і ініцыяваць сеансы SSLv2 самастойна.

Вы спытаецеся, якая нам справа, што яны там робяць? У іх уразлівы сеанс, але гэта не павінна ўплываць на іншыя сеансы або бяспеку сервера - правільна? Ну, не зусім. Так, так і павінна быць у тэорыі. Але не – таму што генерацыя сертыфікатаў SSL накладвае пэўны цяжар, ​​у выніку чаго многія серверы выкарыстоўваюць адны і тыя ж сертыфікаты і, як следства, адны і тыя ж ключы RSA для злучэнняў TLS і SSLv2. Што яшчэ горш, з-за бага OpenSSL у гэтай папулярнай рэалізацыі SSL фактычна не працавала опцыя "Адключыць SSLv2".

Гэта зрабіла магчымай крос-пратакольны напад на TLS, якую назвалі DROWN (Decrypting RSA with Obsolete and Weakened eNcryption, расшыфроўка RSA з састарэлым і аслабленым шыфраваннем). Нагадаем, што гэта не тое ж самае, што напад на паніжэнне; узломшчыку не трэба дзейнічаць як "чалавек у сярэдзіне" і не трэба залучаць кліента для ўдзелу ў небяспечным сеансе. Зламыснікі проста самі ініцыююць небяспечны сеанс SSLv2 з серверам, атакуюць слабы пратакол і аднаўляюць зачынены серверны ключ RSA. Гэты ключ таксама сапраўдны для злучэнняў TLS, і з гэтага моманту ніякая бяспека TLS не ўратуе яго ад узлому.

Але для ўзлому патрэбна працоўная атака супраць SSLv2, якая дазваляе аднавіць не толькі пэўны трафік, але і сакрэтны серверны ключ RSA. Хоць гэта і складаная пастаноўка, але даследнікі маглі абраць любую ўразлівасць, якую цалкам зачынілі пасля SSLv2. У канчатковым выніку яны знайшлі прыдатны варыянт: напад Блайхенбахера, пра якую мы згадвалі раней і якую падрабязна растлумачым у наступным артыкуле. SSL і TLS абаронены ад гэтага нападу, але некаторыя выпадковыя функцыі SSL у спалучэнні з кароткімі ключамі ў крыптаграфіі экспартнага класа, зрабілі магчымым пэўную рэалізацыю DROWN.

На момант публікацыі ўразлівасці DROWN былі схільныя 25% топ-сайтаў інтэрнэту, і напад можна было правесці са сціплымі рэсурсамі, даступнымі нават для гарэзных хакераў-адзіночак. Для вымання ключа RSA сервера патрабавалася восем гадзін вылічэнняў і $440, а SSLv2 змяніў статут з «састарэлага» на «радыеактыўны».

Чакайце, а што наконт Heartbleed?

Гэта не крыптаграфічны напад у тым сэнсе, як апісаныя вышэй; гэтае перапаўненне буфера.

Зробім перапынак

Мы пачалі з некаторых базавых метадаў: брутфорс, інтэрпаляцыя, паніжэнне, крос-пратакол і прадвылічэнні. Затым разгледзелі адну прасунутую тэхніку, магчыма, галоўны кампанент сучасных крыптаграфічных нападаў: гэта атака аракула. Мы даволі доўга з ёй разбіраліся - і зразумелі не толькі прынцып у аснове, але і тэхнічныя дэталі двух канкрэтных рэалізацый: напады Вадэнэ на рэжым шыфравання CBC і напады Келсі на пратаколы шыфравання з папярэднім сціскам.

Пры аглядзе нападаў на паніжэнне і з папярэднімі вылічэннямі мы коратка выклалі атаку FREAK, якая выкарыстоўвае абодва метаду, паколькі мэтавыя сайты апускаюцца да слабых ключоў, а затым паўторна выкарыстоўваюць адны і тыя ж ключы. Для наступнага артыкула мы пакінулі (вельмі падобную) напад Logjam, якая нацэлена на алгарытмы з адчыненым ключом.

Затым мы разгледзелі яшчэ тры прыклады прымянення гэтых прынцыпаў. Па-першае, CRIME і POODLE: дзве атакі, якія належылі на здольнасць узломшчыка ўкараняць адвольны адчынены тэкст побач з мэтавым адчыненым тэкстам, потым вывучаць адказы сервера і затым, выкарыстоўваючы метадалогію нападу аракула, выкарыстоўваць гэтую бедную інфармацыю для частковага аднаўлення адкрытага тэксту. CRIME пайшла па шляху нападу Келсі на сціск SSL, у той час як POODLE замест гэтага выкарыстаў варыянт нападу Воденэ на CBC з тым жа эфектам.

Затым мы звярнулі ўвагу на крос-пратакольны напад DROWN, якая ўсталёўвае з серверам злучэнне па састарэлым пратаколе SSLv2, а потым аднаўляе сакрэтныя серверныя ключы з дапамогай нападу Блайхенбахера. На дадзены момант мы прапусцілі тэхнічныя дэталі гэтага нападу; як і Logjam, ёй давядзецца пачакаць, пакуль мы добра не вывучым крыптасістэмы з адкрытым ключом і іх уразлівасці.

У наступным артыкуле пагаворым аб прасунутых нападах - такіх як метад сустрэчы пасярэдзіне (meet-in-the-middle), дыферэнцыяльны крыптааналіз і атака «дняў нараджэння». Здзейснім кароткі набег на атакі па іншых каналах, а затым прымемся за самую смачніну - крыптасістэмы з адкрытым ключом.

Крыніца: habr.com

Дадаць каментар