Útok týdne: hlasové hovory v LTE (ReVoLTE)

Od překladatele a TL;DR

  1. TL;DR:

    Zdá se, že VoLTE je ještě hůře chráněno než první Wi-Fi klienti s WEP. To je čistě architektonická chyba, která umožňuje lehce poXOR'it provoz a obnovit klíč. Útok je možný, pokud se nacházíte poblíž volajícího a ten často telefonuje.

  2. Děkuji za tip a TL;DR Klukonin

  3. Výzkumníci vytvořili aplikaci, která určuje, zda je váš operátor zranitelný, podrobnosti tady. Podělte se v komentářích o výsledky, v mém regionu je na Megafonu VoLTE vypnuto.

O autorovi

Matthew Green.

Jsem kryptograf a profesor na Johns Hopkins University. Vyvíjel jsem a analyzoval kryptografické systémy používané v bezdrátových sítích, platebních systémech a platformách ochrany digitálního obsahu. Ve svém výzkumu zkoumám různé způsoby využití kryptografie pro zvýšení úrovně soukromí uživatelů.

Už jsem dlouho nenapsal příspěvek formátu „útok týdne“, a to mě mrzelo. Ne proto, že by útoky nebyly, ale převážně proto, že nebyl útok na něco dostatečně široce používaného, abych se dostal z tvůrčí krize.

Ale dnes jsem narazil na zajímavý útok s názvem ReVoLTE na protokoly, jejichž prolomení mě obzvlášť těší, a to jsou protokoly mobilních sítí (voice over) LTE. Jsem nadšený právě z těchto protokolů – a z tohoto nového útoku – protože je velmi vzácné pozorovat prolomení skutečných protokolů a realizací mobilních sítí. Převážně proto, že tyto standardy byly vyvinuty v zakouřených místnostech a zdokumentovány ve 12000-stránkových dokumentech, které každý výzkumník nezvládne. Navíc realizace těchto útoků nutí výzkumníky používat složité rádio-protokoly.

Takže vážné kryptografické zranitelnosti mohou být rozšířeny po celém světě a možná budou použity pouze vládami, než si jich nějaký výzkumník všimne. Ale čas od času se objeví výjimky a dnešní útok je jednou z nich.

Autoři útokům: David Rupprecht, Katharina Kohls, Thorsten Holz a Christina Pöpper z Ruhrské univerzity v Bochumi a Newyorské univerzity v Abú Dhabí. Toto je skvělý útok na reinstalaci klíče v hlasovém protokolu, který pravděpodobně již používáte (pokud předpokládáme, že jste ze starší generace, která stále telefonuje pomocí mobilního telefonu).

Na začátek – krátký historický exkurz.

Co jsou LTE a VoLTE?

Základy našich moderních standardů mobilního telefonování byly položeny v Evropě už v 80. letech standardem Global System for Mobile (Globální systém mobilní komunikace). GSM byl prvním hlavním standardem digitálního mobilního telefonování, který zavedl řadu revolučních funkcí, například použití šifrování pro ochranu telefonních hovorů. Rané GSM bylo vyvinuto především pro hlasovou komunikaci, ačkoli za poplatek bylo možné přenášet i další data..

Jak se význam přenosu dat v mobilní komunikaci zvyšoval, byly vyvinuty standardy Long Term Evolution (LTE) pro zefektivnění tohoto typu spojení. LTE vychází ze skupiny starších standardů, jako jsou GSM, EDGE a HSPA a je určen k zvýšení rychlosti přenosu dat. V této oblasti je mnoho značkování a nepřesných označení,ale TL;DR je, že LTE je systém přenosu dat, který slouží jako most mezi starými protokoly paketového přenosu a budoucími technologiemi mobilního přenosu dat 5G..

