ВВЕДЕНИЕ 4
1. АРХИТЕКТУРА И БЕЗОПАСНОСТЬ ОС ANDROID 5
1.1. Экосистема 5
1.2. Архитектура ОС Android 7
1.2.1. Ядро Linux 8
1.2.2. Уровень аппаратной абстракции 10
1.2.3. Виртуальная машина Android Runtime 10
1.2.4. Собственные библиотеки C / C++ 10
1.2.5. Программный интерфейс Java API 11
1.2.6. Прикладной уровень 11
1.3. Принципы безопасности ОС Android 12
1.4. Модель угроз 14
1.5. Модель безопасности ОС Android 18
2. РЕАЛИЗАЦИЯ МОДЕЛИ БЕЗОПАСНОСТИ 22
2.1. Согласие 22
2.1.1. Разработчики 22
2.1.2. Платформа 23
2.1.3. Пользователи 23
2.2. Аутентификация 26
2.3. Изоляция и сдерживание 29
2.3.1. Разрешения 30
2.3.2. Песочница приложения 33
2.3.3. Процессы в песочнице 36
2.3.4. Песочница ядра 36
2.3.5. Песочница под ядром 36
2.4. Шифрование данных 40
2.5. Шифрование данных при передаче 41
2.6. Смягчение последствий 41
2.7. Целостность системы 42
2.8 Патчи 44
3. ОБЗОР СУЩЕСТВУЮЩИХ ПРИЛОЖЕНИЙ ДЛЯ АУДИТА 45
3.1. Kaspersky Internet Security 45
3.2. Dr.Web Security Space 46
3.3. Avast Mobile Security 48
3.4. Анализ приложений 50
4. РЕКОМЕНДАЦИИ ДЛЯ БЕЗОПАСНОСТИ ПОЛЬЗОВАТЕЛЕЙ 51
4.1. Включение блокировки экрана 51
4.2. Отключение показа графического ключа (если он установлен) 51
4.3. Автоблокировка 52
4.4. Блокировка кнопкой питания 52
4.5. Подключение только к защищенным сетям WiFi 53
4.6. Показ паролей 53
4.7. Установка приложений из неизвестных источников 53
4.8. Получение root прав 54
4.9. Спящий режим 54
4.10. Проверка разрешений для установленных приложений 55
5. РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ АУДИТА ОС ANDROID 56
5.1. Общие характеристики приложения 56
5.2. Алгоритм работы с приложением 59
5.3. Тестирование приложения 68
ЗАКЛЮЧЕНИЕ 74
СПИСОК ЛИТЕРАТУРЫ 75
На сегодняшний день операционная система (далее ОС) Android является самой распространенной мобильной ОС: ежемесячное количество активных устройств с данной системой, по данным на 2019 год, превышает
2,5 миллиарда. Общий тренд на использование интернета через мобильные устройства сделал ОС Android самым распространенным способом взаимодействия с цифровыми услугами. Большое количество пользователей создает большой диапазон вариантов использования системы: общение, СМИ, развлечения, финансы, здоровье и т.д. Многие из данных направлений требуют от приложений высокий уровень безопасности и конфиденциальности, который ОС Android должна предоставлять как для разработчиков, так и для пользователей. В связи с этим, представленная работа, посвященная разработке приложения для аудита информационной безопасности мобильных устройств на основе ОС Android, является актуальной.
Целью данной работы является разработка приложения для аудита информационной безопасности мобильных устройств на основе ОС Android.
Поставленная цель требует решения следующих задач:
1. Изучить архитектуру ОС Android, провести обзор модели угроз и модели безопасности.
2. Провести обзор существующих приложений аудита безопасности ОС Android.
3. Разработать рекомендации по повышению уровня безопасности для пользователя ОС Android.
4. Разработать приложение для ОС Android, выполняющее аудит информационной безопасности.
5. Провести тестирование разработанного приложения на устройствах с ОС Android различных версий.
1. Проведен анализ архитектуры ОС Android, модели угроз и модели безопасности.
2. Проведен обзор и сравнительный анализ существующих приложений аудита безопасности ОС Android: Kaspersky Internet Security, Dr.Web Security Space, Avast Mobile Security.
3. Разработаны рекомендации по повышению уровня безопасности для пользователя ОС Android, включающие 10 пунктов.
4. Разработано приложение для ОС Android, выполняющее аудит информационной безопасности, имеющее следующие функции:
1. Сканирование всех установленных приложений и их разрешений.
2. Рекомендации об опасности установленных приложений на основе сравнения их разрешений и списка опасных разрешений.
3. Проверка возможности подключения к небезопасным WiFi сетям.
4. Отключение возможности подключения к небезопасным WiFi сетям.
5. Возможность программно отключить камеры устройства.
6. Проверка возможности установки программ из неизвестных источников.
7. Проверка шифрования пользовательских данных.
8. Предложение зашифровать данные стандартными средствами ОС Android, если данные не зашифрованы.
9. Принудительная установка пароля заданной длины и сложности.
10. Установка максимального времени перед спящим режимом не более 3 минут.
11. Проверка root доступа.
12. Выдача результатов проведенного аудита и рекомендаций на его основе.
5. Проведено тестирование разработанного приложения на устройствах с ОС Android 4.4 до 9.0.
1. A. Adams and M. A. Sasse. «Users Are Not the Enemy». In: Commun. ACM
42.12 (Dec. 1999), pp. 40-46. issn: 0001-0782. doi: 10.1145/322796.322806.
2. Просторы интернета: для работы или развлечений? // Всероссийский центр изучения общественного мнения URL: https://wciom.ru/index.php? id=236&uid=9322 (дата обращения: 20.03.2019).
3. Desktop vs Mobile vs Tablet Market Share Worldwide // StatCounter GlobalStats URL: http://gs.statcounter.com/platform-market-share/desktop- mobile-tablet (дата обращения: 20.03.2019).
4. S. Pichai. Android has created more choice, not less. July 2018. // GOOGLE
IN EUROPE URL: https://www.blog.google/around-the-globe/google-
europe/android-has-created-more-choice-not-less/ (дата обращения:
8.01.2019) .
5. R. Tamma, D. Tindall, O. Skulkin. Learning Android Forensics. 2nd. Packt Publishing, 2018, pp. 30-34. isbn: 978-1789131017
6. A. Dubey, A. Misra. Android security, attacks and defences. CRC Press, 2013, pp. 36-37. isbn: 978-1-4822-0986-0
7. R. Mayrhofer. «An Architecture for Secure Mobile Devices». In: Security
and Communication Networks (2014). issn: 1939-0122. doi:
10.1002/sec.1028.
8. D. Dolev and A. C.-c. Yao. «On the security of public key protocols». In: IEEE Transactions on Information Theory 29 (2 1983), pp. 198-208. doi: 10.1109/TIT.1983.1056650
9. Бюллетень по безопасности Android - июнь 2018 г. // Android Open Source Project URL: https://source.android.com/security/bulletin/2018-06- 01#kernel-components (дата обращения: 12.12.2018).
10. R. Dhamija, J. D. Tygar, and M. Hearst. «Why Phishing Works». In: Proceedings of the SIGCHI Conference on Human Factors in Computing
Systems. ACM, 2006, pp. 581-590. isbn: 1-59593-372-7. doi: 10.1145/1124772.1124861.
11. E. Fernandes, Q. A. Chen, J. Paupore, G. Essl, J. A. Halderman, Z. M. Mao, and A. Prakash. «Android UI Deception Revisited: Attacks and Defenses». en. In: Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, Feb. 2016, pp. 41-59. isbn: 978-3-662-54969-8. doi: 10.1007/978- 3-662-54970-4_3
12. J. Kraunelis, Y. Chen, Z. Ling, X. Fu, and W. Zhao. «On Malware Leveraging the Android Accessibility Framework». In: Mobile and Ubiquitous Systems: Computing, Networking, and Services. Springer International Publishing, 2014, pp. 512- 523. isbn: 978-3-319-11569-6
13. Y. Fratantonio, C. Qian, S. Chung, and W. Lee. «Cloak and Dagger: From Two Permissions to Complete Control of the UI Feedback Loop». In: Proceedings of the IEEE Symposium on Security and Privacy (Oakland). May 2017
14. A. S. Tanenbaum and H. Bos. Modern Operating Systems. 4th. Prentice Hall Press, 2014. isbn: 013359162X, 9780133591620
15. N. Scaife, H. Carter, P. Traynor, and K. R. B. Butler. «CryptoLock (and Drop It): Stopping Ransomware Attacks on User Data». In: 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS). June 2016, pp. 303- 312. doi: 10.1109/ICDCS.2016.46
16. B. B. Anderson, A. Vance, C. B. Kirwan, J. L. Jenkins, and D. Eargle. «From Warning to Wallpaper: Why the Brain Habituates to Security Warnings and What Can Be Done About It». In: Journal of Management Information Systems 33.3 (2016), pp. 713-743. doi: 10.1080/07421222.2016.12439 47
17. A. P. Felt, E. Ha, S. Egelman, A. Haney, E. Chin, and D. Wagner. «Android
Permissions: User Attention, Comprehension, and Behavior». In:
Proceedings of the Eighth Symposium on Usable Privacy and Security. ACM, 2012, 3:1-3:14. isbn: 978-1-4503-1532-6. doi:
10.1145/2335356.2335360.
18. D. Hintze, P. Hintze, R. D. Findling, and R. Mayrhofer. «A Large-Scale, Long-Term Analysis of Mobile Device Usage Characteristics». In: Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 1.2 (June 2017), 13:113:21. issn: 2474-9567. doi: 10.1145/3090078.
19. Better Biometrics in Android P // Android Developers Blog URL: https://android-developers.googleblog.com/2018/06/better-biometrics-in- android-p.html (дата обращения: 13.12.2018).
20.S. Smalley and R. Craig. «Security Enhanced (SE) Android: Bringing Flexible MAC to Android». en. In: Proc. of NDSS 2013. Apr. 2013, p. 18.
21. J. Vander Stoep and S. Tolvanen. Year in Review: Android Kernel Security. Linux Security Summit. 2018. URL: https: //events.linuxfoundation.org/wp- content/uploads/2017/ 11/LSS2018.pdf. (дата обращения: 13.12.2018)
22. V. van der Veen, Y. Fratantonio, M. Lindorfer, D. Gruss, C. Maurice, G. Vigna, H. Bos, K. Razavi, and C. Giuffrida. “Drammer: Deterministic Rowhammer Attacks on Mobile Platforms”. en. In: ACM Press, 2016, pp. 1675-1689. isbn: 978-1-4503-4139-4. doi: 10.1145/2976749.2978406
23. Android Enterprise Recommended requirements // Android Enterprise URL: https://www.android.com/enterprise/recommended/requirements/ (дата обращения: 13.12.2018).