Когда под рукой нет зарядного устройства, а индикатор батареи почти на нуле, логично зарядить смартфон через USB интерфейс ближайшего компьютера или через публичную зарядную станцию. Далеко не каждый пользователь при этом задумается о том, что такое подключение может представлять опасность. Эксперты «Лаборатории Касперского» провели собственный эксперимент и выяснили, какие проблемы может таить в себе простая зарядка гаджета через USB.

Если телефон пользователя защищен паролем или PIN-кодом, все, что увидит компьютер при подключении – его имя. Но если на телефоне не установлен PIN-код или пароль (чем пренебрегают многие пользователи), то получить доступ можно ко всему содержимому устройства.

«Объем данных, передаваемых по USB, зависит от производителя, версии ОС, прошивки устройства. Но данные передаются всегда. Даже если это телефон с последней версией Android (Marshmallow) или iOS 9», — пишет сотрудник «Лаборатории Касперского» Алексей Комаров.

Исследователь решил разобраться, что именно происходит при подключении смартфона к компьютеру. Для начала он приводит таблицу сравнения объема передаваемых данных между ПК и подключенным мобильным телефоном в момент начального хендшейка.

Обозначения:

  • DN – Device Name – имя устройства
  • DM – Device Manufacturer — производитель
  • DT – Device Type – тип устройства
  • SN – Serial Number – серийный номер
  • FW – Firmware info – информация о прошивке
  • OS – Operating System info – информация об ОС
  • FS – File system info/file list – информация о файловой системе
  • ECID – Electronic Chip ID

1

Из приведенной таблицы уже видно, что данных передается немало. Однако, это еще не все. Исследователь заметил, что один из тестируемых аппаратов во время установки CDC-драйвера (использовался обычный Windows-ПК и стандартный MicroUSB-кабель) устанавливает также COM-порт, обозначая его в качестве модема. Казалось бы, ничего необычного в этом нет. Однако на данном смартфоне был отключен режим модема, равно как и режимы разработчика и отладки.

Подключиться к COM-порту можно обычными средствами. Комаров отмечает, что подключение, конечно, производится не напрямую к модему. Подключение производится к слою, к интерфейсу, позволяющему общаться с модемом. Это слой Radio Interface Layer (RIL). Он отвечает за взаимодействие между приложениями Прикладного слоя (например, фреймворк-телефонии) и модемом при помощи специальных команд (отправка и получение).

Как известно, для всех модемов используется набор команд Хайеса, разработанный Деннисом Хайесом в 1981 году. Команды, используемые для общения с модемом, называются АТ-командами. Команды для каждого конкретного модема зависят от ограничений прошивки, установленных производителем, ограничений RIL-слоя и так далее. Многие производители также расширяют набор команд своими командами. Например, Qualcomm использует синтаксис AT$Q<command>, Infineon – AT+X<command>.

wired_mobile_ru_3

Суть, в том, что подключившись к COM-порту, при помощи команд ATI1-9 исследователь смог получить общую информацию о смартфоне и его модеме. К примеру, удалось узнать IMEI-номер устройства, версию ПО смартфона, текущий уровень сигнала, уровень заряда батареи и так далее.

«Есть еще одна очень интересная команда – стандартная для модемов – она позволяет произвести вызов произвольного номера вне зависимости от того, заблокирован экран или нет. И это работает даже на телефонах, на которых установлена защита и с которых без знания пароля можно всего лишь вызвать экстренные службы. Также имеются команды, позволяющие считать адресную книгу сим-карты. На тестируемом аппарате считать адресную книгу телефона не удалось, но кто гарантирует, что это не так в случае других аппаратов?», — пишет Комаров.

Многим может показаться, что вышеперечисленная информация не представляет интереса для злоумышленников (хотя ее вполне достаточно для оценки защищенности телефона), но исследователь пишет, что обнаружил и более интересную команду. Фактически она выполняет перезагрузку телефона в режим обновления прошивки.

Комаров провел эксперимент: он взял смартфон с заводской прошивкой и настройками, подключился к нему и при помощи AT-команд получил информацию о модели и текущей версии ОС. Затем, использовав упомянутую команду, исследователь перезагрузил устройство в режим перепрошивки. Так как ранее девайс уже удалось опознать через АТ-команды, Комаров попробовал получить root-права в системе, найдя подходящий пакет и запустив приложение обновления прошивки. Что случилось дальше можно увидеть на скриншоте чуть ниже. Исследователь отмечает, что обновление заняло не больше минуты, так как файл был очень небольшим.

1 (1)

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

В заключение Комаров пишет:

«Открывается море возможностей. Предположим, что вы отправились в поездку. Вы только что сошли с рейса длительностью 5-8 часов. Телефон почти разряжен. И тут в аэропорту вы видите станцию зарядки. Вы подключаетесь, телефон начинает заряжаться, вы оставляете его на полочке или в ящике на 20-30 минут и занимаетесь своими делами.

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

Сам исследователь отмечает, что в целом подобный вектор атак не нов. Покопавшись в сети, Комаров нашел отчет об этой же уязвимости с BlackHat 2014. Уязвимость до сих пор не исправлена, и проблема актуальна даже для самых последних моделей устройств. Также похожую технику кражи данных с мобильных устройств использовали в нашумевшей в 2013 году кибершпионской кампании Red October.

Ранее, в 2014 году, и сами эксперты «Лаборатории Касперского» уже поднимали вопрос небезопасности подзарядки гаджетов через публичные зарядные станции. Комаров пишет, что некоторые могут счесть все описанное паранойей, но совершенно напрасно. ФБР, кстати, согласно с тем, что шпионаж при помощи зарядных устройств — это не шутки.

«Вы можете думать, что это паранойя и никто не будет тратить усилия на создание и размещение вредоносной станции зарядки в аэропорту, кафе или на остановке. Но мы думаем иначе».

Фото: «Лаборатория Касперского», Gift of Power   



5 комментариев

  1. Int

    27.05.2016 at 15:07

    > получить доступ можно получить ко всему

    Если телефон в режиме «только зарядка», данные всё равно передаются? o_O Как так?

  2. r0b0t1x

    28.05.2016 at 03:01

    всё что написано выше не произойдёт если шнур подготовить заранее;
    в usb 4 провода ; для зарядки нужно 2, оставить «+» обычно красного цвета и «-» черного, остальные(отвечают за прием и передачу данных) отрезать ,замотать изолентой или натянуть термоусадку. данный кабель будет годен только для зарядки и не более того.

    • mihail341

      28.05.2016 at 08:51

      Правильное замечание!

    • 0xdeadbeaf

      30.05.2016 at 10:23

      Можно в радиоточке купить пару разъемов micro-usb мама-папа и собрать аналогичный переходник с обрезанными контактами d- d+. При необходимости зарядиться в небезопасном месте — надеваем на кабель переходник и заряжаем

  3. Phantomrus

    31.05.2016 at 14:39

    Если телефон будет выключен, ему все равно можно будет подать команду на рестарт в режиме перепрошивки или это поможет?

Оставить мнение