Как стать автором
Обновить

Изучаем работу SIM-карт с помощью Osmocom SIMTrace2

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров5.8K
Всего голосов 46: ↑46 и ↓0+65
Комментарии19

Комментарии 19

Особой документации на это нет, поэтому зачастую симке приписывают разные мифические свойства (и потом рассказывают про «слежку через SIM-карты»).

Да ну.. вот прям нет :)
10 лет назад даже в открытом доступе найти можно все было (когда я этим плотно занимался)

SIM-карта по запросу оператора может делать многое: выполнять AT-команды, отправлять служебные SMS, посылать и принимать вызовы,

Ээ.. Карта ISO7816 может принимать APDU команды. Отправляет SMS и пр. не карта. Вы имели в виду sim toolkit.. Но все равно фраза звучит коряво и режет глаз.

Цены на железки простое не адекватные. Наверное потому что это для "cool хакеров" предназначено :)
А так, перехватчик проткола ISO7816 T0 и T1 делается на STM32F108 практически без обвязки.
А имея самодельный перехватчик ISO7816, автоматичски получаем эмулятор. По факту, эмуляторы карт то же не сложные. Много кода в апплетах JavaCard не бывает (просто не лезет).

Ну, имел в виду, что приложение, установленное на карте, может отправлять команды, которые STK интерпретирует как звонок или отправку SMS.

Да я так и понял.
Просто в сочетании с "мифическими свойствами" в предыдущем предложение и этой фразой, может у тех кто считает, что SIM карта это магия вызвать еще большую веру в магию :)

А так в сущьности там все просто и примитивно.. В первую очередь из за размеров приложений.
Ну 2..3тыс строк кода Java.. превращающиеся в 12-16Кб загружаемого.
Да и такие то монстры были редкостью. EMV платежное приложение (полноценное) умещается в 2100 строк кода. А максимальное STK в ~1000 строк писал.

И вообще, время STK приложений ушло с кнопочными телефонами. RIP.
С концами ушло. Спроси у кого, как в смартфоне добраться до STK меню - мало кто вообще скажет что это такое.

Просто в сочетании с "мифическими свойствами" в предыдущем предложение и этой фразой, может у тех кто считает, что SIM карта это магия вызвать еще большую веру в магию :)

Сами-то функции вполне себе известны. И даже документация на STK, как и инструментарий, ищется. Про это даже я рассказывал (и тот пост про введение в разработку апплетов будет далеко не последним). А вот то, как и для чего используют это сами операторы (обновление параметров конфигурации, отслеживание продаж симок или телефонов, возможно, ещё что-то), разумеется, в открытом доступе не документируется.

По ощущениям, сейчас всё, что связано с "меню SIM" у всех ассоциируется только с разводом на деньги. Несколько неловких нажатий в том разделе, и какая-нибудь мусорная подписка уже оформлена.

У Tele2 одно время (в 2019-2020 году, кажется) был прикол с отправкой уведомлений через служебные сообщения, которые отображались не как обычные SMS в общем списке, а как всплывающее окно (напоминающее ответ на запрос USSD). На ведроиде оно тоже отображалось средствами того самого приложения com.android.stk. Если в этот момент вместо "Отмена" жмякнуть "ОК", то тоже можно было подключить подписку.

Если в этот момент вместо "Отмена" жмякнуть "ОК", то тоже можно было подключить подписку.

не в тему STK и подписок , но..
Опсосам теперь и подверждения не нужны.

Мне вот недавно на тарифе для модема сняли за услугу "развлечение" (МТС). Чем они собирались модем развлекать - не знаю (причем, в списке подключеных услуг ее не было). После жалобы в чате - деньги вернули. Но кто то наверняка и не заметил. "десять старушек - рубль".

Так что МТС я воспринимаю с некоторй брезгливостью. Как мелкого жулика/неуклюжего вора карманника. За руками которого нужно следить.

Такое же ощущение и на МТС банк распространяется. Понятно, что как бы разное. Но ирационально и то и другое бренд/клеймо МТС.

Так что МТС я воспринимаю с некоторй брезгливостью. Как мелкого жулика/неуклюжего вора карманника. За руками которого нужно следить.

Впрочем, на других ОпСоСов это тоже распространяется. Аналогичным образом подхватили какую-то муть на Tele2. Подозреваю, что жмякнули по какой-то всплывающей рекламе, выйдя в сеть с мобильного интернета.

Эта проблема была и на некоторых кнопочных, появлялось уведомление на весь экран вида "анекдоты, первая неделя бесплатно" и внизу на экране одна кнопка "Ок" (как ответ на USSD запрос). Если нажать на "Ок" подписка оформится, если нажать на "положить трубку" сообщение исчезнет с экрана, подписка не появляется.

Самое обидное, что многие так попадались, просто жмякая центральную кнопку, чтобы зажечь экран.

