[По публичной информации], 21 сентября Ginno Security Lab опубликовала информацию об уязвимости, схожей с Simjacker, которая позволяет с помощью одной вредоносной SMS захватить контроль над мобильными функциями атакованного устройства и тем самым получить возможность отправлять SMS, совершать звонки, а также узнать информацию об IMEI и геолокации. Главная проблема в том, что уязвимость обнаружена в ПО самих SIM-карт и не зависит непосредственно от устройства. Любая эксплуатация злоумышленником будет незаметна для владельца, так как взаимодействие будет осуществляться непосредственно с WIB.
Уязвимым является Wireless Internet Browser (WIB) компании SmartTrust, который используется подавляющим большинством операторов связи.
Масштабы, заявленные исследователями, пугают… но попробуем разобраться, настолько ли она новая и такая уж опасная.
Wireless Internet Browser (WIB)
Это ПО используется для предоставления пользователям динамического меню функций SIM-карты. Например, когда человек пытается запросить баланс у сотового оператора из SIM toolkit. По сути это «вшитый» WAP-браузер, да, тот самый старый добрый веб-браузер нашей юности с WML (англ. Wireless Markup Language — «язык разметки для беспроводных устройств»), работающий по OTA SMS (Over-the-air).
OTA — технология с клиент-серверной архитектурой, позволяющая шлюзу оператора удаленно управлять данными SIM-карты посредством получения специальных сообщений для загрузки, активации сервисов на мобильном устройстве (например, твоя подписка на гороскоп, списывающая 100500 денег в месяц). При этом необходимо интернет-соединение: Wi-Fi, 3G, LTE и т.п.
OTA-шлюз оператора через Short Message Service Centre (SMSC) отправляет сервисные SMS одному или нескольким устройствам.
Взаимодействие устройства с SIM-картой осуществляется через операционную систему процессора телефона (RTOS, Baseband processor realtime operating system).
И да, в твоем телефоне есть вторая ОС, которая имеет более приоритетный режим работы, чем Android/iOS.
Инфраструктура OTA
Реализация безопасности OTA
Уровень защиты OTA SMS при передаче определяется первым байтом сообщения (заголовк MSL с битовой маской активных механизмов безопасности: шифрование, счетчики, контрольные суммы). Когда SIM-карта получает OTA SMS, то происходит сравнение MSL из SMS (MSLsms) с MSL, заданным в самой SIM-карте (MSLsim). Если значение MSLsim > MSLsms, то SIM-карта игнорирует команды OTA.
При этом для разных сервисных приложений SIM-карты могут быть установлены разные MSL-заголовки. Целевое приложение определяется кодом в TAR-заголовке (3-байтовый Toolkit Application Reference).
Подробнее можно посмотреть здесь: 3GPP TS 23.048
Осуществление атаки
Атака на WIB
- Для эксплуатации уязвимости злоумышленник должен отправить вредоносную OTA SMS.
- Устройство, получив SMS, выполнит APDU (application protocol data unit) команду ENVELOP COMMAND для передачи полученного в SMS TPDU (Transport Protocol Data Unit) из RTOS в WIB-браузер SIM-карты. Именно потому, что данная процедура будет происходить на уровне RTOS, жертва не заметит какой-либо активности.
- WIB-бразуер выполнит команды, полученные в TPDU, и отправит соответствующую команду PROACTIVE COMMAND устройству, например, SETUP CALL, SEND SMS, PROVIDE LOCATION INFO.
- Устройство, следуя полученной от SIM-карты команде, выполнит соответствующее действие.
Условия уязвимости OTA
Вот мы и подобрались к самому интересному.
Ниже несколько условий, при которых осуществима атака (любое из):
- MSL-заголовок SIM-карты или целевого приложения равен 0 или без активации свойств шифрования KIc/KID.
- При возможности rooting simcard: некоторые SIM-карты используют для ключей KIc/KID DES, взлом которых был продемонстрирован Dr. Karsten Nohl (Security Research Lab Berlin) на BlackHat 2013. С помощью радужных таблиц взлом осуществляется порядка 2 минут. С полученным ключем злоумышленник может подписывать SMS. По оценке Nohl, такого рода уязвимости подвержены порядка 750 млн SIM-карт на 2015 год. Более подробно и интересно можно почитать:
SIM Cards Encryption Vulnerability: The Scope of the Problem | Kaspersky official blog
Rooting SIM cards, BlackHat 2013 - Ранее были известны случаи утечки данных, ведущие к компрометации KIc/KID-ключей.
Резюмируя… «так ли страшен черт?»
Несмотря на пугающие заявления, уязвимость сводится к случаям использования слабого шифрования, утечкам корпоративной информации и мисконфигам настроек безопасности.
Также не совсем понятен вклад исследователей Ginno Security Lab, даже с оговоркой, что они знали об уязвимости в 2015 году. Тем более, что этот вектор по сути был уже рассмотрен Karsten Nohl в 2013 году.
Реальную оценку количества уязвимых устройств на данный момент дать сложно. Судя по комментариям к теме Краткое введение в SIM-карты / Хабр, у наших операторов может быть всё вполне хорошо: Краткое введение в SIM-карты / Комментарии.
P.S. В 2013 году уже был хайп по поводу уязвимостей, найденных Карстеном. И также всё пестрило новостями про надвигающийся апокалипсис. Но как и апокалипсис 2012 года...
Автор: BlancLoup