Изучаем MITRE ATT&CK. Mobile Matrices: Device Access. Часть 2

в 13:39, , рубрики: Abuse Device Administrator Access, Android Runtime, android security, att&ck, BOOT_COMPLITED, Exploit OS, iOS security, KNOX, mobile attack, Mobile Matrices, Modify OS Kernel, SafetyNet, Samsung, TEE, Trusted Execution Environment, анализ мобильных приложений, атаки на мобильные устройства, безопасность Android, безопасность ios, безопасность мобильных приложений, доступ администратора устройства, информационная безопасность, модификация ядра, уязвимости, эксплойты

Закрепление (Persistence) и Эскалация привилегий (Privilege Escalation)

Ссылки на все части:
Часть 1. Первоначальный доступ к мобильному устройству (Initial Access)

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

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

Автор не несет ответственности за возможные последствия применения изложенной в статье информации, а также просит прощения за возможные неточности, допущенные в некоторых формулировках и терминах. Публикуемая информация является свободным пересказом содержания ATT@CK Mobile Matrices: Device Access.

Закрепление (Persistence)

Злоупотребление правами администратора для предотвращения своего удаления (Abuse Device Administrator Access to Prevent Removal)

Платформа: Android
Описание: Вредоносное приложение может запросить у пользователя права администратора устройства и в случае получения привилегий выполнить манипуляции, затрудняющие его удаление.

Рекомендации по защите:
Предварительная проверка приложений
Как правило, приложения редко используют административный доступ. В корпоративной середе предварительная проверка приложений должна выявлять такие программы с целью их дальнейшего тщательного изучения. Maggi и Zanero описали подход проведения статического анализа приложений с целью выявления приложений-вымогателей, злоупотребляющих доступом администратора устройства. В двух словах, выявление приложений-вымогателей заключается в заблаговременном обнаружении в apk-файле следующих индикаторов: угрожающий текст, кода, связанный с блокированием возможности использования устройства (неотменяемые диалоги, запрет кнопок навигации, заполнение экрана окном и т.п.), шифрованием данных и злоупотреблением Admin API.

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

Использование свежих версий ОС
Последние версии ОС, как правило, содержат не только исправления, но и имеют улучшенную архитектуру безопасности, обеспечивающую устойчивость к ранее необнаруженным уязвимостям. Например, в Android 7 внедрены изменения, предотвращающие возможность злоупотребления правами администратора.

Автозапуск приложения при загрузке устройства (App Auto-Start at Device Boot)

Платформа: Android
Описание: Приложение Android может прослушивать трансляцию широковещательных сообщений BOOT_COMPLITED, что гарантирует его активацию при каждом запуске устройства не дожидаясь пока пользователь запустит его вручную. BOOT_COMPLITED — это широковещательное событие в Android, оповещающее приложения об окончании процесса загрузки ОС. Любое приложение, оборудованное специальным приёмником BroadcastRecevier, может получать широковещательные сообщения и предпринимать на основе них какие-либо действия. Анализ 1260 вредоносных приложений для Android, опубликованный в 2012 году, показал, что 83,3% вредоносов прослушивали BOOT_COMPLITED.

Рекомендации по защите: В корпоративной среде возможна организация проверки приложений с целью выявления программ, которые объявляют BroadcastReceiver, содержащий intent-фильтр по BOOT_COMPLITED. Однако, учитывая огромный рост количества приложений с таким поведением этот способ крайне не практичен.

Модификация ядра ОС или загрузочного раздела (Modify OS Kernel or Boot Partition)

Платформа: Android, iOS
Описание: Имя возможность повышения привилегий противник может попытаться разместить вредоносный код в ядре ОС или компонентах загрузочного раздела, где код не может быть обнаружен, будет сохраняться после перезагрузки устройства и не сможет быть удален пользователем. В некоторых случаях (например, при использовании Samsung Knox) атака может быть обнаружена, но приведет к переводу устройства в режим ограниченной функциональности.

Многие устройства Android предоставляют возможность разблокировать загрузчик ОС в целях разработки, но такой функционал предоставляет возможность злонамеренного обновления ядра или модификацию кода загрузочного раздела. Если загрузчик не разблокирован, то остается потенциальная возможность использования уязвимостей для обновления кода ядра.

Рекомендации по защите: Установите обновления безопасности, внедрите системы удаленной аттестации (Android SafetyNet, Samsung KNOX TIMA) и запретите устройствам, не прошедшим аттестацию, доступ к корпоративным ресурсам. Организуйте проверку состояния блокировки загрузчика на устройствах, которые предоставляют возможность разблокировать загрузчик (следовательно позволяя любому коду ОС быть записанным на устройство).

Android SafetyNet Attestation API может использоваться для удаленной идентификации и реагирования на скомпрометированные устройства. Samsung KNOX предоставляет возможность удаленной аттестации устройств Samsung Android. Устройства Samsung KNOX включают «необратимый битовый предохранитель (non-reversible Knox warranty bit fuse)», который сработает если на устройство будет загружено non-KNOX ядро. При срабатывании, enterprise KNOX container services не будут доступны на устройстве. Как описано в iOS Security Guide, устройства iOS не смогут загрузиться или разрешить активацию устройства если были обнаружены несанкционированные изменения. Многие enterprise-приложения выполняют свои собственные проверки для обнаружения и реагирования на скомпрометированные устройства. Такие проверки не являются надежным средством, но могут обнаружить первичные признаки компрометации.

Модификация системного раздела (Modify System Partition)

Платформа: Android, iOS
Описание: Если противник сможет повысить привилегии, то он сможет использовать их для размещения вредоносного кода в системном разделе устройства, где он будет сохраняться после перезагрузки ОС и не будет легкодоступен для удаления пользователем. Многие устройства Android позволяют разблокировать загрузчик в целях разработки. Эта возможность также может быть использована противником для модификации системного раздела.

Рекомендации по защите: Устройства Android с поддержкой Verified Boot выполняют криптографическую проверку целостности системного раздела. Android SafetyNet API может использоваться для идентификации скомпрометированных устройств. Samsung KNOX также предоставляет возможность удаленного контроля поддерживаемых устройств. Устройства с iOS не загрузится или не разрешит активировать устройство в котором обнаружены несанкционированные изменения.

Модификация TEE (Modify Trusted Execution Environment)

Платформа: Android
Описание: Имея соответствующие привилегии, злоумышленник может попытаться разместить вредоносный код в доверенной среде выполнения (TEE) устройства или другой аналогичной изолированной среде выполнения, где код не будет обнаруживаемым, будет сохраняться после перезагрузки устройства и не может быть удалён пользователем. Выполнение кода в TEE предоставит противнику возможность контроля или фальсификации работы устройства.

Рекомендации по защите: Устройства должны выполнять проверку целостности кода, запускаемого в TEE во время загрузки. iOS не загрузится, если код, запущенный в Secure Enclave не пройдет проверку цифровой подписи.

Модификация закэшированного исполняемого кода (Modify cached executable code)

Платформа: Android
Описание: В целях повышения производительности Android Runtime (ART) компилирует во время установки приложения байт-код (classes.dex) в машинный код. Если злоумышленник повысит привилегии, то он может модифицировать этот закэшированный код. Поскольку код изначально компилировался на устройстве к нему не применяется контроль целостности в отличие от кода из системного раздела.

Рекомендации по защите: Использование последних версий мобильных ОС и обязательная установка исправлений безопасности.

Эскалация привилегий (Privilege Escalation)

Эксплуатация уязвимостей ОС (Exploit OS Vulnerability)

Платформа: Android, iOS
Описание: Вредоносные приложения могут использовать непропатченные уязвимости мобильных ОС для получения расширенных привилегий.

Рекомендации по защите: Проверка приложения на предмет наличия известных уязвимостей. Установка обновлений безопасности. Использование последних версий ОС.

Эксплуатация уязвимостей TEE (Exploit TEE Vulnerability)

Платформа: Android
Описание: Вредоносные приложения или иной вектор атаки может использоваться для эксплуатации уязвимостей кода, выполняемого в защищенной среде выполнения (Trusted Execution Environment (TEE)). Затем противник может получить привилегии, которыми обладает TEE, включая возможность доступа к криптографическим ключам или другим конфиденциальным данным. Чтобы атаковать TEE противнику сначала могут потребоваться повышенные привилегии в ОС. Если нет, то привилегии TEE могут использоваться для эксплуатации уязвимостей ОС.

Рекомендации по защите: Проверка приложения на предмет наличия известных уязвимостей. Установка обновлений безопасности. Использование последних версий ОС.

Автор: bassmack

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js