Добре дошли в света, в който SIM картите проявяват самостоятелност.
Случва се, по време на съдебно дело, съдът да нареди на мобилния оператор да представи подробни данни за активността на даден мобилен телефон. Често пъти в тази разпечатка се виждат странни SMS съобщения, които притежателят на проверявания телефон никога не е изпращал и не е виждал. Когато нещо подобно изплува в самия разгар на съдебния процес, тази мобилна активност е съвсем нежелана и обикновено възниква объркване, което води до съмнения и съдебни грешки.
През пролетта на тази година с мен се свърза адвокат, които искаше да разбере какъв е загадъчният SMS, изпратен към номер 1111340002. Този SMS бе включен в документацията към делото за непредумишлено причиняване на смърт поради отвличане на вниманието по време на шофиране. И ето какво открих…
SIM картата на AT&T, поставена в смартфона на шофьора, е изпратила SMS до телефонен номер 1111340002, за да съобщи че е инсталирана автоматична актуализация за софтуера на смартфона. Това SMS събитие нямаше нищо общо с конкретните действия на водача. Наложи се да се свърши немалко лабораторна работа и да се изпрати призовка до AT&T, за да се реши този проблем.
SIM карата
SIM картата, използвана при започналото разследване, е показана на по-горното изображение. Тя е на мобилния оператор AT&T, който е започнал да раздава тези карти някъде към 2015 година.
Инструментариумът
По време на това разследване бяха използвани добре известните в нашата област за мобилна информационна безопасност софтуерни инструменти с отворен сорс код, които лесно можеха да бъдат проверени и от двете страни:
- YateBTS, базиран на OpenBTS, който бе използван за моделиране на мобилна мрежа
- SimTrace2 – инструмент за мониторинг на връзката между SIM картата и телефона
- Wireshark – анализатор на трафика, използван за декодиране на получените данни от YateBTS и SimTrace2
Също така използвах най-различни телефони на Nokia, Samsung и на други компании.
С помощта на този тестов стенд успях да моделирам една виртуална клетъчна мрежа и да засека случаите, когато смартфонът изпраща SMS на въпросния телефонен номер.
Важно е да отбележа, че този тестов стенд бе разположен в Румъния. Това даде възможност да се избегне риска за осъществяване на връзка на стенда с реална мрежа на AT&T.
Получателят
Един от основните въпроси бе къде се изпращат тези текстови съобщения? Оказа се, че крайният получател е специализиран сървър някъде вътре в AT&T.
При направените експерименти успях да разбера, че всеки един от тези изпратени SMS-и включва два телефонни номера:
- Първият е телефонният номер на крайния получател, в случая 1111340002
- Вторият е номерът на SMS центъра (SMSC), който се занимава с маршрутизирането на SMS съобщенията и регулира целия процес. В нашия случай това е +14047259800 и обикновено този номер се предоставя от SIM картата
Телефонният номер 1111340002 на получателя го няма буквално никъде и не може да бъде намерен в нито една публична мрежа. Според мен това е някакъв вътрешен номер на AT&T. Това че той не съществува в пуличната мрежа означава, че абонатът не може да позвъни на него или да му изпрати съобщение чрез стандартните методи. За да може съобщението да пристигна до този вътрешен телефонен номер, то трябва да премине през специализирания SMS център на AT&T, който знае къде да го препрати.
Телефонният номер на SMS центъра (+14047259800) си е стандартен американски телефонен номер, който наетият от мен специалист по телекомуникациите нарече NANP E.164, като NANP е стандартът за телефонни номера в САЩ, а E.164 описва формата на тези телефонни номера. Търсенето в Google намери документация, която показва, че този телефонен номер е свързан с центъра за управление на услугите (SCP) на AT&T, който е също нещо като сървър и е създаден от Sun Microsystem. Най-вероятно това е сървър, работещ под управлението на Solaris с пакета Oracle SMSC, който се намира някъде в Атланта. Интересно е, че това не е телефонният номер на SMS центъра, който AT&T използва за обикновените SMS съобщения (+13123149810). Това е SMS център за по-специални операции.
Съобщението
Какво все пак има в този SMS? Той включва информация за SIM картата, за текущия телефон, както и за телефона в който е била поставена преди да бъде поставена в този телефон. Има и други неща, които не можах да разбера докрай, но те не ми и трябваха.
Данните, които на мен ми трябваха, в този SMS не са дадени в обикновен текстов формат, а в двоичен вид. Знам, че SMS-ите имат стандартната структура на TLV формата, който се използва в редица телекомуникационни протоколи. По-долу е показан пример на реална информация от SMS, получена с помощта на YateBTS и Wireshark.
Ето един LAPDm кадър, в който полезните данни са отбелязани с по-тъмен шрифт:
0000 : 19 01 9b 00 01 00 07 91 41 40 27 95 08 f0 8f 15 ……[email protected]’…..
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 ……[email protected]…..
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 …. …[email protected]
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 — значението е неизвестно, но най-вероятно това е версията на протокола;
-
Тип на полето 0x22, дължина 9 — IMSI на SIM карата;
-
Тип на полето 0x23, дължина 9 — IMEISV на предишния тел;ефон;
-
Тип на полето 0x24, дължина 9 — IMEISV на текущия телефон;
-
Тип на полето 0x25, дължина 32 — профил на терминала на текущия телефон;
-
Тип на полето 0x26, дължина 16 — не е известно;
-
Тип на полето 0x20, дължина 10 — ICCID на SIM картата;
-
Тип на полето 0x21, дължина 7 — регионът, в който се намира SIM картата в текущата мрежа;
-
Тип на полето 0x27, дължина 16 — неизвестно;
-
Тип на полето 0x28, дължина 1 — не е известно.
Изпращачът
Тук трябва да обясним кой или какво изпраща това съобщение. Да, това прави SIM картата и ето защо.
Фактът, че този SMS включва информация за предишния телефон, в който е била поставена тази SIM карта, ни навежда на мисълта, че SIM картата самостоятелно изпраща този SMS, понеже единствено тя може да има информация за смяната на мобилния телефон.
Оказа се, че SIM картите могат самостоятелно да изпращат SMS-и чрез функцията „проактивно MO-SMS“.
За да мога безпогрешно да потвърдя, че наистина SIM картата е изпращачът, аз използвах инструмента за проследяване SIMTrace2. Той се включва към слота за SIM карта с помощта на специален плосък кабел. Самата SIM карта се поставя в този инструмент. По този начин между SIM картата и телефона има посредник, който може да записва информацията, преминаваща през него. Съвсем не бе за учудване, че той регистрира изпращането на този SMS. При това само секунда-две преди той да пристигне в модела YateBTS.

