Продемонстрирована базовая станция GSM на базе свободного ПО и бюджетного телефона

01.01.2013 19:29

На прошедшей в последние дни декабря 29 конференции Chaos Communication Congress (29C3) по традиции были показаны достижения инициативы по исследованию слабых мест протокола GSM и разработке открытой реализации стека для сетей GSM. На этот раз на конференции был продемонстрирован прототип передающей станции GSM, реализованный с использованием бюджетного мобильного телефона Motorola C123 (модель 2006 года), подключенного к ноутбуку со специализированным открытым ПО для дополнительных вычислений. Подготовленная связка обеспечивала передачу сигналов, обычно транслируемых базовой станцией GSM. При помощи анализатора трафика Wireshark было продемонстрировано, что несколько находящихся в зале мобильных телефонов посетителей конференции успешно подключились к созданной ячейке GSM-сети и даже осуществили через неё отправку SMS.

Для достижения подобного результата были задействованы ранее выявленные бреши в безопасности сетей GSM и новейшие разработки проекта OsmocomBB, в рамках которого ведётся исследовательская работа по созданию свободного GSM-стека для мобильных телефонов. Функциональность, необходимая для реализации базовой станции GSM, могла быть обеспечена и ранее, благодаря использованию свободных проектов OsmoBTS и OpenBSC, в сочетании со специализированными платами. Например, в прошлом году на базе указанных компонентов была организована работа самодостаточной GSM-сети. В нынешнем прототипе был использован выявленный разработчиками OsmocomBB факт, что для GSM-передачи можно обойтись без взаимной аутентификации между телефоном и GSM-сетью. Подобная особенность также может быть использована для обнаружения абонентов и осуществления прослушивания через создание IMSI-ловушек. Более того, используемый в GSM сетях алгоритм шифрования A5/1 недостаточно надёжен и создаваемую с его помощью защиту можно легко обойти (техника подслушивания переговоров была продемонстрирована ещё в 2010 году).

В качестве передающего узла был выбран телефон Motorola C123, который можно купить за несколько сотен рублей, так как в нём используется достаточно хорошо изученный baseband-процессор Texas Instruments Calypso, используемый для обеспечения работы GSM-стека и цифровой обработки сигналов. Для телефонов на базе платформы TI Calypso подготовлена собственная прошивка OsmocomBB, позволяющая полностью контролировать работу чипа. Реализованные в последнее время возможности OsmocomBB, позволили выйти за рамки работы в роли клиента и использовать используемую в телефоне платформу TI Calypso для превращения аппарата в приёмо-передающую станцию.

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

В докладе также упомянуто несколько других интересных открытый, выявленных при изучении телефонов на платформе TI Calypso. Например, оказалось, что можно запрограммировать генератор частоты телефона на использование нестандартных параметров синхронизации сигналов, используемых некоторыми коммерческими беспроводными мобильными системами. Кроме того, было выявлено несколько уязвимостей в цифровом сигнальном процессоре, что позволило изменить адрес начальной загрузки, кастомизировать код сигнального процессора для своих нужд и произвольно манипулировать модуляцией. В итоге, всё это позволило добиться от телефона поддержки приёма и отправки последовательностей сигналов в обычной ситуации поддерживаемых только базовыми станциями. При этом процесс демодуляции выполнялся на стороне ноутбука.

Во время демонстрации были показаны все стадии настройки фиктивной базовой станции: Вначале была произведена замена прошивки телефона на прошивку от проекта Osmocom. Затем была произведена установка пакета OpenBTS и выбор эталонной мобильной сети, в качестве которой использовалась не коммерческая сотовая сеть, а специально развёрнутая для участников конференции внутренняя GSM-сеть. После этого, был осуществлён выбор частоты сигнала сотовой сети, которая подлежит обязательному лицензированию (в эксперименте все требования были соблюдены и используемые частоты согласованы).

Все необходимые для повторения опыта исходные тексты планируется опубликовать в начале 2013 года. Из планов на будущее отмечается реализация OpenBSC, увеличение стабильности и создание решения, которое можно будет использовать на различных мобильных телефонах. Также не исключается обеспечение поддержки голосового канала связи и создание сниффера, реализованного в виде симулированной базовой станции. Желающим попрактиковаться с созданием базовых станций рекомендуется обязательно предварительно получить тестовую лицензию у соответствующих регулирующих органов. Кроме того, не следует терять здравый смысл и слишком далеко заходить в своих экспериментах, так как GSM используется для обеспечения некоторых критически важных сервисов.

Видеозаписи прозвучавших на конференции 29C3 выступлений уже опубликованы на FTP и частично размещены на официальном YouTube-канале конференции.