Получение учетных данных (Credential Access)


Ссылки на все части:
Часть 1. Первоначальный доступ к мобильному устройству (Initial Access)
Часть 2. Закрепление (Persistence) и Эскалация привилегий (Privilege Escalation)

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

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

Злоупотребление специальными возможностями (Abuse Accessibility Features)


Платформа: Android
Описание: Android Accessibility Features — это набор средств для людей с ограниченными возможностями. Вредоносное приложение может использовать функции специальных возможностей Android, чтобы получить конфиденциальные данные или выполнить вредоносные действия. Дело в том, что API, обеспечивающие работу служб специальных возможностей позволяют получать доступ к содержимому интерфейсов с которыми взаимодействует пользователь (например, чтение или создание электронного письма, редактирование документа и т.п.). Такой функционал обеспечивает способность людей с ограниченными возможностями работать с общедоступными мобильными приложениями. Такой функционал ОС так же привлекает авторов вредоносных программ, однако для активации служб Android Accessibility Features пользователь должен выполнить целый ряд необычных манипуляций с предупреждением о безопасности в конце.

Рекомендации по защите: ОС версии Android 7.0 и выше включает дополнительную защиту от данной техники. Прежде чем разрешить установку приложения в корпоративной среде рекомендуется выполнять его проверку на предмет возможности злоупотребления специальными возможностями или внедрять сервисы Mobile App Reputation Service для выявления известных вредоносных приложений.

Доступ к критичным данным в журналах устройства (Access Sensitive Data in Device Logs)


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

Рекомендации по защите: Если вы разработчик мобильных приложений, то вам не следует записывать конфиденциальные данные в системный журнал production-приложений.
Начиная с Android 4.1 приложения не могут получить доступ к системному журналу (кроме тех записей, которые добавлены самим приложением). При физическом доступе к устройству системный журнал можно получить через USB с помощью утилиты Android Debug Bridge (adb).

Доступ к критичной информации или учетным данным в файлах (Access Sensitive Data or Credentials in Files)


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

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

Целевой захват намерений (Android Intent Hijacking)


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

