Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Kun kuulet sanan "salaus", jotkut ihmiset muistavat WiFi-salasanansa, vihreän riippulukon suosikkisivustonsa osoitteen vieressä ja kuinka vaikeaa on päästä jonkun toisen sähköpostiin. Toiset muistavat viime vuosien haavoittuvuuksien sarjan kertovilla lyhenteillä (DROWN, FREAK, POODLE...), tyylikkäillä logoilla ja varoituksella päivittää selaimesi kiireesti.

Kryptografia kattaa kaiken, mutta ydin toisessa. Asia on siinä, että yksinkertaisen ja monimutkaisen välillä on hieno raja. Jotkut asiat on helppo tehdä, mutta vaikea koota takaisin, kuten munan rikkominen. Muut asiat on helppo tehdä, mutta vaikea saada takaisin, kun pieni, tärkeä, ratkaiseva osa puuttuu: esimerkiksi lukitun oven avaaminen, kun "tärkeä osa" on avain. Kryptografia tutkii näitä tilanteita ja miten niitä voidaan hyödyntää käytännössä.

Viime vuosina salaushyökkäysten kokoelma on muuttunut näyttävien logojen eläintarhaksi, joka on täynnä tieteellisten julkaisujen kaavoja ja synnyttänyt yleisen synkän tunteen, että kaikki on rikki. Mutta itse asiassa monet hyökkäyksistä perustuvat muutamiin yleisiin periaatteisiin, ja loputtomat sivut kaavoja on usein tiivistetty helposti ymmärrettäviin ideoihin.

Tässä artikkelisarjassa tarkastelemme erityyppisiä kryptografisia hyökkäyksiä painottaen perusperiaatteita. Yleisesti, ei aivan tässä järjestyksessä, mutta käsittelemme seuraavat asiat:

  • Perusstrategiat: raaka voima, taajuusanalyysi, interpolointi, alentaminen ja ristikkäiset protokollat.
  • Brändätyt haavoittuvuudet: FREAK, RIKOLLISUUS, PUOLA, DROWN, Logjam.
  • Edistyneet strategiat: oraakkelihyökkäykset (Vodenet-hyökkäys, Kelsey-hyökkäys); keskipitkän tapaamismenetelmä, syntymäpäivähyökkäys, tilastollinen harha (differentiaalinen kryptausanalyysi, integraalinen kryptausanalyysi jne.).
  • Sivukanavahyökkäykset ja heidän lähisukulaisilleen, vian analysointitekniikat.
  • Hyökkäykset julkisen avaimen salaukseen: kuutiojuuri, lähetys, liittyvä viesti, Coppersmith-hyökkäys, Pohlig-Hellman-algoritmi, numeroseula, Wiener-hyökkäys, Bleichenbacher-hyökkäys.

Tämä artikkeli kattaa yllä olevan materiaalin Kelseyn hyökkäykseen asti.

Perusstrategiat

Seuraavat hyökkäykset ovat yksinkertaisia ​​siinä mielessä, että ne voidaan selittää lähes täysin ilman teknisiä yksityiskohtia. Selitetään jokainen hyökkäystyyppi yksinkertaisin termein menemättä monimutkaisiin esimerkkeihin tai edistyneisiin käyttötapauksiin.

Jotkut näistä hyökkäyksistä ovat suurelta osin vanhentuneet, eikä niitä ole käytetty moneen vuoteen. Toiset ovat vanhoja, jotka yhä säännöllisesti hiipivät pahaa-aavistamattomien kryptosysteemien kehittäjien luo 21-luvulla. Nykyaikaisen kryptografian aikakauden voidaan katsoa alkaneen IBM DES:n, ensimmäisen salauksen, joka kesti kaikki tämän luettelon hyökkäykset, tulo.

Yksinkertainen raaka voima

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleSalausjärjestelmä koostuu kahdesta osasta: 1) salaustoiminto, joka ottaa viestin (plaintext) yhdistettynä avaimeen ja luo sitten salatun viestin - salateksti; 2) salauksenpurkutoiminto, joka ottaa salatekstin ja avaimen ja tuottaa selkeän tekstin. Sekä salauksen että salauksen purkamisen on oltava helppo laskea avaimella – ja vaikea laskea ilman sitä.

Oletetaan, että näemme salatekstin ja yritämme purkaa sen salauksen ilman lisätietoa (tätä kutsutaan vain salakirjoitushyökkäykseksi). Jos löydämme jotenkin taianomaisesti oikean avaimen, voimme helposti varmistaa, että se on todella oikea, jos tulos on järkevä viesti.

Huomaa, että tässä on kaksi implisiittistä oletusta. Ensinnäkin tiedämme kuinka suorittaa salauksen purku, eli kuinka salausjärjestelmä toimii. Tämä on vakiooletus, kun puhutaan kryptografiasta. Salauksen toteutustietojen piilottaminen hyökkääjiltä saattaa tuntua ylimääräiseltä turvatoimenpiteeltä, mutta kun hyökkääjä selvittää nämä tiedot, tämä lisäsuoja katoaa hiljaa ja peruuttamattomasti. Näin Kerchhoffin periaate: Järjestelmän joutuminen vihollisen käsiin ei saa aiheuttaa haittaa.

Toiseksi oletamme, että oikea avain on ainoa avain, joka johtaa järkevään salauksen purkamiseen. Tämä on myös perusteltu oletus; se on tyytyväinen, jos salateksti on paljon pidempi kuin avain ja on luettavissa. Näin tapahtuu yleensä todellisessa maailmassa, paitsi valtavat epäkäytännölliset avaimet tai muut huijaukset, jotka kannattaa jättää syrjään (jos et pidä siitä, että olemme ohittaneet selityksen, katso Lause 3.8 täällä).

Edellä esitetyn perusteella syntyy strategia: tarkista kaikki mahdolliset avaimet. Tätä kutsutaan raa'aksi voimaksi, ja tällainen hyökkäys toimii taatusti kaikkia käytännön salauksia vastaan ​​- lopulta. Esimerkiksi raaka voima riittää hakkerointiin Caesarin salakirjoitus, muinainen salaus, jossa avain on yksi aakkosten kirjain, mikä tarkoittaa hieman yli 20 mahdollista avainta.

Valitettavasti kryptanalyytikoille avaimen koon kasvattaminen on hyvä suoja raa'aa voimaa vastaan. Kun avaimen koko kasvaa, mahdollisten avainten määrä kasvaa eksponentiaalisesti. Nykyaikaisilla näppäinkooilla yksinkertainen raaka voima on täysin epäkäytännöllistä. Ymmärtääksemme, mitä tarkoitamme, otetaan huomioon vuoden 2019 puolivälin nopein tunnettu supertietokone: Huippukokous IBM:n huipputeholla noin 1017 operaatiota sekunnissa. Nykyään tyypillinen avaimen pituus on 128 bittiä, mikä tarkoittaa 2128 mahdollista yhdistelmää. Kaikkien avainten etsimiseen Summit-supertietokone tarvitsee aikaa, joka on noin 7800 kertaa universumin ikä.

Pitäisikö raakaa voimaa pitää historiallisena kurioosuutena? Ei ollenkaan: se on välttämätön ainesosa kryptaanalyysin keittokirjassa. Salaukset ovat harvoin niin heikkoja, että ne voidaan rikkoa vain fiksulla hyökkäyksellä, ilman jossain määrin voiman käyttöä. Monet onnistuneet hakkerit käyttävät algoritmista menetelmää heikentämään ensin kohteen salausta ja suorittamaan sitten raa'an voiman hyökkäyksen.

Taajuusanalyysi

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleSuurin osa teksteistä ei ole hölynpölyä. Esimerkiksi englanninkielisissä teksteissä on paljon kirjaimia "e" ja artikkeleita "the"; binääritiedostoissa tietojen välissä on useita nollatavuja. Taajuusanalyysi on mikä tahansa hyökkäys, joka hyödyntää tätä tosiasiaa.

Kanoninen esimerkki salauksesta, joka on alttiina tälle hyökkäykselle, on yksinkertainen korvaava salaus. Tässä salauksessa avain on taulukko, jossa kaikki kirjaimet on korvattu. Esimerkiksi "g" korvataan "h":lla ja "o" j:llä, joten sana "go" muuttuu "hj". Tätä salausta on vaikea käyttää raa'alla voimalla, koska mahdollisia hakutaulukoita on niin monia. Jos olet kiinnostunut matematiikasta, tehokas avaimen pituus on noin 88 bittiä: se on
Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Mutta taajuusanalyysi tekee työn yleensä nopeasti valmiiksi.

Tarkastellaan seuraavaa salatekstiä, joka on käsitelty yksinkertaisella korvaussalauksella:

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

Koska Y esiintyy usein, myös monien sanojen lopussa, voimme alustavasti olettaa, että tämä on kirjain e:

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

Pari XD toistetaan useiden sanojen alussa. Erityisesti yhdistelmä XDeLe ehdottaa selvästi sanaa these tai there, joten jatketaan:

TheLe ALe UGLe thWNKE WN HEAJEN ANF eALth DGLAtWG kuin ALe FleAUt GR WN OGQL ZDWBGEGZDO

Oletetaan edelleen, että L соответствует r, A - a ja niin edelleen. Se vie luultavasti muutaman yrityksen, mutta verrattuna täydelliseen raakavoimahyökkäykseen tämä hyökkäys palauttaa alkuperäisen tekstin hetkessä:

