С помощью уязвимости в Android можно обходить подпись приложения

Новая серьезная уязвимость несет угрозу для миллионов Android-устройств. С ее помощью злоумышленники могут заменять легитимные приложения, установленные на устройстве, на вредоносные программы.

Проблема, названная экспертами Janus, дает хакерам возможность вносить изменения в код Android-приложений без нарушения их цифровой подписи. Уязвимость касается приложений, работающих со схемой подписи APK Signature Scheme v1 (версии Android, начиная с 5.0). Примечательно, что в Android 7.0 Nougat данная схема заменена на защищенную APK Signature Scheme v2.

Уязвимость связана с процедурой установки Android APK определенных приложений, которая дает возможность добавлять дополнительные байты кода в APK-файл, не нарушая цифровую подпись. Обычно после успешного прохождения проверки подписи программа компилируется в исполняемый файл формата DEX (Dalvik EXecutable) для того, чтобы продолжить работу на устройстве. Суть уязвимости в том, что она дает возможность объединять оригинальный APK с измененным DEX-файлом. В данном случае система может инсталлировать приложение, а после - запустить код из заголовка DEX. Таким образом киберпреступники могут не менять код легитимного приложения, а просто внедрить несколько строк вредоносного кода в оригинальное ПО.

После создания вредоносного варианта легитимного приложения хакеры могут осуществлять его распространение разными способами: с помощью рассылок спама, атак man-in-the-middle и сторонних магазинов приложений.

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

Специалисты сообщили Google об уязвимости летом этого года. Корпорация выпустила патч для ошибки в пакете декабрьских обновлений для Android. Однако владельцы Android-устройств в большинстве своем получат патч не ранее января, когда производители выпустят соответствующие обновления.

Поскольку эта уязвимость не касается Android 7 Nougat, владельцы устройств с более ранними версиями Android должны обновить операционную систему. Если обновить ОС нельзя, специалисты рекомендуют не устанавливать приложения и обновления из сторонних источников, чтобы минимизировать риск взлома.