Декабрьский Android Бюллетень 2017 года по безопасности Google, содержит исправление уязвимости, которая позволяет вредоносным объектам обойти подписи приложений и внедрить вредоносный код в Android - приложение. Обнаружен исследовательской группой по мобильной безопасности фирмы GuardSquare. Уязвимость находится в механизме для чтения подписи приложений Android OS.
Дело в том, что Android OS недостаточно точно проверяет байты в некоторых местах при проверке целостности файла. Расположение этих байт различны для APK и DEX файлов, и исследователи обнаружили, что они могут внедрить файл DEX внутри APK и система будет по-прежнему думают, что это читает исходный файл APK. Это происходит потому, что процесс вставки DEX не изменяет байты для Android проверки на целостность и подпись файла не меняется.
Этой уязвимости в GuardSquare дали имя Янус (Janus) в честь римского двуликого бога. Эта уязвимость могла позволить злоумышленнику внедрить вредоносные DEX - файлы в действительные обновления Android приложения (APK - файл).
Кроме того, поскольку обновленное приложение наследует разрешения исходного приложения, вредоносным программам, попавшим в систему через эту уязвимость, можно легко получить очень высокие права доступа за счет использования приложения которое пользователи считали безопасным.
Единственным недостатком атаки Янус является то, что злоумышленники не смогут разместить вредоносные обновления на официальном PlayMarket, и атакующим нужно будет заманить пользователей на сторонние ресурсы и обманным путём, и заставить их установить обновления для легитимных приложений.
Согласно GuardSquare, уязвимость Янус распространяется только приложения, подписанные по схеме v1. Приложения, подписанные схемой v2 уязвимость не затрагивает. Кроме того, Янус имеет отношение только к устройствам под управлением Android версии 5.0 и выше, вплоть до Android Nougat (7.0).