taivaassa ja maassa on enemmän asioita kuin filosofiassasi unelmoit

Joillekin tällaisten "skriptogrammien" ratkaiseminen on jännittävä harrastus.

Taajuusanalyysin idea on perustavanlaatuisempi kuin miltä näyttää ensi silmäyksellä. Ja se pätee paljon monimutkaisempiin salakirjoihin. Kautta historian useat salakirjoitusmallit ovat yrittäneet torjua tällaista hyökkäystä käyttämällä "polyaakkosten korvaamista". Tässä salausprosessin aikana kirjainten korvaustaulukkoa muokataan monimutkaisilla, mutta ennustettavilla tavoilla, jotka riippuvat avaimesta. Kaikkia näitä salauksia pidettiin vaikeina murtaa kerralla; ja silti vaatimaton taajuusanalyysi voitti lopulta heidät kaikki.

Historian kunnianhimoisin moniaakkosinen salaus ja luultavasti tunnetuin oli toisen maailmansodan Enigma-salaus. Se oli suhteellisen monimutkainen verrattuna edeltäjiinsä, mutta kovan työn jälkeen brittiläiset kryptanalyytikot mursivat sen taajuusanalyysin avulla. He eivät tietenkään kyenneet kehittämään yllä olevan kaltaista tyylikästä hyökkäystä; heidän täytyi verrata tunnettuja selkeän tekstin ja salatekstin pareja (ns. "plaintext attack"), jopa provosoimalla Enigma-käyttäjiä salaamaan tiettyjä viestejä ja analysoimaan tulosta ("valittu selväkielihyökkäys"). Mutta tämä ei helpottanut lyötyjen vihollisarmeijoiden ja upotettujen sukellusveneiden kohtaloa.

Tämän voiton jälkeen taajuusanalyysi katosi kryptaanalyysin historiasta. Nykyaikaisen digitaaliajan salakirjoitukset on suunniteltu toimimaan bittien, ei kirjainten kanssa. Vielä tärkeämpää on, että nämä salaukset suunniteltiin pimeällä ymmärryksellä siitä, mitä myöhemmin tunnettiin Schneierin laki: Kuka tahansa voi luoda salausalgoritmin, jota ei itse voi rikkoa. Se ei riitä salausjärjestelmälle näytti vaikeaa: todistaakseen arvonsa sen on läpäistävä armoton turvallisuusarvio, jonka suorittavat monet kryptanalyytikot, jotka tekevät parhaansa salauksen murtamiseksi.

Alustavat laskelmat

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleOtetaan hypoteettinen Precom Heightsin kaupunki, jossa on 200 000 asukasta. Jokaisessa kaupungin kodissa on arvoesineitä keskimäärin 30 000 dollarin arvosta, mutta enintään 50 000 dollarin arvosta. Precomin turvallisuusmarkkinat on monopolisoitu ACME Industriesin toimesta, joka valmistaa legendaarisia Coyote™-luokan ovenlukkoja. Asiantuntija-analyysin mukaan Coyote-luokan lukon voi rikkoa vain erittäin monimutkainen hypoteettinen kone, jonka luominen vaatii noin viisi vuotta ja 50 000 dollarin investointia. Onko kaupunki turvallinen?

Todennäköisesti ei. Lopulta ilmaantuu melko kunnianhimoinen rikollinen. Hän perustelee näin: "Kyllä, minulle tulee suuria ennakkokustannuksia. Viisi vuotta kärsivällistä odotusta ja 50 000 dollaria. Mutta kun olen valmis, saan koko tämän kaupungin rikkaus. Jos pelaan korttini oikein, tämä investointi maksaa itsensä takaisin monta kertaa."

Sama pätee kryptografiassa. Hyökkäykset tiettyä salausta vastaan ​​ovat häikäilemättömän kustannus-hyötyanalyysin kohteena. Jos suhde on suotuisa, hyökkäystä ei tapahdu. Mutta hyökkäykset, jotka vaikuttavat useita mahdollisia uhreja vastaan ​​kerralla, maksavat melkein aina hedelmää, jolloin paras suunnittelukäytäntö on olettaa, että ne alkoivat ensimmäisestä päivästä. Meillä on pohjimmiltaan kryptografinen versio Murphyn laista: "Kaikki, mikä voi todella rikkoa järjestelmän, rikkoo järjestelmän."

Yksinkertaisin esimerkki salausjärjestelmästä, joka on alttiina esilaskentahyökkäykselle, on vakioavaimeton salaus. Näin oli asian kanssa Caesarin salakirjoitus, joka yksinkertaisesti siirtää aakkosten jokaista kirjainta kolme kirjainta eteenpäin (taulukko on silmukattu, joten aakkosten viimeinen kirjain salataan kolmanneksi). Tässä tulee jälleen esille Kerchhoffsin periaate: kun järjestelmä on hakkeroitu, se hakkeroidaan ikuisesti.

Konsepti on yksinkertainen. Jopa aloitteleva kryptojärjestelmän kehittäjä todennäköisesti tunnistaa uhan ja valmistautuu sen mukaisesti. Tarkasteltaessa kryptografian kehitystä, tällaiset hyökkäykset olivat sopimattomia useimmille salakirjoille, Caesar-salauksen ensimmäisistä parannetuista versioista moniaakkosisten salausten vähenemiseen asti. Tällaiset hyökkäykset palasivat vasta modernin kryptografian aikakauden tullessa.

Tämä tuotto johtuu kahdesta tekijästä. Ensinnäkin vihdoin ilmestyi riittävän monimutkaisia ​​kryptojärjestelmiä, joissa hyväksikäytön mahdollisuus hakkeroinnin jälkeen ei ollut ilmeinen. Toiseksi kryptografia levisi niin laajalle, että miljoonat maallikot tekivät joka päivä päätöksiä siitä, missä ja mitä kryptografian osia käyttää uudelleen. Kesti jonkin aikaa, ennen kuin asiantuntijat ymmärsivät riskit ja herättivät hälytyksen.

Muista esilaskentahyökkäys: artikkelin lopussa tarkastellaan kahta tosielämän kryptografista esimerkkiä, joissa sillä oli tärkeä rooli.

interpolointi

Tässä on kuuluisa etsivä Sherlock Holmes, joka suorittaa interpolaatiohyökkäyksen onnetonta tohtori Watsonia vastaan:

Arvasin heti, että olet tullut Afganistanista... Ajatukseni oli seuraava: ”Tämä mies on tyypiltään lääkäri, mutta hänellä on sotilaallinen suuntaus. Eli sotilaslääkäri. Hän on juuri saapunut tropiikista - hänen kasvonsa ovat tummat, mutta tämä ei ole hänen ihonsa luonnollinen sävy, koska hänen ranteensa ovat paljon valkoisemmat. Kasvot ovat ahneita - ilmeisesti hän on kärsinyt paljon ja kärsinyt sairauksista. Hän haavoittui vasempaan käteensä - hän pitää sitä liikkumattomana ja hieman epäluonnollisesti. Missä tropiikissa englantilainen sotilaslääkäri voisi kestää vaikeuksia ja loukkaantua? Tietenkin Afganistanissa." Koko ajatuskulku ei kestänyt hetkeäkään. Ja niin sanoin, että tulit Afganistanista, ja olit yllättynyt.

Holmes pystyi poimimaan hyvin vähän tietoa jokaisesta todisteesta erikseen. Hän saattoi tehdä johtopäätöksensä vain tarkastelemalla niitä kaikkia yhdessä. Interpolointihyökkäys toimii samalla tavalla tutkimalla samasta avaimesta peräisin olevia tunnettuja selväteksti- ja salatekstipareja. Jokaisesta parista poimitaan yksittäisiä havaintoja, joiden avulla voidaan tehdä yleinen johtopäätös avaimesta. Kaikki nämä päätelmät ovat epämääräisiä ja näyttävät hyödyttömiltä, ​​kunnes ne yhtäkkiä saavuttavat kriittisen massan ja johtavat ainoaan mahdolliseen johtopäätökseen: olipa se kuinka uskomatonta tahansa, sen täytyy olla totta. Tämän jälkeen joko avain paljastetaan tai salauksen purkuprosessi tarkentuu niin, että se voidaan replikoida.

Havainnollistetaan yksinkertaisella esimerkillä, kuinka interpolointi toimii. Oletetaan, että haluamme lukea vihollisemme Bobin henkilökohtaista päiväkirjaa. Hän salaa jokaisen päiväkirjansa numeron käyttämällä yksinkertaista salausjärjestelmää, jonka hän sai tietää "A Mock of Cryptography" -lehden mainoksesta. Järjestelmä toimii näin: Bob valitsee kaksi numeroa, joista hän pitää: Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle и Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Tästä eteenpäin minkä tahansa numeron salaamiseen Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, se laskee Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Esimerkiksi jos Bob valitsi Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle и Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, sitten numero Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle salataan nimellä Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle.

Oletetaan, että 28. joulukuuta huomasimme, että Bob raapii jotain päiväkirjassaan. Kun hän on valmis, otamme sen hiljaa ja katsomme viimeisen merkinnän:

Дата: 235/520

Rakas päiväkirja,

Tänään oli hyvä päivä. Kautta 64 tänään minulla on treffit Alisan kanssa, joka asuu kerrostalossa 843. Luulen todella, että hän saattaa olla 26!

Koska olemme erittäin tosissamme Bobin seuraamisessa hänen treffeillä (olemme molemmat 15-vuotiaita tässä skenaariossa), on tärkeää tietää päivämäärä sekä Alicen osoite. Onneksi huomaamme, että Bobin salausjärjestelmä on alttiina interpolaatiohyökkäykselle. Emme ehkä tiedä Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle и Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, mutta tiedämme tämän päivän päivämäärän, joten meillä on kaksi selväkieli-salateksti-paria. Nimittäin me tiedämme sen Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle salattu sisään Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleJa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle - klo Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Kirjoitamme tähän:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Koska olemme 15-vuotiaita, tiedämme jo kahden yhtälöjärjestelmän, jossa on kaksi tuntematonta, mikä tässä tilanteessa riittää löytää Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle и Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle ilman ongelmia. Jokainen selväteksti-salateksti-pari asettaa rajoituksen Bobin avaimelle, ja nämä kaksi rajoitusta yhdessä riittävät avaimen täydelliseen palauttamiseen. Esimerkissämme vastaus on Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle и Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle (at Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, niin 26 päiväkirjassa vastaa sanaa "se yksi", eli "sama" - noin. kaista).

Interpolointihyökkäykset eivät tietenkään rajoitu tällaisiin yksinkertaisiin esimerkkeihin. Jokainen salausjärjestelmä, joka pelkistyy hyvin ymmärretyksi matemaattiseksi objektiksi ja parametriluetteloksi, on vaarassa joutua interpolaatiohyökkäykseen – mitä ymmärrettävämpi objekti, sitä suurempi riski.

Uudet tulokkaat valittavat usein, että kryptografia on "taidetta suunnitella asioita mahdollisimman rumille". Interpolaatiohyökkäykset ovat todennäköisesti suurelta osin syyllisiä. Bob voi joko käyttää tyylikästä matemaattista suunnittelua tai pitää treffinsä Alicen kanssa yksityisenä – mutta valitettavasti et yleensä voi tehdä sitä molempiin suuntiin. Tämä tulee täysin selväksi, kun lopulta pääsemme julkisen avaimen salausaiheeseen.

Protokollat ​​ylittävät/alempi

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleElokuvassa Now You See Me (2013) joukko illusionisteja yrittää huijata korruptoituneelta vakuutusmagnaatti Arthur Tressleriltä koko omaisuutensa. Päästäkseen Arthurin pankkitilille illusionistien on joko annettava hänen käyttäjätunnus ja salasana tai pakotettava hänet saapumaan henkilökohtaisesti pankkiin ja osallistumaan järjestelyyn.

Molemmat vaihtoehdot ovat erittäin vaikeita; Kaverit ovat tottuneet esiintymään lavalla, eivätkä osallistu tiedusteluoperaatioihin. Joten he valitsevat kolmannen mahdollisen vaihtoehdon: heidän rikoskumppaninsa soittaa pankkiin ja teeskentelee olevansa Arthur. Pankki esittää useita kysymyksiä henkilöllisyyden vahvistamiseksi, kuten sedän nimen ja ensimmäisen lemmikin nimen; sankarimme etukäteen he poimivat helposti nämä tiedot Arthurilta käyttämällä älykästä sosiaalista suunnittelua. Tästä eteenpäin erinomaisella salasanasuojauksella ei ole enää merkitystä.

(Yksilöllisesti vahvistamamme ja todentamamme kaupunkilegendan mukaan kryptografi Eli Beaham tapasi kerran pankkivirkailijan, joka vaati turvakysymyksen asettamista. Kun rahanlaskija kysyi äitinsä isoäitinsä nimeä, Beaham alkoi sanella: "Pääkaupunki X, pieni y, kolme...").

Se on sama kryptografiassa, jos kahta salausprotokollaa käytetään rinnakkain saman omaisuuden suojaamiseen, ja toinen on paljon heikompi kuin toinen. Tuloksena oleva järjestelmä tulee alttiiksi protokollien väliselle hyökkäykselle, jossa hyökätään heikompaan protokollaan päästäkseen palkinnolle koskematta vahvempaan.

Joissakin monimutkaisissa tapauksissa ei riitä, että otamme yhteyttä palvelimeen käyttämällä heikompaa protokollaa, vaan se edellyttää laillisen asiakkaan tahatonta osallistumista. Tämä voidaan järjestää niin sanotulla downgrade-hyökkäyksellä. Tämän hyökkäyksen ymmärtämiseksi oletetaan, että illusionisteillamme on vaikeampi tehtävä kuin elokuvassa. Oletetaan, että pankin työntekijä (kassanhoitaja) ja Arthur kohtasivat joitain odottamattomia olosuhteita, mikä johti seuraavaan keskusteluun:

Murtovaras: Hei? Tämä on Arthur Tressler. Haluaisin nollata salasanani.

Kassa: Loistava. Ole hyvä ja katso henkilökohtaista salakoodikirjaasi, sivu 28, sana 3. Kaikki seuraavat viestit salataan käyttämällä tätä nimenomaista sanaa avaimena. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Murtovaras: Hei, hei, odota, odota. Onko tämä todella tarpeellista? Emmekö voi puhua kuin tavalliset ihmiset?

Kassa: En suosittele tekemään tätä.

Murtovaras: Minä vain... katso, minulla oli surkea päivä, okei? Olen VIP-asiakas, eikä minulla ole mielialaa kaivaa näitä typeriä koodikirjoja.

Kassa: Hieno. Jos vaadit, herra Tressler. Mitä haluat?

Murtovaras: Haluaisin lahjoittaa kaikki rahani Arthur Tressler National Victims Fund -rahastoon.

(Tauko).

Kassa: Onko nyt selvää. Anna PIN-koodi suuria tapahtumia varten.

Murtovaras: Minun mikä?

Kassa: Henkilökohtaisesta pyynnöstäsi tämän kokoiset tapahtumat vaativat PIN-koodin suuriin tapahtumiin. Tämä koodi annettiin sinulle, kun avasit tilisi.

Murtovaras:... Kadotin sen. Onko tämä todella tarpeellista? Etkö voi vain hyväksyä sopimusta?

Kassa: Ei. Olen pahoillani, herra Tressler. Jälleen tämä on turvatoimi, jota pyysit. Halutessasi voimme lähettää uuden PIN-koodin postilaatikkoosi.

Sankarimme lykkäävät operaatiota. He salakuuntelevat useita Tresslerin suuria tapahtumia toivoen kuulevansa PIN-koodin; mutta joka kerta keskustelu muuttuu koodatuksi hölynpölyksi ennen kuin mitään kiinnostavaa sanotaan. Lopulta eräänä kauniina päivänä suunnitelma toteutetaan. He odottavat kärsivällisesti hetkeä, jolloin Tresslerin on tehtävä suuri kauppa puhelimitse, hän tulee linjaan ja sitten...

Tressler: Hei. Haluaisin suorittaa etäkaupan, kiitos.

Kassa: Loistava. Ole hyvä ja katso henkilökohtaista salakoodikirjaasi, sivu...

(Varas painaa nappia; kassan ääni muuttuu käsittämättömäksi ääneksi).

Kassa: - #@$#@$#*@$$@#* salataan tällä sanalla avaimena. AAAYRR PLRQRZ MMNJK LOJBAN…

Tressler: Anteeksi, en oikein ymmärtänyt. Uudelleen? millä sivulla? Mikä sana?

Kassa: Tämä on sivu @#$@#*$)#*#@()#@$(#@*$(#@*.

Tressler: Mitä?

Kassa: Sanan numero kaksikymmentä @$#@$#%#$.

Tressler: Vakavasti! Riittää jo! Sinä ja turvaprotokollasi olette jonkinlainen sirkus. Tiedän, että voit puhua minulle normaalisti.

Kassa: En suosittele…

Tressler: Ja en neuvo sinua tuhlaamaan aikaani. En halua kuulla tästä enempää ennen kuin olet korjannut puhelinlinja-ongelmasi. Voimmeko tehdä tämän sopimuksen päätökseen vai emme?

Kassa:… Joo. Hieno. Mitä haluat?

Tressler: Haluaisin siirtää 20 000 dollaria Lord Business Investmentsille, tilinumero...

Kassa: Hetki vain. Se on iso juttu. Anna PIN-koodi suuria tapahtumia varten.

Tressler: Mitä? Ai, aivan. 1234.

Tässä on hyökkäys alaspäin. Heikompi protokolla "puhu vain suoraan" kuviteltiin sellaisena vaihtoehto hätätilanteessa. Ja silti tässä ollaan.

Saatat ihmetellä, kuka järkevässä mielessä suunnittelee yllä kuvatun kaltaisen "turvallisen, kunnes toisin kysytään" -järjestelmän. Mutta aivan kuten kuvitteellinen pankki ottaa riskejä pitääkseen asiakkaita, jotka eivät pidä kryptografiasta, järjestelmät yleensä suuntautuvat vaatimuksiin, jotka ovat välinpitämättömiä tai jopa suorastaan ​​vihamielisiä turvallisuuden suhteen.

