Перехват разговоров в сети GSM

Переходим к рассмотрению взлома GSM. Статьи про уязвимости в A5/1 появились около 15 лет назад, но публичной демонстрации взлома A5/1 в ус- ловиях реального мира до сих пор не было. Более того, как видно из описания работы сети надо понимать, что помимо взлома самого алгоритма шифрования нужно решить еще ряд сугубо инженерных проблем, которые обычно всегда опускаются из рассмотрения (в том числе на публичных демонстрациях). Большинство статей по взлому GSM опираются на статью Эли Баркана в 2006 году и исследование Карстена Нола (Karsten Noh). В своей статье Баркан с соавторами показал, что т.к. в GSM коррекция ошибок идет до шифрования (а надо бы наоборот), возможно определенное уменьшение пространства поиска для подбора KC и реализация known– ciphertext атаки (при полностью пассивном прослушивании эфира) за прием- лемое время с помощью предварительно вычисленных данных. Сами авторы статьи говорят, что при приеме без помех для взлома в течение 2 минут требуется 50 терабайт предвычисленных данных. В той же статье (в разделе про A5/2) указывается, что сигнал из эфира всегда идет с помехами, которые усложняют подбора ключа. Для A5/2 приведен измененный алгоритм, который способен учитывать помехи, но при этом требует вдвое большего объема предвычисленных данных и, соответственно, время взлома увеличивает в два раз. Для A5/1 указана возможность построения аналогич- ного алгоритма, но сам он не приведен. Можно предположить, что в этом случае также нужно увеличить объем предвычисленных данных вдвое. Процесс подбора ключа A5/1 является вероятностным и зависит от времени, т.е. чем дольше идет прослушивание, тем больше вероятность подобрать KC. Таким образом, заявленные в статье 2 минуты – это примерное, а не гарантированное время подбора KC. Карстен Нол разрабатывает самый известный проект по взлому GSM сетей. Его фирма, занимающаяся проблемами компьютерной безопасности, собиралась к концу 2009 года выложить в открытый доступ радужные таблицы сессионных ключей алгоритма A5/1, который используется для шифрования речи в сетях GSM. Свой демарш против A5/1 Карстен Нол объясняет желанием привлечь внимание общественности к существующей проблеме и заставить операторов связи переходить на более совершенные технологии. Например, технология UMTS предполагает использование 128 битного алгоритма A5/3, стойкость которого такова, что никакими доступными средствами на сегодняшний день взломать его не удастся. По расчетам Карстена, полная таблица ключей A5/1 в упакованном виде будет занимать 128 петабайт и распределенно храниться на множестве компьютеров в сети. Для ее расчета потребуется около 80 компьютеров и 2–3 месяца работы. Существенное уменьшение времени вычислений должно оказать использование современных CUDA графических карт и программируемых массивов Xilinx Virtex. В частности много шума наделало его выступление на 26С3 (Chaos Communication Congress) в декабре 2009 года. Кратко сформулировать суть выступления можно так: в скором времени можно ожидать появление бюджетных системы для онлайн декодирования A5/1. Переходим к инженерным проблемам. Как получить данные из эфира? Для перехвата разговоров надо иметь полноценный сканер, который должен уметь разбираться, какие базовые вещают вокруг, на каких частотах, каким операторам они принадлежат, какие телефоны с какими TMSI в настоящий момент активны. Сканер должен уметь следить за разговором с указанного телефона, корректно обрабатывать переходы на другие частоты и базовые станции. В интернете есть предложения по приобретению подобного сканера без дешифратора за 40–50 тыс. долларов. Это нельзя назвать бюджетным устройством. Таким образом, для создания прибора, который после несложных манипуляций мог начинать прослушивать разговор по телефону, необходимо:

а) реализовать часть, которая работает с эфиром. В частности, позволяет указать, какой из TMSI соответствует искомому телефону или с помощью активных атак заставить телефоны «обнаружить» свои реальные IMSI и MSISDN;

б) реализовать алгоритм подбора KC для A5/1, хорошо работающий на реальных данных (с помехами/ошибками, пропусками и т.п.);

в) рассчитать для него «радужные таблицы» (rainbow tables);

г) объединить все эти пункты в законченное работающее решение.

