Mikä on SHA-1?
SHA on SHA-1: ssä Secure Hash -algoritmi, ja yksinkertaisesti sanottuna, voit ajatella sitä eräänlaisena matemaattisena ongelmana tai menetelmänä sekoittuu siihen syötettyyn dataan. Yhdysvaltojen NSA: n kehittämä se on ydinosa monista teknologioista, joita käytetään tärkeiden lähetysten salaamiseen Internetissä. Yhteiset salausmenetelmät SSL ja TLS, joita olet ehkä kuullut, voivat käyttää hajautusfunktiota, kuten SHA-1, luoda allekirjoitetut sertifikaatit, joita näet selaimen työkalupalkissa.
Se on paljon teknisiä tietoja, mutta yksinkertaisesti sanottuna: hash ei ole sama kuin salaus, koska sitä käytetään tunnistamaan, onko tiedosto muuttunut.
Kuinka tämä tekniikka vaikuttaa minuun?
Sanotaan, että sinun on vierailla verkkosivustolla yksityisesti. Pankisi, sähköpostiosoitteesi, jopa Facebook-tilisi - kaikki käyttävät salausta pitääkseen tiedot, jotka lähetät ne yksityisiksi. Ammattimaiset verkkosivustot tarjoavat salauksen hankkimalla sertifikaatin luotetusta viranomaiselta - kolmannelta osapuolelta, joka luottaa varmistamaan, että salaus on tasolla, yksityinen verkkosivuston ja käyttäjän välillä, eikä mikään muu osapuoli ole etsimässä sitä. Tämä suhde kolmanteen osapuoleen, jota kutsutaan Varmentaja, tai CA, on ratkaiseva, koska jokainen käyttäjä voi luoda "itse allekirjoitetun" varmenteen - voit jopa tehdä sen itse koneella, joka käyttää Linux Open SSL: llä. Esimerkiksi Symantec ja Digicert ovat kaksi laajalti tunnettua CA-yritystä.
Käy läpi teoreettisen skenaarion: How-To Geek haluaa pitää kirjautuneena käyttäjän istuntoihin yksityisesti salauksella, joten se vetoaa CA: n, kuten Symantecin, kanssa Varmenteen allekirjoituspyyntö, tai CSR. He luovat a julkinen avain ja yksityinen avain Internetin kautta lähetettyjen tietojen salaamiseen ja salauksen purkamiseen. CSR-pyyntö lähettää julkisen avaimen Symanteelle ja tiedot verkkosivustosta. Symantec tarkistaa avaimen tietueestaan varmistaakseen, että kaikki osapuolet eivät ole muuttaneet tietoja, koska pienet muutokset tiedoissa tekevät hashista radikaalisti erilaiset.
Koska hash on helppo seurata ja mahdotonta (jotkut sanovat "vaikeaksi") kääntää, oikea, tarkistettu hash-allekirjoitus tarkoittaa sitä, että varmenne ja yhteys voidaan luottaa ja tietoja voidaan hyväksyä lähetettäväksi salattuina päästä toiseen. Mutta mitä jos hash ei ollut ainutlaatuinen?
Mikä on törmäyskohtaus ja onko mahdollista reaalimaailmassa?
Olet ehkä kuullut matematiikan "Syntymäpäiväkirja", vaikka et ehkä tiennyt, mitä kutsuttiin. Perusajatus on, että jos koota tarpeeksi suuri joukko ihmisiä, mahdollisuudet ovat melko suuret, että kaksi tai useampi henkilöllä on saman syntymäpäivä. Korkeampi kuin mitä olette odottaneet, itse asiassa - tarpeeksi, että se tuntuu kummalliselta sattumalta. Ryhmässä, joka on niin pieni kuin 23 ihmistä, on 50 prosentin mahdollisuus, että kaksi jakavat syntymäpäivän.
Haun kahden lomakkeen löytämistä kutsutaan a törmäyskohtaus. Ainakin yksi laajamittainen törmäyskohtaus tiedetään jo tapahtuneen MD5-hashista. Mutta 27. helmikuuta 2017 Google ilmoitti SHAtteredille, joka on ensimmäinen muotoiltu törmäys SHA-1: lle. Google pystyi luomaan PDF-tiedoston, jolla oli sama SHA-1-hajautus kuin toinen PDF-tiedosto huolimatta siitä, että sillä on eri sisältöä.
SHAttered suoritettiin PDF-tiedostona. PDF-dokumentit ovat suhteellisen löysä tiedostomuoto; paljon pieniä bittitasoja voidaan tehdä estämättä lukijoita avaamasta sitä tai aiheuttaen näkyviä eroja. PDF-tiedostoja käytetään usein haittaohjelmien toimittamiseen. Vaikka SHAttered voisi työskennellä muuntyyppisissä tiedostoissa, kuten ISOs, todistukset ovat tiukasti määritelty, joten tällainen hyökkäys on epätodennäköistä.
Kuinka helppoa tämä hyökkäys on? SHAttered perustui Marc Stevensin vuonna 2012 havaitsemiin menetelmiin, jotka vaativat yli 2 ^ 60,3 (9,223 kvintilliinia) SHA-1-toimintaa - hämmästyttävän määrän. Tämä menetelmä on kuitenkin 100 000 kertaa vähemmän operaatioita kuin mitä vaadittaisiin samaan tulokseen brutilla. Google havaitsi, että 110 korkealaatuista näytönohjainta, jotka toimivat rinnakkain, kestää noin yhden vuoden ajan törmäyksen aikaansaamiseksi. Tämän laskenta-ajan vuokraaminen Amazon AWS: stä maksaisi noin 110 000 dollaria. Muista, että kun hinnat laskevat tietokoneen osille ja voit saada enemmän tehoa vähemmän, hyökkäykset, kuten SHAttered tullut helpompi vetää pois.
110 000 dollaria saattaa tuntua paljon, mutta se on joidenkin organisaatioiden kohtuuhintaisuuden alueella, mikä tarkoittaa, että reaalimaailman cybervillians voisi kehittää digitaalisia asiakirjojen allekirjoituksia, häiritä varmuuskopiointi- ja versionhallintajärjestelmiä kuten Git ja SVN tai tehdä haitallisen Linux ISO: n oikeutetuksi.
Onneksi on lieventäviä tekijöitä, jotka estävät tällaiset hyökkäykset. SHA-1: tä käytetään harvoin digitaalisiin allekirjoituksiin. Sertifikaatin myöntäjät eivät enää tue SHA-1: n kanssa allekirjoitettuja todistuksia, ja sekä Chrome että Firefox ovat hylänneet tuen heille. Linux-jakelut yleensä vapautuvat useammin kuin kerran vuodessa, joten hyökkääjän ei ole käytännöllistä luoda haitallista versiota ja luoda sitten yksi pehmustettu, jolla on sama SHA-1 hajautus.
Toisaalta jotkin SHAtterin perustuvat hyökkäykset ovat jo tapahtumassa todellisessa maailmassa. SVN-versionhallintajärjestelmä käyttää SHA-1: n erottaakseen tiedostot. Kahden PDF: n lataaminen samanlaisilla SHA-1-hajautuksilla SVN-arkistoon aiheuttaa sen, että se vahingoittuu.
Miten voin suojella itseäni SHA-1-hyökkäyksiltä?
Tyypilliselle käyttäjälle ei ole paljon. Jos käytät tarkistussummia tiedostojen vertailuun, käytä SHA-2: n (SHA-256) tai SHA-3: n sijasta SHA-1: n tai MD5: n sijasta. Samoin jos olet kehittäjä, muista käyttää moderneja hajautusalgoritmeja, kuten SHA-2, SHA-3 tai bcrypt. Jos olet huolissasi, että SHAttered on käyttänyt kahta erillistä tiedostoa samassa hajautuksessa, Google on julkaissut työkalun SHAttered-sivustolla, joka voi tarkistaa sinut.
Image Credits: Lego Firefox, Paljon Hash, älä loukkaa Web kirjailijaa tuntematon, Google.