Рассуждения на тему безопасности GSM
07.03.2018
Защита 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. Сети поколения 5G еще более защищены с точки зрения “старых” атак с помощью фальшивых базовых станций. Тем не менее, проблемы безопасности даже в сетях 5G еще остались, в том числе связанные с вопросами отслеживания абонентов.
В качестве итога можно посоветовать для обеспечения гарантированной конфиденциальности пользоваться сторонними средствами шифрованного VoIP или шифрованными средствами передачи сообщений (только не skype - про это отдельный разговор).
Ну а тем, кто совсем параноидально боится слежки - вообще выбросить сотовый телефон, потому что c помощью него еще и местоположения абонента легко вычислить, но и это тема еще одного разговора.