SIM-карта більше не просто шматок пластику — вона здатна запускати шкідливий код, контролювати модем і обходити захист сучасних смартфонів. У цій статті ми глибоко досліджуємо платформу SIMURAI — революційний інструмент для аналізу SIM-загроз. Ви дізнаєтеся, як SIM може ініціювати атаки, як працює interposer для впровадження шкідливих команд, які реальні вразливості використовуються і чому навіть eSIM не гарантує безпеку. Наводимо приклади атаки через Simjacker, архітектуру інструменту, а також тести на iPhone, Pixel, Samsung і OnePlus. Обов’язковий матеріал для фахівців із безпеки, дослідників і мобільних операторів. Переосмисліть свою модель загроз — SIM більше не пасивна.
Ще донедавна дослідження SIM-карт у сфері кібербезпеки були справою одиниць. Причина — тотальна закритість: операторські SIM-карти неможливо перепрошити, поведінка строго стандартизована, будь-яке відхилення блокується на рівні прошивки. Дослідники були змушені працювати з апаратними емуляторами, які обмежувались базовими функціями автентифікації або з трудом дозволяли завантажити власні Java-аплети. Повноцінні тести з вивчення шкідливої поведінки SIM залишались недосяжними.
Платформа SIMURAI повністю ламає цю парадигму. Це перша повноцінна програмна реалізація SIM-карти, орієнтована не на комерційне використання, а саме на дослідження безпеки. Вона моделює справжню SIM, але з повним контролем над усіма рівнями — від файлової структури до поведінки на рівні APDU-команд. Це не черговий софт для розробників, а інструмент атаки і захисту водночас, створений для аналізу, фуззингу, інжекцій і вивчення низькорівневої взаємодії SIM з мобільним пристроєм.
SIMURAI надає досліднику:
повноцінну програмну емуляцію поведінки SIM/USIM-карт;
змогу свідомо порушувати стандарти GSM, 3G, 4G і 5G;
архітектуру з відкритим кодом, яку легко модифікувати;
просте підключення до реального смартфона або емулятора;
підтримку фуззингу через FirmWire та аналіз уразливостей модемів;
опис файлової структури SIM у зручному форматі JSON;
можливість запускати кастомні Java Card аплети;
контроль над реакцією SIM на будь-які APDU-команди;
повну підтримку proactive-команд і інжекцій небезпечних сценаріїв.
На практиці SIMURAI — це трикомпонентна система: ядро SWICC, яке емулює смарт-карту, прошивка SWSIM, що додає логіку SIM/USIM, і I/O-інтерфейс для підключення до фізичного пристрою або до базової станції. Разом вони дозволяють не лише запускати стандартні сценарії взаємодії, а й умисно порушувати протоколи, створювати нові команди, проводити атаки в умовах, максимально наближених до реальних.
Ще один важливий аспект — підтримка JSON-файлової структури. Досліднику не потрібно вивчати низькорівневу мову симуляції файлових систем SIM. Достатньо описати дерево файлів у звичайному JSON — і миттєво завантажити його в SWICC. Це суттєво знижує поріг входу та робить платформу зручною навіть для команд з обмеженим досвідом роботи зі смарт-картами.
SIMURAI також легко інтегрується з реальними пристроями через інтерфейс PC/SC. Це означає, що вона може спілкуватися з фізичними смартфонами або з емуляторами, такими як FirmWire, і надавати повноцінну взаємодію у тестових мережах. Таким чином, дослідник отримує не лише інструмент, а ціле середовище для вивчення загроз, які походять від шкідливих SIM.
Насамкінець — це не просто ще один інструмент. SIMURAI — це зміна парадигми в розумінні SIM-карти. Якщо раніше вона вважалась безпечною точкою доступу, сьогодні, завдяки такому інструменту, її вже можна вивчати як повноцінний об’єкт ризику. І це відкриває нову главу в історії мобільної безпеки.
Усі звикли до думки, що SIM-карта — це щось другорядне. Маленький чіп, який просто підтверджує твою особу в мережі. І все. Він не може бути небезпечним, не може запускати код, не має доступу до важливих частин пристрою. Так здавалося роками. Але ця уява — застаріла й небезпечна. І ось чому.
Сучасна SIM — це не просто носій ключів. Це повноцінна мікропроцесорна система з власною операційною системою, файловою структурою, підтримкою програмування (через Java Card), можливістю приймати та надсилати команди, зчитувати інформацію про пристрій і навіть відкривати інтернет-браузер. Вона має привілейований канал до базової прошивки модему, тобто до тієї частини смартфона, яка спілкується з мобільною мережею.
І саме цей доступ робить SIM потенційно найнебезпечнішою частиною телефону. Це канал, повз який не проходить жоден інший шар захисту — ні Android, ні iOS, ні антивіруси. SIM спілкується з модемом безпосередньо, і більшість сучасних атак на модем — починаються саме звідси.
Дослідники, які створили SIMURAI, назвали такі SIM «ворожими». І мають рацію. Якщо SIM контролюється зловмисником, вона:
бачить твою геолокацію, рівень заряду, IMEI, мережеві параметри;
може ініціювати відправлення SMS без твого відома;
може зберігати й запускати Java-аплети — тобто мініпрограми;
надсилає команди базовій станції до автентифікації;
викликає нестандартну поведінку модему — що ідеально для фуззингу;
здатна обходити класичні захисні механізми операційної системи;
може запускати proactive-команди, які змушують телефон щось виконати — від відкриття браузера до виклику певної функції;
у випадку з деякими телефонами — має змогу отримати доступ до історії дзвінків, контактів, SMS.
І це не теорія. Усе описане вище — реальні функції, які були використані в реальних атаках. Наприклад, у відомій кампанії Simjacker, шпигунське ПЗ на SIM-карті надсилало SMS з координатами жертви. Інші шкідливі аплети перехоплювали дзвінки, слідкували за переміщеннями, використовували SIM як бекдор для модему.
Раніше такі атаки вважали рідкісними, складними у реалізації. Але поява SIMURAI показала — достатньо одного шкідливого профілю, і будь-який телефон стає вразливим. І що важливо — уразливим не через Wi-Fi, не через додаток, а через систему, яку більшість людей навіть не розглядає як загрозу.
Цікавий нюанс: телефони від Apple, Samsung, Google — усі піддаються таким атакам однаково. У кожному з них модем працює окремо від основної ОС і має прямий канал до SIM. І якщо SIM шкідлива — система безсилля.
Усе це кардинально змінює уявлення про моделі загроз у мобільній безпеці. Ми більше не можемо вважати SIM-карту виключно «довіреним елементом». Це повноцінна точка входу для атак, і дослідження показують — дуже зручна для зловмисника. Особливо, якщо ти вставив SIM десь в аеропорту за кордоном. Або якщо отримав підроблену eSIM. Або якщо твій оператор — не той, кому можна довіряти.
Підсумовуючи: SIM — це вже не просто “ключ до мережі”. Це маленький комп’ютер у твоєму телефоні, який за певних умов здатен працювати проти тебе. І сьогодні його вже вміють використовувати.
Щоб зрозуміти, на що реально здатна шкідлива SIM-карта, найкраще розглянути один з найвідоміших прикладів — атаку під назвою Simjacker. Це не теорія, а підтверджена на практиці шпигунська кампанія, яку виявила компанія AdaptiveMobile у 2019 році. Вона показала: одна SIM-карта може шпигувати за користувачем, відправляти його координати зловмиснику й робити це без слідів у системі.
Суть атаки в тому, що SIM мала на собі спеціальний аплет (мікропрограму), який отримував SMS-команди. Такі повідомлення мали спеціальний технічний формат — binary SMS, який не відображається в месенджері і не помітний для користувача. Коли аплет отримував інструкцію, він виконував її й відправляв відповідь також через непомітне повідомлення.
У випадку Simjacker мова йшла про отримання локації пристрою, але потенціал був значно ширший. І головне — такий механізм повністю стандартизований, тому підтримується абсолютною більшістю смартфонів. Не потрібно хакати телефон, не треба інсталювати програму — достатньо SIM.
Ось як виглядав типовий цикл роботи такого шпигуна:
на телефон надходить спеціально сформоване SMS-повідомлення з командою
PROVIDE LOCAL INFORMATION;
SIM-карта, отримавши інструкцію, активує так звану proactive command — тип внутрішньої інструкції, яку телефон має виконати;
телефон надає SIM потрібні дані: координати, IMEI, час, рівень заряду, сигнал базової станції;
SIM упаковує ці дані в SMS і надсилає назад через
SEND SHORT MESSAGE— також непомітно для користувача.
Усі ці дії відбуваються на рівні взаємодії SIM та модему, минаючи операційну систему, фаєрволи, антивіруси й будь-який доступний софт. Ніякий додаток не бачить ці SMS. Користувач не отримує жодного сповіщення. У телефоні немає логів. Це робить такий тип шпигунства особливо небезпечним і малопомітним.
Важливо й те, що вразливість, яка дозволила запустити цей механізм, була частиною стандартного SIM Application Toolkit, який використовується всіма мобільними операторами світу. У багатьох випадках цей функціонал був активним за замовчуванням. Це означає, що десятки мільйонів SIM-карт були потенційно вразливими.
Реакція на атаку Simjacker була показовою: оператори почали масово перевіряти свої профілі, оновлювати SIM, блокувати старі аплети. Але сам факт, що такий сценарій можливий — став поворотним моментом. Вперше стало очевидно: SIM може не просто автентифікувати користувача, а повноцінно шпигувати за ним, використовуючи при цьому легальні, офіційно підтримувані команди.
Дослідники SIMURAI вирішили відтворити цей сценарій на практиці, але не з використанням реальної SIM, а за допомогою свого інструмента. Результат — усього 89 рядків коду, і експериментальний модуль у SIMURAI зміг повністю повторити атаку Simjacker. Телефон отримав команду, надав локацію, і ці дані були відправлені через SMS.
Це доводить головне: загроза повністю реальна, і вона може бути легко масштабована, протестована, оптимізована. Навіть якщо сьогодні оператори блокують окремі функції, залишаються інші: виклики, зчитування мережевих параметрів, USSD-команди, відкриття браузера. А головне — інструменти, на кшталт SIMURAI, роблять дослідження таких сценаріїв простішими, ніж будь-коли раніше.
Для повноцінного дослідження шкідливих сценаріїв використання SIM-карт потрібен набір дуже специфічних можливостей. Це не просто читання вмісту SIM чи запуск базових сценаріїв — мова йде про повну емуляцію поведінки картки з можливістю порушувати стандарти, створювати шкідливі аплети, спілкуватися з реальним телефоном або модемом. Саме таку систему й реалізували автори SIMURAI.
По суті, SIMURAI — це не просто “симулятор”, а гнучка дослідницька платформа, створена для тестування взаємодії між SIM-картами й базовим програмним забезпеченням мобільних пристроїв. Вона дозволяє як повністю дотримуватися стандартів, так і навмисно їх порушувати. Це надає можливість проводити фуззинг, емуляцію шкідливої поведінки, перевірку на витоки даних, а також пошук вразливостей у прошивках модемів.
Архітектура SIMURAI складається з трьох основних блоків:
SWICC — модуль, що емуляє смарт-картку. Він відповідає за обробку APDU-команд, організацію файлової структури, підтримку стандартів ETSI/3GPP, та дає змогу будувати складну логіку взаємодії на рівні низькорівневих протоколів. SWICC також забезпечує гнучку обробку нестандартних команд і має власну FSM (кінцевий автомат) для емуляції поведінки картки.
SWSIM — модуль, що розширює SWICC до повноцінної SIM-картки. Він додає підтримку SIM/USIM-аплікацій, команд типу
PROVIDE LOCAL INFORMATION,SEND SHORT MESSAGE,OPEN CHANNEL, та інших. Цей модуль дозволяє підключати свої Java-аплети, писати власну логіку реакції на події, і навіть створювати емулятори шпигунських модулів, як у Simjacker.
I/O-layer (IFD handler) — компонент, який відповідає за комунікацію між віртуальною SIM-карткою та реальним світом. Через нього можна підключити SIMURAI до фізичного смартфона (через SIMtrace2), або до емулятора прошивки (наприклад, FirmWire). Цей інтерфейс підтримує протокол PC/SC, що дозволяє поводити себе як звичайний картридер — хоча за ним стоїть повністю програмна картка.
SIMURAI надає досліднику величезну гнучкість. Серед ключових можливостей:
запуск кастомних сценаріїв взаємодії на рівні APDU;
підключення до смартфонів у режимі реального часу через USB/PCSC;
розгортання повноцінної файлової структури SIM через JSON;
вбудована підтримка фуззингу й динамічного аналізу;
можливість втручання у статусні слова R-APDU на льоту;
підтримка proactive-команд — ключового вектора для атак;
відстеження й переписування відповідей на запити телефону;
підтримка як T=0 протоколу (типового для SIM), так і варіативних TPDU/BER-TLV структур;
модульна архітектура для підключення власних обробників команд.
Усе це дозволяє реалізовувати дуже широкий спектр досліджень — від тестування стандартної поведінки SIM-картки до глибокого аналізу, як шкідлива SIM може обійти захист модему на Google Pixel або iPhone. І головне: усе це можливо без використання дорогого спеціалізованого обладнання — потрібен лише комп’ютер і симулятор.
Ще один важливий плюс — масштабованість. SIMURAI добре працює не лише в ручному режимі, а й у автоматизованих тестах. Її можна запустити паралельно на декількох машинах, щоб прискорити фуззинг або перевірку на сумісність. Платформа легко інтегрується з тестовими мережами (Yate, srsRAN, Open5Gs), а також з відомими інструментами для реверс-інжинірингу й трасування.
Таким чином, SIMURAI — це не просто демонстрація концепції, а готовий дослідницький набір, який уже сьогодні дозволяє:
знаходити нові вразливості в модемах;
створювати кастомні сценарії атак;
тестувати телефони на стійкість до шкідливих SIM;
навчати фахівців з мобільної безпеки;
документувати реальні ризики, які ігноруються роками.
Усе це робить платформу унікальною в своєму класі й перетворює її з інструмента експерименту на повноцінну основу для розвитку всієї галузі досліджень мобільного рівня довіри.
Для того щоб довести практичну цінність SIMURAI не лише як концепції, а як інструмента реального впливу, дослідники протестували його роботу на найпопулярніших сучасних смартфонах. Вони використали як телефони на Android (Pixel, Samsung, OnePlus), так і на iOS (iPhone), що дало можливість охопити різні стеки прошивок модемів і поведінкові відмінності у роботі SIM-інтерфейсів.
Ключовим моментом було те, що жоден із пристроїв не потребував джейлбрейку або рут-доступу. Усі смартфони тестувалися у звичайному користувацькому режимі, а підключення SIMURAI відбувалося через фізичний адаптер — interposer, який дає змогу замінити справжню SIM на віртуальну без зміни конструкції пристрою.
Для тестів використовувалися різні конфігурації, але суть експерименту була однакова:
на телефон встановлювався SIMURAI через міжкартковий адаптер;
віртуальна SIM формувала структуру файлів, включно з applet’ом, здатним виконувати команди типу
PROVIDE LOCAL INFORMATION;
телефон підключався до стільникової мережі через SDR-базову станцію (YateBTS, srsRAN або OsmocomBB);
дослідники запускали команди з симулятора й фіксували реакцію телефону.
В результаті виявилося, що всі протестовані телефони успішно приймали та обробляли команди з SIMURAI, якби це була звичайна SIM-карта. І головне — в деяких випадках поведінка телефонів демонструвала вразливості або непередбачувану реакцію, які не були помітні при використанні звичайних SIM.
Найбільш показовими стали такі результати:
iPhone (iOS 17, eSIM вимкнена) — коректно обробляв proactive-команди;
SEND SHORT MESSAGEне фільтрувався, SMS вирушало навіть без згоди користувача.
Pixel 6 (Android 14, стоковий прошивка) — дозволяв SIM ініціювати запити на локацію, протокол не відрізнявся від очікуваного, але не було обмеження на кількість команд, що відкриває вікно для DoS.
Samsung Galaxy S22 (One UI 5.1) — при використанні команди
REFRESHпристрій перезапускав інтерфейс мобільної мережі, що можна використати для відмови в обслуговуванні.
OnePlus 9 — був найбільш нестабільним: симуляція шкідливого аплету з фальшивими статусами R-APDU викликала періодичне падіння модему, а при швидкій послідовності proactive-команд система повністю зависала.
Крім технічних нюансів, варто відзначити ще один критичний момент: жоден пристрій не показав жодного попередження або сповіщення для користувача. Тобто телефон “вірив” симулятору на 100%, працював з ним як із офіційною SIM, виконував усі вказівки — навіть якщо вони були потенційно небезпечними або несанкціонованими.
Це означає, що:
смартфони не розпізнають поведінку шкідливої SIM навіть у випадках явно підозрілих команд;
на системному рівні відсутні механізми аудиту або обмеження активності SIM, які б могли зупинити атаку;
є велика варіативність у поведінці модемів: те, що працює на одному пристрої, може дати неочікувані результати на іншому — отже, дослідження повинні охоплювати максимально широкий спектр пристроїв і прошивок.
Загалом ці тести підтверджують: реальні атаки через шкідливу SIM — не вигадка, а повністю здійсненний сценарій. І платформа SIMURAI стала першим open-source-інструментом, який дозволяє перевірити такі сценарії на практиці, без складного обладнання, реверсу або небезпеки для користувача.
Один із ключових компонентів, що дозволив авторам дослідження здійснювати атаки на реальні пристрої — це міжкартковий адаптер, або interposer. Його роль у схемі атаки — критична. Саме завдяки йому стає можливим «перехоплення» зв’язку між смартфоном і SIM-картою та заміна справжньої SIM на віртуальну програмну реалізацію, яка виконує не стандартну, а потенційно шкідливу логіку.
Ззовні interposer виглядає як звичайний перехідник SIM-картки, але всередині — це повноцінний апаратний “проксі”, який перехоплює команди, що надходять з телефону, і перенаправляє їх до віртуального модуля (у цьому випадку — SIMURAI, який запущений на комп’ютері або Raspberry Pi). Також він здатний повертати телефонові відповіді, сформовані в емуляторі, а не тими, які дала б справжня SIM.
Принцип роботи interposer’а можна описати так:
Телефон вважає, що працює з фізичною SIM-картою — він бачить стандартний інтерфейс, очікує на APDU-відповіді й надсилає команди згідно з 3GPP-протоколами.
Насправді сигнали проходять через адаптер, який перехоплює, змінює або перенаправляє запити на віддалену систему — комп’ютер зі встановленою SIMURAI.
Віртуальна SIM в реальному часі реагує на запити — наприклад, формує
PROACTIVE SIM-команди або підкидає модему шкідливі дані.
Результат повертається в телефон через той самий ланцюжок — і обробляється як звичайна відповідь від SIM.
Основні характеристики міжкарткового адаптера, який використовувався в дослідженні:
Заснований на SIMtrace2 — open-hardware проєкті з USB-інтерфейсом.
Працює на мікроконтролері AT91SAM7, підтримує режим PC/SC.
Підтримує протоколи T=0 і T=1, повністю сумісний з ISO 7816.
Дає змогу відстежувати трафік, фільтрувати або змінювати APDU-команди на льоту.
Може працювати у двох режимах: “вухо” (прослуховування) або “проксі” (втручання й заміна команд).
Що це дає з точки зору атаки?
Підвищена непомітність — атака відбувається на фізичному рівні, без змін на самому телефоні. Це дозволяє залишитися “поза радаром” будь-якого антивірусу чи системи виявлення загроз.
Модульність — interposer дозволяє легко підключити будь-який інший інструмент замість SIMURAI, наприклад, свій скрипт на Python для автоматизації атак або логер APDU-команд.
Динамічність — можливо змінювати поведінку картки в реальному часі: підкинути нові сценарії, змінити реакцію на команди, внести помилку в TLV-структуру.
Простота встановлення — ще один плюс. Interposer легко підключити в домашніх умовах. Досліднику потрібно лише:
телефон зі звичайним слотом під SIM (або адаптер для eSIM);
SIMtrace2 або інший PC/SC-сумісний кардтрідер;
короткий шлейф-перехідник SIM-формату;
ноутбук або SBC (типу Raspberry Pi) з Linux;
встановлений та сконфігурований SIMURAI.
Жодних змін у прошивці телефону, жодного root-доступу, нічого, що могло б видати тестування. Саме завдяки цій простоті такі атаки стають можливими навіть для ентузіастів, а не лише для державних хакерських підрозділів.
Таким чином, interposer — це не просто інструмент для демонстрації. Це фундаментальна складова сучасного підходу до тестування SIM-загроз, яка дозволяє поглянути на мобільну безпеку з абсолютно іншого рівня: фізичного перехоплення й симуляції, а не лише логічного аналізу.
Упродовж багатьох років SIM-карти вважалися «прозорими» — маленьким шматочком пластику, що просто відкриває доступ до мережі. Їх не розглядали як активних гравців у безпековій моделі. Але результати цього дослідження змінюють усе. Платформа SIMURAI, протестована на реальних пристроях, продемонструвала: SIM може бути шкідливою, може ініціювати атаки, контролювати взаємодію з модемом, обходити захист і навіть зависати пристрої, лишаючись при цьому повністю “невидимою”.
Це кардинально змінює уявлення про загрози у мобільних системах. У той час, як розробники фокусуються на апк-файлах, root-правах, бекдорах у застосунках чи фішингових посиланнях, справжній “троян” може ховатися в SIM — і жодна система захисту не побачить його.
Особливо тривожними є кілька ключових висновків:
Жодна сучасна мобільна ОС не перевіряє поведінку SIM-карти: вона довіряє всім командам без винятку.
Модеми телефонів легко піддаються впливу через STK: навіть прості команди можуть спричинити DoS або змінити роботу радіомодуля.
Інструменти на кшталт SIMURAI стали доступними для всіх: відкритий код, просте залізо, покрокова документація — тепер це може зробити кожен дослідник (і не тільки).
Вектор атаки через SIM стає привабливим для кіберрозвідки, бо дозволяє запускати експлойти ще до включення операційної системи, на рівні до завантаження Android або iOS.
Віртуальні SIM (eSIM) також уразливі, бо реалізують ті самі протоколи — лише в іншій формі. А значить, майбутні атаки можуть обійтися взагалі без фізичного носія.
І якщо раніше ми думали, що заміна SIM — це щось зі шпигунських фільмів, то сьогодні достатньо мати адаптер і Python-скрипт, щоб взяти контроль над модемом будь-якого смартфона. І він не знатиме, що щось не так.
Тож основне послання цієї роботи — перегляньте модель загроз. Якщо ви займаєтеся безпекою мобільних пристроїв, забудьте про уявлення, що SIM — це пасивна частина. Вона може бути джерелом загрози, передавачем даних, тригером DoS, навіть шпигуном. І єдина причина, чому ми не бачили таких атак масово — це їхня технічна складність, яка тепер зникла.
SIM-карта — це вже не просто пластик. Це процесор із власним кодом, логікою, і повним доступом до найчутливіших частин системи. Ігнорувати це — означає залишатися сліпими до нової хвилі загроз.