VNC
Пользователь
НЕ ПРОВЕРЕН
НЕ ПРОВЕРЕН
- Регистрация
- 26.02.26
- Сообщения
- 131
- Реакции
- 0
- Репутация
- 0
Цифровая подпись должна подтверждать, что приложение 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-ключами и не встраивать сторонние приложения в образ ОС с лишними привилегиями.
Авторы исследования «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-ключами и не встраивать сторонние приложения в образ ОС с лишними привилегиями.
Профиль пользователя НЕ ПРОВЕРЕН! Будьте внимательны при работе с ним!
Подробнее о снятии "НЕ ПРОВЕРЕН" >>>здесь<<<
Подробнее о снятии "НЕ ПРОВЕРЕН" >>>здесь<<<






