Страх и ужас SS7

dqct4imttvqcogxxuhefsan75gy.png

В одной из недавних статей нашего блога: «Безопасные телефоны, градация прослушек, и методы защиты», было обсуждение общих принципов атак на сотовые телефоны. Теперь поговорим одном из конкретных векторов, а именно — взломе на основе уязвимости в протоколе: SS7. Так ли страшен черт, как его малюют?

История SS7


Как это чаще всего бывает, уязвимость тянется еще с тех времен, когда никто не предполагал, что протоколом будут пользоваться настолько массово, а сделан он был для совсем других объемов телефонных емкостей и с подходом к шифрованию — «еще тех времен». Подобные проблемы, когда используется «старое и проверенное временем» решение, авторы которого не задумывались о дальнейшем масштабировании, к сожалению, довольно распространены.

qkwkq1sihlyhqefmblfbjc1r0rk.png


Табло показывает 3 января 1900 года, вместо 3 января 2000 года. Франция

Самый известный пример, наиболее истеричный и нелепый — «Проблема 2000», раздутая из того, что тип данных используемый для даты данных хранил только по два разряда, как во фразе, от которой Билл Гейтс уже устал открещиваться:»640 КБ должно хватить всем». Массовая паранойя превышала современную ковидную и продолжалась не один год, прочили падение всех банковских систем и самолетов, откат к каменному веку и прочие напасти. На деле же все прошло удивительно спокойно, никаких крупных сбоев не было даже в тех странах, которые этой проблемой не заморачивались. Зато было распилено несколько сотен олимпиардов иностранных денег, обогатив тьму «маректологов от айти».

uj33c6iwhfbfnhxrotpzkpbt9go.png

Увы, с обсуждаемым протоколом все совсем не так весело и безобидно. Наиболее распространенное его название звучит как «SS7», а расшифровывается эта аббревиатура: «Signaling System №7». «Сигнальная система» требуется для передачи служебных сообщений в телефонной сети. Первоначально они были предельно простые: сигнал об установлении соединения между абонентами; о том что линия занята; для передачи цифрового номера абонента и тому подобных данных, простых и незамысловатых, которые исчерпали себя, когда телефонная сеть стала стремительно расширяться, а ее устройство — еще более стремительно усложняться. С середины 70-х и до начала 80-х телефонные компании неспешно занимались разработкой усовершенствованной системы команд, седьмой по счету, которая и получила имя SS7.

tkzdc38rkg3g-6lvwkydgv_dqf8.png
ТBlueBox Стивена Возняка

Новая система отлично себя зарекомендовала, существенно выросла скорость передачи данных, до мизерных с современной точки зрения — 64 кбит/с, но существенно более высоких, чем считанные килобиты в прошлой версии. И она стала безопаснее, потому что управляющие сигналы были выделены в отдельный канал, недоступный обычному пользователю. Притчей во языцех стала история о том, как Джобс и Возняк хакали телефонную сеть с помощью свистка из коробки с хлопьями и устройством Blue Box. Это была атака на предыдущую версию протокола под названием SS6, до смешного примитивная, но эффективная. Седьмая версия исключала взлом с помощью таких простых способов
Первой внедрила эту систему американская компания AT&T, через несколько лет подтянулась Европа с Великобританией и к концу 80-х SS7 вытеснила весь зоопарк предыдущих поколений. Кроме очевидных преимуществ, повсеместное принятие этого протокола — обеспечило унификацию и совместимость телефонных сетей по всему миру, многие привычные услуги, такие как: АОН, удержание вызова, черные списки, переадресация, и даже СМС — стали возможны как раз благодаря новой версии.

Общие детали


Проблема пришла — откуда не ждали. Поскольку никто из создателей протокола не предполагал, что сигнальная линия будет использоваться для передачи чего-то кроме служебных сигналов, так как ее канал был отделен от голосовых и недоступен пользователям, то разработчики решили не расходовать понапрасну вычислительные ресурсы и передачу данных не шифровали. Вообще никак! В наше время о таком и подумать страшно. Повсеместное внедрение SSL на сайтах, активная популяризация шифрования всего и вся, VPN и мессенджеры с end-to-end шифрованием — современному пользователю доступна самая изощренная криптография, без всякого труда, проще даже чем PGP. Сайт работающий по протоколу http сегодня вызывает подозрение и недоумение, суды всего мира бьются над доступом к переписке пользователей в мессенджерах. А в середине 70-х никто и не предполагал, каких невиданных масштабов достигнет сеть Интернет.

Но, интернет начал свое победное шествие по планете и в начале 2000-х был разработан протокол SIGTRAN, который поддерживал все функции SS7, но еще мог выполнять адресацию по протоколу IP и передавать данные через SCTP, одному из транспортных протоколов типа TCP и UDP (старожилы с возрастом примерно как у SS7), но имеющий свои преимущества, такие как многопоточность, защиту от DDoS и некоторые другие. Все это позволило получить доступ в служебный канал SS7, который раньше был недоступен.

