Архітектура безпеки Android
Android використовує багаторівневу архітектуру безпеки, яка включає захист на рівні ядра Linux, Android Runtime, додатків та користувача. Кожен рівень забезпечує додатковий захист від різних типів загроз.
1. Ядро Linux
SELinux (Security-Enhanced Linux): Примудковий контроль доступу
ASLR (Address Space Layout Randomization): Випадкове розташування пам'яті
DEP (Data Execution Prevention): Запобігання виконанню даних
Stack canaries: Захист від buffer overflow
KASLR (Kernel ASLR): Випадкове розташування ядра
2. Android Runtime (ART)
Sandboxing: Ізоляція додатків
Permission system: Контроль доступу до ресурсів
Code signing: Перевірка цілісності додатків
Memory management: Безпечне управління пам'яттю
3. Application Framework
Intent system: Безпечна комунікація між додатками
Content providers: Контрольований доступ до даних
Broadcast receivers: Безпечне отримання повідомлень
Services: Ізольоване виконання фонових задач
Система дозволів Android
1. Типи дозволів
Normal permissions: Автоматично надаються
Dangerous permissions: Потребують підтвердження користувача
Signature permissions: Тільки для системних додатків
System permissions: Тільки для системи
2. Runtime permissions (Android 6.0+)
Дозволи запитуються під час використання
Користувач може відхилити дозволи
Додатки повинні обробляти відхилення
Можливість відкликати дозволи в налаштуваннях
3. Критичні дозволи
READ_SMS: Читання SMS
WRITE_SMS: Написання SMS
READ_CONTACTS: Читання контактів
ACCESS_FINE_LOCATION: Точна геолокація
CAMERA: Доступ до камери
RECORD_AUDIO: Запис аудіо
Шифрування в Android
1. Full Disk Encryption (FDE)
Шифрування всього диска
Використовує AES-128 або AES-256
Ключ виводиться з PIN/пароля
Активується за замовчуванням з Android 6.0
2. File-Based Encryption (FBE)
Шифрування на рівні файлів
Різні ключі для різних файлів
Direct Boot для системних файлів
Покращена продуктивність
3. Adiantum шифрування
Для пристроїв без апаратної підтримки AES
Оптимізовано для ARM процесорів
Використовує ChaCha20 та Poly1305
Google Play Protect
1. Real-time scanning
Сканування додатків в реальному часі
Виявлення malware
Блокування небезпечних додатків
Оновлення сигнатур
2. Verify Apps
Перевірка додатків перед встановленням
Сканування зовнішніх джерел
Попередження про небезпечні додатки
3. Find My Device
Відстеження втраченого пристрою
Дистанційне блокування
Видалення даних
Показ повідомлення
Захист від malware
1. Sandboxing
Ізоляція додатків
Обмежений доступ до системних ресурсів
Запобігання міжпроцесній комунікації
2. Code signing
Цифрові підписи додатків
Перевірка цілісності
Запобігання модифікації
3. SELinux policies
Примудковий контроль доступу
Обмеження системних викликів
Захист від privilege escalation
Безпека мережі
1. Certificate pinning
Фіксація сертифікатів
Запобігання MITM атакам
Додаткова перевірка SSL/TLS
2. Network Security Config
Конфігурація мережевої безпеки
Обмеження небезпечних протоколів
Налаштування довіри до сертифікатів
3. VPN підтримка
Вбудована підтримка VPN
API для VPN додатків
Захист трафіку
Кращі практики безпеки
1. Для користувачів
Регулярні оновлення системи
Встановлення додатків тільки з Google Play
Використання сильних PIN/паролів
Увімкнення двофакторної аутентифікації
Регулярні резервні копії
2. Для розробників
Мінімізація дозволів
Використання HTTPS
Безпечне зберігання даних
Регулярні оновлення залежностей
Тестування безпеки
3. Для організацій
Mobile Device Management (MDM)
Політики безпеки
Моніторинг пристроїв
Навчання користувачів
Регулярні аудити безпеки
Вразливості та загрози
1. Типові вразливості
Buffer overflow
SQL injection
Cross-site scripting (XSS)
Insecure data storage
Weak cryptography
2. Типи атак
Malware атаки
Phishing
Man-in-the-middle
Side-channel атаки
Rooting атаки
Майбутнє Android безпеки
Розвиток Android безпеки спрямований на покращення приватності, зміцнення захисту від нових загроз, інтеграцію з машинним навчанням для виявлення аномалій та спрощення управління безпекою для користувачів.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Network Packet Routing і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Network Packet Routing