Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

«Криптография» сөзін естігенде, кейбір адамдар өздерінің WiFi құпия сөзін, сүйікті веб-сайтының мекенжайының жанындағы жасыл құлыпты және басқа біреудің электрондық поштасына кіру қаншалықты қиын екенін есіне алады. Басқалары соңғы жылдардағы қысқартулармен (DROWN, FREAK, POODLE...), стильді логотиптермен және шолғышты шұғыл жаңарту туралы ескертумен бірнеше осалдықтарды еске түсіреді.

Криптография мұның бәрін қамтиды, бірақ мәні басқасында. Мәселе мынада: қарапайым және күрделі арасында жұқа сызық бар. Кейбір нәрселерді жасау оңай, бірақ жұмыртқаны сындыру сияқты қалпына келтіру қиын. Басқа нәрселерді жасау оңай, бірақ кішігірім, маңызды, маңызды бөлік жетіспейтін болса, оны қайтару қиын: мысалы, «маңызды бөлік» кілт болған кезде құлыпталған есікті ашу. Криптография бұл жағдайларды және оларды тәжірибеде қалай қолдануға болатынын зерттейді.

Соңғы жылдары криптографиялық шабуылдар жинағы ғылыми мақалалардағы формулалармен толтырылған жарқыраған логотиптердің хайуанаттар бағында айналды және бәрі бұзылды деген жалпы мұңды сезім тудырды. Бірақ шын мәнінде, көптеген шабуылдар бірнеше жалпы принциптерге негізделген және формулалардың шексіз беттері жиі түсінуге оңай идеялар үшін қайнатылады.

Осы мақалалар сериясында біз негізгі принциптерге баса назар аудара отырып, криптографиялық шабуылдардың әртүрлі түрлерін қарастырамыз. Жалпы алғанда және дәл осы тәртіпте емес, бірақ біз мыналарды қарастырамыз:

  • Негізгі стратегиялар: дөрекі күш, жиілікті талдау, интерполяция, төмендету және кросс-хаттамалар.
  • Брендтік осалдықтар: ФРЕК, ҚЫЛМЫС, ПУДЛ, БАТЫП ҚАЛУ, Лоджам.
  • Жетілдірілген стратегиялар: oracle шабуылдары (Vodenet шабуылы, Келси шабуылы); ортада кездесу әдісі, туған күн шабуылы, статистикалық бұрмалау (дифференциалды криптоталдау, интегралды криптоталдау және т.б.).
  • Бүйірлік арна шабуылдары және олардың жақын туыстары, сәтсіздіктерді талдау әдістері.
  • Ашық кілттердің криптографиясына жасалған шабуылдар: текше түбірі, хабар тарату, байланысты хабарлама, мысшылар шабуылы, Похлиг-Хеллман алгоритмі, сандар елегі, Винер шабуылы, Блейхенбахер шабуылы.

Бұл мақала Келсидің шабуылына дейін жоғарыда келтірілген материалды қамтиды.

Негізгі стратегиялар

Келесі шабуылдар қарапайым, сондықтан оларды толықтай дерлік техникалық мәліметтерсіз түсіндіруге болады. Күрделі мысалдарға немесе кеңейтілген қолдану жағдайларына бармай-ақ, шабуылдың әрбір түрін қарапайым түрде түсіндірейік.

Бұл шабуылдардың кейбірі негізінен ескірген және көптеген жылдар бойы қолданылмаған. Басқалары 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 Ale FleAUt GR WN OGQL ZDWBGEGZDO

Әрі қарай осылай деп есептейік L сәйкес келеді r, A - a тағыда басқа. Бұл бірнеше әрекетті қажет етуі мүмкін, бірақ толық дөрекі шабуылмен салыстырғанда, бұл шабуыл бастапқы мәтінді қысқа мерзімде қалпына келтіреді:

Аспан мен жерде сіздің философияңызда армандаған нәрселерден де көп нәрсе бар

Кейбіреулер үшін мұндай «криптограммаларды» шешу қызықты хобби болып табылады.

Жиіліктерді талдау идеясы бір қарағанда қарағанда маңыздырақ. Және ол әлдеқайда күрделі шифрларға қатысты. Тарихта әртүрлі шифрлық конструкциялар «полиалфавиттік алмастыруды» пайдалана отырып, мұндай шабуылға қарсы тұруға тырысты. Мұнда шифрлау процесі кезінде әріптерді алмастыру кестесі кілтке байланысты күрделі, бірақ болжамды тәсілдермен өзгертіледі. Бұл шифрлардың барлығы бір уақытта бұзу қиын деп саналды; және әлі де қарапайым жиілікті талдау олардың барлығын жеңді.

Тарихтағы ең өршіл полиалфавиттік шифр және, мүмкін, ең танымалы, Екінші дүниежүзілік соғыстың Enigma шифры болды. Ол бұрынғылармен салыстырғанда салыстырмалы түрде күрделі болды, бірақ көп жұмыстан кейін британдық криптоаналитиктер оны жиілік талдауының көмегімен сындырды. Әрине, олар жоғарыда көрсетілгендей талғампаз шабуылды дамыта алмады; олар тіпті Enigma пайдаланушыларын белгілі бір хабарламаларды шифрлауға және нәтижені талдауға («таңдалған ашық мәтіндік шабуыл») итермелейтін ашық мәтін мен шифрленген мәтіннің белгілі жұптарын салыстыруға мәжбүр болды («ашық мәтіндік шабуыл»). Бірақ бұл жеңіліске ұшыраған жау әскерлері мен суға батқан сүңгуір қайықтардың тағдырын жеңілдете алмады.

Осы жеңістен кейін жиілікті талдау криптоанализ тарихынан жойылды. Қазіргі цифрлық дәуірдегі шифрлар әріптермен емес, биттермен жұмыс істеуге арналған. Ең бастысы, бұл шифрлар кейінірек белгілі болған нәрсенің қараңғы түсінігімен жасалған Шнайер заңы: Кез келген адам өзі бұза алмайтын шифрлау алгоритмін жасай алады. Бұл шифрлау жүйесі үшін жеткіліксіз көрінді қиын: оның құндылығын дәлелдеу үшін ол шифрды бұзу үшін барын салатын көптеген криптоаналитиктердің қауіпсіздікті аяусыз тексеруінен өтуі керек.

Алдын ала есептеулер

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме200 000 халқы бар гипотетикалық Преком Хайтс қаласын алайық. Қаладағы әрбір үйде орташа есеппен 30 000 доллар тұратын құнды заттар бар, бірақ құны 50 000 доллардан аспайды. Precomдағы қауіпсіздік нарығы аты аңызға айналған Coyote™ класындағы есік құлыптарын шығаратын ACME Industries компаниясының монополиясында. Сарапшылардың талдауына сәйкес, Coyote класындағы құлыпты жасау үшін шамамен бес жыл және 50 000 доллар инвестиция қажет болатын өте күрделі гипотетикалық машина ғана бұза алады. Қала қауіпсіз ме?

Сірә, жоқ. Ақырында, өте өршіл қылмыскер пайда болады. Ол былай деп ойлайды: «Иә, мен үлкен шығындарға ұшыраймын. Бес жыл күткен шыдамдылық және 50 000 доллар. Бірақ мен аяқтаған соң, мен қол жеткізе аламын осы қаланың барлық байлығы. Егер мен карталарымды дұрыс ойнасам, бұл инвестиция өзін бірнеше есе өтейді ».

Криптографияда да солай. Белгілі бір шифрға жасалған шабуылдар шығын мен пайданың аяусыз талдауына жатады. Егер арақатынас қолайлы болса, шабуыл болмайды. Бірақ бірден көптеген ықтимал құрбандарға қарсы әрекет ететін шабуылдар әрқашан дерлік өз нәтижесін береді, бұл жағдайда ең жақсы дизайн тәжірибесі олар бірінші күннен басталды деп есептейді. Бізде Мерфи заңының криптографиялық нұсқасы бар: «Жүйені шынымен бұза алатын кез келген нәрсе жүйені бұзады».

Алдын ала есептеу шабуылына осал болатын криптожүйенің қарапайым мысалы - тұрақты кілтсіз шифр. Бұл жағдай болды Цезарь шифры, ол әліпбидің әрбір әрпін үш әріпті алға жылжытады (кесте ілгектелген, сондықтан алфавиттегі соңғы әріп үшінші шифрланған). Бұл жерде тағы да Керхгоф принципі күшіне енеді: жүйе бір рет бұзылса, ол мәңгілікке бұзылады.

Тұжырымдама қарапайым. Тіпті криптожүйені жаңадан жасаушы да қауіпті таниды және соған сәйкес дайындалады. Криптографияның эволюциясын қарастыратын болсақ, мұндай шабуылдар Цезарь шифрінің алғашқы жетілдірілген нұсқаларынан полиалфавиттік шифрлардың құлдырауына дейін шифрлардың көпшілігі үшін орынсыз болды. Мұндай шабуылдар криптографияның заманауи дәуірінің келуімен ғана қайтарылды.

Бұл қайтару екі факторға байланысты. Біріншіден, бұзудан кейін пайдалану мүмкіндігі айқын болмаған жеткілікті күрделі криптожүйелер пайда болды. Екіншіден, криптографияның кең таралғаны сонша, миллиондаған қарапайым адамдар күн сайын криптографияның қай жерде және қай бөліктерін қайта пайдалану керектігі туралы шешім қабылдады. Мамандар тәуекелдерді түсініп, дабыл қағуға дейін біраз уақыт өтті.

Алдын ала есептеу шабуылын есте сақтаңыз: мақаланың соңында біз маңызды рөл атқарған екі нақты өмірдегі криптографиялық мысалды қарастырамыз.

Интерполяция

Міне, атақты детектив Шерлок Холмс, бақытсыз доктор Уотсонға интерполяциялық шабуыл жасайды:

Ауғанстаннан келгеніңізді бірден болжап қалдым... Менің ойым мынадай болды: «Бұл кісі түрі бойынша дәрігер, бірақ әскери қабілеті бар. Сонымен, әскери дәрігер. Ол жаңа ғана тропиктерден келді - оның беті қараңғы, бірақ бұл оның терісінің табиғи реңі емес, өйткені оның білектері әлдеқайда ағарған. Бет әлпеті – көп қиналғаны, ауруға шалдыққаны анық. Ол сол қолынан жараланған - ол қозғалыссыз және аздап табиғи емес ұстайды. Ағылшын әскери дәрігері тропикте қай жерде қиындықтарға төтеп беріп, жарақат алады? Әрине, Ауғанстанда». Бүкіл ой пойызы бір секундқа да созылмады. Міне, мен Ауғанстаннан келдіңіз деп, таң қалдыңыз.

Холмс әрбір дәлелден жеке-жеке өте аз ақпарат ала алады. Олардың барлығын бірге қарастыру арқылы ғана ол өз тұжырымына келе алды. Интерполяциялық шабуыл бірдей кілттен алынған белгілі ашық мәтінді және шифрлық мәтін жұптарын зерттеу арқылы ұқсас жұмыс істейді. Әрбір жұптан кілт туралы жалпы қорытынды жасауға мүмкіндік беретін жеке бақылаулар алынады. Бұл тұжырымдардың бәрі бұлыңғыр және олар кенеттен сыни массаға жетіп, жалғыз мүмкін қорытындыға әкелмейінше пайдасыз болып көрінеді: бұл қаншалықты керемет болса да, бұл шындық болуы керек. Осыдан кейін не кілт ашылады, не шифрды шешу процесі қайталанатындай нақтыланады.

Интерполяцияның қалай жұмыс істейтінін қарапайым мысалмен көрсетейік. Біздің жауымыз Бобтың жеке күнделігін оқығымыз келеді делік. Ол күнделігіндегі әрбір санды «Криптографияның мазағы» журналындағы жарнамадан білген қарапайым криптожүйенің көмегімен шифрлайды. Жүйе келесідей жұмыс істейді: Боб өзіне ұнайтын екі нөмірді таңдайды: Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме и Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. Енді кез келген нөмірді шифрлау үшін Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, есептейді Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. Мысалы, егер Боб таңдаса Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме и Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, содан кейін нөмір Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме ретінде шифрланады Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме.

Айта кетейік, 28 желтоқсанда Боб күнделігінде бірдеңені тырнап жатқанын байқадық. Ол аяқтаған кезде, біз оны ақырын алып, соңғы жазбаны көреміз:

Күні: 235/520

Құрметті күнделік,

Бүгін жақсы күн болды. арқылы 64 Бүгін мен пәтерде тұратын Алисамен кездесемін 843. Менің ойымша, ол болуы мүмкін 26!

Біз Бобты оның кездесуінде қадағалауға өте байсалды болғандықтан (бұл сценарийде екеуміз де 15 жастамыз), Алисаның мекен-жайымен қатар күнді білу өте маңызды. Бақытымызға орай, біз Бобтың криптожүйесі интерполяциялық шабуылға осал екенін байқаймыз. Біз білмеуіміз мүмкін Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме и Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, бірақ біз бүгінгі күнді білеміз, сондықтан бізде екі ашық мәтін-шифр мәтін жұбы бар. Атап айтқанда, біз мұны білеміз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме шифрланған Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемемен Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме - in Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. Біз мынаны жазамыз:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Біз 15 жаста болғандықтан, біз екі белгісізі бар екі теңдеу жүйесі туралы білеміз, бұл жағдайда оны табу жеткілікті. Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме и Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме еш қиындықсыз. Әрбір ашық мәтін-шифрлық мәтін жұбы Боб кілтіне шектеу қояды және екі шектеу бірге кілтті толығымен қалпына келтіру үшін жеткілікті. Біздің мысалда жауап Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме и Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме (при.) Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, Сондықтан 26 күнделіктегі «бір» деген сөзге сәйкес келеді, яғни «бірдей» - шамамен. жолақ).

Интерполяциялық шабуылдар, әрине, мұндай қарапайым мысалдармен шектелмейді. Жақсы түсінілген математикалық объект пен параметрлер тізіміне дейін төмендететін әрбір криптожүйе интерполяциялық шабуыл қаупіне ұшырайды — объект неғұрлым түсінікті болса, соғұрлым тәуекел жоғары болады.

Жаңадан келгендер криптография «мүмкіндігінше ұсқынсыз заттарды жобалау өнері» деп шағымданады. Интерполяциялық шабуылдар көбінесе кінәлі болуы мүмкін. Боб талғампаз математикалық дизайнды қолдана алады немесе Алисамен кездесуін жеке ұстай алады, бірақ өкінішке орай, сіз әдетте екі жолмен де бола алмайсыз. Бұл ашық кілт криптографиясы тақырыбына жеткенде анық болады.

Айқас хаттама/төмендету

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме«Енді сен мені көресің» (2013) фильмінде бір топ иллюзионистер сыбайлас сақтандыру магнаты Артур Тресслерді оның барлық байлығын тартып алуға әрекеттенеді. Артурдың банктік шотына қол жеткізу үшін иллюзионистер оның логин мен паролін көрсетуі керек немесе оны банкке өзі келіп, схемаға қатысуға мәжбүрлеуі керек.

Екі нұсқа да өте қиын; Жігіттер барлау жұмыстарына қатыспай, сахнада өнер көрсетуге дағдыланған. Сондықтан олар үшінші мүмкін нұсқаны таңдайды: олардың сыбайласы банкке қоңырау шалып, Артур болып көрінеді. Банк жеке басын растау үшін ағайдың аты мен бірінші үй жануарының аты сияқты бірнеше сұрақ қояды; біздің кейіпкерлеріміз алдын ала олар бұл ақпаратты ақылды әлеуметтік инженерия арқылы Артурдан оңай шығарып алады. Осы сәттен бастап тамаша құпия сөз қауіпсіздігі маңызды емес.

(Біз жеке тексерген және растаған қалалық аңыз бойынша, криптограф Эли Бихам бір рет қауіпсіздік сұрағын қоюды талап еткен банк кассасын кездестірді. Кассир өзінің әжесінің аты-жөнін сұрағанда, Бихам диктант айта бастады: «Капитал X, кішкентай у, үш...»).

Криптографияда дәл солай, егер бір активті қорғау үшін екі криптографиялық хаттама қатар қолданылса және біреуі екіншісінен әлдеқайда әлсіз. Алынған жүйе протоколаралық шабуылға осал болады, онда күштірекке қол тигізбестен жүлдеге жету үшін әлсіз протоколға шабуыл жасалады.

Кейбір күрделі жағдайларда әлсіз протоколды пайдаланып сервермен байланысу жеткіліксіз, бірақ заңды клиенттің еріксіз қатысуын талап етеді. Мұны төмендетілген шабуыл деп аталатын шабуыл арқылы ұйымдастыруға болады. Бұл шабуылды түсіну үшін біздің иллюзионистердің алдында фильмдегіден де қиын міндет тұр деп есептейік. Банк қызметкері (кассир) мен Артур күтпеген жағдайларға тап болды делік, нәтижесінде келесі диалог болды:

Ұры: Сәлеметсіз бе? Бұл Артур Тресслер. Мен құпия сөзімді қалпына келтіргім келеді.

Кассир: Тамаша. Жеке құпия код кітабын қараңыз, 28-бет, 3-сөз. Келесі барлық хабарлар кілт ретінде осы арнайы сөзді пайдаланып шифрланады. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Ұры: Эй, эй, күт, күт. Бұл шынымен қажет пе? Біз қарапайым адамдар сияқты сөйлесе алмаймыз ба?

Кассир: Мен мұны істеуді ұсынбаймын.

Ұры: Мен жай ғана... қараңызшы, менде жаман күн болды, жарай ма? Мен VIP-клиентпін және осы ақымақ код кітаптарын зерттейтін көңіл-күйім жоқ.

Кассир: Жақсы. Егер сіз талап етсеңіз, Тресслер мырза. Саған не керек?

Ұры: Өтінемін, мен барлық ақшамды Артур Тресслер құрбандарының ұлттық қорына аударғым келеді.

(Үзіліс).

Кассир: Осылай түсінікті ме. Үлкен транзакциялар үшін PIN кодын беріңіз.

Ұры: Менің не?

Кассир: Сіздің жеке өтінішіңіз бойынша мұндай көлемдегі транзакциялар ірі транзакциялар үшін PIN кодын талап етеді. Бұл код сізге тіркелгіңізді ашқан кезде берілді.

Ұры:... Мен оны жоғалтып алдым. Бұл шынымен қажет пе? Сіз жай ғана келісімді мақұлдай алмайсыз ба?

Кассир: Жоқ. Кешіріңіз, Тресслер мырза. Тағы да, бұл сіз сұраған қауіпсіздік шарасы. Қаласаңыз, пошта жәшігіңізге жаңа PIN кодын жібере аламыз.

Біздің кейіпкерлер операцияны кейінге қалдырады. Олар PIN кодын естуге үміттеніп, Тресслердің бірнеше ірі транзакцияларын тыңдайды; бірақ қызықты бірдеңе айтылмай тұрып, әңгіме кодталған бос сөзге айналады. Ақыры, жақсы күндердің бірінде жоспар іске асады. Олар Тресслердің телефон арқылы үлкен транзакция жасауы керек сәтін шыдамдылықпен күтеді, ол желіге кіреді, содан кейін...

Тресслер: Сәлеметсіз бе. Мен қашықтағы транзакцияны аяқтағым келеді, өтінемін.

Кассир: Тамаша. Жеке құпия код кітабыңызды, парақшаңызды қараңыз...

(Ұры түймені басады; кассирдің дауысы түсініксіз шуға айналады).

Кассир: - #@$#@$#*@$$@#* кілт ретінде осы сөзбен шифрланады. AAAYRR PLRQRZ MMNJK LOJBAN…

Тресслер: Кешіріңіз, мен толық түсінбедім. Тағы бір рет? Қай бетте? Қандай сөз?

Кассир: Бұл @#$@#*$)#*#@()#@$(#@*$(#@*) беті.

Тресслер: Не?

Кассир: Сөз саны жиырма @$#@$#%#$.

Тресслер: Шынайы! Қазірдің өзінде жеткілікті! Сіз және сіздің қауіпсіздік протоколыңыз цирк сияқты. Сіз менімен әдеттегідей сөйлесе алатыныңызды білемін.

Кассир: Мен ұсынбаймын…

Тресслер: Мен сізге уақытымды босқа өткізуге кеңес бермеймін. Телефон желісіндегі ақауларды түзетпейінше, бұл туралы бұдан былай естігім келмейді. Біз бұл келісімді аяқтай аламыз ба, жоқ па?

Кассир:… Иә. Жақсы. Саған не керек?

Тресслер: Мен Lord Business Investments-ке 20 000 доллар аударғым келеді, шот нөмірі...

Кассир: Бір минут өтінемін. Бұл үлкен мәселе. Үлкен транзакциялар үшін PIN кодын беріңіз.

Тресслер: Не? О, дәл. 1234.

Міне, төмен шабуыл. Әлсіз хаттама «тікелей сөйлесу» ретінде қарастырылды опция төтенше жағдайда. Сонда да біз осындамыз.

Жоғарыда сипатталғандай, кімнің ақыл-ойы дұрыс болса, нақты «басқаша сұралмағанша қауіпсіз» жүйені құрастырады деп ойлануыңыз мүмкін. Бірақ ойдан шығарылған банк криптографияны ұнатпайтын клиенттерді ұстап қалу үшін тәуекелге баратыны сияқты, жалпы жүйелер қауіпсіздікке немқұрайлы немесе тіпті мүлдем қарсы келетін талаптарға жүгінеді.

2 жылы SSLv1995 протоколымен дәл осылай болды. АҚШ үкіметі көптен бері криптографияны сыртқы және ішкі жаулардан аулақ ұстайтын қару ретінде қарастыра бастады. Код бөліктері Америка Құрама Штаттарынан экспорттау үшін жеке мақұлданды, көбінесе алгоритмді әдейі әлсірету шартымен. Ең танымал браузер Netscape Navigator әзірлеушісіне SSLv2 рұқсаты тек табиғи осал 512-биттік RSA кілтімен (және RC40 үшін 4-бит) берілді.

Мыңжылдықтың соңына қарай ережелер жеңілдеп, заманауи шифрлауға қол жеткізу кеңінен қол жетімді болды. Дегенмен, кез келген бұрынғы жүйеге қолдау көрсететін бірдей инерцияға байланысты клиенттер мен серверлер жылдар бойы әлсіреген «экспорттау» криптографиясын қолдады. Клиенттер басқа ештеңені қолдамайтын серверге тап болуы мүмкін деп сенді. Серверлер де солай істеді. Әрине, SSL протоколы клиенттер мен серверлер жақсырақ болған кезде ешқашан әлсіз протоколды пайдаланбауын талап етеді. Бірақ дәл сол алғышарт Тресслерге және оның банкіне қатысты.

Бұл теория Microsoft зерттеушілері мен 2015 жылы SSL протоколының қауіпсіздігін сілкіндірген екі жоғары профильді шабуылға жол тапты. ИНРИЯ. Біріншіден, FREAK шабуылының егжей-тегжейлері ақпан айында ашылды, содан кейін үш айдан кейін Logjam деп аталатын тағы бір ұқсас шабуыл болды, біз ашық кілт криптографиясына шабуылдарға көшкен кезде оны толығырақ қарастырамыз.

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемеОсалдық ФРЕАК («Smack TLS» деп те аталады) зерттеушілер TLS клиент/сервер іске асыруларын талдап, қызық қатені тапқан кезде пайда болды. Бұл іске асыруларда, егер клиент әлсіз экспорттық криптографияны пайдалануды сұрамаса, бірақ сервер әлі де осындай кілттермен жауап берсе, клиент «О, жақсы» дейді және әлсіз шифрлар жиынтығына ауысады.