Благодаря тому, что шифрования в этом канале изначально не было, а оборудование, для ускорения и упрощения работы, проектировалось таким образом, что источник управляющего пакета не проверялся, потому что это очень серьезно замедлило бы работу всей сети — то злоумышленник получал полный контроль над ним, без особого труда, потому что его команды было не отличить от операторских. Достаточно было только иметь компьютер с необходимым набором софта и доступом в интернет. Особо неприятно то, что хакеру абсолютно не требуется находиться близко к взламываемому абоненту, он может атаковать из любой точки земного шара. Ситуация осложняется еще и тем, что работа с протоколом SS7, у подавляющего большинства провайдеров — зашита «в железе», а поменять аппаратную прошивку далеко не так просто, как накатить обновления обычной программы. Ко всему прочему — это весьма дорого и требует большего количества времени, потому организаторы связи не торопятся менять свое оборудование и переводить его на другие протоколы.

Что же можно сделать с помощью атаки на через этот протокол?
Если коротко — то почти все что угодно, потому что злоумышленник организует классический перехват по принципу MitM. Можно читать чужие СМС, подделывать USSD-запросы, определять местонахождение абонента и даже слушать его телефонные разговоры или отключить ему телефонную связь. Причем, взлом СМС сейчас стал намного опаснее, чем прямая прослушка, потому что перехваченные сообщения позволяют получить доступ к интернет-банкингу, украсть пароли для авторизации в соцсетях и мессенджерах, даже к «непробиваемому» Telegram. Двухфакторная авторизация не спасает, потому что хакеру будут доступны все коды передаваемые в сообщениях.

Некоторые подробности


Как же осуществляются такие атаки? Разберем, в общих чертах, их механизм, но без углубления в дебри понятные только инженерам с соответствующим образованием.
Вопреки распространенному мнению — телефонный номер (MSISDN: Mobile Subscriber Integrated Services Digital Number) уже давно не основной отличительный признак абонента, сейчас им является идентификатор СИМ-карты установленной в его телефоне: IMSI (International Mobile Subscriber Identity). Но, для того чтобы осуществить атаку через SS7, достаточно знать только номер абонента.

Получив доступ к оборудованию провайдера, которое принимает команды по протоколу SS7 — хакер, с помощью специального софта на своем компьютере, организует поддельную телефонную сеть, через которую отсылает СМС на номер жертвы. Оборудование провайдера строит маршрут до аппарата абонента, сопоставляя MSISDN с его IMSI, через базу данных HLR (Home Location Register), а потом послушно предоставляет взломщику не только идентификатор СИМ-карты жертвы, но и адрес коммутатора, который обслуживает его в данный момент (MSC/VLR: Mobile Switching Center / Visitor Location Register). После этого на коммутатор, отправляется запрос об идентификаторе базовой станции работающей с симкой жертвы. В интернете есть множество онлайн-сервисов, которые позволяют по идентификатору соты выдать ее координаты, а значит и примерное местоположение абонента, до нескольких десятков или сотен метров — по принципу всем известного A-GPS.

Геопозиция является приятным, но не самым важным бонусом для атакующего, его следующая цель — перехват СМС. Для этого он отправляет в базу HLR — IMSI жертвы и связывает его со своим коммутатором MSC/VLR. Теперь все сообщения будут идти к злоумышленнику, а чтобы атакуемый ничего не заметил, делается еще одно переопределение на реальный коммутатор обслуживающий телефон цели и тогда сообщение будет получено «как обычно».
Last but not least шаг — прослушивание телефонных переговоров. Взломщик, с помощью служебных команд SS7, подменяет в биллинге адрес абонента на свой, перехватывает запрос на оплату разговора и соединяется с тем человеком, которому звонила жертва. А после этого устраивает тройную конференц-связь. Поскольку современная аппаратура уже не такая медлительная, как старые шаговые АТС, то никаких таинственных щелчков и при этом пауз не появляется, все делается за микросекунды и совершенно незаметно.
И наконец — старый добрый отказ в обслуживании. Атакующий просто переводит вызовы на произвольные номера и жертва не может ни с кем связаться.

Известные примеры


Кажущаяся простота вызывает закономерный вопрос —, а сколько же подобных атак было произведено и как давно хакеры пользуются этой уязвимостью? Оказывается, не так уж и много.
Самые известные атаки, как и ожидалось — были продемонстрированы на хакерских конгрессах, в том числе и на обсуждаемом в прошлой статье «Chaos Computer Club». Хотя специалисты давно знали о проблемах этого протокола, одно из первых публичных обсуждений состоялось на CCC в 2008 году, немецкий эксперт по безопасности Тобиас Энгель, рассказал о способах слежки за абонентами сотовых сетей на основе этих уязвимостей, для которого достаточно знать только мобильный номер человека.

lwmr_tkwkzb0uuw7r7k5xmmztay.png


Тобиас Энгель выступает на CCC

Очередной всплеск интереса к SS7 произошел после откровений Сноудена в 2013 году, который рассказал о проекте SkyLock, в котором американские спецслужбы эксплуатировали описываемые уязвимости для слежки за людьми.

