-
[Translated by Jouko Voutilainen (KYBS2004 course assignment at JYU.FI)]
-
"Cryptoneulan löytäminen tavuheinäsuovasta"
-
Hän on haittaohjelmatutkija Check Pointilla
-
ja tulee Israeli Institute of Technologysta.
-
Hän aikoo kertoa meille jotain avainvirtauksen uudelleenkäytöstä ja siitä,
-
miten välttää jatkuvat yölliset yritykset
-
ymmärtää salaustekniikkaprotokollaa,
-
mutta oliko se vaivan arvoista.
-
Tarkoitan että sen sijaan,
-
että vietät yösi automatisoinnissa sen sijaan,
-
että tarkistat sen itse.
-
Katsotaanpa.
-
Kiitos.
-
Antakaa hänelle vielä kunnon aplodit.
-
[Yleisö taputtaa]
-
Hei, olen Ben.
-
Olen Check Pointin haittaohjelmien haavoittuvuuksien tutkimusryhmästä.
-
Tämä mainittiin jo aiemmin,
-
mutta halusin mainita sen uudelleen.
-
Minä tarkastelen teoreettisen tietojenkäsittelytieteen
-
sovelluksia torjuakseni ongelmia,
-
joita kohtaamme tietoturva-alalla.
-
Vähemmän kaunisteltuna tämä tarkoittaa sitä,
-
että olen amatöörimatematiikko,
-
joka jotenkin tunkeutui alalle.
-
Älä kerro kenellekään,
-
erityisesti kaikille kanssani työskenteleville ihmisille.
-
On tarpeeksi vaikeaa pitää tämä salassa,
-
kun otetaan huomioon,
-
että kun annoin pomolleni ensimmäisen luonnoksen tästä esityksestä,
-
hän katsoi sitä ja sanoi:
-
"Aiotko todella esittää tämän kaavojen kanssa? He tulevat lynkkaamaan sinut."
-
Joten ensinnäkin,
-
älä lynkkaa minua.
-
Toiseksi yritin parhaani poistaakseni suurimman osan kaavoista.
-
Yksi kaava on jossakin yhdellä dioista.
-
Tämä esitys käsittelee automaattista havaitsemista
-
salausavaimen uudelleenkäyttöhaavoittuvuuksista
-
Haluaisin sukeltaa suoraan aiheeseen,
-
mutta valitettavasti minun täytyy ensin selittää,
-
mikä tämä haavoittuvuus on.
-
Ja vielä valitettavammin,
-
jotta voin selittää sen merkityksen,
-
minun täytyy selittää,
-
miten virtasalaus toimii.
-
Joten käydään se läpi mahdollisimman nopeasti.
-
OK, näin virtasalaus toimii:
-
periaatteessa on olemassa tämä laite,
-
jota kutsutaan pseudosatunnaisluvun generaattoriksi.
-
Ja pseudosatunnaisluvun generaattori hyväksyy lyhyen avaimen
-
ja tuottaa mitä tahansa,
-
joka käytännössä näyttää kohinalta.
-
He ketkä eivät olleet tuttuja avaimen suhteen,
-
se näyttää kohinalta.
-
Sitä voi käyttää salaamisessa.
-
Miten?
-
Lisäät symmetrisen avaimen,
-
jonka molemmat osapuolet,
-
kuten esimerkiksi Alice ja Bob,
-
tuntevat yrittäessään kommunikoida,
-
ja pseudosatunnaisluvun generaattori
-
tuottaa tämän avainvirran,
-
joka näyttää kohinalta,
-
ja suoritat XOR:n selkokieliselle tekstille (tässä tapauksessa hymiölle).
-
Tämä johtaa salattuun tekstiin,
-
joka on selkokielinen teksti eksklusiivinen
-
tai -operaattorin (XOR) avainvirran kanssa.
-
Ja maallikoille, jotka eivät tunne avainta tai sijaintia,
-
näyttää myös kohinalta.
-
Tämä on XOR-operaation ominaisuus.
-
Kun otat mukavan selkokielisen tekstin ja
-
XORaat sen jotakin kohinan kaltaista vastaan,
-
saat myös jotakin,
-
joka näyttää kohinalta.
-
Mitä voit tehdä seuraavaksi?
-
Nyt tässä on salattu teksti.
-
Se näyttää kohinalta,
-
mutta jos XORaat sen uudelleen samalla avainvirralla,
-
jota Bob toisella puolella viestintää käyttää,
-
saat alkuperäisen tekstin takaisin.
-
Miksi?
-
Koska tämä on toinen XOR-operaation ominaisuus.
-
Jos XORaat jotakin saman elementin kanssa,
-
oli se sitten kohinaa tai ei,
-
kahdesti, saat sen kumoamaan itsensä.
-
Jos XORaat kohinan kanssa
-
, XORaat sen uudelleen kohinan kanssa,
-
kohinan kumoaa itsensä
-
ja saat alkuperäisen tekstin takaisin.
-
Joten mikä on avaimen uudelleenkäyttö?
-
Avaimen uudelleenkäyttö
-
on hämmästyttävästi saman avaimen käyttöä kahdesti,
-
salataksesi kaksi selkokielistä viestiä.
-
Kuten näette, otetaan tietty avain.
-
Tämä on avain.
-
Ja XOR:aamme tekstin ensimmäisen selkokielisen viestin avaimella
-
ja toisen selkokielisen viestin jälleen samalla avaimella.
-
Ja saamme kaksi kokonaisuutta kohinaa.
-
Kuten aiemmin mainittiin,
-
jos XOR:aamme kohinaan,
-
saamme jotakin,
-
joka näyttää kohinalta,
-
ellei tiedä avainta,
-
jolla avainvirta on alun perin generoitu
-
Ja nyt,
-
jos Eve on viestinnän keskellä,
-
hän salakuuntelee tätä kommunikaatiota,
-
Ja hän saa tämän kohinan ja tämän toisen kohinan.
-
ja se näyttää kaikki kohinalta hänelle.
-
Ja tietenkin hän ei voi tehdä mitään.
-
Eikä ole olemassa avaimen uudelleenkäytön haavoittuvuutta,
-
joten voit nyt nousta ylös istuimistasi ja mennä kotiin.
-
Ei, ei todellakaan.
-
Tämä on mitä tapahtuu,
-
kun salaat kaksi erilaista selkokielistä viestiä samalla avaimella.
-
On mahdollista, että Eve,
-
jolla on pääsy molempiin salattuihin viesteihin,
-
suorittaa kahden salakirjoitetun viestin XOR-operaatio.
-
Ja mitä me sanoimme aiemmin saman elementin kahdesti toistuvasta XOR-operaatiosta?
-
Tässä avain esiintyy kahdesti.
-
Sinulla on ensimmäinen selkokielinen teksti
-
XOR-avain,
-
toinen selkokielinen teksti XOR-avain.
-
Ja jos XOR:aat kaksi salattua viestiä suoritetaan,
-
avain kumoaa itsensä,
-
ja sinä saat ensimmäisen selkokielisen viestin XOR:aamaan
-
toisen selkokielisen tekstin.
-
Tämä ei ole jotain,
-
mitä haluat mahdollistaa,
-
kuten voit nähdä täällä.
-
Even on hyvin helppo tarkastella tätä asiaa
-
ja saada erittäin hyvä käsitys alkuperäisistä selkokielisistä viesteistä.
-
Tämä johtuu redundanssista kahdessa alkuperäisessä selkokielisessä tekstissä.
-
Meidän tilanteessamme,
-
jossa tulemme työskentelemään
-
ja mainitsemaan hetken kuluttua,
-
se on vähän vaikeampaa.
-
Se ei ole niin ilmeistä.
-
Se ei vain hypi silmille.
-
Itse asiassa kaikki vaiva ja algoritmit ovat omistautuneet
-
alkuperäisen selkokielisen tekstin erottamiseen,
-
mutta tämä on esimerkki,
-
jotta voit katsoa sitä
-
ja nähdä kuinka kauhea tämä haavoittuvuus on,
-
jos se on olemassa.
-
Se ei ole kovin kiva asia.
-
Joten mihin se on hyvä?
-
Miksi haluamme tunnistaa avaimen uudelleenkäytön?
-
Tässä on ensimmäinen esimerkki:
-
Tämä on dokumentti Venona-projektista.
-
Venona-projekti kesti 40 vuotta 1940-luvulta 1980-luvulle,
-
USA:n aloittamana salakuunnella Neuvostoliiton viestintää.
-
Tämä aloitettiin ennen kuin NSA edes perustettiin.
-
Neuvostoliitto käytti uudelleen avainvirtaansa.
-
Yhden kerran padejaan.
-
Oikein käytettynä yhden kerran padit on murtamattomia salauksia,
-
mutta he käyttivät näitä uudestaan,
-
ja mitä tapahtui oli,
-
että haavoittuvuus jonka näimme tuli esille siitä syystä.
-
Ja USA:n tiedustelu onnistui keräämään
-
tietoa noista salatuista viesteistä seuraavan 40 vuoden ajan.
-
Kyse ei ole siitä,
-
että Neuvostoliitto jatkoi haavoittuneen tiedon lähettämistä 40 vuoden ajan.
-
Sitä kesti vain 4 vuotta ja sen jälkeen he viisastuivat.
-
Mutta 40 vuoden ajan Amerikkalaiset jatkoivat tätä projektia
-
keräten yhä enemmän tietoa
-
ja he saivat paljon hyödyllistä tietoa
-
kuten vakoojapiirien nimiä ja identiteettejä.
-
Eli tässä on yksi käyttötapa sille.
-
Jos pystyt tarkastelemaan verkkoliikennettä
-
ja toteamaan että "hei, tässä on avaimen uudelleenkäyttöä".
-
Se on hyödyllistä.
-
Voit aloittaa hyökkäämällä verkkoliikenteeseen ja etsimään tietoa.
-
Tämä on toinen käyttötarkoitus.
-
Nyt aion häpeilemättömästi mainostaa kollegaani Nitayta,
-
koska hän on mahtava.
-
Aiemmin tänä vuonna tutkimme tiettyä lunnasohjelmaa nimeltä Dircrypt.
-
Se on käytännössä kuin Cryptolockerin wannabe.
-
Se saastuttaa tietokoneeseesi ja alkaa salata tiedostojasi.
-
Valitettavasti kun Nitay kaivautui syvemmälle lähdekoodiin,
-
huomasin, että heidän salaus toteuttaa avainten uudelleenkäyttöä.
-
Se käyttää virtasalausta RC4.
-
Tämä on hyvä kohta mainita,
-
että kaikki mitä puhun juuri nyt
-
koskee vain virtasalauksia
-
ja kertakäyttöisiä malleja,
-
jotka ovat kuin virtasalaus,
-
ei lohkosalauksia kuten AES .
-
DES ja vastaavat.
-
Selvitimme että näin tapahtuu.
-
Jokainen Dircryptin salausavaimella RC4 salattu tiedosto käytti samaa avainta.
-
Se oli viiden kirjaimen avain,
-
"black" kaikki pienillä kirjaimilla.
-
Tämä tarkoittaa,
-
että kaikki salatut tiedostot voitaisiin teoriassa palauttaa
-
hyödyntämällä redundanssia selkokielisessä tekstissä.
-
Joka tapauksessa tämä ei ollut jotain,
-
jonka haittaohjelman toimija suunnitteli tekevänsä.
-
Hauska juttu on,
-
että emme edes joutuneet menemään niin pitkälle,
-
koska haittaohjelma itse asiassa sisällytti avaimen jokaiseen tiedostoon.
-
Emme oikeastaan tiedä miksi,
-
todennäköisesti se näytti siltä, että tunnistaisimme sen sillä hetkellä.
-
Joten, jos haittaohjelman tekijä ei olisi tehnyt tätä,
-
olisimme voineet palauttaa sen selkokielisen tekstin tai suuren osan siitä kuitenkin.
-
Jos meillä olisi ollut tapa katsoa tiedostoja ja tulla oivallukseen,
-
että tässä on tehty avaimen uudelleenkäyttöä,
-
Nitay ei olisi joutunut istumaan ruudun edessä katsomassa IDA Pro:ta
-
verisin silmin yhä toistuvina öinä.
-
Olisimme voineet vain katsoa tiedostoja ja sanoa:
-
"Hei, täällä on avaimen uudelleenkäyttöhaavoittuvuus",
-
ja edetä siitä ja säästää paljon aikaa ja vaivaa.
-
Tämä on jotain samankaltaista.
-
Tämä on liikennettä Ramnit haittaohjelmasta.
-
Ramnit-haittaohjelma tuli esiin noin vuonna 2010.
-
Se varastaa tunnistetietoja ja sitä käytettiin talouspetoksessa.
-
Ramnit lähettää liikenteensä erityisellä kotikutoisella protokollalla portista 443.
-
Se ei ole oikeastaan SSL,
-
mutta se käyttää porttia 443.
-
Tämä protokolla sisältää lohkoja,
-
ja jotkut lohkot voivat olla salattuja.
-
Jokainen lohko salataan samalla avaimella,
-
ja pseudosatunnaislukugeneraattori käynnistetään uudelleen ennen jokaista käyttöä.
-
Joten tässä tapauksessa avaimen uudelleenkäyttö tapahtuu lohkon tasolla.
-
Jokainen lohko salataan käyttämällä samaa avainta.
-
Jos voimme tarkastella tätä liikennettä ja ymmärtää,
-
että "täällä on jotain avaimen uudelleenkäyttöä",
-
se on hyödyllistä,
-
koska tarkastellessamme liikennettä emme tiedä siitä mitään.
-
Nyt jos voitaisiin vain tarkastella liikennettä
-
että jotain avaimen uudelleenkäyttöä on tapahtunut täällä, se on mielenkiintoista.
-
Emme odota avaimen uudelleenkäyttöä normaalissa liikenteessä.
-
Tämä on viimeinen esimerkkimme,
-
jos uskot, että vain haittaohjelmat ja epämääräiset hahmot
-
harrastavat avaimen uudelleenkäyttöä.
-
Microsoft toteutti Officen 2003 versiossaan dokumentin salaustoiminnon.
-
Käytännössä
-
Joka kerta, kun tallensit tiedoston,
-
muokkasit sitä ja tallensit sen uudelleen,
-
se salattiin uudelleen samalla avaimella.
-
Avain oli sidottu tiedostoon,
-
ja se oli yksi ja sama avain joka kerta.
-
Joku, joka seurasi hakemistoasi pitkään,
-
voisi katsoa tiedostoja uudelleen ja uudelleen
-
ja nähdä, miten erilaiset selkokieliset tiedostot
-
salattiin uudelleen
-
ja uudelleen samalla avainvirralla.
-
Tämä mahdollistaa avaimen uudelleenkäyttöhyökkäyksen.
-
Ihmisten kesti aikaa huomata tämä.
-
Jos voisimme vain katsoa tiedostoja ja
-
tulla ymmärrykseen, että
-
"Oho! Täällä on taas avaimen uudelleenkäyttöä!",
-
se olisi voitu havaita paljon aikaisemmin.
-
Joten miten onnistumme tekemään tämän?
-
Nyt vietän neljä diaa selittäen,
-
kuinka hienoa olisi,
-
jos voisimme vain katsoa tätä tavuläjää
-
ja ymmärtää,
-
että tässä on avaimen uudelleenkäyttöä.
-
Se olisi kiva. Mutta miten me tämän toteutamme?
-
Noh. Muistatteko onko kukaan jäänyt jumiin
-
vanhoissa 90-luvun seikkailuissa kuten Sam and the Sorcerer ja Monkey Island.
-
Kun olet täysin jumissa etkä tiedä mitä tehdä,
-
niin mitä teet?
-
Kyllä.
-
Yrität kaikkea mahdollista kunnes joku toimii.
-
Eli tämä on mitä teemme tässä.
-
Käytännössä jos otamme jokaisen tavun alkuperäisestä syötteestä
-
ja XOR:aamme sen jokaisen muun tavun kanssa, saamme tämän tilan,
-
jossa jokainen XOR:attu tavu XOR:attu toisillaan.
-
Esimerkiksi tämä ruutu on XOR:n tulos R:n ja R:n kohdassa.
-
ja se tulee olemaan Null-tavu,
-
sillä XOR itsensä kanssa on null-tavu.
-
Ja jokainen ruutu tässä tilassa,
-
on käytännössä oman sarakkeensa ja rivinsä merkin XOR.
-
Mihin tämä on hyvä?
-
Näemme kohta.
-
Ensinnäki tältä se näyttää.
-
Vinosarakkeessa kaikki ovat null-tavuja.
-
Koska siinä on XOR:attu arvo itsellään. Eli.
-
Mikä on suunnitelmamme yllä olevan perusteella?
-
Jos otamme syötteen,
-
tarkastellaan tyypillistä syötettä,
-
jolle haluamme suorittaa toimintoja
-
ja löytää jotain mielenkiintoista.
-
Otetaan tämä syöte.
-
Siellä on kaikenlaisia häiriöitä.
-
Jossain täällä on kätketty kaksi salausviestiä
-
Ne ovat molemmat eri selkotekstejä,
-
jotka on salattu samalla avaimella.
-
Tämä on se asia, jonka haluamme löytää.
-
Ja jos XOR:ataan jokainen tavu toisensa kanssa,
-
jossain täällä, okei?
-
Tämä on tämän salausviestin ensimmäinen tavu
-
XOR:attuna tämän salausviestin ensimmäisen tavun kanssa.
-
Miksi tämä kiinnostaa meitä?
-
Aiemman näkemämme takia.
-
Jos XOR:ataan salauksen
-
ensimmäinen tavu, avain peruuttaa itsensä.
-
Sama pätee,
-
jos XOR-muunnetaan molempien salausviestien toinen tavu.
-
Ja tätä viivaa pitkin, okei?
-
Jos siirrymme yhden yksikön ylöspäin
-
ja yhden yksikön oikealle,
-
siirrymme käytännössä seuraavaan merkkiin molemmissa merkkijonoissa.
-
Tämän valkoisen viivan varrella voit nähdä kaksi salausviestiä XOR:aavan toisensa.
-
Kaksi eri salausviestiä voidaan lukea tätä viivaa pitkin.
-
Miksi tämä on tärkeää jälleen?
-
Koska aiemmin näimme,
-
mitä tapahtuu, jos teemme niin.
-
Avain kumoaa itsensä.
-
Voit itse asiassa nähdä hymynaaman ja lähettää viestejä.
-
Täällä se ei ole yhtä ilmeistä,
-
mutta se on silti askel,
-
joka auttaa meitä.
-
Mitä meidän tarvitsee tehdä.
-
Miksi?
-
Tulemme tähän koko juttuun olettaen jotain selkotekstin jaosta.
-
Selkokieli on eri kuin satunnaiset merkit,
-
eikö?
-
Odotamme kirjaimia, odotamme välimerkkejä.
-
Odotamme joka tapauksessa jakelun olevan erilainen verrattuna tasaisesti jakautuneisiin satunnaisiin merkkeihin.
-
Tämä ei ole selkotekstin jakelu.
-
Tämä on XOR-testijakelu.
-
Tämä on jakelu,
-
jonka saat,
-
kun valitset satunnaisen selkotekstin merkin selkotekstin jakelusta
-
ja sitten toisen satunnaisen merkin selkotekstin jakelusta
-
ja XOR-muunnat ne.
-
Saat toisen jaon.
-
Ja tämä jako on taas erilainen kuin satunnainen jako.
-
Eli meille se näyttää erilaiselta, eikö?
-
Jos katsomme tavua joka tuli kahdesta eri selkokielisestä merkistä jotka XOR:attiin,
-
se näyttäytyy meille erilaiselta
-
kuin vain satunnainen tavu pitkässä juoksussa.
-
Joten mitä me aiomme tehdä?
-
Me skannaamme tämän tilan,
-
josta mainitsin aikaisemmin.
-
Me rakennamme sen ensin ja sitten skannaamme sen diagonaalisesti,
-
koska todisteet ovat kuin rikospaikka, ja raskauttavat todisteet ovat
-
kaikki tavut jotka tulevat näyttämään epäilyttäviltä eivätkä tulleet satunnaisesta jakelusta.
-
Ne ilmestyvät diagonaalin varrelle.
-
Meillä ei ole kaikkia värejä ja väriohjauksia,
-
ja meillä vain syöte,
-
mutta jos skannaamme sen diagonaalisesti,
-
tiedämme että täällä jossain on avaimen uudelleenkäyttöä.
-
Lopulta törmäämme tähän diagonaaliin.
-
Aiomme tarkastella jokaista tavua kuin pientä todisteen palasta,
-
jotka saattavat ohjata meitä ymmärtämään, että kyseessä on ollut avaimen uudelleenkäyttöä. Ja nyt me
-
katsomme kahta salaustekstiä,
-
jotka on salattu samalla virtausavaimella,
-
ja työskentelemme diagonaalien kanssa.
-
Joka kerta kun törmäämme tavuun,
-
poimimme sen ja analysoimme sen selvittääksemme,
-
tukeeko se vai kumoaa hypoteesimme.
-
Jos kuljemme diagonaalia pitkin
-
ja löydämme ylivoimaisen määrän todisteita,
-
jotka tukevat hypoteesiamme, että avaimen uudelleenkäyttöä on tehty
-
nostamme hälytyksen ja sanomme, että
-
tässä oli tarpeeksi todisteita.
-
Ei ole mahdollista, että tämä olisi vain sattumaa.
-
Avaimen uudelleenkäyttöä on tapahtunut tässä.
-
Haavoittuvainen salateksin avaimen uudelleenkäyttöhyökkäys
-
on tässä kohtaa ja sen pituus on näin ja näin.
-
Tämä on se kaava josta varoitin jo aiemmin.
-
Tämä on lyhennelmä aiheeseen liittyvästä matematiikasta.
-
Käytännössä sanoin että katso todisteita,
-
aion kertoa mitä sillä tarkoitin.
-
Käytännössä on rubriikki
-
joka päättää kuinka paljon tavu,
-
todiste, vaikuttaa
-
hypoteesiimme ja
-
laittaa meidät ajattelemaan,
-
että hypoteesi on todennäköisempi.
-
Tämä on käytännössä laskentaa eroavaisuuden ja todennäköisyyden välillä,
-
että tavu syntyi salaustekstin XOR-operaatiosta sinisissä luvuissa.
-
Ja todennäköisyys,
-
että se tapahtuisi satunnaisesti.
-
En mene kaavaan,
-
mutta jokatapauksessa se on oleellinen.
-
Mitä tulee kysymykseen siitä,
-
kuinka paljon todisteita tarvitaan,
-
tämä on tärkeä kysymys,
-
voimme asettaa riman korkealle tai matalalle.
-
Todistuskokeen vuoksi asetimme riman siten,
-
että yhden väärän positiivisen tuloksen hyväksymme.
-
Tietysti voit asettaa sen pienemmäksi.
-
Se riippuu siitä,
-
missä yhteydessä aiot käyttää tätä asiaa.
-
Kysymys on,
-
jos asetamme todistusriman niin korkealle,
-
voimmeko todella havaita jotain?
-
Saattaa hyvinkin olla niin,
-
että jos vaadimme vain,
-
kun törmäämme kahteen salakirjoitettuun tekstiin,
-
joita etsimme,
-
emme pysty löytämään niitä,
-
koska todisteita ei ole tarpeeksi.
-
Mutta käy ilmi,
-
että meillä on tämä kaava,
-
jonka löysimme käyttämällä niin kutsuttua Chebyshevin epäyhtälöä.
-
Lyhyesti sanottuna,
-
niin kauan kuin etsimämme salakirjoitettu teksti
-
on tarpeeksi pitkä,
-
jokainen tavu antaa meille
-
jonkin verran todisteita,
-
positiivisia todisteita, jotka kertovat meille,
-
että tämä saattaa olla oikea asia.
-
Periaatteessa, jos tekstinpätkä on tarpeeksi pitkä,
-
meillä on tarpeeksi todisteita.
-
Ainoa kysymys on,
-
että se on numeropeli,
-
mikä on todennäköisyys,
-
että epäonnistumme joka tapauksessa,
-
vaikka teksti oli teoriassa tarpeeksi pitkä,
-
ja odotimme sen toimivan.
-
Siihen Chebyshevin epäyhtälö on tarkoitettu.
-
Se rajaa ylhäältä todennäköisyyden,
-
että jotain epätodennäköistä tapahtuu.
-
Joten jos tekstinpätkä on tarpeeksi pitkä,
-
ja jos katsot kaavaa,
-
voit päätellä,
-
että "tarpeeksi pitkä" on logaritminen syötteen pituudessa,
-
mikä on hyvä.
-
Jos kaksinkertaistamme syötteen,
-
tarvitsemme vain yhden merkin lisää salakirjoitetussa tekstissä hälytyksen käynnistymiseksi.
-
Periaatteessa tätä se on. Kun katsomme kaavaa...
-
en todellakaan odota kenenkään täällä
-
vain katsomalla sitä ja ymmärtävän,
-
miten keksimme tämän asian,
-
mutta se on vain todiste siitä,
-
että tutkimme sitä.
-
Tämä algoritmi tulisi toimimaan teoriassa.
-
Nyt kaikki tämä on hienoa,
-
mutta meidän täytyy todella näyttää,
-
miten se toimii käytännössä,
-
koska en usko,
-
että kaavan tarkasteleminen vakuutti ketään
-
täällä kovin paljoa.
-
Periaatteessa katsomme jonkinlaista lämpökarttaa.
-
Näet, mitä algoritmi näkee,
-
kun se toimii.
-
Kun algoritmi läpikäy tekemämme alueen
-
se katsoo eri tavuja
-
ja jokainen tavu näyttää enemmältä tai vähemmältä todisteita meidän
-
hypoteesiamme varten liittyen avaimen uudelleenkäyttöön.
-
Tavut, jotka antava lisää todisteita,
-
merkitään punaisella,
-
ja vähemmän todisteita sisältävät tavut sinisellä.
-
Algoritmi etsii pääasiassa viivoja muodostavia diagonaaleja.
-
Hypoteesillemme on paljon todisteita,
-
jotka näkyvät punaisella.
-
Nyt katsomme todistusaineiston lämpökarttaa,
-
joka liittyy aiemmin mainitsemaani Ramnit-viestintään.
-
Elikkä.. Ensimmäiseksi älä kiinnitä huomiota tähän.
-
Tämä on päädiagonaali,
-
jossa syöte on XOR:attu itsellään
-
Kaikki tavut ovat nulleja,
-
joten se näyttää algoritmin kannalta epäilyttävältä
-
eikä näytä yhtään satunnaiselta.
-
Mutta jos katsot hieman pidemmälle,
-
voit nähdä sen täältä.
-
Tämä on pitkä diagonaali,
-
ainutlaatuinen diagonaali,
-
jossa algoritmi havaitsee kiinnostavan ilmiön,
-
koska diagonaalin varrella on viiva todisteita.
-
Kyllä, koska se on itse asiassa elliptinen niille,
-
jotka eivät jostain syystä näe laserpointteria.
-
Tämä on kartta toisesta tapauksesta.
-
Se on hieman vaikeampi.
-
En tiedä, näkeekö kukaan sen täältä,
-
mutta jälleen kerran päädiagonaali on merkityksetön.
-
Tämä on kahden Dircrypt-haittaohjelman salaaman tiedoston lämpökartta,
-
josta aiemmin puhuin.
-
Ja molemmat tiedostot salattiin käyttäen samaa avainvirtaa,
-
joten avaimen uudelleenkäyttöä
-
pitäisi pystyä havaitsemaan.
-
Jos katsomme tätä,
-
se näkyy punaisena diagonaalina viivana jossain täällä.
-
Ja tässä se on
-
eikö niin?
-
Diagonaali menee tuosta.
-
Se on punainen diagonaali,
-
jossa jokainen tavu näyttää epäilyttävältä,
-
näyttää enemmän tai vähemmän siltä,
-
kuin se olisi tullut ei satunnaisesti,
-
vaan selkokielisten tavujen XOR-selkokielisistä tavuista,
-
eikö niin?
-
Joten, en tiedä,
-
huomasitteko,
-
mutta olemme käytännössä onnistuneet suunnitelmassamme.
-
Olemme pystyneet vain
-
ottamaan syötteen,
-
tietämättä siitä mitään etukäteen,
-
ja laskemaan kaikenlaisia ominaisuuksia
-
eri tavujen XOR:ista.
-
Ja algoritmi pystyy,
-
aivan kuten voit katsoa tätä diagonaalia
-
ja automaattisesti havaita missä avaimen uudelleenkäyttö on,
-
niin pystyy myös algoritmi.
-
Katsotaan,
-
onko meillä aikaa demonstrointiin
-
Katsotaanpa. Näyttää siltä,
-
että toinen demo ei toimi jostain syystä.
-
No, ei se mitään.
-
Toinen demo ei ollut yhtä jännittävä kuin tämä,
-
koska se näytti käynnissä olevan skriptin.
-
Skripti,
-
joka luo tämän.
-
Käytännössä... Ramnit-haittaohjelma, jonka näimme aiemmin,
-
lähettää tätä kommunikaatiota,
-
ja skripti iteroi sen yli.
-
Ja lopulta ohjelman suorittamisen piti todella nähdä...
-
Skripti kulkemassa tätä diagonaalia pitkin
-
keräten todistusaineistoa.
-
Näen tämän määrän positiivista todistusaineistoa,
-
ja se kasvaa ja kasvaa.
-
Lopulta se päättyy,
-
koska se kulkee syötteen lopun yli,
-
ja sitten se sanoo: "Aha, löysin sen! Löysin avaimen uudelleenkäytön!"
-
ja se tulostaa kaksi siirtymää.
-
Tämä on itse asiassa se jännittävämpi asia.
-
Ei tarvitse katsoa demoa ymmärtääksesi
-
mitä täällä tapahtuu.
-
Olemme onnistuneet suunnitelmassamme käyttäen aiemmin hahmottelemaani suunnitelmaa,
-
ja toivon todella, että tästä on
-
hyötyä. Aion ladata sen
-
ja heti kun saan koodin tilaan,
-
jossa voin antaa sen jonkun tarkasteltavaksi
-
ja myöhemmin katsoa heitä silmiin,
-
tämä ladataan kaikkien niiden hyväksi,
-
jotka haluavat tarkastella sitä.
-
Ja tämä se periaatteessa on.
-
Toivon, että ymmärrätte nyt paremmin,
-
mikä avaimen uudelleenkäyttö on
-
ja miten havaitsemme sen tällä menetelmällä.
-
Ok, ja kiitos.
-
[Yleisö taputtaa]
-
Onko mitään kysyttävää?
-
Okei
-
Lämpökartta?
-
Tämä.
-
Olin ihmetellyt sitä täysin ei-epäilyttävää vaakasuoraa viivaa alhaalla.
-
Kyllä, vaakasuorat viivat ovat todennäköisesti artefakteja.
-
Periaatteessa mikä on vaakasuora viiva täällä,
-
Tämä on tietty merkki jostakin entisestä selkokielisestä tekstistä,
-
XOR:attuna muuhun selvitettyyn tekstiin.
-
Se ei käytännössä liity siihen,
-
mistä olemme aiemmin puhuneet,
-
koska kun poimimme kaksi salattua viestiä,
-
se ilmestyy diagonaalille.
-
Hmm, luultavasti se on yksi tietty tavu salausavaintekstissä,
-
jossa XOR itsessään tuottaa jonkinlaisen poikkeaman.
-
Onneksi se ei näy diagonaalissa,
-
joten emme kärsi vääristä positiivisista tuloksista sen takia.
-
OK, kiitos.
-
Kun segmentit ovat saman kokoisia,
-
salausavain uudelleenkäytetään.
-
Kun nämä segmentit on tunnistettu,
-
kuinka paljon manuaalista salauksen
-
purkamista tarvitaan tekstin palauttamiseen?
-
Itse asiassa näin esseen julkaistuna juuri tästä aiheesta.
-
On olemassa automaattisia menetelmiä,
-
joilla voi saada selville tekstin niissä tapauksissa,
-
joissa tiedetään kahden salausavaintekstin
-
olevan alttiita hyökkäykselle.
-
Se ei toimi 100% tapauksissa,
-
mutta näin tehtiin todellisessa tapauksessa,
-
jossa käytettiin Word 2003 -salausta,
-
ja se toimi melko hyvin.
-
Sinun ei tarvitse käyttää manuaalista työtä salauksen purkamiseen;
-
on automaattisia menetelmiä sen tekemiseen.
-
Kyllä,
-
Eli sinun täytyy tietää tavujen jakautuminen tekstin osalta.
-
Aivan.
-
Nämä lämpökartat onkin luotu arvauksen perusteella siitä,
-
miltä teksti näyttää.
-
Siinä pitäisi olla joitain isoja kirjaimia,
-
pieniä kirjaimia ja merkkejä ja niin edelleen.
-
Toivottavasti tämä arvaus on
-
tarpeeksi lähellä minkä tahansa todellisen tekstin tapausta,
-
jotta hälytys nousee riippumatta tarkasta jakaumasta.
-
Yksi kysymys IRC:stä.
-
Kyllä kiitos.
-
Kysymys internetistä kuuluu:
-
"Onko näitä dokumentteja jossain saatavilla?"
-
Onko nämä dokumentit jossain saatavilla?
-
Dokumentteja ei ole,
-
mutta kuten sanoin,
-
suunnittelen työstäväni sen ja lataavani sen nettiin.
-
Ilmoitan heti, kun se on saatavilla.
-
Kiitos
-
Kiitos, että näytit tänään yleisesti ottaen stream-salausten haavoittuvuudet.
-
Suositukseni kenelle tahansa on
-
olla käyttämättä virtasalausalgoritmeja ollenkaan.
-
Joten jos joku,
-
mukaan lukien haittasuunnittelijat,
-
haluaa suunnitella oman salausjärjestelmänsä,
-
mikä on selvästi typerä idea,
-
heidän pitäisi käyttää näitä AEAD-salauksia,
-
eli todennettuja salausalgoritmeja.
-
Tämä on totta.
-
Koska mitä et maininnut, pelkän tiedon salauksen lisäksi tarvitset
-
myös "key message digestin",
-
jonka nämä uusimmat salaukset tarjoavat.
-
Ja tämä on syy siihen,
-
miksi uusissa versioissa kuljetuskerroksen tietoturvasta,
-
joita kehitetään,
-
et löydä enää näitä virtasalauksia,
-
koska ne ovat turvattomia.
-
Tämä on totta.
-
Itse asiassa haittaohjelmat käyttävät usein virtasalauksia,
-
koska niitä on helppo toteuttaa.
-
RC4 on esimerkiksi erittäin suosittu,
-
koska se on helppo toteuttaa.
-
Ja tämä on syy,
-
miksi sitä käytetään.
-
Kuten voit ymmärtää,
-
todellisen turvallisuuden saavuttaminen
-
ei ole ensimmäinen asia mielessä,
-
en tiedä mitä Microsoft ajatteli,
-
mutta haittaohjelmien tekijöitä tämä ei kiinnosta.
-
He ajattelevat: "Ok, käytetään salauksia",
-
mutta ilmeisesti he eivät ajatelleet
-
paljoakaan pidemmälle kuin sitä.
-
Palataan kolmoseen.
-
Hei, nopea kysymys täältä.
-
Palataan visualisointiosuuteen.
-
Teetkö vain bitti bitiltä,
-
koska tässä on kaksi väriä,
-
vai onko siinä enemmän värejä?
-
Joo,
-
Katsoin RGB-arvojen satunnaista jakautumista punaisesta siniseen ja
-
laskin sen keskiarvon ja keskihajonnan,
-
joka on tietysti keskellä.
-
Sitten katsoin näiden todisteiden jakautumista
-
ja käytin vastaavuustoimintoa
-
ensimmäisestä keskiarvosta todistetaulukon keskiarvoon.
-
Laskin kalibroidut arvot todistusarvoista suhteessa todistusarvojen keskijakaumaan.
-
ja jaoin ne keskihajonnalla saadakseni tämän.
-
Tämä on tavu tavulta?
-
Kyllä,
-
tavu tavulta
-
Sanoit, että virtasalaukset,
-
kuten RC4, ovat alttiita tälle ongelmalle,
-
mutta mitä tapahtuu,
-
kun käytät CTR-tilaa tai jotain tällaista?
-
Ovatko nämä myös alttiina tälle ongelmalle?
-
Minäpä selitän,
-
että salaustyyppi jota tämä ongelma koskee,
-
on jokainen salaus,
-
jossa sinun on keksittävä jonkinlainen avainvirta.
-
Periaatteessa on olemassa satunnainen avain,
-
ja saat salakirjoitetun tekstin käyttämällä XOR-toimintoa selkokielisen tekstin
-
ja avaimen välillä.
-
Minkään muun tyyppinen salakirjoitus,
-
kuten lohkosalaus tai vastaava,
-
ei ole haavoittuvainen tälle hyökkäykselle.
-
Mutta mitä tapahtuu,
-
kun käytät laskuritilaa ja käytät uudelleen noncea?
-
En ymmärrä.
-
Voitko toistaa kysymyksen?
-
Kun käytät laskuritilaa ja uudelleenkäytät noncea.
-
Uskoisin,
-
että eikö tämä johtaisi samaan ongelmaan?
-
Luulisin...
-
Kun sinä...
-
Mitä?
-
Kun käytät AES ja laskuritilaa.
-
Aa kyllä...
-
Ei, ei.
-
Koska tarkoitat, jos XOR on jossain päin salauksen toimintaa?
-
Ei,
-
tämä on todella erityinen sivuvaikutus siitä,
-
että teet lineaarisen salauksen.
-
Salakirjoitettu teksti on
-
lineaarinen funktio selkokielisestä tekstistä
-
ja satunnaisesta avaimesta.
-
Hetkellä, jolloin salauksen toiminto sisältää
-
XOR-toiminnon,
-
mutta se ei ole täysin lineaarinen.
-
Siinä on vaiheita jotka varmistavat
-
ettei se ole lineaarinen
-
tällöin tulos ei ole haavoittuvainen tälle hyökkäykselle.
-
Ok, kiitos.
-
No, me ollaan kai valmiita.
-
Joten kiitos vielä kerran.
-
Mmhm
-
[Yleisö taputtaa]
-
[Translated by Jouko Voutilainen (KYBS2004 course assignment at JYU.FI)]