id: Гость   вход   регистрация
текущее время 01:42 25/04/2024
создать
просмотр
редакции
ссылки

Это старая редакция страницы Библиотека / Статьи / Eavesdropping On G S M / The Open Source Practical Implementation за 20/01/2011 10:52.


4. Практическое выполнение решения с открытым исходным кодом


Прослушивание GSM возможно — в продаже есть оборудование, способное прослушивать разговоры, шифрованные A5/1 и A5/2, но оно продаётся строго ограниченно правоохранительным органам и военным по высоким ценам. Так что вопрос состоит не в том, можно ли прослушивать GSM, а скорее в том, насколько сложно это сделать при помощи общедоступного оборудования.


Недавно множество проектов с открытым исходным кодом поставило перед собой цель доказать небезопасность GSM или просто выполнить важнейшие элементы GSM на основе открытых решений. Так насколько далеко зашли практические реализации всех трёх шагов из предыдущего раздела, выполненные открытым сообществом? Для каждого из этих шагов возможно использовать проекты с открытыми исходниками. Соответственно:


  1. USRP совместно с GnuRadio и AirProbe для перехвата сигналов.
  2. Kraken, для дешифровки перехваченных сигналов.
  3. OpenBTS, OpenBSC или AirProbe для интерпретации сообщений.

Поскольку проект AirProbe в действительности представляет собой набор утилит, используемых как для перехвата, так и для интерпретации импульсов передачи данных GSM, то он приведён в двух пунктах. Теперь можно детальнее рассмотреть каждый из этих проектов.

4.1 Перехват с использованием USRP совместно с GnuRadio и AirProbe


Перехват сигналов GSM может быть осуществлён путём совместного использования USRP и GNU Radio. Универсальная програмируемая радиопериферия (USRP) — это открытая аппаратура, разработанная Мэттом Эттасом, которую можно заказать через его компанию Ettus Research [11]. Это передатчик, который может быть подсоединён к компьютеру и приспособленный к определённым частотам за счёт дополнения платами расширения. USRP содержит программируемый FPGA (ПЛИС), который может быть использован для выполнения некоторых видов обработки сигналов. В стандартной конфигурации USRP создаёт 16-битные I и Q сэмплы при приёме заданной частоты. Эти комплексные сэмплы с реальной частью (Q) описывают косинус сигнала, а мнимая часть (I) описывает синус сигнала плюс 90 градусов. Таким образом, один сэмпл занимает 32 бита и может быть послан на хост-компьютер через коммуникационный порт для дальнейшей обработки.


На данный момент существует два типа оборудования: USRP и USRP2. USRP (или USRP1) может принимать сигналы в диапазоне шириной 32 MHz и передавать в диапазоне шириной 64 MHz. Он передаёт сэмплы на хост-компьютер через соединение USB2.0, которое имее практически максимальную пропускную способность 32 Мбайта/сек. USRP2 может принимать на диапазоне шириной 50MHz и передавать на диапазоне шириной 200MHz. В сравнении с USRP1, USRP2 также содержит более быструю FPGA (ПЛИС) и гигабитный этернет-порт вместо USB-соединения.


USRP2 содержит внутренний генератор частоты 64 MHz (кристаллический clock-осциллятор), в то время как большинство GSM-телефонов имеют символьный clock-генератор со значительно большей степенью точности. Разумеется, 64 MHz сэмплы могут быть пересэмплированы (как перемноженные или составные от) 13 MHz, однако это внесёт дополнительные вычислительные затраты. При этом USRP-осцилляторы значительно менее аккуратны и могут показывать значительный дрейф по отношению к системным часам GSM, что приводит к плохим результатам приёма. Использование более точных внешних часов позволяет получить импульсы (составные) 13 MHz, которые решают эту проблему.


GNU Radio [12] — это свободная программная утилита под GPL-лицензией для создания программного радио. Она была начата Эриком Блоссом. Она работает для множества различных типов радиоаппаратуры, включая звуковые карты, но в большей степени используется в комбинации с USRP. В основном GNU Radio — это библиотека, содержащая множество стандартных функций обработки сигналов, таких как фильтры и (де)модуляторы.


GNU Radio по умолчанию не содержит специальных средств прослушивания GSM. Однако GNU Radio может быть использовано совместно с другими программными пакетами, такими как AirProbe для выполнения низкоуровневых функций прослушивания GSM, таких как приём и демодуляция. AirProbe [13] — это проект с открытым исходным кодом, пытающийся создать средства интерфейса для GSM (и в будущем возможно 3G) стандартов мобильной связи. Одна из частей проекта работает с приёмом GSM-сигналов (с использованием функций GNU-радио), в то время как другая часть может быть также использована для интерпретации GSM-сигналов, всвязи с чем мы вернёмся к AirProbe в разделе 4.3. В данный момент AirProbe способен прослушивать только обратный линк (сотовая вышка → мобильный телефон) разговора, поэтому всё ещё требуется некоторая дальнейшая разработка.


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


Назад | Оглавление | Дальше