Samozřejmě, historie nám říká, že jakmile bude dostatek (IP) šířky pásma, pojmy jako „hlas“ a „data“ začnou splývat. To platí i pro moderní mobilní protokoly. Aby byl tento přechod hladší, standardy LTE definují Voice-over-LTE (VoLTE), což je IP standard pro přenos hlasových hovorů přímo přes datovou rovinu systému LTE, čímž zcela obcházejí spínanou část mobilní sítě. Stejně jako u standardních VoIP hovorů,mohou být VoLTE hovory terminovány operátorem mobilní sítě a připojeny k běžné telefonní síti. Nebo (což se stává stále běžnějším jevem) mohou být směrovány. přímo mezi jedním mobilním zákazníkem a druhým, a dokonce i mezi různými poskytovateli.

Stejně jako standardní VoIP, VoLTE je založena na dvou populárních protokolech založených na IP: protokolu pro zahájení relace (Session Initiation Protocol – SIP) pro nastavení hovoru, a protokolu pro přenos v reálném čase (Real Time Transport Protocol, který by se měl nazývat RTTP, ale ve skutečnosti se nazývá RTP) pro zpracování hlasových dat. VoLTE také přidává některá dodatečná optimalizace šířky pásma, jako je komprese hlaviček.

Dobře, jaký to má vztah k šifrování?

LTE, stejně jako GSM, má standardní sadu kryptografických protokolů pro šifrování paketů během jejich přenosu vzduchem. Ty jsou primárně určeny k ochraně vašich dat během jejich přenosu mezi telefonem (nazývaným 'zařízení uživatele', nebo UE) a mobilní vysílačkou (nebo kdekoli, kde se váš poskytovatel rozhodne terminovat spojení). Děje se to proto, že mobilní poskytovatelé považují externí odposlouchávací zařízení za nepřátele. No samozřejmě.

(I když skutečnost, že spojení VoLTE mohou probíhat přímo mezi klienty v různých sítích poskytovatelů, znamená, že samotný protokol VoLTE má některé dodatečné a volitelné šifrovací protokoly, které mohou probíhat na vyšších síťových úrovních. To se netýká aktuálního článku, kromě toho, že mohou vše pokazit. O nich si krátce promluvíme později).

Historicky mělo šifrování v GSM mnoho slabých míst: špatné šifry, protokoly, ve kterých se pouze telefon autentizoval na vysílačce (to znamená, že útočník se mohl vydávat za vysílačku, což vedlo k „Stingray“) a tak dále. LTE opravilo mnoho zjevně chybných aspektů, přičemž však zachovalo většinu předchozí struktury.

Začněme samotným šifrováním. Pokud předpokládáme, že vytvoření klíče již proběhlo — a o tom si povíme za chvíli — pak je každý datový paket šifrován pomocí proudového režimu šifrování s pomocí jakéhosi šifru nazývaného „EEA“ (který může být v praxi realizován pomocí takových věcí, jako je AES). V podstatě, zde je mechanismem šifrování CTR, jak je znázorněno níže:

Útok týdne: hlasové hovory v LTE (ReVoLTE)
Hlavní algoritmus šifrování VoLTE paketů (zdroj: ReVoLTE). EEA – šifrovací algoritmus, „COUNT“ – 32bitový čítač, „BEARER“ – jedinečný identifikátor relace, který odděluje spojení VoLTE a běžný internetový provoz. „DIRECTION“ ukazuje, kterým směrem provoz proudí – od UE k věži nebo opačně.

Jelikož může být samotný šifrovací algoritmus (EEA) implementován pomocí silného šifrovacího algoritmu, jako je AES, je velmi nepravděpodobné, že by došlo k přímému útoku na šifrování, jak to bylo v dobách GSM.Je však zřejmé, že i při silném šifrování tato šifrovací schéma představuje skvělý způsob, jak si vystřelit do nohy.

Konkrétně: ve standardu LTE se používá (neautentizovaný) proudový šifrovací režim, který bude extrémně zranitelný, pokud bude čítač – a další vstupy, jako „bearer“ a „direction“ – někdy znovu použity. V soudobé terminologii je termín pro tento koncept „útok s opětovným použitím nonce“, ale potenciální rizika nejsou nic nového. Jsou známá a starobylá, sahající až do dob glam metalu a dokonce diska.