Рекомендации по защите: Процесс проверки приложений на потенциальные недостатки должен включать выявление небезопасного использования Намерений (Intent). Разработчикам мобильных приложений следует использовать методы, гарантирующие отправку намерений только в соответствующее место назначения (например использовать явные намерения, проверять разрешения, выполнять проверку сертификата целевого приложения или использовать App Links (функция с помощью которой пользователь перенаправляется по ссылке на целевое приложение минуя диалоговое окно выбора приложения), добавленный в Android 6.0. Для мобильных приложений, использующих OAuth, рекомендуется следовать передовой практике.

Захват данных буфера обмена (Capture Clipboard Data)


Платформа: Android, iOS
Описание: Вредоносные приложения могут пытаться захватить конфиденциальные данные, хранящиеся в буфере обмена устройства, например, пароли, копируемые/вставляемые из приложения Password manager.

Рекомендации по защите: В корпоративной среде рекомендуется внедрение процессов проверки приложений на наличие уязвимостей и нежелательных действий, политик ограничения установки приложений и политик Bring Your Own Device (BYOD), которые накладывают ограничения только на контролируемую предприятием часть устройства. Системы EMM/MDM или иные решения для защиты мобильных устройств могут определять наличие нежелательных или вредоносных приложений на корпоративных устройствах.

Захват СМС-сообщений (Capture SMS Messages)


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

Android-приложение должно запрашивать и получать разрешение для получения СМС-сообщений во время установки или выполнения. В качестве альтернативы, вредоносное приложение может попытаться повысить привилегии, чтобы обойти эту защиту. iOS-приложения не могут получать доступ к СМС-сообщениям во время штатной работы, поэтому противнику потребуется предварительно выполнить атаку на повышение привилегий.

Рекомендации по защите: В корпоративной среде рекомендуется предварительная проверка приложений на наличие разрешения RECEIVE_SMS. В случае выявления такого разрешения приложение требует детального анализа.

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


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

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

Вредоносная сторонняя клавиатура (Malicious Third Party Keyboard App)


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

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

Захват или перенаправление сетевого трафика (Network Traffic Capture or Redirection)


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

Вредоносное приложение может зарегистрироваться в качестве VPN-клиента на Android или iOS, чтобы получить доступ к сетевым пакетам. Однако на обеих платформах пользователь должен дать согласие приложение на выполнение функций VPN-клиента, а на iOS приложению требуется специальное разрешение от Apple.

В качестве альтернативного варианта, вредоносное приложение может попытаться повысить привилегии с целью получения доступа к сетевому трафику. Противник может перенаправить сетевой трафик на подконтрольный ему шлюз, установив VPN-соединение или изменив настройки прокси на атакуемом устройстве. В качестве примера можно привести возможность перенаправления сетевого трафика путем установки вредоносного профиля конфигурации iOS (ссылка на источник).

Рекомендации по защите: Внимательно изучите приложение, которое запрашивает VPN-доступ, прежде чем разрешить его использование. Шифрование трафика не всегда эффективно, т.к. противник может перехватить трафик до его шифрования. И iOS и Android визуализируют установку VPN-соединения в верхней строке состояния устройства.

Перехват URL-схем (URL Scheme Hijacking)


Платформа: iOS
Описание: URL-схемы (как их называет Apple), являются обработчиками URL, которые могут быть вызваны браузером Safari либо могут использоваться приложением для вызова другого приложения. Например, схему tel: можно использовать для запуска приложения Phone и набора определенного номера, поместив соответствующий HTML-код на целевой странице:

<iframe src="tel:номер"></iframe>

Cхема skype: запустит звонок по Skype":

<iframe src="skype:user?call"></iframe>

iOS позволяет приложениям разных разработчиков совместно использовать одинаковые URL-схемы. Вредоносное приложение может злонамеренно зарегистрироваться с использованием URL-схемы другого приложения, что позволит ему перехватить вызов законного приложения и с помощью фишингового интерфейса заполучить учетные данные пользователя или коды авторизации OAuth.

Рекомендации по защите: Во время анализа безопасности приложения проверяйте наличие потенциально-опасных URL-схем. Отдавайте предпочтение программам, которые в качестве альтернативы URL-схемам используют универсальные ссылки (это ссылка при переходе на которую пользователь перенаправляется на конкретное установленное приложение).

Подмена пользовательского интерфейса (User Interface Spoofing)


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

Подмена UI легитимных приложений или функций устройства

И на Android, и на iOS противник может выдавать себя за пользовательский интерфейс легитимного приложения или функции устройства, заставляя пользователя ввести конфиденциальную информацию. Ограниченный размер дисплея мобильных устройств (в сравнении с ПК) может ухудшить возможность предоставления пользователю контекстной информации (например, отображения полного адреса веб-сайта), которая могла бы предупредить пользователя об опасности. Злоумышленник также может использовать эту технику не имея присутствия на мобильном устройстве, например, через поддельную веб-страничку.

Подмена легитимного приложения

Вредоносное приложение может полностью повторять целевое приложение — использовать одинаковые имя, значок и устанавливаться на устройство через авторизованный магазин приложений или доставляться иными способами (см. техники доставки приложений), а затем запрашивать у пользователя ввод конфиденциальной информации.

Злоупотребление возможностями ОС для вмешательства в легитимное приложение

В старых версиях Android вредоносное приложение может использовать штатные функции ОС для вмешательства в работающее приложение. Речь идет об устаревшем методе ActivityManager.getRunnigTasks (доступен в Android до версии 5.1.1), который позволял получить список процессов ОС и определить приложение переднего плана, например, для запуска фейкового интерфейса-двойника.

Рекомендации по защите: В корпоративной среде рекомендуется организация проверок приложений на наличие уязвимостей и нежелательных действий (злонамеренных или нарушающих конфиденциальность), внедрение политик ограничения установки приложений или политик «Bring Your Own Device (BYOD)» (принеси свое собственное устройство), которые накладывают ограничения только на контролируемую предприятием часть устройства. Обучение, тренинги и руководства для пользователей, помогут поддержать определенную конфигурацию корпоративных устройств, а иногда даже предотвратить конкретные рискованные действия пользователя.

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

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

Комментарии (0)