Первоначальный доступ к мобильному устройству (Initial Access)
Ссылки на все части:
Часть 1. Первоначальный доступ к мобильному устройству (Initial Access)
Часть 2. Закрепление (Persistence) и Эскалация привилегий (Privilege Escalation)
Часть 3. Получение учетных данных (Credential Access)
Часть 4. Обход защиты (Defense Evasion)
Часть 5. Обзор (Discovery) и Боковое перемещение (Lateral Movement)
Я начинаю очередной цикл публикаций (см. предыдущие), посвященных изучению тактик и техник осуществления хакерских атак, включенных в базу знаний MITRE ATT&CK. В разделе будут описаны техники, применяемые злоумышленниками на каждом этапе цепочки атаки на мобильные устройства.
Под катом — основные векторы компрометации мобильных устройств, направленные на получение злоумышленником «присутствия» в атакуемой системе.
Автор не несет ответственности за возможные последствия применения изложенной в статье информации, а также просит прощения за возможные неточности, допущенные в некоторых формулировках и терминах. Публикуемая информация является свободным пересказом содержания ATT@CK Mobile Matrices: Device Access.
Доставка вредоносного приложения через авторизованный магазин приложений (Deliver Malicious App via Authorized App Store)
Платформа: Android, iOS
Описание: Вредоносные приложения являются самым распространенным способом «присутствия» злоумышленника на мобильных устройствах. Мобильные ОС часто настроены на установку приложений только из авторизованных магазинов (Google Play Store или Apple App Store), поэтому противник может пытаться разместить своё вредоносное приложение в авторизованном магазине приложений.
Магазины приложений обычно требуют регистрации разработчика и имеют средства для выявления вредоносных приложений, однако противники могут использовать некоторые способы обхода защиты магазинов:
- Загрузка вредоносного кода во время выполнения приложения после его установки из магазина приложений;
- Обфускация файлов и информации;
- Использование скомпрометированных учетных данных и цифровых подписей добросовестных разработчиков мобильных приложений;
- Проверка возможности обхода систем автоматизированного анализа безопасности мобильных приложений в магазине приложений.
Противник может намеренно разместить вредоносный код в приложении, чтобы определить работает ли оно в среде анализа безопасности целевого магазина и при необходимости отключить запуск вредоносного содержимого во время анализа. Злоумышленники могут также использовать поддельные удостоверения, платежные карты и т.п. при создании учетных записей разработчиков для дальнейшей публикации вредоносных приложений в магазинах.
Кроме того, противники могут также использователь скомпрометированные учетные записи пользователей Google для использования возможностей удаленной установки приложений на android-устройства, связанные с контролируемой учетной записью Google (с помощью данной техники можно удаленно установить только приложения из Google Play Store).
Рекомендации по защите: В корпоративной среде рекомендуется организация проверок приложений на наличие уязвимостей и нежелательных действий (злонамеренных или нарушающих конфиденциальность), внедрение политик ограничения установки приложений или политик «Bring Your Own Device (BYOD)» (принеси свое собственное устройство), которые накладывают ограничения только на контролируемую предприятием часть устройства. Обучение, тренинги и руководства для пользователей, помогут поддержать определенную конфигурацию корпоративных устройств, а иногда даже предотвратить конкретные рискованные действия пользователя.
Системы EMM/MDM или иные решения для защиты мобильных устройств могут определять наличие нежелательных или вредоносных приложений на корпоративных устройствах в автоматическом режиме. Разработчики ПО обычно имеют возможность сканирования магазинов приложений на наличие неавторизованных приложений, которые были отправлены с использованием их идентификатора разработчика.
Доставка вредоносного приложения с помощью иных средств (Deliver Malicious App via Other Means)
Платформа: Android, iOS
Описание: Несмотря на возможный запрет установки приложений из сторонних источников на целевом устройстве противник может целенаправленно избегать размещения вредоносного приложения в авторизованных магазинах приложений, чтобы снизить риск потенциального обнаружения.
Альтернативные способы доставки приложений:
- Фишинговое вложение (Spearphishing Attachment) — приложение в виде вложения в сообщение электронной почты;
- Фишинговая ссылка — ссылка на пакет мобильного приложения в электронном письме или текстовом сообщении (SMS, iMessage, Hangouts, WhatsApp и т.п.), веб-сайте, QR-код b и т.д.;
- Сторонний магазин приложений — приложение публикуется в магазине приложений, в котором отсутствует контроль безопасности аналогичный авторизованному магазину.
В случае iOS, противник также может попытаться получить ключевую пару и сертификат Enterprise distribution key, чтобы распространить вредоносное приложение без публикации в AppStore.
Рекомендации по защите: В iOS активация параметров allowEnterpriseAppTrust и allowEnterpriseAppTrustModification запретит пользователям установку приложений, подписанных Enterprise distribution key.
iOS версии 9 и выше требует явного согласия пользователя на установку подписанного Enterprise distribution key приложения не из AppStore, поэтому пользователей следует обучить не соглашаться на установку приложения, если они не уверены в источнике распространения приложения.
На Android, для установки приложений из сторонних источников должен быть включен параметр «Unknown Sources» (неизвестные источники), поэтому пользователей следует обучить активации и контролю данного параметра.
EMM/MDM или иные решения для защиты мобильных устройств могут идентифицировать наличие приложений, установленных из сторонних источников, выявлять устройства Android, на которых разрешена установка приложений из сторонних источников, определять наличие пакетов приложений Android или iOS в сообщениях электронной почты.
Теневая загрузка вредоносного контента (Drive-by Compromise)
Платформа: Android, iOS
Описание: Противник может получить доступ к мобильной системе посредством скрытой загрузки кода, которая выполняется во время посещения пользователем веб-сайта, контролируемого злоумышленником. Реализация этой техники требует наличие в веб-браузере пользователя соответствующей уязвимости. Например, веб-сайт может содержать вредоносный медиа-контент, предназначенный для эксплуатации уязвимости Stagefright в Android.
Рекомендации по защите: Приобретение устройств у поставщиков или операторов мобильной связи, гарантирующих оперативное предоставление обновлений безопасности. Следует прекратить использование уязвимых устройств, которые не получают обновления безопасности по причине окончания срока поддержки.
В корпоративной среде рекомендуется ограничение и блокирование доступа к корпоративным ресурсам с мобильных устройств на которых не установлены последние обновления безопасности. Доступ с устройств Android может контролироваться на основе наличия исправлений. Доступ с устройств iOS можно контролировать на основе версии ОС.
Рекомендуется использование только последних версий мобильных ОС, которые, как правило, содержат не только исправления, но и имеют улучшенную архитектуру безопасности, обеспечивающую устойчивость к ранее необнаруженным уязвимостям.
Эксплуатация уязвимости через зарядную станцию или ПК (Exploit via Charging Station or PC)
Платформа: Android, iOS
Описание: Мобильное устройство может быть подключено (обычно через USB) к скомпрометированным зарядной станции или ПК, с помощью которых противник может попытаться получить доступ к устройству.
Известные демонстрации успешных атак:
- Внедрение вредоносных приложений в устройства iOS (источник);
- Эксплуатация уязвимостей Nexus 6 или 6P через USB, включая перехват телефонных звонков, сетевого трафика и получения данных о физическом местоположении устройства;
- Эксплуатация уязвимостей Android через USB на примере Google Pixel 2.
Продукты компаний Cellebrite и Grayshift предположительно могут использовать физический доступ к портам данных для разблокировки пароля на некоторых устройствах iOS.
Рекомендации по защите: Корпоративные политики безопасности должны препятствовать включению отладки USB на устройствах Android (если это не требуется, например, когда устройство используется для разработки приложений). На устройствах, которые предоставляют возможность разблокировать загрузчик, позволяя модифицировать прошивку, необходимы периодические проверки фактической блокировки загрузчика.
Не рекомендуется использовать общественные зарядные станции или компьютеры для зарядки своих устройств. Выдавайте пользователям зарядные устройства, приобретенные у надежного поставщика. Пользователям не рекомендуется добавлять доверенные устройства, если на это нет необходимости.
Эксплуатация уязвимостей через радио-интерфейсы (Exploit via Radio Interfaces)
Описание: Эксплуатация уязвимостей может происходить через интерфейс сотовой связи или другие радиоинтерфейсы.
Эксплойты базовой полосы
Сообщение, отправленное на мобильное устройство через радиоинтерфейс (обычно сотовый, но может быть и bluetooth, GPS, NFC, Wi-Fi и т.п.) может использовать уязвимости в коде, обрабатывающем полученное сообщение (например, уязвимость в Samsung S6).
Вредоносные sms-сообщения
SMS может содержать контент, предназначенный для эксплуатации уязвимостей анализатора SMS на принимающем устройстве. SMS также может содержать ссылку на веб-сайт, содержащий вредоносное содержимое. Уязвимые SIM-карты могут удаленно эксплуатироваться и перепрограммироваться с помощью SMS-сообщений.
Рекомендации по защите: Приобретение устройств у поставщиков или операторов мобильной связи, гарантирующих оперативное предоставление обновлений безопасности. Следует прекратить использование уязвимых устройств, которые не получают обновления безопасности по причине окончания срока поддержки.
В корпоративной среде рекомендуется ограничение и блокирование доступа к корпоративным ресурсам с мобильных устройств на которых не установлены последние обновления безопасности. Доступ с устройств Android может контролироваться на основе наличия исправлений. Доступ с устройств iOS можно контролировать на основе версии ОС.
Рекомендуется использование только последних версий мобильных ОС, которые, как правило, содержат не только исправления, но и имеют улучшенную архитектуру безопасности, обеспечивающую устойчивость к ранее необнаруженным уязвимостям.
Установка небезопасной или вредоносной конфигурации (Install Insecure or Malicious Configuration)
Платформа: Android, iOS
Описание: Противник может попытаться установить на мобильное устройство небезопасную или вредоносную конфигурацию с помощью фишингового письма или текстового сообщения, содержащего файл конфигурации в виде вложения или веб-ссылку на параметры конфигурации. В ходе установки параметров конфигурации пользователь может быть обманут с помощью методов социальной инженерии. Например, нежелательный сертификат центра сертификации (CA) может быть помещен в хранилище доверенных сертификатов устройства, что повышает восприимчивость устройства к атакам типа «человек по середине».
В iOS вредоносные профили конфигурации могут содержать нежелательные сертификаты Центра сертификации (CA) или другие небезопасные параметры, такие как адрес нежелательного прокси или VPN-сервера для маршрутизации трафика устройства через систему злоумышленника. Устройство также может быть зарегистрировано во вражеской системе управления мобильными устройствами (MDM).
Рекомендации по защите: В iOS 10.3 и выше добавлен дополнительный шаг, требующий действия пользователя для установки новых доверенных сертификатов CA. На Android, приложения, совместимые с Android 7 и выше (уровень API 24), по умолчанию доверяют только сертификатам CA, поставляемым с ОС, а не добавленным пользователем или администратором, что в целом снижает восприимчивость ОС к атакам типа «человек по середине».
Как правило, небезопасные или вредоносные параметры конфигурации не устанавливаются без согласия пользователя, поэтому пользователи должны знать, что не следует устанавливать непредвиденные параметры конфигурации (сертификаты CA, профили конфигурации iOS, установка подключения к MDM).
На Android, пользователь может просматривать доверенные сертификаты CA через настройки устройства с целью выявления подозрительных сертификатов. Корпоративные системы защиты мобильных устройств могут аналогичным образом проверять хранилище сертификатов на наличие аномалий в автоматическом режиме.
На iOS, пользователь может просматривать установленные профили конфигурации через настройки устройства и выявлять подозрительные профили. Аналогично и MDM-системы могут использовать API iOS MDM для проверки списков установленных профилей на наличие аномалий.
Обход блокировки экрана (Lockscreen Bypass)
Платформа: Android, iOS
Описание: Имея физический доступ к мобильному устройству противник может попытаться обойти экран блокировки устройства.
Биометрический спуфинг
Противник может попытаться обмануть механизм биометрической аутентификации. iOS частично смягчает эту атаку, требуя пароль устройства, а не отпечаток пальца, после каждой перезагрузки и через 48 часов после последней разблокировки. Android имеет аналогичные механизмы защиты.
Угадывание кода разблокировки или простой перебор
Противник может пытаться перебором или каким-либо иным способом угадать код доступа, включая физическое наблюдение (sohulder surfing) во время использования пользователем устройства.
Иные эксплойты экрана блокировки
На Android 5 и iOS 6 и других мобильных устройствах периодически демонстрируются способы использования уязвимостей, позволяющих обойти экран блокировки. Уязвимости обычно исправляются компанией-разработчиком устройства или ОС, как только они узнают об их существовании.
Рекомендации по защите: Корпоративные политики безопасности мобильных устройств должны предъявлять требования к сложности пароля на устройстве. Корпоративная политика может включать автоматическое уничтожение всех данных на устройстве при многократном вводе неверного пароля. Обе эти политики направлены на предотвращение брутфорс-атак, угадывания или «подсматривания» кода доступа.
При необходимости, корпоративная политика так же может запрещать биометрическую аутентификацию. Однако, биометрическая аутентификация более удобна, чем использование длинного, сложного кода доступа, потому что его не придется вводить каждый раз.
Рекомендуется обязательная установка обновлений безопасности и использование последних версий мобильных ОС.
Переупакованные приложения (Repackaged Application)
Платформа: Android, iOS
Описание: Противник может загрузить приложение, дизассемблировать его, добавить вредоносный код, а затем снова повторно собрать (пример). Пересобранное приложение будет выглядеть как оригинальное, но содержать дополнительные вредоносные функции. Затем такое приложение может быть опубликовано в магазинах приложений или доставлено на устройство с помощью других техник.
Рекомендации по защите: Установка приложений только из авторизованных магазинов, которые с меньшей вероятностью содержат вредоносные переупакованные приложения.
Системы EMM/MDM и другие средства защиты мобильных приложений корпоративного уровня могут определять наличие нежелательных, неизвестных, небезопасных или вредоносных приложений на устройствах в автоматическом режиме.
Компрометация цепочки поставок (Supply Chain Compromise)
Платформа: Android, iOS
Описание: Компрометация цепочки поставок — это модификация программного продукта и механизмов доставки продукта до их получения потребителем с целью компрометации данных или системы. Противники могут использовать непреднамеренные уязвимости, поэтому во многих случаях трудно определить является уязвимая функциональность следствием злонамеренной или непреднамеренной ошибки.
Выявление уязвимостей в сторонних библиотеках ПО
Сторонние библиотеки, включенные в мобильные приложения, могут содержать вредоносный код, нарушающий конфиденциальность или создающий уязвимости. Известны примеры выявления уязвимостей и проблем безопасности в библиотеках мобильной рекламы.
Распространение вредоносных инструментов разработки ПО
Как продемонстрировала атака XcodeGhost, разработчики приложений могут использовать модифицированные версии инструментов разработки ПО (например, компиляторы), которые автоматически внедряют в приложение вредоносный код или уязвимость.
Рекомендации по защите: Небезопасные сторонние библиотеки могут быть обнаружены различными методами проверки приложений. Например, программа улучшения безопасности приложений Google обнаруживает использование сторонних библиотек с известными уязвимостями в приложениях Android, представленных в магазине Google Play. Средства разработки вредоносного ПО и модифицированные инструменты разработчиков ПО могут быть обнаружены с помощью систем контроля целостности файлов на компьютерах разработчиков.