Sulmet kriptografike: një shpjegim për mendjet e hutuara

Kur dëgjoni fjalën "kriptografi", disa njerëz kujtojnë fjalëkalimin e tyre WiFi, drynin jeshil pranë adresës së faqes së tyre të preferuar të internetit dhe sa e vështirë është të futesh në emailin e dikujt tjetër. Të tjerë kujtojnë një sërë dobësish në vitet e fundit me shkurtesat e theksuara (DROWN, FREAK, POODLE...), logot me stil dhe një paralajmërim për të përditësuar urgjentisht shfletuesin tuaj.

Kriptografia i mbulon të gjitha, por thelbi në një tjetër. Çështja është se ekziston një vijë e hollë midis të thjeshtës dhe kompleksit. Disa gjëra janë të lehta për t'u bërë, por të vështira për t'u bashkuar, si thyerja e një veze. Gjërat e tjera janë të lehta për t'u bërë, por të vështira për t'u rikthyer kur mungon një pjesë e vogël, e rëndësishme, thelbësore: për shembull, hapja e një dere të mbyllur kur "pjesa thelbësore" është çelësi. Kriptografia studion këto situata dhe se si ato mund të përdoren në praktikë.

Vitet e fundit, koleksioni i sulmeve kriptografike është shndërruar në një kopsht zoologjik me logot e ndezura, të mbushura me formula nga punimet shkencore dhe kanë shkaktuar një ndjenjë të përgjithshme të zymtë se gjithçka është prishur. Por në fakt, shumë nga sulmet bazohen në disa parime të përgjithshme dhe faqet e pafundme të formulave shpesh përmbledhen në ide të lehta për t'u kuptuar.

Në këtë seri artikujsh, ne do të shikojmë llojet e ndryshme të sulmeve kriptografike, me theks në parimet bazë. Në terma të përgjithshëm dhe jo saktësisht në këtë renditje, por ne do të mbulojmë sa vijon:

  • Strategjitë bazë: forca brutale, analiza e frekuencës, interpolimi, zvogëlimi dhe protokollet e kryqëzuara.
  • Dobësitë e markës: FRANCË, KRIM, QEHURI, MBYTET, Logjam.
  • Strategjitë e avancuara: sulmet e orakullit (sulmi Vodenet, sulmi Kelsey); metoda meet-in-the-middle, sulmi i ditëlindjes, paragjykimi statistikor (kriptanaliza diferenciale, kriptanaliza integrale, etj.).
  • Sulmet e kanaleve anësore dhe të afërmit e tyre të afërt, teknikat e analizës së dështimit.
  • Sulmet ndaj kriptografisë me çelës publik: rrënja e kubit, transmetimi, mesazhi i lidhur, sulmi i Coppersmith, algoritmi Pohlig-Hellman, sita e numrave, sulmi Wiener, sulmi Bleichenbacher.

Ky artikull i veçantë mbulon materialin e mësipërm deri në sulmin e Kelsey-t.

Strategjitë Bazë

Sulmet e mëposhtme janë të thjeshta në kuptimin që ato mund të shpjegohen pothuajse plotësisht pa shumë detaje teknike. Le të shpjegojmë çdo lloj sulmi në termat më të thjeshtë, pa hyrë në shembuj kompleksë ose raste përdorimi të avancuar.

Disa nga këto sulme janë bërë kryesisht të vjetruara dhe nuk janë përdorur për shumë vite. Të tjerët janë të vjetër, të cilët ende rregullisht shkojnë fshehurazi me zhvilluesit e padyshimtë të kriptosistemit në shekullin e 21-të. Epoka e kriptografisë moderne mund të konsiderohet se ka filluar me ardhjen e IBM DES, shifra e parë që i rezistoi çdo sulmi në këtë listë.

Forcë e thjeshtë brutale

Sulmet kriptografike: një shpjegim për mendjet e hutuaraSkema e enkriptimit përbëhet nga dy pjesë: 1) një funksion kriptimi që merr një mesazh (tekst të thjeshtë) të kombinuar me një çelës dhe më pas prodhon një mesazh të koduar—tekst shifror; 2) një funksion deshifrimi që merr tekstin e shifruar dhe çelësin dhe prodhon tekstin e thjeshtë. Si kriptimi ashtu edhe deshifrimi duhet të jenë të lehta për t'u llogaritur me çelës - dhe të vështira për t'u kuptuar pa të.

Le të supozojmë se shohim tekstin e shifruar dhe përpiqemi ta deshifrojmë atë pa ndonjë informacion shtesë (ky quhet sulm vetëm për tekstin shifror). Nëse në njëfarë mënyre gjejmë me magji çelësin e saktë, mund të verifikojmë lehtësisht se ai është me të vërtetë i saktë nëse rezultati është një mesazh i arsyeshëm.

Vini re se këtu ka dy supozime të nënkuptuara. Së pari, ne dimë se si të kryejmë deshifrimin, domethënë si funksionon kriptosistemi. Ky është një supozim standard kur diskutohet kriptografia. Fshehja e detajeve të zbatimit të shifrës nga sulmuesit mund të duket si një masë sigurie shtesë, por sapo sulmuesi të kuptojë këto detaje, kjo siguri shtesë humbet në heshtje dhe në mënyrë të pakthyeshme. Kështu Parimi Kerchhoffs: Sistemi që bie në duart e armikut nuk duhet të shkaktojë bezdi.

Së dyti, supozojmë se çelësi i saktë është çelësi i vetëm që do të çojë në një deshifrim të arsyeshëm. Ky është gjithashtu një supozim i arsyeshëm; kënaqet nëse teksti shifror është shumë më i gjatë se çelësi dhe është i lexueshëm. Kjo është zakonisht ajo që ndodh në botën reale, përveç çelësa të mëdhenj jopraktikë ose shaka të tjera që janë më mirë të lihen mënjanë (nëse nuk ju pëlqen heqja e shpjegimeve tona, ju lutemi shihni Teoremën 3.8 këtu).

Nisur nga sa më sipër, lind një strategji: kontrolloni çdo çelës të mundshëm. Kjo quhet forcë brutale, dhe një sulm i tillë është i garantuar të funksionojë kundër të gjitha shifrave praktike - përfundimisht. Për shembull, forca brutale është e mjaftueshme për të hakuar Shifra e Cezarit, një shifër e lashtë ku çelësi është një shkronjë e alfabetit, që nënkupton pak më shumë se 20 çelësa të mundshëm.

Fatkeqësisht për kriptanalistët, rritja e madhësisë së çelësit është një mbrojtje e mirë kundër forcës brutale. Ndërsa madhësia e çelësit rritet, numri i çelësave të mundshëm rritet në mënyrë eksponenciale. Me madhësi moderne kyçe, forca e thjeshtë brutale është krejtësisht jopraktike. Për të kuptuar se çfarë nënkuptojmë, le të marrim superkompjuterin më të shpejtë të njohur që nga mesi i vitit 2019: Samiti nga IBM, me performancë maksimale prej rreth 1017 operacionesh në sekondë. Sot, gjatësia tipike e çelësit është 128 bit, që do të thotë 2128 kombinime të mundshme. Për të kërkuar nëpër të gjithë çelësat, superkompjuterit Summit do t'i duhet kohë që është afërsisht 7800 herë më e madhe se mosha e Universit.

A duhet të konsiderohet forca brutale një kuriozitet historik? Aspak: është një përbërës i domosdoshëm në librin e gatimit të kriptanalizës. Rrallëherë shifrat janë aq të dobëta sa mund të thyhen vetëm nga një sulm i zgjuar, pa përdorimin e forcës në një shkallë ose në një tjetër. Shumë hake të suksesshme përdorin një metodë algoritmike për të dobësuar fillimisht shifrën e synuar dhe më pas për të kryer një sulm me forcë brutale.

Analiza e frekuencës

Sulmet kriptografike: një shpjegim për mendjet e hutuaraShumica e teksteve nuk janë të kota. Për shembull, në tekstet angleze ka shumë shkronja 'e' dhe artikuj 'the'; në skedarët binare ka shumë bajt null si mbushje midis pjesëve të informacionit. Analiza e frekuencës është çdo sulm që përfiton nga ky fakt.

Shembulli kanonik i një shifre të cenueshëm ndaj këtij sulmi është shifra e thjeshtë e zëvendësimit. Në këtë shifër, çelësi është një tabelë me të gjitha shkronjat e zëvendësuara. Për shembull, 'g' zëvendësohet me 'h', 'o' zëvendësohet me j, kështu që fjala 'shko' bëhet 'hj'. Ky shifër është i vështirë për t'u përdorur me forcë brutale sepse ka shumë tabela të mundshme kërkimi. Nëse jeni të interesuar për matematikën, gjatësia efektive e çelësit është rreth 88 bit: kjo është
Sulmet kriptografike: një shpjegim për mendjet e hutuara. Por analiza e frekuencës zakonisht e bën punën shpejt.

Konsideroni tekstin e mëposhtëm shifror të përpunuar me një shifër të thjeshtë zëvendësimi:

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

Prej Y ndodh shpesh, duke përfshirë në fund të shumë fjalëve, mund të supozojmë paraprakisht se kjo është shkronja e:

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

Çift XD përsëritet në fillim të disa fjalëve. Në veçanti, kombinimi XDeLe sugjeron qartë fjalën these ose there, kështu që le të vazhdojmë:

theLe ALe UGLE thWNKE WN heAJeN ANF eALth DGLAtWG se ALe FleAUt GR WN OGQL ZDWBGEGZDO

Le të supozojmë më tej se L korrespondon me r, A - a e kështu me radhë. Ndoshta do të duhen disa përpjekje, por krahasuar me një sulm të plotë të forcës brutale, ky sulm rikthen tekstin origjinal në asnjë kohë:

ka më shumë gjëra në qiell dhe tokë horatio sesa ëndërrohen në filozofinë tuaj