Útok týdne: hlasové hovory v LTE (ReVoLTE)
Útoky na opětovné použití nonce v CTR režimu existovaly už tehdy, kdy se dostali na scénu Poison.

Abychom byli spravedliví, standardy LTE říkají: „Nepoužívejte tyto čítače znovu, prosím“. Ale standardy LTE mají kolem 7000 stran, a v každém případě je to stejné jako žádat děti, aby si nehrály s pistolí. Nevyhnutelně to udělají a dojde k hrozným věcem. V tomto případě je vybitím pistole útok s opětovným použitím šifrovacího proudu, kde se dvě různá důvěrná sdělení XORují se stejnými bajty šifrovacího proudu. Je známo, že to má extrémně devastující dopad na důvěrnost zpráv..

Co je ReVoLTE?

Útok ReVoLTE ukazuje, že prakticky tato velmi zranitelná šifrovací konstrukce je špatně používána skutečným zařízením. Konkrétně autoři analyzují skutečné hovory VoLTE uskutečněné pomocí komerčního zařízení a ukazují, že je mohou použít něco, čemu říkají „útok na restartování klíče“. (Velký podíl na nalezení tohoto problému patří Reyze a Lu. (Raza & Lu), kteří jako první poukázali na potenciální zranitelnost. Ale výzkum ReVoLTE ji mění na praktický útok).

Pojďte, ukážu vám stručně podstatu útoku, i když byste si měli prohlédnout i původní dokument.

Můžeme předpokládat, že jakmile LTE naváže spojení pro přenos dat, úloha přenosu hlasu přes LTE se stane pouze otázkou směrování hlasových paketů přes toto spojení spolu se vším ostatním vaším provozem. Jinými slovy, VoLTE bude koncept, který existuje pouze nad 2. úrovní [model OSI – např. př.]. Není to tak úplně pravda.

Ve skutečnosti kanálová úroveň LTE zavádí pojem „bearer“. Bearer jsou jednotlivé identifikátory relací, které oddělují různé typy paketového provozu. Běžný internetový provoz (váš Twitter a Snapchat) prochází jedním bearerem. Signaling SIP pro VoIP jde přes jiný, zatímco pakety hlasového provozu jsou zpracovávány na třetím. Nejsem v mechanismu rádiových kanálů a síťového směrování LTE příliš zběhlý, ale myslím, že to tak je, protože sítě LTE chtějí zajistit fungování mechanismů QoS (řízení kvality), aby různé proudy paketů byly zpracovány s různými úrovněmi priority: t.j. vaše druhotné TCP spojení s Facebookem mohou mít nižší prioritu než vaše hlasové hovory v reálném čase.

To není ve skutečnosti problém, ale důsledky jsou následující. Klíče pro šifrování LTE se vytvářejí odděleně pokaždé, když se nastaví nový „bearer“. V zásadě by se to mělo dělat znovu pokaždé, když uskutečníte nový telefonní hovor. To povede k tomu, že na každý hovor bude použit jiný šifrovací klíč, což vylučuje možnost opětovného použití stejného klíče pro šifrování dvou různých sad hlasových hovorů. Opravdu, standard LTE říká něco jako „musíte používat různé klíče pokaždé, když nastavujete nový bearer pro zpracování nového telefonního hovoru“. Ale to neznamená, že se to skutečně děje.

Ve skutečnosti v reálných implementacích budou dva různé výzvy, které se uskutečňují v těsné časové blízkosti, používat stejný klíč — i když mezi nimi jsou nastaveny nové (stejné) bearer. Jediná praktická změna, která nastává mezi těmito dvěma výzvami, je, že čítač šifrování je resetován na nulu. V literatuře se tomu někdy říká útok na obnovu klíče. Lze tvrdit, že v podstatě se jedná o chybu implementace, i když v tomto případě se zdá, že rizika vyplývají z samotného standardu.

V praxi tento útok vede k opakovanému používání šifrovacího proudu, kde útočník může získat zašifrované pakety $inline$C_1 = M_1 oplus KS$inline$ a $inline$C_2 = M_2 oplus KS$inline$, což umožňuje vypočítat $inline$C_1 oplus C_2 = M_1 oplus M_2$inline$. Ještě lépe, pokud útočník zná jeden z $inline$M_1$inline$ nebo $inline$M_2$inline$, může okamžitě obnovit druhý. To mu dává silný podnět zjistit jeden ze dvou nezašifrovaných komponentů.

To nás přivádí k úplnému a nejefektivnějšímu scénáři útoku. Představme si útočníka, který může odposlouchávat rádiový provoz mezi cílovým telefonem a mobilní věží, a kterému se nějakým chytrým způsobem 'podařilo' zaznamenat dva různé hovory, kde druhý se odehrává hned po prvním. Nyní si představte, že nějak může uhádnout nešifrovaný obsah jednoho z hovorů. Při takové šťastné náhodě náš útočník může plně dešifrovat první hovor, použitím jednoduchého XOR mezi dvěma sadami paketů.

Samozřejmě, štěstí tu není na vině. Protože telefony jsou určeny k přijímání hovorů, útočník, který může odposlouchávat první hovor, bude schopen iniciovat druhý hovor ve stejném okamžiku, kdy první skončí. Tento druhý hovor, v případě opakovaného použití stejného šifrovacího klíče s čítačem resetovaným na nulu, umožní obnovit nezašifrovaná data. Navíc, protože náš útočník fakticky kontroluje data během druhého hovoru, může obnovit obsah prvního hovoru – díky množství specificky implementovaných drobností, které hrají na jeho straně.

Tady je obrázek celkového plánu útoku, převzatý z původního dokumentu:

Útok týdne: hlasové hovory v LTE (ReVoLTE)
Přehled útoku z dokumentu ReVoLTE. Tento scénář předpokládá, že dochází k dvěma různým hovorům s použitím stejného klíče. Útočník kontroluje pasivní sniffér (vlevo nahoře) a také druhý telefon, kterým může uskutečnit druhý hovor na telefon oběti.

Funguje útok skutečně?

Na jednu stranu, to je opravdu klíčová otázka pro článek o ReVoLTE. Teoreticky jsou všechny výše uvedené myšlenky skvělé, ale zanechávají mnoho otázek. Například:

  1. Je možné (pro akademické výzkumníky) skutečně zachytit VoLTE spojení?
  2. Opravdu reálné LTE systémy přenastavují klíče?
  3. Můžete opravdu iniciovat druhý hovor dostatečně rychle a spolehlivě, aby telefon a věž znovu použily klíč?
  4. I když systémy přenastavují klíče, můžete skutečně zjistit nešifrovaný obsah druhého hovoru – vzhledem k tomu, že věci jako kodeky a překódování mohou úplně změnit (bit po bitu) obsah tohoto druhého hovoru, i když máte přístup k „bitům“, vycházejícím z vašeho útočného telefonu?

Na některé z těchto otázek práce ReVoLTE odpovídá kladně. Autoři používají komerční softwarově přizpůsobitelný sniffér rádiového toku nazvaný Airscope pro zachycení hovoru VoLTE ze strany sestupné linky. (Myslím, že si ovládnutí softwaru a přibližné pochopení, jak to funguje, vzalo měsíce života od chudáků postgraduálních studentů – což je typické pro takové akademické výzkumy).

Výzkumníci zjistili, že pro aktivaci opětovného použití klíče musí druhý hovor nastat dostatečně rychle po dokončení prvního, ale ne příliš – asi po deseti sekundách pro operátory, se kterými experimentovali. Naštěstí nezáleží na tom, zda uživatel zvedne hovor během této doby – „hovor“, tj. samotná SIP komunikace nutí operátora znovu použít stejný klíč.

Mnoho nejzávažnějších problémů se točí kolem otázky (4) – získání bitů nezakódovaného obsahu hovoru iniciovaného útočníkem. K tomu dochází, protože s vaším obsahem se může stát hodně, zatímco putuje od telefonu útočníka k telefonu oběti přes mobilní síť. Například, takové potíže, jako je překódování zakódovaného zvukového toku, které zanechává zvuk stejný, ale zcela mění jeho binární reprezentaci. V LTE sítích se také používá komprese hlaviček RTP, která může významně upravit většinu RTP balíčku.

Nakonec musí být balíčky odeslané útočníkem přibližně zarovnány s balíčky, které byly odeslány během prvního telefonního hovoru. To může být problematické, protože modifikace ticha během telefonního hovoru vede k kratším zprávám (tzv. komfortní hluk), které mohou špatně souviset s původním hovorem.

Sekce „skutečný útok“ stojí za to si přečíst ve všech podrobnostech. Zkoumá mnoho výše zmíněných problémů – konkrétně autoři zjistili, že některé kodeky nejsou překódovány, a že přibližně 89% binární reprezentace cílového hovoru může být obnoveno. To je relevantní minimálně pro dva evropské operátory, které byly testovány.

To je ohromně vysoká úspěšnost, a upřímně řečeno, mnohem vyšší, než jsem očekával, když jsem začal pracovat na tomto dokumentu.

Co tedy můžeme podniknout pro nápravu?

Okamžitá odpověď na tuto otázku je velmi jednoduchá: jelikož podstatou zranitelnosti je útok na opětovné použití (reinicializaci) klíče, jednoduše tuto otázku vyřešte. Ujistěte se, že pro každý telefonní hovor je získán nový klíč, a nikdy nedovolte, aby se čítač balíčků vrátil zpět na nulu pomocí toho samého klíče. Problém je vyřešen!

Možná, že ne. K tomu by bylo potřeba modernizace velkého množství zařízení a, upřímně řečeno, takový fix není sám o sobě příliš spolehlivý. Bylo by dobré, kdyby standardy dokázaly najít bezpečnější způsob implementace svých šifrovacích režimů, který není standardně katastrofálně zranitelný vůči podobným problémům s opakovaným použitím klíčů.

Jedním z možných přístupů je využití šifrovacích režimů, u kterých necílené použití nonce nevede k katastrofálním důsledkům. To může být příliš nákladné pro některé moderní hardwarové prostředky, ale rozhodně je to směr, kterým by se měli návrháři zamyslet do budoucna, zejména vzhledem k tomu, že standardy 5G už brzy ovládnou svět.

Tento nový výzkum také vyvolává obecnou otázku, proč stejné proklaté útoky stále znovu a znovu vznikají v jednom standardu za druhým, z nichž mnohé používají velmi podobné konstrukce a protokoly. Když se potýkáte s problémem reinstalace stejného klíče v několika široce používaných protokolech, jako je WPA2, nemyslíte si, že možná přišel čas učinit vaše specifikace a testovací postupy spolehlivějšími? Už dost s tím, abychom se na realizátory standardů dívali jako na promyšlené partnery, kteří naslouchají vašim varováním. Nakládejte s nimi jako s (neúmyslnými) protivníky, kteří nevyhnutelně vše implementují špatně.

Nebo jako alternativu můžeme udělat to, co stále častěji dělají společnosti jako Facebook a Apple: zajistit, aby šifrování hlasových hovorů probíhalo na vyšší úrovni síťového zásobníku OSI, aniž bychom se spoléhali na výrobce mobilního zařízení. Dokonce bychom mohli prosazovat end-to-end šifrování hlasových hovorů, jak to dělá WhatsApp se Signálem a FaceTime, za předpokladu, že americká vláda prostě přestane nám házet klacky pod nohy. Poté (s výjimkou některých metadat) by mnohé z těchto problémů jednoduše zmizely. Toto řešení je zvlášť relevantní v době, kdy dokonce vlády si nejsou jisty, zda důvěřují svým dodavatelům zařízení..

Nebo můžeme jednoduše dělat to, co už udělaly naše děti: vzít a přestat odpovídat na ty otravné hlasové hovory.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster