Научная статья на тему 'АНАЛИЗ УЯЗВИМОСТЕЙ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ANDROID'

АНАЛИЗ УЯЗВИМОСТЕЙ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ANDROID Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
206
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УЯЗВИМОСТИ ANDROID / OWASP MOBILE APP / MOBSF / АВТОМАТИЗАЦИЯ ПОИСКА УЯЗВИМОСТЕЙ ANDROID / СТАТИСТИКА УЯЗВИМОСТЕЙ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Косов Н.А., Голубничев И.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

VULNERABILITY ANALYSIS OF MOBILE APPLICATIONS ON ANDROID

This article discusses statistics on security vulnerabilities of mobile applications, in particular, in the Android operating system. The features of vulnerabilities, their risks, as well as ways of automated detection of vulnerabilities in mobile applications are analyzed.

Текст научной работы на тему «АНАЛИЗ УЯЗВИМОСТЕЙ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ANDROID»

2. Lally G and Sgandurra D. Towards a framework for testing the security of IoT devices consistently, in Proceedings of the First International Workshop on ETAA, 2018, Barcelona, Spain, September.

3. Park N. Mutual authentication scheme in secure internet of things technology for comfortable lifestyle, Sensors (Swit- zerland), 2015. - vol. 16. - pp. 1-16.

4. Mishra S. and Paul A. A critical analysis of attack detection schemes in IoT and open challenges, in Proceedings of the 2020 IEEE International Conference on Computing, Power and Communication Technologies (GUCON). 2020. Noida, India, October. - pp. 57-62.

5. Luu L., Chu D.H., Olickel H., Saxena P. and Hobor A. Making smart contracts smarter, in Proceedings of the ACM Proceedings // ACM Conference on Computer and Communications Security, 2016. - pp. 254-69.

6. Зараменских Е.П. Интернет вещей. Исследования и область применения. - М.: ИНФРА-М, 2016. - 188 c.

7. Киреева А. И. «Интернет Вещей» И Области Его Использования // Инновационное Развитие, 2017. - Вып. 6 (11). - ISSN 2500-3887.

8. Дрешер Д. Основы блокчейна. - М.: ДМК Пресс, 2018. - 125 c.

9. Alonso A. Ferna ndez F., Marco L. and Salvachu a J. IAA- CaaS: IoT Application-Scoped Access Control as a Service, Futur Internet, 2017. - vol. 9. - № 4. - p. 64.

10. Ibrahim M. H. Octopus: an edge-fog mutual authentication scheme. International Journal on Network Security, 2016. - vol. 18. - pp. 1089-1101.

АНАЛИЗ УЯЗВИМОСТЕЙ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ANDROID

Н.А. Косов, Санкт-Петербургский государственный университет Телекоммуникаций им. проф. М.А. Бонч-Бруевича, kosov.n.a@mail.ru; И.А. Голубничев, Санкт-Петербургский государственный университет Телекоммуникаций им. проф. М.А. Бонч-Бруевича, ilyagolybnichev@gmail.com.

УДК 004.056.53_

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

Ключевые слова: уязвимости Android; OWASP Mobile App; MOBSF; автоматизация поиска уязвимостей Android; статистика уязвимостей мобильных приложений.

VULNERABILITY ANALYSIS OF MOBILE APPLICATIONS ON ANDROID.

Ilya Golubnichev, St. Petersburg state university of telecommunications n/a prof. M.A. Bonch-Bruevich;

Nikita Kosov, St. Petersburg state university of telecommunications n/a prof. M.A. Bonch-Bruevich.

Annotation. This article discusses statistics on security vulnerabilities of mobile applications, in particular, in the Android operating system. The features of

vulnerabilities, their risks, as well as ways of automated detection of vulnerabilities in mobile applications are analyzed.

Keywords: android vulnerabilities; OWASP Mobile App; MOBSF; Android vulnerability search automation; mobile application vulnerability statistics.

Введение

С 2020 по 2021 г. средний ежемесячный трафик мобильных данных достиг 66 млн терабайт. Согласно данным «Stock Apps», в 2021 г. количество пользователей мобильных телефонов составило 5,3 млрд человек. На рис. 1 показано соотношение пользователей и не пользователей мобильных приложений

[1-4].

Рисунок 1

По данным «Marketing Land» человек тратит 57% своего времени в сфере мобильной индустрии. Человек 21 века уже не может представить жизни без приложений, которые находятся всегда под рукой:

• стриминговые сервисы;

• мессенджеры;

• банковские приложения.

Существует три основных типа мобильных приложений:

1. Нативные приложения создаются только для одной конкретной платформы или операционной системы (Android, iOS, Blackberry и т.д.). Преимущество заключается в том, что нативные приложения работают быстрее и более надежны.

