Nädala rünnak: häälkõned üle LTE (ReVoLTE)

Tõlkijalt ja TL-lt;DR

  1. TL; DR:

    Tundub, et VoLTE osutus veelgi halvemini kaitstuks kui esimesed WEP-iga Wi-Fi kliendid. Eraldi arhitektuuriline valearvestus, mis võimaldab teil liiklust veidi XOR-ida ja võtit taastada. Rünnak on võimalik, kui olete helistaja lähedal ja ta helistab sageli.

  2. Täname vihje eest ja TL;DR Klukonin

  3. Teadlased on loonud rakenduse, et teha kindlaks, kas teie operaator on haavatav, lugege lisateavet siin. Jagage tulemusi kommentaarides, VoLTE on minu piirkonnas Megafonis keelatud.

Teave Autor

Matthew Green.

Olen krüptograaf ja Johns Hopkinsi ülikooli professor. Olen kavandanud ja analüüsinud juhtmevabades võrkudes, maksesüsteemides ja digitaalse sisu turvaplatvormides kasutatavaid krüptosüsteeme. Oma uurimistöös vaatlen erinevaid võimalusi krüptograafia kasutamiseks kasutajate privaatsuse parandamiseks.

Postituse vormingu kirjutamisest on juba tükk aega möödas "nädala rünnak", ja see häiris mind. Mitte sellepärast, et rünnakuid poleks olnud, vaid peamiselt seetõttu, et ei rünnatud midagi, mida on piisavalt laialdaselt kasutatud, et mind kirjanike blokist välja viia.

Aga täna sattusin huvitav rünnak kutsus ReVoLTE protokollide jaoks, mille häkkimisest olen eriti põnevil, nimelt mobiilsidevõrgu (voice over) LTE protokollide jaoks. Olen nende konkreetsete protokollide – ja selle uue rünnaku – üle põnevil, sest on väga harva näha, et tegelikke mobiilsidevõrgu protokolle ja rakendusi häkitakse. Peamiselt seetõttu, et need standardid töötati välja suitsu täis ruumides ja dokumenteeriti 12000 XNUMX-leheküljelistes dokumentides, millega iga teadlane hakkama ei saa. Pealegi sunnib nende rünnakute rakendamine teadlasi kasutama keerulisi raadioprotokolle.

Seega võivad tõsised krüptograafilised haavatavused levida kogu maailmas, võib-olla ainult selleks, et valitsused saaksid neid ära kasutada, enne kui ükski teadlane märkab. Kuid aeg-ajalt tuleb ette erandeid ja tänane rünnak on üks neist.

Autorid rünnakudKaastöötajad: David Rupprecht, Katharina Kohls, Thorsten Holz ja Christina Pöpper Bochumi Ruhri ülikoolist ja Abu Dhabi New Yorgi ülikoolist. See on suurepärane rünnak selle häälprotokolli võtme uuesti installimiseks, mida te tõenäoliselt juba kasutate (eeldusel, et olete vanemast põlvkonnast, kes helistab endiselt mobiiltelefoniga).

Alustuseks põgus ajalooline ekskursioon.

Mis on LTE ja VoLTE?

Meie kaasaegsete mobiilsidestandardite alus pandi Euroopas 80. aastatel selle standardiga paika Globaalne mobiilsidesüsteem (Global System for Mobile Communications). GSM oli esimene suurem digitaalse mobiilside standard, mis tutvustas mitmeid revolutsioonilisi funktsioone, nagu näiteks krüpteerimine telefonikõnede kaitsmiseks. Varajane GSM oli mõeldud peamiselt kõnesideks, kuigi raha võiks olla edastada muid andmeid.

Kuna andmeedastus muutus mobiilsides olulisemaks, töötati seda tüüpi side sujuvamaks muutmiseks välja Long Term Evolution (LTE) standardid. LTE põhineb vanematel standarditel, nagu GSM, EDGE и HSPA ja on mõeldud andmevahetuse kiiruse suurendamiseks. Palju on brändingut ja eksitav valede nimetustegakuid TL;DR on see, et LTE on andmeedastussüsteem, mis toimib sillana vanemate pakettandmesideprotokollide ja tulevaste mobiilsidetehnoloogiate vahel 5G.