bpooxb_ly84cwaiiphilxl2ozuo.png


Описание возможностей SkyLock

Уже известный читателями Карстен Нол, в 2016 году поставил публичный эксперимент в эфире телепрограммы 60 Minutes телеканала CBS. Через уязвимость в SS7 он взломал телефон специально приглашенного для этого американского конгрессмена Теда Лье. Последнего это настолько впечатлило, что он официально потребовал провести расследование этой проблемы.

hpginpwyyf47ldp1tpglwdgaeeo.png7m0-m2yeeqxsharztqp8s5hjuua.png
Карстен Нол и Тед Лье

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

Так ли всё плохо на самом деле?


Читатель, впечатленный всей этой информацией, может решить, что взломать телефон через SS7 так просто, что любой скрипт-кидди может перехватить переписку своей одноклассницы.
На самом деле все намного сложнее и напоминает паранойю периодически возникающую после очередной фотографии курьера в метро, который держит в руках мобильный терминал для оплаты по банковским картам. Сразу начинается истерика «ААА! Он будет снимать деньги у всех к метро, пользуясь бесконтактной оплатой и не выходят за лимит не требующий пин-кода!!!». На деле же, эта атака хоть и возможна, но никогда не будет осуществлена. Потому что, во-первых, деньги с карт пойдут не курьеру —, а владельцу магазина, данные которого проверяются безопасниками банка до седьмого колена. Во-вторых, всякие лицензии и сборы на подключение эквайринга стоят много больше чем получится по быстрому украсть таким образом. В-третьих, никакие подобные транзакции не проводятся мгновенно, а деньги сначала замораживаются на счетах и долг ждут окончательного подтверждения законности транзакции, и будут откачены обратно, как только раскроется мошенничество. Но население азартно паникует, не смотря ни на что.

Примерно также выглядят и страшилки на тему SS7, потому что перед злоумышленником стоит несколько серьезных проблем.
Во-первых, надо иметь узкоспециализированный софт для работы с этим протоколом, который пока в свободном доступе пока не был замечен. Многочисленные «продажи» таких программ в Даркнете — были фейковыми, для выманивания денег из школоты, с завлекалочками типа «Хочешь узнать, что пишет в Телеге твоя подружка?».
Во-вторых, надо найти узкоспециализированного профессионала, который согласится участвовать в подобном мероприятии.

В-третьих, требуется получить доступ к оборудованию провайдера, что тоже не так легко. Надо или взломать его удаленно, или подкупить сотрудника компании, или найти оператора, который, официально, за вознаграждение, подключит хакеров к своей сети SS7. По слухам, африканские компании предоставляют такие услуги за несколько тысяч долларов, но это только слухи.
Тем более, даже если удастся договориться с провайдером, который даст вам доступ в свою SS7 сеть и выделит GT (Global Title, заголовок для маршрутизации сигнальных сообщений), надо чтобы он официально зарегистрировал злоумышленника как свой новый NE (Network Element) и обновил эту информацию у своих роуминг-партнеров, которые должны будут внести его в White List. Если же просто взломать серверы оператора, то максимум что получится сделать — организовать локальную DDoS атаку, без перехвата информации.

Все это выглядит намного сложнее, чем в горячих статьях уровня «Все пропало!». Более того, как только станет известна информация, что кто-то подобным образом перехватил код авторизации, то его GT будет моментально забанен всеми операторами, а с «африканским помощником» могут разорвать сотрудничество. Потому, не каждый провайдер согласится рискнуть своей репутацией предоставив хакерам доступ в свою сеть для такого мошенничества, по крайней мере — не за тысячи долларов.

По сути, этот способ взлома доступен только спецслужбам, или может быть проделан в лабораторных условиях, по предварительной договоренности с жертвой и, может быть даже, с мобильными операторами. Более того, хоть сотовые компании и не спешат обновлять оборудование, они все равно стараются защитить свои сети и пользователей. Например, в ответ на хакерский запрос, могут выдавать не реальный IMSI абонента, а с несколькими измененными цифрами или временный, взятый из специального пула идентификаторов, созданного с целью защиты от подобного перехвата. Потому что операторы обычно заворачивают такие обращения на себя и сами занимаются доставкой СМС, не выдавая критичные данные на сторону. И это только один из способов противодействия.

Ко всему прочему, разработчики двухфакторной идентификации тоже не стоят на месте и все чаще используют не СМС, а передают код через собственную программу-аутентификатор. Разрабатываются и используются новые алгоритмы, например TOTP, в котором пароль генерируется на основе текущего времени. Более того, при ДФА не только сервер проверяет СИМ-карту абонента, но и наоборот тоже.

***


Надеюсь, что эта информация немного успокоит вас на счет реальной опасности подобной атаки, а вы будете стараться пользоваться сервисами двухфакторной авторизации, не использующие СМС для подтверждения критичных действий, тем более что NIST (National Institute of Standards and Technology) настоятельно не рекомендует это делать, именно из-за проблем в SS7.

8xzqbhb0at3_pjylb5c4366w_t8.png

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru