Напад недеље: гласовни позиви преко ЛТЕ (РеВоЛТЕ)

Од преводиоца и ТЛ; ДР

  1. ТЛ; ДР:

    Чини се да је ВоЛТЕ још лошије заштићен од првих Ви-Фи клијената са ВЕП-ом. Искључиво архитектонска грешка која вам омогућава да мало КСОР-овите саобраћај и вратите кључ. Напад је могућ ако сте близу позиваоца и он често позива.

  2. Хвала на савету и ТЛ; ДР Клуконин

  3. Истраживачи су направили апликацију за утврђивање да ли је ваш оператер рањив, прочитајте више овде. Поделите резултате у коментарима, ВоЛТЕ је онемогућен у мом региону на Мегафону.

О аутору

Маттхев Греен.

Ја сам криптограф и професор на Универзитету Џон Хопкинс. Дизајнирао сам и анализирао криптографске системе који се користе у бежичним мрежама, системима плаћања и платформама за безбедност дигиталног садржаја. У свом истраживању разматрам различите начине коришћења криптографије за побољшање приватности корисника.

Прошло је доста времена откако сам написао формат поста "напад недеље", и то ме је узнемирило. Не зато што није било напада, већ углавном зато што није било напада на нешто што се довољно користи да ме извуче из блокаде писца.

Али данас сам наишао занимљив напад се зове РеВоЛТЕ за протоколе због којих сам посебно узбуђен због хаковања, односно ЛТЕ протокола мобилне мреже (воице овер). Узбуђен сам због ових конкретних протокола—и овог новог напада—јер је веома ретко видети да су стварни протоколи и имплементације мобилне мреже хаковани. Углавном зато што су ови стандарди развијени у просторијама пуним дима и документовани у документима од 12000 страница са којима не може сваки истраживач да се носи. Штавише, спровођење ових напада приморава истраживаче да користе сложене радио протоколе.

Стога би се озбиљне криптографске рањивости могле проширити по целом свету, можда само да би их владе искористиле, пре него што било који истраживач примети. Али с времена на време постоје изузеци, а данашњи напад је један од њих.

Аутори нападаСарадници: Давид Руппрецхт, Катхарина Кохлс, Тхорстен Холз и Цхристина Поппер са Рухр-Университи Боцхум и Нев Иорк Университи Абу Даби. Ово је одличан напад за поновно инсталирање кључа у гласовном протоколу који вероватно већ користите (под претпоставком да сте из старије генерације која још увек обавља телефонске позиве преко мобилног телефона).

За почетак, кратак историјски излет.

Шта су ЛТЕ и ВоЛТЕ?

Основа наших модерних стандарда мобилне телефоније постављена је у Европи још 80-их година по стандарду Глобални систем за мобилне (Глобални систем за мобилне комуникације). ГСМ је био први велики стандард дигиталне мобилне телефоније, који је увео низ револуционарних карактеристика, као што је употреба енкрипција за заштиту телефонских позива. Рани ГСМ је био дизајниран првенствено за говорну комуникацију, иако би новац могао бити преносе друге податке.

Како је пренос података постајао све важнији у ћелијским комуникацијама, развијени су стандарди Лонг Терм Еволутион (ЛТЕ) како би се ова врста комуникације поједноставила. ЛТЕ је заснован на групи старијих стандарда као што су ГСМ, ЕДГЕ и ХСПА и дизајниран је да повећа брзину размене података. Постоји много брендирања и доводе у заблуду нетачним ознакамаали ТЛ; ДР је да је ЛТЕ систем за пренос података који служи као мост између старијих протокола пакетних података и будућих технологија мобилних података 5G.

Наравно, историја нам говори да када буде довољно доступног (ИП) пропусног опсега, концепти као што су „глас“ и „подаци“ ће почети да се замагљују. Исто важи и за савремене ћелијске протоколе. Да би овај прелаз био лакши, ЛТЕ стандарди дефинишу Воице-овер-ЛТЕ (ВоЛТЕ), који је ИП стандард за пренос говорних позива директно преко нивоа података ЛТЕ система, заобилазећи у потпуности део мобилне мреже за диал-уп. Као и код стандарда ВоИП позиви,ВоЛТЕ позиве може прекинути мобилни оператер и повезати на редовну телефонску мрежу. Или (као што је све чешће) они може се рутирати директно од једног мобилног клијента до другог, па чак и између различитих провајдера.