Juuri näin tapahtui SSLv2-protokollan kanssa vuonna 1995. Yhdysvaltain hallitus on pitkään alkanut pitää kryptografiaa aseena, joka on parasta pitää poissa ulko- ja kotimaisista vihollisista. Koodipalat hyväksyttiin yksitellen vietäväksi Yhdysvalloista, usein sillä ehdolla, että algoritmia oli tarkoituksella heikennetty. Suosituimman selaimen Netscape Navigatorin kehittäjä Netscape sai SSLv2:n luvan vain luonnostaan ​​haavoittuvalla 512-bittisellä RSA-avaimella (ja 40-bittisellä RC4:lle).

Vuosituhannen loppuun mennessä säännöt olivat lieventyneet ja nykyaikainen salaus tuli laajalti saataville. Asiakkaat ja palvelimet ovat kuitenkin tukeneet heikentynyttä "vienti"-salausta jo vuosia saman inertian vuoksi, joka ylläpitää tukea kaikille vanhoille järjestelmille. Asiakkaat uskoivat, että he saattavat kohdata palvelimen, joka ei tue mitään muuta. Palvelimet tekivät samoin. Tietenkin SSL-protokolla määrää, että asiakkaat ja palvelimet eivät koskaan saa käyttää heikkoa protokollaa, kun parempi on saatavilla. Mutta sama lähtökohta pätee Tressleriin ja hänen pankkiinsa.

Tämä teoria löysi tiensä kahteen korkean profiilin hyökkäykseen, jotka järkyttivät SSL-protokollan turvallisuutta vuonna 2015. Molemmat löysivät Microsoftin tutkijat ja INRIA. Ensin FREAK-hyökkäyksen yksityiskohdat paljastettiin helmikuussa, jota seurasi kolme kuukautta myöhemmin toinen samanlainen hyökkäys nimeltä Logjam, josta keskustelemme tarkemmin, kun siirrymme julkisen avaimen salaukseen kohdistuviin hyökkäyksiin.

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleHaavoittuvuus FREAK (tunnetaan myös nimellä "Smack TLS") tuli ilmi, kun tutkijat analysoivat TLS-asiakas/palvelin-toteutuksia ja löysivät uteliaan bugin. Jos asiakas ei näissä toteutuksissa edes pyydä käyttämään heikkoa vientisalausta, mutta palvelin silti vastaa sellaisilla avaimilla, asiakas sanoo "No hyvä" ja vaihtaa heikkoon salaussarjaan.

Tuohon aikaan viennin kryptografiaa pidettiin laajalti vanhentuneena ja kiellettynä, joten hyökkäys oli täydellinen shokki ja vaikutti moniin tärkeisiin alueisiin, mukaan lukien Valkoinen talo, IRS ja NSA-sivustot. Vielä pahempaa on, että osoittautui, että monet haavoittuvat palvelimet optimoivat suorituskykyä käyttämällä samoja avaimia uudelleen sen sijaan, että luosivat uusia jokaista istuntoa varten. Tämä teki mahdolliseksi protokollan alentamisen jälkeen suorittaa laskentaa edeltävän hyökkäyksen: yhden avaimen murtaminen pysyi suhteellisen kalliina (100 dollaria ja 12 tuntia julkaisuhetkellä), mutta yhteyteen hyökkäämisen käytännön kustannukset pienenivät merkittävästi. Riittää, kun valitset palvelinavain kerran ja murtat salauksen kaikille myöhemmille yhteyksille siitä hetkestä lähtien.

Ja ennen kuin siirrymme eteenpäin, on yksi edistynyt hyökkäys, joka on mainittava...

Oraakkelin hyökkäys

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleMoxie Marlinspike tunnetaan parhaiten monialustaisen salausviestisovelluksen Signal isänä; mutta me henkilökohtaisesti pidämme yhdestä hänen vähemmän tunnetuista innovaatioistaan ​​- kryptografisen tuhon periaate (Cryptographic Doom Principle). Hieman parafrasoidaksemme voimme sanoa tämän: "Jos protokolla toimii kaikki suorittaa salausoperaation mahdollisesti haitallisesta lähteestä tulevalle viestille ja käyttäytyy eri tavalla tuloksesta riippuen, se on tuomittu." Tai terävämmässä muodossa: "Älä ota viholliselta tietoja käsittelyyn, ja jos on pakko, niin älä ainakaan näytä tulosta."

Jätetään syrjään puskurin ylivuoto, komentoinjektiot ja vastaavat; ne eivät kuulu tämän keskustelun piiriin. "Tuomioperiaatteen" rikkominen johtaa vakaviin kryptografisiin hakkeroihin, koska protokolla käyttäytyy täsmälleen odotetusti.

Otetaan esimerkkinä fiktiivinen malli haavoittuvalla korvaussalauksella ja esitellään sitten mahdollinen hyökkäys. Vaikka olemme jo nähneet hyökkäyksen korvaussalausta vastaan ​​taajuusanalyysin avulla, se ei ole vain "toinen tapa murtaa sama salaus". Päinvastoin, oraakkelihyökkäykset ovat paljon nykyaikaisempi keksintö, jota voidaan soveltaa moniin tilanteisiin, joissa taajuusanalyysi epäonnistuu, ja näemme tämän esittelyn seuraavassa osiossa. Tässä yksinkertainen salaus on valittu vain esimerkin selkeyttämiseksi.

Joten Alice ja Bob kommunikoivat käyttämällä yksinkertaista korvaussalausta käyttämällä vain heille tuttua avainta. Ne ovat erittäin tiukkoja viestien pituuden suhteen: ne ovat tasan 20 merkkiä pitkiä. Joten he sopivat, että jos joku halusi lähettää lyhyemmän viestin, heidän pitäisi lisätä tekstiä viestin loppuun, jotta siitä tulisi täsmälleen 20 merkkiä. Hetken keskustelun jälkeen he päättivät hyväksyä vain seuraavat valetekstit: a, bb, ccc, dddd jne. Siten tunnetaan minkä tahansa pituinen valeteksti.

Kun Alice tai Bob vastaanottaa viestin, he tarkistavat ensin, että viesti on oikean pituinen (20 merkkiä) ja että pääte on oikea valeteksti. Jos näin ei ole, he vastaavat asianmukaisella virheilmoituksella. Jos tekstin pituus ja valeteksti ovat ok, vastaanottaja lukee viestin itse ja lähettää salatun vastauksen.

Hyökkäyksen aikana hyökkääjä esiintyy Bobina ja lähettää Alicelle vääriä viestejä. Viestit ovat täyttä hölynpölyä - hyökkääjällä ei ole avainta, eikä hän siksi voi väärentää merkityksellistä viestiä. Mutta koska protokolla rikkoo doom-periaatetta, hyökkääjä voi silti saada Alicen ansaan paljastamaan tärkeimmät tiedot alla olevan kuvan mukaisesti.

Murtovaras: PREWF ZHJKL MMMN. LA

Alice: Virheellinen valeteksti.

Murtovaras: PREWF ZHJKL MMMN. LB

Alice: Virheellinen valeteksti.

Murtovaras: PREWF ZHJKL MMMN. LC

Alice: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Murtovaras ei tiedä mitä Alice juuri sanoi, mutta panee merkille, että symboli C täytyy vastata a, koska Alice hyväksyi nuken tekstin.

Murtovaras: REWF ZHJKL MMMN. LAA

Alice: Virheellinen valeteksti.

Murtovaras: REWF ZHJKL MMMN. LBB

Alice: Virheellinen valeteksti.

Useiden yritysten jälkeen...

Murtovaras: REWF ZHJKL MMMN. LGG

Alice: Virheellinen valeteksti.

Murtovaras: REWF ZHJKL MMMN. LHH

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

Jälleen kerran, hyökkääjällä ei ole aavistustakaan siitä, mitä Alice juuri sanoi, mutta huomauttaa, että H:n on vastattava b:tä, koska Alice hyväksyi valetekstin.

Ja niin edelleen, kunnes hyökkääjä tietää kunkin hahmon merkityksen.

Ensi silmäyksellä menetelmä muistuttaa valittua pelkkätekstihyökkäystä. Lopulta hyökkääjä valitsee salatekstit ja palvelin käsittelee ne kuuliaisesti. Suurin ero, joka tekee näistä hyökkäyksistä elinkelpoisia todellisessa maailmassa, on se, että hyökkääjä ei tarvitse pääsyä varsinaiseen transkriptiin – palvelimen vastaus, jopa niinkin harmiton kuin "Virheellinen valeteksti", riittää.

Vaikka tämä hyökkäys on opettavainen, älä jää liian kiinni "tyhjennäteksti"-järjestelmän yksityiskohtiin, käytettävään salausjärjestelmään tai hyökkääjän lähettämien viestien tarkkaan järjestykseen. Perusajatuksena on, kuinka Alice reagoi eri tavalla selkeän tekstin ominaisuuksien perusteella, ja tekee niin varmistamatta, että vastaava salateksti todella tuli luotettavalta osapuolelta. Siten Alice antaa hyökkääjän puristaa salaisia ​​tietoja vastauksistaan.

Tässä skenaariossa on paljon mitä voidaan muuttaa. Symbolit, joihin Alice reagoi, tai hänen käyttäytymisensä ero tai jopa käytetty kryptosysteemi. Mutta periaate pysyy samana, ja hyökkäys kokonaisuudessaan säilyy elinkelpoisena muodossa tai toisessa. Tämän hyökkäyksen perustoteutus auttoi paljastamaan useita tietoturvavirheitä, joita tarkastelemme pian; mutta ensin on opittava joitain teoreettisia opetuksia. Kuinka käyttää tätä fiktiivistä "Liisa-käsikirjoitusta" hyökkäyksessä, joka voi toimia todellisen nykyaikaisen salauksen kanssa? Onko tämä edes teoriassa mahdollista?

Vuonna 1998 sveitsiläinen kryptografi Daniel Bleichenbacher vastasi tähän kysymykseen myöntävästi. Hän osoitti oraakkelin hyökkäyksen laajalti käytettyä julkisen avaimen salausjärjestelmää RSA vastaan ​​käyttämällä erityistä viestimallia. Joissakin RSA-toteutuksissa palvelin vastaa erilaisilla virheilmoituksilla riippuen siitä, vastaako selkeä teksti mallia vai ei; tämä riitti hyökkäykseen.

Neljä vuotta myöhemmin, vuonna 2002, ranskalainen kryptografi Serge Vaudenay osoitti oraakkelihyökkäyksen, joka oli lähes identtinen yllä olevassa Liisa-skenaariossa kuvatun kanssa - paitsi että kuvitteellisen salauksen sijaan hän mursi kokonaisen kunnioitettavan luokan moderneja salakirjoituksia, joita ihmiset todella käyttävät. Vaudenayn hyökkäys kohdistuu erityisesti kiinteän tulokoon salauksiin ("lohkosalaukset"), kun niitä käytetään niin sanotussa "CBC-salaustilassa" ja tietyllä suositulla täytejärjestelmällä, joka on periaatteessa samanlainen kuin Alice-skenaariossa.

Myös vuonna 2002 amerikkalainen kryptografi John Kelsey - toinen kirjoittaja twofish — ehdotti erilaisia ​​oraakkelihyökkäyksiä järjestelmiä vastaan, jotka pakkaavat viestejä ja sitten salaavat ne. Näistä merkittävin oli hyökkäys, jossa hyödynnettiin sitä tosiasiaa, että salatekstin pituudesta on usein mahdollista päätellä selväkielisen tekstin alkuperäinen pituus. Teoriassa tämä mahdollistaa oraakkelihyökkäyksen, joka palauttaa osia alkuperäisestä selkeästä tekstistä.

Alla annamme yksityiskohtaisemman kuvauksen Vaudenay- ja Kelsey-hyökkäyksistä (annamme yksityiskohtaisemman kuvauksen Bleichenbacher-hyökkäyksestä, kun siirrymme julkisen avaimen salaushyökkäyksiin). Parhaista yrityksistämme huolimatta tekstistä tulee jonkin verran teknistä; joten jos yllä oleva riittää sinulle, ohita kaksi seuraavaa osaa.

Vodenen hyökkäys

Ymmärtääksemme Vaudenayn hyökkäyksen, meidän on ensin puhuttava hieman enemmän lohkosalauksista ja salaustiloista. "Block cipher" on, kuten mainittiin, salaus, joka ottaa avaimen ja syötteen tietyn pituisen ("lohkon pituus") ja tuottaa samanpituisen salatun lohkon. Lohkosalauksia käytetään laajalti ja niitä pidetään suhteellisen turvallisina. Nyt eläkkeellä oleva DES, jota pidettiin ensimmäisenä nykyaikaisena salauksena, oli lohkosalaus. Kuten edellä mainittiin, sama pätee AES:ään, jota käytetään nykyään laajalti.

Valitettavasti lohkosalauksilla on yksi räikeä heikkous. Tyypillinen lohkokoko on 128 bittiä tai 16 merkkiä. Ilmeisesti nykyaikainen salaus vaatii työskentelyä suuremman syöttödatan kanssa, ja tässä salaustilat tulevat esiin. Salaustila on pohjimmiltaan hakkerointi: se on tapa jollakin tavalla käyttää lohkosalausta, joka hyväksyy vain tietyn kokoiset syötteet mielivaltaisen pituisiin syötteisiin.

Vodenen hyökkäys keskittyy suosittuun CBC (Cipher Block Chaining) -toimintatapaan. Hyökkäys käsittelee taustalla olevaa lohkosalausta maagisena, valloittamattomana mustana laatikkona ja ohittaa kokonaan sen suojauksen.

Tässä on kaavio, joka näyttää kuinka CBC-tila toimii:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Ympyröity plus tarkoittaa XOR-toimintoa (exclusive OR). Esimerkiksi toinen salatekstin lohko vastaanotetaan:

  1. Suorittamalla XOR-operaatio toiselle selvätekstilohkolle ensimmäisen salatekstilohkon kanssa.
  2. Tuloksena olevan lohkon salaus lohkosalauksella avaimen avulla.

Koska CBC käyttää niin paljon binaarista XOR-toimintoa, muistetaanpa joitain sen ominaisuuksia:

  • Idempotenssi: Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle
  • Kommutatiivisuus: Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle
  • Assosiaatio: Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle
  • Itse palautuvuus: Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle
  • Tavun koko: tavu n Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle = (tavu n Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle) Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle (tavu n Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle)

Tyypillisesti nämä ominaisuudet tarkoittavat, että jos meillä on yhtälö, joka sisältää XOR-operaatioita ja yksi tuntematon, se voidaan ratkaista. Esimerkiksi jos tiedämme sen Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle tuntemattoman kanssa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle ja kuuluisa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle и Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, voimme luottaa yllä mainittuihin ominaisuuksiin yhtälön ratkaisemiseksi Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Soveltamalla XOR:ta yhtälön molemmille puolille kanssa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, saamme Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Tästä kaikesta tulee hetkessä erittäin ajankohtainen.

Alice-skenaarion ja Vaudenayn hyökkäyksen välillä on kaksi pientä eroa ja yksi suuri ero. Kaksi pientä:

  • Käsikirjoituksessa Alice odotti selkeiden tekstien päättyvän hahmoihin a, bb, ccc ja niin edelleen. Wodene-hyökkäyksessä uhri sen sijaan odottaa, että selkotekstit päättyvät N kertaa N-tavulla (eli heksadesimaaliluvulla 01 tai 02 02 tai 03 03 03 ja niin edelleen). Tämä on puhtaasti kosmeettinen ero.
  • Alice-skenaariossa oli helppo todeta, oliko Alice hyväksynyt viestin vastauksesta "Väärä valeteksti". Vodenen hyökkäyksessä tarvitaan enemmän analysointia ja tarkka toteutus uhrin puolella on tärkeää; mutta lyhyyden vuoksi oletetaan, että tämä analyysi on edelleen mahdollista.

Tärkein ero:

  • Koska emme käytä samaa salausjärjestelmää, hyökkääjien ohjaamien salatekstitavujen ja salaisuuksien (avain ja selkeä teksti) välinen suhde on ilmeisesti erilainen. Siksi hyökkääjän on käytettävä erilaista strategiaa luodessaan salatekstejä ja tulkitessaan palvelimen vastauksia.

Tämä suuri ero on palapelin viimeinen pala Vaudenayn hyökkäyksen ymmärtämiseksi, joten mietitäänpä hetki, miksi ja miten oraakkelihyökkäys CBC:tä vastaan ​​voidaan ylipäätään toteuttaa.

Oletetaan, että meille annetaan 247 lohkon CBC-salateksti ja haluamme purkaa sen salauksen. Voimme lähettää väärennettyjä viestejä palvelimelle, aivan kuten voimme lähettää vääriä viestejä Alicelle aiemmin. Palvelin purkaa viestit puolestamme, mutta ei näytä salauksen purkamista - sen sijaan, kuten Alice, palvelin raportoi vain yhden bitin tietoa: onko selkotekstissä kelvollinen täyte vai ei.

Ajattele, että Liisa skenaariossa meillä oli seuraavat suhteet:

$$näyttö$$teksti{SIMPLE_SUBSTITUTION}(teksti{salateksti},teksti{avain}) = teksti{plaintext}$$näyttö$$

Kutsutaan tätä "Liisan yhtälöksi". Hallitsimme salatekstiä; palvelin (Alice) vuoti epämääräistä tietoa vastaanotetusta selkeästä tekstistä; ja tämä antoi meille mahdollisuuden päätellä tietoja viimeisestä tekijästä - avaimesta. Analogisesti, jos löydämme tällaisen yhteyden CBC-skriptille, voimme ehkä poimia sieltä myös salaista tietoa.

Onneksi on olemassa suhteita, joita voimme käyttää. Harkitse viimeisen kutsun lähtöä lohkosalauksen purkamiseksi ja merkitse tämä tulos muodossa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Merkitsemme myös selkeän tekstin lohkoja Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle ja salatekstilohkot Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle. Katso CBC-kaaviota uudelleen ja huomaa mitä tapahtuu:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Kutsutaan tätä "CBC-yhtälöksi".

Liisa skenaariossa, tarkkailemalla salatekstiä ja tarkkailemalla vastaavaa selkeän tekstin vuotoa, pystyimme suorittamaan hyökkäyksen, joka palautti yhtälön kolmannen termin - avaimen. CBC-skenaariossa tarkkailemme myös salatekstiä ja tarkkailemme tietovuotoja vastaavassa selkeässä tekstissä. Jos analogia pätee, voimme saada tietoa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle.