Për disa, zgjidhja e "kriptogrameve" të tilla është një hobi emocionues.

Ideja e analizës së frekuencës është më themelore nga sa duket në shikim të parë. Dhe kjo vlen për shifra shumë më komplekse. Gjatë historisë, dizajne të ndryshme shifrore janë përpjekur të kundërshtojnë një sulm të tillë duke përdorur "zëvendësimin polialfabetik". Këtu, gjatë procesit të enkriptimit, tabela e zëvendësimit të shkronjave modifikohet në mënyra komplekse por të parashikueshme që varen nga çelësi. Të gjitha këto shifra konsideroheshin të vështira për t'u thyer në të njëjtën kohë; dhe megjithatë analiza modeste e frekuencës përfundimisht i mposhti të gjitha.

Shifra më ambicioze polialfabetike në histori, dhe ndoshta më e famshmja, ishte shifra Enigma e Luftës së Dytë Botërore. Ishte relativisht kompleks në krahasim me paraardhësit e tij, por pas një pune të madhe, kriptanalistët britanikë e shkatërruan atë duke përdorur analizën e frekuencës. Sigurisht, ata nuk mund të zhvillonin një sulm elegant si ai i treguar më sipër; ata duhej të krahasonin çiftet e njohura të tekstit të thjeshtë dhe të koduar (i ashtuquajturi "sulm teksti i thjeshtë"), madje duke provokuar përdoruesit e Enigma që të kodonin mesazhe të caktuara dhe të analizonin rezultatin ("sulmi i zgjedhur i tekstit të thjeshtë"). Por kjo nuk e bëri më të lehtë fatin e ushtrive të mposhtura armike dhe të nëndetëseve të fundosura.

Pas këtij triumfi, analiza e frekuencës u zhduk nga historia e kriptanalizës. Shifrat në epokën moderne dixhitale janë krijuar për të punuar me bit, jo me shkronja. Më e rëndësishmja, këto shifra u krijuan me kuptimin e errët të asaj që më vonë u bë e njohur si ligji i Schneier-it: Çdokush mund të krijojë një algoritëm enkriptimi që ai vetë nuk mund ta thyejë. Nuk mjafton për sistemin e enkriptimit dukej e vështirë: për të provuar vlerën e saj, duhet t'i nënshtrohet një rishikimi të pamëshirshëm sigurie nga shumë kriptanalistë të cilët do të bëjnë çmos për të thyer shifrën.

Llogaritjet paraprake

Sulmet kriptografike: një shpjegim për mendjet e hutuaraLe të marrim një qytet hipotetik të Precom Heights, me popullsi 200. Çdo shtëpi në qytet përmban një mesatare prej 000 dollarësh sende të çmuara, por jo më shumë se 30 dollarë. Tregu i sigurisë në Precom është i monopolizuar nga ACME Industries, e cila prodhon bravat legjendare të dyerve Coyote™. Sipas analizave të ekspertëve, një bravë e klasës Coyote mund të thyhet vetëm nga një makinë hipotetike shumë komplekse, krijimi i së cilës do të kërkonte rreth pesë vjet dhe investim 000 dollarë. A është qyteti i sigurt?

Me shumë mundësi jo. Përfundimisht, do të shfaqet një kriminel mjaft ambicioz. Ai do të arsyetojë kështu: “Po, do të bëj shpenzime të mëdha paraprake. Pesë vjet pritje të pacientit dhe 50 dollarë. Por kur të mbaroj, do të kem akses në gjithë pasurinë e këtij qyteti. Nëse i luaj letrat e mia siç duhet, ky investim do të paguajë veten shumëfish.”

E njëjta gjë është e vërtetë në kriptografi. Sulmet kundër një shifre të veçantë i nënshtrohen një analize të pamëshirshme kosto-përfitim. Nëse raporti është i favorshëm, sulmi nuk do të ndodhë. Por sulmet që funksionojnë kundër shumë viktimave të mundshme në të njëjtën kohë, pothuajse gjithmonë shpërblehen, në të cilin rast praktika më e mirë e projektimit është të supozohet se kanë filluar që nga dita e parë. Ne kemi në thelb një version kriptografik të Ligjit të Murfit: "Çdo gjë që mund të thyejë në të vërtetë sistemin, do ta thyejë sistemin."

Shembulli më i thjeshtë i një kriptosistemi që është i cenueshëm ndaj një sulmi parallogaritës është një shifër pa çelës konstante. Ky ishte rasti me Shifra e Cezarit, e cila thjesht zhvendos çdo shkronjë të alfabetit tre shkronja përpara (tabela është e mbyllur, kështu që shkronja e fundit në alfabet është e koduar e treta). Këtu përsëri hyn në lojë parimi Kerchhoffs: sapo një sistem hakerohet, hakerohet përgjithmonë.

Koncepti është i thjeshtë. Edhe një zhvillues fillestar i kriptosistemit ka të ngjarë të njohë kërcënimin dhe të përgatitet në përputhje me rrethanat. Duke parë evolucionin e kriptografisë, sulme të tilla ishin të papërshtatshme për shumicën e shifrave, që nga versionet e para të përmirësuara të shifrave të Cezarit deri në rënien e shifrave polialfabetike. Sulme të tilla u kthyen vetëm me ardhjen e epokës moderne të kriptografisë.

Ky kthim është për shkak të dy faktorëve. Së pari, më në fund u shfaqën kriptosisteme mjaft komplekse, ku mundësia e shfrytëzimit pas hakimit nuk ishte e dukshme. Së dyti, kriptografia u bë aq e përhapur sa miliona laikë merrnin vendime çdo ditë se ku dhe cilat pjesë të kriptografisë të ripërdoreshin. U desh pak kohë para se ekspertët të kuptonin rreziqet dhe të ngrinin alarmin.

Mbani mend sulmin e parallogaritjes: në fund të artikullit do të shikojmë dy shembuj kriptografikë të jetës reale ku ai luajti një rol të rëndësishëm.

Interpolimi

Këtu është detektivi i famshëm Sherlock Holmes, duke kryer një sulm interpolimi ndaj të pafat Dr. Watson:

Menjëherë e mora me mend se kishe ardhur nga Afganistani... Treni im i mendimeve ishte si vijon: “Ky njeri është mjek sipas llojit, por ka një qëndrim ushtarak. Pra, një mjek ushtarak. Ai sapo ka ardhur nga tropikët - fytyra e tij është e errët, por kjo nuk është nuanca natyrale e lëkurës së tij, pasi kyçet e duarve janë shumë më të bardha. Fytyra është e lodhur - padyshim, ai ka vuajtur shumë dhe ka vuajtur nga sëmundje. Ai u plagos në dorën e majtë - e mban të palëvizur dhe pak në mënyrë të panatyrshme. Ku në tropikët mund të duronte vështirësitë dhe të plagosej një mjek ushtarak anglez? Sigurisht, në Afganistan”. I gjithë treni i mendimeve nuk zgjati as edhe një sekondë. Dhe kështu thashë se keni ardhur nga Afganistani dhe jeni habitur.

Holmes mund të nxirrte shumë pak informacion nga çdo pjesë e provave individualisht. Ai mund të arrinte në përfundimin e tij vetëm duke i konsideruar të gjitha së bashku. Një sulm interpolimi funksionon në mënyrë të ngjashme duke ekzaminuar çiftet e njohura të tekstit të thjeshtë dhe të koduar që rezultojnë nga i njëjti çelës. Nga çdo çift nxirren vëzhgime individuale që lejojnë të nxirret një përfundim i përgjithshëm rreth çelësit. Të gjitha këto konkluzione janë të paqarta dhe duken të padobishme derisa të arrijnë papritur një masë kritike dhe të çojnë në përfundimin e vetëm të mundshëm: sado e pabesueshme të jetë, duhet të jetë e vërtetë. Pas kësaj, ose zbulohet çelësi, ose procesi i deshifrimit bëhet aq i rafinuar sa mund të përsëritet.

Le të ilustrojmë me një shembull të thjeshtë se si funksionon interpolimi. Le të themi se duam të lexojmë ditarin personal të armikut tonë, Bobit. Ai kodon çdo numër në ditarin e tij duke përdorur një kriptosistem të thjeshtë për të cilin mësoi nga një reklamë në revistën "A Mock of Cryptography". Sistemi funksionon kështu: Bob zgjedh dy numra që i pëlqejnë: Sulmet kriptografike: një shpjegim për mendjet e hutuara и Sulmet kriptografike: një shpjegim për mendjet e hutuara. Që tani e tutje, për të enkriptuar çdo numër Sulmet kriptografike: një shpjegim për mendjet e hutuara, llogarit Sulmet kriptografike: një shpjegim për mendjet e hutuara. Për shembull, nëse Bob zgjodhi Sulmet kriptografike: një shpjegim për mendjet e hutuara и Sulmet kriptografike: një shpjegim për mendjet e hutuara, pastaj numri Sulmet kriptografike: një shpjegim për mendjet e hutuara do të kodohet si Sulmet kriptografike: një shpjegim për mendjet e hutuara.

Le të themi se më 28 dhjetor vumë re që Bob po gërvishtte diçka në ditarin e tij. Kur ai të ketë mbaruar, ne do ta marrim në heshtje dhe do të shikojmë hyrjen e fundit:

Data: 235/520

I dashur ditar,

Sot ishte dite e mire. Nëpërmjet 64 sot kam një takim me Alisën, e cila jeton në një apartament 843. Unë me të vërtetë mendoj se ajo mund të jetë 26!

