Od prevoditelja i TL;DR
TL;DR:
Izgleda da je VoLTE zaštićen još lošije od prvih Wi-Fi klijenata s WEP-om. Isključivo arhitektonska greška koja omogućava malo poXOR'iti promet i obnoviti ključ. Napad je moguć ako se nalazite u blizini osobe koja razgovara i često upućuje pozive.
Hvala na informaciji i TL;DR
Istraživači su razvili aplikaciju za određivanje je li vaš operator ranjiv, više informacija ovdje. . Podijelite u komentarima rezultate; u mom području je na Megafonu VoLTE isključen.
O autoru
Matthew Green.
Ja sam kriptograf i profesor na Sveučilištu Johns Hopkins. Razvijao sam i analizirao kriptografske sustave korištene u bežičnim mrežama, sustavima plaćanja i platformama za zaštitu digitalnog sadržaja. U svojim istraživanjima razmatram razne načine korištenja kriptografije za povećanje razine privatnosti korisnika.
Davno nisam pisao post formata , i to me frustrira. Ne zato što nije bilo napada, već uglavnom zato što nije bilo napada na nešto dovoljno široko korišteno da me izvuče iz kreativne krize.
Ali danas sam naišao na pod imenom ReVoLTE na protokole, čije hakiranje me posebno raduje, a to su protokoli mobilnih mreža (voice over) LTE. Oduševljen sam upravo ovim protokolima – i ovim novim napadom – jer je vrlo rijetko vidjeti hakiranje stvarnih protokola i implementacija mobilnih mreža. Uglavnom zato što su ti standardi razvijeni u zaraznim prostorijama i zapisani u dokumentima od 12000 stranica koje ne može svaki istraživač preći. Štoviše, ostvarivanje ovih napada tjera istraživače da koriste složene radio-protokole.
Tako ozbiljne kriptografske ranjivosti mogu se proširiti cijelim svijetom i možda će ih koristiti samo vlade, prije nego što neki istraživač obrati pažnju na njih. No, s vremena na vrijeme se javljaju iznimke, a današnji napad je jedna od njih.
Autori : David Rupprecht, Katharina Kohls, Thorsten Holz i Christina Pöpper sa Sveučilišta Ruhr u Bochumu i Sveučilišta u New Yorku Abu Dhabi. Ovo je odličan napad na reinstalaciju ključa u glasovnom protokolu, koji vjerojatno već koristite (pretpostavljajući da ste iz starije generacije koja još uvijek obavlja telefonske pozive putem mobilnog telefona).
Za početak – kratak povijesni uvod.
Što su LTE i VoLTE?
Osnova naših današnjih standarda mobilne telefonije postavljena je u Europi još 80-ih godina standardom (Globalni sustav mobilne komunikacije). GSM je bio prvi glavni standard digitalne mobilne telefonije koji je uveo niz revolucionarnih značajki, poput korištenja za zaštitu telefonskih poziva. Rani GSM bio je prvenstveno razvijen za glasovnu komunikaciju, iako se za novac moglo .
Kako je važnost prijenosa podataka u mobilnoj telefoniji rasla, razvijeni su standardi Long Term Evolution (LTE) za racionalizaciju tog tipa komunikacije. LTE se temelji na skupini starijih standarda, kao što su GSM, i i namijenjen je povećanju brzine prijenosa podataka. Na ovom području ima mnogo brendiranja i , ali TL;DR je da je LTE sustav prijenosa podataka koji služi kao most između starih protokola prijenosa podataka i budućih tehnologija mobilnog prijenosa podataka. .
Naravno, povijest nas uči da, čim bude dovoljno (IP) propusnosti, pojmovi poput 'glasa' i 'podataka' počinju se zamagljivati. Isto se odnosi i na moderne mobilne protokole. Kako bi se taj prijelaz olakšao, standardi LTE definiraju (VoLTE), koji je IP standard za prijenos glasovnih poziva izravno kroz sloj prijenosa podataka sustava LTE, potpuno zaobilazeći preklopni dio mobilne mreže. Kao i kod standardnih VoLTE pozivi mogu biti terminirani od strane mobilnog operatera i spojeni na uobičajenu telefonsku mrežu. Ili (što postaje sve češći slučaj) oni izravno od jednog mobilnog korisnika do drugog, pa čak i između različitih pružatelja usluga.
Kao i standardni VoIP, VoLTE se oslanja na dva popularna protokola temeljem IP-a: protokol za uspostavljanje sesije ( – SIP) za uspostavljanje poziva, i protokol za prijenos u stvarnom vremenu (, koji bi trebao biti nazvan RTTP, ali se zapravo naziva RTP) za obradu glasovnih podataka. VoLTE također dodaje nekoliko dodatnih optimizacija propusnosti, poput kompresije zaglavlja.
Dobro, kakve to veze ima s enkripcijom?
LTE, kao i , ima standardni paket kriptografskih protokola za enkripciju paketa tijekom njihova prijenosa zrakom. Oni su uglavnom namijenjeni zaštiti vaših podataka dok se kreću između telefona (koji se naziva „oprema korisnika” ili UE) i bazne stanice (ili bilo gdje gdje vaš davatelj odluči prekinuti vezu). To se događa jer pružatelji mobilne telefonije gledaju na vanjske uređaje za prisluškivanje kao na neprijatelje. Pa naravno.
(Međutim, činjenica da VoLTE veze mogu nastati izravno između klijenata u različitim mrežama pružatelja znači da sam protokol VoLTE ima neke dodatne i opcionale protokole enkripcije koji se mogu odvijati na višim mrežnim razinama. To se ne odnosi na ovu temu, osim što mogu sve pokvariti. O tome ćemo ukratko razgovarati kasnije).
Povijesno gledano, enkripcija u GSM-u imala je : loše , protokoli u kojima se samo telefon autentificirao na baznoj stanici (to znači da je napadač mogao prevariti baznu stanicu, stvarajući ) i tako dalje. LTE je ispravio mnoge očite greške, zadržavajući većinu ranije strukture.
Započnimo s samom enkripcijom. Ako pretpostavimo da je stvaranje ključa već postignuto — a o tome ćemo razgovarati za minutu — svaki paket podataka se šifrira pomoću stream načina šifriranja koristeći neku vrstu šifre zvane „EEA” (koja se u praksi može implementirati pomoću stvari kao što je AES). U suštini, ovdje je mehanizam šifriranja , kao što je prikazano u nastavku:

Glavni algoritam za šifriranje VoLTE paketa (izvor: ). EEA – šifra, 'COUNT' – 32-bitni brojač, 'BEARER' – jedinstveni identifikator sesije koji razdvaja VoLTE veze i običan internet promet. 'DIRECTION' označava smjer u kojem promet ide – od UE prema baznoj stanici ili obrnuto.
Budući da se sam algoritam šifriranja (EEA) može implementirati korištenjem snažne šifre kao što je AES, malo je vjerojatno da će postojati bilo kakav izravni napad na samu šifru, kao što je to Međutim, očito je da čak i s jakom šifrom ova šema šifriranja predstavlja izvrstan način da se sami sabotiramo.
Naime: u LTE standardu koristi se (neautentificirana) strujna šifra s načinom koji će biti izrazito ranjiv ako se brojač – i drugi unosi, poput 'bearer' i 'direction' – ikada ponovno koriste. U današnjem jeziku, termin za ovo je 'napad ponovnog korištenja nonce', no potencijalni rizici ovdje nisu ništa novo. Oni su poznati i stari, datiraju još iz vremena glam metala i čak diska.

Napadi na ponovno korištenje nonce u CTR načinu postojali su još od vremena kada su Poison postali poznati.
Ispravnosti radi, u LTE standardima piše: 'Nemojte ponovo koristiti ove brojače, molim vas'. No, LTE standardi zauzimaju oko 7000 stranica, i u svakom slučaju, to je poput moljenja djece da se ne igraju s pištoljem. Na kraju će to neizbježno učiniti, a strašne stvari će se dogoditi. U ovom slučaju, ispaljujući pištolj je napad ponovnog korištenja potoka ključeva, u kojem se dvije različite povjerljive poruke XOR-uju s istim bajtovima potoka ključeva. Poznato je da to .
Što je ReVoLTE?
Napad ReVoLTE pokazuje da se u praksi ova vrlo ranjiva konstrukcija šifriranja pogrešno koristi u stvarnoj opremi. Naime, autori analiziraju stvarne VoLTE pozive napravljene korištenjem komercijalne opreme i pokazuju da mogu iskoristiti nešto što se naziva 'napad ponovnog uspostavljanja ključa'. (Velika zasluga za pronalaženje ovog problema pripada (Raza & Lu) koji su prvi ukazali na potencijalnu ranjivost. Međutim, istraživanja ReVoLTE pretvaraju je u praktični napad).
Dozvolite mi da vam ukratko predstavim suštinu napada, iako biste trebali pogledati i .
Može se pretpostaviti da, čim LTE uspostavi vezu za prijenos podataka, zadatak prijenosa glasa putem LTE-a postaje samo pitanje usmjeravanja glasovnih paketa kroz ovu vezu zajedno sa svim ostalim vašim prometom. Drugim riječima, VoLTE će biti koncept koji postoji samo iznad [OSI modela – primjer.] To nije sasvim točno.
U stvari, kanalski sloj LTE-a uvodi pojam 'bearer'. Bearer su zasebni identifikatori sesija koji razdvajaju različite vrste paketnog prometa. Uobičajeni internet promet (vaš Twitter i Snapchat) prolazi kroz jedan bearer. SIP signalizacija za VoIP prolazi kroz drugi, a paketi glasovnog prometa se obrađuju na trećem. N nisam baš dobar u mehanizmima radio kanala i mrežnom usmjeravanju LTE-a, ali pretpostavljam da je to učinjeno zato što LTE mreže žele osigurati funkcioniranje mehanizama QoS (kvalitete usluge), kako bi se različiti tokovi paketa obrađivali s različitim razinama prioritet: tj. vaši sekundarni TCP veze s Facebook-om mogu imati niži prioritet od vaših glasovnih poziva u stvarnom vremenu.
To zapravo nije problem, ali posljedice su sljedeće. Ključevi za šifriranje LTE-a stvaraju se odvojeno svaki put kada se postavi novi 'bearer'. U principu, to bi se trebalo ponovo dogoditi svaki put kada obavite novi telefonski poziv. To bi značilo da će se za svaki poziv koristiti drugačiji šifrirajući ključ, što isključuje mogućnost ponovne upotrebe istog ključa za šifriranje dva različita seta paketa glasovnih poziva. Doista, LTE standard navodi nešto poput 'morate koristiti različite ključeve svaki put kada uspostavite novi bearer za obradu novog telefonskog poziva'. Ali to ne znači da se to zapravo odvija na taj način.
U stvarnosti, u stvarnim implementacijama, dva različita poziva koja se događaju u neposrednoj vremenskoj blizini koristiti će isti ključ — unatoč tome što se između njih konfiguriraju nove (isti) bearer. Jedina praktična promjena koja se događa između ovih poziva je ta da se brojač šifriranja resetira na nulu. U literaturi se ovo ponekad naziva . Moguće je tvrditi da je to zapravo greška u implementaciji, iako u ovom slučaju rizici, čini se, u značajnoj mjeri proizlaze iz samog standarda.
U praksi, ovaj napad dovodi do ponovne upotrebe tokova ključeva, gdje napadač može dobiti šifrirane pakete $inline$C_1 = M_1 oplus KS$inline$ i $inline$C_2 = M_2 oplus KS$inline$, što omogućava izračunavanje $inline$C_1 oplus C_2 = M_1 oplus M_2$inline$. Još bolje, ako napadač zna jedan od $inline$M_1$inline$ ili $inline$M_2$inline$, može odmah obnoviti drugi. To mu daje snažnu motivaciju da sazna jedan od dva nešifrirana sastojka.
To nas dovodi do potpunog i najučinkovitijeg scenarija napada. Zamislite napadača koji može presresti radio promet između ciljanog telefona i bazne stanice, i koji je, nekim lukavim slučajem, uspio snimiti dva različita poziva, gdje se drugi odvija odmah nakon prvog. Sada zamislite da on nekako može pogoditi nešifriranu sadržinu jednog od poziva. U takvom sretnom slučaju naš napadač može potpuno dešifrirati prvi poziv, koristeći jednostavni XOR između dva skupa paketa.
Naravno, sreća ovdje nije slučajna. Budući da su telefoni dizajnirani za primanje poziva, napadač koji može prisluškivati prvi poziv moći će započeti i drugi poziv upravo u trenutku kada prvi završi. Ovaj drugi poziv, u slučaju ponovne upotrebe istog šifrirnog ključa sa resetiranim brojačem na nulu, omogućit će obnovu nešifriranih podataka. Štoviše, kako naš napadač zapravo kontrolira podatke tijekom drugog poziva, može obnoviti sadržaj prvog poziva – zahvaljujući brojnim specifičnim implementiranim sitnicama, koje su na njegovoj strani.
Evo sheme općeg plana napada, preuzete iz :

Pregled napada iz . Ova shema podrazumijeva da se odvijaju dva različita poziva koristeći isti ključ. Napadač kontrolira pasivni sniffer (gore lijevo), kao i drugi telefon, pomoću kojeg može ostvariti drugi poziv na telefon žrtve.
Zar napad zaista tako funkcionira?
S jedne strane, to je doista ključno pitanje za članak o ReVoLTE. Teoretski, sve navedene ideje su sjajne, ali otvaraju mnoštvo pitanja. Kao što su:
- Je li moguće (akademskim istraživačima) stvarno presresti VoLTE vezu?
- Da li stvarni LTE sustavi ponovno uspostavljaju ključeve?
- Možete li zapravo inicirati drugi poziv dovoljno brzo i pouzdano kako bi telefon i bazna stanica ponovno koristili ključ?
- Čak i ako sustavi ponovo uspostavljaju ključeve, možete li stvarno otkriti nešifrirani sadržaj drugog poziva – s obzirom na to da stvari poput kodeka i rekodiranja mogu potpuno promijeniti (po bitovima) sadržaj tog drugog poziva, čak i ako imate pristup „bitovima“ koji dolaze s vašeg napadačkog telefona?
Na neka od ovih pitanja rad ReVoLTE odgovara potvrdno. Autori koriste komercijalni programski rekonstrukcijski sniffer radio toka nazvan za presretanje VoLTE poziva s nizvodne strane. (Mislim da je jednostavno ovladavanje softverom i približno razumijevanje kako on radi oduzelo mjesece života nesretnim poslijediplomskim studentima – što je tipično za takva akademska istraživanja).
Istraživači su otkrili da za aktivaciju ponovne upotrebe ključa drugi poziv mora biti ostvaren dovoljno brzo nakon završetka prvog, ali ne previše – otprilike desete sekunde za operatore s kojima su eksperimentirali. Na sreću, nije bitno da li će korisnik odgovoriti na poziv tijekom tog vremena – "poziv", tj. sama SIP veza prisiljava operatora da ponovno upotrebi isti ključ.
Dakle, mnogi od najproblematičnijih problema proizlaze iz pitanja (4) – dobivanja bitova nešifriranog sadržaja poziva, koji je inicirao napadač. To se događa jer se s vašim sadržajem može dogoditi mnogo dok prolazi od telefona napadača do telefona žrtve preko mobilne mreže. Na primjer, takve neprilike kao što su rekodiranje šifriranog zvučnog toka, što ostavlja zvuk nepromijenjenim, ali potpuno mijenja njegovo binarno predstavljanje. U LTE mrežama također se koristi kompresija RTP zaglavlja, koja može značajno promijeniti veći dio RTP paketa.
Na kraju, paketi koje šalje napadač trebaju se poravnati otprilike s paketima koji su poslani tijekom prvog telefonskog poziva. To može biti problematično, jer modificiranje tišine tijekom telefonskog poziva dovodi do kraćih poruka (tzv. ugodan šum), koje se mogu loše uskladiti s izvorni pozivom.
vrijedi pročitati u svim detaljima. U njemu se razmatraju mnogi od gore navedenih problema – posebno, autori su otkrili da neki kodeci nisu rekodirani i da se otprilike 89% binarnog predstavljanja ciljanog poziva može obnoviti. To je relevantno za najmanje dva europska operatera koja su testirana.
To je izuzetno visok postotak uspjeha, i iskreno, puno viši nego što sam očekivao kada sam započeo rad na ovom dokumentu.
Što možemo učiniti kako bismo to ispravili?
Hitni odgovor na ovo pitanje je krajnje jednostavan: budući da je suština ranjivosti napad na ponovnu upotrebu (reinstalaciju) ključa, jednostavno riješite taj problem. Pobrinite se da se za svaki telefonski poziv dobije novi ključ i nikada ne dopuštajte da se brojač paketa resetira na nulu pomoću istog ključa. Problem je riješen!
Možda i ne. Bit će potrebna modernizacija velike količine opreme, a iskreno, sam po sebi takav fiks nije super pouzdan. Bilo bi dobro da standardi mogu pronaći sigurniji način implementacije svojih načina šifriranja koji nije po defaultu katastrofalno ranjiv na slične probleme ponovne upotrebe ključeva.
Jedna od mogućih opcija je korištenje . To može biti preskupo za određene moderne hardverske sustave, no to je svakako pravac o kojem dizajneri trebaju razmišljati u budućnosti, posebno uzimajući u obzir da će standardi 5G uskoro zavladati svijetom.
Ova nova studija također postavlja opće pitanje zašto , mnogi od kojih koriste vrlo slične konstrukcije i protokole. Kada se suočite s problemom reinstalacije istog ključa u nekoliko široko rasprostranjenih protokola, poput WPA2, ne čini vam se da je možda došlo vrijeme da svoje specifikacije i procedure testiranja učinite pouzdanijima? Dosta više promoviranja implementatora standarda kao promišljenih partnera, pažljivih prema vašim upozorenjima. Postavite ih kao (nepredviđene) protivnike koji će neizbježno implementirati sve pogrešno.
Ili, kao opcija, možemo učiniti ono što sve više rade tvrtke poput Facebooka i Applea: učiniti da se šifriranje glasovnih poziva odvija na višem nivou OSI mrežnog stoga, ne oslanjajući se na proizvođače opreme mobilne telefonije. Možda bismo čak mogli promovirati end-to-end šifriranje glasovnih poziva, kao što to rade WhatsApp s Signalom i FaceTime, pod uvjetom da vlada SAD-a jednostavno prestane . Tada bi (uz iznimku nekih metapodataka) mnogi od ovih problema jednostavno nestali. Ovo rješenje je posebno relevantno u svijetu gdje .
Ili možemo jednostavno raditi ono što su već učinila naša djeca: prestati odgovarati na te dosadne glasovne pozive.
Izvor: habr.com
