Новости Уязвимость на 10 миллиардов установок: сотни Android-приложений оказались беззащитны перед перехватом управления

NewsMaker

I'm just a script
Премиум
28,004
46
8 Ноя 2022
Достаточно одного утёкшего ключа, чтобы доверие системы стало чужим оружием.


bg57qmejjc20m0f6louhfp1ovodjv7zm.jpg

Цифровая подпись должна подтверждать, что приложение Android выпустил настоящий разработчик, но новая исследовательская работа показывает, как утечка одного ключа превращает этот механизм доверия в слабое место всей цепочки поставки .

Авторы исследования «A Longitudinal Study of Android Apps Signing Key Protection» проанализировали открытые репозитории GitHub и нашли 56 510 файлов хранилищ ключей, связанных с подписью Android-приложений. В 46 619 случаях такие файлы лежали рядом с паролями в открытом виде. После удаления дублей специалисты насчитали 5 673 скомпрометированных хранилища и 6 602 ключа подписи.

Проблема опасна из-за самой логики Android. Система разрешает обновлять приложение только пакетом, подписанным тем же разработчиком. Если злоумышленник получает закрытый ключ и пароль, он может собрать поддельное обновление с «правильной» подписью. Для устройства такой пакет выглядит как легитимная новая версия.

Проверка показала, что 26 скомпрометированных сертификатов связаны с 278 реальными приложениями. Среди них есть 26 программ из публичных магазинов и 252 предустановленных приложения от семи производителей устройств. В выборку попали приложения Baidu, Ctrip, Kwai, Xiaomi и других разработчиков. Совокупная аудитория затронутых приложений превышает 10 млрд пользователей.

Отдельный риск связан с предустановленными и системными приложениями. Такие программы иногда получают расширенные разрешения без отдельного запроса у пользователя. Если поддельное обновление заменит подобное приложение, вредоносный код сможет получить доступ к чувствительным данным или нарушить работу устройства. Авторы также указали на риск постоянного отказа в обслуживании из-за конфликта привилегированных разрешений.

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

Утечка затрагивает не только смартфоны. Один из найденных ключей связали с Baidu CarLife, платформой для автомобильных головных устройств, установленной более чем на 1 100 моделях машин. В таком сценарии поддельное приложение на телефоне может мешать работе автомобильного интерфейса или следить за поведением пользователя.

Авторы сообщили о находках затронутым сторонам и выдержали срок раскрытия. К моменту публикации часть репозиториев уже закрыли, но полное устранение проблемы шло неравномерно, а ротацию ключей завершил только один сторонний разработчик.

Чтобы снизить риск, разработчикам рекомендуют не хранить пароли к ключам в проектных файлах, использовать разные пароли для хранилища и ключа подписи, защищать доступ многофакторной аутентификацией и по возможности передавать подпись управляемым сервисам. Производителям устройств отдельно рекомендуют не подписывать системные компоненты публичными AOSP-ключами и не встраивать сторонние приложения в образ ОС с лишними привилегиями.
 
Источник новости
www.securitylab.ru

Похожие темы