Карстен и остальные исследователи в основном решают пункт «в». В частности он его коллеги предлагают использовать OpenBTS, airdump и Wireshark для создания перехватчика IMSI (IMSI catcher). Пока можно сказать, что это устройство эмулирует базовую станцию и встраивается между MS и настоящей базовой станцией. Докладчики утверждают, что SIM–карта легко может запретить телефону показывать, что он работает в режиме шифрования A5/0 (т.е. без шифрования вообще) и что большинство SIM–карт в обороте именно такие. Это действительно возможно. В GSM 02.07, написано (Normative Annex B.1.26), что SIM–карта содержит специальный бит OFM в поле Administrative, который при значении равном единице, приведет к запрету индикации шифрования соединения (в виде амбарного замочка). В GSM 11.11 указаны следующие права доступа к этому полю: чтение доступно всегда, а права на запись описаны как «ADM». Конкретный набор прав, регулирующих запись в это поле, задается оператор на этапе создания SIM–карт. Таким образом, докладчики надеются, что большая часть карт выпускается с установленным битом и телефоны у них действительно не показывают индикацию отсутствия шифрования. Это действительно существенно облегчает работу IMSI сatcher–а т.к. владелец телефона не может обнаружить отсутствие шифрования и что–то заподозрить. Интересная деталь. Исследователи столкнулись с тем, что прошивки телефонов тестируются на соответствие спецификациям GSM и не тестируются на обработку нештатных ситуаций, поэтому, в случае некорректной работы базовой станции (например, «подставная» OpenBTS, которая использовалась для перехвата) телефоны зачастую зависают. Наибольший резонанс вызвало заявление, что всего за $1500 можно из USRP, OpenBTS, Asterisk и airprobe собрать готовый комплект для прослушивания разговоров. Эта информация широко разошлась по Интернету, только авторы этих новостей и производных от них статей забыли упомянуть, что сами докладчики деталей не предоставили, а демонстрация не состоялась. В декабре 2010 года Карстен и Мунот (Sylvain Munaut) снова выступил на конференции 27С3 с докладом про перехват разговоров в GSM сетях. На этот раз они представили более полный сценарий, но в нем присутствует множество «тепличных» условий. Для обнаружения местоположения они используют интернет–сервисы, которые дают возможность вбрасывать в сеть SS7 запросы «send routing info». SS7 – это сеть/стек протоколов, которые используются для общения телефонных операторов (GSM и «наземных») друг с другом и для общения компонент сети GSM друг с другом. Далее авторы делают ссылку на реализацию мобильной связи в Германии. Там полученное в результате запроса RAND хорошо коррелирует с кодом региона (area code/zip code). Поэтому такие запросы там дают возможность определить с точностью до города или даже части города, где в Германии находится этот абонент. Но так делать оператор не обязан. Теперь исследователи знают город. После этого они берут сниффер, едут в найденный ранее город и начинают посещать все его LAC. Приехав на территорию, которая входит в какой–то LAC, они посылают жертве SMS и слушают, идет ли пейджинг(paging) телефона жертвы (это происходит по незашифрованному каналу, во всех базовых сразу). Если вызов есть, то они получают сведения о TMSI, который был выдан абоненту. Если нет – едут проверять следующий LAC. Необходимо заметить, что т.к. IMSI при пейджинге не передается (и исследователи его не знают), а передается только TMSI (который они и хотят узнать), то производится «атака по времени» (timing attack). Они посылают несколько SMS с паузами между ними, и смотрят, для каких TMSI производится пейджинг, повторяя процедуру до тех пор, пока в списке «подозрительных» TMSI не останется только один (или ни одного). Чтобы жертва не заметила такого «прощупывания», посылается такой SMS, который не будет показан абоненту. Это или специально созданный flash sms, или неверный (битый) SMS, который телефон обработает и удалит, при этом пользователю ничего показано не будет. Выяснив LAC, они начинают посещать все соты этого LAC, посылать SMS–ки и слушать отклики на пейджинг. Если есть ответ, то жертва находится вот в этой соте, и можно начинать взламывать ее сессионный ключ (KC) и слушать ее разговоры. Перед этим необходимо записать эфир. Здесь исследователи предлагают следующее:

1) существуют производимые на заказ FPGA–платы, которые способны одновременно записывать все каналы либо uplink (канал связи от абонента (телефона или модема) к базовой станции сотового оператора), либо downlink (канал связи от базовой станции к абоненту) частот GSM (890–915 и 935–960 МГц соответственно). Как уже было отмечено, стоит такое оборудование 40– 50 тыс. долларов, поэтому доступность такого оборудования для простого ис- следователя безопасности сомнительна;

2) можно брать менее мощное и более дешевое оборудование и слушать часть частот на каждом из них. Такой вариант стоит примерно 3,5 тыс. евро с решением на базе USRP2;

3) можно сначала сломать сессионный ключ, и потом декодировать траффик «на лету» и следовать за сменой частоты (frequency hopping) при помощи четырех телефонов, у которых вместо родной прошивки стоит альтернативная прошивка OsmocomBB. Роли телефонов: 1–й телефон используется для пейджинга и контроля ответов, 2–й телефон выделен абоненту для разговора. При этом каждый телефон должен писать и прием и передачу. Это очень важный пункт. До этого момента OsmocomBB фактически не работал и за год (с 26С3 до 27С3) OsmocomBB был доделан до пригодного к использованию состояния, т.е. до конца 2010 года не было практического работающего решения. Взлом сессионного ключа. Находясь в одной соте с жертвой, они посылают ей SMS, записывают общение жертвы с базовой, и взламывают ключ, пользуясь тем, что во время установления сессии (session setup) происходит обмен множеством полупустых пакетов или с предсказуемым содержимым. Для ускорения взлома используются радужные таблицы. На момент проведения 26C3 эти таблицы были не так хорошо заполнены и взлом делался вовсе не за минуты и даже не за десятки минут (авторы упоминают час). То есть, до 27C3 даже у Карстена (основного исследователя в этой области) не было решения, которое позволяло взломать KC за приемлемое время (в течении которого, скорее всего, не произойдет смена сессионого ключа (rekeying)). Затем исследователи пользуются тем, что смена ключа редко делается после каждого звонка или SMS и сессионный ключ, который они узнали, не будет меняться в течение какого–то времени. Теперь, зная ключ, они могут декодировать зашифрованный траффик к/от жертвы в режиме реального времени, и делать смену частоты (frequency hopping) одновременно с жертвой. Для захвата эфира в этом случае реально достаточно четырех перепрошитых телефонов, так как не требуется писать все частоты и все таймслоты. Исследователи продемонстрировали эту технологию в работе. Правда «жертва» сидела на месте и обслуживалась одной сотой. Подводя промежуточный итог можно утвердительно ответить на вопрос о возможности перехвата и расшифровке на лету GSM разговоров. При этом надо иметь помнить следующее:

1) Технология, описанная выше не существует в виде, доступном для любого желающего (в т.ч. script kiddies). Это даже не конструктор, а заготовка для деталей конструктора, которые надо доделывать до пригодного к исполь- зованию состоянию. Исследователи неоднократно замечают, что у них нет четких планов по выкладыванию в общий доступ конкретики реализации. Это означает, что на основании этих наработок производители Ближнего Востока не изготавливают массово устройства за 100 долларов, которые могут слушать все.

2) OsmocomBB поддерживает только одно семейство чипов (хотя и самое распространенное).

3) Способ определения местоположения по запросам к HLR и перебору LAC работает скорее в теории, чем на практике. На практике злоумышленник или знает, где находится жертва физически, или не может попасть в туже соту что и жертва. Если злоумышленник не может послушать ту же соту, в ко- торой находиться жертва, то способ не работает. В отличие от демонстрации, в реальности в средней по нагрузке LA присутствуют тысячи пейджинговых сообщений. Более того, пейджинг работает не в момент отправки, а в определенные временные окна и пачками (по пейджинг–группам со своими очередями, номер которой есть остаток от деления IMSI на количество каналов, которое в каждой соте может быть свое), что опять усложняет реализацию.

4) Допустим, LA найден. Теперь надо “нащупать” ответ абонента. Передатчик телефона имеет мощность 1–2 ватта. Соответственно, проскани- ровать его с расстояния нескольких десятков метров тоже является задачей (не простой). Получается парадокс: LA накрывает, например, целую область (город). В ней, например, 50 сот, у некоторых из которых радиус действия доходит до 30 км. Мы пытаемся поймать и расшифровать на ненаправленную антенну излучение. Для реализации этой задачи в таком варианте требуется много оборудования. Если же исходить из предпосылки, при которой жертва находиться в прямой видимости, т.е. расстояния, на котором перехват выгля- дит более реалистичным, намного эффективнее и проще направленный мик- рофон. Надо отметить, что на демонстрации исследователи перехватывают свои телефоны на расстоянии 2–х метров.

5) Перемещение жертвы между сотами также вызывает проблемы, т.к. вам также надо перемещаться вместе с ней.

6) Телефоны, используемые в демонстрации, требуют аппаратной модификации, в них нужно убрать фильтр с антенны, в противном случае теле- фоны «чужой» uplink не «увидят». Фильтр в телефоне нужен для того что бы «слушать» не все частоты, а только «свою».

7) Если в сети регулярно происходит смена ключа (rekeying) или меняются TMSI (ни один из исследователей не учитывал это), то это способ не работает вообще или работает очень плохо (время расшифровки может оказаться больше чем время разговора).

8) Прослушивать всю сеть не получится, надо знать номер телефона.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: