Citizen Lab задокументировал FORCEDENTRY (CVE-2021-30860, в каталоге CISA KEV) - zero-click эксплойт NSO Group. Integer overflow в CoreGraphics при обработке PDF с JBIG2-кодированными данными, доставка через iMessage в виде .gif-файлов, которые на самом деле были PDF. Работало на полностью обновлённых iPhone. Жертва не нажимала ничего.
Когда мы разбирали похожий кейс на стороне защиты для медиаорганизации, картина была до боли знакомой: корпоративный SIEM не видел мобильный трафик, MDM проверял только версию ОС, а журналист ходил с рабочим iPhone без Lockdown Mode. Три аномальных DNS-запроса к доменам, которых нет ни в одном публичном фиде - и стало ясно, что устройство сдано. Обнаружение заняло четыре часа ручного ковыряния в mitmproxy и Wireshark, хотя корреляционное правило в SIEM уместилось бы в десять строк.
Модель угроз: от stalkerware до коммерческого spyware
Перед тем как лезть в мобильный харденинг, надо зафиксировать threat model. Рынок surveillance-инструментов для мобильных устройств - не конспирология, а задокументированная индустрия с прайс-листами.NSO Group с Pegasus - самый громкий, но далеко не единственный игрок. По данным Citizen Lab и Amnesty Tech, Intellexa стоит за платформой Predator и серией мобильных zero-day эксплойтов. В отчёте Citizen Lab «Sweet QuaDreams» (2023) описано, как QuaDream использовала невидимые приглашения в календарь iCloud для заливки шпионского ПО на iPhone. Zerodium открыто предлагал семизначные суммы в USD за zero-click цепочки под iPhone - тут вся экономика рынка как на ладони.
Эшелоны угроз для защиты телефона от шпионажа:
| Уровень | Атакующий | Вектор | Ориентировочная стоимость |
|---|---|---|---|
| Массовый | Stalkerware-оператор | Физический доступ к разблокированному устройству | Бесплатно - $100/мес |
| Целевой | Корпоративный шпионаж | Фишинг + one-click эксплойт | $10K - $100K |
| Государственный | Спецслужбы, коммерческий spyware | Zero-click через iMessage, WhatsApp, push-уведомления | $1M+ за цепочку |
Физический доступ - отдельная история. Работая с Cellebrite UFED на стороне защиты, я вижу, что оттуда вытягивается: полный дамп keychain, история геолокации, удалённые сообщения, данные приложений. Для threat model активиста, журналиста или юриста это прямой сценарий - изъятие устройства на границе или при задержании. GrapheneOS и iOS с Lockdown Mode противостоят этому по-разному, и разница принципиальная.
GrapheneOS - безопасность на уровне операционной системы
GrapheneOS - hardened-версия Android на базе AOSP. Отличие от стокового Android не в том, что тут быстрее патчат известные баги. Каждый вендор этим занимается. GrapheneOS работает над тем, чтобы выжить при столкновении с уязвимостями, которые ещё не найдены. Это цитата из официальной документации проекта, и она точно отражает инженерную философию: exploit mitigations вместо зависимости от патч-цикла.Ядро, exploit mitigations и attack surface reduction
По данным официальной features page GrapheneOS, вот что реально защищает от zero-click exploit'ов и Pegasus-подобных инструментов:Hardened kernel и аллокатор памяти. Hardened malloc бьёт по heap memory corruption - классу уязвимостей, который до сих пор доминирует в серьёзных мобильных эксплойтах. Hardened libc добавляет защиту от memory corruption на уровне стандартной библиотеки.
Attack surface reduction. NFC, Bluetooth, UWB выключены по умолчанию. USB-периферия при заблокированном экране контролируется гранулярно: Charging-only или полное отключение порта. iOS USB Restricted Mode делает примерно то же, но с меньшим числом опций. Для защиты от Cellebrite-подобных инструментов это критично: если устройство заблокировано и перезагружено, USB-порт молчит на физическом уровне.
Exploit mitigations: verified boot с rollback protection (устройство не откатывается на старые версии), ASLR, stack canaries для обнаружения buffer overflow, zero-on-free в hardened_malloc - стирание освобождаемых heap-аллокаций, что убивает use-after-free и утечки через uninitialized memory. На Pixel работает Hardware Memory Tagging Extension (MTE), который ловит целые классы memory corruption багов аппаратно. Это не маркетинг - это реальный механизм в кремнии.
После перезагрузки устройство в состоянии Before First Unlock (BFU): данные зашифрованы и недоступны при физическом изъятии. Duress PIN/Password - при вводе специального кода ключи шифрования всех профилей уничтожаются в Titan M2 (Pixel 6+) / Titan M (Pixel 3–5). Данные становятся нерасшифровываемыми без factory reset.
Sandboxed Google Play и контроль разрешений
Google Play Services здесь работают как обычные sandboxed-приложения, а не как привилегированные системные компоненты. Архитектурно это значит:- Network permission toggle блокирует прямой и непрямой доступ к сети для каждого приложения
- Sensors permission toggle контролирует доступ к камере, микрофону, датчикам
- Storage Scopes создаёт иллюзию полного доступа к хранилищу, хотя приложение видит только разрешённые данные
- Contact Scopes показывает пустой список контактов по умолчанию
Ограничения GrapheneOS - их надо знать до установки:
- Работает исключительно на Google Pixel. Причина - требования к verified boot с custom AVB keys, Titan M2, аппаратному MTE (Tensor G3+ / Pixel 8+; более ранние Pixel работают без MTE) и длительным обновлениям безопасности. На устройствах без relockable bootloader hardened-модель разваливается
- Банковские приложения, зависящие от SafetyNet и Play Integrity, могут отказывать в работе. Это боль, и пока обходного пути нет
- Требует осознанной настройки - для массового корпоративного развёртывания без подготовки не годится
Lockdown Mode на iPhone - что Apple закрывает и где дыры
Lockdown Mode - по сути, открытое признание Apple: высокорисковым пользователям нужен другой профиль мобильной безопасности. По данным Alcazar Security, при включении iPhone перестаёт вести себя как обычный iPhone:- Блокирует многие типы вложений в сообщениях
- Убирает предпросмотр ссылок
- Ограничивает сложные веб-функции (включая JIT-компиляцию в WebKit)
- Блокирует входящие приглашения в сервисы от незнакомых контактов
- Отключает 2G и 3G
- Блокирует установку конфигурационных профилей
Где Lockdown Mode не спасает:
В феврале 2025 года Apple отключила возможность включения Advanced Data Protection (ADP) для новых пользователей iCloud в Великобритании - под давлением правительства в рамках Investigatory Powers Act. Существующим пользователям предложили отключить ADP добровольно. Результат: iCloud-бэкапы, фото, заметки и файлы затронутых пользователей вернулись к стандартному шифрованию, при котором Apple владеет ключами. iMessage и FaceTime остались под E2EE, но облачные данные стали доступны по правительственным запросам. Для SOC тут практический урок: безопасность облачных бэкапов - вопрос не только технический, но и юрисдикционный.
Ещё одна проблема: Lockdown Mode - единый переключатель. Нельзя отключить 2G, но оставить предпросмотр ссылок. Если режим слишком жёсткий для повседневных задач - пользователь выключает его целиком. Защита обнуляется.
GrapheneOS vs iOS Lockdown Mode: trade-off для корпоративного SOC
| Критерий | GrapheneOS (Pixel) | iOS + Lockdown Mode |
|---|---|---|
| Модель защиты | Hardened ОС целиком | Hardened режим внутри mainstream ОС |
| Контроль attack surface | Гранулярный: каждый интерфейс отдельно | Единый переключатель |
| USB-защита при блокировке | Уровень ядра/контроллера | Программный (USB Restricted Mode) |
| Облачные бэкапы | Локальные зашифрованные бэкапы | iCloud (E2EE зависит от юрисдикции) |
| Zero-click protection | Сокращение attack surface + exploit mitigations | BlastDoor + ограничение парсеров |
| Физический доступ (BFU) | Auto reboot + duress PIN | USB Restricted Mode + auto-lock |
| Аудитируемость | Open source, верифицируемый код | Closed source |
| Совместимость с MDM | Частичная, ограничена sandbox'ом | Полная через Apple MDM API |
| Для кого | Технически грамотные пользователи | Mainstream-пользователи высокого риска |
По данным Alcazar Security, оптимальная конфигурация для high-risk пользователей: два устройства. GrapheneOS на Pixel для чувствительных задач, отдельный iPhone для повседневного использования. Для корпоративного SOC это ещё один endpoint для мониторинга, зато чувствительные операции изолированы.
Практический чеклист мобильного харденинга
Чеклист можно передать сисадмину или включить в корпоративную политику BYOD. Привязка к фреймворкам: NIST CSF v2.0 (ID.AM-01, PR.AA-01), OWASP MASVS (MASVS-STORAGE, MASVS-AUTH).Требования к окружению: ADB (Android Debug Bridge) для Android-проверок, Apple Configurator 2 или MDM-профиль для iOS, доступ к SIEM для настройки корреляции.
Базовый уровень - все корпоративные устройства
- Полнодисковое шифрование: включено по умолчанию на Android 10+ и iOS при установке пароля - верифицировать через MDM
- Пароль: минимум 6 символов alphanumeric (не 4-значный PIN). GrapheneOS поддерживает до 128 символов
- Auto-lock: 30 секунд бездействия или менее
- Запрет установки из сторонних источников. Проверка на Android 8+:
adb shell dumpsys package | grep -A1 'REQUEST_INSTALL_PACKAGES'(выводит пакеты с разрешением на установку; альтернативно: Settings → Apps → Special access → Install unknown apps) - USB-debugging отключён: проверка через MDM compliance policy или UI (Settings → Developer options). При аудите dev-устройства с включённым ADB:
adb shell settings get global adb_enabled- значение 0 - Автообновление ОС и приложений включено
- Биометрия + пароль (соответствует OWASP MASVS-AUTH), не только биометрия
Повышенный уровень - высокорисковые пользователи
- GrapheneOS: auto reboot с таймером 12 часов
- GrapheneOS: sensors permission отключена по умолчанию для всех приложений
- GrapheneOS: отдельные профили - Owner (установка), Daily (работа), Banking (отдельный пароль)
- iOS: Lockdown Mode активирован
- Bluetooth, Wi-Fi, NFC: отключать при неиспользовании; на GrapheneOS - автоотключение по таймеру 2 минуты
- VPN на каждом профиле (исключение - банковский, где VPN триггерит fraud detection)
- Облачные бэкапы отключены или заменены локальными зашифрованными
Корпоративный уровень - MDM + SIEM
- MDM с проверкой: версия ОС, наличие jailbreak/root, список приложений (NIST CSF ID.AM-01)
- MDM-политика запрета неавторизованных источников приложений
- Интеграция MDM-алертов в корпоративный SIEM (NIST CSF DE.AE-01)
- Документирование мер защиты для устройств, обрабатывающих ПДн (ФЗ-152, ст. 7 - конфиденциальность персональных данных). Утечка через скомпрометированное мобильное устройство - прямой путь к ответственности оператора
Detection: как SOC видит компрометированный смартфон
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Ограничение тут очевидное: мобильные устройства часто живут вне корпоративного периметра. Полноценный мониторинг трафика возможен только через корпоративный VPN с DPI или через MDM с агентом, имеющим доступ к сетевому стеку. MDM-решения (Microsoft Intune, VMware Workspace ONE, Kaspersky Secure Mobility Management) передают метрики в SIEM, но полнота зависит от вендора. На GrapheneOS корпоративный MDM-агент будет ограничен sandbox'ом - и это конфликт на архитектурном уровне.
Отдельный сценарий - insider threat. Устройство не заражено spyware, но сотрудник сам использует Frida или аналоги для извлечения корпоративных данных из приложений. Detection здесь - аномальный паттерн обращения к API: нетипичная частота запросов, обращения к endpoint'ам, которые UI никогда не вызывает. Это ловится на стороне backend'а, а не на устройстве.
В SOC-командах, с которыми я работал, типичная картина: мониторят десктопы и серверы, а мобильные устройства - слепая зона. SIEM получает логи из Active Directory, firewall, EDR на рабочих станциях, а мобильный трафик топ-менеджера или журналиста проходит мимо всех правил корреляции. Это не теория - в нескольких инцидентах с коммерческим spyware, которые я разбирал, компрометация начиналась с личного устройства, имевшего доступ к корпоративной почте.
Запрет BYOD сам по себе не решение: нужна политика, охватывающая оба устройства. Мобильный endpoint должен стать первоклассным объектом мониторинга в SOC. MDM + VPN + SIEM-корреляция + периодический аудит установленных приложений.
GrapheneOS vs корпоративный MDM - конфликт по определению: GrapheneOS минимизирует привилегии приложений, включая MDM-агент, а SOC хочет видеть всё. Рабочий компромисс: выделенный корпоративный профиль в GrapheneOS с MDM только в этом профиле, personal-профиль - без агента. Не идеально, но лучше, чем слепая зона. Если у вас другой стек мониторинга мобильных устройств - на codeby.net есть тред по мобильной безопасности и MDM-конфигурациям для hardened-устройств, где обсуждают, какие метрики реально доступны SOC в зависимости от вендора.