Muidugi ütleb ajalugu meile, et kui piisavalt (IP) ribalaiust on saadaval, hakkavad sellised mõisted nagu "hääl" ja "andmed" hägustuma. Sama kehtib tänapäevaste mobiilsideprotokollide kohta. Selle ülemineku sujuvamaks muutmiseks määratlevad LTE standardid Voice-over-LTE (VoLTE), mis on IP-standard häälkõnede edastamiseks otse üle LTE-süsteemi andmetasandi, jättes täielikult mööda mobiilsidevõrgu sissehelistamisosast. Nagu standardse puhul VoIP-kõnedMobiilsideoperaator saab VoLTE-kõnesid lõpetada ja ühendada tavalise telefonivõrguga. Või (nagu üha tavalisemaks muutub) nad saab suunata otse ühelt mobiilsidekliendilt teisele ja isegi erinevate pakkujate vahel.

Nagu tavaline VoIP, põhineb ka VoLTE kahel populaarsel IP-põhisel protokollil: Seansi algatamise protokoll ( Session Initiation ProtocolSeansi algatamise protokoll – SIP) kõne seadistamiseks ja reaalajas transpordiprotokolli jaoks (Reaalajas transpordiprotokoll, mida tuleks nimetada RTTP-ks, kuid mida tegelikult nimetatakse RTP-ks) kõneandmete töötlemiseks. VoLTE lisab ka mõned täiendavad ribalaiuse optimeerimised, näiteks päise tihendamine.

Olgu, mis sellel krüpteerimisega pistmist on?

LTE nagu GSM, omab standardset krüptoprotokollide komplekti pakettide krüptimiseks nende õhu kaudu edastamisel. Need on mõeldud peamiselt teie andmete kaitsmiseks, kui need liiguvad telefoni (nimetatakse kasutajaseadmeks ehk UE) ja mobiilimasti vahel (või kõikjal, kus teie teenusepakkuja otsustab ühenduse katkestada). Seda seetõttu, et mobiilsideteenuse pakkujad peavad väliseid pealtkuulamisseadmeid vaenlasteks. No muidugi.

(Asjaolu, et VoLTE-ühendused võivad tekkida otse erinevate pakkujate võrkudes olevate klientide vahel, tähendab aga seda, et VoLTE-protokollil endal on mõned täiendavad ja valikulised krüpteerimisprotokollid, mis võivad esineda kõrgematel võrgukihtidel. See ei ole käesoleva artikli puhul asjakohane, välja arvatud asjaolu, et nad võivad kõik ära rikkuda (nendest räägime lühidalt järgmisena).

Ajalooliselt on GSM-i krüpteerimine olnud palju nõrku kohti: halb šifrid, protokollid, milles tornis autentiti ainult telefon (see tähendab, et ründaja võis esineda tornina, tekitades "Rai") ja nii edasi. LTE parandas paljud ilmsed vead, säilitades samal ajal suures osas sama struktuuri.

Alustame krüpteerimisest endast. Eeldades, et võtme loomine on juba toimunud – ja me räägime sellest minuti pärast –, siis krüpteeritakse iga andmepakett vookrüptimise abil, kasutades midagi nimega "EEA" (mida praktikas saab rakendada näiteks AES-i abil). Sisuliselt on krüpteerimismehhanism siin CTRnagu allpool:

Nädala rünnak: häälkõned üle LTE (ReVoLTE)
VoLTE pakettide peamine krüpteerimisalgoritm (allikas: ReVoLTE). EEA on šifr, "COUNT" on 32-bitine loendur, "BEARER" on unikaalne seansi identifikaator, mis eraldab VoLTE-ühendused tavalisest Interneti-liiklusest. "SUUNK" näitab, millises suunas liiklus liigub – UE-st torni või vastupidi.

Kuna krüpteerimisalgoritmi ennast (EEA) saab rakendada tugeva šifri (nt AES) abil, on ebatõenäoline, et krüpti enda vastu toimub selline otsene rünnak. juhtus GSM-i päevil. Siiski on selge, et isegi tugeva šifri korral on see krüpteerimisskeem suurepärane võimalus endale jalga tulistada.

Täpsemalt: LTE-standard kasutab (autentimata) voošifrit režiimiga, mis on äärmiselt haavatav, kui loendurit ja muid sisendeid, nagu "kandja" ja "suund", kunagi uuesti kasutatakse. Tänapäevases kõnepruugis on selle kontseptsiooni mõiste "mittekordne korduvkasutusrünnak", kuid võimalikud riskid pole siin midagi kaasaegset. Need on kuulsad ja iidsed, ulatudes tagasi glam-metalli ja isegi disko aegadest.

Nädala rünnak: häälkõned üle LTE (ReVoLTE)
Rünnakud ühekordse korduskasutamise vastu CTR-režiimis eksisteerisid isegi siis, kui Poison sai teatavaks

Ausalt öeldes ütlevad LTE standardid: "Ärge kasutage neid arvestiid uuesti." Kuid LTE standardid on umbes 7000 lehekülge pikad ja igal juhul on see nagu palumine lastel, et nad ei mängiks relvaga. Nad seda paratamatult teevad ja juhtuvad kohutavad asjad. Tulistamispüstol on sel juhul võtmevoo taaskasutamise rünnak, mille käigus kaks erinevat konfidentsiaalset sõnumit XOR samad võtmevoo baidid. On teada, et see avaldab suhtluse konfidentsiaalsusele väga hävitavat mõju.

Mis on ReVoLTE?

ReVoLTE rünnak näitab, et praktikas kasutab seda väga haavatavat krüpteerimiskujundust reaalne riistvara. Täpsemalt analüüsivad autorid kommertsseadmetega tehtud tegelikke VoLTE-kõnesid ja näitavad, et nad saavad kasutada midagi, mida nimetatakse "võtme uuesti installimise rünnakuks". (Suur au selle probleemi leidmise eest kuulub Reise ja Lu (Raza & Lu), kes juhtisid esimesena tähelepanu võimalikule haavatavusele. Kuid ReVoLTE uuringud muudavad selle praktiliseks rünnakuks).

Lubage mul näidata teile lühidalt rünnaku olemust, kuigi peaksite vaatama ja algdokument.

Võib eeldada, et kui LTE loob pakettandmesideühenduse, muutub LTE kaudu kõne ülesandeks lihtsalt kõnepakettide marsruutimine selle ühenduse kaudu koos kogu ülejäänud liiklusega. Teisisõnu, VoLTE on kontseptsioon, mis eksisteerib ainult üle 2. tase [OSI mudelid – u.]. See pole täiesti tõsi.

Tegelikult tutvustab LTE lingikiht mõistet "kandja". Kandjad on eraldi seansi identifikaatorid, mis eraldavad erinevat tüüpi pakettliiklust. Regulaarne Interneti-liiklus (teie Twitter ja Snapchat) läbib ühe kandja. VoIP-i SIP-signalisatsioon läbib teise ja kõneliikluse pakette töödeldakse läbi kolmanda. Ma ei ole LTE-raadio- ja võrgumarsruutimise mehhanismidega eriti kursis, kuid usun, et seda tehakse nii, sest LTE-võrgud tahavad jõustada QoS-i (teenusekvaliteedi) mehhanisme, et erinevaid paketivoogusid töödeldaks erinevatel prioriteetsuse tasemetel: st. sinu oma teisejärguline TCP-ühendustel Facebookiga võib olla madalam prioriteet kui teie reaalajas häälkõnedel.

Üldiselt pole see probleem, kuid tagajärjed on järgmised. LTE-krüptimise võtmed luuakse eraldi iga kord, kui installitakse uus kandja. Põhimõtteliselt peaks see korduma iga kord, kui teete uue telefonikõne. Selle tulemusel kasutatakse iga kõne jaoks erinevat krüpteerimisvõtit, mis välistab võimaluse sama võtit uuesti kasutada kahe erineva häälkõnepaketi komplekti krüptimiseks. Tõepoolest, LTE-standard ütleb midagi sellist, nagu "peaksite iga kord, kui installite uue kandja uue telefonikõne käsitlemiseks, kasutama erinevat võtit." Kuid see ei tähenda, et see tegelikult juhtub.

Tegelikult kasutavad reaalsetes rakendustes kaks erinevat ajaliselt vahetus läheduses toimuvat kõnet sama võtit – hoolimata asjaolust, et nende vahel on konfigureeritud uued samanimelised kandjad. Ainus praktiline muudatus, mis nende kõnede vahel toimub, on see, et krüpteerimisloendur lähtestatakse nullile. Kirjanduses nimetatakse seda mõnikord võtme uuesti installimise rünnak. Võib väita, et see on sisuliselt rakendusviga, kuigi antud juhul näivad riskid tulenevat suuresti standardist endast.

Praktikas põhjustab see rünnak võtmevoo taaskasutamist, kus ründaja saab hankida krüptitud paketid $inline$C_1 = M_1 oplus KS$inline$ ja $inline$C_2 = M_2 oplus KS$inline$, mis võimaldab arvutada $inline$ C_1 oplus C_2 = M_1 oplus M_2$inline$. Veelgi parem, kui ründaja teab ühte järgmistest $inline$M_1$inline$ või $inline$M_2$inline$, siis saab ta teise kohe taastada. See annab talle tugeva stiimuli leidke üks kahest krüptimata komponendist.

See viib meid täieliku ja tõhusaima rünnakustsenaariumini. Mõelge ründajale, kes suudab pealt kuulata raadioliiklust sihttelefoni ja mobiilimasti vahel ning kellel õnnestub salvestada kaks erinevat kõnet, kusjuures teine ​​kõne toimub kohe pärast esimest. Kujutage nüüd ette, et ta võiks kuidagi ära arvata ühe kõne krüpteerimata sisu. Sellisega serendipity meie ründaja saab esimese kõne täielikult dekrüpteerida, kasutades kahe paketikomplekti vahel lihtsat XOR-i.

Muidugi pole õnnel sellega mingit pistmist. Kuna telefonid on loodud kõnede vastuvõtmiseks, saab ründaja, kes kuuleb esimest kõnet pealt, algatada teise kõne täpselt samal hetkel, kui esimene kõne lõpeb. See teine ​​kõne, kui sama krüpteerimisvõtit kasutatakse uuesti ja loendur nullitakse, võimaldab krüptimata andmed taastada. Pealegi, kuna meie ründaja kontrollib tegelikult andmeid teise kõne ajal, saab ta taastada esimese kõne sisu – tänu paljudele spetsiaalselt rakendatud väiksed asjad, mängib tema poolel.

Siin on pilt üldisest rünnakuplaanist, mis on võetud originaaldokument:

Nädala rünnak: häälkõned üle LTE (ReVoLTE)
Rünnaku ülevaade ReVoLTE dokument. See skeem eeldab, et sama klahvi abil tehakse kaks erinevat kõnet. Ründaja juhib passiivset nuuskijat (üleval vasakul), samuti teist telefoni, millega saab ohvri telefonile teise kõne teha.

Nii et kas rünnak tõesti toimib?

Ühest küljest on see tõesti ReVoLTE-teemalise artikli peamine küsimus. Kõik ülaltoodud ideed on teoreetiliselt suurepärased, kuid jätavad palju küsimusi. Nagu näiteks:

  1. Kas (akadeemilistel teadlastel) on võimalik VoLTE-ühendust tegelikult pealt kuulata?
  2. Kas tõelised LTE-süsteemid ka tegelikult uuesti klahvitavad?
  3. Kas saate tegelikult algatada teise kõne piisavalt kiiresti ja usaldusväärselt, et telefon ja torn saaksid võtit uuesti kasutada?
  4. Isegi kui süsteemid uuesti võtmeda, kas saate tegelikult teada teise kõne krüpteerimata sisu – arvestades, et sellised asjad nagu koodekid ja ümberkodeerimine võivad selle teise kõne (bitihaaval) sisu täielikult muuta, isegi kui teil on juurdepääs "bittidele" "tuleb teie ründetelefonist?

ReVoLTE töö vastab mõnele neist küsimustest jaatavalt. Autorid kasutavad kaubanduslikku tarkvaraga ümberkonfigureeritavat raadiovoo nuusutajat, mida nimetatakse Õhusilm VoLTE kõne pealtkuulamiseks allalingi poolelt. (Ma arvan, et ainuüksi tarkvaraga hakkama saamine ja selle toimimisest ligikaudse ettekujutuse saamine võttis vaeste kraadiõppurite elust kuude kaupa maha – mis on seda tüüpi akadeemilise uurimistöö jaoks tüüpiline).

Teadlased leidsid, et võtme taaskasutamiseks pidi teine ​​kõne toimuma piisavalt kiiresti pärast esimese lõppu, kuid mitte liiga kiiresti – operaatorite jaoks, kellega nad katsetasid, umbes kümme sekundit. Õnneks pole vahet, kas kasutaja selle aja jooksul kõnele vastab – "helina" st. SIP-ühendus ise sunnib operaatorit sama võtit uuesti kasutama.

Seega keerlevad paljud kõige jaburamad probleemid probleemi (4) ümber – ründaja algatatud kõne krüptimata sisu bittide vastuvõtmine. Selle põhjuseks on asjaolu, et teie sisuga võib palju juhtuda, kui see liigub mobiilsidevõrgu kaudu ründaja telefonist ohvri telefoni. Näiteks sellised räpased nipid nagu kodeeritud helivoo ümberkodeerimine, mis jätab heli samaks, kuid muudab täielikult selle binaarset esitust. LTE-võrgud kasutavad ka RTP-päise tihendamist, mis võib oluliselt muuta suurt osa RTP-paketist.

Lõpuks peaksid ründaja saadetud paketid olema ligikaudu kooskõlas esimese telefonikõne ajal saadetud pakettidega. See võib olla problemaatiline, kuna vaikuse muutmine telefonikõne ajal põhjustab lühemaid sõnumeid (ehk mugavusmüra), mis ei pruugi algse kõnega hästi sobida.

Jaotis "pärismaailma rünnak" Tasub üksikasjalikult lugeda. See käsitleb paljusid ülaltoodud probleeme – eelkõige leidsid autorid, et mõned koodekid ei ole uuesti kodeeritud ja et ligikaudu 89% sihtkõne binaarsest esitusest saab taastada. See kehtib vähemalt kahe testitud Euroopa operaatori kohta.

See on üllatavalt kõrge edukuse määr ja ausalt öeldes palju suurem, kui ma selle dokumendi kallal tööd alustades ootasin.

Mida me saame selle parandamiseks teha?

Vahetu vastus sellele küsimusele on väga lihtne: kuna haavatavuse olemus on võtme taaskasutamise (taasinstallimise) rünnak, siis lihtsalt parandage probleem. Veenduge, et iga telefonikõne jaoks hangitakse uus võti ja ärge kunagi lubage paketiloenduril loendurit sama klahvi kasutades nulli viia. Probleem lahendatud!

Või äkki mitte. See nõuab paljude seadmete uuendamist ja ausalt öeldes pole selline parandus iseenesest eriti usaldusväärne. Oleks tore, kui standardid leiaksid oma krüpteerimisrežiimide rakendamiseks turvalisema viisi, mis ei oleks vaikimisi selliste võtmete taaskasutamise probleemide suhtes katastroofiliselt haavatav.

Üks võimalik variant on kasutada krüpteerimisrežiimid, mille puhul nonce'i väärkasutamine ei too kaasa katastroofilisi tagajärgi. See võib mõne praeguse riistvara jaoks olla liiga kallis, kuid kindlasti peaksid selle valdkonna disainerid tulevikus mõtlema, eriti kuna 5G standardid hakkavad maailma üle võtma.

See uus uuring tõstatab ka üldise küsimuse, miks ühed ja samad neetud rünnakud ilmuvad järjest ühes standardis teise järel, millest paljud kasutavad väga sarnaseid kujundusi ja protokolle. Kui seisate silmitsi sama võtme uuesti installimise probleemiga mitme laialdaselt kasutatava protokolli (nt WPA2) vahel, kas te ei arva, et oleks aeg muuta oma spetsifikatsioonid ja testimisprotseduurid tugevamaks? Ärge kohelge standardite rakendajaid läbimõeldud partneritena, kes on teie hoiatustele tähelepanelikud. Kohtle neid nagu (tahtmatuid) vastaseid, kes paratamatult lähevad asjad valesti.

Teise võimalusena saame teha seda, mida ettevõtted, nagu Facebook ja Apple, üha enam teevad: panna häälkõnede krüpteerimine toimuma OSI võrgupinu kõrgemal tasemel, lootmata mobiilsideseadmete tootjatele. Võiksime isegi nõuda häälkõnede täielikku krüptimist, nagu WhatsApp teeb Signali ja FaceTime'iga, eeldades, et USA valitsus lihtsalt lõpetab tee meid üles. Siis (välja arvatud mõned metaandmed) paljud neist probleemidest lihtsalt kaoksid. See lahendus on eriti asjakohane maailmas, kus isegi valitsused pole kindlad, kas nad usaldavad oma seadmete tarnijaid.

Või võime lihtsalt teha seda, mida meie lapsed on juba teinud: lõpetada nendele tüütutele kõnedele vastamine.

Allikas: www.habr.com

Lisa kommentaar