Обнаружение и устранение незаконных разрешений на предоставление согласия в Microsoft 365

Совет

Знаете ли вы, что можете бесплатно опробовать возможности Microsoft Defender для Office 365 Plan 2? Используйте 90-дневную пробную версию Defender для Office 365 в центре пробных версий портала Microsoft Defender. Узнайте о том, кто может зарегистрироваться и использовать условия пробной версии на Microsoft Defender для Office 365.

Атака с незаконным предоставлением согласия предполагает, что сущность, запрашивающая информацию, представляет собой автоматизированный процесс, а не человека:

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

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

В следующих разделах описывается, как выявить и устранить неправомерно предоставленные согласия в вашей организации.

Совет

Подозреваете ли вы, что у вас возникли проблемы с незаконным предоставлением согласия прямо сейчас? Microsoft Defender for Cloud Apps имеет средства для обнаружения, исследования и исправления приложений OAuth. В этой Defender for Cloud Apps статье содержится руководство по изучению рискованных приложений OAuth. Вы также можете настроить политики приложений OAuth , чтобы изучить запрашиваемые приложениями разрешения, какие пользователи авторизуют эти приложения, а также широко утвердить или запретить эти запросы разрешений.

Предварительные условия

  • Откройте портал Microsoft Defender по адресу https://security.microsoft.com. Откройте Центр администрирования Microsoft Entra по адресу https://entra.microsoft.com.

  • Прежде чем вы сможете выполнить процедуры, описанные в этой статье, вам должны быть назначены разрешения. Возможны следующие варианты:

    • разрешения Microsoft Entra. Членство в ролях глобального администратора* предоставляет пользователям необходимые разрешения и разрешения для других функций Microsoft 365.

      Важно!

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

Необходимо выполнить поиск по журналу аудита в Аудит Microsoft Purview (Standard) или Audit (Premium), чтобы выявить признаки неправомерной выдачи согласий, то есть подозрительные действия Consent to application. Эти признаки также известны как индикаторы компромисса (МОК). Действия по поиску журнала аудита для этих действий описаны в этом разделе. Дополнительные сведения о поиске в журнале аудита см. в разделе Поиск в журнале аудита.

Совет

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

  1. На портале Microsoft Defender по адресу https://security.microsoft.comперейдите в раздел Аудит. Или перейдите непосредственно на страницу Аудит по ссылке https://security.microsoft.com/auditlogsearch.

  2. На странице Аудит убедитесь, что выбрана вкладка Новый поиск , а затем настройте следующие параметры:

    • Диапазон даты и времени: Выберите соответствующие значения даты и времени Начало и Окончание.
    • Действия. Убедитесь, что выбран параметр Показывать результаты для всех действий .

    По завершении выберите Поиск.

  3. Выберите столбец Действие , чтобы отсортировать результаты и найти согласие на приложение.

  4. Выберите запись из списка, чтобы просмотреть сведения о действии. Убедитесь, что isAdminConsent имеет значение True.

Примечание.

Для отображения соответствующей записи журнала аудита в результатах поиска после возникновения события может потребоваться от 30 минут до 24 часов.

Продолжительность хранения и поиска записи аудита в журнале аудита зависит от подписки Microsoft 365. В частности, лицензии, назначенные определенным пользователям. Дополнительные сведения см. в разделе Журнал аудита.

Значение True указывает, что пользователь с доступом глобального администратора мог предоставить широкий доступ к данным. Если это значение непредвиденное, выполните действия, чтобы подтвердить атаку.

Подтверждение атаки

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

  • Проведите инвентаризацию приложений и их разрешений в центре администрирования Microsoft Entra. Этот метод является подробным, но за один раз можно проверить только одного пользователя. Этот метод может занять очень много времени, если вам нужно проверить много пользователей.
  • Инвентаризация приложений и их разрешений с помощью PowerShell. Это самый быстрый метод, наиболее методичный и требующий меньше всего накладных расходов.
  • Попросите пользователей по отдельности проверить свои приложения и разрешения и сообщить администраторам о результатах для устранения проблем.

Инвентаризация приложений с доступом в организации

У вас есть следующие варианты инвентаризации приложений для пользователей:

  • Центр администрирования Microsoft Entra.
  • PowerShell.
  • Попросите пользователей по отдельности перечислить свой доступ к приложениям.