Meqenëse jemi shumë seriozë për ndjekjen e Bobit në takimin e tij (ne të dy jemi 15 vjeç në këtë skenar), është kritike të dimë datën si dhe adresën e Alice. Për fat të mirë, vërejmë se kriptosistemi i Bobit është i prekshëm ndaj një sulmi interpolimi. Mund të mos e dimë Sulmet kriptografike: një shpjegim për mendjet e hutuara и Sulmet kriptografike: një shpjegim për mendjet e hutuara, por ne e dimë datën e sotme, kështu që kemi dy çifte tekst të thjeshtë-shifror. Domethënë, ne e dimë atë Sulmet kriptografike: një shpjegim për mendjet e hutuara të koduara në Sulmet kriptografike: një shpjegim për mendjet e hutuaraDhe Sulmet kriptografike: një shpjegim për mendjet e hutuara - në Sulmet kriptografike: një shpjegim për mendjet e hutuara. Kjo është ajo që ne do të shkruajmë:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Duke qenë se jemi 15 vjeç, ne tashmë dimë për një sistem prej dy ekuacionesh me dy të panjohura, të cilat në këtë situatë mjaftojnë për të gjetur Sulmet kriptografike: një shpjegim për mendjet e hutuara и Sulmet kriptografike: një shpjegim për mendjet e hutuara pa asnjë problem. Çdo çift tekst i thjeshtë-shifror vendos një kufizim në çelësin e Bob-it dhe dy kufizimet së bashku janë të mjaftueshme për të rikuperuar plotësisht çelësin. Në shembullin tonë përgjigja është Sulmet kriptografike: një shpjegim për mendjet e hutuara и Sulmet kriptografike: një shpjegim për mendjet e hutuara (në Sulmet kriptografike: një shpjegim për mendjet e hutuara Sulmet kriptografike: një shpjegim për mendjet e hutuara, kështu që 26 në ditar korrespondon me fjalën "një", domethënë "i njëjti" - përafërsisht. korsi).

Sulmet e interpolimit, natyrisht, nuk kufizohen në shembuj kaq të thjeshtë. Çdo kriptosistem që reduktohet në një objekt matematikor të mirëkuptuar dhe një listë parametrash është në rrezik të një sulmi interpolimi - sa më i kuptueshëm objekti, aq më i madh është rreziku.

Të sapoardhurit shpesh ankohen se kriptografia është "arti i projektimit të gjërave që të jenë sa më të shëmtuara". Sulmet e interpolimit ndoshta janë kryesisht fajtorë. Bob ose mund të përdorë një dizajn matematikor elegant ose ta mbajë privatisht takimin e tij me Alice - por mjerisht, zakonisht nuk mund ta kesh në të dyja mënyrat. Kjo do të bëhet shumë e qartë kur të arrijmë përfundimisht te tema e kriptografisë së çelësit publik.

Protokoll i kryqëzuar/ulje

Sulmet kriptografike: një shpjegim për mendjet e hutuaraNë Now You See Me (2013), një grup iluzionistësh përpiqen të mashtrojnë manjatin e korruptuar të sigurimeve, Arthur Tressler, nga e gjithë pasuria e tij. Për të fituar akses në llogarinë bankare të Arthurit, iluzionistët duhet ose të japin emrin e përdoruesit dhe fjalëkalimin e tij ose ta detyrojnë atë të paraqitet personalisht në bankë dhe të marrë pjesë në skemë.

Të dyja opsionet janë shumë të vështira; Djemtë janë mësuar të performojnë në skenë dhe të mos marrin pjesë në operacionet e inteligjencës. Kështu ata zgjedhin opsionin e tretë të mundshëm: bashkëpunëtori i tyre telefonon bankën dhe pretendon të jetë Arturi. Banka bën disa pyetje për të verifikuar identitetin, si emri i xhaxhait dhe emri i kafshës shtëpiake të parë; heronjtë tanë paraprakisht ata e nxjerrin lehtësisht këtë informacion nga Arturi duke përdorur inxhinieri sociale të zgjuar. Nga ky moment, siguria e shkëlqyer e fjalëkalimit nuk ka më rëndësi.

