[Перевод] Что AT&T отправляет на номер 1111340002?
Иногда, в ходе судебного разбирательства, у оператора сотовой связи запрашивают активность мобильного телефона, которая может содержать странные СМС-сообщения. Велика вероятность, что владелец телефона никогда не отправлял и не видел этих сообщений. И если такие вещи всплывают в самом разгаре судебного процесса, когда странная мобильная активность совсем некстати, то возникшая путаница может привести к сомнениям и ошибкам.
Весной 2021 года судебные представители обратились ко мне по поводу загадочного СМС на номер 1111340002. Это СМС-сообщение фигурировало в деле о причинении смерти по неосторожности с обвинениями в отвлечении внимания во время вождения. Вот, что я обнаружил…
TL; DR: драйвер AT&T СИМ-карты отправил СМС на номер 1111340002 с отчетом о том, что на телефоне было установлено автоматическое обновление ПО. Отправка сообщения не требовала никаких действий со стороны водителя. Чтобы разобраться в этом, потребовалось вызвать AT&T в суд и провести анализ в лабораторных условиях.
SIM
СИМ-карта, использованная в расследовании, изображена на фото. Она была выпущена AT&T ориентировочно в 2015 году.
Инструменты
В ходе расследования применялись хорошо известные в комьюнити исследователей безопасности мобильных сетей инструменты с открытым исходным кодом, которые могли быть проверены любой из сторон:
YateBTS, основанный на OpenBTS — использовался для моделирования сотовой сети;
SimTrace2 — инструмент для мониторинга соединения между SIM и телефоном;
Wireshark — анализатор трафика, декодирующий выходные данные от YateBTS и SimTrace2.
Также я использовал множество различных телефонов от Nokia, Samsung и других фирм.
С помощью такого испытательного стенда я мог смоделировать сотовую сеть и зафиксировать случаи, когда телефон отправляет СМС на искомый номер.
Важно отметить, что испытательный стенд был расположен в Румынии. Это позволило избежать рисков соединения с реальной сетью AT&T и блокировки SIM-карты, а также рисков подключения телефонов с AT&T к поддельной сети.
Получатель
Резюме: куда направлялись эти сообщения? Конечный получатель — это специальный сервер где-то внутри AT&T.
Любое исходящее СМС имеет два номера:
Первый — это номер конечного получателя, в данном случае 1111340002 (Обычно, это номер, который указывает абонент при отправке);
Второй — это номер СМС-центра (SMSC), который отвечает за маршрутизацию СМС-сообщений и регулирует весь процесс. В данном случае +14047259800 (Обычно, этот номер предоставляется СИМ-картой)
Номер получателя 1111340002 не вписывается ни в один телефонный план нумерации публичной сети. Это, должно быть, внутренний номер AT&T. Его не существует в публичной сети. Ты не можешь позвонить на него или отправить сообщение обычным способом. Чтобы сообщение было доставлено на внутренний номер, оно должно пройти через специальный СМС-центр AT&T, который знает куда его направить.
Номер СМС-центра (+14047259800) — это стандартный американский номер, который специалист по телекоммуникации назвал «NANP E.164» (прим. NANP — это план нумерации в США, E.164 — формат телефонных номеров). Поиск в гугл выдает документацию, которая показывает, что этот номер связан с пунктом управления услугами (SCP) AT&T (своего рода сервером), созданным Sun Microsystem. Скорее всего, это сервер на Solaris с пакетом Oracle SMSC, расположенный в Атланте. Интересно то, что это номер не СМС-центра, который AT&T использует для обычных сообщений (+13123149810). Это СМС-центр для специальных операций.
Мидтаун Атланта. Видите здание AT&T? Высокое, белая крыша, справа от центра. Вероятно, именно туда направляются эти сообщения. Фото — Kyle Sudu для Unsplash
Содержание
Резюме: что в сообщении? Сообщение содержит информацию о СИМ-карте, текущем телефоне и о телефоне, в котором она была ранее установлена, а также о некоторых других вещах, в которых я ещё не до конца разобрался.
Полезные данные в этих СМС представлены не в виде обычного текста, а в бинарном. СМС имеет стандартную структуру формата TLV, используемого во многих телекоммутационных протоколах. Ниже представлен пример фактического содержимого СМС, полученный с помощью YateBTS и Wireshark.
Собранный кадр LAPDm, полезные данные выделены жирным:
0000: 19 01 9b 00 01 00 07 91 41 40 27 95 08 f0 8f 15………A@»……
0010: 01 0a 81 11 11 43 00 20 00 f4 ff 82 ee 01 50 22……C. ……P»
0020: 09 08 39 01 14 20 95 64 66 89 23 09 33 25 76 03 …9… .df.#.3%v.
0030: 08 91 23 76 f8 24 09 33 25 88 16 90 55 35 01 f6 …#v.$.3%…U5…
0040: 25 20 ff ff ff ff 7f 9f 00 df ff 00 00 1f e2 08 % ……………
0050: 11 06 c3 c0 00 00 00 00 40 00 51 00 00 00 00 18………@.Q……
0060: 00 00 26 10 01 01 01 01 00 00 03 01 00 00 00 00 …&………….
0070: 00 00 00 00 20 0a 98 10 14 40 72 52 49 66 96 98…. ….@rRIf…
0080: 21 07 13 00 14 03 e2 03 e2 27 10 00 00 00 00 00! ………»……
0090: 00 00 00 00 00 00 00 00 00 00 00 28 01 02…………(…
Расшифровка:
Заголовок 0xEE0150 — значение неизвестно, возможно кодирует версию протокола;
Тип поля 0×22, длина 9 — IMSI СИМ-карты;
Тип поля 0×23, длина 9 — IMEISV предыдущего телефона;
Тип поля 0×24, длина 9 — IMEISV текущего телефона;
Тип поля 0×25, длина 32 — профиль терминала текущего телефона;
Тип поля 0×26, длина 16 — неизвестно;
Тип поля 0×20, длина 10 — ICCID СИМ-карты
Тип поля 0×21, длина 7 — область местоположения в текущей сети;
Тип поля 0×27, длина 16 — неизвестно;
Тип поля 0×28, длина 1 — неизвестно.
Отправитель
Резюме: кто или что отправляет это сообщение? СИМ-карта.
Тот факт, что сообщение содержит информацию о предыдущем телефоне СИМ-карты, является существенным основанием для вывода, что СИМ-карта сама отправляет сообщение, поскольку только СИМ-карта будет обладать информацией о смене телефона.
СИМ-карты могут самостоятельно отправлять СМС с помощью функции «проактивное MO-SMS».
Для того чтобы подтвердить, что СИМ-карта является отправителем, я использовал инструмент отслеживания SIMTrace2. Этот инструмент подключается к лотку СИМ-карты с помощью специального плоского кабеля. СИМ-карта вставляется в сам инструмент. Теперь между СИМ-картой и телефоном есть посредник, который может записывать информацию, проходящую через него. И, неудивительно, что он зарегистрировал отправку сообщение. Причем всего за секунду или две до того, как оно поступило в модель YateBTS.
SimTrace2 с установленной СИМ-картой и подключенный к тестовому телефону
Сигнал, используемый СИМ-картой для отправки сообщения, проходит непосредственно между ней и процессором основной полосы частот (процессор, управляющий функциями радиоуправления и передачей сигналов). При этом не задействуется центральный процессор, с которым связана работа СМС-мессенджеров. Операционная система телефона не будет знать о том, что произошло. Также СИМ-карта не сохранит копию отправленного сообщения. Если все работает корректно, то ни в телефоне, ни в СИМ-карте не останется следов отправки. Информация об этом будет только у AT&T.
Триггер
Резюме: когда СИМ-карта отправляет это сообщение? СИМ-карта отправляет это сообщение, когда устанавливается в другой телефон и обновляется прошивка процессора основной полосы частот.
То, что СИМ-карта отправляет IMEISV текущего телефона (и предыдущего телефона), означает, что изменение IMEI может инициировать отправку СМС. И, конечно, установка СИМ-карты в другой телефон, а, соответственно, изменение IMEI, инициирует отправку СМС. Фактически, таким образом я и вызывал СМС для проведения описанных здесь исследований.
Судя по данным активности телефона от AT&T, есть и другие триггеры, поскольку IMEI в этих записях обычно не меняется. Однако их определение с помощью реверс-инжиниринга не всегда возможно и, в целом, непрактично. В определенном смысле наиболее эффективным будет грамотно составленное обращение к AT&T, в случае, если необходимо узнать остальные триггеры. Так или иначе, в ходе исследований «общения» телефона и СИМ-карты удалось исключить некоторые возможные причины:
Триггеры не связаны с временем. В СИМ-карте отсутствуют часы и СИМ-карта никогда не запрашивает информацию о текущем времени, хотя и имеет соответствующие возможности;
Триггеры не связаны с активностью пользователя. В информации, проходящей между СИМ-картой и телефоном, нет ничего связанного с активностью пользователя. Опять же, СИМ-карта может запрашивать такую информацию, но не делает этого;
Триггеры не связаны с перемещением и сменой местоположения. СИМ-карта передает информацию о вышке сотовой связи, но изменения в этой информации не вызывают отправку сообщения. Я провел несколько экспериментов с симуляцией перемещения телефона внутри сети от одной вышки к другой и через области местоположения в течение нескольких дней, но ничего из перечисленного не привело к отправке сообщения.
После лабораторных исследований показания сотрудника AT&T дали понять, что единственной причиной отправки сообщения, помимо установки СИМ в другой телефон, является обновление процессора основной полосы частот. Это также согласуется с запросом IMEISV СИМ-картой, где «SV» означает «software version», который обновляется каждый раз при загрузке в процессор новой прошивки. Конкретно в данном случае, телефон загрузил обновление, в том числе и для процессора основной полосы частот. Скорее всего, именно это вызвало отправку СМС.
Цель
AT&T не рассказывают публично, зачем их СИМ-карты отправляют такие отчеты, но похоже, что они пытаются вести базу данных устройств, которые используют их клиенты и где. Это, конечно, полезная информация для оператора, но хотелось бы открытости от них в этом вопросе.
Также сообщения содержат и другую информацию, значение которой пока неизвестно.
Заключение
AT&T — это не единственный оператор, использующий проактивные СИМ-карты для автоматической отправки СМС в их сеть. Здесь они приведены в качестве примера. Суть в том, что мобильный телефон обладает буквально собственным разумом, и даже не одним, учитывая СИМ-карту. Эти различные умы возможно даже не общаются между собой, и если телефон что-то сделал, то это не значит, что пользователь связан с этим.