0:00:04.220,0:00:07.299 [Translated by Jouko Voutilainen (KYBS2004 course assignment at JYU.FI)] 0:00:09.287,0:00:12.407 "Cryptoneulan löytäminen tavuheinäsuovasta" 0:00:14.084,0:00:16.911 Hän on haittaohjelmatutkija Check Pointilla 0:00:16.911,0:00:20.048 ja tulee Israeli Institute of Technologysta. 0:00:20.048,0:00:25.302 Hän aikoo kertoa meille jotain avainvirtauksen uudelleenkäytöstä ja siitä, 0:00:25.302,0:00:28.166 miten välttää jatkuvat yölliset yritykset 0:00:28.166,0:00:30.629 ymmärtää salaustekniikkaprotokollaa, 0:00:30.629,0:00:32.011 mutta oliko se vaivan arvoista. 0:00:32.531,0:00:35.440 Tarkoitan että sen sijaan, 0:00:35.440,0:00:38.888 että vietät yösi automatisoinnissa sen sijaan, 0:00:38.888,0:00:41.301 että tarkistat sen itse. 0:00:45.388,0:00:46.780 Katsotaanpa. 0:00:46.930,0:00:47.609 Kiitos. 0:00:47.931,0:00:49.842 Antakaa hänelle vielä kunnon aplodit. 0:00:49.842,0:00:54.171 [Yleisö taputtaa] 0:00:56.551,0:00:58.152 Hei, olen Ben. 0:00:58.152,0:01:02.354 Olen Check Pointin haittaohjelmien haavoittuvuuksien tutkimusryhmästä. 0:01:02.354,0:01:03.845 Tämä mainittiin jo aiemmin, 0:01:03.845,0:01:07.129 mutta halusin mainita sen uudelleen. 0:01:07.129,0:01:10.921 Minä tarkastelen teoreettisen tietojenkäsittelytieteen 0:01:10.921,0:01:13.169 sovelluksia torjuakseni ongelmia, 0:01:13.169,0:01:15.151 joita kohtaamme tietoturva-alalla. 0:01:17.221,0:01:20.090 Vähemmän kaunisteltuna tämä tarkoittaa sitä, 0:01:20.090,0:01:22.242 että olen amatöörimatematiikko, 0:01:22.242,0:01:24.256 joka jotenkin tunkeutui alalle. 0:01:24.256,0:01:25.204 Älä kerro kenellekään, 0:01:25.204,0:01:27.451 erityisesti kaikille kanssani työskenteleville ihmisille. 0:01:28.091,0:01:30.300 On tarpeeksi vaikeaa pitää tämä salassa, 0:01:30.300,0:01:31.299 kun otetaan huomioon, 0:01:31.299,0:01:34.311 että kun annoin pomolleni ensimmäisen luonnoksen tästä esityksestä, 0:01:34.311,0:01:35.994 hän katsoi sitä ja sanoi: 0:01:35.994,0:01:39.706 "Aiotko todella esittää tämän kaavojen kanssa? He tulevat lynkkaamaan sinut." 0:01:39.706,0:01:41.222 Joten ensinnäkin, 0:01:41.222,0:01:42.105 älä lynkkaa minua. 0:01:42.105,0:01:44.769 Toiseksi yritin parhaani poistaakseni suurimman osan kaavoista. 0:01:44.769,0:01:47.749 Yksi kaava on jossakin yhdellä dioista. 0:01:51.119,0:01:56.406 Tämä esitys käsittelee automaattista havaitsemista 0:01:56.406,0:01:58.930 salausavaimen uudelleenkäyttöhaavoittuvuuksista 0:01:58.930,0:02:00.981 Haluaisin sukeltaa suoraan aiheeseen, 0:02:00.981,0:02:03.031 mutta valitettavasti minun täytyy ensin selittää, 0:02:03.031,0:02:05.293 mikä tämä haavoittuvuus on. 0:02:05.293,0:02:06.379 Ja vielä valitettavammin, 0:02:06.379,0:02:07.787 jotta voin selittää sen merkityksen, 0:02:07.787,0:02:09.432 minun täytyy selittää, 0:02:09.432,0:02:10.640 miten virtasalaus toimii. 0:02:10.640,0:02:13.566 Joten käydään se läpi mahdollisimman nopeasti. 0:02:18.766,0:02:22.488 OK, näin virtasalaus toimii: 0:02:22.488,0:02:23.967 periaatteessa on olemassa tämä laite, 0:02:23.967,0:02:25.868 jota kutsutaan pseudosatunnaisluvun generaattoriksi. 0:02:25.868,0:02:29.131 Ja pseudosatunnaisluvun generaattori hyväksyy lyhyen avaimen 0:02:29.131,0:02:30.789 ja tuottaa mitä tahansa, 0:02:30.789,0:02:32.777 joka käytännössä näyttää kohinalta. 0:02:32.777,0:02:36.322 He ketkä eivät olleet tuttuja avaimen suhteen, 0:02:38.452,0:02:40.320 se näyttää kohinalta. 0:02:40.952,0:02:44.033 Sitä voi käyttää salaamisessa. 0:02:44.033,0:02:44.563 Miten? 0:02:44.563,0:02:46.110 Lisäät symmetrisen avaimen, 0:02:46.110,0:02:48.095 jonka molemmat osapuolet, 0:02:48.095,0:02:49.400 kuten esimerkiksi Alice ja Bob, 0:02:49.400,0:02:50.579 tuntevat yrittäessään kommunikoida, 0:02:50.579,0:02:52.437 ja pseudosatunnaisluvun generaattori 0:02:52.437,0:02:53.722 tuottaa tämän avainvirran, 0:02:53.722,0:02:54.561 joka näyttää kohinalta, 0:02:54.561,0:02:58.518 ja suoritat XOR:n selkokieliselle tekstille (tässä tapauksessa hymiölle). 0:02:58.518,0:03:00.172 Tämä johtaa salattuun tekstiin, 0:03:00.172,0:03:02.280 joka on selkokielinen teksti eksklusiivinen 0:03:02.280,0:03:03.895 tai -operaattorin (XOR) avainvirran kanssa. 0:03:03.895,0:03:08.556 Ja maallikoille, jotka eivät tunne avainta tai sijaintia, 0:03:08.556,0:03:09.596 näyttää myös kohinalta. 0:03:09.596,0:03:11.170 Tämä on XOR-operaation ominaisuus. 0:03:11.170,0:03:12.552 Kun otat mukavan selkokielisen tekstin ja 0:03:12.552,0:03:13.967 XORaat sen jotakin kohinan kaltaista vastaan, 0:03:13.967,0:03:15.382 saat myös jotakin, 0:03:15.382,0:03:17.033 joka näyttää kohinalta. 0:03:17.443,0:03:18.863 Mitä voit tehdä seuraavaksi? 0:03:18.863,0:03:21.126 Nyt tässä on salattu teksti. 0:03:21.126,0:03:21.978 Se näyttää kohinalta, 0:03:21.978,0:03:24.971 mutta jos XORaat sen uudelleen samalla avainvirralla, 0:03:24.971,0:03:27.736 jota Bob toisella puolella viestintää käyttää, 0:03:27.736,0:03:29.538 saat alkuperäisen tekstin takaisin. 0:03:29.538,0:03:30.273 Miksi? 0:03:30.273,0:03:32.199 Koska tämä on toinen XOR-operaation ominaisuus. 0:03:32.199,0:03:35.646 Jos XORaat jotakin saman elementin kanssa, 0:03:35.646,0:03:37.059 oli se sitten kohinaa tai ei, 0:03:37.059,0:03:40.806 kahdesti, saat sen kumoamaan itsensä. 0:03:40.806,0:03:41.738 Jos XORaat kohinan kanssa 0:03:41.738,0:03:42.790 , XORaat sen uudelleen kohinan kanssa, 0:03:42.790,0:03:44.369 kohinan kumoaa itsensä 0:03:44.369,0:03:46.437 ja saat alkuperäisen tekstin takaisin. 0:03:46.957,0:03:51.062 Joten mikä on avaimen uudelleenkäyttö? 0:03:51.062,0:03:52.237 Avaimen uudelleenkäyttö 0:03:52.237,0:03:55.668 on hämmästyttävästi saman avaimen käyttöä kahdesti, 0:03:55.668,0:03:57.612 salataksesi kaksi selkokielistä viestiä. 0:03:58.562,0:04:01.126 Kuten näette, otetaan tietty avain. 0:04:01.126,0:04:03.052 Tämä on avain. 0:04:03.052,0:04:09.284 Ja XOR:aamme tekstin ensimmäisen selkokielisen viestin avaimella 0:04:09.284,0:04:12.213 ja toisen selkokielisen viestin jälleen samalla avaimella. 0:04:12.213,0:04:14.380 Ja saamme kaksi kokonaisuutta kohinaa. 0:04:14.380,0:04:15.197 Kuten aiemmin mainittiin, 0:04:15.197,0:04:17.341 jos XOR:aamme kohinaan, 0:04:17.341,0:04:18.103 saamme jotakin, 0:04:18.103,0:04:19.090 joka näyttää kohinalta, 0:04:19.090,0:04:20.421 ellei tiedä avainta, 0:04:20.421,0:04:21.687 jolla avainvirta on alun perin generoitu 0:04:21.687,0:04:22.304 Ja nyt, 0:04:22.304,0:04:24.303 jos Eve on viestinnän keskellä, 0:04:24.303,0:04:26.896 hän salakuuntelee tätä kommunikaatiota, 0:04:26.896,0:04:30.666 Ja hän saa tämän kohinan ja tämän toisen kohinan. 0:04:30.666,0:04:32.697 ja se näyttää kaikki kohinalta hänelle. 0:04:32.697,0:04:34.311 Ja tietenkin hän ei voi tehdä mitään. 0:04:34.311,0:04:36.459 Eikä ole olemassa avaimen uudelleenkäytön haavoittuvuutta, 0:04:36.459,0:04:38.548 joten voit nyt nousta ylös istuimistasi ja mennä kotiin. 0:04:38.548,0:04:40.119 Ei, ei todellakaan. 0:04:40.119,0:04:41.476 Tämä on mitä tapahtuu, 0:04:41.476,0:04:44.590 kun salaat kaksi erilaista selkokielistä viestiä samalla avaimella. 0:04:44.590,0:04:46.605 On mahdollista, että Eve, 0:04:46.605,0:04:48.071 jolla on pääsy molempiin salattuihin viesteihin, 0:04:48.071,0:04:52.003 suorittaa kahden salakirjoitetun viestin XOR-operaatio. 0:04:52.003,0:04:55.765 Ja mitä me sanoimme aiemmin saman elementin kahdesti toistuvasta XOR-operaatiosta? 0:04:55.765,0:04:57.247 Tässä avain esiintyy kahdesti. 0:04:57.247,0:04:58.730 Sinulla on ensimmäinen selkokielinen teksti 0:04:58.730,0:04:59.385 XOR-avain, 0:04:59.385,0:05:01.225 toinen selkokielinen teksti XOR-avain. 0:05:01.225,0:05:03.964 Ja jos XOR:aat kaksi salattua viestiä suoritetaan, 0:05:03.964,0:05:05.719 avain kumoaa itsensä, 0:05:05.719,0:05:08.609 ja sinä saat ensimmäisen selkokielisen viestin XOR:aamaan 0:05:08.609,0:05:09.757 toisen selkokielisen tekstin. 0:05:09.757,0:05:10.907 Tämä ei ole jotain, 0:05:10.907,0:05:13.050 mitä haluat mahdollistaa, 0:05:13.050,0:05:15.262 kuten voit nähdä täällä. 0:05:15.262,0:05:18.683 Even on hyvin helppo tarkastella tätä asiaa 0:05:18.683,0:05:22.777 ja saada erittäin hyvä käsitys alkuperäisistä selkokielisistä viesteistä. 0:05:22.777,0:05:26.440 Tämä johtuu redundanssista kahdessa alkuperäisessä selkokielisessä tekstissä. 0:05:27.230,0:05:29.075 Meidän tilanteessamme, 0:05:29.075,0:05:30.436 jossa tulemme työskentelemään 0:05:30.436,0:05:32.377 ja mainitsemaan hetken kuluttua, 0:05:32.377,0:05:34.022 se on vähän vaikeampaa. 0:05:34.022,0:05:35.465 Se ei ole niin ilmeistä. 0:05:35.465,0:05:37.646 Se ei vain hypi silmille. 0:05:37.646,0:05:41.970 Itse asiassa kaikki vaiva ja algoritmit ovat omistautuneet 0:05:41.970,0:05:44.120 alkuperäisen selkokielisen tekstin erottamiseen, 0:05:44.120,0:05:44.985 mutta tämä on esimerkki, 0:05:44.985,0:05:45.686 jotta voit katsoa sitä 0:05:45.686,0:05:47.447 ja nähdä kuinka kauhea tämä haavoittuvuus on, 0:05:47.447,0:05:48.895 jos se on olemassa. 0:05:48.895,0:05:51.047 Se ei ole kovin kiva asia. 0:05:51.047,0:05:54.823 Joten mihin se on hyvä? 0:05:54.823,0:05:56.528 Miksi haluamme tunnistaa avaimen uudelleenkäytön? 0:05:56.528,0:05:58.076 Tässä on ensimmäinen esimerkki: 0:05:58.076,0:05:59.537 Tämä on dokumentti Venona-projektista. 0:05:59.537,0:06:03.615 Venona-projekti kesti 40 vuotta 1940-luvulta 1980-luvulle, 0:06:03.615,0:06:06.918 USA:n aloittamana salakuunnella Neuvostoliiton viestintää. 0:06:06.918,0:06:10.475 Tämä aloitettiin ennen kuin NSA edes perustettiin. 0:06:11.105,0:06:14.444 Neuvostoliitto käytti uudelleen avainvirtaansa. 0:06:14.444,0:06:15.542 Yhden kerran padejaan. 0:06:15.542,0:06:18.041 Oikein käytettynä yhden kerran padit on murtamattomia salauksia, 0:06:18.041,0:06:20.734 mutta he käyttivät näitä uudestaan, 0:06:20.734,0:06:23.036 ja mitä tapahtui oli, 0:06:23.036,0:06:26.729 että haavoittuvuus jonka näimme tuli esille siitä syystä. 0:06:26.729,0:06:30.294 Ja USA:n tiedustelu onnistui keräämään 0:06:30.294,0:06:34.588 tietoa noista salatuista viesteistä seuraavan 40 vuoden ajan. 0:06:34.588,0:06:36.070 Kyse ei ole siitä, 0:06:36.070,0:06:39.667 että Neuvostoliitto jatkoi haavoittuneen tiedon lähettämistä 40 vuoden ajan. 0:06:39.667,0:06:42.887 Sitä kesti vain 4 vuotta ja sen jälkeen he viisastuivat. 0:06:42.887,0:06:46.144 Mutta 40 vuoden ajan Amerikkalaiset jatkoivat tätä projektia 0:06:46.144,0:06:47.626 keräten yhä enemmän tietoa 0:06:47.626,0:06:49.623 ja he saivat paljon hyödyllistä tietoa 0:06:49.623,0:06:53.186 kuten vakoojapiirien nimiä ja identiteettejä. 0:06:54.030,0:06:55.516 Eli tässä on yksi käyttötapa sille. 0:06:55.516,0:06:57.465 Jos pystyt tarkastelemaan verkkoliikennettä 0:06:57.465,0:07:01.312 ja toteamaan että "hei, tässä on avaimen uudelleenkäyttöä". 0:07:01.312,0:07:02.242 Se on hyödyllistä. 0:07:02.242,0:07:06.483 Voit aloittaa hyökkäämällä verkkoliikenteeseen ja etsimään tietoa. 0:07:06.483,0:07:08.370 Tämä on toinen käyttötarkoitus. 0:07:08.370,0:07:11.101 Nyt aion häpeilemättömästi mainostaa kollegaani Nitayta, 0:07:11.101,0:07:12.193 koska hän on mahtava. 0:07:13.073,0:07:18.276 Aiemmin tänä vuonna tutkimme tiettyä lunnasohjelmaa nimeltä Dircrypt. 0:07:18.276,0:07:20.757 Se on käytännössä kuin Cryptolockerin wannabe. 0:07:20.757,0:07:25.059 Se saastuttaa tietokoneeseesi ja alkaa salata tiedostojasi. 0:07:25.979,0:07:29.565 Valitettavasti kun Nitay kaivautui syvemmälle lähdekoodiin, 0:07:29.565,0:07:33.377 huomasin, että heidän salaus toteuttaa avainten uudelleenkäyttöä. 0:07:33.377,0:07:37.606 Se käyttää virtasalausta RC4. 0:07:37.606,0:07:38.722 Tämä on hyvä kohta mainita, 0:07:38.722,0:07:40.590 että kaikki mitä puhun juuri nyt 0:07:40.590,0:07:42.633 koskee vain virtasalauksia 0:07:42.633,0:07:44.039 ja kertakäyttöisiä malleja, 0:07:44.039,0:07:44.931 jotka ovat kuin virtasalaus, 0:07:44.931,0:07:46.699 ei lohkosalauksia kuten AES . 0:07:46.699,0:07:48.440 DES ja vastaavat. 0:07:48.440,0:07:52.004 Selvitimme että näin tapahtuu. 0:07:55.814,0:08:02.380 Jokainen Dircryptin salausavaimella RC4 salattu tiedosto käytti samaa avainta. 0:08:02.380,0:08:04.028 Se oli viiden kirjaimen avain, 0:08:04.028,0:08:05.654 "black" kaikki pienillä kirjaimilla. 0:08:05.654,0:08:06.825 Tämä tarkoittaa, 0:08:06.825,0:08:11.120 että kaikki salatut tiedostot voitaisiin teoriassa palauttaa 0:08:11.120,0:08:14.160 hyödyntämällä redundanssia selkokielisessä tekstissä. 0:08:14.160,0:08:15.407 Joka tapauksessa tämä ei ollut jotain, 0:08:15.407,0:08:17.247 jonka haittaohjelman toimija suunnitteli tekevänsä. 0:08:17.247,0:08:18.720 Hauska juttu on, 0:08:18.720,0:08:20.527 että emme edes joutuneet menemään niin pitkälle, 0:08:20.527,0:08:26.006 koska haittaohjelma itse asiassa sisällytti avaimen jokaiseen tiedostoon. 0:08:26.006,0:08:27.893 Emme oikeastaan tiedä miksi, 0:08:27.903,0:08:31.300 todennäköisesti se näytti siltä, että tunnistaisimme sen sillä hetkellä. 0:08:32.270,0:08:37.651 Joten, jos haittaohjelman tekijä ei olisi tehnyt tätä, 0:08:37.651,0:08:43.972 olisimme voineet palauttaa sen selkokielisen tekstin tai suuren osan siitä kuitenkin. 0:08:43.972,0:08:47.231 Jos meillä olisi ollut tapa katsoa tiedostoja ja tulla oivallukseen, 0:08:47.231,0:08:48.515 että tässä on tehty avaimen uudelleenkäyttöä, 0:08:48.515,0:08:53.090 Nitay ei olisi joutunut istumaan ruudun edessä katsomassa IDA Pro:ta 0:08:53.090,0:08:57.440 verisin silmin yhä toistuvina öinä. 0:08:57.440,0:09:01.185 Olisimme voineet vain katsoa tiedostoja ja sanoa: 0:09:01.185,0:09:03.116 "Hei, täällä on avaimen uudelleenkäyttöhaavoittuvuus", 0:09:03.116,0:09:05.852 ja edetä siitä ja säästää paljon aikaa ja vaivaa. 0:09:06.802,0:09:08.202 Tämä on jotain samankaltaista. 0:09:08.202,0:09:10.159 Tämä on liikennettä Ramnit haittaohjelmasta. 0:09:10.159,0:09:13.189 Ramnit-haittaohjelma tuli esiin noin vuonna 2010. 0:09:13.189,0:09:17.374 Se varastaa tunnistetietoja ja sitä käytettiin talouspetoksessa. 0:09:17.374,0:09:23.760 Ramnit lähettää liikenteensä erityisellä kotikutoisella protokollalla portista 443. 0:09:23.760,0:09:24.976 Se ei ole oikeastaan SSL, 0:09:24.976,0:09:26.342 mutta se käyttää porttia 443. 0:09:26.342,0:09:28.939 Tämä protokolla sisältää lohkoja, 0:09:28.939,0:09:30.900 ja jotkut lohkot voivat olla salattuja. 0:09:31.470,0:09:34.499 Jokainen lohko salataan samalla avaimella, 0:09:34.499,0:09:38.611 ja pseudosatunnaislukugeneraattori käynnistetään uudelleen ennen jokaista käyttöä. 0:09:38.611,0:09:41.115 Joten tässä tapauksessa avaimen uudelleenkäyttö tapahtuu lohkon tasolla. 0:09:41.115,0:09:44.564 Jokainen lohko salataan käyttämällä samaa avainta. 0:09:45.714,0:09:48.619 Jos voimme tarkastella tätä liikennettä ja ymmärtää, 0:09:48.619,0:09:51.131 että "täällä on jotain avaimen uudelleenkäyttöä", 0:09:51.131,0:09:52.053 se on hyödyllistä, 0:09:52.053,0:09:55.727 koska tarkastellessamme liikennettä emme tiedä siitä mitään. 0:09:55.727,0:09:58.291 Nyt jos voitaisiin vain tarkastella liikennettä 0:09:58.291,0:10:00.955 että jotain avaimen uudelleenkäyttöä on tapahtunut täällä, se on mielenkiintoista. 0:10:00.955,0:10:05.236 Emme odota avaimen uudelleenkäyttöä normaalissa liikenteessä. 0:10:07.642,0:10:10.009 Tämä on viimeinen esimerkkimme, 0:10:10.009,0:10:12.498 jos uskot, että vain haittaohjelmat ja epämääräiset hahmot 0:10:12.498,0:10:13.753 harrastavat avaimen uudelleenkäyttöä. 0:10:13.753,0:10:21.147 Microsoft toteutti Officen 2003 versiossaan dokumentin salaustoiminnon. 0:10:21.932,0:10:22.932 Käytännössä 0:10:27.287,0:10:29.571 Joka kerta, kun tallensit tiedoston, 0:10:29.571,0:10:32.305 muokkasit sitä ja tallensit sen uudelleen, 0:10:32.305,0:10:34.001 se salattiin uudelleen samalla avaimella. 0:10:34.001,0:10:35.156 Avain oli sidottu tiedostoon, 0:10:35.156,0:10:36.418 ja se oli yksi ja sama avain joka kerta. 0:10:36.418,0:10:39.330 Joku, joka seurasi hakemistoasi pitkään, 0:10:39.330,0:10:41.429 voisi katsoa tiedostoja uudelleen ja uudelleen 0:10:41.429,0:10:44.608 ja nähdä, miten erilaiset selkokieliset tiedostot 0:10:44.608,0:10:45.907 salattiin uudelleen 0:10:45.907,0:10:47.747 ja uudelleen samalla avainvirralla. 0:10:47.967,0:10:50.307 Tämä mahdollistaa avaimen uudelleenkäyttöhyökkäyksen. 0:10:50.307,0:10:52.717 Ihmisten kesti aikaa huomata tämä. 0:10:52.717,0:10:54.365 Jos voisimme vain katsoa tiedostoja ja 0:10:54.365,0:10:56.012 tulla ymmärrykseen, että 0:10:56.012,0:10:57.195 "Oho! Täällä on taas avaimen uudelleenkäyttöä!", 0:10:57.195,0:10:59.657 se olisi voitu havaita paljon aikaisemmin. 0:11:00.987,0:11:05.993 Joten miten onnistumme tekemään tämän? 0:11:05.993,0:11:07.520 Nyt vietän neljä diaa selittäen, 0:11:07.520,0:11:08.336 kuinka hienoa olisi, 0:11:08.336,0:11:10.781 jos voisimme vain katsoa tätä tavuläjää 0:11:10.781,0:11:11.780 ja ymmärtää, 0:11:11.780,0:11:13.278 että tässä on avaimen uudelleenkäyttöä. 0:11:13.348,0:11:16.108 Se olisi kiva. Mutta miten me tämän toteutamme? 0:11:17.314,0:11:21.396 Noh. Muistatteko onko kukaan jäänyt jumiin 0:11:21.396,0:11:25.457 vanhoissa 90-luvun seikkailuissa kuten Sam and the Sorcerer ja Monkey Island. 0:11:25.457,0:11:27.939 Kun olet täysin jumissa etkä tiedä mitä tehdä, 0:11:27.939,0:11:28.900 niin mitä teet? 0:11:28.900,0:11:29.444 Kyllä. 0:11:29.444,0:11:32.219 Yrität kaikkea mahdollista kunnes joku toimii. 0:11:32.219,0:11:35.756 Eli tämä on mitä teemme tässä. 0:11:35.756,0:11:39.900 Käytännössä jos otamme jokaisen tavun alkuperäisestä syötteestä 0:11:39.900,0:11:45.645 ja XOR:aamme sen jokaisen muun tavun kanssa, saamme tämän tilan, 0:11:45.645,0:11:47.842 jossa jokainen XOR:attu tavu XOR:attu toisillaan. 0:11:47.842,0:11:53.502 Esimerkiksi tämä ruutu on XOR:n tulos R:n ja R:n kohdassa. 0:11:53.502,0:11:54.385 ja se tulee olemaan Null-tavu, 0:11:54.385,0:11:57.340 sillä XOR itsensä kanssa on null-tavu. 0:11:57.340,0:12:00.911 Ja jokainen ruutu tässä tilassa, 0:12:00.911,0:12:06.078 on käytännössä oman sarakkeensa ja rivinsä merkin XOR. 0:12:06.078,0:12:07.221 Mihin tämä on hyvä? 0:12:07.221,0:12:08.581 Näemme kohta. 0:12:08.581,0:12:10.075 Ensinnäki tältä se näyttää. 0:12:10.075,0:12:14.134 Vinosarakkeessa kaikki ovat null-tavuja. 0:12:14.134,0:12:19.253 Koska siinä on XOR:attu arvo itsellään. Eli. 0:12:19.933,0:12:22.519 Mikä on suunnitelmamme yllä olevan perusteella? 0:12:22.519,0:12:24.071 Jos otamme syötteen, 0:12:24.071,0:12:27.334 tarkastellaan tyypillistä syötettä, 0:12:27.334,0:12:29.499 jolle haluamme suorittaa toimintoja 0:12:29.499,0:12:31.544 ja löytää jotain mielenkiintoista. 0:12:31.544,0:12:33.062 Otetaan tämä syöte. 0:12:33.062,0:12:34.610 Siellä on kaikenlaisia häiriöitä. 0:12:34.610,0:12:39.762 Jossain täällä on kätketty kaksi salausviestiä 0:12:39.762,0:12:42.059 Ne ovat molemmat eri selkotekstejä, 0:12:42.059,0:12:43.034 jotka on salattu samalla avaimella. 0:12:43.034,0:12:45.281 Tämä on se asia, jonka haluamme löytää. 0:12:45.281,0:12:48.196 Ja jos XOR:ataan jokainen tavu toisensa kanssa, 0:12:48.196,0:12:50.007 jossain täällä, okei? 0:12:50.007,0:12:52.524 Tämä on tämän salausviestin ensimmäinen tavu 0:12:52.524,0:12:55.305 XOR:attuna tämän salausviestin ensimmäisen tavun kanssa. 0:12:58.245,0:12:59.284 Miksi tämä kiinnostaa meitä? 0:12:59.284,0:13:01.333 Aiemman näkemämme takia. 0:13:01.883,0:13:04.395 Jos XOR:ataan salauksen 0:13:04.395,0:13:09.090 ensimmäinen tavu, avain peruuttaa itsensä. 0:13:09.090,0:13:11.804 Sama pätee, 0:13:11.804,0:13:14.335 jos XOR-muunnetaan molempien salausviestien toinen tavu. 0:13:14.335,0:13:17.514 Ja tätä viivaa pitkin, okei? 0:13:17.514,0:13:21.067 Jos siirrymme yhden yksikön ylöspäin 0:13:21.067,0:13:22.326 ja yhden yksikön oikealle, 0:13:22.326,0:13:26.438 siirrymme käytännössä seuraavaan merkkiin molemmissa merkkijonoissa. 0:13:26.438,0:13:36.330 Tämän valkoisen viivan varrella voit nähdä kaksi salausviestiä XOR:aavan toisensa. 0:13:36.330,0:13:39.358 Kaksi eri salausviestiä voidaan lukea tätä viivaa pitkin. 0:13:39.358,0:13:40.680 Miksi tämä on tärkeää jälleen? 0:13:40.680,0:13:42.136 Koska aiemmin näimme, 0:13:42.136,0:13:43.194 mitä tapahtuu, jos teemme niin. 0:13:43.194,0:13:44.411 Avain kumoaa itsensä. 0:13:44.411,0:13:47.449 Voit itse asiassa nähdä hymynaaman ja lähettää viestejä. 0:13:47.449,0:13:50.221 Täällä se ei ole yhtä ilmeistä, 0:13:50.221,0:13:53.410 mutta se on silti askel, 0:13:53.410,0:13:55.326 joka auttaa meitä. 0:13:55.326,0:13:56.823 Mitä meidän tarvitsee tehdä. 0:13:56.823,0:13:57.846 Miksi? 0:13:57.846,0:14:05.532 Tulemme tähän koko juttuun olettaen jotain selkotekstin jaosta. 0:14:05.532,0:14:08.627 Selkokieli on eri kuin satunnaiset merkit, 0:14:08.627,0:14:09.348 eikö? 0:14:09.348,0:14:11.870 Odotamme kirjaimia, odotamme välimerkkejä. 0:14:11.870,0:14:18.845 Odotamme joka tapauksessa jakelun olevan erilainen verrattuna tasaisesti jakautuneisiin satunnaisiin merkkeihin. 0:14:18.845,0:14:20.546 Tämä ei ole selkotekstin jakelu. 0:14:20.546,0:14:22.577 Tämä on XOR-testijakelu. 0:14:22.577,0:14:23.303 Tämä on jakelu, 0:14:23.303,0:14:23.972 jonka saat, 0:14:23.972,0:14:27.856 kun valitset satunnaisen selkotekstin merkin selkotekstin jakelusta 0:14:27.856,0:14:32.301 ja sitten toisen satunnaisen merkin selkotekstin jakelusta 0:14:32.301,0:14:33.883 ja XOR-muunnat ne. 0:14:33.883,0:14:35.763 Saat toisen jaon. 0:14:35.763,0:14:38.245 Ja tämä jako on taas erilainen kuin satunnainen jako. 0:14:38.245,0:14:42.266 Eli meille se näyttää erilaiselta, eikö? 0:14:42.266,0:14:47.859 Jos katsomme tavua joka tuli kahdesta eri selkokielisestä merkistä jotka XOR:attiin, 0:14:47.859,0:14:50.458 se näyttäytyy meille erilaiselta 0:14:50.458,0:14:53.506 kuin vain satunnainen tavu pitkässä juoksussa. 0:14:55.534,0:14:57.773 Joten mitä me aiomme tehdä? 0:14:57.773,0:15:00.313 Me skannaamme tämän tilan, 0:15:00.313,0:15:00.957 josta mainitsin aikaisemmin. 0:15:00.957,0:15:04.159 Me rakennamme sen ensin ja sitten skannaamme sen diagonaalisesti, 0:15:04.159,0:15:09.905 koska todisteet ovat kuin rikospaikka, ja raskauttavat todisteet ovat 0:15:09.905,0:15:17.363 kaikki tavut jotka tulevat näyttämään epäilyttäviltä eivätkä tulleet satunnaisesta jakelusta. 0:15:17.363,0:15:21.292 Ne ilmestyvät diagonaalin varrelle. 0:15:21.292,0:15:26.397 Meillä ei ole kaikkia värejä ja väriohjauksia, 0:15:26.397,0:15:27.384 ja meillä vain syöte, 0:15:27.384,0:15:29.067 mutta jos skannaamme sen diagonaalisesti, 0:15:29.067,0:15:32.630 tiedämme että täällä jossain on avaimen uudelleenkäyttöä. 0:15:32.630,0:15:35.284 Lopulta törmäämme tähän diagonaaliin. 0:15:35.284,0:15:40.715 Aiomme tarkastella jokaista tavua kuin pientä todisteen palasta, 0:15:40.715,0:15:45.750 jotka saattavat ohjata meitä ymmärtämään, että kyseessä on ollut avaimen uudelleenkäyttöä. Ja nyt me 0:15:45.750,0:15:47.780 katsomme kahta salaustekstiä, 0:15:47.780,0:15:50.527 jotka on salattu samalla virtausavaimella, 0:15:50.527,0:15:53.808 ja työskentelemme diagonaalien kanssa. 0:15:53.808,0:15:54.874 Joka kerta kun törmäämme tavuun, 0:15:54.874,0:15:57.970 poimimme sen ja analysoimme sen selvittääksemme, 0:15:57.970,0:16:02.488 tukeeko se vai kumoaa hypoteesimme. 0:16:02.488,0:16:04.696 Jos kuljemme diagonaalia pitkin 0:16:04.696,0:16:10.104 ja löydämme ylivoimaisen määrän todisteita, 0:16:10.104,0:16:13.782 jotka tukevat hypoteesiamme, että avaimen uudelleenkäyttöä on tehty 0:16:13.782,0:16:16.417 nostamme hälytyksen ja sanomme, että 0:16:16.417,0:16:17.849 tässä oli tarpeeksi todisteita. 0:16:17.849,0:16:19.397 Ei ole mahdollista, että tämä olisi vain sattumaa. 0:16:19.397,0:16:21.038 Avaimen uudelleenkäyttöä on tapahtunut tässä. 0:16:21.038,0:16:25.757 Haavoittuvainen salateksin avaimen uudelleenkäyttöhyökkäys 0:16:25.757,0:16:30.086 on tässä kohtaa ja sen pituus on näin ja näin. 0:16:33.600,0:16:37.310 Tämä on se kaava josta varoitin jo aiemmin. 0:16:38.460,0:16:41.597 Tämä on lyhennelmä aiheeseen liittyvästä matematiikasta. 0:16:41.597,0:16:44.531 Käytännössä sanoin että katso todisteita, 0:16:44.531,0:16:47.118 aion kertoa mitä sillä tarkoitin. 0:16:47.118,0:16:51.382 Käytännössä on rubriikki 0:16:51.382,0:16:54.426 joka päättää kuinka paljon tavu, 0:16:54.426,0:16:56.318 todiste, vaikuttaa 0:16:56.318,0:16:57.856 hypoteesiimme ja 0:16:57.856,0:16:59.481 laittaa meidät ajattelemaan, 0:16:59.481,0:17:01.519 että hypoteesi on todennäköisempi. 0:17:01.869,0:17:07.147 Tämä on käytännössä laskentaa eroavaisuuden ja todennäköisyyden välillä, 0:17:07.147,0:17:11.357 että tavu syntyi salaustekstin XOR-operaatiosta sinisissä luvuissa. 0:17:13.197,0:17:14.506 Ja todennäköisyys, 0:17:14.506,0:17:17.136 että se tapahtuisi satunnaisesti. 0:17:17.769,0:17:19.252 En mene kaavaan, 0:17:19.252,0:17:22.031 mutta jokatapauksessa se on oleellinen. 0:17:22.031,0:17:24.151 Mitä tulee kysymykseen siitä, 0:17:24.151,0:17:25.451 kuinka paljon todisteita tarvitaan, 0:17:25.451,0:17:26.290 tämä on tärkeä kysymys, 0:17:26.290,0:17:28.668 voimme asettaa riman korkealle tai matalalle. 0:17:28.668,0:17:32.815 Todistuskokeen vuoksi asetimme riman siten, 0:17:32.815,0:17:35.900 että yhden väärän positiivisen tuloksen hyväksymme. 0:17:35.900,0:17:39.531 Tietysti voit asettaa sen pienemmäksi. 0:17:39.531,0:17:40.846 Se riippuu siitä, 0:17:40.846,0:17:42.714 missä yhteydessä aiot käyttää tätä asiaa. 0:17:43.554,0:17:45.257 Kysymys on, 0:17:45.257,0:17:47.058 jos asetamme todistusriman niin korkealle, 0:17:47.058,0:17:48.943 voimmeko todella havaita jotain? 0:17:51.692,0:17:52.628 Saattaa hyvinkin olla niin, 0:17:52.628,0:17:53.910 että jos vaadimme vain, 0:17:53.910,0:17:57.003 kun törmäämme kahteen salakirjoitettuun tekstiin, 0:17:57.003,0:17:59.215 joita etsimme, 0:17:59.215,0:18:00.738 emme pysty löytämään niitä, 0:18:00.738,0:18:02.854 koska todisteita ei ole tarpeeksi. 0:18:03.224,0:18:05.566 Mutta käy ilmi, 0:18:05.566,0:18:06.663 että meillä on tämä kaava, 0:18:06.663,0:18:11.159 jonka löysimme käyttämällä niin kutsuttua Chebyshevin epäyhtälöä. 0:18:11.159,0:18:12.593 Lyhyesti sanottuna, 0:18:12.593,0:18:18.052 niin kauan kuin etsimämme salakirjoitettu teksti 0:18:18.052,0:18:20.232 on tarpeeksi pitkä, 0:18:20.232,0:18:21.649 jokainen tavu antaa meille 0:18:21.649,0:18:23.663 jonkin verran todisteita, 0:18:23.663,0:18:26.093 positiivisia todisteita, jotka kertovat meille, 0:18:26.093,0:18:28.738 että tämä saattaa olla oikea asia. 0:18:29.678,0:18:31.788 Periaatteessa, jos tekstinpätkä on tarpeeksi pitkä, 0:18:31.788,0:18:33.420 meillä on tarpeeksi todisteita. 0:18:33.420,0:18:34.285 Ainoa kysymys on, 0:18:34.285,0:18:35.117 että se on numeropeli, 0:18:35.117,0:18:36.432 mikä on todennäköisyys, 0:18:36.432,0:18:38.530 että epäonnistumme joka tapauksessa, 0:18:38.530,0:18:40.428 vaikka teksti oli teoriassa tarpeeksi pitkä, 0:18:40.428,0:18:41.676 ja odotimme sen toimivan. 0:18:41.676,0:18:44.242 Siihen Chebyshevin epäyhtälö on tarkoitettu. 0:18:44.242,0:18:46.987 Se rajaa ylhäältä todennäköisyyden, 0:18:46.987,0:18:48.037 että jotain epätodennäköistä tapahtuu. 0:18:48.037,0:18:49.536 Joten jos tekstinpätkä on tarpeeksi pitkä, 0:18:49.536,0:18:51.099 ja jos katsot kaavaa, 0:18:51.099,0:18:52.982 voit päätellä, 0:18:52.982,0:18:57.293 että "tarpeeksi pitkä" on logaritminen syötteen pituudessa, 0:18:57.293,0:18:58.012 mikä on hyvä. 0:18:58.012,0:18:59.142 Jos kaksinkertaistamme syötteen, 0:18:59.142,0:19:03.251 tarvitsemme vain yhden merkin lisää salakirjoitetussa tekstissä hälytyksen käynnistymiseksi. 0:19:05.271,0:19:09.465 Periaatteessa tätä se on. Kun katsomme kaavaa... 0:19:09.465,0:19:15.024 en todellakaan odota kenenkään täällä 0:19:15.024,0:19:18.405 vain katsomalla sitä ja ymmärtävän, 0:19:18.405,0:19:20.006 miten keksimme tämän asian, 0:19:20.006,0:19:21.701 mutta se on vain todiste siitä, 0:19:21.701,0:19:22.410 että tutkimme sitä. 0:19:22.410,0:19:24.389 Tämä algoritmi tulisi toimimaan teoriassa. 0:19:25.593,0:19:26.526 Nyt kaikki tämä on hienoa, 0:19:26.526,0:19:31.088 mutta meidän täytyy todella näyttää, 0:19:31.088,0:19:32.752 miten se toimii käytännössä, 0:19:32.752,0:19:34.833 koska en usko, 0:19:34.833,0:19:36.248 että kaavan tarkasteleminen vakuutti ketään 0:19:36.248,0:19:37.130 täällä kovin paljoa. 0:19:37.663,0:19:42.925 Periaatteessa katsomme jonkinlaista lämpökarttaa. 0:19:43.508,0:19:45.922 Näet, mitä algoritmi näkee, 0:19:45.922,0:19:46.986 kun se toimii. 0:19:47.519,0:19:50.799 Kun algoritmi läpikäy tekemämme alueen 0:19:50.799,0:19:52.747 se katsoo eri tavuja 0:19:52.747,0:19:56.826 ja jokainen tavu näyttää enemmältä tai vähemmältä todisteita meidän 0:19:56.826,0:20:01.389 hypoteesiamme varten liittyen avaimen uudelleenkäyttöön. 0:20:01.938,0:20:07.782 Tavut, jotka antava lisää todisteita, 0:20:07.782,0:20:08.857 merkitään punaisella, 0:20:08.857,0:20:11.994 ja vähemmän todisteita sisältävät tavut sinisellä. 0:20:12.954,0:20:17.443 Algoritmi etsii pääasiassa viivoja muodostavia diagonaaleja. 0:20:17.443,0:20:20.301 Hypoteesillemme on paljon todisteita, 0:20:20.301,0:20:21.867 jotka näkyvät punaisella. 0:20:21.867,0:20:24.599 Nyt katsomme todistusaineiston lämpökarttaa, 0:20:24.599,0:20:28.095 joka liittyy aiemmin mainitsemaani Ramnit-viestintään. 0:20:29.295,0:20:34.620 Elikkä.. Ensimmäiseksi älä kiinnitä huomiota tähän. 0:20:34.620,0:20:36.386 Tämä on päädiagonaali, 0:20:36.386,0:20:40.731 jossa syöte on XOR:attu itsellään 0:20:40.731,0:20:41.714 Kaikki tavut ovat nulleja, 0:20:41.714,0:20:44.025 joten se näyttää algoritmin kannalta epäilyttävältä 0:20:44.025,0:20:46.018 eikä näytä yhtään satunnaiselta. 0:20:46.018,0:20:49.158 Mutta jos katsot hieman pidemmälle, 0:20:49.158,0:20:50.972 voit nähdä sen täältä. 0:20:50.972,0:20:53.231 Tämä on pitkä diagonaali, 0:20:53.231,0:20:54.762 ainutlaatuinen diagonaali, 0:20:54.762,0:20:58.158 jossa algoritmi havaitsee kiinnostavan ilmiön, 0:20:58.158,0:21:02.536 koska diagonaalin varrella on viiva todisteita. 0:21:06.133,0:21:10.728 Kyllä, koska se on itse asiassa elliptinen niille, 0:21:10.728,0:21:12.459 jotka eivät jostain syystä näe laserpointteria. 0:21:12.459,0:21:18.060 Tämä on kartta toisesta tapauksesta. 0:21:18.060,0:21:19.285 Se on hieman vaikeampi. 0:21:19.285,0:21:20.604 En tiedä, näkeekö kukaan sen täältä, 0:21:20.604,0:21:24.047 mutta jälleen kerran päädiagonaali on merkityksetön. 0:21:24.246,0:21:29.942 Tämä on kahden Dircrypt-haittaohjelman salaaman tiedoston lämpökartta, 0:21:29.942,0:21:31.703 josta aiemmin puhuin. 0:21:32.303,0:21:38.282 Ja molemmat tiedostot salattiin käyttäen samaa avainvirtaa, 0:21:38.282,0:21:41.054 joten avaimen uudelleenkäyttöä 0:21:41.054,0:21:42.461 pitäisi pystyä havaitsemaan. 0:21:42.461,0:21:43.510 Jos katsomme tätä, 0:21:43.510,0:21:45.974 se näkyy punaisena diagonaalina viivana jossain täällä. 0:21:45.974,0:21:48.767 Ja tässä se on 0:21:48.767,0:21:49.786 eikö niin? 0:21:50.903,0:21:52.211 Diagonaali menee tuosta. 0:21:52.211,0:21:53.099 Se on punainen diagonaali, 0:21:53.099,0:21:55.547 jossa jokainen tavu näyttää epäilyttävältä, 0:21:55.547,0:21:57.112 näyttää enemmän tai vähemmän siltä, 0:21:57.112,0:22:00.292 kuin se olisi tullut ei satunnaisesti, 0:22:00.292,0:22:05.817 vaan selkokielisten tavujen XOR-selkokielisistä tavuista, 0:22:05.817,0:22:07.212 eikö niin? 0:22:07.212,0:22:09.067 Joten, en tiedä, 0:22:09.067,0:22:09.625 huomasitteko, 0:22:09.625,0:22:11.981 mutta olemme käytännössä onnistuneet suunnitelmassamme. 0:22:12.811,0:22:14.361 Olemme pystyneet vain 0:22:14.361,0:22:15.443 ottamaan syötteen, 0:22:15.443,0:22:18.568 tietämättä siitä mitään etukäteen, 0:22:18.568,0:22:23.618 ja laskemaan kaikenlaisia ominaisuuksia 0:22:23.618,0:22:25.982 eri tavujen XOR:ista. 0:22:25.982,0:22:28.396 Ja algoritmi pystyy, 0:22:28.396,0:22:30.127 aivan kuten voit katsoa tätä diagonaalia 0:22:30.127,0:22:33.424 ja automaattisesti havaita missä avaimen uudelleenkäyttö on, 0:22:33.424,0:22:35.715 niin pystyy myös algoritmi. 0:22:37.395,0:22:38.396 Katsotaan, 0:22:38.396,0:22:41.983 onko meillä aikaa demonstrointiin 0:22:48.724,0:22:50.531 Katsotaanpa. Näyttää siltä, 0:22:50.531,0:22:53.871 että toinen demo ei toimi jostain syystä. 0:23:00.035,0:23:01.218 No, ei se mitään. 0:23:01.218,0:23:03.276 Toinen demo ei ollut yhtä jännittävä kuin tämä, 0:23:03.276,0:23:06.573 koska se näytti käynnissä olevan skriptin. 0:23:06.573,0:23:07.532 Skripti, 0:23:07.532,0:23:08.742 joka luo tämän. 0:23:09.619,0:23:16.629 Käytännössä... Ramnit-haittaohjelma, jonka näimme aiemmin, 0:23:16.629,0:23:18.760 lähettää tätä kommunikaatiota, 0:23:18.760,0:23:20.274 ja skripti iteroi sen yli. 0:23:20.274,0:23:23.056 Ja lopulta ohjelman suorittamisen piti todella nähdä... 0:23:23.056,0:23:26.751 Skripti kulkemassa tätä diagonaalia pitkin 0:23:26.751,0:23:28.399 keräten todistusaineistoa. 0:23:28.399,0:23:31.897 Näen tämän määrän positiivista todistusaineistoa, 0:23:31.897,0:23:33.489 ja se kasvaa ja kasvaa. 0:23:33.489,0:23:34.820 Lopulta se päättyy, 0:23:34.820,0:23:37.617 koska se kulkee syötteen lopun yli, 0:23:37.617,0:23:41.961 ja sitten se sanoo: "Aha, löysin sen! Löysin avaimen uudelleenkäytön!" 0:23:41.961,0:23:44.075 ja se tulostaa kaksi siirtymää. 0:23:44.075,0:23:47.262 Tämä on itse asiassa se jännittävämpi asia. 0:23:47.262,0:23:49.585 Ei tarvitse katsoa demoa ymmärtääksesi 0:23:49.585,0:23:50.677 mitä täällä tapahtuu. 0:23:53.547,0:24:02.490 Olemme onnistuneet suunnitelmassamme käyttäen aiemmin hahmottelemaani suunnitelmaa, 0:24:03.415,0:24:07.402 ja toivon todella, että tästä on 0:24:07.402,0:24:09.071 hyötyä. Aion ladata sen 0:24:09.071,0:24:13.179 ja heti kun saan koodin tilaan, 0:24:13.179,0:24:15.377 jossa voin antaa sen jonkun tarkasteltavaksi 0:24:15.377,0:24:16.891 ja myöhemmin katsoa heitä silmiin, 0:24:16.891,0:24:21.288 tämä ladataan kaikkien niiden hyväksi, 0:24:21.288,0:24:22.951 jotka haluavat tarkastella sitä. 0:24:23.467,0:24:26.281 Ja tämä se periaatteessa on. 0:24:26.281,0:24:30.528 Toivon, että ymmärrätte nyt paremmin, 0:24:30.528,0:24:32.299 mikä avaimen uudelleenkäyttö on 0:24:32.299,0:24:35.705 ja miten havaitsemme sen tällä menetelmällä. 0:24:36.421,0:24:38.408 Ok, ja kiitos. 0:24:38.691,0:24:46.233 [Yleisö taputtaa] 0:24:50.094,0:24:51.910 Onko mitään kysyttävää? 0:24:51.940,0:24:52.940 Okei 0:24:57.810,0:24:59.543 Lämpökartta? 0:24:59.767,0:25:00.783 Tämä. 0:25:17.034,0:25:20.914 Olin ihmetellyt sitä täysin ei-epäilyttävää vaakasuoraa viivaa alhaalla. 0:25:20.914,0:25:24.827 Kyllä, vaakasuorat viivat ovat todennäköisesti artefakteja. 0:25:24.827,0:25:26.320 Periaatteessa mikä on vaakasuora viiva täällä, 0:25:26.320,0:25:32.427 Tämä on tietty merkki jostakin entisestä selkokielisestä tekstistä, 0:25:32.427,0:25:35.503 XOR:attuna muuhun selvitettyyn tekstiin. 0:25:35.503,0:25:38.984 Se ei käytännössä liity siihen, 0:25:38.984,0:25:40.163 mistä olemme aiemmin puhuneet, 0:25:40.163,0:25:42.212 koska kun poimimme kaksi salattua viestiä, 0:25:42.212,0:25:43.776 se ilmestyy diagonaalille. 0:25:43.776,0:25:48.905 Hmm, luultavasti se on yksi tietty tavu salausavaintekstissä, 0:25:48.905,0:25:52.236 jossa XOR itsessään tuottaa jonkinlaisen poikkeaman. 0:25:52.801,0:25:55.397 Onneksi se ei näy diagonaalissa, 0:25:55.397,0:25:57.944 joten emme kärsi vääristä positiivisista tuloksista sen takia. 0:25:57.944,0:25:59.481 OK, kiitos. 0:26:04.105,0:26:11.398 Kun segmentit ovat saman kokoisia, 0:26:11.398,0:26:14.827 salausavain uudelleenkäytetään. 0:26:14.827,0:26:16.958 Kun nämä segmentit on tunnistettu, 0:26:16.958,0:26:20.071 kuinka paljon manuaalista salauksen 0:26:20.071,0:26:22.485 purkamista tarvitaan tekstin palauttamiseen? 0:26:22.485,0:26:29.296 Itse asiassa näin esseen julkaistuna juuri tästä aiheesta. 0:26:29.296,0:26:30.844 On olemassa automaattisia menetelmiä, 0:26:30.844,0:26:34.090 joilla voi saada selville tekstin niissä tapauksissa, 0:26:34.090,0:26:36.387 joissa tiedetään kahden salausavaintekstin 0:26:36.387,0:26:37.703 olevan alttiita hyökkäykselle. 0:26:37.703,0:26:40.183 Se ei toimi 100% tapauksissa, 0:26:40.183,0:26:42.930 mutta näin tehtiin todellisessa tapauksessa, 0:26:42.930,0:26:44.595 jossa käytettiin Word 2003 -salausta, 0:26:44.595,0:26:46.793 ja se toimi melko hyvin. 0:26:46.793,0:26:51.622 Sinun ei tarvitse käyttää manuaalista työtä salauksen purkamiseen; 0:26:51.622,0:26:54.401 on automaattisia menetelmiä sen tekemiseen. 0:26:57.279,0:26:58.473 Kyllä, 0:26:59.253,0:27:03.697 Eli sinun täytyy tietää tavujen jakautuminen tekstin osalta. 0:27:03.697,0:27:05.356 Aivan. 0:27:05.356,0:27:10.435 Nämä lämpökartat onkin luotu arvauksen perusteella siitä, 0:27:10.435,0:27:14.948 miltä teksti näyttää. 0:27:14.948,0:27:17.978 Siinä pitäisi olla joitain isoja kirjaimia, 0:27:17.978,0:27:21.345 pieniä kirjaimia ja merkkejä ja niin edelleen. 0:27:21.345,0:27:23.065 Toivottavasti tämä arvaus on 0:27:23.065,0:27:26.576 tarpeeksi lähellä minkä tahansa todellisen tekstin tapausta, 0:27:26.576,0:27:30.189 jotta hälytys nousee riippumatta tarkasta jakaumasta. 0:27:30.509,0:27:32.345 Yksi kysymys IRC:stä. 0:27:32.345,0:27:33.894 Kyllä kiitos. 0:27:33.894,0:27:35.259 Kysymys internetistä kuuluu: 0:27:35.259,0:27:38.538 "Onko näitä dokumentteja jossain saatavilla?" 0:27:39.280,0:27:41.460 Onko nämä dokumentit jossain saatavilla? 0:27:42.612,0:27:45.065 Dokumentteja ei ole, 0:27:45.065,0:27:45.880 mutta kuten sanoin, 0:27:45.880,0:27:48.910 suunnittelen työstäväni sen ja lataavani sen nettiin. 0:27:48.910,0:27:52.791 Ilmoitan heti, kun se on saatavilla. 0:27:53.691,0:27:54.906 Kiitos 0:27:55.721,0:28:00.573 Kiitos, että näytit tänään yleisesti ottaen stream-salausten haavoittuvuudet. 0:28:01.083,0:28:05.090 Suositukseni kenelle tahansa on 0:28:05.090,0:28:07.748 olla käyttämättä virtasalausalgoritmeja ollenkaan. 0:28:08.368,0:28:10.219 Joten jos joku, 0:28:10.219,0:28:12.407 mukaan lukien haittasuunnittelijat, 0:28:12.407,0:28:15.124 haluaa suunnitella oman salausjärjestelmänsä, 0:28:15.124,0:28:17.452 mikä on selvästi typerä idea, 0:28:17.452,0:28:23.466 heidän pitäisi käyttää näitä AEAD-salauksia, 0:28:23.466,0:28:26.297 eli todennettuja salausalgoritmeja. 0:28:26.297,0:28:27.699 Tämä on totta. 0:28:27.699,0:28:37.401 Koska mitä et maininnut, pelkän tiedon salauksen lisäksi tarvitset 0:28:37.401,0:28:40.680 myös "key message digestin", 0:28:40.680,0:28:44.107 jonka nämä uusimmat salaukset tarjoavat. 0:28:44.107,0:28:45.194 Ja tämä on syy siihen, 0:28:45.194,0:28:47.663 miksi uusissa versioissa kuljetuskerroksen tietoturvasta, 0:28:47.663,0:28:49.138 joita kehitetään, 0:28:49.138,0:28:51.259 et löydä enää näitä virtasalauksia, 0:28:51.259,0:28:52.506 koska ne ovat turvattomia. 0:28:52.506,0:28:53.484 Tämä on totta. 0:28:53.484,0:28:57.709 Itse asiassa haittaohjelmat käyttävät usein virtasalauksia, 0:28:57.709,0:28:59.262 koska niitä on helppo toteuttaa. 0:28:59.262,0:29:00.977 RC4 on esimerkiksi erittäin suosittu, 0:29:00.977,0:29:02.261 koska se on helppo toteuttaa. 0:29:02.261,0:29:03.930 Ja tämä on syy, 0:29:03.930,0:29:04.976 miksi sitä käytetään. 0:29:04.976,0:29:05.883 Kuten voit ymmärtää, 0:29:05.883,0:29:08.890 todellisen turvallisuuden saavuttaminen 0:29:08.890,0:29:11.228 ei ole ensimmäinen asia mielessä, 0:29:11.228,0:29:13.504 en tiedä mitä Microsoft ajatteli, 0:29:13.504,0:29:16.583 mutta haittaohjelmien tekijöitä tämä ei kiinnosta. 0:29:16.583,0:29:18.234 He ajattelevat: "Ok, käytetään salauksia", 0:29:18.234,0:29:20.243 mutta ilmeisesti he eivät ajatelleet 0:29:20.243,0:29:22.437 paljoakaan pidemmälle kuin sitä. 0:29:22.705,0:29:23.937 Palataan kolmoseen. 0:29:24.328,0:29:27.345 Hei, nopea kysymys täältä. 0:29:28.005,0:29:31.018 Palataan visualisointiosuuteen. 0:29:31.018,0:29:35.208 Teetkö vain bitti bitiltä, 0:29:35.208,0:29:36.856 koska tässä on kaksi väriä, 0:29:36.856,0:29:38.320 vai onko siinä enemmän värejä? 0:29:38.320,0:29:39.070 Joo, 0:29:39.070,0:29:46.296 Katsoin RGB-arvojen satunnaista jakautumista punaisesta siniseen ja 0:29:46.296,0:29:48.893 laskin sen keskiarvon ja keskihajonnan, 0:29:48.893,0:29:50.582 joka on tietysti keskellä. 0:29:50.582,0:29:57.804 Sitten katsoin näiden todisteiden jakautumista 0:29:57.804,0:30:00.151 ja käytin vastaavuustoimintoa 0:30:00.151,0:30:06.042 ensimmäisestä keskiarvosta todistetaulukon keskiarvoon. 0:30:06.042,0:30:16.136 Laskin kalibroidut arvot todistusarvoista suhteessa todistusarvojen keskijakaumaan. 0:30:16.136,0:30:20.147 ja jaoin ne keskihajonnalla saadakseni tämän. 0:30:20.147,0:30:21.528 Tämä on tavu tavulta? 0:30:21.528,0:30:22.445 Kyllä, 0:30:22.445,0:30:24.346 tavu tavulta 0:30:27.546,0:30:31.369 Sanoit, että virtasalaukset, 0:30:31.369,0:30:34.227 kuten RC4, ovat alttiita tälle ongelmalle, 0:30:34.227,0:30:36.456 mutta mitä tapahtuu, 0:30:36.456,0:30:43.201 kun käytät CTR-tilaa tai jotain tällaista? 0:30:43.201,0:30:47.141 Ovatko nämä myös alttiina tälle ongelmalle? 0:30:47.141,0:30:49.345 Minäpä selitän, 0:30:49.345,0:30:52.058 että salaustyyppi jota tämä ongelma koskee, 0:30:52.058,0:30:54.324 on jokainen salaus, 0:30:54.324,0:30:58.319 jossa sinun on keksittävä jonkinlainen avainvirta. 0:30:58.319,0:30:59.834 Periaatteessa on olemassa satunnainen avain, 0:30:59.834,0:31:04.187 ja saat salakirjoitetun tekstin käyttämällä XOR-toimintoa selkokielisen tekstin 0:31:04.187,0:31:05.428 ja avaimen välillä. 0:31:05.428,0:31:07.363 Minkään muun tyyppinen salakirjoitus, 0:31:07.363,0:31:09.624 kuten lohkosalaus tai vastaava, 0:31:09.624,0:31:12.463 ei ole haavoittuvainen tälle hyökkäykselle. 0:31:12.463,0:31:15.050 Mutta mitä tapahtuu, 0:31:15.050,0:31:19.033 kun käytät laskuritilaa ja käytät uudelleen noncea? 0:31:19.127,0:31:20.220 En ymmärrä. 0:31:20.220,0:31:22.218 Voitko toistaa kysymyksen? 0:31:22.488,0:31:27.358 Kun käytät laskuritilaa ja uudelleenkäytät noncea. 0:31:27.358,0:31:28.509 Uskoisin, 0:31:28.509,0:31:32.865 että eikö tämä johtaisi samaan ongelmaan? 0:31:32.865,0:31:34.676 Luulisin... 0:31:34.676,0:31:35.725 Kun sinä... 0:31:35.725,0:31:36.752 Mitä? 0:31:36.752,0:31:38.623 Kun käytät AES ja laskuritilaa. 0:31:38.623,0:31:39.052 Aa kyllä... 0:31:39.052,0:31:40.251 Ei, ei. 0:31:40.251,0:31:45.789 Koska tarkoitat, jos XOR on jossain päin salauksen toimintaa? 0:31:45.789,0:31:46.095 Ei, 0:31:46.095,0:31:48.613 tämä on todella erityinen sivuvaikutus siitä, 0:31:48.613,0:31:50.444 että teet lineaarisen salauksen. 0:31:50.444,0:31:51.303 Salakirjoitettu teksti on 0:31:51.303,0:31:54.556 lineaarinen funktio selkokielisestä tekstistä 0:31:54.556,0:31:56.005 ja satunnaisesta avaimesta. 0:31:56.005,0:31:58.552 Hetkellä, jolloin salauksen toiminto sisältää 0:31:58.552,0:32:00.550 XOR-toiminnon, 0:32:00.550,0:32:01.998 mutta se ei ole täysin lineaarinen. 0:32:01.998,0:32:04.306 Siinä on vaiheita jotka varmistavat 0:32:04.306,0:32:05.178 ettei se ole lineaarinen 0:32:05.178,0:32:07.692 tällöin tulos ei ole haavoittuvainen tälle hyökkäykselle. 0:32:07.692,0:32:09.424 Ok, kiitos. 0:32:10.504,0:32:12.086 No, me ollaan kai valmiita. 0:32:12.621,0:32:13.885 Joten kiitos vielä kerran. 0:32:13.885,0:32:14.908 Mmhm 0:32:15.035,0:32:19.247 [Yleisö taputtaa] 0:32:20.227,0:32:26.077 [Translated by Jouko Voutilainen (KYBS2004 course assignment at JYU.FI)]