(Sipas një legjende urbane që ne e kemi verifikuar dhe verifikuar personalisht, kriptografja Eli Beaham takoi një herë një arkëtar banke, i cili këmbënguli të bënte një pyetje sigurie. Kur arkëtari kërkoi emrin e gjyshes së tij nga nëna, Beaham filloi të diktonte: “Capital X, i vogël y, tre ... ").

Është e njëjta gjë në kriptografi, nëse dy protokolle kriptografike përdoren paralelisht për të mbrojtur të njëjtin aset, dhe njëri është shumë më i dobët se tjetri. Sistemi që rezulton bëhet i prekshëm ndaj një sulmi ndër-protokolar, ku një protokoll më i dobët sulmohet në mënyrë që të arrijë çmimin pa prekur atë më të fortë.

Në disa raste komplekse, nuk mjafton thjesht të kontaktosh serverin duke përdorur një protokoll më të dobët, por kërkon pjesëmarrjen e pavullnetshme të një klienti legjitim. Kjo mund të organizohet duke përdorur të ashtuquajturin sulm degradimi. Për të kuptuar këtë sulm, le të supozojmë se iluzionistët tanë kanë një detyrë më të vështirë sesa në film. Le të supozojmë se një punonjës banke (arkëtar) dhe Arthur u ndeshën në disa rrethana të paparashikuara, duke rezultuar në dialogun e mëposhtëm:

Hajdut: Përshëndetje? Ky është Arthur Tressler. Do të doja të rivendosja fjalëkalimin tim.

Arkëtar: E madhe. Ju lutemi hidhini një sy librit tuaj personal të kodeve sekrete, faqe 28, fjala 3. Të gjitha mesazhet e mëposhtme do të kodohen duke përdorur këtë fjalë specifike si çelës. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Hajdut: Hej, hej, prit, prit. A është vërtet e nevojshme kjo? A nuk mund të flasim si njerëz normalë?

Arkëtar: Unë nuk e rekomandoj ta bëni këtë.

Hajdut: Unë thjesht... shiko, pata një ditë të keqe, mirë? Unë jam një klient VIP dhe nuk kam humor të gërmoj nëpër këto libra budallenj me kode.

Arkëtar: Mirë. Nëse insistoni, zoti Tressler. cfare deshironi?

Hajdut: Ju lutem, do të doja t'i dhuroja të gjitha paratë e mia për Fondin Kombëtar të Viktimave Arthur Tressler.

(Pauzë).

Arkëtar: A është e qartë tani. Ju lutemi jepni PIN-in tuaj për transaksione të mëdha.

Hajdut: Çfarë ime?

Arkëtar: Me kërkesën tuaj personale, transaksionet e kësaj madhësie kërkojnë një PIN për transaksione të mëdha. Ky kod ju është dhënë kur keni hapur llogarinë tuaj.

Hajdut:... E humba. A është vërtet e nevojshme kjo? Nuk mund ta miratoni vetëm marrëveshjen?

Arkëtar: Nr. Më vjen keq, zoti Tressler. Përsëri, kjo është masa e sigurisë që keni kërkuar. Nëse dëshironi, ne mund të dërgojmë një kod të ri PIN në kutinë tuaj postare.

Heronjtë tanë e shtyjnë operacionin. Ata përgjojnë disa nga transaksionet e mëdha të Tressler, duke shpresuar të dëgjojnë kodin PIN; por sa herë që biseda kthehet në dërdëllitje të koduara përpara se të thuhet ndonjë gjë interesante. Më në fund, një ditë të bukur, plani vihet në veprim. Ata presin me durim momentin kur Tresler duhet të bëjë një transaksion të madh përmes telefonit, ai futet në linjë dhe më pas...

Tressler: Përshëndetje. Do të doja të kryeja një transaksion në distancë, ju lutem.

Arkëtar: E madhe. Ju lutemi hidhini një sy librit tuaj personal të kodit sekret, faqes...

(Vjedhësi shtyp butonin; zëri i arkëtarit kthehet në zhurmë të pakuptueshme).

Arkëtar: - #@$#@$#*@$$@#* do të kodohet me këtë fjalë si çelës. AAAYRR PLRQRZ MMNJK LOJBAN…

Tressler: Më falni, nuk e kuptova fare. Përsëri? Në cilën faqe? Çfarë fjale?

Arkëtar: Kjo është faqja @#$@#*$)#*#@()#@$(#@*$(#@*.

Tressler: Çfarë?

Arkëtar: Fjala numër njëzet @$#@$#%#$.

Tressler: Seriozisht! Tashmë mjaft! Ju dhe protokolli juaj i sigurisë jeni pak cirk. E di që mund të flasësh me mua normalisht.

Arkëtar: Nuk rekomandoj…

Tressler: Dhe unë nuk ju këshilloj të humbisni kohën time. Nuk dua të dëgjoj më për këtë derisa të rregulloni problemet e linjës suaj të telefonit. A mund ta finalizojmë këtë marrëveshje apo jo?

Arkëtar:… Po. Mirë. cfare deshironi?

Tressler: Do të doja të transferoja 20 dollarë te Lord Business Investments, numri i llogarisë...

Arkëtar: Një minutë, të lutem. Është një punë e madhe. Ju lutemi jepni PIN-in tuaj për transaksione të mëdha.

Tressler: Çfarë? Oh, saktësisht. 1234.

Këtu është një sulm në rënie. Protokolli më i dobët "thjesht fol drejtpërdrejt" ishte parashikuar si opsion në rast emergjence. E megjithatë ja ku jemi.

Ju mund të pyesni veten se kush me mendjen e tij të drejtë do të projektonte një sistem të vërtetë "të sigurt derisa të kërkohet ndryshe" si ai i përshkruar më sipër. Por ashtu si një bankë imagjinare ndërmerr rreziqe për të mbajtur klientët që nuk e pëlqejnë kriptografinë, sistemet në përgjithësi shpesh gravitojnë drejt kërkesave që janë indiferente apo edhe krejtësisht armiqësore ndaj sigurisë.

Kjo është pikërisht ajo që ndodhi me protokollin SSLv2 në 1995. Qeveria amerikane ka filluar prej kohësh ta shohë kriptografinë si një armë që mbahet më së miri larg armiqve të huaj dhe vendas. Pjesët e kodit miratoheshin individualisht për eksport nga Shtetet e Bashkuara, shpesh me kushtin që algoritmi të ishte dobësuar qëllimisht. Netscape, zhvilluesi i shfletuesit më të njohur, Netscape Navigator, iu dha leja për SSLv2 vetëm me çelësin 512-bit RSA të pambrojtur (dhe 40-bit për RC4).

Nga fundi i mijëvjeçarit, rregullat ishin qetësuar dhe aksesi në enkriptimin modern u bë gjerësisht i disponueshëm. Megjithatë, klientët dhe serverët kanë mbështetur kriptografinë "eksportive" të dobësuar për vite me radhë për shkak të së njëjtës inerci që ruan mbështetjen për çdo sistem të trashëguar. Klientët besonin se mund të ndeshen me një server që nuk mbështet asgjë tjetër. Serverët bënë të njëjtën gjë. Sigurisht, protokolli SSL dikton që klientët dhe serverët nuk duhet të përdorin kurrë një protokoll të dobët kur një më i mirë është i disponueshëm. Por e njëjta premisë zbatohej për Tressler dhe bankën e tij.

Kjo teori gjeti rrugën e saj në dy sulme të profilit të lartë që tronditën sigurinë e protokollit SSL në 2015, të dyja të zbuluara nga studiuesit e Microsoft dhe INRIA. Së pari, detajet e sulmit FREAK u zbuluan në shkurt, pasuar tre muaj më vonë nga një tjetër sulm i ngjashëm i quajtur Logjam, të cilin do ta diskutojmë më në detaje kur të kalojmë te sulmet ndaj kriptografisë me çelës publik.

Sulmet kriptografike: një shpjegim për mendjet e hutuaraPrekshmëria FREAK (i njohur edhe si "Smack TLS") doli në dritë kur studiuesit analizuan implementimet e klientit/serverit TLS dhe zbuluan një gabim kurioz. Në këto implementime, nëse klienti as nuk kërkon të përdorë kriptografi të dobët të eksportit, por serveri përsëri përgjigjet me çelësa të tillë, klienti thotë "Oh mirë" dhe kalon në grupin e dobët të shifrave.

Në atë kohë, kriptografia e eksportit konsiderohej gjerësisht e vjetëruar dhe jashtë kufijve, kështu që sulmi erdhi si një tronditje e plotë dhe preku shumë fusha të rëndësishme, duke përfshirë Shtëpinë e Bardhë, IRS dhe faqet e NSA-së. Edhe më keq, rezulton se shumë serverë të cenueshëm po optimizonin performancën duke ripërdorur të njëjtët çelësa në vend që të gjeneronin të rinj për çdo seancë. Kjo bëri të mundur, pas uljes së protokollit, kryerjen e një sulmi para-llogaritës: thyerja e një çelësi mbeti relativisht e shtrenjtë (100 dollarë dhe 12 orë në kohën e publikimit), por kostoja praktike e sulmit të lidhjes u ul ndjeshëm. Mjafton të hamendësoni një herë çelësin e serverit dhe të hapni enkriptimin për të gjitha lidhjet e mëvonshme që nga ai moment.

Dhe para se të vazhdojmë, ka një sulm të avancuar që duhet përmendur...

Sulmi i Oracle

Sulmet kriptografike: një shpjegim për mendjet e hutuaraMoxie Marlinspike i njohur më së shumti si babai i aplikacionit të mesazheve të kripto-mesazheve ndër-platformë Signal; por ne personalisht e duam një nga risitë e tij më pak të njohura: parimi i dënimit kriptografik (Parimi kriptografik i dënimit). Për të parafrazuar pak, mund të themi këtë: “Nëse protokolli funksionon ndonjë kryen një operacion kriptografik në një mesazh nga një burim potencialisht me qëllim të keq dhe sillet ndryshe në varësi të rezultatit, ai është i dënuar." Ose në një formë më të mprehtë: "Mos merrni informacion nga armiku për përpunim, dhe nëse duhet, atëherë të paktën mos tregoni rezultatin."

Le të lëmë mënjanë tejmbushjet e buferit, injeksionet e komandave dhe të ngjashme; ato janë përtej qëllimit të këtij diskutimi. Shkelja e "parimit të dënimit" çon në hakime serioze të kriptografisë për shkak të faktit se protokolli sillet saktësisht siç pritej.

Si shembull, le të marrim një dizajn fiktiv me një shifër zëvendësimi të cenueshëm dhe më pas të demonstrojmë një sulm të mundshëm. Ndërsa ne kemi parë tashmë një sulm në një shifër zëvendësuese duke përdorur analizën e frekuencës, nuk është thjesht "një mënyrë tjetër për të thyer të njëjtin shifër". Në të kundërt, sulmet e orakullit janë një shpikje shumë më moderne që zbatohet në shumë situata ku analiza e frekuencës dështon, dhe ne do të shohim një demonstrim të kësaj në seksionin vijues. Këtu zgjidhet shifra e thjeshtë vetëm për ta bërë shembullin më të qartë.

Pra, Alice dhe Bob komunikojnë duke përdorur një shifër të thjeshtë zëvendësimi duke përdorur një çelës të njohur vetëm për ta. Ata janë shumë të rreptë për gjatësinë e mesazheve: janë saktësisht 20 karaktere. Pra, ata ranë dakord që nëse dikush dëshiron të dërgojë një mesazh më të shkurtër, duhet të shtojë një tekst të rremë në fund të mesazhit për ta bërë atë saktësisht 20 karaktere. Pas disa diskutimesh, ata vendosën që do të pranonin vetëm tekstet e mëposhtme mashtruese: a, bb, ccc, dddd etj. Kështu, dihet një tekst bedel i çdo gjatësie të kërkuar.

Kur Alice ose Bob marrin një mesazh, ata së pari kontrollojnë që mesazhi të jetë gjatësia e saktë (20 karaktere) dhe që prapashtesa të jetë teksti i saktë. Nëse nuk është kështu, atëherë ata përgjigjen me një mesazh gabimi të duhur. Nëse gjatësia e tekstit dhe teksti i rremë janë në rregull, marrësi lexon vetë mesazhin dhe dërgon një përgjigje të koduar.

Gjatë sulmit, sulmuesi imiton Bobin dhe i dërgon mesazhe false Alice. Mesazhet janë absurde të plota - sulmuesi nuk e ka çelësin dhe për këtë arsye nuk mund të falsifikojë një mesazh kuptimplotë. Por meqenëse protokolli shkel parimin e dënimit, një sulmues ende mund ta zërë Alice-n në zbulimin e informacionit kryesor, siç tregohet më poshtë.

Hajdut: PREWF ZHJKL MMMN. LA

Alice: Tekst i pavlefshëm i pavlefshëm.

Hajdut: PREWF ZHJKL MMMN. LB

Alice: Tekst i pavlefshëm i pavlefshëm.

Hajdut: PREWF ZHJKL MMMN. LC

Alice: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Hajduti nuk e ka idenë se çfarë sapo tha Alice, por vëren se simboli C duhet të korrespondojnë a, pasi Alice pranoi tekstin bedel.

Hajdut: REWF ZHJKL MMMN. LAA

Alice: Tekst i pavlefshëm i pavlefshëm.

Hajdut: REWF ZHJKL MMMN. LBB

Alice: Tekst i pavlefshëm i pavlefshëm.

Pas një sërë përpjekjesh...

Hajdut: REWF ZHJKL MMMN. LGG

Alice: Tekst i pavlefshëm i pavlefshëm.

Hajdut: REWF ZHJKL MMMN. LHH

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

Përsëri, sulmuesi nuk e ka idenë se çfarë sapo tha Alice, por vëren se H duhet të përputhet me b pasi Alice pranoi tekstin e rremë.

Dhe kështu me radhë derisa sulmuesi të dijë kuptimin e secilit personazh.

Në pamje të parë, metoda i ngjan një sulmi të zgjedhur me tekst të thjeshtë. Në fund, sulmuesi zgjedh tekstet e shifruara dhe serveri i përpunon ato me bindje. Dallimi kryesor që i bën këto sulme të zbatueshme në botën reale është se sulmuesi nuk ka nevojë për qasje në transkriptin aktual - mjafton një përgjigje e serverit, qoftë edhe e padëmshme sa "Teksti i pavlefshëm dummy".

Ndërsa ky sulm i veçantë është udhëzues, mos u ndalni shumë në specifikat e skemës së "tekstit të rremë", kriptosistemit specifik të përdorur ose sekuencës së saktë të mesazheve të dërguara nga sulmuesi. Ideja bazë është se si Alice reagon ndryshe bazuar në vetitë e tekstit të thjeshtë, dhe e bën këtë pa verifikuar që teksti i koduar përkatës ka ardhur në të vërtetë nga një palë e besuar. Kështu, Alice lejon sulmuesin të shtrydhë informacione sekrete nga përgjigjet e saj.

Ka shumë gjëra që mund të ndryshohen në këtë skenar. Simbolet ndaj të cilave reagon Alice, ose vetë ndryshimi në sjelljen e saj, apo edhe kriptosistemi i përdorur. Por parimi do të mbetet i njëjtë dhe sulmi në tërësi do të mbetet i zbatueshëm në një formë ose në një tjetër. Zbatimi bazë i këtij sulmi ndihmoi në zbulimin e disa gabimeve të sigurisë, të cilat do t'i shohim së shpejti; por së pari duhet të mësohen disa mësime teorike. Si të përdoret ky "skrip i Alice" fiktive në një sulm që mund të funksionojë në një shifër të vërtetë moderne? A është kjo e mundur edhe në teori?

Në vitin 1998, kriptografi zviceran Daniel Bleichenbacher iu përgjigj kësaj pyetjeje në mënyrë pozitive. Ai demonstroi një sulm orakull në kriptosistemin e përdorur gjerësisht të çelësit publik RSA, duke përdorur një skemë specifike mesazhesh. Në disa implementime RSA, serveri përgjigjet me mesazhe gabimi të ndryshme në varësi të faktit nëse teksti i thjeshtë përputhet me skemën ose jo; kjo ka mjaftuar për të kryer sulmin.

Katër vjet më vonë, në vitin 2002, kriptografi francez Serge Vaudenay demonstroi një sulm orakull pothuajse identik me atë të përshkruar në skenarin e Alice më sipër - përveç se në vend të një shifre fiktive, ai theu një klasë të tërë të respektuar të shifrave moderne që njerëzit në të vërtetë përdoren. Në veçanti, sulmi i Vaudenay synon shifrat e madhësisë së hyrjes fikse ("shifrat e bllokut") kur ato përdoren në të ashtuquajturin "modalitet i enkriptimit CBC" dhe me një skemë të caktuar mbushjeje popullore, në thelb ekuivalente me atë në skenarin Alice.

Gjithashtu në vitin 2002, kriptografi amerikan John Kelsey ishte bashkëautor Dyfishe — propozoi sulme të ndryshme orakulli mbi sistemet që kompresojnë mesazhet dhe më pas i kodojnë ato. Më i dalluari midis tyre ishte një sulm që përfitoi nga fakti se shpesh është e mundur të nxirret gjatësia origjinale e tekstit të thjeshtë nga gjatësia e tekstit të shifruar. Në teori, kjo lejon një sulm orakull që rikuperon pjesë të tekstit origjinal.

Më poshtë ofrojmë një përshkrim më të detajuar të sulmeve të Vaudenay dhe Kelsey (do të japim një përshkrim më të detajuar të sulmit Bleichenbacher kur të kalojmë te sulmet ndaj kriptografisë me çelës publik). Me gjithë përpjekjet tona më të mira, teksti bëhet disi teknik; kështu që nëse sa më sipër është e mjaftueshme për ju, kaloni dy seksionet e ardhshme.

Sulmi i Vodenes

Për të kuptuar sulmin e Vaudenay, së pari duhet të flasim pak më shumë për shifrat e bllokut dhe mënyrat e kriptimit. Një "shifr bllok" është, siç u përmend, një shifër që merr një çelës dhe një hyrje të një gjatësi të caktuar fikse ("gjatësia e bllokut") dhe prodhon një bllok të koduar me të njëjtën gjatësi. Shifrat e bllokut përdoren gjerësisht dhe konsiderohen relativisht të sigurta. DES tani në pension, i konsideruar si shifra e parë moderne, ishte një shifër blloku. Siç u përmend më lart, e njëjta gjë vlen edhe për AES, i cili përdoret gjerësisht sot.

Fatkeqësisht, shifrat e bllokut kanë një dobësi të dukshme. Madhësia tipike e bllokut është 128 bit, ose 16 karaktere. Natyrisht, kriptografia moderne kërkon punë me të dhëna më të mëdha hyrëse, dhe këtu hyjnë në lojë mënyrat e kriptimit. Modaliteti i kriptimit është në thelb një hak: është një mënyrë për të aplikuar disi një shifër blloku që pranon vetëm hyrje të një madhësie të caktuar në hyrje me një gjatësi arbitrare.

Sulmi i Vodene është i fokusuar në mënyrën popullore të funksionimit CBC (Cipher Block Chaining). Sulmi e trajton kodin themelor të bllokut si një kuti të zezë magjike, të pathyeshme dhe e anashkalon plotësisht sigurinë e tij.

Këtu është një diagram që tregon se si funksionon modaliteti CBC:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Plus i rrethuar nënkupton operacionin XOR (OR ekskluzive). Për shembull, merret blloku i dytë i tekstit të koduar:

  1. Duke kryer një operacion XOR në bllokun e dytë të tekstit të thjeshtë me bllokun e parë të tekstit të shifruar.
  2. Kriptimi i bllokut që rezulton me një shifër blloku duke përdorur një çelës.

Meqenëse CBC e përdor kaq shumë funksionin XOR binar, le të marrim një moment për të kujtuar disa nga vetitë e tij:

  • Idempotenca: Sulmet kriptografike: një shpjegim për mendjet e hutuara
  • Komutativiteti: Sulmet kriptografike: një shpjegim për mendjet e hutuara
  • Asociacioni: Sulmet kriptografike: një shpjegim për mendjet e hutuara
  • Vetë-rikthyeshmëria: Sulmet kriptografike: një shpjegim për mendjet e hutuara
  • Numri i bajteve: bajt n prej Sulmet kriptografike: një shpjegim për mendjet e hutuara = (byte n prej Sulmet kriptografike: një shpjegim për mendjet e hutuara) Sulmet kriptografike: një shpjegim për mendjet e hutuara (byte n e Sulmet kriptografike: një shpjegim për mendjet e hutuara)

Në mënyrë tipike, këto veti nënkuptojnë se nëse kemi një ekuacion që përfshin operacione XOR dhe një të panjohur, ai mund të zgjidhet. Për shembull, nëse e dimë këtë Sulmet kriptografike: një shpjegim për mendjet e hutuara me të panjohurën Sulmet kriptografike: një shpjegim për mendjet e hutuara dhe i famshëm Sulmet kriptografike: një shpjegim për mendjet e hutuara и Sulmet kriptografike: një shpjegim për mendjet e hutuara, atëherë mund të mbështetemi në vetitë e lartpërmendura për të zgjidhur ekuacionin për Sulmet kriptografike: një shpjegim për mendjet e hutuara. Duke aplikuar XOR në të dy anët e ekuacionit me Sulmet kriptografike: një shpjegim për mendjet e hutuara, marrim Sulmet kriptografike: një shpjegim për mendjet e hutuara. E gjithë kjo do të bëhet shumë e rëndësishme në një moment.

Ka dy dallime të vogla dhe një ndryshim të madh midis skenarit tonë Alice dhe sulmit të Vaudenay. Dy të vogla:

  • Në skenar, Alice priste që tekstet e thjeshta të përfundonin me personazhet a, bb, ccc e kështu me radhë. Në sulmin Wodene, viktima në vend të kësaj pret që tekstet e thjeshta të përfundojnë N herë me bajtin N (d.m.th., heksadecimal 01 ose 02 02, ose 03 03 03, e kështu me radhë). Ky është thjesht një ndryshim kozmetik.
  • Në skenarin Alice, ishte e lehtë të dallohej nëse Alice e kishte pranuar mesazhin me përgjigjen "Tekst i gabuar i gabuar". Në sulmin e Vodenes, kërkohet më shumë analizë dhe zbatimi i saktë nga ana e viktimës është i rëndësishëm; por për hir të shkurtësisë, le ta marrim si të dhënë se kjo analizë është ende e mundur.

Dallimi kryesor:

  • Meqenëse nuk po përdorim të njëjtin kriptosistem, marrëdhënia midis bajteve të tekstit të koduar të kontrolluar nga sulmuesi dhe sekreteve (çelës dhe tekst i thjeshtë) do të jetë padyshim i ndryshëm. Prandaj, sulmuesi do të duhet të përdorë një strategji të ndryshme kur krijon shifrate dhe interpretimin e përgjigjeve të serverit.

Ky ndryshim i madh është pjesa e fundit e enigmës për të kuptuar sulmin e Vaudenay, kështu që le të mendojmë për një moment se pse dhe si do të ishte madje i mundur një sulm orakull në CBC.

Supozoni se na është dhënë një tekst shifror CBC prej 247 blloqesh dhe duam ta deshifrojmë atë. Ne mund të dërgojmë mesazhe të rreme në server, ashtu siç mund t'i dërgonim mesazhe false Alice më parë. Serveri do të deshifrojë mesazhet për ne, por nuk do të shfaqë deshifrimin - në vend të kësaj, përsëri, si me Alice, serveri do të raportojë vetëm një pjesë të informacionit: nëse teksti i thjeshtë ka mbushje të vlefshme apo jo.

Konsideroni se në skenarin e Alice-s ne kishim marrëdhëniet e mëposhtme:

$ $ Ekran $ $ Teksti {Simple_Substitucion} (Teksti {CipherText}, Teksti {Key}) = Teksti {PlainText} $ $ Display $ $

Le ta quajmë këtë "ekuacioni i Alices". Ne kontrolluam tekstin e shifruar; serveri (Alice) zbuloi informacione të paqarta në lidhje me tekstin e thjeshtë të marrë; dhe kjo na lejoi të nxjerrim informacion për faktorin e fundit - çelësin. Për analogji, nëse mund të gjejmë një lidhje të tillë për skenarin CBC, mund të jemi në gjendje të nxjerrim edhe disa informacione sekrete atje.

Për fat të mirë, ka vërtet marrëdhënie që ne mund t'i përdorim. Merrni parasysh daljen e thirrjes përfundimtare për të deshifruar një shifër blloku dhe për të treguar këtë dalje si Sulmet kriptografike: një shpjegim për mendjet e hutuara. Ne gjithashtu shënojmë blloqe të tekstit të thjeshtë Sulmet kriptografike: një shpjegim për mendjet e hutuara dhe blloqet e tekstit të shifruar Sulmet kriptografike: një shpjegim për mendjet e hutuara. Hidhini një sy tjetër diagramit CBC dhe vini re se çfarë ndodh:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Le ta quajmë këtë "ekuacioni CBC".

Në skenarin e Alice-s, duke monitoruar tekstin e shifruar dhe duke parë rrjedhjen përkatëse të tekstit të thjeshtë, ne ishim në gjendje të kryenim një sulm që rikuperonte termin e tretë në ekuacion - çelësin. Në skenarin CBC, ne monitorojmë gjithashtu tekstin e shifruar dhe vëzhgojmë rrjedhjet e informacionit në tekstin e thjeshtë përkatës. Nëse analogjia qëndron, ne mund të marrim informacion rreth Sulmet kriptografike: një shpjegim për mendjet e hutuara.

Le të supozojmë se jemi restauruar vërtet Sulmet kriptografike: një shpjegim për mendjet e hutuara, po pastaj? Epo, atëherë ne mund të printojmë të gjithë bllokun e fundit të tekstit të thjeshtë menjëherë (Sulmet kriptografike: një shpjegim për mendjet e hutuara), thjesht duke hyrë Sulmet kriptografike: një shpjegim për mendjet e hutuara (që kemi) dhe
marrë Sulmet kriptografike: një shpjegim për mendjet e hutuara në ekuacionin CBC.

Tani që jemi optimistë për planin e përgjithshëm të sulmit, është koha për të përpunuar detajet. Ju lutemi kushtojini vëmendje saktësisht se si rrjedh informacioni i tekstit të thjeshtë në server. Në skenarin e Alice, rrjedhja ndodhi sepse Alice do të përgjigjej vetëm me mesazhin e saktë nëse $inline$text{SIMPLE_SUBSTITUTION}(tekst{ciphertext},text{key})$inline$ përfundonte me rreshtin a (Ose bb, e kështu me radhë, por gjasat që këto kushte të shkaktoheshin rastësisht ishin shumë të vogla). Ngjashëm me CBC, serveri pranon mbushjen nëse dhe vetëm nëse Sulmet kriptografike: një shpjegim për mendjet e hutuara përfundon në heksadecimal 01. Pra, le të provojmë të njëjtin truk: dërgimin e teksteve të rreme shifrore me vlerat tona të rreme Sulmet kriptografike: një shpjegim për mendjet e hutuaraderisa serveri të pranojë mbushjen.

Kur serveri pranon një mbushje për një nga mesazhet tona të rreme, kjo do të thotë se:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Tani ne përdorim veçorinë XOR byte-byte:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Ne i dimë termat e parë dhe të tretë. Dhe ne kemi parë tashmë se kjo na lejon të rikuperojmë termin e mbetur - bajtin e fundit nga Sulmet kriptografike: një shpjegim për mendjet e hutuara:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Kjo na jep gjithashtu bajtin e fundit të bllokut përfundimtar të tekstit të thjeshtë nëpërmjet ekuacionit CBC dhe veçorisë byte-pas-byte.

Mund ta lëmë me kaq dhe të jemi të kënaqur që kemi kryer një sulm mbi një shifër të fortë teorikisht. Por në fakt ne mund të bëjmë shumë më tepër: në fakt mund të rikuperojmë të gjithë tekstin. Kjo kërkon një truk që nuk ishte në skenarin origjinal të Alice dhe nuk kërkohet për sulmin e orakullit, por gjithsesi ia vlen të mësohet.

Për ta kuptuar atë, së pari vini re se rezultati i nxjerrjes së vlerës së saktë të bajtit të fundit Sulmet kriptografike: një shpjegim për mendjet e hutuara ne kemi një aftësi të re. Tani, kur falsifikimin e teksteve të shifruara, ne mund të manipulojmë bajtin e fundit të tekstit të thjeshtë përkatës. Përsëri, kjo lidhet me ekuacionin CBC dhe vetinë bajt pas bajt:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Meqenëse ne tani e dimë termin e dytë, ne mund të përdorim kontrollin tonë mbi të parin për të kontrolluar termin e tretë. Ne thjesht llogarisim:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Ne nuk mund ta bënim këtë më parë sepse nuk e kishim ende bajtin e fundit Sulmet kriptografike: një shpjegim për mendjet e hutuara.

Si do të na ndihmojë kjo? Supozoni se ne tani krijojmë të gjitha tekstet e shifruara të tilla që në tekstet e thjeshta përkatëse bajt-i i fundit është i barabartë me 02. Serveri tani pranon mbushjen vetëm nëse teksti i thjeshtë përfundon me 02 02. Meqenëse korrigjuam bajtin e fundit, kjo do të ndodhë vetëm nëse bajt i parafundit i tekstit të thjeshtë është gjithashtu 02. Vazhdojmë të dërgojmë blloqe të rreme të tekstit të koduar, duke ndryshuar bajtin e parafundit, derisa serveri të pranojë mbushjen për njërin prej tyre. Në këtë pikë marrim:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Dhe ne rivendosim bajtin e parafundit Sulmet kriptografike: një shpjegim për mendjet e hutuara ashtu si i fundit u restaurua. Vazhdojmë në të njëjtën frymë: korrigjojmë dy bajtët e fundit të tekstit të thjeshtë në 03 03, ne e përsërisim këtë sulm për bajtin e tretë nga fundi dhe kështu me radhë, në fund të fundit duke u rikthyer plotësisht Sulmet kriptografike: një shpjegim për mendjet e hutuara.

Po pjesa tjetër e tekstit? Ju lutemi vini re se vlera Sulmet kriptografike: një shpjegim për mendjet e hutuara është në të vërtetë $inline$text{BLOCK_DECRYPT}(tekst{key},C_{247})$inline$. Në vend të tyre mund të vendosim çdo bllok tjetër Sulmet kriptografike: një shpjegim për mendjet e hutuara, dhe sulmi do të jetë akoma i suksesshëm. Në fakt, mund t'i kërkojmë serverit të bëjë $inline$text{BLOCK_DECRYPT}$inline$ për çdo të dhënë. Në këtë pikë, loja ka mbaruar - ne mund të deshifrojmë çdo tekst shifror (hidhini një sy tjetër diagramit të dekriptimit CBC për ta parë këtë; dhe vini re se IV është publik).

Kjo metodë e veçantë luan një rol vendimtar në sulmin e orakullit që do të hasim më vonë.

Sulmi i Kelsey

I pëlqyeri ynë John Kelsey parashtroi parimet që qëndrojnë në themel të shumë sulmeve të mundshme, jo vetëm detajet e një sulmi specifik ndaj një kodi specifik. E tij Artikull 2002 i vitit është një studim i sulmeve të mundshme mbi të dhënat e kompresuara të koduara. A mendonit se informacioni që të dhënat ishin të ngjeshura para se kriptimi nuk ishte i mjaftueshëm për të kryer një sulm? Rezulton se mjafton.

Ky rezultat befasues është për shkak të dy parimeve. Së pari, ekziston një korrelacion i fortë midis gjatësisë së tekstit të thjeshtë dhe gjatësisë së tekstit shifror; për shumë shifra barazi të saktë. Së dyti, kur kryhet kompresimi, ekziston gjithashtu një lidhje e fortë midis gjatësisë së mesazhit të ngjeshur dhe shkallës së "zhurmës" së tekstit të thjeshtë, domethënë, proporcionit të karaktereve që nuk përsëriten (termi teknik është "entropi e lartë" ).

Për të parë parimin në veprim, merrni parasysh dy tekste të thjeshta:

Teksti i thjeshtë 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Teksti i thjeshtë 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Le të supozojmë se të dy tekstet e thjeshta janë të kompresuara dhe më pas të koduara. Ju merrni dy tekste shifrore që rezultojnë dhe duhet të merrni me mend se cili tekst shifror përputhet me cilin tekst të thjeshtë:

Teksti shifror 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Teksti shifror 2: DWKJZXYU

Përgjigja është e qartë. Ndër tekstet e thjeshta, vetëm teksti i thjeshtë 1 mund të kompresohej në gjatësinë e pakët të tekstit të dytë të shifruar. Ne e kuptuam këtë pa ditur asgjë për algoritmin e kompresimit, çelësin e enkriptimit, apo edhe vetë shifrën. Krahasuar me hierarkinë e sulmeve të mundshme kriptografike, kjo është disi e çmendur.

Kelsey thekson më tej se në rrethana të caktuara të pazakonta ky parim mund të përdoret gjithashtu për të kryer një sulm orakull. Në veçanti, ai përshkruan se si një sulmues mund të rikuperojë tekstin e thjeshtë sekret nëse mund ta detyrojë serverin të kodojë të dhënat e formularit (teksti i thjeshtë i ndjekur nga Sulmet kriptografike: një shpjegim për mendjet e hutuarandërsa ai është në kontroll Sulmet kriptografike: një shpjegim për mendjet e hutuara dhe mund të kontrollojë disi gjatësinë e rezultatit të koduar.

Përsëri, si sulmet e tjera të Oracle, ne kemi marrëdhënien:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Përsëri, ne kontrollojmë një term (Sulmet kriptografike: një shpjegim për mendjet e hutuara), ne shohim një rrjedhje të vogël informacioni për një anëtar tjetër (shifertekst) dhe përpiqemi të rikuperojmë atë të fundit (tekst i thjeshtë). Pavarësisht nga analogjia, kjo është një situatë disi e pazakontë në krahasim me sulmet e tjera të orakullit që kemi parë.

Për të ilustruar se si mund të funksionojë një sulm i tillë, le të përdorim një skemë fiktive të kompresimit që sapo dolëm: TOYZIP. Kërkon rreshta teksti që janë shfaqur më parë në tekst dhe i zëvendëson ato me tre bajtë mbajtës të vendeve që tregojnë se ku mund të gjendet një shembull i mëparshëm i rreshtit dhe sa herë shfaqet atje. Për shembull, linja helloworldhello mund të kompresohen në helloworld[00][00][05] 13 bajt i gjatë krahasuar me 15 bajtë origjinale.

Supozoni se një sulmues përpiqet të rikuperojë tekstin e thjeshtë të një formulari password=..., ku vetë fjalëkalimi është i panjohur. Sipas modelit të sulmit të Kelsey, një sulmues mund t'i kërkojë serverit të kompresojë dhe më pas të kodojë mesazhet e formularit (tekst i thjeshtë i ndjekur nga Sulmet kriptografike: një shpjegim për mendjet e hutuara), ku Sulmet kriptografike: një shpjegim për mendjet e hutuara - tekst i lirë. Kur serveri ka mbaruar së punuari, ai raporton gjatësinë e rezultatit. Sulmi shkon kështu:

Hajdut: Ju lutemi, kompresoni dhe kriptoni tekstin e thjeshtë pa asnjë mbushje.

Serveri: Gjatësia e rezultatit 14.

Hajdut: Ju lutemi, kompresoni dhe kodoni tekstin e thjeshtë të cilit i është bashkangjitur password=a.

Serveri: Gjatësia e rezultatit 18.

Crackeri shënon: [origjinali 14] + [tre bajt që u zëvendësuan password=] + a

Hajdut: Ju lutemi, kompresoni dhe kodoni tekstin e thjeshtë në të cilin është shtuar password=b.

Serveri: Gjatësia e rezultatit 18.

Hajdut: Ju lutemi, kompresoni dhe kodoni tekstin e thjeshtë në të cilin është shtuar password=с.

Serveri: Gjatësia e rezultatit 17.

Crackeri shënon: [origjinali 14] + [tre bajt që u zëvendësuan password=c]. Kjo supozon se teksti origjinal i thjeshtë përmban vargun password=c. Kjo do të thotë, fjalëkalimi fillon me një shkronjë c

Hajdut: Ju lutemi, kompresoni dhe kodoni tekstin e thjeshtë në të cilin është shtuar password=сa.

Serveri: Gjatësia e rezultatit 18.

Crackeri shënon: [origjinali 14] + [tre bajt që u zëvendësuan password=с] + a

Hajdut: Ju lutemi, kompresoni dhe kodoni tekstin e thjeshtë në të cilin është shtuar password=сb.

Serveri: Gjatësia e rezultatit 18.

(… Disa kohë më vonë…)

Hajdut: Ju lutemi, kompresoni dhe kodoni tekstin e thjeshtë në të cilin është shtuar password=со.

Serveri: Gjatësia e rezultatit 17.

Crackeri shënon: [origjinali 14] + [tre bajt që u zëvendësuan password=co]. Duke përdorur të njëjtën logjikë, sulmuesi arrin në përfundimin se fjalëkalimi fillon me shkronjat co

Dhe kështu me radhë derisa të rikthehet i gjithë fjalëkalimi.

Lexuesit do t'i falej që të mendonte se ky është një ushtrim thjesht akademik dhe se një skenar i tillë sulmi nuk do të lindte kurrë në botën reale. Mjerisht, siç do ta shohim së shpejti, është më mirë të mos heqësh dorë nga kriptografia.

Dobësitë e markës: KRIM, qimedredhur, mbytet

Më në fund, pas studimit të teorisë në detaje, ne mund të shohim se si këto teknika zbatohen në sulmet kriptografike të jetës reale.

KRIMI

Sulmet kriptografike: një shpjegim për mendjet e hutuaraNëse sulmi synon shfletuesin dhe rrjetin e viktimës, disa gjëra do të jenë më të lehta dhe disa do të jenë më të vështira. Për shembull, është e lehtë të shihet trafiku i viktimës: thjesht uluni me të në të njëjtën kafene me WiFi. Për këtë arsye, viktimat e mundshme (d.m.th. të gjithë) në përgjithësi këshillohen të përdorin një lidhje të koduar. Do të jetë më e vështirë, por gjithsesi e mundur, të bësh kërkesa HTTP në emër të viktimës në ndonjë sajt të palëve të treta (për shembull, Google). Sulmuesi duhet ta joshë viktimën në një faqe interneti me qëllim të keq me një skenar që bën kërkesën. Shfletuesi i uebit do të sigurojë automatikisht cookie-n e sesionit përkatës.

Kjo duket e mahnitshme. Nëse Bob shkonte në evil.com, a mundet që skripti në këtë sajt thjesht t'i kërkojë Google t'i dërgojë email fjalëkalimin e Bobit [email protected]? Epo, në teori po, por në realitet jo. Ky skenar quhet një sulm i falsifikimit të kërkesës ndër-site (Falsifikim i Kërkesës Ndër-Sit, CSRF), dhe ishte e njohur rreth mesit të viteve '90. Sot nëse evil.com provon këtë truk, Google (ose çdo faqe interneti që respekton veten) zakonisht do të përgjigjet me: "Shkëlqyeshëm, por token juaj CSRF për këtë transaksion do të jetë... um... три триллиона и семь. Ju lutemi përsërisni këtë numër." Shfletuesit modernë kanë diçka të quajtur "politikë me origjinë të njëjtë" ku skriptet në faqen A nuk kanë akses në informacionin e dërguar nga faqja B. Kështu që skripti në evil.com mund të dërgojë kërkesa tek google.com, por nuk mund të lexojë përgjigjet ose në fakt të përfundojë transaksionin.

Duhet të theksojmë se nëse Bob nuk përdor një lidhje të koduar, të gjitha këto mbrojtje janë të pakuptimta. Një sulmues thjesht mund të lexojë trafikun e Bobit dhe të rikuperojë skedarin e sesionit të Google. Me këtë cookie, ai thjesht do të hapë një skedë të re të Google pa lënë shfletuesin e tij dhe do të imitojë Bobin pa hasur politika të bezdisshme me origjinë të njëjtë. Por, për fat të keq për një hajdut, kjo po bëhet gjithnjë e më pak e zakonshme. Interneti në tërësi ka kohë që i ka shpallur luftë lidhjeve të pakriptuara dhe trafiku dalës i Bobit është ndoshta i koduar, pavarësisht nëse ai pëlqen apo jo. Përveç kësaj, që nga fillimi i zbatimit të protokollit, trafiku ishte gjithashtu u tkurr para enkriptimit; kjo ishte praktikë e zakonshme për të reduktuar vonesën.

Këtu hyn në lojë KRIMI (Raporti i kompresimit Infoleak Made Easy, rrjedhje e thjeshtë përmes raportit të kompresimit). Dobësia u zbulua në shtator 2012 nga studiuesit e sigurisë Juliano Rizzo dhe Thai Duong. Ne kemi shqyrtuar tashmë të gjithë bazën teorike, e cila na lejon të kuptojmë se çfarë bënë dhe si. Një sulmues mund të detyrojë shfletuesin e Bob-it të dërgojë kërkesa në Google dhe më pas të dëgjojë përgjigjet në rrjetin lokal në një formë të ngjeshur dhe të koduar. Prandaj kemi:

Sulmet kriptografike: një shpjegim për mendjet e hutuara

Këtu sulmuesi kontrollon kërkesën dhe ka akses në sniferin e trafikut, duke përfshirë madhësinë e paketës. Skenari imagjinar i Kelsey erdhi në jetë.

Duke kuptuar teorinë, autorët e CRIME krijuan një shfrytëzim që mund të vjedhë skedarët e sesioneve për një gamë të gjerë faqesh, duke përfshirë Gmail, Twitter, Dropbox dhe Github. Dobësia preku shumicën e shfletuesve modernë të uebit, duke rezultuar në lëshimin e arnimeve që varrosën në heshtje funksionin e kompresimit në SSL në mënyrë që të mos përdoret fare. I vetmi i mbrojtur nga cenueshmëria ishte Internet Explorer i nderuar, i cili kurrë nuk përdori fare kompresim SSL.

qimedredhur

Sulmet kriptografike: një shpjegim për mendjet e hutuaraNë tetor 2014, ekipi i sigurisë i Google bëri bujë në komunitetin e sigurisë. Ata ishin në gjendje të shfrytëzonin një dobësi në protokollin SSL që ishte rregulluar më shumë se dhjetë vjet më parë.

Rezulton se ndërsa serverët po ekzekutojnë TLSv1.2 të ri të shndritshëm, shumë prej tyre kanë lënë mbështetje për SSLv3 të trashëguar për pajtueshmërinë e prapambetur me Internet Explorer 6. Ne kemi folur tashmë për sulmet e uljes, kështu që ju mund të imagjinoni se çfarë po ndodh. Një sabotim i mirë-orkestruar i protokollit të shtrëngimit të duarve dhe serverët janë gati të kthehen në SSLv3 të mirë të vjetër, në thelb duke zhbërë 15 vitet e fundit të kërkimit të sigurisë.

Për kontekstin historik, këtu është një përmbledhje e shkurtër e historisë së SSL deri në versionin 2 nga Matthew Green:

Transporti Layer Security (TLS) është protokolli më i rëndësishëm i sigurisë në internet. [..] pothuajse çdo transaksion që bëni në internet varet nga TLS. [..] Por TLS nuk ishte gjithmonë TLS. Protokolli filloi jetën e tij në Komunikimet Netscape i quajtur "Secure Sockets Layer" ose SSL. Thashethemet thonë se versioni i parë i SSL ishte aq i tmerrshëm sa zhvilluesit mblodhën të gjitha printimet e kodit dhe i varrosën në një deponi të fshehtë në New Mexico. Si pasojë, versioni i parë i disponueshëm publik i SSL është në të vërtetë versioni SSL 2. Është shumë e frikshme, dhe [..] ishte një produkt i mesit të viteve '90, të cilin kriptografët modernë e konsiderojnë si "Epokat e errëta të kriptografisë" Shumë nga sulmet më të tmerrshme kriptografike që dimë sot nuk janë zbuluar ende. Si rezultat, zhvilluesit e protokollit SSLv2 u lanë në thelb të ecnin në errësirë, dhe ata u përballën shumë përbindësha të tmerrshme - për hidhërimin e tyre dhe për përfitimin tonë, pasi sulmet ndaj SSLv2 lanë mësime të paçmueshme për gjeneratën e ardhshme të protokolleve.

Pas këtyre ngjarjeve, në 1996, një Netscape i frustruar ridizajnoi protokollin SSL nga e para. Rezultati ishte versioni 3 SSL, i cili rregulloi disa çështje të njohura të sigurisë të paraardhësit të tij.

Për fat të mirë për hajdutët, "disa" nuk do të thotë "të gjithë". Në përgjithësi, SSLv3 siguroi të gjitha blloqet e nevojshme ndërtimore për të nisur një sulm Vodene. Protokolli përdori një shifër blloku të modalitetit CBC dhe një skemë mbushjeje të pasigurt (kjo u korrigjua në TLS; prandaj nevoja për një sulm të reduktimit). Nëse e mbani mend skemën e mbushjes në përshkrimin tonë origjinal të sulmit Vaudenay, skema SSLv3 është shumë e ngjashme.

Por, për fat të keq për hajdutët, "i ngjashëm" nuk do të thotë "identik". Skema e mbushjes SSLv3 është "N byte të rastësishme të ndjekura nga numri N". Provoni, në këto kushte, të zgjidhni një bllok imagjinar të tekstit shifror dhe të kaloni nëpër të gjitha hapat e skemës origjinale të Vaudene: do të zbuloni se sulmi nxjerr me sukses bajtin e fundit nga blloku përkatës i tekstit të thjeshtë, por nuk shkon më tej. Deshifrimi i çdo 16 bajt të tekstit shifror është një mashtrim i madh, por nuk është një fitore.

Përballë dështimit, ekipi i Google iu drejtua një mjeti të fundit: ata kaluan në një model kërcënimi më të fuqishëm - atë të përdorur në KRIM. Duke supozuar se sulmuesi është një skript që ekzekutohet në skedën e shfletuesit të viktimës dhe mund të nxjerrë skedarë të sesionit, sulmi është ende mbresëlënës. Ndërsa modeli më i gjerë i kërcënimit është më pak realist, ne pamë në seksionin e mëparshëm se ky model i veçantë është i realizueshëm.

Duke pasur parasysh këto aftësi më të fuqishme të sulmuesit, sulmi tani mund të vazhdojë. Vini re se sulmuesi e di se ku shfaqet kukia e sesionit të koduar në kokë dhe kontrollon gjatësinë e kërkesës HTTP që i paraprin. Prandaj, është në gjendje të manipulojë kërkesën HTTP në mënyrë që bajt-i i fundit i cookie-t të përafrohet me fundin e bllokut. Tani ky bajt është i përshtatshëm për deshifrim. Ju thjesht mund t'i shtoni një karakter kërkesës dhe bajt i parafundit i cookie-t do të mbetet në të njëjtin vend dhe është i përshtatshëm për përzgjedhje duke përdorur të njëjtën metodë. Sulmi vazhdon në këtë mënyrë derisa skedari i cookie-t të rikthehet plotësisht. Quhet POODLE: Padding Oracle në Kriptimin e Degraduar të Trashëgimisë.

MBYTET

Sulmet kriptografike: një shpjegim për mendjet e hutuaraSiç e përmendëm, SSLv3 kishte të metat e veta, por ishte thelbësisht i ndryshëm nga paraardhësi i tij, pasi SSLv2 që rrjedh ishte një produkt i një epoke tjetër. Aty mund të ndërprisni mesazhin në mes: соглашусь на это только через мой труп kthyer në соглашусь на это; klienti dhe serveri mund të takohen në internet, të krijojnë besim dhe të shkëmbejnë sekrete përpara sulmuesit, i cili më pas mund të imitonte lehtësisht të dy. Ekziston edhe problemi me kriptografinë e eksportit, të cilin e përmendëm kur shqyrtojmë FREAK. Këto ishin Sodoma dhe Gomorra kriptografike.

Në mars 2016, një ekip studiuesish nga fusha të ndryshme teknike u mblodhën dhe bënë një zbulim befasues: SSLv2 përdoret ende në sistemet e sigurisë. Po, sulmuesit nuk mund të reduktonin më seancat moderne TLS në SSLv2 pasi ajo vrimë u mbyll pas FREAK dhe POODLE, por ata ende mund të lidhen me serverët dhe të nisin vetë seancat SSLv2.

Ju mund të pyesni, pse na intereson se çfarë bëjnë ata atje? Ata kanë një seancë të cenueshme, por nuk duhet të ndikojë në seancat e tjera ose sigurinë e serverit - apo jo? Epo, jo plotësisht. Po, kështu duhet të jetë në teori. Por jo - sepse gjenerimi i certifikatave SSL imponon një barrë të caktuar, duke rezultuar në shumë serverë që përdorin të njëjtat certifikata dhe, si rezultat, të njëjtat çelësa RSA për lidhjet TLS dhe SSLv2. Për t'i bërë gjërat edhe më keq, për shkak të një gabimi OpenSSL, opsioni "Disable SSLv2" në këtë zbatim të njohur SSL nuk funksionoi në të vërtetë.

Kjo bëri të mundur një sulm të protokollit kryq në TLS, të quajtur MBYTET (Deshifrimi i RSA me enkriptim të vjetëruar dhe të dobësuar, deshifrimi i RSA me enkriptim të vjetëruar dhe të dobësuar). Kujtoni se ky nuk është njësoj si një sulm i shkurtër; sulmuesi nuk ka nevojë të veprojë si "njeri në mes" dhe nuk ka nevojë të përfshijë klientin për të marrë pjesë në një seancë të pasigurt. Sulmuesit thjesht nisin një seancë të pasigurt SSLv2 me serverin vetë, sulmojnë protokollin e dobët dhe rikuperojnë çelësin privat RSA të serverit. Ky çelës është gjithashtu i vlefshëm për lidhjet TLS dhe që nga kjo pikë e tutje, asnjë sasi sigurie TLS nuk do ta pengojë atë të komprometohet.

Por për ta goditur atë, ju duhet një sulm pune kundër SSLv2, i cili ju lejon të rikuperoni jo vetëm trafikun specifik, por edhe çelësin sekret të serverit RSA. Megjithëse ky është një konfigurim kompleks, studiuesit mund të zgjidhnin çdo cenueshmëri që ishte mbyllur plotësisht pas SSLv2. Ata gjetën përfundimisht një opsion të përshtatshëm: sulmin Bleichenbacher, të cilin e përmendëm më herët dhe të cilin do ta shpjegojmë në detaje në artikullin vijues. SSL dhe TLS mbrohen nga ky sulm, por disa veçori të rastësishme të SSL, të kombinuara me çelësa të shkurtër në kriptografinë e shkallës së eksportit, e bënë të mundur një zbatim specifik i DROWN.

Në kohën e publikimit, 25% e faqeve kryesore të internetit u prekën nga cenueshmëria DROWN dhe sulmi mund të kryhej me burime modeste të disponueshme edhe për hakerat e vetmuar keqbërës. Marrja e çelësit RSA të serverit kërkoi tetë orë llogaritje dhe 440 dollarë, dhe SSLv2 kaloi nga i vjetëruar në radioaktiv.

Prit, po në lidhje me Heartbleed?

Ky nuk është një sulm kriptografik në kuptimin e përshkruar më sipër; Ky është një tejmbushje buferi.

Le të bëjmë një pushim

Ne filluam me disa teknika bazë: forca brutale, interpolimi, zvogëlimi, ndër-protokolli dhe llogaritja paraprake. Pastaj shikuam një teknikë të avancuar, ndoshta komponentin kryesor të sulmeve moderne kriptografike: sulmin orakull. Ne shpenzuam mjaft kohë duke e kuptuar atë - dhe kuptuam jo vetëm parimin themelor, por edhe detajet teknike të dy zbatimeve specifike: sulmi Vaudenay në modalitetin e enkriptimit CBC dhe sulmi Kelsey mbi protokollet e enkriptimit para-kompresimit.

Në rishikimin e sulmeve të uljes dhe parallogaritjes, ne përshkruam shkurtimisht sulmin FREAK, i cili përdor të dyja metodat duke i ulur faqet e synuara në çelësa të dobët dhe më pas ripërdorim të njëjtët çelësa. Për artikullin tjetër, do të ruajmë sulmin (shumë të ngjashëm) Logjam, i cili synon algoritmet e çelësit publik.

Më pas shikuam tre shembuj të tjerë të zbatimit të këtyre parimeve. Së pari, KRIMI dhe POODLE: dy sulme që mbështeteshin në aftësinë e sulmuesit për të injektuar tekst të thjeshtë arbitrar pranë tekstit të thjeshtë të synuar, më pas të shqyrtojë përgjigjet e serverit dhe ne luajmë, duke përdorur metodologjinë e sulmit të orakullit, shfrytëzoni këtë informacion të rrallë për të rikuperuar pjesërisht tekstin e thjeshtë. KRIMI shkoi në rrugën e sulmit të Kelsey-t ndaj kompresimit SSL, ndërsa POODLE përdori një variant të sulmit të Vaudenay në CBC me të njëjtin efekt.

Më pas e kthyem vëmendjen tek sulmi ndër-protokolar DROWN, i cili krijon një lidhje me serverin duke përdorur protokollin e vjetër SSLv2 dhe më pas rikuperon çelësat sekretë të serverit duke përdorur sulmin Bleichenbacher. Ne i kemi anashkaluar detajet teknike të këtij sulmi për momentin; si Logjam, do të duhet të presë derisa të kuptojmë mirë kriptosistemet e çelësit publik dhe dobësitë e tyre.

Në artikullin vijues do të flasim për sulme të avancuara si meet-in-the-middle, kriptanaliza diferenciale dhe sulmet e ditëlindjes. Le të bëjmë një depërtim të shpejtë në sulmet e kanalit anësor dhe më pas të kalojmë në thelbin e çështjes: kriptosistemet e çelësit publik.

Burimi: www.habr.com

Shto një koment