Као и стандардни ВоИП, ВоЛТЕ је заснован на два популарна протокола заснована на ИП-у: Сессион Инитиатион Протоцол (Протокол за покретање седнице – СИП) за подешавање позива и транспортни протокол у реалном времену (Протокол транспорта у реалном времену, који би требало да се зове РТТП, али се заправо зове РТП) за обраду говорних података. ВоЛТЕ такође додаје неке додатне оптимизације пропусног опсега, као што је компресија заглавља.

У реду, какве ово везе има са шифровањем?

ЛТЕ, као ГСМ, има стандардни скуп криптографских протокола за шифровање пакета док се преносе ваздушним путем. Они су углавном дизајнирани да заштите ваше податке док путују између телефона (која се назива корисничка опрема или УЕ) и торња мобилне телефоније (или где год ваш провајдер одлучи да прекине везу). То је зато што мобилни провајдери виде спољне уређаје за прислушкивање као непријатеље. И наравно.

(Међутим, чињеница да се ВоЛТЕ везе могу јавити директно између клијената на различитим мрежама провајдера значи да сам ВоЛТЕ протокол има неке додатне и опционе протоколе за шифровање који се могу јавити на вишим слојевима мреже. Ово није релевантно за тренутни чланак, осим чињенице да могу све да покваре (о њима ћемо укратко даље).

Историјски гледано, шифровање у ГСМ-у је било многе слабе тачке: лоше шифре, протоколи у којима је само телефон аутентификован за торањ (што значи да би нападач могао да се лажно представља у торњу, генеришући "Стинграи") и тако даље. ЛТЕ је исправио многе очигледне грешке док је задржао већину исте структуре.

Почнимо са самим шифровањем. Под претпоставком да се креирање кључа већ догодило – а о томе ћемо за минут – онда се сваки пакет података шифрује коришћењем шифровања тока користећи нешто што се зове „ЕЕА“ (што се у пракси може применити коришћењем ствари као што је АЕС). У суштини, механизам шифровања је овде ЦТРкао испод:

Напад недеље: гласовни позиви преко ЛТЕ (РеВоЛТЕ)
Главни алгоритам шифровања за ВоЛТЕ пакете (извор: РеВоЛТЕ). ЕЕА је шифра, „ЦОУНТ“ је 32-битни бројач, „БЕАРЕР“ је јединствени идентификатор сесије који одваја ВоЛТЕ везе од редовног Интернет саобраћаја. „ПРАВАЦ“ означава у ком правцу се одвија саобраћај – од УЕ до торња или обрнуто.

Пошто сам алгоритам шифровања (ЕЕА) може да се имплементира коришћењем јаке шифре као што је АЕС, мало је вероватно да ће доћи до било каквог директног напада на саму шифру као што је овај догодило у време ГСМ-а. Међутим, јасно је да чак и уз јаку шифру, ова шема шифровања је одличан начин да пуцате себи у ногу.

Посебно: ЛТЕ стандард користи (неауторизовану) шифру тока са начином који ће бити изузетно рањив ако се бројач - и други улази као што су "носач" и "смер" - икада поново користе. У модерном језику, термин за овај концепт је „напад без поновне употребе“, али потенцијални ризици овде нису нешто модерно. Они су познати и древни, датирају из времена глам метала, па чак и дискотеке.

Напад недеље: гласовни позиви преко ЛТЕ (РеВоЛТЕ)
Напади на једнократну поновну употребу у ЦТР режиму постојали су чак и када је Поисон постао познат

Да будемо поштени, ЛТЕ стандарди кажу: „Немојте поново да користите ове мераче. Али ЛТЕ стандарди су дугачки око 7000 страница, а у сваком случају, то је као молити децу да се не играју пиштољем. Неизбежно хоће, и страшне ствари ће се десити. Пуцање у овом случају је напад поновне употребе кључног тока, у коме две различите поверљиве поруке КСОР исте бајтове тока кључева. Познато је да овај веома деструктивно утиче на поверљивост комуникација.

Шта је РеВоЛТЕ?

РеВоЛТЕ напад показује да, у пракси, овај веома рањив дизајн шифровања злоупотребљава хардвер из стварног света. Конкретно, аутори анализирају стварне ВоЛТЕ позиве направљене помоћу комерцијалне опреме и показују да могу да користе нешто што се зове „напад поновне инсталације кључа“. (Велика заслуга за проналажење овог проблема припада Реисе и Лу (Раза & Лу), који су први указали на потенцијалну рањивост. Али истраживање РеВоЛТЕ-а то претвара у практичан напад).

Дозволите ми да вам укратко покажем суштину напада, мада би требало да погледате и изворни документ.

Могло би се претпоставити да када ЛТЕ успостави везу за пакетни пренос података, задатак гласа преко ЛТЕ-а постаје само питање рутирања гласовних пакета преко те везе заједно са свим остатком вашег саобраћаја. Другим речима, ВоЛТЕ ће бити концепт који постоји само преко 2. ниво [ОСИ модели – прибл.]. Ово није сасвим тачно.

У ствари, слој ЛТЕ везе уводи концепт „носиоца“. Носиоци су засебни идентификатори сесије који раздвајају различите типове пакетног саобраћаја. Редовни интернет саобраћај (ваш Твитер и Снапцхат) иде преко једног носиоца. СИП сигнализација за ВоИП иде преко другог, а пакети говорног саобраћаја се обрађују кроз трећи. Нисам баш упућен у ЛТЕ радио и механизме мрежног рутирања, али верујем да се то ради на овај начин јер ЛТЕ мреже желе да примене КоС (квалитет услуге) механизме тако да се различити токови пакета обрађују на различитим нивоима приоритета: тј. твој другоразредни ТЦП везе са Фацебоок-ом могу имати нижи приоритет од ваших говорних позива у реалном времену.

Ово генерално није проблем, али последице су следеће. Кључеви за ЛТЕ енкрипцију креирају се засебно сваки пут када се инсталира нови „носач“. У суштини, ово би требало да се понови сваки пут када упутите нови телефонски позив. Ово ће довести до тога да се за сваки позив користи другачији кључ за шифровање, елиминишући могућност поновног коришћења истог кључа за шифровање два различита скупа пакета говорних позива. Заиста, ЛТЕ стандард каже нешто попут „требало би да користите другачији тастер сваки пут када инсталирате нови носилац за руковање новим телефонским позивом“. Али то не значи да се то заиста дешава.

У ствари, у реалним имплементацијама, два различита позива која се јављају у блиској временској близини користиће исти кључ – упркос чињеници да су нови носиоци истог имена конфигурисани између њих. Једина практична промена која се дешава између ових позива је да се бројач шифровања ресетује на нулу. У литератури се то понекад назива напад поновне инсталације кључа. Могло би се рећи да је ово у суштини грешка у имплементацији, иако се у овом случају чини да ризици у великој мери потичу из самог стандарда.

У пракси, овај напад резултира поновном употребом кључног тока, где нападач може да добије шифроване пакете $инлине$Ц_1 = М_1 оплус КС$инлине$ и $инлине$Ц_2 = М_2 оплус КС$инлине$, омогућавајући израчунавање $инлине$ Ц_1 оплус Ц_2 = М_1 оплус М_2$инлине$. Још боље, ако нападач зна једну од $инлине$М_1$инлине$ или $инлине$М_2$инлине$, онда може одмах да поврати другу. Ово му даје снажан подстицај сазнајте једну од две нешифроване компоненте.

Ово нас доводи до комплетног и најефикаснијег сценарија напада. Замислите нападача који може пресрести радио саобраћај између циљног телефона и торња мобилне телефоније и који се некако посрећи да сними два различита позива, при чему се други јавља одмах након првог. Сада замислите да би некако могао да погоди нешифровани садржај једног од позива. Са таквим случајност наш нападач може у потпуности дешифровати први позив користећи једноставан КСОР између два скупа пакета.

Наравно, срећа нема никакве везе са тим. Пошто су телефони дизајнирани да примају позиве, нападач који може да чује први позив моћи ће да започне други позив тачно у тренутку када се први заврши. Овај други позив, ако се поново користи исти кључ за шифровање са ресетовањем бројача на нулу, омогућиће обнављање нешифрованих података. Штавише, пошто наш нападач заправо контролише податке током другог позива, он може да поврати садржај првог позива - захваљујући многим посебно имплементираним ситнице, играјући на његовој страни.

Ево слике општег плана напада преузете из оригинални документ:

Напад недеље: гласовни позиви преко ЛТЕ (РеВоЛТЕ)
Преглед напада од РеВоЛТЕ документ. Ова шема претпоставља да се два различита позива обављају помоћу истог кључа. Нападач контролише пасивни њушкало (горе лево), као и други телефон, помоћу којег може да упути други позив на телефон жртве.

Дакле, да ли напад заиста функционише?

С једне стране, ово је заиста главно питање за чланак о РеВоЛТЕ-у. Све горе наведене идеје су теоретски одличне, али остављају много питања. Као такав:

  1. Да ли је могуће (за академске истраживаче) стварно пресрести ВоЛТЕ везу?
  2. Да ли се прави ЛТЕ системи заиста мењају?
  3. Да ли можете да покренете други позив довољно брзо и довољно поуздано да телефон и кула поново користе кључ?
  4. Чак и ако систем поново кључа, можете ли заиста знати нешифровани садржај другог позива – с обзиром на то да ствари као што су кодеци и транскодирање могу у потпуности променити (бит по бит) садржај тог другог позива, чак и ако имате приступ „битовима „долази са вашег нападачког телефона?

РеВоЛТЕ-ов рад даје потврдан одговор на нека од ових питања. Аутори користе комерцијални софтверски реконфигурабилни радио стреам сниффер тзв Аирсцопе да пресретнете ВоЛТЕ позив са стране довнлинк-а. (Мислим да је само хватање у коштац са софтвером и стицање грубе идеје о томе како он функционише требало месецима од живота сиромашних дипломираних студената – што је типично за овакву врсту академског истраживања).

Истраживачи су открили да да би поновна употреба кључа функционисала, други позив је морао да се деси довољно брзо након што се први завршио, али не пребрзо – око десет секунди за оператере са којима су експериментисали. На срећу, није битно да ли ће корисник одговорити на позив у овом року – „звони“ тј. Сама СИП веза приморава оператера да поново користи исти кључ.

Стога се многи од најлошијих проблема врте око проблема (4) - примања битова нешифрованог садржаја позива који је иницирао нападач. То је зато што се много тога може догодити вашем садржају док путује од телефона нападача до телефона жртве преко мобилне мреже. На пример, такви прљави трикови као што је поновно кодирање кодираног аудио тока, који оставља звук истим, али потпуно мења његову бинарну репрезентацију. ЛТЕ мреже такође користе компресију РТП заглавља, што може значајно да промени већи део РТП пакета.

Коначно, пакети које шаље нападач треба да буду отприлике у складу са пакетима послатим током првог телефонског позива. Ово може бити проблематично јер измена тишине током телефонског позива доводи до краћих порука (познатих као комфорна бука) које се можда неће добро уклопити у првобитни позив.

Одељак „напад у стварном свету“ Вреди детаљно прочитати. Он се бави многим од горе наведених проблема – посебно, аутори су открили да неки кодеци нису поново кодирани и да се отприлике 89% бинарне репрезентације циљног позива може опоравити. Ово важи за најмање два европска оператера која су тестирана.

Ово је изненађујуће висока стопа успеха, и искрено много већа него што сам очекивао када сам почео да радим на овом документу.

Дакле, шта можемо учинити да то поправимо?

Непосредан одговор на ово питање је веома једноставан: пошто је суштина рањивости напад поновне употребе (поновне инсталације) кључа, једноставно решите проблем. Уверите се да се за сваки телефонски позив добије нови кључ и никада не дозволите бројачу пакета да врати бројач на нулу користећи исти тастер. Проблем решен!

Или можда не. Ово ће захтевати надоградњу много опреме, а, искрено говорећи, таква поправка сама по себи није супер поуздана. Било би лепо када би стандарди могли да пронађу безбеднији начин за имплементацију својих начина шифровања који по подразумеваној вредности није катастрофално рањив на такве проблеме поновне употребе кључева.

Једна могућа опција је употреба начини шифровања у којима злоупотреба нонце не доводи до катастрофалних последица. Ово може бити прескупо за неки тренутни хардвер, али је свакако област о којој би дизајнери требало да размишљају у будућности, посебно пошто ће 5Г стандарди ускоро преузети свет.

Ова нова студија такође поставља опште питање зашто исти проклети напади се појављују у једном стандарду за другим, од којих многи користе веома сличне дизајне и протоколе. Када се суочите са проблемом поновног инсталирања истог кључа у више широко коришћених протокола као што је ВПА2, зар не мислите да је време да своје спецификације и процедуре тестирања учините робуснијим? Престаните да третирате имплементаторе стандарда као пажљиве партнере који су пажљиви на ваша упозорења. Третирајте их као (ненамерне) противнике који ће неизбежно погрешити.

Или, алтернативно, можемо да урадимо оно што компаније као што су Фацебоок и Аппле све више раде: да се шифровање гласовних позива дешава на вишем нивоу ОСИ мрежног стека, без ослањања на произвођаче мобилне опреме. Могли бисмо чак да се залажемо за енд-то-енд шифровање говорних позива, као што ВхатсАпп ради са Сигнал-ом и ФацеТиме-ом, под претпоставком да америчка влада једноставно престане саплести нас. Тада би (са изузетком неких метаподатака) многи од ових проблема једноставно нестали. Ово решење је посебно релевантно у свету где чак ни владе нису сигурне да ли верују својим добављачима опреме.

Или једноставно можемо да урадимо оно што су наша деца већ урадила: да престанемо да одговарамо на те досадне гласовне позиве.

Извор: ввв.хабр.цом

Додај коментар