Simjacker
Simjacker — это эксплойт программного обеспечения для сотовых SIM-карт, выявленный компанией AdaptiveMobile Security[1]. По данным ZDNet, уязвимости подвержены абоненты 29 стран[2]. Согласно газете The Wall Street Journal, эксплойт широко эксплуатировался в Мексике, а также в Колумбии и Перу, — так злоумышленники отслеживали местоположение мобильных абонентов без их ведома.
По данным исследователей, эксплойт был разработан неназванной частной компанией, сотрудничающей с правительствами для слежки за отдельными лицами. Уязвимость активно использовалась как минимум с 2017 года — за два года до её публичного раскрытия[3].[4].
История
Уязвимость была обнаружена и раскрыта специалистом компании AdaptiveMobile Security Каталом Мак Дейдом через процедуру координированного раскрытия GSM Association в 2019 году[5]. Официально о находке впервые сообщили 12 сентября 2019 года[6]. Техническое описание и доклад были представлены 3 октября 2019 года на конференции Virus Bulletin[7][8].
Разработчиком программного обеспечения S@T Browser является организация SIMalliance, которая после обнаружения уязвимости выпустила рекомендации по безопасности и обновила спецификации[9][10]. После 2019 года не было зафиксировано новых инцидентов использования Simjacker или появления его новых модификаций[4][3].
Технические особенности
Атака реализуется за счёт использования уязвимости в SIM/UICC-карте, а именно — в библиотеке браузера S@T (SIMalliance Toolbox Browser)[11]. Жертве отправляется специально сформированное бинарное OTA текстовое сообщение, в заголовке которого указан TAR-идентификатор целевого приложения (например, 0x534054 для S@T). При этом эксплуатируется отсутствие обязательного шифрования: в заголовке пакета параметр безопасности (SPI) указывает на отсутствие защиты[12]. Сообщение содержит набор команд SIM Toolkit (STK) для выполнения в среде S@T Browser на UICC. Злоумышленники используют STK-команду PROVIDE LOCAL INFORMATION, чтобы вынудить UICC запросить у устройства IMEI и сведения о местоположении. Собрав информацию, эксплойт использует команду SEND SHORT MESSAGE для незаметной отправки данных атакующим с помощью нового текстового сообщения[13].
Помимо сбора данных, уязвимость теоретически позволяет выполнять широкий спектр других STK-команд, таких как SET UP CALL (совершение звонка), LAUNCH BROWSER (открытие веб-страницы), PLAY TONE (воспроизведение звукового сигнала), SEND USSD (отправка USSD-запросов), DISPLAY TEXT (вывод текста на экран), GET INKEY / GET INPUT (запрос ввода данных) и другие.
В отличие от большинства ранее известных атак на SIM-карты, которые требовали получения ключа SIM, Simjacker не нуждается в таком ключе — достаточно наличия библиотеки S@T Browser на SIM-карте и возможности приёма бинарных SMS с командами этого браузера.
Вскоре после раскрытия информации о Simjacker была обнаружена схожая уязвимость, получившая название WIBattack. Она имеет аналогичный механизм атаки через бинарные SMS, однако нацелена на уязвимость в другом приложении для SIM-карт — Wireless Internet Browser (WIB), разработанном компанией SmartTrust[14].
Уязвимость Simjacker зарегистрирована в базе CVE под номерами CVE-2019-16256[15] и CVE-2019-16257[16], а также описана GSM Association как CVD-2019-0026 в рамках процесса координированного раскрытия уязвимостей[5].
Влияние
По оценкам специалистов, уязвимость затрагивает UICC по меньшей мере в 61 мобильном операторе в 29 странах, под угрозой находятся от нескольких сотен миллионов до миллиардов[17] SIM-карт. По осторожному предположению исследователей, средний и высокий сотни миллионов SIM-карт по всему миру уязвимы[18]. География затронутых стран охватывает пять континентов, включая государства Северной и Южной Америки, Африки, Европы и Азии[19].
Наибольшая активность эксплуатации зафиксирована в Мексике: за два года потенциально отслеживались тысячи абонентов с помощью этой уязвимости и коммерческой системы слежения. Помимо слежки за местоположением, эксплойт может применяться для финансового мошенничества, включая несанкционированные звонки и отправку SMS на платные номера, а также для фишинга через принудительное открытие вредоносных веб-страниц[3].[20]
Защита
Ранее для проверки уязвимости SIM-карты пользователям рекомендовалось приложение SnoopSnitch от SRLabs[21], однако оно устарело, поскольку не обновлялось с 2023 года и требует наличия root-прав. Основная ответственность за защиту абонентов лежит на мобильных операторах, поскольку у пользователей нет самостоятельных способов предотвращения подобных атак[22]. Операторы должны применять фильтрацию бинарных SMS-сообщений на уровне SMS-брандмауэра, а также блокировать STK-команды, поступающие из внешних сетей[23].[24]