ВВЕДЕНИЕ 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.