eSIM позволяет читать чужие сообщения и перехватывать звонки. И это уже доказано
NewsMakerТелефон с eSIM может стать шпионом против самого себя.
Исследовательская лаборатория Security Explorations представила результаты многомесячной работы, разоблачающей уязвимости в ядре технологии eSIM . Объектом внимания стала eUICC-карта от компании Kigen, сертифицированная по стандартам GSMA и использующая фирменную реализацию виртуальной машины Java Card.
Несмотря на заявленные многоуровневые механизмы защиты, включая сертификацию EAL4+, встроенные средства изоляции памяти и противодействия сторонним атакам, продукт оказался подвержен успешной атаке, позволившей не только получить контроль над eSIM , но и продемонстрировать полный срыв доверительной модели безопасности в экосистеме eUICC.
Исследование показало, что уязвимости, о которых Security Explorations уведомляла ещё в 2019 году, но которые тогда были проигнорированы, являются не только реальными, но и потенциально разрушительными. Тогда компания Oracle назвала эти проблемы «опасениями» и отказалась признать их критичность. Сегодня стало ясно: проигнорированные ошибки в реализации байткодов Java Card, такие как тип-конфузия между объектами и массивами, не были устранены ни в референсной реализации Oracle, ни в независимых продуктах, таких как Kigen eUICC.
Security Explorations успешно скомпрометировала eUICC-карту от Kigen, в том числе в тестовом профиле TS.48, имитируя установку вредоносного Java-приложения по каналу SMS-PP. В результате атаки удалось извлечь закрытый ключ ECC, идентифицирующий карту GSMA, что открыло возможность беспрепятственно загружать и расшифровывать eSIM-профили множества мобильных операторов, включая AT&T, Vodafone, Orange, T-Mobile и других. Эти профили содержали не только настройки сети, но и конфиденциальные ключи OTA, идентификаторы подписчиков, Java-приложения и служебные параметры. В некоторых случаях извлечённые приложения можно было модифицировать и повторно установить без возможности обнаружения со стороны оператора.
Одним из наглядных тестов стала атака на сеть Orange. Исследователи продемонстрировали возможность клонирования eSIM: дублированный профиль, установленный на другом устройстве, позволил перехватить входящие звонки и SMS. Пока злонамеренное устройство было включено, легитимный пользователь не получал ни одного сообщения, а сеть считала их доставленными. Такое поведение угрожает не только приватности, но и надёжности сервисов двухфакторной аутентификации , используемой банками, почтовыми службами и другими критичными системами.
Kigen признала уязвимость и начала сотрудничество с исследователями. Компания выплатила вознаграждение в размере $30 000 за подробный технический отчёт и согласилась на 90-дневный период конфиденциальности до момента публикации. По итогам анализа были предприняты попытки устранения уязвимости через внедрение проверки типов во всех байткодах Java Card. Однако Security Explorations отметила, что попытка оказалась формальной и неэффективной: система проверяла лишь верхушку стека без отслеживания потока управления, что оставляло десятки уязвимых сценариев. Иными словами, введённая «универсальная проверка» оказалась нефункциональной, оставив 100+ потенциальных точек для атак.
В ответ на обнаруженные уязвимости GSMA пересмотрела спецификацию TS.48, отключив возможность установки Java-приложений в тестовых профилях. Также был выпущен специальный документ с рекомендациями для участников отрасли, в котором подчёркивается необходимость контроля за ключами удалённого управления (Remote Application Management). Тем не менее, исследователи считают эти шаги половинчатыми и не устраняющими корень проблемы — архитектурную слабость виртуальной машины Java Card, на которую завязана вся экосистема eSIM.
Интересно, что Kigen, несмотря на заявленную независимость от Oracle, создала собственную реализацию виртуальной машины, в которой всё же были воспроизведены те же концептуальные ошибки, обнаруженные в Java Card Reference Implementation от Oracle. При этом компания заявила, что не была в курсе уязвимостей, о которых Security Explorations предупреждала в 2019 году. Тем не менее, по данным исследователей, попытка контакта с Kigen была предпринята ещё в ноябре 2020 года через форму обратной связи после совместного вебинара компании с Orange.
Помимо Kigen, исследование затронуло и другие eUICC-вендоры. С помощью сервиса Comprion был протестирован чип от Giesecke+Devrient. Он показал большую устойчивость: несмотря на возможность произвольного преобразования типов, критическая зона памяти оказалась изолированной, а поле размера массива не пересекалось с данными объектов. Это подтверждает, что не все реализации Java Card одинаково уязвимы, однако у Security Explorations нет доступа к чипам других вендоров, таких как Thales и NXP, ввиду закрытой политики распространения и условий NDA.
Одной из наиболее тревожных находок стало то, что Remote SIM Provisioning-серверы, включая те, что принадлежат IDEMIA и Thales, не распознавали скомпрометированные eUICC-сертификаты. Это говорит о системном отсутствии валидации и мониторинга, что делает возможным масштабные атаки без обнаружения. Более того, анализ показал, что многие eSIM не реализуют полноценную верификацию байткода Java Card, несмотря на соответствующие рекомендации в спецификации SGP.25.
Инструментарий, которым пользовались специалисты, позволил не только взламывать карты и извлекать содержимое, но и проверять Java Card на типичные проблемы безопасности. Он способен в автоматическом режиме проверять память, стек, локальные переменные и выполнять анализ байткода. Эти инструменты были использованы как для анализа Kigen eUICC, так и для тестов в реальных сетях.
Важным выводом, сделанным исследователями, стало признание провала существующих механизмов сертификации. Несмотря на наличие сертификаций EAL4/5 и заявлений об аппаратной защищённости, сама архитектура позволяет злоумышленнику обойти все слои защиты за счёт уязвимостей в программной реализации. Кроме того, существующие стандарты не предусматривают обязательную верификацию Java-приложений на этапе загрузки, что создаёт идеальные условия для внедрения «троянцев» на этапе provision'инга.
Security Explorations подчёркивает необходимость пересмотра доверительной модели в телекоммуникационной отрасли. Операторы не должны полагаться на сертификаты GSMA как на абсолютную гарантию безопасности. Один скомпрометированный eUICC даёт возможность скомпрометировать подписчиков любого мобильного оператора. Приложения, установленные на eSIM , недоступны для анализа пользователями, что делает их потенциальным вектором атаки для государственных структур или организованной киберпреступности.
Несмотря на масштаб угрозы, компания Oracle не выразила заинтересованности в бесплатных предложениях по техническому устранению уязвимостей, полученных от исследователей. Kigen же, напротив, признала проблему и координировала работу по её устранению через GSMA, уведомив более 100 организаций напрямую и сотни косвенно через CVD-программу.
Авторы исследования подчёркивают, что их работа проводилась на собственные средства, без стороннего финансирования, и при соответствующей поддержке готовы были бы предоставить результаты бесплатно всем участникам GSMA. Цель исследования — продемонстрировать ценность независимого анализа безопасности и важность внимания к деталям, которые систематически игнорировались индустрией в течение многих лет.

Исследовательская лаборатория Security Explorations представила результаты многомесячной работы, разоблачающей уязвимости в ядре технологии eSIM . Объектом внимания стала eUICC-карта от компании Kigen, сертифицированная по стандартам GSMA и использующая фирменную реализацию виртуальной машины Java Card.
Несмотря на заявленные многоуровневые механизмы защиты, включая сертификацию EAL4+, встроенные средства изоляции памяти и противодействия сторонним атакам, продукт оказался подвержен успешной атаке, позволившей не только получить контроль над eSIM , но и продемонстрировать полный срыв доверительной модели безопасности в экосистеме eUICC.
Исследование показало, что уязвимости, о которых Security Explorations уведомляла ещё в 2019 году, но которые тогда были проигнорированы, являются не только реальными, но и потенциально разрушительными. Тогда компания Oracle назвала эти проблемы «опасениями» и отказалась признать их критичность. Сегодня стало ясно: проигнорированные ошибки в реализации байткодов Java Card, такие как тип-конфузия между объектами и массивами, не были устранены ни в референсной реализации Oracle, ни в независимых продуктах, таких как Kigen eUICC.
Security Explorations успешно скомпрометировала eUICC-карту от Kigen, в том числе в тестовом профиле TS.48, имитируя установку вредоносного Java-приложения по каналу SMS-PP. В результате атаки удалось извлечь закрытый ключ ECC, идентифицирующий карту GSMA, что открыло возможность беспрепятственно загружать и расшифровывать eSIM-профили множества мобильных операторов, включая AT&T, Vodafone, Orange, T-Mobile и других. Эти профили содержали не только настройки сети, но и конфиденциальные ключи OTA, идентификаторы подписчиков, Java-приложения и служебные параметры. В некоторых случаях извлечённые приложения можно было модифицировать и повторно установить без возможности обнаружения со стороны оператора.
Одним из наглядных тестов стала атака на сеть Orange. Исследователи продемонстрировали возможность клонирования eSIM: дублированный профиль, установленный на другом устройстве, позволил перехватить входящие звонки и SMS. Пока злонамеренное устройство было включено, легитимный пользователь не получал ни одного сообщения, а сеть считала их доставленными. Такое поведение угрожает не только приватности, но и надёжности сервисов двухфакторной аутентификации , используемой банками, почтовыми службами и другими критичными системами.
Kigen признала уязвимость и начала сотрудничество с исследователями. Компания выплатила вознаграждение в размере $30 000 за подробный технический отчёт и согласилась на 90-дневный период конфиденциальности до момента публикации. По итогам анализа были предприняты попытки устранения уязвимости через внедрение проверки типов во всех байткодах Java Card. Однако Security Explorations отметила, что попытка оказалась формальной и неэффективной: система проверяла лишь верхушку стека без отслеживания потока управления, что оставляло десятки уязвимых сценариев. Иными словами, введённая «универсальная проверка» оказалась нефункциональной, оставив 100+ потенциальных точек для атак.
В ответ на обнаруженные уязвимости GSMA пересмотрела спецификацию TS.48, отключив возможность установки Java-приложений в тестовых профилях. Также был выпущен специальный документ с рекомендациями для участников отрасли, в котором подчёркивается необходимость контроля за ключами удалённого управления (Remote Application Management). Тем не менее, исследователи считают эти шаги половинчатыми и не устраняющими корень проблемы — архитектурную слабость виртуальной машины Java Card, на которую завязана вся экосистема eSIM.
Интересно, что Kigen, несмотря на заявленную независимость от Oracle, создала собственную реализацию виртуальной машины, в которой всё же были воспроизведены те же концептуальные ошибки, обнаруженные в Java Card Reference Implementation от Oracle. При этом компания заявила, что не была в курсе уязвимостей, о которых Security Explorations предупреждала в 2019 году. Тем не менее, по данным исследователей, попытка контакта с Kigen была предпринята ещё в ноябре 2020 года через форму обратной связи после совместного вебинара компании с Orange.
Помимо Kigen, исследование затронуло и другие eUICC-вендоры. С помощью сервиса Comprion был протестирован чип от Giesecke+Devrient. Он показал большую устойчивость: несмотря на возможность произвольного преобразования типов, критическая зона памяти оказалась изолированной, а поле размера массива не пересекалось с данными объектов. Это подтверждает, что не все реализации Java Card одинаково уязвимы, однако у Security Explorations нет доступа к чипам других вендоров, таких как Thales и NXP, ввиду закрытой политики распространения и условий NDA.
Одной из наиболее тревожных находок стало то, что Remote SIM Provisioning-серверы, включая те, что принадлежат IDEMIA и Thales, не распознавали скомпрометированные eUICC-сертификаты. Это говорит о системном отсутствии валидации и мониторинга, что делает возможным масштабные атаки без обнаружения. Более того, анализ показал, что многие eSIM не реализуют полноценную верификацию байткода Java Card, несмотря на соответствующие рекомендации в спецификации SGP.25.
Инструментарий, которым пользовались специалисты, позволил не только взламывать карты и извлекать содержимое, но и проверять Java Card на типичные проблемы безопасности. Он способен в автоматическом режиме проверять память, стек, локальные переменные и выполнять анализ байткода. Эти инструменты были использованы как для анализа Kigen eUICC, так и для тестов в реальных сетях.
Важным выводом, сделанным исследователями, стало признание провала существующих механизмов сертификации. Несмотря на наличие сертификаций EAL4/5 и заявлений об аппаратной защищённости, сама архитектура позволяет злоумышленнику обойти все слои защиты за счёт уязвимостей в программной реализации. Кроме того, существующие стандарты не предусматривают обязательную верификацию Java-приложений на этапе загрузки, что создаёт идеальные условия для внедрения «троянцев» на этапе provision'инга.
Security Explorations подчёркивает необходимость пересмотра доверительной модели в телекоммуникационной отрасли. Операторы не должны полагаться на сертификаты GSMA как на абсолютную гарантию безопасности. Один скомпрометированный eUICC даёт возможность скомпрометировать подписчиков любого мобильного оператора. Приложения, установленные на eSIM , недоступны для анализа пользователями, что делает их потенциальным вектором атаки для государственных структур или организованной киберпреступности.
Несмотря на масштаб угрозы, компания Oracle не выразила заинтересованности в бесплатных предложениях по техническому устранению уязвимостей, полученных от исследователей. Kigen же, напротив, признала проблему и координировала работу по её устранению через GSMA, уведомив более 100 организаций напрямую и сотни косвенно через CVD-программу.
Авторы исследования подчёркивают, что их работа проводилась на собственные средства, без стороннего финансирования, и при соответствующей поддержке готовы были бы предоставить результаты бесплатно всем участникам GSMA. Цель исследования — продемонстрировать ценность независимого анализа безопасности и важность внимания к деталям, которые систематически игнорировались индустрией в течение многих лет.