Атака тыдня: галасавыя званкі ў LTE (ReVoLTE)

Ад перакладчыка і TL;DR

  1. TL; DR:

    Падаецца, VoLTE апынуўся абаронены яшчэ горш чым першыя Wi-Fi кліенты з WEP. Выключна архітэктурны пралік, які дазваляе крыху паXOR'іць трафік і аднавіць ключ. Атака магчыма, калі знаходзіцца побач з тым, хто тэлефануе, і той часта робіць званкі.

  2. Дзякуй за навядзенне і TL;DR Klukonin

  3. Даследчыкі зрабілі прыкладанне для вызначэння, ці ўразлівы ваш аператар, падрабязней тут. Падзяліцеся ў каментарах вынікамі, у маім рэгіёне на Мегафоне VoLTE адключаны.

Пра аўтара

Мэцью Грын (Matthew Green).

Я крыптограф і прафесар універсітэта Джона Хопкінса. Я распрацоўваў і аналізаваў крыптаграфічныя сістэмы, якія выкарыстоўваюцца ў бесправадных сетках, плацежных сістэмах і платформах абароны лічбавага кантэнту. У сваіх даследаваннях я разглядаю розныя спосабы выкарыстання крыптаграфіі для павышэння ўзроўню канфідэнцыйнасці карыстальнікаў.

Даўно я не пісаў пост фармату «атака тыдня», І гэта мяне хвалявала. Не таму, што не было нападаў, а ў асноўным таму, што не было атакі на нешта дастаткова шырока выкарыстоўванае, каб вывесці мяне з творчага крызісу.

Але сёння я натыкнуўся на цікавую атаку пад назовам ReVoLTE на пратаколы, узлом якіх мяне асабліва цешыць, а менавіта, пратаколы сотавых сетак (voice over) LTE. Я ў захапленні ад менавіта гэтых пратаколаў - і гэтага новага нападу - таму што вельмі рэдка можна назіраць узлом рэальных пратаколаў і рэалізацый сотавых сетак. У асноўным таму, што гэтыя стандарты распрацаваны ў пракураных пакоях і аформлены ў 12000-старонкавых дакументах, якія здужае не кожны даследчык. Больш за тое, рэалізацыя гэтых нападаў прымушае даследчыкаў выкарыстоўваць няпростыя радыё-пратаколы.

Такім чынам, сур'ёзныя крыптаграфічныя ўразлівасці могуць распаўсюдзіцца па ўсім свеце, і магчыма будуць выкарыстаныя толькі ўрадамі, перш чым які-небудзь даследнік зверне на іх увага. Але час ад часу бываюць выключэнні, і сённяшняя атака - адна з іх.

Аўтары атакі: Дэвід Рупрэхт (David Rupprecht), Катарына Коўлс (Katharina Kohls), Торстэн Хольц (Thorsten Holz) і Крысціна Пепер (Christina Pöpper) з Рурскага ўніверсітэта ў Бохуме і Нью-Йоркскага ўніверсітэта Абу-Дабі. Гэта выдатная атака на рэінсталяцыю ключа ў галасавым пратаколе, які вы, верагодна, ужо выкарыстоўваеце (калі выказаць здагадку, што вы са старэйшага пакалення, якое ўсё яшчэ здзяйсняе тэлефонныя званкі з дапамогай мабільнага тэлефона).

Для пачатку - кароткі гістарычны экскурс.

Што такое LTE і VoLTE?

Аснова нашых сучасных стандартаў сотавай тэлефаніі была закладзена ў Еўропе яшчэ ў 80-х гадах стандартам Глабальная сістэма для мабільных (Глабальная сістэма мабільнай сувязі). GSM быў першым асноўным стандартам лічбавай сотавай тэлефаніі, які ўвёў шэраг рэвалюцыйных функцый, напрыклад, выкарыстанне шыфравання для абароны тэлефонных званкоў. Ранні GSM быў распрацаваны ў першую чаргу для галасавой сувязі, хаця за грошы можна было перадаваць і іншыя дадзеныя.

Па меры таго, як у сотавай сувязі павялічвалася важнасць перадачы даных, былі распрацаваны стандарты Long Term Evolution (LTE) для рацыяналізацыі гэтага тыпу сувязі. LTE грунтуецца на групе больш старых стандартаў, такіх як GSM, EDGE и HSPA і прызначаны для павышэння хуткасці абмену дадзенымі. У гэтай галіне ёсць шмат брэндаванасці і ўвядзення ў зман няправільнымі абазначэннямі, але TL;DR складаецца ў тым, што LTE – гэта сістэма перадачы дадзеных, якая служыць мастом паміж старымі пратаколамі пакетнай перадачы дадзеных і будучымі тэхналогіямі сотавай перадачы дадзеных 5G.

Зразумела, гісторыя кажа нам аб тым, што як толькі будзе дастаткова (IP) паласы прапускання, такія паняцці, як "голас" і "дадзеныя" пачнуць размывацца. Тое ж самае ставіцца і да сучасных сотавых пратаколаў. Каб зрабіць гэты пераход больш плыўным, стандарты LTE вызначаюць Voice-over-LTE (VoLTE), які ўяўляе сабой IP-стандарт для перадачы галасавых выклікаў непасрэдна праз плоскасць перадачы дадзеных сістэмы LTE, цалкам абыходзячы камуціруемую частку сотавай сеткі. Як і ў выпадку стандартных VoIP-званкоў, VoLTE-званкі могуць быць тэрмінаваны аператарам сотавай сувязі і падлучаныя да звычайнай тэлефоннай сеткі. Або (што становіцца ўсё больш распаўсюджанай з'явай) яны могуць быць маршрутызаваны непасрэдна ад аднаго сотавага кліента да іншага, і нават паміж рознымі правайдэрамі.

Як і стандартная VoIP, VoLTE заснавана на двух папулярных пратаколах на базе IP: пратакол ініцыявання сеансу (Пратакол ініцыяцыі сесіі – SIP) для ўстаноўкі выкліку, і транспартны пратакол у рэальным часе (Real Time Transport Protocol, Які павінен называцца RTTP, але на самой справе называецца RTP) для апрацоўкі галасавых дадзеных. VoLTE таксама дадае некаторыя дадатковыя аптымізацыі прапускной здольнасці, такія як сціск загалоўкаў.

Добра, якое дачыненне гэта мае да шыфравання?

LTE, як і GSM, мае стандартны набор крыптаграфічных пратаколаў для шыфравання пакетаў падчас іх перадачы па паветры. Яны ў асноўным прызначаны для абароны вашых дадзеных падчас іх перасоўвання паміж тэлефонам (званым «абсталяваннем карыстача», ці UE) і вышкай сотавай сувязі (ці ўсюды, дзе ваш правайдэр вырашае тэрмінаваць злучэнне). Гэта адбываецца таму, што правайдэры сотавай сувязі разглядаюць вонкавыя прылады падслухоўвання як ворагаў. Ну зразумела.

(Аднак той факт, што злучэнні VoLTE могуць адбывацца непасрэдна паміж кліентамі ў розных сетках правайдэраў, азначае, што сам пратакол VoLTE мае некаторыя дадатковыя і неабавязковыя пратаколы шыфравання, якія могуць адбывацца на больш высокіх сеткавых узроўнях. Гэта не адносіцца да бягучага артыкула, за выключэннем таго факту, што яны могуць усё сапсаваць (мы сцісла пагаворым пра іх далей).

Гістарычна шыфраванне ў GSM мела мноства слабых месцаў: дрэнныя шыфры, пратаколы, у якіх толькі тэлефон аўтэнтыфікаваўся на вышцы (гэта азначае, што зламыснік мог выдаць сябе за вышку, спараджаючы "Stingray") і гэтак далей. LTE выправіў многія з відавочных памылак, захаваўшы аднак пры гэтым большую частку ранейшай структуры.

Давайце пачнем з самага шыфравання. Калі выказаць здагадку, што стварэнне ключа ўжо адбылося – і мы пагаворым пра гэта праз хвіліну – то кожны пакет дадзеных шыфруецца з дапамогай струменевага рэжыму шыфравання з дапамогай нейкага шыфра пад назовам «EEA» (які на практыцы можа быць рэалізаваны з дапамогай такіх штук, як AES ). Па сутнасці, тут механізмам шыфравання з'яўляецца CTR, як паказана ніжэй:

Атака тыдня: галасавыя званкі ў LTE (ReVoLTE)
Асноўны алгарытм шыфравання пакетаў VoLTE (крыніца: ReVoLTE). EEA – шыфр, «COUNT» – 32-бітны лічыльнік, «BEARER» – унікальны ідэнтыфікатар сесіі, які падзяляе злучэнні VoLTE і звычайны інтэрнэт-трафік. "DIRECTION" паказвае, у якім кірунку ідзе трафік - ад UE да вышкі ці наадварот.

Бо сам алгарытм шыфравання (EEA) можа быць рэалізаваны з выкарыстаннем моцнага шыфра тыпу AES, то малаверагодна, што будзе якая-небудзь прамая атака на сам шыфр, як гэта бывала ў часы GSM. Аднак, відавочна, што нават пры моцным шыфры гэтая схема шыфравання ўяўляе сабой выдатны сродак стрэліць сабе ў нагу.

У прыватнасці: у стандарце LTE выкарыстоўваецца (неаўтэнтыфікаваны) струменевы шыфр з рэжымам, які будзе вельмі ўразлівы, калі лічыльнік - і іншыя ўваходы, такія як "bearer" і "direction" - калі-небудзь будуць выкарыстоўвацца паўторна. У сучаснай мове тэрмін для гэтага паняцця - "атака з паўторным выкарыстаннем nonce", але патэнцыйныя рызыкі тут не з'яўляюцца чымсьці сучасным. Яны вядомыя і старажытныя, узыходзячыя да часоў глэм-метала і нават дыска.

Атака тыдня: галасавыя званкі ў LTE (ReVoLTE)
Напады на перавыкарыстанне nonce у CTR-рэжыме існавалі яшчэ тады, калі Poison сталі вядомыя

Дзеля справядлівасці, у стандартах LTE сказана: «Не выкарыстоўвайце гэтыя лічыльнікі паўторна, ну калі ласка». Але стандарты LTE займаюць каля 7000 старонак, і ў любым выпадку, гэта ўсё роўна, што маліць малых не гуляць з пісталетам. Яны непазбежна гэта зробяць, і адбудуцца жахлівыя рэчы. У дадзеным выпадку разряжающимся пісталетам з'яўляецца напад з паўторным выкарыстаннем струменя ключа, у якой два розных канфідэнцыйных паведамлення XOR-ят з аднымі і тымі ж байтамі струменя ключа. Вядома, што гэта вельмі разбуральна ўплывае на канфідэнцыйнасць паведамленняў.

Што ж такое ReVoLTE?

Атака ReVoLTE дэманструе, што на практыцы гэтая вельмі ўразлівая канструкцыя шыфравання няправільна выкарыстоўваецца рэальным абсталяваннем. У прыватнасці, аўтары аналізуюць рэальныя званкі VoLTE, зробленыя з выкарыстаннем камерцыйнага абсталявання, і паказваюць, што яны могуць выкарыстоўваць нешта, званае "нападам на пераўсталёўку ключа". (Вялікая заслуга ў знаходжанні гэтай праблемы належыць Рэйзе і Лу (Raza & Lu), якія першымі паказалі на патэнцыйную ўразлівасць. Але даследаванні ReVoLTE ператвараюць яе ў практычную атаку).

Давайце я пакажу вам сцісла сутнасць нападу, хоць вам варта паглядзець і зыходны дакумент.

Можна выказаць здагадку, што як толькі LTE усталёўвае злучэнне пакетнай перадачы дадзеных, задача перадачы голасу па LTE становіцца толькі пытаннем маршрутызацыі галасавых пакетаў па гэтым злучэнні разам са ўсім астатнім вашым трафікам. Іншымі словамі, VoLTE будзе канцэпцыяй, якая існуе толькі над 2 узроўнем [мадэлі OSI – заўв зав.]. Гэта не зусім так.

Фактычна, канальны ўзровень LTE уводзіць паняцце "bearer". Bearer - гэта асобныя ідэнтыфікатары сеансаў, якія падзяляюць розныя віды пакетнага трафіку. Звычайны інтэрнэт трафік (ваш Twitter і Snapchat) праходзіць праз адзін bearer. Сігналізацыя SIP для VoIP ідзе праз іншы, а пакеты галасавога трафіку апрацоўваюцца на трэцім. Я не вельмі добрае разбіраюся ў механізмах радыёканалаў і сеткавай маршрутызацыі LTE, але мяркую, што гэта зроблена менавіта так, таму што сеткі LTE жадаюць забяспечыць працу механізмаў QoS (якасці абслугоўвання), каб розныя струмені пакетаў апрацоўваліся з рознымі ўзроўнямі прыярытэту: г.зн. вашы другагатунковыя TCP злучэння з Facebook могуць мець больш нізкі прыярытэт, чым вашыя галасавыя званкі ў рэальным часе.

Гэта ўвогуле не праблема, але наступствы гэтага наступныя. Ключы для шыфравання LTE ствараюцца асобна кожны раз пры ўсталёўцы новага "bearer". У прынцыпе, гэта павінна адбывацца нанава кожны раз, калі вы робіце новы тэлефонны званок. Гэта прывядзе да таго, што для кожнага званка будзе выкарыстоўвацца розны ключ шыфравання, што выключае магчымасць паўторнага выкарыстання аднаго і таго ж ключа для шыфравання двух розных набораў пакетаў галасавых выклікаў. Сапраўды, стандарт LTE кажа нешта накшталт "вы павінны выкарыстоўваць розныя ключы кожны раз, калі вы ўсталёўваеце новы bearer для апрацоўкі новага тэлефоннага званка". Але гэта не значыць, што так адбываецца насамрэч.

Насамрэч, у рэальных рэалізацыях два розныя выклікі, якія адбываюцца ў непасрэднай часовай блізкасці, будуць выкарыстоўваць адзін і той жа ключ – нягледзячы на ​​тое, што паміж імі наладжваюцца новыя (аднайменныя) bearer. Адзіная практычная змена, якая адбываецца паміж гэтымі выклікамі, складаецца ў тым, што лічыльнік шыфравання скідаецца на нуль. У літаратуры такое часам называюць атакай на пераўсталёўку ключа. Можна сцвярджаць, што, па сутнасці, гэта памылка рэалізацыі, хаця ў гэтым выпадку рызыкі, як здаецца, у значнай ступені выцякаюць з самага стандарту.

На практыцы гэты напад прыводзіць да паўторнага выкарыстання струменя ключа, дзе зламыснік можа атрымаць зашыфраваныя пакеты $inline$C_1 = M_1 oplus KS$inline$ і $inline$C_2 = M_2 oplus KS$inline$, што дазваляе вылічыць $inline$C_1 oplus C_2 = M_1 oplus M_2$inline$. Яшчэ лепш, калі зламыснік ведае адну з $inline$M_1$inline$ або $inline$M_2$inline$, то ён можа адразу ж аднавіць іншую. Гэта дае яму моцны стымул даведацца адзін з двух незашыфраваных кампанентаў.

Гэта прыводзіць нас да поўнага і найболей эфектыўнага сцэнара нападу. Разгледзім атакавалага, які можа перахапляць радыётрафік паміж мэтавым тэлефонам і сотавай вышкай, і якому нейкім хітрым чынам "пашанцавала" запісаць два розныя званкі, дзе другі адбываецца адразу пасля першага. Цяпер уявіце сабе, што ён неяк можа адгадаць нешыфраваны змест аднаго са званкоў. Пры такой шчаслівай выпадковасці наш зламыснік можа поўнасцю расшыфраваць першы выклік, выкарыстоўваючы просты XOR паміж двума наборамі пакетаў.

Зразумела, поспех тут ні пры чым. Паколькі тэлефоны прызначаны для прыёму званкоў, зламыснік, які можа падслухаць першы званок, зможа ініцыяваць і другі званок менавіта ў той момант, калі скончыцца першы. Гэты другі званок, у выпадку паўторнага выкарыстання таго ж ключа шыфравання са лічыльнікам, скінутым на нуль, дазволіць аднавіць нешыфраваныя дадзеныя. Больш за тое, так як наш зламыснік фактычна кантралюе дадзеныя падчас другога выкліку, ён можа аднавіць змесціва першага выкліку - дзякуючы мноству спецыфічна рэалізаваных дробязяў, якія граюць на яго баку.

Вось выява агульнага плана нападу, узятая з зыходнага дакумента:

Атака тыдня: галасавыя званкі ў LTE (ReVoLTE)
Агляд атакі з дакумента ReVoLTE. Гэтая схема мяркуе, што адбываюцца два розныя выклікі з выкарыстаннем аднаго і таго ж ключа. Атакуючы кантралюе пасіўны сніфер (уверсе злева), а таксама другі тэлефон, з дапамогай якога ён можа здзейсніць другі званок на тэлефон ахвяры.

Дык атака і праўда працуе?

З аднаго боку, гэта сапраўды галоўнае пытанне для артыкула аб ReVoLTE. Тэарэтычна ўсе вышэйпералічаныя ідэі пышныя, але пакідаюць масу пытанняў. Такія як:

  1. Ці магчыма (акадэмічным даследчыкам) рэальна перахапіць VoLTE-злучэнне?
  2. Ці сапраўды рэальныя LTE-сістэмы пераўсталёўваюць ключы?
  3. Ці можаце вы на самой справе ініцыяваць другі званок дастаткова хутка і надзейна, каб тэлефон і вышка паўторна выкарыстоўвалі ключ?
  4. Нават калі сістэмы пераўсталёўваюць ключы, ці можаце вы на самой справе пазнаць нешыфраванае змесціва другога званка – улічваючы, што такія рэчы, як кодэкі і перакадоўка могуць цалкам змяніць (пабітавае) змесціва гэтага другога званка, нават калі ў вас ёсць доступ да "бітаў", выходным з вашага атакавалага тэлефона?

На некаторыя з гэтых пытанняў праца ReVoLTE адказвае сцвярджальна. Аўтары выкарыстоўваюць камерцыйны праграмна-рэканфігуруемы сніфер радыёструменю пад назвай Airscope для перахопу званка VoLTE з боку сыходнай лініі. (Я думаю, што простае авалоданне ПЗ і прыкладнае разуменне таго, як яно працуе, адняло месяцы жыцця ў небаракаў-аспірантаў - што тыпова для падобных акадэмічных даследаванняў).

Даследнікі выявілі, што для спрацоўвання паўторнага выкарыстання ключа другі званок павінен адбыцца дастаткова хутка пасля завяршэння першага, але не занадта – прыкладна праз дзесяць секунд для аператараў, з якімі яны эксперыментавалі. На шчасце, не мае значэння, адкажа ці карыстач на званок на працягу гэтага часу - "званок", г.зн. сама SIP-сувязь прымушае аператара паўторна выкарыстоўваць адзін і той жа ключ.

Такім чынам, многія з самых паршывых праблем круцяцца вакол праблемы (4) - атрыманне бітаў незашыфраванага змесціва выкліку, ініцыяванага атакавалым. Гэта адбываецца таму, што з вашым змесцівам можа шмат чаго адбыцца па меры таго, як ён пераходзіць ад тэлефона зламысніка да тэлефона ахвяры праз сотавую сетку. Напрыклад, такія поскудзі, як перакадаванне закадаванага гукавога струменя, якое пакідае гук ранейшым, але цалкам змяняе яго двайковае паданне. У сетках LTE таксама выкарыстоўваецца сціск загалоўкаў RTP, якое можа істотна змяніць большую частку RTP-пакета.

Нарэшце, пакеты, якія былі адпраўленыя зламыснікам, павінны выбудоўвацца прыкладна ў адну лінію з пакетамі, якія адправіліся падчас першага тэлефоннага званка. Гэта можа быць праблематычна, бо мадыфікацыя цішыні падчас тэлефоннага званка прыводзіць да карацейшых паведамленняў (т.зв. камфортны шум), якія могуць дрэнна сумяшчацца з зыходным званком.

Раздзел "real world attack" варта прачытаць ва ўсіх падрабязнасцях. У ім разглядаюцца многія з вышэйпералічаных праблем - у прыватнасці, аўтары выявілі, што некаторыя кодэкі не перакадаваны, і што прыкладна 89% двайковага прадстаўлення мэтавага выкліку можа быць адноўлена. Гэта актуальна як мінімум для двух еўрапейскіх аператараў, якія былі пратэставаны.

Гэта дзіўна высокі ўзровень поспеху, і, шчыра кажучы, нашмат больш высокі, чым я чакаў, калі пачынаў працу над гэтым дакументам.

Дык што мы можам зрабіць для выпраўлення?

Неадкладны адказ на гэтае пытанне лімітава просты: паколькі сутнасць уразлівасці ў нападзе на перавыкарыстанне (рэінсталяцыю) ключа, проста выпраўце гэтую праблему. Пераканайцеся, што для кожнага тэлефоннага званка атрыманы новы ключ, і ніколі не дазваляйце лічыльніку пакетаў скідаць лічыльнік назад на нуль з дапамогай таго ж самага ключа. Праблема вырашана!

А можа, і не. Для гэтага спатрэбіцца мадэрнізацыя вялікай колькасці абсталявання, і, шчыра кажучы, сам па сабе такі фікс не супернадзейны. Было б нядрэнна, калі б стандарты змаглі знайсці больш бяспечны спосаб рэалізацыі сваіх рэжымаў шыфравання, які не з'яўляецца па змаўчанні катастрафічна ўразлівым для падобных праблем перавыкарыстання ключоў.

Адным з магчымых варыянтаў з'яўляецца выкарыстанне рэжымаў шыфравання, пры якіх нямэтавае выкарыстанне nonce не прыводзіць да катастрафічных наступстваў. Гэта можа быць занадта дорага для некаторых сучасных апаратных сродкаў, але гэта, безумоўна, кірунак, аб якім праекціроўшчыкі павінны думаць у будучыні, асабліва улічваючы тое, што стандарты 5G вось-вось захопяць свет.

Гэта новае даследаванне таксама паднімае агульнае пытанне таго, чаму адны і тыя ж праклятыя атакі працягваюць узнікаць у адным стандарце за іншым, многія з якіх выкарыстоўваюць вельмі падобныя канструкцыі і пратаколы. Калі вы сутыкаецеся з праблемай рэінсталяцыі аднаго і таго ж ключа ў некалькіх шырока распаўсюджаных пратаколах, такіх як WPA2, вам не здаецца, што, можа быць, такі прыйшоў час зрабіць вашыя спецыфікацыі і працэдуры тэставання больш надзейнымі? Хопіць ужо ставіцца да рэалізатараў стандартаў як да ўдумлівых партнёраў, уважлівых да вашых папярэджанняў. Звяртайцеся з імі як з (ненаўмыснымі) супернікамі, якія непазбежна збіраюцца ўкараніць усё няправільна.

Ну ці як варыянт, мы можам зрабіць тое, што ўсё часцей робяць кампаніі тыпу Facebook і Apple: зрабіць так, каб шыфраванне галасавых званкоў адбывалася на больш высокім узроўні сеткавага стэка OSI, не належачы на ​​вытворцаў абсталявання сотавай сувязі. Мы нават можам прасоўваць скразное шыфраванне галасавых выклікаў, як гэта робяць WhatsApp з Signal і FaceTime, мяркуючы, што ўрад ЗША проста перастане ставіць нам падножкі. Тады (за выключэннем некаторых метададзеных) многія з гэтых праблем папросту б зніклі. Гэтае рашэнне асабліва актуальна ў свеце, дзе нават урады не ўпэўненыя, ці давяраюць яны сваім пастаўшчыкам абсталявання.

Ці мы можам проста рабіць тое, што ўжо зрабілі нашы дзеці: узяць і перастаць адказваць на гэтыя надакучлівыя галасавыя званкі.

Крыніца: habr.com

Дадаць каментар