Nga përkthyesi dhe TL;DR
TL;DR:
Duket se VoLTE është komprometuar edhe më keq se klientët e parë të Wi-Fi me WEP. Një gabim arkitektonik i cili lejon të XOR-osh pak nga trafiku dhe të rikuperosh çelësin. Sulmi është i mundur nëse ndihesh afër atij që po telefonon dhe ai bën shumë thirrje.
Faleminderit për informacionin dhe TL;DR
Hulumtuesit krijuan një aplikacion për të përcaktuar nëse operatori juaj është i mbrojtur, më shumë detaje . Ndani në komentet rezultatet, në rajonin tim VoLTE është çaktivizuar në Megafon.
Rreth autorit
Matthew Green.
Unë jam kriptograf dhe profesor në Universitetin Johns Hopkins. Kam zhvilluar dhe analizuar sisteme kriptografike të përdorura në rrjetet wireless, sistemet e pagesave dhe platformat për mbrojtjen e përmbajtjes dixhitale. Në hulumtimet e mia shqyrtoj mënyra të ndryshme për të përdorur kriptografinë për të rritur nivelin e privatësisë së përdoruesve.
Ka kohë që nuk kam shkruar një postim në formatin , dhe kjo më shqetësonte. Jo sepse nuk kishte sulme, por kryesisht sepse nuk kishte ndonjë sulm mbi diçka mjaft të përdorur për të më nxjerrë nga kriza krijuese.
Por sot u takova me një të quajtur ReVoLTE mbi protokollet, ndarja e të cilave më gëzon veçanërisht, përkatësisht, protokollet e rrjeteve celularë (voice over) LTE. Jam shumë i entuziazmuar për këto protokolle – dhe këtë sulm të ri – sepse është shumë e rrallë të vëzhgosh thyerje të protokolleve reale dhe realizimeve të rrjeteve celularë. Kryesisht për faktin se këto standarde janë zhvilluar në dhoma të tymosura dhe janë formuluar në dokumente me 12000 faqe, që nuk i kalon çdo hulumtues. Më shumë se kaq, realizimi i këtyre sulmeve detyron hulumtuesit të përdorin protokolle radio shumë të komplikuara.
Prandaj, vulnerabilitetet e rënda kriptografike mund të përhapen nëpër botë, dhe mund të përdoren vetëm nga qeveritë, para se ndonjë hulumtues të marrë vesh për to. Por herë pas here ka përjashtime, dhe sulmi i sotëm është një nga to.
Autoret : David Rupprecht, Katharina Kohls, Thorsten Holz dhe Christina Pöpper nga Universiteti i Ruhrit në Bochum dhe Universiteti i New Yorkut në Abu Dabi. Kjo është një sulm i shkëlqyer ndaj rinovimit të çelësit në protokollin e zërit, të cilin ndoshta e përdorni tashmë (nëse supozojmë se jeni nga brezi i vjetër që ende telefononi me celular).
Së pari – një ekskurs i shkurtër historik.
Çfarë është LTE dhe VoLTE?
Baza e standardeve moderne të telefonisë celulare u vendos në Evropë që në vitet '80 me standardin (GSM). GSM ishte standardi i parë kryesor i telefonisë celulare digjitale, i cili prezantoi një sërë funksionesh revolucionare, siç ishte përdorimi i për mbrojtjen e telefonatave. GSM fillestar u zhvillua kryesisht për komunikimin me zë, ndonëse me pagesë ishte e mundur të .
Me rritjen e rëndësisë së dërgimit të të dhënave në telefoninë celulare, u krijuan standardet Long Term Evolution (LTE) për të racionalizuar këtë lloj komunikimi. LTE bazohet në një grup standardesh më të vjetra, si GSM, dhe dhe ka për qëllim rritjen e shpejtësisë së shkëmbimit të të dhënave. Në këtë fushë ka shumë markë dhe , por TL;DR është se LTE është një sistem dërgimi të dhënash që shërben si një urë midis protokolleve të vjetra të dërgimit të të dhënave dhe teknologjive të ardhshme të telefonisë celulare. .
Natyrisht, historia na tregon se sa më shumë (IP) bandë të jetë e disponueshme, konceptet si "zëri" dhe "të dhënat" do të fillojnë të shuhen. Po ashtu ndodh edhe me protokollet moderne të telefonisë celulare. Për të bërë këtë kalim më të lehtë, standardet LTE përcaktojnë (VoLTE), i cili është një standard IP për dërgimin e thirrjeve voice direkt përmes avullit të transferimit të të dhënave të sistemit LTE, duke anashkaluar plotësisht pjesën e lidhjes së rrjetit celular. Siç ndodh me thirrjet standarde mund të rruhen nga një klient celular të njëjtë te tjetri, madje edhe midis ofruesve të ndryshëm.
Sikurse VoIP standarde, VoLTE bazohet në dy protokolle të njohura mbi IP: protokolli i iniciimit të seancës ( – SIP) për vendosjen e thirrjes, dhe protokolli i transportit të kohës reale (, i cili duhet të quhet RTTP, por në të vërtetë quhet RTP) për përpunimin e të dhënave të zërit. VoLTE gjithashtu shton disa optimizime të tjera të kapacitetit, siç është kompresimi i kokëdhenave.
Mirë, çfarë lidhje ka kjo me enkriptimin?
LTE, siç është , ka një grup standard të protokolleve kriptografike për enkriptimin e paketeve gjatë transmetimit të tyre në ajër. Ata janë kryesisht të destinuar për të mbrojtur të dhënat tuaja gjatë lëvizjes midis telefonit (të quajtur "pajisja e përdoruesit", ose UE) dhe kullës celularë (ose kudo ku ofruesi juaj vendos të përfundojë lidhjen). Kjo ndodh sepse ofruesit e shërbimeve celulare i shohin pajisjet përtej si armiq. Sigurisht.
(Megjithatë, fakti që lidhjet VoLTE mund të ndodhin drejtë ndërmjet klientëve në rrjeta të ndryshme ofruesish do të thotë se protokolli vetë VoLTE ka disa protokolle të tjera shtesë dhe të opcionale për enkriptim, që mund të ndodhin në nivele më të larta të rrjetit. Kjo nuk i përket artikullit aktual, përveç faktit që ata mund ta prishin gjithçka. Do të flasim për to më vonë në mënyrë të shkurtër).
Historikisht, enkriptimi në GSM kishte : enkriptime të dobëta, "Stingray" Le të fillojmë me enkriptimin vetë. Nëse supozojmë se krijimi i çelësit ka ndodhur tashmë — dhe do të flasim për këtë pas pak — çdo paketë të dhënash enkriptohet duke përdorur një mod të enkriptimit me një enkriptim të njohur si "EEA" (i cili në praktikë mund të zbatohet duke përdorur mjete si AES). Në thelb, këtu mekanizmi i enkriptimit është
CTR , si duket më poshtë:

Algoritmi kryesor i enkriptimit të pakove VoLTE (burimi: ). EEA – një kod, «COUNT» – një numërues 32-bit, «BEARER» – një identifikues unik seance, që ndan lidhjet VoLTE dhe trafikun e zakonshëm të internetit. «DIRECTION» tregon në cilin drejtim po kalon trafiku – nga UE në stacionin bazë apo përkundrazi.
Duke qenë se algoritmi i enkriptimit (EEA) mund të realizohet duke përdorur një kod të fortë si AES, është e pakët mundësia për ndonjë sulm të drejtpërdrejtë ndaj kodit, ashtu siç . Megjithatë, është e qartë se, edhe me një kod të fortë, ky skemë enkriptimi paraqet një mjet të shkëlqyer për të bërë vetëvrasje.
Veçanërisht: në standardin LTE përdoret një kod stream (i paautentikuar) me një mod, i cili do të ishte jashtëzakonisht i ndjeshëm, nëse numëruesi – dhe hyrjet e tjera si «bearer» dhe «direction» – ndonjëherë do të përdoren sërish. Në gjuhën moderne, termi për këtë koncept është «sulm i ri përdorimit të nonce», por rreziqet potenciale këtu nuk janë asgjë moderne. Ato janë të njohura dhe antike, që datojnë në kohët e glam-metal dhe madje disco.