Действия по использованию центра администрирования Microsoft Entra

Вы можете найти приложения, для которых любой отдельный пользователь предоставил разрешения, с помощью Центр администрирования Microsoft Entra:

  1. Откройте Центр администрирования Microsoft Entra по адресу https://entra.microsoft.com, а затем перейдите в раздел Удостоверение>пользователей>Все пользователи. Или, чтобы перейти непосредственно к разделу Пользователи>Все пользователи, используйте https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
  2. Найдите и выберите пользователя, которого вы хотите проверить, щелкнув значение Отображаемое имя .
  3. На открывающейся странице сведений о пользователе выберите Приложения.

Эти шаги показывают приложения, назначенные пользователю, и какие разрешения имеют эти приложения.

Шаги для того, чтобы ваши пользователи перечислили приложения, к которым у них есть доступ

Попросите пользователей перейти на https://myapps.microsoft.com и проверить там свой доступ к приложению. Они должны иметь возможность просматривать все приложения с доступом, просматривать сведения о них (включая область доступа) и иметь возможность отзывать привилегии для подозрительных или незаконных приложений.

Действия в PowerShell

Самый простой способ проверить атаку с предоставлением незаконного согласия — запустить скрипт Get-AzureADPSPermissions.ps1, который помещает все предоставленные разрешения OAuth и приложения OAuth для всех пользователей в клиенте в один .csv файл.

Предварительные условия

  • Установлен пакет SDK Для Microsoft Graph PowerShell.
  • Разрешения глобального администратора в организации, в которой выполняется скрипт.
  • Разрешения локального администратора на компьютере, на котором выполняются скрипты.

Важно!

Настоятельно рекомендуется требовать многофакторную проверку подлинности для учетной записи администратора. Этот скрипт поддерживает проверку подлинности MFA.

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

  1. Войдите на компьютер, на котором вы хотите запустить скрипты с правами локального администратора.

  2. Скачайте или скопируйте скрипт Get-AzureADPSPermissions.ps1 из GitHub в папку, которую легко найти и запомнить. В эту папку также необходимо записать выходной файл "permissions.csv".

  3. Откройте сеанс PowerShell с повышенными привилегиями от имени администратора в папке, в которой вы сохранили скрипт.

  4. Подключитесь к каталогу с помощью командлета Connect-MgGraph.

  5. Выполните следующую команду, чтобы выполнить скрипт разрешений и экспортировать результаты в CSV-файл:

    .\Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

Скрипт создает один файл с именем Permissions.csv. Выполните следующие действия, чтобы найти незаконные разрешения приложений:

  1. В столбце ConsentType (столбец G) найдите значение "AllPrinciples". Разрешение AllPrincipals позволяет клиентскому приложению получать доступ к содержимому всех пользователей в арендаторе. Это разрешение требуется собственным приложениям Microsoft 365 для правильной работы. Каждое приложение не от Microsoft с таким разрешением следует тщательно проверять.

  2. В столбце Разрешение (столбец F) проверьте разрешения, которые каждое делегированное приложение имеет для содержимого. Найдите разрешения "Чтение" и "Запись" или "Все" и внимательно просмотрите эти разрешения, так как они могут оказаться неуместными.

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

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

Определение область атаки

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

После того как вы определили приложение с незаконными разрешениями, вы можете удалить этот доступ несколькими способами:

  • Вы можете отозвать разрешение приложения в Центр администрирования Microsoft Entra, выполнив следующие действия.

    1. Откройте Центр администрирования Microsoft Entra по адресу https://entra.microsoft.com, а затем перейдите в раздел Удостоверение>пользователей>Все пользователи. Или, чтобы перейти непосредственно к разделу Пользователи>Все пользователи, используйте https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
    2. Найдите и выберите затронутого пользователя, щелкнув значение Отображаемое имя .
    3. На открывающейся странице сведений о пользователе выберите Приложения.
    4. На странице Приложения выберите незаконное приложение, щелкнув значение Имя .
    5. На открывающейся странице Сведений о назначении выберите Удалить.
  • Вы можете отозвать предоставление согласия OAuth с помощью PowerShell, выполнив действия, описанные в статье Remove-MgOauth2PermissionGrant.

  • Вы можете отменить назначение роли приложения-службы с помощью PowerShell, выполнив действия, описанные в разделе Remove-MgServicePrincipalAppRoleAssignment.

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

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