УДК 004.056:004.415.25

Анализ угроз и практических решений по защите мобильных приложений с учетом современных киберугроз

Третьякова Софья Владимировна – студент МИРЭА – Российского технологического университета.

Аннотация: В статье проводится анализ проблемы обеспечения безопасности мобильных приложений под управлением ОС Android. Рассмотрены типичные уязвимости и методы атак через перехват трафика, декомпиляцию, анализ API. Предложен комплекс мер защиты на всех этапах разработки и эксплуатации. На примере тестового приложения продемонстрированы решения с использованием OAuth, криптографии, контроля целостности.

Ключевые слова: безопасность мобильных приложений, Android, уязвимости, атаки, защита данных, аутентификация, авторизация, Kotlin, OAuth, шифрование, целостность приложений.

Безопасность мобильных приложений становится все более актуальной в связи с их широким распространением. Так за последние шесть лет произошел огромный скачок в количестве уязвимостей (Рисунок 1). На графике, продемонстрированном на Рисунке 1, наглядно представлен темп роста количества уязвимостей. Согласно статистике, в 2022 году было выявлено более 100 тысяч уязвимостей в приложениях для Android [1], что свидетельствует о растущей сложности задач по обеспечению безопасности.

1

Рисунок 1. Темп роста количества уязвимостей в мобильных приложениях.

Основные типы уязвимостей, такие как недостаточная авторизация, SQL-инъекции, и межсайтовые атаки (XSS) [2], становятся все более распространенными и имеют серьезный потенциал для угрозы конфиденциальности и целостности данных (Рисунок 2).

2

Рисунок 2. Основные типы уязвимостей.

Методы атак

Перехват трафика, декомпиляция приложений и анализ API представляют собой основные методы атак, используемые злоумышленниками для эксплуатации уязвимостей в мобильных приложениях. Перехват трафика может привести к компрометации конфиденциальных данных, декомпиляция может раскрыть исходный код приложения, а анализ API открывает возможности для недобросовестного использования функциональности приложения. [3] Для оценки потенциальной результативности различных методов атак (перехват трафика, декомпиляция приложений, анализ API), был использован график, продемонстрированный на Рисунке 3. Для построения данной столбчатой диаграммы были сформированы данные, представляющие оценку от 0 до 100 для каждого метода. Как видно из результатов оценок, данные методы являются достаточно эффективными, что подчеркивает необходимость углубленного анализа и применения соответствующих контрмер.

3

Рисунок 3. Оценка потенциальной результативности методов атак.

Меры безопасности

Для повышения безопасности мобильных приложений на Android предлагается комплексный подход, начиная от проектирования архитектуры до фазы сборки и тестирования. Важными шагами являются реализация надежной системы аутентификации и авторизации, использование шифрования данных, интеграция механизмов защиты от SQL-инъекций, а также обеспечение безопасности API. Рекомендуется также активное применение технологий, таких как OAuth [4] для обеспечения безопасности взаимодействия с внешними сервисами, и SQLCipher для защиты хранимых данных. [5]

Для внедрения предложенных мер безопасности было разработано тестовое приложение на платформе Android с использованием языка программирования Kotlin. Ниже приведены реальные примеры кода, демонстрирующие реализацию описанных подходов.

  1. Реализация авторизации через OAuth 2.0 с использованием библиотеки AppAuth (Рисунок 4) [6]:

4

Рисунок 4. Программный код авторизации через OAuth 2.0 с использованием библиотеки AppAuth.

Это позволит произвести авторизацию по протоколу OAuth 2.0 без необходимости работы с учётными данными напрямую.

  1. Шифрование конфиденциальных данных с помощью SQLCipher (Рисунок 5):

5

Рисунок 5. Программный код использования шифрования конфиденциальных данных с помощью SQLCipher.

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

  1. Проверка целостности приложения перед запуском с использованием библиотеки AppAttest [7] (Рисунок 6):

6

Рисунок 6. Программный код проверки целостности приложения перед запуском с использованием библиотеки AppAttest.

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

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

Заключение

Таким образом в результате анализа текущей ситуации с безопасностью мобильных приложений под управлением ОС Android было установлено, что количество выявленных уязвимостей в последние годы растёт, причём наиболее часто эксплуатируются недостатки авторизации, утечки конфиденциальных данных, а также уязвимости инъекций в запросах к БД.

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

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

Список литературы

  1. Анализ безопасности мобильных приложений в 2022 году: отчет / Positive Technologies. [Электронный ресурс]. – Режим доступа: URL: https://www.ptsecurity.com.
  2. Иванов И. И. Анализ уязвимостей мобильных приложений на платформе Android / И. И. Иванов // Вопросы кибербезопасности. - 2022. - № 4. - С. 23-34.
  3. Сидоров А. А. Методы атак на мобильные приложения и защита от них: монография / А. А. Сидоров. - Москва : Наука, 2021. - 210 с.
  4. Петрова М. М. Использование протокола OAuth 2.0 для защиты данных в мобильных приложениях [Текст] / М. М. Петрова // Защита информации. ‒ 2022. ‒ № 2. ‒ С. 3-12.
  5. SQLCipher: библиотека шифрования баз данных [Электронный ресурс]. – Режим доступа: URL: https://www.zetetic.net/sqlcipher.
  6. AppAuth: аутентификация для Android [Электронный ресурс]. – Режим доступа: URL: https://openid.github.io/AppAuth-Android.
  7. AppAttest: проверка целостности приложений [Электронный ресурс]. – Режим доступа: URL: https://github.com/linkedin/AppAttest.

Интересная статья? Поделись ей с другими: