Viikon hyökkäys: äänipuhelut LTE:n kautta (ReVoLTE)

Kääntäjältä ja TL:ltä;DR

  1. TL; DR:

    Näyttää siltä, ​​​​että VoLTE osoittautui vielä huonommin suojatuksi kuin ensimmäiset WEP-asiakkaat. Yksinomaan arkkitehtoninen virhelaskenta, jonka avulla voit XOR liikenteen hieman ja palauttaa avaimen. Hyökkäys on mahdollinen, jos olet soittajan lähellä ja hän soittaa usein.

  2. Kiitos vinkistä ja TL;DR Klukonin

  3. Tutkijat ovat tehneet sovelluksen määrittääkseen, onko operaattorisi haavoittuvainen, lue lisää täällä. Jaa tulokset kommenteissa, VoLTE on poistettu käytöstä alueellani Megafonissa.

Tietoja kirjoittajasta

Matthew Green.

Olen kryptografi ja professori Johns Hopkinsin yliopistossa. Olen suunnitellut ja analysoinut langattomissa verkoissa käytettäviä salausjärjestelmiä, maksujärjestelmiä ja digitaalisen sisällön tietoturva-alustoja. Tutkimuksessani tarkastelen erilaisia ​​tapoja käyttää kryptografiaa käyttäjien yksityisyyden parantamiseksi.

Siitä on aikaa, kun kirjoitin postauksen muodossa "viikon hyökkäys", ja se järkytti minua. Ei siksi, etteikö hyökkäyksiä olisi ollut, vaan lähinnä siksi, että ei hyökätty jotain tarpeeksi laajalti käytettyä vastaan, jotta minut poistuisi kirjailijan esteistä.

Mutta tänään törmäsin mielenkiintoinen hyökkäys nimeltään ReVoLTE protokollille, joista olen erityisen innoissani hakkeroinnista, eli matkapuhelinverkon (voice over) LTE-protokollat. Olen innoissani näistä protokollista – ja tästä uudesta hyökkäyksestä –, koska on hyvin harvinaista nähdä, että todellisia matkapuhelinverkkoprotokollia ja -toteutuksia hakkeroidaan. Pääasiassa siksi, että nämä standardit on kehitetty savuisissa huoneissa ja dokumentoitu 12000 XNUMX-sivuisiin asiakirjoihin, joita kaikki tutkijat eivät pysty käsittelemään. Lisäksi näiden hyökkäysten toteuttaminen pakottaa tutkijat käyttämään monimutkaisia ​​radioprotokollia.

Näin ollen vakavat kryptografiset haavoittuvuudet voivat levitä kaikkialle maailmaan, ehkä vain hallitukset voivat hyödyntää niitä, ennen kuin kukaan tutkija huomaa. Mutta ajoittain on poikkeuksia, ja tämän päivän hyökkäys on yksi niistä.

Tekijät hyökkäyksiäOsallistujat: David Rupprecht, Katharina Kohls, Thorsten Holz ja Christina Pöpper Ruhr-University Bochumista ja New York University Abu Dhabista. Tämä on loistava hyökkäys todennäköisesti jo käyttämäsi ääniprotokollan avaimen asentamiseen uudelleen (olettaen, että olet vanhempi sukupolvi, joka soittaa edelleen matkapuhelimella).

Aluksi lyhyt historiallinen retki.

Mitä ovat LTE ja VoLTE?

Nykyaikaisten matkapuhelinstandardidemme perusta luotiin Euroopassa jo 80-luvulla standardilla Globaali järjestelmä mobiililaitteille (Global System for Mobile Communications). GSM oli ensimmäinen suuri digitaalinen matkapuhelinstandardi, joka esitteli useita vallankumouksellisia ominaisuuksia, kuten salaus puheluiden suojaamiseksi. Varhainen GSM oli suunniteltu ensisijaisesti puheviestintään, vaikka rahaa voisikin olla siirtää muita tietoja.

Kun tiedonsiirrosta tuli entistä tärkeämpää solukkoviestinnässä, Long Term Evolution (LTE) -standardit kehitettiin virtaviivaistamaan tämän tyyppistä viestintää. LTE perustuu ryhmään vanhempia standardeja, kuten GSM, EDGE и HSPA ja se on suunniteltu lisäämään tiedonsiirtonopeutta. Brändäystä on paljon ja johtaa harhaan väärillä nimityksillämutta TL;DR on se, että LTE on tiedonsiirtojärjestelmä, joka toimii siltana vanhempien pakettidataprotokollien ja tulevaisuuden solukkodatatekniikoiden välillä. 5G.

Tietenkin historia kertoo meille, että kun käytettävissä on tarpeeksi (IP) kaistanleveyttä, käsitteet kuten "ääni" ja "data" alkavat hämärtyä. Sama koskee nykyaikaisia ​​matkapuhelinprotokollia. Jotta tämä siirtyminen olisi sujuvampaa, LTE-standardit määrittelevät Voice-over-LTE (VoLTE), joka on IP-standardi äänipuhelujen kuljettamiseen suoraan LTE-järjestelmän datatason yli, ohittaen kokonaan matkapuhelinverkon puhelinverkkoyhteyden. Kuten vakiona VoIP-puhelut,VoLTE-puhelut voi katkaista matkapuhelinoperaattorilta ja yhdistää ne tavalliseen puhelinverkkoon. Tai (kuten on yhä yleisempää) ne voidaan reitittää suoraan matkapuhelinasiakkaasta toiseen ja jopa eri palveluntarjoajien välillä.

Kuten tavallinen VoIP, VoLTE perustuu kahteen suosittuun IP-pohjaiseen protokollaan: Session Initiation Protocol (Istunnon aloitusprotokolla – SIP) puhelun muodostamiseen ja reaaliaikaiseen siirtoprotokollaan (Reaaliaikainen kuljetusprotokolla, jota pitäisi kutsua RTTP:ksi, mutta itse asiassa sitä kutsutaan RTP:ksi) puhedatan käsittelyä varten. VoLTE lisää myös joitain ylimääräisiä kaistanleveyden optimointeja, kuten otsikon pakkausta.

Okei, mitä tekemistä tällä on salauksen kanssa?

LTE, esim GSM, sisältää standardisarjan salausprotokollia pakettien salaamiseksi, kun ne lähetetään ilmateitse. Ne on suunniteltu pääasiassa suojaamaan tietojasi niiden liikkuessa puhelimen (kutsutaan käyttäjälaitteeksi tai UE:ksi) ja matkapuhelintornin välillä (tai missä tahansa palveluntarjoajasi päättää katkaista yhteyden). Tämä johtuu siitä, että matkapuhelinoperaattorit pitävät ulkoisia salakuuntelulaitteita vihollisina. No tottakai.

(Se tosiasia, että VoLTE-yhteydet voivat kuitenkin muodostua suoraan asiakkaiden välillä eri palveluntarjoajan verkoissa, tarkoittaa, että VoLTE-protokollassa itsessään on joitain ylimääräisiä ja valinnaisia ​​salausprotokollia, joita voi esiintyä korkeammilla verkkokerroksilla. Tämä ei liity tämän artikkelin kannalta, paitsi että ne voivat pilata kaiken (puhumme niistä lyhyesti seuraavaksi).

Historiallisesti salaus GSM:ssä on ollut monia heikkoja kohtia: huono salauksia, protokollat, joissa vain puhelin tunnistettiin torniin (eli hyökkääjä saattoi esiintyä tornina ja luoda "Keihäsrausku") ja niin edelleen. LTE korjasi monia ilmeisiä virheitä säilyttäen samalla suurelta osin saman rakenteen.

Aloitetaan itse salauksesta. Olettaen, että avaimen luominen on jo tapahtunut - ja puhumme siitä hetken kuluttua - niin jokainen tietopaketti salataan stream-salauksella käyttämällä jotain nimeltä "EEA" (joka käytännössä voidaan toteuttaa esimerkiksi AES:llä). Pohjimmiltaan salausmekanismi tässä on CTRkuten alla:

Viikon hyökkäys: äänipuhelut LTE:n kautta (ReVoLTE)
VoLTE-pakettien pääsalausalgoritmi (lähde: ReVoLTE). EEA on salaus, "COUNT" on 32-bittinen laskuri, "BEARER" on yksilöllinen istuntotunniste, joka erottaa VoLTE-yhteydet tavallisesta Internet-liikenteestä. "SUUNTA" osoittaa, mihin suuntaan liikenne virtaa - UE:sta torniin tai päinvastoin.

Koska itse salausalgoritmi (EEA) voidaan toteuttaa käyttämällä vahvaa salausta, kuten AES, on epätodennäköistä, että salaukseen kohdistuisi suoraa hyökkäystä näin. tapahtui GSM-aikoina. On kuitenkin selvää, että jopa vahvalla salauksella tämä salausjärjestelmä on loistava tapa ampua itseäsi jalkaan.

Erityisesti: LTE-standardi käyttää (todistamatonta) stream-salausta, jonka tila on erittäin haavoittuvainen, jos laskuri - ja muut syötteet, kuten "bearer" ja "direction" - käytetään uudelleen. Nykykielellä tämän käsitteen termi on "nonce reuse attack", mutta mahdolliset riskit eivät ole nykyaikaisia. Ne ovat kuuluisia ja ikivanhoja, ja ne juontavat juurensa glam metalin ja jopa diskon ajoilta.

Viikon hyökkäys: äänipuhelut LTE:n kautta (ReVoLTE)
Hyökkäyksiä ei-kertaiseen uudelleenkäyttöön CTR-tilassa oli olemassa myös silloin, kun Poison tuli tunnetuksi

Ollakseni oikeudenmukainen, LTE-standardit sanovat: "Älä käytä näitä mittareita uudelleen." Mutta LTE-standardit ovat noin 7000 XNUMX sivua pitkiä, ja joka tapauksessa se on kuin pyytäisi lapsia olemaan leikkimättä aseella. Ne väistämättä tekevät, ja kauheita asioita tapahtuu. Laukaisuase on tässä tapauksessa avainvirran uudelleenkäyttöhyökkäys, jossa kaksi erilaista luottamuksellista viestiä XOR samat avainvirran tavut. Tiedetään, että tämä sillä on erittäin tuhoisa vaikutus viestinnän luottamuksellisuuteen.

Mikä on ReVoLTE?

ReVoLTE-hyökkäys osoittaa, että käytännössä tätä erittäin haavoittuvaa salaussuunnittelua käytetään väärin tosimaailman laitteistoissa. Tarkemmin sanottuna kirjoittajat analysoivat kaupallisilla laitteilla tehtyjä todellisia VoLTE-puheluita ja osoittavat, että he voivat käyttää "avaimen uudelleenasennushyökkäystä". (Paljon kunniaa tämän ongelman löytämisestä Reise ja Lu (Raza & Lu), jotka ensimmäisenä huomauttivat mahdollisesta haavoittuvuudesta. Mutta ReVoLTE-tutkimus muuttaa sen käytännön hyökkäykseksi).

Haluan näyttää sinulle lyhyesti hyökkäyksen olemuksen, vaikka sinun pitäisi katsoa ja lähdedokumentti.

Voidaan olettaa, että kun LTE muodostaa pakettidatayhteyden, puheen LTE:n kautta tehtävästä tulee vain puhepakettien reitittäminen kyseisen yhteyden kautta muun liikenteen ohella. Toisin sanoen VoLTE on konsepti, joka on vain olemassa 2. taso [OSI-mallit - noin]. Tämä ei ole täysin totta.

Itse asiassa LTE-linkkikerros esittelee käsitteen "siirtotie". Kantajat ovat erillisiä istuntotunnisteita, jotka erottavat erityyppiset pakettiliikenteen. Säännöllinen Internet-liikenne (Twitter ja Snapchat) kulkee yhden siirtotien kautta. VoIP:n SIP-signalointi kulkee toisen kautta ja puheliikennepaketit käsitellään kolmannen kautta. En ole kovin perehtynyt LTE-radio- ja verkkoreititysmekanismeihin, mutta uskon, että se tehdään tällä tavalla, koska LTE-verkot haluavat pakottaa QoS-mekanismeja (palvelunlaatu) niin, että eri pakettivirrat käsitellään eri prioriteettitasoilla: ts. sinun toisen luokan TCP-yhteyksillä Facebookiin voi olla alhaisempi prioriteetti kuin reaaliaikaisilla äänipuheluillasi.

Tämä ei yleensä ole ongelma, mutta seuraukset ovat seuraavat. LTE-salauksen avaimet luodaan erikseen aina, kun uusi "siirtotie" asennetaan. Periaatteessa tämän pitäisi toistua aina, kun soitat uuden puhelun. Tämä johtaa siihen, että jokaisessa puhelussa käytetään eri salausavainta, mikä eliminoi mahdollisuuden käyttää samaa avainta uudelleen kahden eri äänipuhelupakettijoukon salaamiseen. Itse asiassa LTE-standardi sanoo jotain, kuten "sinun tulee käyttää eri avainta joka kerta, kun asennat uuden siirtotien käsittelemään uutta puhelua." Mutta tämä ei tarkoita, että näin todella tapahtuu.

Itse asiassa tosielämän toteutuksissa kaksi erilaista puhelua, jotka esiintyvät ajallisesti lähellä, käyttävät samaa avainta - huolimatta siitä, että niiden väliin on määritetty uusia samannimiä kantajia. Ainoa käytännön muutos, joka tapahtuu näiden puhelujen välillä, on se, että salauslaskuri nollataan. Kirjallisuudessa tätä joskus kutsutaan avaimen uudelleenasennushyökkäys. Voidaan väittää, että tämä on pohjimmiltaan toteutusvirhe, vaikka tässä tapauksessa riskit näyttävät johtuvan suurelta osin standardista itsestään.

Käytännössä tämä hyökkäys johtaa avainvirran uudelleenkäyttöön, jossa hyökkääjä voi hankkia salatut paketit $inline$C_1 = M_1 oplus KS$inline$ ja $inline$C_2 = M_2 oplus KS$inline$, jolloin $inline$ voidaan laskea. C_1 oplus C_2 = M_1 oplus M_2$inline$. Vielä parempi, jos hyökkääjä tuntee toisen seuraavista: $inline$M_1$inline$ tai $inline$M_2$inline$, hän voi välittömästi palauttaa toisen. Tämä antaa hänelle vahvan kannustimen selvitä toinen kahdesta salaamattomasta komponentista.

Tämä vie meidät täydelliseen ja tehokkaimpaan hyökkäysskenaarioon. Harkitse hyökkääjää, joka voi siepata radioliikennettä kohdepuhelimen ja matkapuhelintornin välillä ja jolla on jollain tapaa onni nauhoittaa kaksi eri puhelua, joista toinen tapahtuu heti ensimmäisen jälkeen. Kuvittele nyt, että hän voisi jotenkin arvata yhden puhelun salaamattoman sisällön. Sellaisella intuitiivinen näkemys hyökkääjämme voi täysin purkaa ensimmäisen puhelun salauksen käyttämällä yksinkertaista XOR:ta kahden pakettijoukon välillä.

Onnella ei tietenkään ole mitään tekemistä asian kanssa. Koska puhelimet on suunniteltu vastaanottamaan puheluita, hyökkääjä, joka kuulee ensimmäisen puhelun, voi aloittaa toisen puhelun täsmälleen sillä hetkellä, kun ensimmäinen puhelu päättyy. Tämä toinen puhelu, jos samaa salausavainta käytetään uudelleen laskurin nollautuessa, mahdollistaa salaamattomien tietojen palauttamisen. Lisäksi, koska hyökkääjämme itse asiassa hallitsee tietoja toisen puhelun aikana, hän voi palauttaa ensimmäisen puhelun sisällön - kiitos monien erityisesti toteutettujen pienet asiat, pelaa hänen puolellaan.

Tässä on kuva yleisestä hyökkäyssuunnitelmasta otettu alkuperäinen dokumentti:

Viikon hyökkäys: äänipuhelut LTE:n kautta (ReVoLTE)
Hyökkäyskatsaus osoitteesta ReVoLTE-asiakirja. Tämä menetelmä olettaa, että kaksi eri puhelua tehdään samalla näppäimellä. Hyökkääjä hallitsee passiivista haistajaa (ylhäällä vasemmalla) sekä toista puhelinta, jolla hän voi soittaa toisen puhelun uhrin puhelimeen.

Joten toimiiko hyökkäys todella?

Toisaalta tämä on todellakin ReVoLTE-artikkelin pääkysymys. Kaikki yllä olevat ideat ovat teoriassa loistavia, mutta jättävät paljon kysymyksiä. Kuten:

  1. Onko mahdollista (akateemisille tutkijoille) todella siepata VoLTE-yhteys?
  2. Avaavatko oikeat LTE-järjestelmät todella uudelleen?
  3. Voitko todella aloittaa toisen puhelun tarpeeksi nopeasti ja luotettavasti, jotta puhelin ja torni voivat käyttää avainta uudelleen?
  4. Vaikka järjestelmät avaisivat uudelleen, voitko todella tietää toisen puhelun salaamattoman sisällön - koska asiat, kuten koodekit ja transkoodaus, voivat täysin muuttaa (bitti bitiltä) toisen puhelun sisällön, vaikka sinulla olisi pääsy "bitteihin" " tuleeko hyökkäyspuhelimestasi?

ReVoLTE:n työ vastaa joihinkin näistä kysymyksistä myöntävästi. Kirjoittajat käyttävät kaupallista ohjelmistolla uudelleenkonfiguroitavaa radiovirran haistajaa Airscope siepataksesi VoLTE-puhelun alaslinkin puolelta. (Luulen, että pelkkä ohjelmistoon tutustuminen ja sen toiminnasta karkean käsityksen saaminen kesti kuukausia köyhien jatko-opiskelijoiden elämästä - mikä on tyypillistä tällaiselle akateemiselle tutkimukselle).

Tutkijat havaitsivat, että avainten uudelleenkäyttö toimisi, kun toisen puhelun oli tapahduttava riittävän nopeasti ensimmäisen päättymisen jälkeen, mutta ei liian nopeasti - noin kymmenen sekuntia käyttäjille, joiden kanssa he kokeilivat. Onneksi sillä ei ole väliä, vastaako käyttäjä puheluun tässä ajassa - "soitto" eli. SIP-yhteys itsessään pakottaa operaattorin käyttämään samaa avainta uudelleen.

Näin ollen monet surkeimmista ongelmista liittyvät ongelmaan (4) - hyökkääjän aloittaman puhelun salaamattoman sisällön vastaanottamiseen. Tämä johtuu siitä, että sisällöllesi voi tapahtua paljon, kun se kulkee hyökkääjän puhelimesta uhrin puhelimeen matkapuhelinverkon kautta. Esimerkiksi sellaiset likaiset temput kuin koodatun äänivirran uudelleenkoodaus, joka jättää äänen ennalleen, mutta muuttaa sen binääriesityksen kokonaan. LTE-verkot käyttävät myös RTP-otsikon pakkausta, mikä voi muuttaa merkittävästi suurta osaa RTP-paketista.

Lopuksi hyökkääjän lähettämien pakettien tulee olla suurin piirtein linjassa ensimmäisen puhelun aikana lähetettyjen pakettien kanssa. Tämä voi olla ongelmallista, koska hiljaisuuden muuttaminen puhelun aikana johtaa lyhyempiin viesteihin (eli mukavuusääniin), jotka eivät välttämättä sovi hyvin alkuperäiseen puheluun.

Osio "todellisen maailman hyökkäys" Kannattaa lukea tarkemmin. Se käsittelee monia yllä olevista ongelmista - erityisesti kirjoittajat havaitsivat, että joitain koodekkeja ei koodata uudelleen ja että noin 89 % kohdepuhelun binäärimuodosta voidaan palauttaa. Tämä koskee ainakin kahta testattua eurooppalaista operaattoria.

Tämä on yllättävän korkea onnistumisprosentti, ja suoraan sanottuna paljon suurempi kuin odotin aloittaessani tämän asiakirjan parissa.

Joten mitä voimme tehdä korjataksemme sen?

Välitön vastaus tähän kysymykseen on hyvin yksinkertainen: koska haavoittuvuuden ydin on avaimen uudelleenkäyttö (uudelleenasennus) -hyökkäys, yksinkertaisesti korjaa ongelma. Varmista, että jokaiselle puhelulle hankitaan uusi avain, äläkä koskaan anna pakettilaskurin nollata laskuria samalla näppäimellä. Ongelma ratkaistu!

Tai ehkä ei. Tämä vaatii monien laitteiden päivittämistä, ja suoraan sanottuna tällainen korjaus ei sinänsä ole erittäin luotettava. Olisi mukavaa, jos standardit löytäisivät turvallisemman tavan toteuttaa salaustilat, jotka eivät ole oletuksena katastrofaalisesti alttiita tällaisille avainten uudelleenkäyttöongelmille.

Yksi mahdollinen vaihtoehto on käyttää salaustilat, joissa noncen väärinkäyttö ei johda katastrofaalisiin seurauksiin. Tämä saattaa olla liian kallista joillekin nykyisille laitteille, mutta se on varmasti alue, jota suunnittelijoiden tulisi miettiä tulevaisuudessa, varsinkin kun 5G-standardit ovat valtaamassa maailmaa.

Tämä uusi tutkimus herättää myös yleisen kysymyksen miksi samat pirun hyökkäykset ilmaantuu jatkuvasti standardi toisensa jälkeen, joista monet käyttävät hyvin samankaltaisia ​​malleja ja protokollia. Kun kohtaat saman avaimen uudelleenasentamisen useiden laajalti käytettyjen protokollien, kuten WPA2:n, välillä, eikö sinun mielestäsi olisi aika tehdä määrittelyistäsi ja testausmenettelyistäsi vankempia? Älä kohtele standardien toteuttajia harkittuina kumppaneina, jotka ovat tarkkaavaisia ​​varoituksistasi. Kohtele heitä kuin (tahattomia) vastustajia, jotka väistämättä menevät pieleen.

Tai vaihtoehtoisesti voimme tehdä sen, mitä Facebookin ja Applen kaltaiset yritykset tekevät yhä useammin: saada äänipuheluiden salauksen tapahtumaan OSI-verkkopinon korkeammalla tasolla ilman, että turvaudumme matkapuhelinvalmistajiin. Voisimme jopa vaatia puheluiden päästä päähän -salausta, kuten WhatsApp tekee Signalin ja FaceTimen kanssa, olettaen, että Yhdysvaltain hallitus vain pysähtyy kiusaa meidät. Sitten (joitakin metatietoja lukuun ottamatta) monet näistä ongelmista yksinkertaisesti katosivat. Tämä ratkaisu on erityisen tärkeä maailmassa, jossa edes hallitukset eivät ole varmoja, luottavatko ne laitetoimittajiinsa.

Tai voimme yksinkertaisesti tehdä sen, mitä lapsemme ovat jo tehneet: lopettaa vastaamisen niihin ärsyttäviin äänipuheluihin.

Lähde: will.com

Lisää kommentti