Специалисты Positive Technologies провели исследование и выяснили, насколько протекторы помогают скрывать уязвимости и защитные механизмы в Android-приложениях. Для анализа использовали собственный сервис защиты от реверс-инжиниринга, который позволил оценить, как меняется доступность кода для анализа злоумышленниками.
Android остаётся самой распространённой мобильной платформой в мире — ей пользуются около 75% рынка, по данным Statcounter.
Открытость системы и свободный доступ к APK-файлам упрощают реверс-инжиниринг: раскрытие логики работы приложений, поиск ошибок, копирование функциональности и извлечение чувствительных данных.
В исследуемых приложениях специалисты обнаружили более 50 потенциальных уязвимостей разного уровня риска. После применения протектора количество обнаруживаемых ошибок снизилось примерно на 40%.
Наиболее заметное уменьшение пришлось на уязвимости высокого уровня риска — минус 67%. Уязвимостей со средним уровнем риска стало меньше на четверть, а дефектов, которые могли косвенно повлиять на безопасность, — почти на 80%.
Результат оказался разным для разных категорий приложений. Лидером по снижению числа видимых уязвимостей стали сервисы доставки еды — минус 46%. Далее идут приложения для путешествий и транспорта, а также маркетплейсы — по 38%. Примерно треть уязвимостей удалось скрыть в приложениях из сфер развлечений, телекоммуникаций, финансов и платежей.
Интересный эффект наблюдался и в области скрытия защитных техник. После применения протектора количество «видимых» мер безопасности, которые можно обнаружить с помощью сканера, сократилось на 67%. Это означает, что защитные механизмы стало сложнее распознать, а значит — сложнее заранее подготовить способы их обхода.
Также уменьшилось количество обнаруживаемых ключей доступа, токенов и других чувствительных данных — в среднем на 71%. Максимальный эффект наблюдался у приложений категории «Инструменты и утилиты».
По результатам анализа, использование техник защиты от запуска в виртуальных машинах оказалось скрыто в 98% случаев. Механизмы защиты от отладки — в 91%.
Для обфускации и защит от дизассемблирования снижение заметности было менее выраженным, на 32% и 21% соответственно.
Исследование показывает, что даже когда разработчики внедряют защитные механизмы, они могут быть распознаны при статическом анализе. Протекторы позволяют скрыть детали реализации и усложнить злоумышленникам задачу по изучению внутренней логики приложений.












