Исследователи из Университета имени Давида Бен-Гуриона в Негеве (Израиль) на конференции USENIX Security 2017 опубликовали результаты эксперимента по оценке возможности внедрения в смартфоны шпионских и вредоносных закладок через установку во время ремонта специально модифицированных деталей.
В качестве подтверждения реалистичности подобных атак рассмотрена ситуация замены повреждённого экрана. Исследователями были подготовлены прототипы модифицированных экранов для смартфонов Huawei Nexus 6P и LG G Pad 7.0, в которые был встроен дополнительный чип, контролирующий коммуникационную шину I2C, по которой осуществляется передача данных от аппаратного компонента к драйверу. По аналогии с MITM атака классифицирована как CITM («Chip-In-The-Middle») и в контенте сенсорного экрана позволяет перехватывать сенсорный ввод, а также симулировать операции с сенсорным экраном.
Модифицированные комплектующие могли применяться для сохранения ввода с виртуальной клавиатуры и симуляции действий пользователя (например, продемонстрирована установка вредоносной программы и создание фотоснимка с последующей отправкой атакующему по email). Кроме подстановки ввода возможно проведение прямой атаки на драйвер операционной системы в обход встроенных в смартфоны средств защиты, в случае отсутствия в драйвере необходимых проверок корректности данных, поступающих со стороны оборудования (например, исследователями выявлено переполнение буфера в драйвере контроллера сенсорного экрана).
Технически закладка создана на базе микроконтроллера ATmega328 из Arduino, припаянного к шине контроллера сенсорной панели. Благодаря использованию готового чипа стоимость оборудования для проведения атаки составила менее 10 долларов. Низкая стоимость позволяет легко наладить массовое производство вредоносных комплектующих и их поставку под видом обычных деталей. Прототипы атак продемонстрированы для платформы Android, но утверждается, что нет никаких преград повторить опыт для iOS.
Опасность атаки через поддельные комплектующие в том, что без специальной экспертизы их достаточно сложно отличить от легитимных деталей. Сенсорные экраны и многие другие компоненты, включая датчики ориентации, контроллеры беспроводного заряда и NFS-приемники, обычно поставляются сторонними производителями. Драйверы для взаимодействия с подобными компонентами встраиваются в основную ОС и в отличие от драйверов для подключаемых USB-накопителей или сетевых устройств не выполняют дополнительных проверок корректности взаимодействия аппаратного компонента и центрального процессора, полностью доверяя встроенному оборудованию.
Видеоролики с практическими демонстрациями возможных атак:
- Установка стороннего ПО через симуляцию действий с сенсорным экраном (запускается Google Play и устанавливается произвольная программа);
- Создание фотоснимка и отправка на email.
- Организация фишинг-атаки через подмену вводимого URL.
- Сохранение и перехват последовательности разблокировки телефона.
- Предоставление атакующему полного контроля за устройством через эксплуатацию уязвимости в ядре ОС (эксплуатируется переполнение буфера в драйвере, отключается SELinux и создаётся внешнее сетевое соединение с доступом к shell).