Sulmet ndaj ri përdorimit të nonce në modin CTR kanë ekzistuar që kur Poison u bënë të njohur
Për të qenë të drejtë, në standardet LTE thuhet: «Mos e përdorni përsëri këtë numërues, ju lutem». Por standardet LTE zënë rreth 7000 faqe, dhe në çdo rast, kjo është e njëjtë me të kërkuarve fëmijëve që të mos luajnë me armën. Ato patjetër do ta bëjnë këtë, dhe do të ndodhin gjëra të tmerrshme. Në këtë rast, arma që zbrazet është sulmi i ri përdorimit të rrjedhës së çelësit, ku dy mesazhe të ndryshme të ndjeshme XOR-ohen me të njëjtat byte të rrjedhës së çelësit. E njohur është se kjo .
Çfarë është ReVoLTE?
Sulmimi ReVoLTE tregon se në praktikë, kjo strukturë shumë e ndjeshme e enkriptimit përdoret në mënyrë të gabuar nga pajisje reale. Veçanërisht, autorët analizojnë telefonatat reale VoLTE të bëra duke përdorur pajisje tregtare dhe tregojnë se ata mund të përdorin diçka të quajtur «sulm mbi rivendosjen e çelësit». (Një meritat e madhe e zbulesës së këtij problemi i takon (Raza & Lu) πρώτοι παρατήρησαν μια δυνητική ευπάθεια. Ωστόσο, οι έρευνες ReVoLTE την μετατρέπουν σε πρακτική επίθεση).
Ας σας δείξω συνοπτικά την ουσία της επίθεσης, αν και θα πρέπει να ρίξετε μια ματιά και στο .
Μπορούμε να υποθέσουμε ότι μόλις το LTE εγκαθιστά τη σύνδεση της μεταφοράς δεδομένων, η αποστολή φωνής μέσω LTE γίνεται απλώς ένα ζήτημα δρομολόγησης των πακέτων φωνής μέσω αυτής της σύνδεσης μαζί με όλη την υπόλοιπη κίνηση σας. Με άλλα λόγια, το VoLTE θα είναι μια έννοια που θα υπάρχει μόνο πάνω από [μοντέλα OSI – παράδειγμα:]. Αυτό δεν είναι ακριβώς έτσι.
Στην πραγματικότητα, το κανάλι LTE εισάγει την έννοια του 'bearer'. Bearer είναι οι ξεχωριστοί αναγνωριστικοί κωδικοί συνεδρίας που διαχωρίζουν διάφορους τύπους πακέτων κυκλοφορίας. Η κανονική διαδικτυακή κυκλοφορία (το Twitter και το Snapchat σας) περνά μέσω ενός bearer. Η σηματοδότηση SIP για VoIP πηγαίνει μέσω άλλου, ενώ τα πακέτα φωνητικής κυκλοφορίας επεξεργάζονται μέσω τρίτου. Δεν είμαι πολύ καλός στους μηχανισμούς ραδιοκαναλιών και δικτυακής δρομολόγησης LTE, αλλά υποθέτω ότι είναι φτιαγμένα έτσι γιατί τα δίκτυα LTE θέλουν να διασφαλίσουν ότι οι μηχανισμοί QoS (ποιότητας υπηρεσίας) λειτουργούν έτσι ώστε οι διάφορες ροές πακέτων να επεξεργάζονται με διαφορετικά επίπεδα προτεραιότητας: δηλαδή, τα δευτερεύοντα TCP συνδέσεις σας με το Facebook μπορεί να έχουν χαμηλότερη προτεραιότητα από τις φωνητικές κλήσεις σας σε πραγματικό χρόνο.
Αυτό δεν είναι βασικά πρόβλημα, αλλά οι συνέπειες είναι οι εξής. Οι κωδικοί κρυπτογράφησης του LTE δημιουργούνται ξεχωριστά κάθε φορά που εγκαθίσταται ένας νέος 'bearer'. Στην ουσία, αυτό θα έπρεπε να συμβαίνει εκ νέου κάθε φορά που κάνετε μια νέα τηλεφωνική κλήση. Αυτό θα έχει ως αποτέλεσμα να χρησιμοποιείται διαφορετικός κωδικός κρυπτογράφησης για κάθε κλήση, κάτι που αποκλείει τη δυνατότητα επαναχρησιμοποίησης του ίδιου κωδικού για την κρυπτογράφηση δύο διαφορετικών σετ πακέτων φωνητικών κλήσεων. Πράγματι, το πρότυπο LTE δηλώνει κάτι σαν «πρέπει να χρησιμοποιείτε διαφορετικούς κωδικούς κάθε φορά που εγκαθιστάτε νέον bearer για τη διαχείριση μιας νέας τηλεφωνικής κλήσης». Αλλά αυτό δεν σημαίνει ότι αυτό συμβαίνει στην πραγματικότητα.
Në të vërtetë, në implementime reale, dy thirrje të ndryshme që ndodhin në një afërsi të menjëhershme të kohës do të përdorin të njëjtin çelës — pavarësisht se ndërmjet tyre vendosen bearer të rinj (me të njëjtin emër). Ndryshimi i vetëm praktik që ndodh midis këtyre thirrjeve është se numëratori i enkriptimit resetohet në zero. Në literaturë, kjo ndonjëherë quhet . Mund të argumentohet se, në thelb, kjo është një gabim implementimi, megjithatë në këtë rast, duket se rreziqet rrjedhin në masë të madhe nga vetë standardi.
Në praktikë, ky sulm çon në ripërdorimin e rrjedhës së çelësit, ku një sulmues mund të marrë paketat e enkriptuara $inline$C_1 = M_1 oplus KS$inline$ dhe $inline$C_2 = M_2 oplus KS$inline$, që lejon llogaritjen e $inline$C_1 oplus C_2 = M_1 oplus M_2$inline$. Është akoma më mirë nëse sulmuesi di një nga $inline$M_1$inline$ ose $inline$M_2$inline$, ai mund të rikthejë menjëherë tjetrin. Kjo i jep atij një stimul të fortë për të zbuluar një nga dy komponentët e paenkriptuar.
Kjo na çon në skenarin më të plotë dhe më efikas të sulmit. Le të shqyrtojmë një sulmues që mund të kapë trafik radio mes telefonit të synuar dhe kullës celulare, dhe që ndonjë kujtimi i çuditshëm "ka fat" të regjistrojë dy thirrje të ndryshme, ku e dyta ndodh menjëherë pas së parës. Tani imagjinoni se si ai ndoshta mund të gjejë përmbajtjen e paenkriptuar të një nga thirrjeve. Me këtë rastësi të favorshme sulmuesi ynë mund të deshifrojë plotësisht thirrjen e parë, duke përdorur një XOR të thjeshtë midis dy grupeve të paketave.
Natyrisht, fati këtu nuk ka të bëjë. Pasi telefonat janë të destinuar për të pranuar thirrje, një sulmues që mund të përgjojë thirrjen e parë, do të jetë në gjendje të inicojë dhe thirrjen e dytë pikërisht në momentin kur mbaron e para. Kjo thirrje e dytë, në rast se ripërdoret e njëjta çelës enkriptimi me numëratorin të rikthyer në zero, do të lejojë rikthimin e të dhënave të paenkriptuara. Për më tepër, pasi sulmuesi ynë në të vërtetë kontrollon të dhënat gjatë thirrjes së dytë, ai mund të rikthejë përmbajtjen e thirrjes së parë – falë shumë detajeve specifikisht të implementuara të vogla, që luajnë në anën e tij.
Këtu është një skemë e përgjithshme e sulmit, e cila është marrë nga :

Përmbledhja e sulmit nga . Kjo skemë parashikon që ndodhin dy thirrje të ndryshme duke përdorur të njëjtin çelës. Sulmuesi kontrollon një sniffer pasiv (në këndin e majtë lartë), si dhe një telefon tjetër, me të cilin ai mund të bëjë një thirrje të dytë në telefonin e viktimës.
A funksionon me të vërtetë sulmi?
Nga njëra anë, kjo është vërtet pyetja kryesore për artikullin mbi ReVoLTE. Teorikisht, të gjitha idetë e mësipërme janë të shkëlqyera, por lënë shumë pyetje. Siç janë:
- A është e mundur që (hulumtuesit akademikë) të kapin me të vërtetë një lidhje VoLTE?
- A e rifreskojnë me të vërtetë sistemet LTE reale çelësat?
- A mund të iniciosh me të vërtetë një thirrje të dytë mjaft shpejt dhe në mënyrë të besueshme, që telefoni dhe tureja të përdorin përsëri të njëjtin çelës?
- Edhe nëse sistemet rifreskojnë çelësat, a mund të dish me të vërtetë përmbajtjen e çelikut të dytë - duke pasur parasysh se gjëra të tilla si kodekët dhe rikoordimi mund të ndryshojnë plotësisht përmbajtjen (bit për bit) të kësaj thirrjeje të dytë, edhe nëse ke qasje në "buzet" që dalin nga telefoni yt sulmues?
Për disa nga këto pyetje, puna e ReVoLTE përgjigjet afirmativisht. Autorët përdorin një sniffer komercial të riprogramueshëm të rrymës radio të quajtur për të kapur thirrjen VoLTE nga anë zbritëse. (Mendoj se thjesht zotërimi i softuerit dhe një kuptim i përgjithshëm se si funksionon, i ka marrë muaj nga jeta e studentëve të mjerë – që është tipik për këto lloje hulumtimesh akademike).
Hulumtuesit zbuluan se për të aktivizuar ripërdorimin e çelësit, thirrja e dytë duhet të ndodhte mjaft shpejt pas përfundimit të së parës, por jo shumë - rreth dhjetë sekonda për operatorët me të cilët ata eksperimentuan. Për fat, nuk ka rëndësi nëse përdoruesi përgjigjet në thirrje brenda kësaj kohe – "thirrja", dmth. vetë lidhja SIP e detyron operatorin të ripërdorë të njëjtin çelës.
Kështu, shumë nga problemet më të rënda rrethohen me çështjen (4) – marrja e bitëve të përmbajtjes së paenkriptuar të një thirrjeje të iniciuar nga një sulmues. Kjo ndodh sepse me përmbajtjen tuaj mund të ndodhin shumë gjëra gjatë kalimit të saj nga telefoni i sulmuesit në telefonin e viktimës përmes rrjetit celular. Për shembull, aktivitete të tilla si riprogramimi i rrjedhës audio të koduar, që e lë tingullin të njëjtë, por e ndryshon plotësisht përfaqësimin e tij binar. Në rrjetet LTE përdoret gjithashtu kompresimi i skedave RTP, i cili mund të ndryshojë ndjeshëm një pjesë të madhe të paketës RTP.
Në fund, paketat e dërguara nga sulmuesi duhet të vendosen afërsisht në një linjë me paketat që u dërguan gjatë thirrjes telefonike të parë. Kjo mund të jetë problematike, pasi modifikimi i heshtjes gjatë thirrjes telefonike çon në mesazhe më të shkurtra (të ashtuquajturin zhurmë komode), të cilat mund të përputhen keq me thirrjen origjinale.
është e vlefshme për t'u lexuar në çdo detaj. Aty shqyrtohen shumë nga problemet e përmendura më sipër – veçanërisht, autorët zbuluan se disa kodeka nuk janë riprogramuar dhe se afërisht 89% e përfaqësimit binar të thirrjes së synuar mund të rikuperohet. Kjo është e rëndësishme për të paktën dy operatorë europianë që janë testuar.
Ky është një nivel befasues suksesi, dhe, sinqerisht, shumë më i lartë se sa prisja kur fillova punën në këtë dokument.
Çfarë mundemi të bëjmë për ta rregulluar këtë?
Përgjigjja urgjente për këtë pyetje është ekstremisht e thjeshtë: pasi thelbi i dobësisë është sulmi ndaj riciklimit (rinstalimit) të çelësit, thjesht rregulloni këtë problem. Sigurohuni që për çdo thirrje telefonike të merret një çelës i ri dhe kurrë mos lejoni që numëruesi i paketave të rikthehet në zero me të njëjtin çelës. Problemi është zgjidhur!
Ndoshta, po ashtu dhe jo. Për këtë do të nevojitej modernizimi i një sërë pajisjesh, dhe, për t'i thënë të drejtën, ky rregullim nuk është shumë i besueshëm në vetvete. Do të ishte mirë nëse standartet do të gjenin një mënyrë më të sigurt për të zbatuar rethinat e tyre të enkriptimit, e cila nuk është natyrshëm katastrofikisht e ndjeshme ndaj problemeve të tilla të ripërdorimit të çelësave.
Një nga mundësitë e mundshme është përdorimi i . Mund të jetë shumë e shtrenjtë për disa pajisje moderne, por sigurisht që është një drejtim, për të cilin projektuesit duhet të mendojnë në të ardhmen, veçanërisht duke marrë parasysh se standartet e 5G po bëhen shumë shpejt të zakonshme.
Ky studim i ri gjithashtu ngre pyetjen e përgjithshme pse , shumë prej të cilave përdorin struktura dhe protokolle shumë të ngjashme. Kur hasni në problemin e ripërgjigjes së të njëjtit çelës në disa protokolle të njohura, si WPA2, a nuk ju duket se ndoshta ka ardhur koha për të bërë specifikimet dhe procedurat tuaja të testimit më të besueshme? Mjaft me trajtimin e realizuesve të standartit si partnerë të menduar, të kujdesshëm ndaj paralajmërimeve tuaja. Trajtojini ata si (natyrisht) kundërshtarë, të cilët do të implementojnë gjithçka gabimisht.
Ose si një opsion, mund të bëjmë atë që po bëjnë gjithnjë e më shumë kompani si Facebook dhe Apple: ta bëjmë enkriptimin e thirrjeve audio të ndodhi në një nivel më të lartë të grumbullit të OSI, pa u mbështetur në prodhuesit e pajisjeve celulare. Edhe mund të inkurajojmë enkriptimin e skajshëm të thirrjeve audio, ashtu siç bëjnë WhatsApp me Signal dhe FaceTime, duke supozuar se qeveria e SHBA-së thjesht do të ndalojë . Atëherë (përveç disa metadatat) shumë nga këto probleme thjesht do të zhdukeshin. Ky zgjidhje është veçanërisht e rëndësishme në një botë ku .
Ose mund të bëjmë thjesht atë që bënë fëmijët tanë: të ndalojmë përgjigjen ndaj këtyre telefonatave të bezdisshme me zë.
Burimi: habr.com