Сигналът, използван от SIM картата за изпращането на този SMS, преминава директно от нея към чипа, управляващ различните честотни ленти, който е и предавателят на мобилния телефон. Централният процесор изобщо не се използва, въпреки че всички SMS месинджъри използват именно него. Операционната система няма как да разбере, че това се е случило. И още, SIM картата не запазва копие на изпратения SMS. Нито в телефона, нито в SIM картата остава каквато и да било следа за изпращането на този SMS. Информацията знае единствено AT&T.
Тригерът
Кога всъщност SIM картата изпраща този SMS? Стана ясно, че SIM картата изпраща това съобщение, когато бъде поставена в друг телефон и се налага да бъде обновен фърмуера по такъв начин, че да се обхваща необходимата честотна лента.
Това че SIM картата изпраща IMEISV на текущия телефон (и на предишния телефон) означава, че промяната на IMEI инициира изпращането на този SMS. И разбира се, поставянето на SIM картата в друг телефон означава промяна на IMEI, която инициира изпращането на подобен SMS. На практика аз успях да предизвикам изпращането на подобен SMS чрез проведените от мен изследвания.
Според данните от активността на мобилния телефон в мрежата на AT&T, може да се каже че има и други тригери, понеже IMEI номерата в тези данни не се променят. Но извършването на тяхното реверсивно инженерство не винаги е възможно, а и е непрактично. Когато става дума за съдебно дело и издаване на присъда, по-ефикасно е грамотно съставена молба до AT&T, ако съдът трябва да узнае останалите тригери.
Дадените пред съда показания на служител на AT&T изясниха, че причината за изпращането на подобно съобщение, освен поставянето на SIM картата в друг телефон, е обновяването на чипа за работа с различните честотни ленти, в които мобилният оператор понякога прави промени. Това съвпада със запитването IMEISV на SIM картата, в което SV означава software version и се променя всеки път, когото се изпраща подобен SMS и SIM картата получава нов фърмуер. Конкретно в този случай, телефонът е изтеглил обновяване, включително и за чипа, който работи с честотните ленти на мобилния оператор. Дали?
Целта
AT&T не съобщава публично защо нейните SIM карти изпращат подобни отчети във вид на SMS-и. По всичко личи, че мобилният оператор изгражда база данни на мобилните телефони, използвани от техните клиенти, както и къде са използвани. Безспорно това е полезна информация за мобилния оператор, но бихме искали малко повече прозрачност по този въпрос.
Тези съобщения съдържат и друга информация, значението на която така и остана неизвестно.
Заключение
AT&T не е единственият мобилен оператор, използващ проактивни SIM карти за автоматично изпращане на SMS-и в техните мрежи. Тук AT&T е даден само като пример. Основното е, че мобилният телефон изглежда има свой собствен разум, при това даже не един, като се вземе предвид и SIM картата. Тези различни умове е напълно възможно дори и да не общуват помежду си и ако мобилният телефон е направил нещо, то това не означава, че потребителят има нещо общо.