Спасибо за статью. Оказывается теперь обмен SIM-ME можно просто смотреть в wireshark. Я когда-то очень давно перехватывал траффик SIM-ME с помошью самодельного сниффера переделанного из самодельного SIM card reader. Ничего сложного в этом нет. Ридер подключался к аппаратному COM порту на компе. В режиме ридера симка тактировалась от 3.57мГц, что соответствовало скорости 9600Бод. В режиме сниффера я просто подключал GND и DATA к телефону. Телефон тактирует симку частотой 13МГц/4=3.25МГц. Поэтому начальная скорость соответствует 3.25e6/372~=8736Бод. Если на 16550 UART настроить делитель 13 как раз получается близкая частота (115200/13~=8861) и данные отлично снифаются. Осложнения начинаются по той причине что новые телефоны и SIM поддерживают более высокую скорость которая активируется процедурой PPS. После этого сим работает на скорости не CLK/372 а, если ничего не путаю, CLK/64 и тут уже со сниффингом возникают проблемы. Нужно поймав PPS перенастроить скорость. Однако в те времена такого сниффера мне хватило чтобы изучить как работает SIM toolkit и сделать свой мультисим.

А спецификации к стати и сейчас легко доступны. Обмен SIM-ME описан в стандарте GSM11.11, команды SIM Toolkit в GSM11.14. Спецификации легко гуглятся. Вот на 4G SIM более новые стандарты, но когда я делал свой мультисим 4G еще не было.

Еще из интересного по SIM-ME обмену: однажды мне присылали дампы обмена с MTKшных чипсетов. Меня удивило обилие бессмысленных запросов в том числе явно ошибочных, на которые карта всегда отвечает ошибкой.

сделать свой мультисим

Вот, кстати, теперь, когда наконец в руки попали шлейфы для считывателя, можно тоже пробовать собирать аппаратный эмулятор на МК.

Меня удивило обилие бессмысленных запросов в том числе явно ошибочных, на которые карта всегда отвечает ошибкой.

Интересно, с чем это связано...

Вот, кстати, теперь, когда наконец в руки попали шлейфы для считывателя, можно тоже пробовать собирать аппаратный эмулятор на МК.

https://habr.com/ru/articles/795217/

Шлейфы я в свое время делал из сис карт ненужных и проводов МГТФ 0.03. Отогревал карту, снимал плату с чипом, отковыривал компаунд с кристаллом а вместо разварки припаивал МГТФ. Дальше в корпусе вырезал углубления для проводов в нужную сторону. Без фрезера ножом это сложно делать но можно. В итоге можно в любую стороны вывести провод для совместимости с любым телефоном.

Такой адаптер можно и в айфон и в другие смарты с лотком воткнуть. Нужно просто сделать адаптер из мини сим или вообще из большой карты, а потом обрезать пластик по размеру лотка и вставлять в телефон прямо кусок пластика карты вместо лотка. Я так свой эмулятор на Funcard2 под ифон обрезал и использовал. Все потому что обычнуюFuncard2 можно обрезать под мини и микро сим. А под нано уже не получается.

Интересно, с чем это связано...

По многолетнему опыту разработки скажу, что это связано с падением качества кода из-за недостатка рессурсов на разработку. Если нет внимательного код ревью, нормальных тестов и времени на рефакторинг код со временем превращается в сплошной ужас.

Странно, что за столько лет существования SIMTrace2, нигде не появился проект SIMTrace32 на базе stm32.

Видимо, эта конструкция уже себя зарекомендовала и смысла собирать новую без добавления каких-то новых функций особо не было.

Там и так стоит недорогой Кортекс-М. Какой смысл менять один ARM на другой? Добавочная стоимость платы позволяет ставить любой привычный программисту контроллер.

потом рассказывают про «слежку через SIM-карты»

Невольно вспомнилось: "алло, это вас из КГБ беспокоят..." - "Да я уже понял..." - "откуда? Я же вам на телефон первый раз звоню, вы номер звонящего не можете узнать" - "да, но вы мне на выключенный телефон звоните!"

Если вы заказывали плату у Sysmocom, то они будут в комплекте, в противном случае придётся искать их на Али.

Не поделитесь ссылочкой на Али?

потом рассказывают про «слежку через SIM-карты»

Дык так и есть сейчас, заражают через СИМ карту смартфон, а дальше расстояние не имеет значение, а так же не имеет значение какой у вас замечательны с открытым исходным кодом, не прослушиваемый меседжер

Кстати на хакерском форуме предлагали дырку, отправляется бинарная смс, а дальше во время звонка телефон ещё звонит вам, вы не выдавая себя можете прослушать разговор. СМС отправляется один раз, далее все работает в автомате.

Думаю что таких "дырок" в командах к СИМ карте пруд пруди

Зарегистрируйтесь на Хабре, чтобы оставить комментарий
OSZAR »