Продолжаем публиковать статьи по активистской безопасности. В этот раз — простая и в общем-то не очень «серьезная» статья, но довольно занятная. Уязвимость сотовых сетей — известное дело, но хотелось бы лишний раз о ней напомнить.
Сотовая связь может быть угрозой не только для плохих дядь, но и для пай-мальчиков. Все уже знают про нашумевший ОКС-7 (SS7). Уязвимость в этом протоколе позволяет даже непрофессионалу перехватить ваши СМС, подделать USSD-запрос (красть с его помощью деньги), прослушать разговор, нарушить ваш доступ к сети и наделать много другой пакости.
ОКС-7 разрабатывался компанией AT&T начиная с 1975 года. Этот протокол позволяет отделять сигнальные данные абонента от голосовых каналов. По сравнению со своей предшественницей ОКС-6, скорость передачи данных благодаря этому протоколу выросла аж в 13 раз. В свое время данная технология стала существенным прогрессом, однако, протокол используется и по сей день, что влечет за собой некоторые проблемы. ОКС-7 не имеет ровно никакой защиты и никакого шифрования. И отличить легитимные команды от поддельных невозможно — оборудование исправно выполняет все, что получает, неважно из какого источника. Это происходит потому, что 40 лет назад разработчики справедливо полагали, что если голосовые каналы и сигнальные данные разделены, никто кроме персонала телефонной станции не сможет получить к ним доступ.
Так оно и было… До недавнего времени. В 2000 году была придумана система передачи команд SS7 (ОКС-7) по IP-каналам, и теперь доступ к сигнальному каналу стал возможен извне.
Нельзя просто взять и подключиться со своего компьютера к сети оператора. Для это вам нужен шлюз, он же ОКС-7 хаб. Но что интересно, законодательство в ряде стран позволяет довольно легко получить лицензию оператора связи и вполне законно установить хаб с подключением к узлу обмена трафиком. Поэтому на черном рынке широко распространены предложения по подключению к таким хабам для всех желающих.
Где расположен хаб — не имеет значения, через него можно принимать и отправлять команды в сеть абсолютно любого оператора, даже за пределами государства. Думаю, хуже не придумаешь.
Для начала им нужно получить IMSI (International Mobile Subscriber Identity) — это внутренний сетевой идентификатор SIM-карты. С его помощью и происходит взлом. Для этого используется СМС. Хочу напомнить, что сервис СМС изначально появился как «фича» протокола, поэтому сообщения передаются по сигнальному каналу ОКС-7.
Если сформировать запрос на отправку вам СМС, то сеть оператора, в которой вы находитесь (а именно HLR — основная база данных, где хранятся параметры учетной записи), пришлет в ответ ваш идентификатор SIM-карты (IMSI), адрес текущего коммутатора (MSC) и временную базу данных (VLR), в которой хранятся параметры о пребывания абонента (вас) в конкретном месте.
Как я уже говорил, отличить легитимные команды от поддельных невозможно, и зная все эти адреса и идентификаторы, можно сделать много интересного. Например, злоумышленники могут запросить идентификатор базовой станции, которая в данный момент вас обслуживает. Используя этот идентификатор и открытую для всех базу данных в интернете, они могут узнать ваше местоположение с точностью до нескольких сотен метров. При этом, есть специальные программы, которые при вводе идентификатора делают всю процедуру автоматически.
Могут послать также в HLR (основную базу данных) команду на смену VLR, и поставить несуществующее местоположение, заблокировав тем самым прохождение входящих звонков и сообщений.
Есть и еще более интересный вариант: они могут указать адрес «своего» MSC/VLR, который сэмулируют на компьютере (пакет SS7 для Linux доступен для свободного скачивания). В этом случае у вас могут перехватить и звонки, и сообщения, причем незаметно. Для этого плохим парням достаточно получить СМС на подставной компьютер и не передать в ответ подтверждение доставки, а переключить VLR обратно на легитимный. Тогда сервер через некоторое время снова отправит ваше сообщение, и тогда оно уже дойдет до адресата.
И конечно, есть возможность утащить пару сотен рублей с вашего счета (а может и больше), отправляя от вашего имени USSD-команды услуги «Мобильный перевод». Или же переадресовывать ваши звонки на платные номера, продавая такой трафик.
Полностью защититься от таких атак невозможно — проблема заложена на уровне протокола, и от нее можно избавиться только после глубокой модернизации всей системы связи. Однако неизвестно, насколько скоро это случится. Будем надеяться, что ждать осталось недолго.
Будьте аккуратны при сообщении какой-либо информации по телефону или в СМС. Знайте, что вами могут интересоваться не только спецслужбы, но и «сотовые хацкеры», от которых, зачастую, страдают гораздо сильнее.
Также помните, что подтверждения по СМС не сильно надежны, именно поэтому многие банки и IT компании начинают от этого отказываться.