Oletetaan, että todella kunnostimme Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, mitä sitten? No, sitten voimme tulostaa koko viimeisen selväkielisen lohkon kerralla (Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle), yksinkertaisesti syöttämällä Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle (joka meillä on) ja
otettu vastaan Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle CBC-yhtälöön.

Nyt kun olemme optimistisia yleisen hyökkäyssuunnitelman suhteen, on aika selvittää yksityiskohdat. Kiinnitä huomiota siihen, kuinka selkotekstitietoa vuotaa palvelimelle. Alicen käsikirjoituksessa vuoto tapahtui, koska Alice vastasi oikealla viestillä vain, jos $inline$text{SIMPLE_SUBSTITUTION}(teksti{salakirjateksti},teksti{avain})$inline$ päättyisi riviin a (tai bbja niin edelleen, mutta todennäköisyys, että nämä olosuhteet laukaisivat sattuman, oli hyvin pieni). Kuten CBC, palvelin hyväksyy täytteen jos ja vain jos Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle päättyy heksadesimaaliin 01. Kokeillaanpa siis samaa temppua: lähetämme väärennettyjä salatekstejä omilla väärillä arvoillamme Kryptografiset hyökkäykset: selitys hämmentyneelle mielellekunnes palvelin hyväksyy täytteen.

Kun palvelin hyväksyy täytön yhdelle väärennetyistä viesteistämme, se tarkoittaa, että:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Nyt käytämme byte-byte XOR-ominaisuutta:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Tiedämme ensimmäisen ja kolmannen termin. Ja olemme jo nähneet, että tämän avulla voimme palauttaa jäljellä olevan termin - viimeisen tavun Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Tämä antaa meille myös viimeisen selväkielilohkon viimeisen tavun CBC-yhtälön ja tavu-tavu-ominaisuuden kautta.

Voisimme jättää asian tähän ja olla tyytyväisiä, että olemme hyökänneet teoreettisesti vahvaa salausta vastaan. Mutta itse asiassa voimme tehdä paljon enemmän: voimme itse asiassa palauttaa kaiken tekstin. Tämä vaatii tempun, joka ei ollut Alicen alkuperäisessä käsikirjoituksessa ja jota ei vaadita oraakkelihyökkäykseen, mutta se kannattaa silti opetella.

Ymmärtääksesi sen, huomaa ensin, että viimeisen tavun oikean arvon tulos on Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle meillä on uusi kyky. Nyt, kun väärennetään salatekstejä, voimme manipuloida vastaavan selkeän tekstin viimeistä tavua. Tämä taas liittyy CBC-yhtälöön ja tavu kerrallaan -ominaisuuteen:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Koska tiedämme nyt toisen termin, voimme hallita ensimmäistä termiä hallitaksemme kolmatta. Laskemme yksinkertaisesti:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Emme voineet tehdä tätä aiemmin, koska meillä ei ollut vielä viimeistä tavua Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle.

Miten tämä auttaa meitä? Oletetaan, että luomme nyt kaikki salatekstit siten, että vastaavien selkotekstien viimeinen tavu on yhtä suuri kuin 02. Palvelin hyväksyy nyt vain täytön, jos pelkkä teksti loppuu 02 02. Koska korjasimme viimeisen tavun, tämä tapahtuu vain, jos selvätekstin toiseksi viimeinen tavu on myös 02. Lähetämme edelleen väärennettyjä salatekstilohkoja, vaihdamme toiseksi viimeistä tavua, kunnes palvelin hyväksyy täytön jommallekummalle niistä. Tässä vaiheessa saamme:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Ja palautetaan toiseksi viimeinen tavu Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle aivan kuten edellinen kunnostettiin. Jatkamme samassa hengessä: korjaamme selkeän tekstin kaksi viimeistä tavua 03 03, toistamme tämän hyökkäyksen kolmannelle tavulle lopusta ja niin edelleen, lopulta täysin palauttaen Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle.

Entä muu teksti? Huomaa, että arvo Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle on itse asiassa $inline$text{BLOCK_DECRYPT}(teksti{avain},C_{247})$inline$. Voimme laittaa minkä tahansa muun lohkon tilalle Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle, ja hyökkäys onnistuu silti. Itse asiassa voimme pyytää palvelinta tekemään $inline$text{BLOCK_DECRYPT}$inline$ kaikille tiedoille. Tässä vaiheessa peli on ohi - voimme purkaa minkä tahansa salatekstin (katso vielä CBC-salauksenpurkukaavio nähdäksesi tämän; ja huomaa, että IV on julkinen).

Tällä menetelmällä on ratkaiseva rooli oraakkelihyökkäyksessä, jonka kohtaamme myöhemmin.

Kelseyn hyökkäys

Ystävällinen John Kelseymme esitti monien mahdollisten hyökkäysten taustalla olevat periaatteet, ei vain tiettyä salauskoodia vastaan ​​tehdyn hyökkäyksen yksityiskohtia. Hänen Vuoden 2002-artikkeli on tutkimus mahdollisista hyökkäyksistä salattua pakattua tietoa vastaan. Luulitko, että tieto siitä, että tiedot pakattiin ennen salausta, ei riittänyt hyökkäykseen? Osoittautuu, että se riittää.

Tämä yllättävä tulos johtuu kahdesta periaatteesta. Ensinnäkin selkeän tekstin pituuden ja salatekstin pituuden välillä on vahva korrelaatio; monille salakirjoille täsmällinen tasa-arvo. Toiseksi, kun pakkaus suoritetaan, on myös vahva korrelaatio pakatun viestin pituuden ja selkeän tekstin "kohinaisuuden" välillä, eli ei-toistuvien merkkien osuuden välillä (tekninen termi on "korkea entropia"). ).

Nähdäksesi periaatteen toiminnassa, harkitse kahta selkeää tekstiä:

Pelkkä teksti 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Pelkkä teksti 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Oletetaan, että molemmat selkeät tekstit pakataan ja sitten salataan. Saat kaksi tuloksena olevaa salatekstiä ja sinun on arvattava, mikä salateksti vastaa mitäkin selkeää tekstiä:

Salateksti 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Salateksti 2: DWKJZXYU

Vastaus on selvä. Selkeistä teksteistä vain selväteksti 1 voitiin pakata toisen salatekstin vähäiseen pituuteen. Selvitimme tämän tietämättä mitään pakkausalgoritmista, salausavaimesta tai jopa itse salauksesta. Mahdollisten kryptografisten hyökkäysten hierarkiaan verrattuna tämä on jotenkin hullua.

Kelsey huomauttaa lisäksi, että tietyissä epätavallisissa olosuhteissa tätä periaatetta voidaan käyttää myös oraakkelihyökkäyksen suorittamiseen. Erityisesti se kuvaa, kuinka hyökkääjä voi palauttaa salaisen selkeän tekstin, jos hän voi pakottaa palvelimen salaamaan lomaketiedot (selkäteksti, jota seuraa Kryptografiset hyökkäykset: selitys hämmentyneelle mielellekun hän on hallinnassa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle ja voi jotenkin tarkistaa salatun tuloksen pituuden.

Jälleen, kuten muillakin oraakkelihyökkäyksillä, meillä on suhde:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Jälleen hallitsemme yhtä termiä (Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle), näemme pienen tietovuodon toisesta jäsenestä (salateksti) ja yritämme palauttaa viimeisen (selkoteksti). Analogiasta huolimatta tämä on hieman epätavallinen tilanne verrattuna muihin näkemiimme oraakkelihyökkäyksiin.

Havainnollistaaksemme, kuinka tällainen hyökkäys voisi toimia, käytetään fiktiivistä pakkausmallia, jonka juuri keksimme: TOYZIP. Se etsii tekstirivejä, jotka ovat esiintyneet aiemmin tekstissä, ja korvaa ne kolmella paikkamerkkitavulla, jotka osoittavat, mistä rivin aikaisempi esiintymä löytyy ja kuinka monta kertaa se esiintyy siellä. Esimerkiksi linja helloworldhello voidaan puristaa sisään helloworld[00][00][05] 13 tavua pitkä verrattuna alkuperäiseen 15 tavuun.

Oletetaan, että hyökkääjä yrittää palauttaa lomakkeen selkeän tekstin password=..., jossa itse salasanaa ei tunneta. Kelseyn hyökkäysmallin mukaan hyökkääjä voisi pyytää palvelinta pakkaamaan ja sitten salaamaan lomakeviestit (selkoteksti, jota seuraa Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle), missä Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle - ilmainen teksti. Kun palvelin on valmis, se raportoi tuloksen pituuden. Hyökkäys menee näin:

Murtovaras: Pakkaa ja salaa selkeä teksti ilman täyttöä.

Palvelin: Tuloksen pituus 14.

Murtovaras: Pakkaa ja salaa selkeä teksti, johon on liitetty password=a.

Palvelin: Tuloksen pituus 18.

Cracker huomauttaa: [alkuperäinen 14] + [kolme tavua, jotka korvattiin password=] + a

Murtovaras: Pakkaa ja salaa selkeä teksti, johon lisätään password=b.

Palvelin: Tuloksen pituus 18.

Murtovaras: Pakkaa ja salaa selkeä teksti, johon lisätään password=с.

Palvelin: Tuloksen pituus 17.

Cracker huomauttaa: [alkuperäinen 14] + [kolme tavua, jotka korvattiin password=c]. Tämä olettaa, että alkuperäinen teksti sisältää merkkijonon password=c. Eli salasana alkaa kirjaimella c

Murtovaras: Pakkaa ja salaa selkeä teksti, johon lisätään password=сa.

Palvelin: Tuloksen pituus 18.

Cracker huomauttaa: [alkuperäinen 14] + [kolme tavua, jotka korvattiin password=с] + a

Murtovaras: Pakkaa ja salaa selkeä teksti, johon lisätään password=сb.

Palvelin: Tuloksen pituus 18.

(… Joskus myöhemmin…)

Murtovaras: Pakkaa ja salaa selkeä teksti, johon lisätään password=со.

Palvelin: Tuloksen pituus 17.

Cracker huomauttaa: [alkuperäinen 14] + [kolme tavua, jotka korvattiin password=co]. Hyökkääjä päättelee samaa logiikkaa käyttäen, että salasana alkaa kirjaimilla co

Ja niin edelleen, kunnes koko salasana palautetaan.

Lukijalle annettaisiin anteeksi, jos hän ajattelisi, että tämä on puhtaasti akateeminen harjoitus ja ettei tällaista hyökkäysskenaariota koskaan syntyisi todellisessa maailmassa. Valitettavasti, kuten pian näemme, on parempi olla luopumatta salauksesta.

Brändin haavoittuvuudet: CRIME, POODLE, DROWN

Lopuksi, tutkittuamme teoriaa yksityiskohtaisesti, voimme nähdä, kuinka näitä tekniikoita sovelletaan tosielämän salaushyökkäyksiin.

CRIME

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleJos hyökkäys kohdistuu uhrin selaimeen ja verkkoon, osa on helpompaa ja osa vaikeampaa. Esimerkiksi uhrin liikenne on helppo nähdä: istu vain hänen kanssaan samassa kahvilassa, jossa on WiFi. Tästä syystä mahdollisia uhreja (eli kaikkia) kehotetaan yleensä käyttämään salattua yhteyttä. On vaikeampaa, mutta silti mahdollista, tehdä HTTP-pyyntöjä uhrin puolesta jollekin kolmannen osapuolen sivustolle (esimerkiksi Googlelle). Hyökkääjän tulee houkutella uhri haitalliselle verkkosivulle pyynnön tekevällä komentosarjalla. Verkkoselain tarjoaa automaattisesti vastaavan istuntoevästeen.

Tämä vaikuttaa hämmästyttävältä. Jos Bob menisi evil.com, voisiko tämän sivuston komentosarja pyytää Googlea lähettämään Bobin salasanan sähköpostitse osoitteeseen [email protected]? No teoriassa kyllä, mutta todellisuudessa ei. Tätä skenaariota kutsutaan sivustojen väliseksi pyyntöväärennöshyökkäykseksi (Sivustojen välinen väärennös, CSRF), ja se oli suosittu noin 90-luvun puolivälissä. Tänään jos evil.com kokeilee tätä temppua, Google (tai mikä tahansa itseään kunnioittava verkkosivusto) vastaa yleensä: "Hienoa, mutta CSRF-tunnuksesi tälle tapahtumalle on... hm... три триллиона и семь. Toista tämä numero." Nykyaikaisissa selaimissa on niin sanottu "saman alkuperän käytäntö", jonka mukaan sivuston A komentosarjat eivät pääse käsiksi verkkosivuston B lähettämiin tietoihin. evil.com voi lähettää pyyntöjä osoitteeseen google.com, mutta ei voi lukea vastauksia tai suorittaa tapahtumaa.

Meidän on korostettava, että ellei Bob käytä salattua yhteyttä, kaikki nämä suojaukset ovat merkityksettömiä. Hyökkääjä voi yksinkertaisesti lukea Bobin liikennettä ja palauttaa Googlen istuntoevästeen. Tämän evästeen avulla hän yksinkertaisesti avaa uuden Google-välilehden poistumatta omasta selaimestaan ​​ja esiintyy Bobina kohtaamatta ärsyttäviä saman alkuperän käytäntöjä. Mutta valitettavasti murtovarkaalle tämä on yhä harvinaisempaa. Internet kokonaisuudessaan on pitkään julistanut sodan salaamattomia yhteyksiä vastaan, ja Bobin lähtevä liikenne on todennäköisesti salattua, halusi hän siitä tai ei. Lisäksi liikennettä oli myös protokollan käyttöönoton alusta alkaen kutistui ennen salausta; tämä oli yleinen käytäntö latenssin vähentämiseksi.

Tässä se tulee peliin CRIME (Compression Ratio Infoleak Made Easy, yksinkertainen vuoto puristussuhteen kautta). Turvallisuustutkijat Juliano Rizzo ja Thai Duong paljastivat haavoittuvuuden syyskuussa 2012. Olemme jo tutkineet koko teoreettisen perustan, jonka avulla voimme ymmärtää, mitä he tekivät ja miten. Hyökkääjä voi pakottaa Bobin selaimen lähettämään pyyntöjä Googlelle ja kuuntelemaan sitten paikallisverkon vastauksia pakatussa, salatussa muodossa. Siksi meillä on:

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelle

Täällä hyökkääjä hallitsee pyyntöä ja hänellä on pääsy liikenteen haistajaan, mukaan lukien paketin koko. Kelseyn kuvitteellinen skenaario heräsi henkiin.

Ymmärtäessään teorian CRIME:n kirjoittajat loivat hyväksikäytön, joka voi varastaa istuntoevästeitä useille sivustoille, mukaan lukien Gmail, Twitter, Dropbox ja Github. Haavoittuvuus vaikutti useimpiin nykyaikaisiin verkkoselaimiin, minkä seurauksena julkaistiin korjaustiedostoja, jotka piilottivat SSL:n pakkausominaisuuden, jotta sitä ei käytettäisi ollenkaan. Ainoa suojattu haavoittuvuudelta oli kunniakas Internet Explorer, joka ei koskaan käyttänyt SSL-pakkausta ollenkaan.

villakoira

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleLokakuussa 2014 Googlen tietoturvatiimi teki aaltoja tietoturvayhteisössä. He pystyivät hyödyntämään SSL-protokollan haavoittuvuutta, joka oli korjattu yli kymmenen vuotta sitten.

Osoittautuu, että vaikka palvelimet käyttävät kiiltävää uutta TLSv1.2:ta, monet ovat jättäneet tuen vanhalle SSLv3:lle taaksepäin yhteensopivuuden takaamiseksi Internet Explorer 6:n kanssa. Olemme jo puhuneet alennushyökkäyksistä, joten voit kuvitella, mitä tapahtuu. Kättelyprotokollan hyvin organisoitu sabotointi ja palvelimet ovat valmiita palaamaan vanhaan hyvään SSLv3:een, mikä käytännössä kumoaa viimeisen 15 vuoden tietoturvatutkimuksen.

Historiallisessa kontekstissa Tässä on lyhyt yhteenveto SSL:n historiasta versioon 2 asti Matthew Greeniltä:

Transport Layer Security (TLS) on Internetin tärkein suojausprotokolla. [..] melkein kaikki Internetissä tekemäsi tapahtumat riippuvat TLS:stä. [..] Mutta TLS ei aina ollut TLS. Protokolla aloitti elämänsä vuonna Netscape Communications nimeltä "Secure Sockets Layer" tai SSL. Huhun mukaan ensimmäinen SSL-versio oli niin kauhea, että kehittäjät keräsivät kaikki koodin tulosteet ja hautasivat ne salaiselle kaatopaikalle New Mexicossa. Tämän seurauksena ensimmäinen julkisesti saatavilla oleva SSL-versio on itse asiassa versio SSL 2. Se on melko pelottavaa, ja [..] se oli 90-luvun puolivälin tuote, jota nykyaikaiset kryptografit pitävät "kryptografian pimeät aikakaudet" Monia kamalimmista salaushyökkäyksistä, joista tiedämme nykyään, ei ole vielä löydetty. Tämän seurauksena SSLv2-protokollan kehittäjät joutuivat pohjimmiltaan haparoimaan tiensä pimeydessä, ja he kohtasivat paljon kauheita hirviöitä - heidän harmiksi ja meidän eduksemme, koska SSLv2:ta vastaan ​​tehdyt hyökkäykset antoivat korvaamattomia oppitunteja seuraavan sukupolven protokollille.

Näiden tapahtumien jälkeen vuonna 1996 turhautunut Netscape suunnitteli SSL-protokollan uudelleen tyhjästä. Tuloksena oli SSL-versio 3, joka korjasi useita edeltäjänsä tunnettuja tietoturvaongelmia.

Onneksi murtovarkaille "muutama" ei tarkoita "kaikkia". Kaiken kaikkiaan SSLv3 tarjosi kaikki tarvittavat rakennuspalikat Vodene-hyökkäyksen käynnistämiseen. Protokolla käytti CBC-tilan lohkosalausta ja turvatonta täyttömallia (tämä korjattiin TLS:ssä; tästä syystä alennushyökkäyksen tarve). Jos muistat alkuperäisen Vaudenay-hyökkäyksen kuvauksen täyttömallin, SSLv3-järjestelmä on hyvin samanlainen.

Mutta valitettavasti murtovarkaille "samanlainen" ei tarkoita "identtistä". SSLv3-täyttömalli on "N satunnaista tavua, jota seuraa numero N". Yritä näissä olosuhteissa valita kuvitteellinen salatekstilohko ja käydä läpi kaikki Vaudenen alkuperäisen suunnitelman vaiheet: huomaat, että hyökkäys onnistuneesti poimii viimeisen tavun vastaavasta selkeän tekstin lohkosta, mutta ei mene pidemmälle. Salauksen joka 16. tavun purkaminen on hieno temppu, mutta se ei ole voitto.

Epäonnistumisen jälkeen Google-tiimi turvautui viimeiseen keinoon: he siirtyivät tehokkaampaan uhkamalliin - rikollisessa käytössä käytettyyn malliin. Olettaen, että hyökkääjä on skripti, joka on käynnissä uhrin selaimen välilehdellä ja voi poimia istunnon evästeitä, hyökkäys on silti vaikuttava. Vaikka laajempi uhkamalli on vähemmän realistinen, näimme edellisessä osiossa, että tämä malli on toteutettavissa.

Kun otetaan huomioon nämä tehokkaammat hyökkääjän ominaisuudet, hyökkäys voi nyt jatkua. Huomaa, että hyökkääjä tietää, missä salattu istunnon eväste näkyy otsikossa ja hallitsee sitä edeltävän HTTP-pyynnön pituutta. Siksi se pystyy käsittelemään HTTP-pyyntöä niin, että evästeen viimeinen tavu on kohdistettu lohkon loppuun. Nyt tämä tavu sopii salauksen purkamiseen. Voit lisätä pyyntöön vain yhden merkin, jolloin evästeen toiseksi viimeinen tavu pysyy samassa paikassa ja sopii valittavaksi samalla menetelmällä. Hyökkäys jatkuu tällä tavalla, kunnes evästetiedosto on palautettu kokonaan. Sitä kutsutaan POODLE: Padding Oracle on Downgraded Legacy Encryption.

HUKKUA

Kryptografiset hyökkäykset: selitys hämmentyneelle mielelleKuten mainitsimme, SSLv3:ssa oli puutteita, mutta se erosi olennaisesti edeltäjästään, koska vuotava SSLv2 oli toisen aikakauden tuote. Siellä voit keskeyttää viestin keskeltä: соглашусь на это только через мой труп muuttui соглашусь на это; asiakas ja palvelin voivat tavata verkossa, luoda luottamusta ja vaihtaa salaisuuksia hyökkääjän edessä, joka voisi sitten helposti esiintyä molempina. Ongelmana on myös vientisalaus, jonka mainitsimme harkitessamme FREAKiä. Nämä olivat kryptografiset Sodoma ja Gomorra.

Maaliskuussa 2016 joukko tutkijoita eri tekniikan aloilta kokoontui yhteen ja teki hämmästyttävän löydön: SSLv2:ta käytetään edelleen turvajärjestelmissä. Kyllä, hyökkääjät eivät enää voineet päivittää nykyaikaisia ​​TLS-istuntoja SSLv2:ksi, koska tämä aukko suljettiin FREAKin ja POODLEn jälkeen, mutta he voivat silti muodostaa yhteyden palvelimiin ja aloittaa SSLv2-istuntoja itse.

Saatat kysyä, miksi me välitämme siitä, mitä he tekevät siellä? Heillä on haavoittuva istunto, mutta sen ei pitäisi vaikuttaa muihin istuntoihin tai palvelimen turvallisuuteen - eikö niin? No ei aivan. Kyllä, näin sen pitäisi teoriassa olla. Mutta ei - koska SSL-varmenteiden luominen aiheuttaa tietyn taakan, minkä seurauksena monet palvelimet käyttävät samoja varmenteita ja tämän seurauksena samoja RSA-avaimia TLS- ja SSLv2-yhteyksissä. Asiaa pahentaa vielä se, että OpenSSL-virheen vuoksi "Poista SSLv2" -vaihtoehto tässä suositussa SSL-toteutuksessa ei itse asiassa toiminut.

Tämä mahdollisti protokollien välisen hyökkäyksen TLS:ää vastaan, ns HUKKUA (RSA:n salauksen purkaminen vanhentuneella ja heikentyneellä salauksella, RSA:n salauksen purkaminen vanhentuneella ja heikentyneellä salauksella). Muista, että tämä ei ole sama kuin lyhyt hyökkäys; hyökkääjän ei tarvitse toimia "miehenä keskellä" eikä hänen tarvitse ottaa asiakasta mukaan turvattomaan istuntoon. Hyökkääjät aloittavat yksinkertaisesti suojaamattoman SSLv2-istunnon palvelimen kanssa itse, hyökkäävät heikkoa protokollaa vastaan ​​ja palauttavat palvelimen yksityisen RSA-avaimen. Tämä avain on voimassa myös TLS-yhteyksissä, ja tästä eteenpäin mikään TLS-suojaus ei estä sen vaarantumista.

Mutta murtaaksesi sen, tarvitset toimivan hyökkäyksen SSLv2:ta vastaan, jonka avulla voit palauttaa paitsi tietyn liikenteen myös salaisen RSA-palvelinavaimen. Vaikka tämä on monimutkainen asennus, tutkijat voivat valita minkä tahansa haavoittuvuuden, joka suljettiin kokonaan SSLv2:n jälkeen. Lopulta he löysivät sopivan vaihtoehdon: Bleichenbacher-hyökkäyksen, jonka mainitsimme aiemmin ja jota selitämme yksityiskohtaisesti seuraavassa artikkelissa. SSL ja TLS ovat suojattuja tältä hyökkäykseltä, mutta jotkin SSL:n satunnaiset ominaisuudet yhdistettynä vientitason salakirjoituksen lyhyisiin avaimiin mahdollistivat sen. DROWNin erityinen toteutus.

Julkaisuhetkellä DROWN-haavoittuvuus vaikutti 25 %:iin Internetin suosituimmista sivustoista, ja hyökkäys pystyttiin toteuttamaan vaatimattomilla resursseilla jopa ilkikuristen yksinäisten hakkereiden käytettävissä. Palvelimen RSA-avaimen hakeminen vaati kahdeksan tuntia laskentaa ja 440 dollaria, ja SSLv2 muuttui vanhentuneesta radioaktiiviseksi.

Odota, entä Heartbleed?

Tämä ei ole salaushyökkäys edellä kuvatussa mielessä; Tämä on puskurin ylivuoto.

Pidetään tauko

Aloitimme muutamilla perustekniikoilla: raakavoimalla, interpoloinnilla, alentamalla, ristikkäisprotokollalla ja esilaskentalla. Sitten tarkastelimme yhtä kehittynyttä tekniikkaa, ehkäpä nykyaikaisten salaushyökkäysten pääkomponenttia: oraakkelihyökkäystä. Käytimme jonkin aikaa sen selvittämiseen - ja ymmärsimme paitsi taustaperiaatteen, myös kahden tietyn toteutuksen tekniset yksityiskohdat: Vaudenayn hyökkäyksen CBC-salaustilaa vastaan ​​ja Kelseyn hyökkäyksen pakkaamista edeltäviä salausprotokollia vastaan.

Tarkastellessamme alennus- ja esilaskentahyökkäyksiä esittelimme lyhyesti FREAK-hyökkäyksen, joka käyttää molempia menetelmiä siten, että kohdesivustot laskevat heikkoihin avaimiin ja käyttävät sitten samoja avaimia uudelleen. Seuraavaa artikkelia varten tallennetaan (erittäin samanlainen) Logjam-hyökkäys, joka kohdistuu julkisen avaimen algoritmeihin.

Tarkastelimme sitten kolmea muuta esimerkkiä näiden periaatteiden soveltamisesta. Ensinnäkin RIKOSTO ja POODLE: kaksi hyökkäystä, jotka perustuivat hyökkääjän kykyyn syöttää mielivaltaista selkeää tekstiä kohteena olevan selkeän tekstin viereen, sitten tutkia palvelimen vastauksia ja sitten,käyttämällä Oracle-hyökkäysmetodologiaa, hyödyntää tätä harvaa tietoa selkeiden tekstien osittaiseen palauttamiseen. CRIME käytti Kelseyn hyökkäystä SSL-pakkausta vastaan, kun taas POODLE käytti sen sijaan muunnelmaa Vaudenayn hyökkäyksestä CBC:tä vastaan, jolla oli sama vaikutus.

Sitten kiinnitimme huomiomme protokollien väliseen DROWN-hyökkäykseen, joka muodostaa yhteyden palvelimeen käyttämällä vanhaa SSLv2-protokollaa ja palauttaa sitten palvelimen salaiset avaimet käyttämällä Bleichenbacher-hyökkäystä. Olemme ohittaneet tämän hyökkäyksen tekniset yksityiskohdat toistaiseksi; Kuten Logjam, sen on odotettava, kunnes meillä on hyvä käsitys julkisen avaimen salausjärjestelmistä ja niiden haavoittuvuuksista.

Seuraavassa artikkelissa puhumme edistyneistä hyökkäyksistä, kuten kohtaamisesta, differentiaalisesta kryptausanalyysistä ja syntymäpäivähyökkäyksistä. Tutustutaanpa nopeasti sivukanavahyökkäyksiin ja siirrytään sitten hauskaan osaan: julkisen avaimen salausjärjestelmiin.

Lähde: will.com

Lisää kommentti