2. Веб-приложения. Доступ к веб-приложениям осуществляется через веб-браузер, и они являются адаптивными версиями веб-сайтов. В этом смысле они не являются автономными приложениями, которые вы можете скачать и установить на свое устройство. Преимущество заключается в том, что ничего не нужно загружать, но веб-приложения полностью зависят от браузера, который вы используете на устройстве (что означает ограниченные функциональные возможности). Для работы им требуется подключение к интернету.

3. Гибридные приложения - это комбинация нативных и веб-приложений. У них может быть значок приложения на главном экране, какой-нибудь адаптивный дизайн и они могут даже работать в автономном режиме. Но на самом деле это веб-приложения с собственной оболочкой приложения [5-10].

Статистика по уязвимостям

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

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

11 ноября 2021 г. стало известно о том, что Россия вошла в пятерку стран с наибольшим количеством угроз для пользователей Android. Число обнаруженных угроз в ОС Android возросло на 32,6% в сравнении с началом года. По данным компании «ESET», рост активности хакеров был зафиксирован в Индии, Бразилии, Мексике и Украине.

В 2021 г. «Avast» провела статистический анализ и установила примерное соотношение угроз для мобильных приложений на ОС Android. Как видно, исходя из рис. 2, большинство «вирусов» ориентированы на рекламу, на втором месте -подделки, на третьем - загрузчики и на четвертом - шпионское ПО и банковские трояны [11]. На рис. 2 показана структура серьезных угроз мобильных приложений.

Самые серьезные

угрозы мобильных

приложений 1 Рекламное ПО Я J

§ Поддельное ПО к

Загрузчики 1 Ш и но некое ПО

Банковские трояны

Рисунок 2

Клиентская и Серверная часть приложения

В мобильных приложениях, как и во многих других, существует «Клиентская» и «Серверная» часть:

• Клиентская часть также называется фронтэнд. По сути это то, что пользователи видят на экране устройства.

• Серверная часть, или бэкенд - программно-аппаратная часть сервиса. Это набор средств, которые реализуют логику приложения [12, 13].

Для упрощения понимания взаимодействие клиентской и серверной частей приложения представлено на рис. 3.

Серверная часть

Open Web Application Security Project (OWASP) - это открытый проект обеспечения безопасности веб-приложений. Сообщество OWASP включает в себя корпорации, образовательные организации и частных лиц со всего мира.

Сообщество работает над созданием статей, учебных пособий, документации, инструментов и технологий, находящихся в свободном доступе. Доля уязвимостей различных степеней риска на стороне Серверной части приложения представлена на рис. 4 (по данным OWASP) [14, 15].

27%

22%

Высокий риск Средний

51%

Рисунок 4

Исходя из рис. 5, можно выявить наиболее распространенные уязвимости клиентской части мобильных приложений, а именно:

• Небезопасное хранение данных.

• Передача чувствительных данных в открытом виде.

• Некорректная реализация механизма завершения сессии.

• Небезопасное межпроцессорное взаимодействие.

• Отсутствие механизма защиты Certificate Pinning (данную защиту можно обходить при помощи написания скриптом и использовании утилиты Frida, но иногда защита работает и от скриптов).

• Хранение чувствительных данных в исходном коде (логины, пароли от баз данных и другая чувствительная информация).

• Недостаточная защита от подбора учетных данных (bruteforce).

• Небезопасная конфигурация приложения.

• Возможность использования сторонней клавиатуры.

Небезопасное хранение данных

■ 76%

Передача чувствительных данных в открытом виде Некорректная реализация механизма завершения сессии Небезопасное межпроцессное взаимодействие Отсутствие механизма защиты Certificate Pinning Хранение чувствительных данных в исходном коде Недостаточная защита от подбора учетных данных

Возможность использования сторонней клавиатуры 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Рисунок 5

Наиболее распространенные уязвимости серверной части в мобильных приложениях представлены на рис. 6.

Раскрытие чувствительной информации в сообщениях об ошибках 036 10» 20% 30» 40» 50« 60% 70» 80« 90» 100»

Рисунок 6

Перед выставлением разработанной программы в общий доступ обычно крупные компании обращаются в Департамент комплексной безопасности для того, чтобы проверить приложение на наличие уязвимостей и постараться исправить их до выхода приложения «в свет».

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

Данные утилиты предназначены для автоматического поиска и анализа приложений на наличие уязвимостей:

• Androl4b - виртуальная машина для оценки безопасности Android-приложений, реверс-инжиниринга и анализа.

• Mobile-Security-Framework MobSF - open source фреймворк для автоматизированного пентестинга мобильных (Android/iOS) приложений. Может выполнять статический и динамический анализ, а также тестирование веб-API.

• Droidbox - инструмент для динамического анализа, который выдает подробный отчет после завершения работы.

• Drozer - фреймворк для оценки безопасности приложения.

• ProbeDroid - предоставляет API для создания собственных инструментов, которые позволяют проводить трассировку, профилировать и изменять поведение запущенного приложения.

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

• Vezir Project - виртуальная машина для пентестинга мобильных приложений и анализа вредоносов.

• MARA - фреймворк для реверс-инжиниринга и анализа мобильных

приложений.

Пример автоматизации поиска уязвимостей в Android приложениях

Для примера можно рассмотреть инструмент под названием MobSF (Mobile-Security-Framework). Данный фреймворк можно использовать, как онлайн (в общем доступе есть сервер для загрузки apk файлов мобильного приложения), так и локально на своем персональном компьютере.

Для этого достаточно установить утилиты, требуемые для MobSF и Python, с сопутствующими ему библиотеками, после чего запустить bat файл (рис. 7).

О run. bat 23.11.2022 3:01

Рисунок 7

На вашем компьютере локально запустится сервер, на который вы сможете загрузить apk файл вашего приложения, подождать некоторое количество времени, после MobSF выдаст вам подробный отчет по найденным уязвимостям со ссылками на статьи и примерами исправления кода.

Запустим фреймворк на примере приложения «2GIS», MobSF выдает нам 52/100 баллов безопасности, что является средним результатом (рис. 8).

File Name: 2GIS Offline map & Navigatien_6.10.0.425.21_Apkpure.apk

Package Name: m.dublgis.d£ismobile

Scan Date: Nov. 27,2022.9:40 a.m.

AppSecurity Score 52/1 00 (MEDIUM RISK)

Grade:

Trackers Detection: 9/428

Рисунок 8

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Также нам выдают количество уязвимостей по степени риска, как видно по рис. 9. Фреймворк нашел две уязвимости высокого риска.

С FINDINGS SEVERITY

ft HIGH A MEDIUM i INFO V" secure <a. Hotspot

15

Рисунок 9

Посмотрим на одну из найденных уязвимостей подробнее на рис. 10.

Q MANIFEST ANALYSIS

no issue severity description

1 Clear text traffic is Enabled For App [and roid :usesCleartextTraffic= true] high The app intends to use deartext network traffic, such as cleartext HTTP, FTP stacks, DownloadManager, and MediaPlayer. The default value for apps that target API level 27 or lower is "true". Apps that target API level 28 or higher default to "false". The key reason for avoiding cleartext traffic is the lack of confidentiality, authenticity, and protections against tampering; a network attacker can eavesdrop on transmitted data and also modify it without being detected.

Рисунок 10

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

Заключение

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

Литература

1. URL https://tproger.ru/digest/android-security-resources (дата обращения - декабрь 2022 г.).

2. Зобнин Е.Е. Android глазами хакера - СПб.: Изд-во БХВ-Петербург, 2021. - 7388 с.

3. URL https://www.tadviser.ru/index.php/ (дата обращения - декабрь 2022 г.).

4. Weidman G. Penetration testing. A hands-on introduction to hacking - San-Francisco: Изд-во No Starch Press, Inc., 2014. - 87 с.

5. URL https://mobsf.github.io/docs/#/ (дата обращения - декабрь 2022 г.).

6. URL https://github.com/PacktPublishing/Mastering-Modern-Web-Penetration-Testing?ysclid=ldeki9me90784136093 (дата обращения - декабрь 2022 г.).

7. McPhee M. Mastering Kali Linux for Web Penetration Testing - Birmingham-Mumbai: Изд-во Packt Publishing, 2017. - 47-52 с.

8. Kennedy D., O'Gorman J. Metasploit: The Penetration Tester's Guide - San-Francisco: Изд-во No Starch Press, 2011. - 75 с.

9. Эриксон Д. Хакинг: искусство эксплойта. Пер. с англ. - СПб.: Изд-во Питер, 2010. - 289 с.

10. URL https://appmaster.io/ru/blog/otlichie-nativnyh-mobilnyh-prilozhenij-ot-vseh-ostalnyh (дата обращения - декабрь 2022 г.).

11. URL https://vc.ru/s/1153268-informacionnye-tehnologii/395772-short-list-samyh-populyarnyh-uyazvimostey-v-mobilnyh- prilozheniyah?ysclid=ldefq3b7bf964883279 (дата обращения - декабрь 2022 г.).

12. URL

https://www.securitylab.ru/blog/company/pt/349016.php?ysclid=ldefq4tv38660308515 (дата обращения - декабрь 2022 г.).

13. URL https://otus.ru/nest/post/943/ (дата обращения - декабрь 2022 г.).

14. URL https://tproger.ru/articles/kak-za-paru-dnej-proverit-bezopasnost-mobilnogo-prilozhenija/?ysdid=ldefroxa3u551626889 (дата обращения - декабрь 2022 г.).

15. URL https://ru.wikipedia.org/wiki/OWASP (дата обращения - декабрь 2022 г.).

i Надоели баннеры? Вы всегда можете отключить рекламу.