
Привет, Хабр! На связи Николай Анисеня из отдела перспективных технологий Positive Technologies. Так вышло, что в компании я уже много лет занимаюсь безопасностью мобильных приложений, исследую тренды этого направления и, как и все, наверно, специалисты в этой области, ломаю голову: как сделать мобильное приложение более защищенным. Этой публикацией я открываю цикл статей на тему безопасности мобильных приложений и устройств, корень которой (начнем со спойлера!) — в анализе кода. В этой статье расскажу об угрозах мобильных приложений, сценариях атак на них и о главном парадоксе в их разработке. Интересно? Тогда погнали!
В теме безопасности мобильных приложений присутствуют разнонаправленные тренды. Что-то становится более защищенным благодаря улучшению фреймворков, операционных систем и практик безопасной разработки, а где-то, наоборот, появляются новые возможности для атак из-за новой функциональности мобильных приложений. Все как в том меме: «Исправлены баги, добавлены новые». Примером может служить уязвимость, приводящая к атаке типа Tapjacking, о которой впервые заговорили применительно к Android 2.3. На устройствах с Android 4 эта проблема была фактически решена, однако с выходом Android 6 вышел и «наследник» этой уязвимости, позволяющий произвести атаку Cloak and Dagger.

Направлению безопасности мобильных приложений в Positive Technologies уже более десяти лет, и все это время мы наблюдаем эту картину: какие-то компоненты мобильных приложений становятся защищеннее, а какие-то, наоборот, вбирают в себя все больше угроз.
Этот факт также находит отражение в данных OWASP Mobile Top 10. Но в этом рейтинге можно заметить и весьма однозначные тренды, если анализировать долгосрочный период. Например, давайте рассмотрим ситуацию с защитой кода. За 10 лет существования OWASP Mobile Top 10 эта проблема не просто всегда отмечалась в рейтинге, но и стабильно поднималась вверх списка — с 10-го места в 2014-м на 7-е в 2024-м. Формулировали проблему каждый раз по-разному: возможность реверс-инжиниринга, тамперинга, недостаточная бинарная защита, защита кода.
Несмотря на растущую угрозу, защита кода все еще остается крайне непопулярной мерой защиты мобильных приложений, согласно исследованию, опубликованному на arXiv.org. За период с 2016 по 2023 год в среднем 56% приложений применяли техники обфускации, однако только 59% из них, или ⅓ от изначальной выборки, совмещали все три описанные в статье техники обфускации, при этом качество защиты не исследовалось. Не удалось найти похожих исследований для техник RASP — runtime application self-protection — самозащиты приложений во время запуска.
По нашей статистике, основанной на результатах анализа защищенности приложений за 2024 год, проводимых для наших клиентов, а также исходя из опыта личного участия наших экспертов в программах bug bounty, доля применения совокупности техник обфускации и RASP составляет только 8%.