Ол кезде экспорттық криптография кеңінен ескірген және шектеусіз деп саналды, сондықтан шабуыл толықтай соққы болды және көптеген маңызды домендерге, соның ішінде Ақ үй, IRS және NSA сайттарына әсер етті. Одан да сорақысы, көптеген осал серверлер әр сеанс үшін жаңа кілттерді жасаудың орнына бірдей кілттерді қайта пайдалану арқылы өнімділікті оңтайландырғаны белгілі болды. Бұл хаттаманы төмендеткеннен кейін есептеу алдындағы шабуылды жүзеге асыруға мүмкіндік берді: бір кілтті бұзу салыстырмалы түрде қымбат болды (жариялану кезінде $100 және 12 сағат), бірақ қосылымға шабуыл жасаудың практикалық құны айтарлықтай төмендеді. Сервер кілтін бір рет таңдап, осы сәттен бастап барлық келесі қосылымдар үшін шифрлауды бұзу жеткілікті.

Әрі қарай қозғалмас бұрын, атап өту керек бір жетілдірілген шабуыл бар ...

Oracle шабуылы

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемеМокси Марлинспик кросс-платформалық криптографиялық хабар алмасу Signal қолданбасының әкесі ретінде танымал; бірақ бізге оның аз танымал жаңалықтарының бірі ұнайды - криптографиялық өлім принципі (Криптографиялық Doom принципі). Біраз сөзбен айтқанда, біз мынаны айта аламыз: «Егер хаттама орындалса кез келген ықтимал зиянды көзден келген хабарламаға криптографиялық операция жасайды және нәтижеге байланысты өзін басқаша ұстайды, ол жойылады». Немесе өткір түрде: «Жаудан ақпаратты өңдеу үшін қабылдамаңыз, ал егер қажет болса, кем дегенде нәтиже көрсетпеңіз».

Буфердің толып кетуін, командалық инъекцияларды және сол сияқтыларды бір жаққа қалдырайық; олар бұл талқылаудың шеңберінен тыс. «Қиямет принципін» бұзу хаттаманың дәл күтілгендей әрекет етуіне байланысты күрделі криптографиялық бұзуларға әкеледі.

Мысал ретінде осал ауыстыру шифры бар жалған дизайнды алайық, содан кейін ықтимал шабуылды көрсетейік. Біз жиілікті талдау арқылы ауыстыру шифріне жасалған шабуылды көргенімізбен, бұл «сол шифрды бұзудың басқа жолы» ғана емес. Керісінше, oracle шабуылдары жиілік талдауы сәтсіз болатын көптеген жағдайларға қолданылатын әлдеқайда заманауи өнертабыс болып табылады және біз келесі бөлімде мұның демонстрациясын көреміз. Мұнда қарапайым шифр мысалды түсінікті ету үшін ғана таңдалады.

Сонымен, Алиса мен Боб өздеріне ғана белгілі кілтті пайдаланып, қарапайым ауыстыру шифрін пайдаланып сөйлеседі. Олар хабарламалардың ұзақтығына өте қатаң: олардың ұзындығы дәл 20 таңбадан тұрады. Сондықтан олар егер біреу қысқарақ хабарлама жібергісі келсе, оны дәл 20 таңбаға жеткізу үшін хабарламаның соңына жалған мәтін қосу керек деп келісті. Біраз талқылаудан кейін олар тек келесі жалған мәтіндерді қабылдаймыз деп шешті: a, bb, ccc, dddd Осылайша, кез келген қажетті ұзындықтағы жалған мәтін белгілі болады.

Алиса немесе Боб хабарлама алған кезде, олар алдымен хабарламаның дұрыс ұзындығын (20 таңба) және жұрнақтың дұрыс жалған мәтін екенін тексереді. Егер бұлай болмаса, олар тиісті қате туралы хабармен жауап береді. Мәтін ұзындығы мен жалған мәтін дұрыс болса, алушы хабарламаны өзі оқып, шифрланған жауапты жібереді.

Шабуыл кезінде шабуылдаушы Бобқа ұқсайды және Алисаға жалған хабарламалар жібереді. Хабарламалар мүлдем нонсенс - шабуылдаушыда кілт жоқ, сондықтан мағыналы хабарлама жасай алмайды. Бірақ хаттама өлім қағидасын бұзғандықтан, шабуылдаушы Алиса төменде көрсетілгендей негізгі ақпаратты ашу үшін әлі де тұзаққа түсіре алады.

Ұры: PREWF ZHJKL MMMN. LA

Alice: Жарамсыз жалған мәтін.

Ұры: PREWF ZHJKL MMMN. LB

Alice: Жарамсыз жалған мәтін.

Ұры: PREWF ZHJKL MMMN. LC

Alice: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Ұры Алисаның не айтқанын білмейді, бірақ бұл таңбаны атап өтеді C сәйкес келуі керек a, Алиса жалған мәтінді қабылдағандықтан.

Ұры: REWF ZHJKL MMMN. LAA

Alice: Жарамсыз жалған мәтін.

Ұры: REWF ZHJKL MMMN. LBB

Alice: Жарамсыз жалған мәтін.

Бірнеше әрекеттен кейін...

Ұры: REWF ZHJKL MMMN. LGG

Alice: Жарамсыз жалған мәтін.

Ұры: REWF ZHJKL MMMN. LHH

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

Тағы да, шабуылдаушы Алисаның не айтқанын білмейді, бірақ Алиса жалған мәтінді қабылдағандықтан, H b сәйкес келуі керек екенін ескертеді.

Шабуылдаушы әрбір кейіпкердің мағынасын білмейінше.

Бір қарағанда, әдіс таңдалған ашық мәтіндік шабуылға ұқсайды. Соңында шабуылдаушы шифрлық мәтіндерді таңдайды, ал сервер оларды мойынсұнғышпен өңдейді. Бұл шабуылдарды нақты әлемде өміршең ететін басты айырмашылық – шабуылдаушыға нақты транскриптке қол жеткізудің қажеті жоқ — сервердің жауабы, тіпті «Жарамсыз жалған мәтін» сияқты зиянсыз жауап болса да жеткілікті.

Бұл нақты шабуыл нұсқаушы болғанымен, «жалған мәтін» схемасының ерекшеліктеріне, қолданылатын нақты криптографиялық жүйеге немесе шабуылдаушы жіберген хабарламалардың нақты тізбегіне тым қатты мән бермеңіз. Негізгі идея - Алиса ашық мәтіннің қасиеттеріне қарай басқаша әрекет етеді және сәйкес шифр мәтінінің шын мәнінде сенімді жақтан келгенін тексермей жасайды. Осылайша, Алиса шабуылдаушыға оның жауаптарынан құпия ақпаратты сығып алуға мүмкіндік береді.

Бұл сценарийде өзгертуге болатын көп нәрсе бар. Алиса әрекет ететін рәміздер немесе оның мінез-құлқындағы айырмашылық немесе тіпті қолданылған криптожүйе. Бірақ принцип өзгеріссіз қалады және тұтастай алғанда шабуыл бір немесе басқа түрде өміршең болып қалады. Бұл шабуылдың негізгі орындалуы бірнеше қауіпсіздік қателерін ашуға көмектесті, біз оларды жақын арада қарастырамыз; бірақ алдымен теориялық сабақ алу керек. Нағыз заманауи шифрмен жұмыс істей алатын шабуылда осы жалған «Алиса сценарийін» қалай пайдалануға болады? Бұл тіпті теориялық тұрғыдан мүмкін бе?

1998 жылы швейцариялық криптограф Даниэль Блейхенбахер бұл сұраққа оң жауап берді. Ол белгілі бір хабарлама схемасын қолдана отырып, кеңінен қолданылатын RSA ашық кілт криптожүйесіне oracle шабуылын көрсетті. Кейбір RSA іске асыруларында сервер ашық мәтіннің схемаға сәйкес келетініне немесе сәйкес келмейтініне байланысты әртүрлі қате хабарларымен жауап береді; бұл шабуылды жүзеге асыру үшін жеткілікті болды.

Төрт жылдан кейін, 2002 жылы француз криптографы Серж Воденай жоғарыдағы Алиса сценарийінде сипатталғанға ұқсас оракулдық шабуылды көрсетті - тек жалған шифрдың орнына ол адамдар шын мәнінде қолданатын заманауи шифрлардың бүкіл беделді сыныбын бұзды. Атап айтқанда, Воденейдің шабуылы бекітілген кіріс өлшемі шифрларына («блоктық шифрлар») бағытталған, олар «CBC шифрлау режимі» деп аталатын және белгілі бір танымал толтыру схемасы бар, негізінен Алиса сценарийіндегіге тең.

Сондай-ақ 2002 жылы американдық криптограф Джон Келси - авторлардың бірі Екі балық — хабарламаларды қысатын, содан кейін оларды шифрлайтын жүйелерге әртүрлі Oracle шабуылдарын ұсынды. Олардың ішіндегі ең маңыздысы шифрлық мәтіннің ұзындығынан ашық мәтіннің бастапқы ұзындығын жиі шығаруға болатынын пайдаланған шабуыл болды. Теорияда бұл бастапқы ашық мәтіннің бөліктерін қалпына келтіретін oracle шабуылына мүмкіндік береді.

Төменде біз Воденей және Келси шабуылдарының егжей-тегжейлі сипаттамасын береміз (біз ашық кілт криптографиясына шабуылдарға көшкен кезде Блейхенбахер шабуылының егжей-тегжейлі сипаттамасын береміз). Бар күш-жігерімізге қарамастан, мәтін біршама техникалық болады; сондықтан жоғарыда айтылғандар сізге жеткілікті болса, келесі екі бөлімді өткізіп жіберіңіз.

Воденнің шабуылы

Vaudenay шабуылын түсіну үшін алдымен блоктық шифрлар мен шифрлау режимдері туралы көбірек айту керек. «Блоктық шифр» атап өткендей, белгілі бір бекітілген ұзындықтағы («блок ұзындығы») кілт пен кірісті қабылдайтын және сол ұзындықтағы шифрланған блокты шығаратын шифр. Блоктық шифрлар кеңінен қолданылады және салыстырмалы түрде қауіпсіз деп саналады. Бірінші заманауи шифр болып есептелетін қазір зейнеткерлікке шыққан DES блоктық шифр болды. Жоғарыда айтылғандай, бүгінгі күні кеңінен қолданылатын AES үшін де солай.

Өкінішке орай, блоктық шифрлардың бір әлсіз жағы бар. Әдеттегі блок өлшемі 128 бит немесе 16 таңба. Әлбетте, заманауи криптография үлкенірек кіріс деректерімен жұмыс істеуді талап етеді және шифрлау режимдері дәл осы жерде ойнайды. Шифрлау режимі негізінен бұзу болып табылады: бұл белгілі бір өлшемдегі енгізуді еркін ұзындықтағы енгізуге ғана қабылдайтын блоктық шифрды қандай да бір түрде қолдану тәсілі.

Vodene шабуылы танымал CBC (Cipher Block Chaining) жұмыс режиміне бағытталған. Шабуыл негізгі блок шифрын сиқырлы, алынбайтын қара жәшік ретінде қарастырады және оның қауіпсіздігін толығымен айналып өтеді.

Міне, CBC режимі қалай жұмыс істейтінін көрсететін диаграмма:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Шеңберленген плюс XOR (ерекше НЕМЕСЕ) әрекетін білдіреді. Мысалы, шифрленген мәтіннің екінші блогы алынады:

  1. Бірінші шифрленген мәтін блогымен екінші ашық мәтін блогында XOR операциясын орындау арқылы.
  2. Алынған блокты кілт арқылы блоктық шифрмен шифрлау.

CBC екілік XOR операциясын соншалықты көп пайдаланатындықтан, оның кейбір қасиеттерін еске түсіріп көрейік:

  • Импотенция: Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме
  • Коммутативтілік: Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме
  • Ассоциативтілік: Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме
  • Өздігінен қайтымдылық: Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме
  • Байт өлшемі: n байт байт Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме = (байт n Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме) Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме (байт n Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме)

Әдетте, бұл қасиеттер XOR операцияларын қамтитын және бір белгісіз теңдеу болса, оны шешуге болатынын білдіреді. Мысалы, егер біз мұны білсек Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме белгісізмен Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме және әйгілі Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме и Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, онда теңдеуді шешу үшін жоғарыда аталған қасиеттерге сүйенуге болады Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. теңдеудің екі жағында XOR қолдану арқылы Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, Біз алып жатырмыз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. Мұның бәрі бір сәтте өте өзекті болады.

Біздің Алиса сценарийі мен Воденейдің шабуылы арасында екі кішкене айырмашылық және бір үлкен айырмашылық бар. Екі кішкентай:

  • Сценарийде Элис ашық мәтіндер кейіпкерлермен аяқталады деп күткен a, bb, ccc тағыда басқа. Wodene шабуылында жәбірленуші оның орнына ашық мәтіндердің N байтпен N рет аяқталуын күтеді (яғни, он алтылық 01 немесе 02 02 немесе 03 03 03 және т.б.). Бұл тек косметикалық айырмашылық.
  • Алиса сценарийінде Алисаның хабарды қабылдаған-қабылдамағанын «Қате жалған мәтін» жауабы арқылы анықтау оңай болды. Водене шабуылында көбірек талдау қажет және жәбірленушінің жағында нақты жүзеге асыру маңызды; бірақ қысқаша болу үшін, бұл талдау әлі де мүмкін екенін берілген деп алайық.

Негізгі айырмашылығы:

  • Біз бірдей криптожүйені пайдаланбағандықтан, шабуылдаушы басқаратын шифрлық мәтін байттар мен құпиялар (кілт және ашық мәтін) арасындағы қатынас басқаша болатыны анық. Сондықтан шифрлық мәтіндерді жасау және сервер жауаптарын интерпретациялау кезінде шабуылдаушы басқа стратегияны қолдануға мәжбүр болады.

Бұл басты айырмашылық Воденей шабуылын түсінуге арналған басқатырғыштың соңғы бөлігі болып табылады, сондықтан CBC-ге oracle шабуылын бірінші кезекте неліктен және қалай орнатуға болатыны туралы ойланайық.

Бізге 247 блоктан тұратын CBC шифрлық мәтіні берілді делік және біз оның шифрын ашқымыз келеді. Бұрын Алисаға жалған хабарламалар жібергеніміздей, серверге жалған хабарламалар жібере аламыз. Сервер біз үшін хабарлардың шифрын шешеді, бірақ шифрды ашуды көрсетпейді - оның орнына, Алиса сияқты, сервер тек бір бит ақпарат туралы хабарлайды: ашық мәтінде жарамды толтырғыш бар ма, жоқ па.

Алисаның сценарийінде бізде келесі қарым-қатынастар болғанын қарастырайық:

$$дисплей$$мәтін{SIMPLE_SUBSTITUTION}(мәтін{шифрмәтін},мәтін{кілт}) = мәтін{ашық мәтін}$$дисплей$$

Мұны «Алиса теңдеуі» деп атаймыз. Біз шифрлық мәтінді басқардық; сервер (Алиса) қабылданған ашық мәтін туралы анық емес ақпаратты сыртқа шығарды; және бұл бізге соңғы фактор – кілт туралы ақпаратты шығаруға мүмкіндік берді. Аналогия бойынша, егер біз CBC сценарийі үшін осындай байланысты таба алсақ, онда біз кейбір құпия ақпаратты да шығара аламыз.

Бақытымызға орай, біз пайдалана алатын қарым-қатынастар бар. Блоктық шифрдың шифрын шешу үшін соңғы шақырудың нәтижесін қарастырыңыз және бұл шығысты деп белгілеңіз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. Біз сондай-ақ ашық мәтін блоктарын белгілейміз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме және шифрлы мәтін блоктары Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме. CBC диаграммасын тағы бір қарап шығыңыз және не болып жатқанын байқаңыз:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Мұны «CBC теңдеуі» деп атаймыз.

