Что это?
TETRA — один из стандаров служебной и ведомственной связи. Обычно используется такими службами, как пожарные, скорая помощь, полиция, охрана, а так же военными. Насколько я знаю, в Москве её использует ФСО, а так же службы метрополитена (MCC/MNC 250/99), железнодорожники (MCC/MNC 250/208) и аэропорт Домодедово (MCC/MNC 250/50). Возможно кто-то ещё — напишите мне, если вы знаете.
GMR-1 — один из стандартов спутниковой связи. Например, в э том стандарте работает система связи Thuraya. Интересная особенность этого стандарта заключается в том, что его разработчики взяли из GSM все верхние уровни протоколов, и поменяли только физический уровень. В итоге телефоны Thuraya могут работать как в обычных сетях GSM, так и в качестве спутникового телефона. В телефоны Thuraya можно вставить SIM-карту обычного сотового оператора и получить роуминг через спутниковый канал.
Открытые реализации
Физический уровень обоих стандартов основан на TDMA и похож на GSM, который хорошо знаком ребятам из Osmocom, и поэтому именно их начали реализовывать в open-source. Проект по приёму TETRA — OsmocomTETRA, по приёму Thuraya — OsmocomGMR.
Более подробно про открытую реализацию приёмника GMR-1, а так же про сам стандарт и особенности его безопасности, можно узнать из выступления позавчерашнего выступления Sylvain Munat у нас в хакспейсе — видео, слайды. Слайды полугодичной давности, поэтому Sylvain на ходу поправяет, что с тех пор изменилось.
(Не)защищёность TETRA
Стандарт разрабатывался специально для использования различными службами, ведомствами и военными. Поэтому безопасности было уделено большое внимание. Например, в отличие от GSM, телефон проверяет, что подключается к легитимной базовой станции. Было разработано несколько алгоритмов шифрования, лучшие из которых (по официальным заявлениям) обладают высокой стойкостью.
Но во всём этом есть одна большая проблема — шифрование было признано не обязательной опцией, и производители оборудования берут за её включение деньги. По слухам — около 100 USD за каждый терминал (aka телефон), плюс неопределённо большую сумму за операторское оборудование. В итоге, бОльшая часть сетей TETRA работает без шифрования — покупателям жалко платить деньги. И неважно, что этой связью пользуются службы, чувствительные к защищённости связи.
Но операторам хочется создать у людей чувство защищённости и иногда доходит до маразма. Harald Welte как-то показывал, что на сайте одного из операторов сети TETRA в Европе было написано, что сеть TETRA защищена, так как является цифровой, а не аналоговой сетью. Конечно, перехват TETRA куда сложнее, чем перехват простых раций, но это не делает сеть защищённой. Все кому хотелось скорее всего уже давно имеют соответствующее оборудование, благо стоит оно совсем недорого — для этого достаточно обычного ноутбука и «оборудования» на 2тыс.руб.
При подготовке к семинару мы проехались по Москве и посмотрели реальную ситуацию — шифрование не включено ни в одной из четрёх сетей, которые мы обнаружили. Причём одна из этих сетей (MCC/MNC 250/01) судя по всему покрывает всю Москву. Стандарт TETRA поддерживает два типа шифрования — air interface encryption (между терминалом и базовой станцией) и end-to-end encryption (между двумя телефонами). Возможно «Самые Важные Службы» используют как раз end-to-end шифрование, но в этом случае большое количество управляющей информации всё равно передаётся откртым текстом. Ну а «не самые важные службы» об end-to-end encryption не беспокоятся и их переговоры передаются открытым текстом.
В Бельгии шифрование в сетях TETRA тихо появилось только через 6 месяцев после того, как была публично опубликована информация о незащищённости их сетей. До этого они более 5 лет раобтали без какого бы то ни было шифрования. Я надеюсь, что мы через полгода обнаружим, что сети в Москве тоже стали использовать шифрование и не светят всеми внутренностями наружу.
Надо сказать, что ребята из Osmocom проделали хорошую работу и сделали несложный point-and-click интерфейс к OsmocomTETRA. Теперь поиск сетей TETRA — это увлекательное занятие, почти компьютерная игра.
PS Дайте знать, если у вас есть доступ к машинке для прошивке ключей в терминалы TETRA. Это может помочь дальнейшим исследованиям шифрования в TETRA.
(Не)защищёность GMR-1 / Thuraya
С незащищённостью Thuraya всё проще. Спецификации на используемое шифрование не были опубликованы, но недавно исследователи из Европы достали его из прошивки одного из телефонов. Выяснилось, что используется шифрование, похожее на GSM'овское A5/2, и к нему применяются те же самые подходы по вскрытию. Прямолинейный способ вскрытия шифра, преложенный те ми же исследователями, вскрывает его за ~30min на обычном современном компьютере. Есть способы вскрытия кода и за более короткое время (менее 1сек).
Единственное, что не даёт уже сейчас слушать звонки Thuraya, это недоступность голосового кодека, используемого в GMR-1 — вариация на тему AMBE от компании DVSI. В данный момент мы можем получить поток данных, соответствующий разговору, но не может преобразовать его в нормальный звук. Любая помощь в реверс-инжениринге кодека приветствуется.
Да, для приёма Thuraya использовали простую самопальную спиральную антенну с усилителем от GPS-антенны. Качество так себе, но пять каналов мы на нё приняли :)
И на последок — так как стандарт GMR-1 очень многое взял из GSM, то к нему должны быть применимы и многие классические атаки на GSM, такие как RACH DOS или IMSI detach. По очевидным причинам никто из известных мне разработчиков OsmocomGMR не пробовал их в реальности, но нет никаких оснований полагать, что они не будут работать.
Резюме
Нужно учитывать требования к безопасности при разработке стандартов, и проводить открытый аудит систем перед тем, как разворачивать их в широких масштабах. И включать шифрование в список обязательных опций. Или получится как с этими двумя системами связи.
Большую часть служебной связи шифровать незачем и ни к чему. Кому же нужно шифрование — пусть тратятся дополнительно. В американском цифровом стандарте APCO-25 шифрование также является отдельной опцией, а чтобы слушать нешифрованные переговоры — официально выпускаются приемники, никто это «незащищенностью» не называет. Во многих APCO-системах параллельно работают шифрованные и нешифрованные группы абонентов, а порой еще и аналоговые — кому уж что нужно... И тем более аналоговая радиосвязь ох как «не защищена», а ведь ее используют службы по всему миру!!!
Давайте все зашифруем и похороним радиомониторинг как увлечение. Наркотики и бухло, несомненно, безопасности служб вредят меньше.
Радиоперехват стал еще интереснее и возможностей больше для исследований. Настоящее искусство :)