Sulmi i javës: thirrje zanore përmes LTE (ReVoLTE)

Nga përkthyesi dhe TL;DR

  1. TL; DR:

    Duket se VoLTE doli të ishte edhe më keq i mbrojtur se klientët e parë Wi-Fi me WEP. Një llogaritje e gabuar ekskluzivisht arkitekturore që ju lejon të XORoni pak trafikun dhe të rivendosni çelësin. Një sulm është i mundur nëse jeni afër telefonuesit dhe ai bën telefonata shpesh.

  2. Faleminderit për këshillën dhe TL;DR Klukonin

  3. Studiuesit kanë krijuar një aplikacion për të përcaktuar nëse operatori juaj celular është i cenueshëm, lexoni më shumë këtu. Ndani rezultatet në komente, VoLTE është i çaktivizuar në rajonin tim në Megafon.

Rreth Autorit

Matthew Green.

Unë jam një kriptograf dhe profesor në Universitetin Johns Hopkins. Unë kam projektuar dhe analizuar sisteme kriptografike të përdorura në rrjetet me valë, sistemet e pagesave dhe platformat e sigurisë së përmbajtjes dixhitale. Në kërkimin tim, unë shikoj mënyra të ndryshme për të përdorur kriptografinë për të përmirësuar privatësinë e përdoruesit.

Ka kohë që kam shkruar një format postimi "sulmi i javës", dhe më mërziti. Jo sepse nuk pati sulme, por më së shumti sepse nuk pati një sulm ndaj diçkaje mjaft të përdorur gjerësisht për të më nxjerrë nga blloku i shkrimtarit.

Por sot e kam hasur sulm interesant i quajtur ReVoLTE për protokollet që unë jam veçanërisht i ngazëllyer për hakerimin, përkatësisht protokollet e rrjetit celular (voice over) LTE. Unë jam i emocionuar për këto protokolle të veçanta - dhe këtë sulm të ri - sepse është shumë e rrallë të shohësh protokollet dhe implementimet aktuale të rrjetit celular të hakuar. Kryesisht sepse këto standarde u zhvilluan në dhoma të mbushura me tym dhe u dokumentuan në dokumente 12000 faqesh që jo çdo studiues mund t'i trajtojë. Për më tepër, zbatimi i këtyre sulmeve i detyron studiuesit të përdorin protokolle komplekse radio.

Kështu, dobësitë serioze kriptografike mund të përhapen në të gjithë botën, ndoshta vetëm për t'u shfrytëzuar nga qeveritë, përpara se ndonjë studiues ta marrë parasysh. Por herë pas here ka përjashtime dhe sulmi i sotëm është një prej tyre.

Autorët sulmetKontribues: David Rupprecht, Katharina Kohls, Thorsten Holz dhe Christina Pöpper nga Ruhr-University Bochum dhe New York University Abu Dhabi. Ky është një sulm i mrekullueshëm për të riinstaluar çelësin në protokollin zanor që ndoshta po përdorni tashmë (duke supozuar se jeni nga një brez i vjetër që ende kryen telefonata duke përdorur një celular).

Si fillim, një ekskursion i shkurtër historik.

Çfarë janë LTE dhe VoLTE?

Baza e standardeve tona moderne të telefonisë celulare u vendos në Evropë në vitet '80 nga standardi Sistemi global për celular (Sistemi Global për Komunikimet Mobile). GSM ishte standardi i parë i madh i telefonisë celulare dixhitale, i cili prezantoi një sërë veçorish revolucionare, si p.sh. enkriptimi për të mbrojtur telefonatat. GSM e hershme ishte projektuar kryesisht për komunikimet zanore, megjithëse paratë mund të ishin transmetojnë të dhëna të tjera.

Ndërsa transmetimi i të dhënave u bë më i rëndësishëm në komunikimet celulare, standardet Long Term Evolution (LTE) u zhvilluan për të përmirësuar këtë lloj komunikimi. LTE bazohet në një grup standardesh më të vjetra si GSM, EDGE и HSPA dhe është projektuar për të rritur shpejtësinë e shkëmbimit të të dhënave. Ka shumë marka dhe mashtruese me emërtime të pasaktapor TL;DR është se LTE është një sistem i transmetimit të të dhënave që shërben si urë ndërmjet protokolleve më të vjetra të të dhënave të paketave dhe teknologjive të ardhshme celulare të të dhënave 5G.

Natyrisht, historia na tregon se sapo të ketë gjerësi të mjaftueshme të brezit (IP), konceptet si "zë" dhe "të dhëna" do të fillojnë të turbullohen. E njëjta gjë vlen edhe për protokollet moderne celulare. Për ta bërë këtë tranzicion më të butë, përcaktojnë standardet LTE Voice-over-LTE (VoLTE), i cili është një standard IP për kryerjen e thirrjeve zanore drejtpërdrejt mbi rrafshin e të dhënave të një sistemi LTE, duke anashkaluar tërësisht pjesën dial-up të rrjetit celular. Si me standardin Thirrjet VoIP,Thirrjet VoLTE mund të ndërpriten nga operatori celular dhe të lidhen me rrjetin e rregullt telefonik. Ose (siç po bëhet gjithnjë e më e zakonshme) ata mund të drejtohen direkt nga një klient celular në tjetrin, madje edhe ndërmjet ofruesve të ndryshëm.

Ashtu si VoIP standard, VoLTE bazohet në dy protokolle të njohura të bazuara në IP: Protokolli i Inicimit të Sesionit (Protokolli i Fillimit të Sesionit – SIP) për konfigurimin e thirrjeve dhe protokollin e transportit në kohë reale (Protokolli i Transportit në kohë reale, i cili duhet të quhet RTTP por në fakt quhet RTP) për përpunimin e të dhënave zanore. VoLTE gjithashtu shton disa optimizime shtesë të gjerësisë së brezit, siç është kompresimi i kokës.

Mirë, çfarë lidhje ka kjo me enkriptimin?

LTE, si GSM, ka një grup standard të protokolleve kriptografike për enkriptimin e paketave ndërsa ato transmetohen përmes ajrit. Ato janë krijuar kryesisht për të mbrojtur të dhënat tuaja ndërsa udhëtojnë midis telefonit (të quajtur pajisjet e përdoruesit, ose UE) dhe kullës celulare (ose kudo ku ofruesi juaj vendos të ndërpresë lidhjen). Kjo për shkak se ofruesit celularë i shohin pajisjet e jashtme të përgjimit si armiq. Mirë sigurisht.

(Megjithatë, fakti që lidhjet VoLTE mund të ndodhin drejtpërdrejt ndërmjet klientëve në rrjete të ndryshme ofruesish do të thotë se vetë protokolli VoLTE ka disa protokolle shtesë dhe opsionale të enkriptimit që mund të ndodhin në shtresat më të larta të rrjetit. Kjo nuk është e rëndësishme për artikullin aktual, përveç faktit që ata mund të shkatërrojnë gjithçka (ne do të flasim për to shkurtimisht në vijim).

Historikisht, enkriptimi në GSM ka qenë shumë pika të dobëta: keq shifrat, protokollet në të cilat vetëm telefoni ishte vërtetuar në kullë (që do të thotë se një sulmues mund të imitonte kullën, duke gjeneruar "Stingray") dhe kështu me radhë. LTE korrigjoi shumë nga gabimet e dukshme duke ruajtur shumë të njëjtën strukturë.

Le të fillojmë me vetë enkriptimin. Duke supozuar se krijimi i çelësit ka ndodhur tashmë - dhe ne do të flasim për këtë në një minutë - atëherë çdo paketë e të dhënave kodohet duke përdorur enkriptimin e transmetimit duke përdorur diçka të quajtur "EEA" (e cila në praktikë mund të zbatohet duke përdorur gjëra të tilla si AES). Në thelb, mekanizmi i kriptimit këtu është CTRsi më poshtë:

Sulmi i javës: thirrje zanore përmes LTE (ReVoLTE)
Algoritmi kryesor i kriptimit për paketat VoLTE (burimi: ReVoLTE). EEA është një shifër, "COUNT" është një numërues 32-bitësh, "BEARER" është një identifikues unik i sesionit që ndan lidhjet VoLTE nga trafiku i rregullt i Internetit. "DIRECTION" tregon se në cilin drejtim rrjedh trafiku - nga UE në kullë ose anasjelltas.

Meqenëse vetë algoritmi i kriptimit (EEA) mund të zbatohet duke përdorur një shifër të fortë si AES, nuk ka gjasa që të ketë ndonjë sulm të drejtpërdrejtë në vetë shifrën si ky. ndodhi në ditët e GSM. Sidoqoftë, është e qartë se edhe me një shifër të fortë, kjo skemë kriptimi është një mënyrë e shkëlqyer për të qëlluar veten në këmbë.

Në veçanti: standardi LTE përdor një shifër transmetimi (të paautentikuar) me një modalitet që do të jetë jashtëzakonisht i cenueshëm nëse numëruesi - dhe inputet e tjera si "bartësi" dhe "drejtimi" - ripërdoren ndonjëherë. Në gjuhën moderne, termi për këtë koncept është "sulm pa ripërdorim", por rreziqet e mundshme këtu nuk janë diçka moderne. Ata janë të famshëm dhe të lashtë, që datojnë që nga ditët e metalit glam dhe madje edhe të disko.

Sulmi i javës: thirrje zanore përmes LTE (ReVoLTE)
Sulmet ndaj ripërdorimit të pandërprerë në modalitetin CTR ekzistonin edhe kur Poison u bë i njohur

Për të qenë të drejtë, standardet LTE thonë: "Ju lutemi mos i ripërdorni këta matës". Por standardet e LTE-së janë rreth 7000 faqe dhe në çdo rast, është si t'i lutesh fëmijëve të mos luajnë me armë. Ata në mënyrë të pashmangshme do të ndodhin dhe gjëra të tmerrshme do të ndodhin. Arma e shkrepjes në këtë rast është një sulm i ripërdorimit të rrymës së çelësit, në të cilin dy mesazhe të ndryshme konfidenciale dërgojnë XOR të njëjtat bajtë të rrjedhës së çelësit. Dihet se kjo ka një efekt shumë shkatërrues në konfidencialitetin e komunikimeve.

Çfarë është ReVoLTE?

Sulmi ReVoLTE tregon se, në praktikë, ky dizajn shumë i cenueshëm i enkriptimit keqpërdoret nga hardueri i botës reale. Në mënyrë të veçantë, autorët analizojnë thirrjet reale të VoLTE të bëra duke përdorur pajisje komerciale dhe tregojnë se ata mund të përdorin diçka që quhet "sulm i riinstalimit të çelësit". (Shumë meritë për gjetjen e këtij problemi shkon për Reise dhe Lu (Raza & Lu), të cilët ishin të parët që vunë në dukje cenueshmërinë e mundshme. Por hulumtimi i ReVoLTE e kthen atë në një sulm praktik).

Më lejoni t'ju tregoj shkurt thelbin e sulmit, megjithëse duhet të shikoni dhe dokument burimor.

Dikush mund të supozojë se sapo LTE krijon një lidhje të të dhënave të paketës, detyra e zërit mbi LTE bëhet vetëm një çështje e rrugëtimit të paketave zanore mbi atë lidhje së bashku me të gjithë pjesën tjetër të trafikut tuaj. Me fjalë të tjera, VoLTE do të jetë një koncept që ekziston vetëm gjatë niveli i 2-të [Modelet OSI - përafërsisht.]. Kjo nuk është plotësisht e vërtetë.

Në fakt, shtresa e lidhjes LTE prezanton konceptin e "bartësit". Bartësit janë identifikues të veçantë të sesioneve që ndajnë lloje të ndryshme të trafikut të paketave. Trafiku i rregullt i internetit (Twitter dhe Snapchat juaj) kalon përmes një bartësi. Sinjalizimi SIP për VoIP kalon përmes një tjetër dhe paketat e trafikut zanor përpunohen përmes një të treti. Unë nuk jam shumë i ditur për mekanizmat e rrugëtimit të radios dhe rrjetit LTE, por besoj se është bërë në këtë mënyrë sepse rrjetet LTE duan të zbatojnë mekanizmat QoS (cilësia e shërbimit) në mënyrë që rrymat e ndryshme të paketave të përpunohen në nivele të ndryshme prioritare: d.m.th. tuajat të shkallës së dytë Lidhjet TCP me Facebook mund të kenë një përparësi më të ulët se telefonatat tuaja zanore në kohë reale.

Ky në përgjithësi nuk është problem, por pasojat janë si më poshtë. Çelësat për enkriptimin LTE krijohen veçmas sa herë që instalohet një "bartës" i ri. Në thelb, kjo duhet të ndodhë përsëri sa herë që bëni një telefonatë të re. Kjo do të rezultojë në përdorimin e një çelësi të ndryshëm enkriptimi për çdo telefonatë, duke eliminuar mundësinë e ripërdorimit të të njëjtit çelës për të enkriptuar dy grupe të ndryshme të paketave të thirrjeve zanore. Në të vërtetë, standardi LTE thotë diçka si "ju duhet të përdorni një çelës të ndryshëm sa herë që instaloni një bartës të ri për të trajtuar një telefonatë të re". Por kjo nuk do të thotë se kjo ndodh në të vërtetë.

Në fakt, në implementimet e jetës reale, dy thirrje të ndryshme që ndodhin në afërsi kohore do të përdorin të njëjtin çelës - pavarësisht nga fakti se bartës të rinj me të njëjtin emër janë konfiguruar ndërmjet tyre. I vetmi ndryshim praktik që ndodh midis këtyre thirrjeve është se numëruesi i enkriptimit është rivendosur në zero. Në literaturë kjo nganjëherë quhet sulmi i riinstalimit të çelësit. Dikush mund të argumentojë se ky është në thelb një gabim zbatimi, megjithëse në këtë rast rreziqet duket se rrjedhin kryesisht nga vetë standardi.

Në praktikë, ky sulm rezulton në ripërdorimin e rrjedhës së çelësit, ku sulmuesi mund të marrë paketat e koduara $inline$C_1 = M_1 oplus KS$inline$ dhe $inline$C_2 = M_2 oplus KS$inline$, duke lejuar llogaritjen e $inline$ C_1 oplus C_2 = M_1 oplus M_2$inline$. Akoma më mirë, nëse sulmuesi njeh një nga $inline$M_1$inline$ ose $inline$M_2$inline$, atëherë ai mund të rikuperojë menjëherë tjetrin. Kjo i jep atij një nxitje të fortë gjeni një nga dy komponentët e pakriptuar.

Kjo na sjell në skenarin e plotë dhe më efektiv të sulmit. Konsideroni një sulmues që mund të përgjojë trafikun radio midis një telefoni të synuar dhe një kulle celulare, dhe që në njëfarë mënyre ka fatin të regjistrojë dy thirrje të ndryshme, ku e dyta ndodh menjëherë pas së parës. Tani imagjinoni se ai mund të merrte me mend disi përmbajtjen e pakriptuar të njërës prej thirrjeve. Me të tilla serenipity sulmuesi ynë mund të deshifrojë plotësisht thirrjen e parë duke përdorur një XOR të thjeshtë midis dy grupeve të paketave.

Sigurisht, fati nuk ka të bëjë me të. Meqenëse telefonat janë krijuar për të marrë telefonata, një sulmues që mund të dëgjojë thirrjen e parë do të jetë në gjendje të fillojë një telefonatë të dytë pikërisht në momentin që përfundon e para. Kjo thirrje e dytë, nëse i njëjti çelës i enkriptimit përdoret përsëri me rivendosjen e numëruesit në zero, do të lejojë që të dhënat e pakriptuara të rikuperohen. Për më tepër, meqenëse sulmuesi ynë në të vërtetë kontrollon të dhënat gjatë thirrjes së dytë, ai mund të rikuperojë përmbajtjen e thirrjes së parë - falë shumë të implementuarve posaçërisht gjera te vogla, duke luajtur në anën e tij.

Këtu është një imazh i planit të përgjithshëm të sulmit të marrë nga dokument origjinal:

Sulmi i javës: thirrje zanore përmes LTE (ReVoLTE)
Pasqyra e sulmit nga Dokumenti ReVoLTE. Kjo skemë supozon se dy thirrje të ndryshme bëhen duke përdorur të njëjtin çelës. Sulmuesi kontrollon nuhatësin pasiv (lart majtas), si dhe një telefon të dytë, me të cilin mund të bëjë një telefonatë të dytë në telefonin e viktimës.

Pra, a funksionon vërtet sulmi?

Nga njëra anë, kjo është me të vërtetë pyetja kryesore për artikullin rreth ReVoLTE. Të gjitha idetë e mësipërme janë të shkëlqyera në teori, por ato lënë shumë pyetje. Të tilla si:

  1. A është e mundur (për studiuesit akademikë) të përgjojnë një lidhje VoLTE?
  2. A rikthejnë në të vërtetë sistemet e vërteta LTE?
  3. A mund të filloni një telefonatë të dytë mjaft shpejt dhe me besueshmëri që telefoni dhe kulla të ripërdorin çelësin?
  4. Edhe nëse sistemet rikthejnë, a mund ta njihni në të vërtetë përmbajtjen e pakriptuar të thirrjes së dytë - duke pasur parasysh se gjëra të tilla si kodekët dhe transkodimi mund të ndryshojnë plotësisht përmbajtjen (bit-pas-bit) të asaj thirrjeje të dytë, edhe nëse keni akses në "bitët" "Vjen nga telefoni juaj i sulmit?

Puna e ReVoLTE u përgjigjet disa prej këtyre pyetjeve në mënyrë pozitive. Autorët përdorin një sniffer radioje të rikonfigurueshme komerciale të quajtur softuer Aeroskop për të përgjuar një telefonatë VoLTE nga ana e lidhjes zbritëse. (Mendoj se vetëm për t'u marrë me softuerin dhe për të marrë një ide të përafërt se si funksionon ai mori muaj nga jeta e studentëve të varfër të diplomuar - gjë që është tipike për këtë lloj kërkimi akademik).

Studiuesit zbuluan se që të funksiononte ripërdorimi i çelësit, thirrja e dytë duhej të bëhej mjaft shpejt pasi të mbaronte e para, por jo shumë shpejt - rreth dhjetë sekonda për operatorët me të cilët eksperimentuan. Për fat të mirë, nuk ka rëndësi nëse përdoruesi i përgjigjet thirrjes brenda kësaj kohe - "unaza" dmth. Vetë lidhja SIP e detyron operatorin të ripërdorë të njëjtin çelës.

Kështu, shumë nga problemet më të këqija sillen rreth problemit (4) - marrja e pjesëve të përmbajtjes së pakriptuar të një thirrjeje të iniciuar nga një sulmues. Kjo është për shkak se shumë gjëra mund t'i ndodhin përmbajtjes suaj ndërsa ajo udhëton nga telefoni i sulmuesit në telefonin e viktimës përmes rrjetit celular. Për shembull, truket e tilla të pista si rikodimi i një transmetimi audio të koduar, i cili e lë tingullin të njëjtë, por ndryshon plotësisht paraqitjen e tij binar. Rrjetet LTE përdorin gjithashtu kompresimin e kokës RTP, i cili mund të ndryshojë ndjeshëm pjesën më të madhe të paketës RTP.

Së fundi, paketat e dërguara nga sulmuesi duhet të jenë afërsisht në përputhje me paketat e dërguara gjatë telefonatës së parë. Kjo mund të jetë problematike sepse modifikimi i heshtjes gjatë një telefonate rezulton në mesazhe më të shkurtra (i njohur si zhurma e rehatisë) që mund të mos përshtaten mirë me thirrjen origjinale.

Seksioni "sulmi i botës reale" Ia vlen të lexohet në detaje. Ai trajton shumë nga çështjet e mësipërme - në veçanti, autorët zbuluan se disa kodekë nuk janë ri-kodifikuar dhe se afërsisht 89% e paraqitjes binar të thirrjes së synuar mund të rikuperohet. Kjo është e vërtetë për të paktën dy operatorë evropianë që janë testuar.

Kjo është një shkallë çuditërisht e lartë suksesi, dhe sinqerisht shumë më e lartë se sa prisja kur fillova të punoja për këtë dokument.

Pra, çfarë mund të bëjmë për ta rregulluar atë?

Përgjigja e menjëhershme për këtë pyetje është shumë e thjeshtë: meqenëse thelbi i cenueshmërisë është një sulm kyç i ripërdorimit (riinstalimit), thjesht rregulloni problemin. Sigurohuni që të merret një çelës i ri për çdo telefonatë dhe mos lejoni kurrë numëruesin e paketave të rivendosë numëruesin në zero duke përdorur të njëjtin çelës. Problemi u zgjidh!

Ose ndoshta jo. Kjo do të kërkojë përmirësimin e shumë pajisjeve dhe, sinqerisht, një rregullim i tillë në vetvete nuk është super i besueshëm. Do të ishte mirë nëse standardet do të gjenin një mënyrë më të sigurt për të zbatuar mënyrat e tyre të enkriptimit, e cila si parazgjedhje nuk është katastrofikisht e cenueshme ndaj problemeve të tilla kyçe të ripërdorimit.

Një opsion i mundshëm është përdorimi mënyrat e kriptimit në të cilat keqpërdorimi i nonce nuk çon në pasoja katastrofike. Kjo mund të jetë shumë e shtrenjtë për disa pajisje aktuale, por sigurisht që është një fushë për të cilën projektuesit duhet të mendojnë në të ardhmen, veçanërisht pasi standardet 5G janë gati të pushtojnë botën.

Ky studim i ri ngre gjithashtu pyetjen e përgjithshme pse të njëjtat sulme të mallkuar vazhdojnë të shfaqen në një standard pas tjetrit, shumë prej të cilave përdorin dizajne dhe protokolle shumë të ngjashme. Kur përballeni me problemin e riinstalimit të të njëjtit çelës nëpër protokolle të shumta të përdorura gjerësisht si WPA2, a nuk mendoni se mund të jetë koha për t'i bërë më të forta specifikimet dhe procedurat e testimit? Mos i trajtoni zbatuesit e standardeve si partnerë të zhytur në mendime, të cilët janë të vëmendshëm ndaj paralajmërimeve tuaja. Trajtojini ata si kundërshtarë (të paqëllimshëm) të cilët në mënyrë të pashmangshme do t'i bëjnë gjërat gabim.

Ose, përndryshe, ne mund të bëjmë atë që kompanitë si Facebook dhe Apple po bëjnë gjithnjë e më shumë: të bëjmë enkriptimin e thirrjeve zanore të ndodhë në një nivel më të lartë të grupit të rrjetit OSI, pa u mbështetur te prodhuesit e pajisjeve celulare. Ne madje mund të shtyjmë për kriptim nga fundi në fund të thirrjeve zanore, siç po bën WhatsApp me Signal dhe FaceTime, duke supozuar se qeveria amerikane thjesht ndalon na udhëtoni lart. Atëherë (me përjashtim të disa meta të dhënave) shumë nga këto probleme thjesht do të zhdukeshin. Kjo zgjidhje është veçanërisht e rëndësishme në një botë ku edhe qeveritë nuk janë të sigurta nëse u besojnë furnizuesve të pajisjeve të tyre.

Ose thjesht mund të bëjmë atë që fëmijët tanë kanë bërë tashmë: mos iu përgjigjni atyre thirrjeve zanore të bezdisshme.

Burimi: www.habr.com

Shto një koment