Алиса сценарийінде шифрленген мәтінді бақылау және сәйкес ашық мәтіннің ағып кетуін бақылау арқылы біз теңдеудегі үшінші терминді - кілтті қалпына келтіретін шабуылды жасай алдық. CBC сценарийінде біз шифрлық мәтінді бақылап, сәйкес ашық мәтінде ақпараттың ағып кетуін байқаймыз. Егер ұқсастық орындалса, біз туралы ақпаратты ала аламыз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме.

Біз шынымен қалпына келтірдік делік Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, сонда ше? Сонда біз ашық мәтіннің соңғы блогын бірден басып шығара аламыз (Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме), жай енгізу арқылы Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме (бізде бар) және
алды Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме CBC теңдеуіне.

Біз шабуылдың жалпы жоспарына оптимистік көзқараспен қарайтын болсақ, егжей-тегжейлерді әзірлеу уақыты келді. Серверде ашық мәтіндік ақпараттың қалай ағып жатқанына назар аударыңыз. Алиса сценарийінде ағып кету орын алды, себебі Элис тек $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ сызықпен аяқталса ғана дұрыс хабарламамен жауап береді. a (немесе bb, және т.б., бірақ бұл жағдайлардың кездейсоқ пайда болу мүмкіндігі өте аз болды). CBC-ге ұқсас, сервер толтыруды тек және егер ғана қабылдайды Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме он алтылық санмен аяқталады 01. Ендеше, сол амалды қолданып көрейік: өзіміздің жалған құндылықтарымыз бар жалған шифрлық мәтіндерді жіберу Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемесервер толтыруды қабылдағанша.

Сервер жалған хабарламаларымыздың біріне толтыруды қабылдағанда, бұл мынаны білдіреді:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Енді біз байт-байт XOR сипатын қолданамыз:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Біз бірінші және үшінші терминдерді білеміз. Біз бұл қалған терминді - соңғы байтты қалпына келтіруге мүмкіндік беретінін көрдік Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Бұл бізге CBC теңдеуі және байт-байт қасиеті арқылы соңғы ашық мәтін блогының соңғы байты береді.

Біз мұны қалдырып, теориялық тұрғыдан күшті шифрға шабуыл жасағанымызға қанағаттануға болады. Бірақ іс жүзінде біз көп нәрсені істей аламыз: біз барлық мәтінді қалпына келтіре аламыз. Бұл Алисаның түпнұсқа сценарийінде болмаған және oracle шабуылы үшін қажет емес трюкті қажет етеді, бірақ ол әлі де үйренуге тұрарлық.

Оны түсіну үшін алдымен соңғы байттың дұрыс мәнін шығару нәтижесі екенін ескеріңіз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме бізде жаңа қабілет бар. Енді шифрлық мәтіндерді жасау кезінде біз сәйкес ашық мәтіннің соңғы байтымен жұмыс істей аламыз. Тағы да, бұл CBC теңдеуі мен байт-байт қасиетіне қатысты:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Біз енді екінші терминді білетіндіктен, біз үшінші терминді басқару үшін біріншіні басқаруды пайдалана аламыз. Біз жай ғана есептейміз:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Біз мұны бұрын жасай алмадық, өйткені бізде соңғы байт әлі жоқ Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме.

Бұл бізге қалай көмектеседі? Енді біз барлық шифрлық мәтіндерді сәйкес ашық мәтіндерде соңғы байт мынаған тең болатындай етіп жасадық делік. 02. Сервер енді ашық мәтінмен аяқталса ғана толтыруды қабылдайды 02 02. Соңғы байт түзетілгендіктен, бұл ашық мәтіннің соңғы байты да 02 болса ғана орын алады. Біз сервер олардың біреуіне толтыруды қабылдағанша, соңғы байтты өзгерте отырып, жалған шифрленген мәтін блоктарын жіберуді жалғастырамыз. Осы кезде біз аламыз:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Және біз соңғы байтты қалпына келтіреміз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме соңғысы қалпына келтірілгендей. Біз сол рухта жалғастырамыз: біз ашық мәтіннің соңғы екі байтын түзетеміз 03 03, біз бұл шабуылды соңынан үшінші байтқа қайталаймыз және т.б., сайып келгенде, толығымен қалпына келтіреміз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме.

Мәтіннің қалған бөлігі ше? мән екенін ескеріңіз Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме бұл шын мәнінде $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$. Оның орнына кез келген басқа блок қоюға болады Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме, және шабуыл әлі де сәтті болады. Шын мәнінде, біз серверден кез келген деректер үшін $inline$text{BLOCK_DECRYPT}$inline$ жасауды сұрай аламыз. Осы кезде ойын аяқталды – біз кез келген шифрленген мәтіннің шифрын шеше аламыз (мұны көру үшін CBC шифрын шешу диаграммасын тағы бір қараңыз; және IV жалпыға ортақ екенін ескеріңіз).

Бұл әдіс кейінірек кездесетін oracle шабуылында шешуші рөл атқарады.

Келсидің шабуылы

Біздің мейірімді Джон Келси нақты шифрға жасалған нақты шабуылдың егжей-тегжейлерін ғана емес, көптеген ықтимал шабуылдардың негізінде жатқан принциптерді айтты. Оның 2002 жылдың мақаласы шифрланған қысылған деректерге ықтимал шабуылдарды зерттеу болып табылады. Шифрлау алдында деректердің қысылғаны туралы ақпарат шабуыл жасау үшін жеткіліксіз деп ойладыңыз ба? Бұл жеткілікті болып шықты.

Бұл таңқаларлық нәтиже екі принципке байланысты. Біріншіден, ашық мәтіннің ұзындығы мен шифрленген мәтіннің ұзындығы арасында күшті корреляция бар; көптеген шифрлар үшін дәл теңдік. Екіншіден, қысу орындалғанда, сонымен қатар қысылған хабарламаның ұзындығы мен ашық мәтіннің «шулылық» дәрежесі, яғни қайталанбайтын таңбалар үлесі (техникалық термин «жоғары энтропия») арасында күшті корреляция бар. ).

Принципті әрекет етуде көру үшін екі ашық мәтінді қарастырыңыз:

Ашық мәтін 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Ашық мәтін 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Екі ашық мәтін де қысылған, содан кейін шифрланған делік. Сіз екі нәтижелі шифрлық мәтін аласыз және қай шифрлық мәтін қай ашық мәтінге сәйкес келетінін болжауыңыз керек:

Шифрлық мәтін 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Шифрлық мәтін 2: DWKJZXYU

Жауабы анық. Ашық мәтіндердің ішінде тек 1-ші ашық мәтінді екінші шифрленген мәтіннің шамалы ұзындығына қысуға болады. Біз мұны қысу алгоритмі, шифрлау кілті немесе тіпті шифрдың өзі туралы ештеңе білмей-ақ анықтадық. Ықтимал криптографиялық шабуылдар иерархиясымен салыстырғанда, бұл ақылсыз.

Келси одан әрі белгілі бір әдеттен тыс жағдайларда бұл принципті оракул шабуылын жүзеге асыру үшін де қолдануға болатынын көрсетеді. Атап айтқанда, ол серверді пішін деректерін шифрлауға мәжбүрлей алатын болса, шабуылдаушы құпия ашық мәтінді қалай қалпына келтіре алатынын сипаттайды (одан кейін ашық мәтін Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемеол бақылауда болған кезде Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме және қандай да бір жолмен шифрланған нәтиженің ұзындығын тексере алады.

Тағы да, басқа oracle шабуылдары сияқты, бізде қарым-қатынас бар:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Тағы да, біз бір терминді басқарамыз (Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме), біз басқа мүше туралы ақпараттың кішкене ағып кетуін көреміз (шифрлық мәтін) және соңғысын (ашық мәтін) қалпына келтіруге тырысамыз. Аналогияға қарамастан, бұл біз көрген басқа oracle шабуылдарымен салыстырғанда біршама ерекше жағдай.

Мұндай шабуылдың қалай жұмыс істейтінін көрсету үшін біз жаңа ғана ойлап тапқан жалған қысу схемасын қолданайық: 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

Бүкіл құпия сөзді қалпына келтірмейінше.

Оқырман бұл тек академиялық жаттығу және мұндай шабуыл сценарийі нақты әлемде ешқашан пайда болмайды деп ойлағаны үшін кешіріледі. Әй, жақын арада көретініміздей, криптографиядан бас тартпағанымыз абзал.

Брендтің осал тұстары: ҚЫЛМЫС, ПУДЛ, БАҒУ

Соңында, теорияны егжей-тегжейлі зерттегеннен кейін, біз бұл әдістердің нақты өмірдегі криптографиялық шабуылдарда қалай қолданылатынын көре аламыз.

Қылмыс

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемеЕгер шабуыл құрбанның браузері мен желісіне бағытталған болса, кейбіреулер оңайырақ болады, ал кейбіреулері қиынырақ болады. Мысалы, жәбірленушінің қозғалысын көру оңай: онымен WiFi бар бір кафеде отырыңыз. Осы себепті ықтимал құрбандарға (яғни барлығына) әдетте шифрланған қосылымды пайдалану ұсынылады. Жәбірленушінің атынан үшінші тарап сайтына (мысалы, Google) HTTP сұрауларын жасау қиынырақ болады, бірақ бәрібір мүмкін болады. Шабуылдаушы құрбанды сұрауды жасайтын сценарийі бар зиянды веб-бетке тартуы керек. Веб-шолғыш автоматты түрде сәйкес сеанс cookie файлын береді.

Бұл таңқаларлық көрінеді. Егер Боб барса evil.com, осы сайттағы сценарий Google-дан Бобтың құпия сөзін электрондық поштаға жіберуін сұрай алады [email protected]? Теорияда иә, бірақ іс жүзінде жоқ. Бұл сценарий сайт аралық сұрауды жалған шабуыл деп аталады (Сайтаралық сұрауды жалған жасау, CSRF) және ол 90-шы жылдардың ортасында танымал болды. Бүгін егер evil.com бұл трюкті қолданып көрсе, Google (немесе кез келген өзін құрметтейтін веб-сайт) әдетте былай деп жауап береді: «Тамаша, бірақ бұл транзакцияға арналған CSRF белгісі... три триллиона и семь. Осы нөмірді қайталаңыз." Заманауи шолғыштарда «бір шыққан саясат» деп аталатын нәрсе бар, оның көмегімен А сайтындағы сценарийлер В веб-сайты жіберген ақпаратқа қол жеткізе алмайды. Сондықтан сценарий evil.com сұраныстарын жібере алады google.com, бірақ жауаптарды оқи алмайды немесе транзакцияны нақты аяқтай алмайды.

Боб шифрланған қосылымды пайдаланбаса, бұл қорғаулардың бәрі мағынасыз екенін атап өтуіміз керек. Шабуылдаушы жай ғана Бобтың трафигін оқи алады және Google сеансының cookie файлын қалпына келтіре алады. Бұл cookie файлының көмегімен ол өз браузерінен шықпай-ақ жаңа Google қойындысын ашады және бір шыққан саясаттарына тап болмай, Бобқа ұқсайды. Бірақ, өкінішке орай, ұры үшін бұл азайып барады. Жалпы Интернет шифрланбаған қосылымдарға ұзақ уақыт бойы соғыс жариялады және Бобтың шығыс трафигі оған ұнаса да, қаламаса да шифрланған болуы мүмкін. Сонымен қатар, хаттаманы іске асырудың басынан бастап трафик те болды кішірейді шифрлау алдында; бұл кешіктіруді азайту үшін әдеттегі тәжірибе болды.

Міне, бұл ойынға түседі Қылмыс (Compression Ratio Infoleak Made Easy, қысу қатынасы арқылы қарапайым ағып кету). Бұл осалдықты 2012 жылдың қыркүйегінде Джулиано Риццо мен Тай Дуонг қауіпсіздік зерттеушілері анықтаған. Біз олардың не істегенін және қалай жасағанын түсінуге мүмкіндік беретін бүкіл теориялық негізді қарастырдық. Шабуылдаушы Боб браузерін Google-ға сұраулар жіберуге, содан кейін қысылған, шифрланған пішінде жергілікті желідегі жауаптарды тыңдауға мәжбүрлей алады. Сондықтан бізде:

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме

Мұнда шабуылдаушы сұрауды басқарады және пакет өлшемін қоса алғанда, трафик снайферіне қол жеткізе алады. Келсидің ойдан шығарылған сценарийі өмірге келді.

Теорияны түсіне отырып, CRIME авторлары Gmail, Twitter, Dropbox және Github сияқты көптеген сайттар үшін сеанс cookie файлдарын ұрлай алатын эксплойт жасады. Бұл осалдық қазіргі заманғы веб-шолғыштардың көпшілігіне әсер етті, нәтижесінде патчтар шығарылды, олар SSL форматында қысу мүмкіндігін мүлде пайдаланбау үшін үнсіз көміп тастады. Осалдықтан қорғалған жалғыз нәрсе - SSL қысуын мүлде пайдаланбаған құрметті Internet Explorer.

ПАУЫЛ

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктеме2014 жылдың қазан айында Google қауіпсіздік тобы қауіпсіздік қоғамдастығында толқындар жасады. Олар он жылдан астам уақыт бұрын түзетілген SSL протоколындағы осалдықты пайдалана алды.

Серверлер жылтыр жаңа TLSv1.2 нұсқасын іске қосып жатқанда, көпшілігі Internet Explorer 3 нұсқасымен кері үйлесімділік үшін бұрынғы SSLv6 қолдауын қалдырған. Біз төмендеу шабуылдары туралы жоғарыда айтқан болатынбыз, сондықтан не болып жатқанын елестете аласыз. Қол алысу протоколының жақсы ұйымдастырылған саботажы және серверлер соңғы 3 жылдағы қауіпсіздік зерттеулерін жоққа шығара отырып, ескі жақсы SSLv15-ке оралуға дайын.

Тарихи контекст үшін, мұнда Мэттью Гриннің 2 нұсқасына дейінгі SSL тарихының қысқаша мазмұны берілген:

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 Vodene шабуылын бастау үшін барлық қажетті құрылыс блоктарын қамтамасыз етті. Протокол CBC режимінің блок шифрін және қауіпті толтыру схемасын пайдаланды (бұл TLS-те түзетілді; демек, төмендету шабуылы қажет). Егер Vaudenay шабуылының бастапқы сипаттамасында толтыру схемасы есіңізде болса, SSLv3 схемасы өте ұқсас.

Бірақ, өкінішке орай, ұрылар үшін «ұқсас» «бірдей» дегенді білдірмейді. SSLv3 толтыру схемасы «N кездейсоқ байт, одан кейін N саны». Осы шарттарда шифрлы мәтіннің ойдан шығарылған блогын таңдап көріңіз және Воденнің бастапқы схемасының барлық қадамдарынан өтіңіз: шабуылдың соңғы байтты ашық мәтіннің сәйкес блогынан сәтті шығарып алғанын, бірақ одан әрі кетпейтінін көресіз. Шифрленген мәтіннің әрбір 16-шы байтының шифрын шешу - бұл тамаша қулық, бірақ бұл жеңіс емес.

Сәтсіздікке тап болған Google командасы соңғы шараға жүгінді: олар ҚЫЛМЫС-та қолданылатын неғұрлым күшті қауіп үлгісіне көшті. Шабуылдаушы жәбірленушінің шолғыш қойындысында жұмыс істейтін сценарий және сеанс cookie файлдарын шығара алады деп есептесек, шабуыл әлі де әсерлі. Қауіптің кеңірек моделі шынайы емес болса да, біз алдыңғы бөлімде бұл нақты модельдің орындалу мүмкіндігін көрдік.

Осы күшті шабуылдаушылардың мүмкіндіктерін ескере отырып, шабуыл енді жалғасуы мүмкін. Шабуылдаушы шифрланған сеанс cookie файлының тақырыпта қай жерде пайда болатынын білетінін және оның алдындағы HTTP сұрауының ұзақтығын басқаратынын ескеріңіз. Сондықтан ол HTTP сұрауын манипуляциялай алады, осылайша cookie файлының соңғы байты блоктың соңына сәйкес келеді. Енді бұл байт шифрды шешуге жарамды. Сұранысқа жай ғана бір таңба қосуға болады, ал cookie файлының соңғы байты сол жерде қалады және сол әдісті пайдаланып таңдауға жарамды. Шабуыл cookie файлы толығымен қалпына келгенше осылай жалғасады. Ол POODLE деп аталады: төмендетілген бұрынғы шифрлаудағы Padding Oracle.

БАТЫП АЛУ

Криптографиялық шабуылдар: абдырап қалған саналарға түсініктемеЖоғарыда айтқанымыздай, SSLv3-тің кемшіліктері болды, бірақ ол бұрынғысынан түбегейлі ерекшеленеді, өйткені ағып кеткен SSLv2 басқа дәуірдің өнімі болды. Онда сіз хабарды ортасында үзуге болады: соглашусь на это только через мой труп айналды соглашусь на это; клиент пен сервер желіде кездесіп, сенім орнатып, шабуылдаушының алдында құпиялармен алмаса алады, ол кейін екеуінің де кейпін оңай көрсете алады. Сондай-ақ экспорттық криптография мәселесі бар, оны біз FREAK-ті қарастыру кезінде айтқанбыз. Бұл криптографиялық Содом мен Гоморра болды.

2016 жылдың наурыз айында әртүрлі техникалық салалардағы зерттеушілер тобы жиналып, таңқаларлық жаңалық жасады: SSLv2 әлі де қауіпсіздік жүйелерінде қолданылады. Иә, шабуылдаушылар бұдан былай заманауи TLS сеанстарын SSLv2-ге төмендете алмады, өйткені бұл тесік FREAK және POODLE-дан кейін жабылды, бірақ олар әлі де серверлерге қосылып, SSLv2 сеанстарын өздері бастай алады.

Сұрайтын шығарсыз, олар неліктен бізді қызықтырады? Олардың осал сеансы бар, бірақ ол басқа сеанстарға немесе сервердің қауіпсіздігіне әсер етпеуі керек, солай ма? Мүлдем емес. Иә, теорияда солай болуы керек. Бірақ жоқ – өйткені SSL сертификаттарын жасау белгілі бір жүктемені жүктейді, нәтижесінде көптеген серверлер бірдей сертификаттарды және нәтижесінде TLS және SSLv2 қосылымдары үшін бірдей RSA кілттерін пайдаланады. Ең сорақысы, OpenSSL қатесіне байланысты осы танымал SSL енгізуіндегі «SSLv2 өшіру» опциясы іс жүзінде жұмыс істемеді.

Бұл TLS деп аталатын протоколаралық шабуылды мүмкін етті БАТЫП АЛУ (Ескірген және әлсіреген шифрлаумен RSA шифрын ашу, ескірген және әлсіреген шифрлаумен RSA шифрын ашу). Естеріңізге сала кетейік, бұл қысқа шабуылмен бірдей емес; шабуылдаушыға «ортадағы адам» ретінде әрекет етудің қажеті жоқ және клиентті қауіпті сеансқа қатысуға тартудың қажеті жоқ. Шабуыл жасаушылар сервермен қауіпсіз SSLv2 сеансын өздері бастайды, әлсіз протоколға шабуыл жасайды және сервердің RSA жеке кілтін қалпына келтіреді. Бұл кілт TLS қосылымдары үшін де жарамды және осы сәттен бастап TLS қауіпсіздігінің ешбір мөлшері оның бұзылуына жол бермейді.

Бірақ оны бұзу үшін сізге SSLv2-ге қарсы жұмыс шабуылы қажет, ол белгілі бір трафикті ғана емес, сонымен қатар құпия RSA сервер кілтін де қалпына келтіруге мүмкіндік береді. Бұл күрделі орнату болса да, зерттеушілер SSLv2-ден кейін толығымен жабылған кез келген осалдықты таңдай алады. Ақырында олар қолайлы нұсқаны тапты: біз бұрын айтқан және келесі мақалада егжей-тегжейлі түсіндіретін Блейхенбахер шабуылы. SSL және TLS бұл шабуылдан қорғалған, бірақ SSL-дің кейбір кездейсоқ мүмкіндіктері экспорттық деңгейдегі криптографиядағы қысқа кілттермен біріктірілген. DROWN нақты іске асыру.

Жарияланған кезде Интернеттегі ең танымал сайттардың 25% DROWN осалдығынан зардап шекті және шабуыл тіпті бұзақы жалғыз хакерлерге қолжетімді қарапайым ресурстармен жүзеге асырылуы мүмкін. Сервердің RSA кілтін шығарып алу үшін сегіз сағаттық есептеу және 440 доллар қажет болды, ал SSLv2 ескіргеннен радиоактивтіге айналды.

Күте тұрыңыз, Heartbleed ше?

Бұл жоғарыда сипатталған мағынада криптографиялық шабуыл емес; Бұл буфердің толып кетуі.

Бір үзіліс жасайық

Біз кейбір негізгі әдістерден бастадық: дөрекі күш, интерполяция, төмендету, хаттамааралық және алдын ала есептеу. Содан кейін біз заманауи криптографиялық шабуылдардың негізгі құрамдас бөлігі болуы мүмкін бір жетілдірілген әдісті қарастырдық: oracle шабуылы. Біз оны анықтауға біраз уақыт жұмсадық - және тек негізгі принципті ғана емес, сонымен қатар екі нақты іске асырудың техникалық мәліметтерін де түсіндік: CBC шифрлау режиміне Воденей шабуылы және қысу алдындағы шифрлау протоколдарына Келси шабуылы.

Төмендету және алдын ала есептеу шабуылдарын қарастырған кезде біз мақсатты сайттарды әлсіз кілттерге дейін төмендетіп, содан кейін бірдей кілттерді қайта пайдалану арқылы екі әдісті де қолданатын FREAK шабуылын қысқаша сипаттадық. Келесі мақалада біз ашық кілт алгоритмдеріне бағытталған (өте ұқсас) Logjam шабуылын сақтаймыз.

Содан кейін біз осы принциптерді қолданудың тағы үш мысалын қарастырдық. Біріншіден, CRIME және POODLE: шабуылдаушының мақсатты ашық мәтіннің жанына еркін ашық мәтінді енгізу мүмкіндігіне негізделген екі шабуыл, содан кейін сервердің жауаптарын және содан кейін,oracle шабуыл әдістемесін пайдаланып, осы сирек ақпаратты ашық мәтінді жартылай қалпына келтіру үшін пайдаланыңыз. ҚЫЛМЫС Келсидің SSL сығымдауындағы шабуылының бағытымен жүрді, ал POODLE оның орнына Воденейдің CBC-ге бірдей әсерлі шабуылының нұсқасын пайдаланды.

Содан кейін біз бұрынғы SSLv2 хаттамасы арқылы серверге қосылым орнататын, содан кейін Bleichenbacher шабуылы арқылы сервердің құпия кілттерін қалпына келтіретін DROWN протоколдық шабуылына назар аудардық. Әзірге бұл шабуылдың техникалық мәліметтерін өткізіп жібердік; Logjam сияқты, ол ашық кілттердің криптожүйелерін және олардың осалдықтарын жақсы түсінгенше күту керек.

Келесі мақалада біз ортада кездесу, дифференциалды криптоталдау және туған күн шабуылдары сияқты кеңейтілген шабуылдар туралы айтатын боламыз. Бүйірлік арналық шабуылдарға жылдам шолу жасайық, содан кейін қызықты бөлікке көшейік: ашық кілттердің криптожүйелері.

Ақпарат көзі: www.habr.com

пікір қалдыру