Злонамерена SIM карта може да накара устройството, в което е поставена, да изпълнява команди по избор на атакуващия. При клетъчните модули, вградени в зарядни станции за електромобили, индустриални рутери и автомобилни телематични устройства, това е достатъчно за пълно компрометиране на устройството.

Изследователи от Бирмингамския университет и фирмата за сигурност Fuzzware тестваха 26 телефона и клетъчни модула за тази функционалност, откриха я активирана в 9 от тях и я използваха за изпълнение на собствен код на търговска зарядна станция за електромобили.

Шест от осемте тествани клетъчни модула приеха командата. Само 3 от 18 телефона я поддържаха: OPPO Find X5, OPPO Reno 14 F 5G и ASUS Zenfone 9. Сред тях нямаше iPhone или Pixel.

Уязвимостта е в хардуера за комуникация между машини (M2M). Пет от шестте модула бяха на Quectel, като три от тях бяха извадени от зарядно устройство за електромобили, индустриален рутер и телематичен контролен блок на автомобил.

Знанието на номера на жертвата не е достатъчно: всяка атака започва с враждебна карта в слота, сменена на ръка, поставена като тънък междинен елемент (interposer), компрометирана от оператор или внедрена чрез софтуера или на производствената линия. Неохраняемото IoT оборудване с достъпно гнездо за SIM карта и малко други изложени интерфейси е точно мястото, където подобен подход си струва усилията.

Няма единна корекция за сигурност. Всяко едно от деветте устройства, които приеха командата, работи с комуникационен процесор на Qualcomm. Пет други базирани на Qualcomm телефони в проучването не я приеха, което според доклада се дължи на персонализации от страна на производителите.

Qualcomm заяви пред изследователите, че е разработила по-защитена конфигурация, която изключва този интерфейс по подразбиране. Quectel твърди, че е отстранила уязвимостта, свързана с достъпа до файлове, и все още работи по самия интерфейс. Нито една от компаниите не е публикувала официално предупреждение за сигурност, а порталът за уязвимости на производителя на модули изисква потребителско име и парола, за да се види каквото и да било.

Позицията на самите изследователи е, че интерфейсът трябва да бъде защитен, премахнат или изцяло деактивиран. По-защитената конфигурация ще бъде активирана по подразбиране на бъдещи устройства, споделиха изследователите пред The Hacker News, а корекциите ще достигнат до засегнатите модули под формата на обновления, въпреки че екипът не е проверил дали кодовите пътища за RUN AT са премахнати или само изключени. За всеки, който управлява мрежи от клетъчни IoT устройства, стъпката, достъпна днес, е да попита доставчика на модули дали RUN AT е активирана в доставения фърмуер и дали може да бъде деактивирана. Досега не са докладвани атаки, използващи този интерфейс.

Въпросната команда е активна (proactive) команда, част от стандартизирания набор, който SIM картата може да изпрати обратно към модема, вместо да чака да бъде прочетена. RUN AT изисква от модема да изпълни AT команда – езикът за управление на модеми, който датира от Hayes Smartmodem от 1981 г. и който всеки производител разширява със собствени допълнения. Следователно поддържането ѝ предоставя на картата конзола за общо ползване.

Мариус Мюнх, асистент по компютърни науки в Бирмингамския университет, заяви при обявяването на изследването, че активната функционалност на SIM картата и повърхността за атака, която тя отваря, са „изрично дефинирани в техническите спецификации за клетъчна комуникация“, поради което той определя резултата като съответстващ на стандарта, а не като негово нарушаване.

Това тълкуване е важно за начина на коригиране. Индивидуалните недостатъци са обикновени програмни грешки и уязвимостите могат да бъдат коригирани; интерфейсът, който ги разкрива, е документирана функция и изключването му е решение, което всеки производител взема за собствените си продукти.

Архитектурата е това, което влошава нещата при IoT. Почти всеки модул, изследван от екипа, работи с малък процесор за приложения паралелно с радиомодула (обикновено Android на ARM Cortex-A7) и препраща нагоре всяка AT команда, с която радиото не се справя само. Картата в крайна сметка комуникира с малък компютър с Linux, което докладът, представен тази седмица на USENIX WOOT в Балтимор, описва като „богата повърхност за атака за враждебни SIM карти“.

Зарядното устройство е търговски модел на Autel, който в доклада се идентифицира с код MAXI US AC W12-L-4G. Вътре в него демонът atfwd_daemon на модула Quectel EC25AFXDGA предава контролиран от атакуващия текст към системно извикване (shell) чрез небезопасен форматиращ низ. Списък от забранени символи е трябвало да спре излизането от обвивката (shell escape), но символ за нов ред е успял да премине през него. Два етапа по-късно екипът е постигнал изпълнение на код, управлявано изцяло от команди, издадени от SIM картата. Autel не е сред компаниите, които са били уведомени според доклада; компрометираният код принадлежи на модула. Мюнх заяви пред The Hacker News, че екипът е докладвал проблема на Quectel като доставчик на модула, който след това е уведомил собствените си клиенти.

При OPPO Reno 14 F 5G, един от трите телефона, които приеха RUN AT, командата AT+COPS=0,,,0 е ограничила телефона само до 2G мрежи. Собственикът не може да отмени това – нито чрез превключване на самолетен режим, нито чрез преминаване към ръчен избор на мрежа, нито чрез спиране на мобилните данни, деактивиране на SIM картата или промяна на предпочитаното поколение мрежа в настройките. 2G мрежите нямат взаимно удостоверяване на автентичността, така че подобно принудително понижаване на връзката, което жертвата не може да отмени, осигурява на атакуващия условия за използване на фалшива базова станция.

Две допълнителни команди са изключили телефона и са спрели...