Date Tags gsm / A5

Защита GSM

GSM - самый распространенный протокол сотовой связи. Это протокол второго поколения, т.н. 2G. И хотя уже даже в нашей стране используются 3G (UMTS) и 4G (LTE), GSM остается самым распространенным, т.к. накуплено оборудования и телефонов на очень большие суммы. Более того, распространение данного протокола обусловлено относительной дешевизной оборудования и хорошими свойствами распространения сигнала именно в 2G. На сегодняшний день, большинство голосового трафика идет по 2G, а следующие поколения используются только для данных. Именно поэтому вопрос о безопасности протокола GSM совсем не праздный.

Итак, трафик в радиоинтерфейсе GSM шифруются протоколом A5/1. Заметим, что шифруется только до базовой станции - дальше в проводах все открыто! A5/1 - это поточный шифр, основанный на трех линейных регистрах сдвига. Выходная гамма есть сумма старших битов регистров. По одному определенному биту в каждом регистре управляют движением регистров. Общая длина регистров 64 бита, и ровно столько же составляет ключ шифра.

Сама процедура шифрования состоит в следующем. Регистры находятся в нулевом состоянии. К младшим битам всех регистров добавляют биты ключа и они крутятся 64 раза. Затем еще 22 раза также к регистрам добавляется номер кадра разговора, который известен всем. При этих манипуляциях функция управления движением не работает. Далее она включается и все это крутится 100 раз. Затем генерируется гамма, 2 раза по 114 бит на шифрование входящего и исходящего кадра.

Мастер ключ для шифрования и аутентификации хранится на сим-карте. Для шифрования используется производный ключ, полученный из основного путем применения процедурой A8, похожей на ключевую функцию хэширования.

Активные атаки на gsm. Фальшивая базовая станция

Одной из возможных атак является подмена базовой станции. В gsm это возможно, поскольку аутентификация в данном стандарте односторонняя, т.е. аутентифицируется только абонент. Собирается некое устройство на основе несложного оборудования и свободного ПО. Данное устройство позиционирует себя как базовая станция gsm. Устройство размещают рядом с телефоном жертвы. Поскольку сигнал от этого девайся сильный или настройки параметров этого сигнала таковы, что телефон подключается к фальшивой станции по умолчанию и никак при этом пользователя не уведомляет. Далее, когда следует звонок с этого телефона, ложная станция выполняет роль человека посредине, перехватывает номер абонента и сама, в свою очередь, звонит абоненту уже от себя.

При этом ложная станция убеждает телефон включить режим A5/0, что соответствует отсутствию шифрование вообще.

Есть еще замечательное устройство - IMSI catcher. Это устройство, тоже прикидывается базовой станцией, но основное назначение у него узнать IMSI абонента. IMSI(International Mobile Subscriber Identity) - индивидуальный номер абонента. Получение этого номера крайне важно для атакующего. По нему можно определить многие параметры абонента, запросить у сети параметры маршрутизации звонков, можно использовать его для пассивных атак на голосовой трафик и для служб местоопределения и т.д. В открытом виде IMSI появляется очень редко, т.к. сеть старается вместо него использовать TIMSI - временный IMSI, но с помощью ложной базовой станции заставить телефон послать реальный IMSI можно.

Данные устройства сейчас собрать не так сложно. Существует открытое ПО (nanoBTS, OpenBTS) и различные недорогие железяки для этого (USRP, UmTRX). Эта атака много раз применялась на практике и тестировалась различными исследователями, т.е. она реально работает.

Сложности. После подключения к ложной станции телефон жертвы становится недоступным для исходной сети. Абонент жертвы не увидит на определителе своего телефона номер жертвы в случае звонка, это будет либо скрытый номер либо номер этой самой ложной станции. При переходе в режим a5/0 некоторые телефоны сообщает об этом абоненту. Однако, оказывается есть некая спецификация gsm, которая регламентирует возможность запрета сим-карте информировать абонента об отключении шифрования. И такие сим-карты есть в природе. И еще за телефоном жертвы нужно следовать с ложной станцией, чтобы он не отключился.

Атаки на A5/1. Теоретические изыскания.

Начиная с 1997 криптографы публиковали работы по анализу A5/1. Его стойкость снизили до 240, однако при достаточно большом материале. Данных атак много, и используют они как плохие свойства самого шифра, так и крайне слабую схему получения из ключа шифрования рабочих ключей( реального заполнения регистров). Есть мнение, что все это происки спецслужб для упрощения перехвата и дешифрования трафика. Как бы то ни было, факт налицо: 10 бит ключа принудительно занулили, вариант A5/2 вообще оказался хуже A5/1 и т.д.

Атаки на А5/1. Перебор.

Как часто бывает на практике, теоретические атаки хороши на бумаге, а схемы взламывают просто перебором (так было с des).

У gsm малая длинна ключа по сегодняшним меркам. Однако для прямого перебора все же текущих мощностей не достаточно, да и ждать долго. Пришлось применять метод Хелмана, а именно его вариацию на основе радужных таблиц.

Итак, стандарт gsm дает противнику множество заранее определенных посылок, это приводит к тому, что определенное число открытого текста известно противнику. Поскольку мы имеем дело с шифром гаммирования, то известным становится гамма. Задача перебора такова. По 64 битам известной гаммы найти состояние регистров A5/1, сразу после того момента, как завершилось подмешивание номера кадра, и которое приведет к данной гамме. Для этого создаются радужные таблицы (про это смотрите в нашем FAQе).

Известно о том, что в свое время стартовало много проектов по построению радужных таблиц для gsm. Часть из них завершены (http://opensource.srlabs.de/projects/a51-decrypt/files). В случае наличия "правильного" перехвата дешифрование становится делом нескольких минут.

Сложности. Данный проект предполагает, что имеется чистый перехват разговора в нужном моменте и нужного абонента. Однако для совершение сего необходимо решить кучу инженерных задач, сложность которых сопоставима со взломом A5/1. И пока простых решений нет, по крайней мере доступных.

В результате имеем, что безопасность протокола GSM ниже всякой критики. Да, в 3G дело обстоит лучше (там аутентификация двусторонняя), но как уже замечалось очень часто абонент сваливается в 2G, а это уже в помощь атакующему. Аутентификация в 4G полностью соответствует 3G, но поскольку голоса в 4G нет, то опять - смотри выше.

В качестве итога можно посоветовать для обеспечения гарантированной конфиденциальности пользоваться сторонними средствами шифрованного VoIP или шифрованными средствами передачи сообщений (только не skype - про это отдельный разговор).

Ну а тем, кто совсем параноидально боится слежки - вообще выбросить сотовый телефон, потому что c помощью него еще и местоположения абонента легко вычислить, но и это тема еще одного разговора.