M365Con 2027 – безкоштовна онлайн-конференція · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Кроки для аналізу зловживань OAuth-застосунками за допомогою журналів активності Microsoft Graph

By · · Updated

Виявляйте загрози OAuth у Microsoft 365 за допомогою Entra ID і журналу активності Microsoft Graph. Дізнайтеся, як виявляти загрози OAuth-застосунків за допомогою журналів активності та Graph API.

Automatically translated with AI from the original post. Read the English original

Моніторинг використання OAuth-застосунків є критично важливим для підтримки безпеки в організації та запобігання зловживанням OAuth-застосунками. Використовуючи журнали активності Microsoft Graph, ви отримуєте важливу видимість того, як працюють OAuth-застосунки. Ці журнали допомагають виявляти потенційні зловживання OAuth-застосунками та знаходити загрози, пов’язані з активністю OAuth-застосунків.

Встановлення стандартів відповідності є критично важливим через ризики, пов’язані зі зловживаннями OAuth-застосунками. Чіткі критерії оцінки безпеки та відповідності допомагають вибрати правильні застосунки для використання в організації.

Аналіз зловживань OAuth-застосунками за допомогою журналів активності Microsoft Graph: 5 несподіваних фактів

Під час аналізу зловживань OAuth-застосунками за допомогою журналів активності Microsoft Graph фахівці з безпеки часто виявляють неočікувані можливості та обмеження, які впливають на виявлення і реагування.

  1. Журнали активності показують client_app_id OAuth для подій, пов’язаних із застосунками. Журнали активності Microsoft Graph містять client_app_id (appId застосунку) для багатьох подій входу та надання згоди, що дає змогу співставити підозрілі токени або дії безпосередньо із зареєстрованим OAuth-застосунком, а не лише з користувачем.
  2. Активність застосунків розподілена між кількома джерелами — різні типи журналів мають значення. Події, пов’язані з OAuth, можуть бути розподілені між журналами входу, журналами аудиту та єдиними журналами активності Microsoft Graph. Якщо покладатися лише на один джерело, можна пропустити надання згоди, видачу токенів або зміни дозволів застосунків, важливі для розслідувань зловживань.
  3. Параметри зберігання та експорту можуть обмежувати криміналістичні хронології, якщо їх не налаштовано. За замовчуванням термін зберігання журналів активності для клієнта для деяких журналів обмежений; без експорту через діагностичні параметри до робочої області Log Analytics або облікового запису зберігання докази зловживань у минулому можуть швидко загубитися.
  4. Деякі чутливі поля маскуються або редагуються в журналах Graph. Для захисту приватності певні персональні дані та відомості про токени скорочуються або приховуються в корисних даних активності, тому для відтворення повних ланцюгів атак потрібне співставлення з журналами або журналами умовного доступу.
  5. Сповіщення про зміни та delta-запити забезпечують виявлення майже в реальному часі, але потребують налаштування. Microsoft Graph підтримує сповіщення про зміни (webhooks) і delta-запити для журналів активності, що дає змогу автоматично виявляти щойно надані дозволи застосунків або аномальні дії застосунків. Однак їх потрібно заздалегідь налаштувати, щоб виявляти зловживання в момент їх виникнення.

Головне

Огляд зловживань OAuth-застосунками

Поширені вектори атак

Зловмисники часто використовують згоду на OAuth-застосунки, щоб отримати несанкціонований доступ до чутливих даних. Вони застосовують різні тактики, щоб обійти заходи безпеки. Наприклад, поширеними стали фішингові кампанії. Зловмисники обманом змушують користувачів вводити коди пристроїв на легітимних сторінках перевірки Microsoft. Так вони отримують токени доступу, пов’язані з обліковими записами жертв. Такі атаки можуть обходити традиційні засоби контролю безпеки, зокрема багатофакторну автентифікацію.

Крім того, багато сторонніх застосунків підключаються до SaaS-платформ за допомогою токенів OAuth. Ці токени можуть зберігати доступ безстроково, якщо ним активно не керувати. Це створює серйозний ризик: організації можуть ненавмисно відкривати доступ до конфіденційних даних через застосунки, які вже не використовуються. Дослідники з питань безпеки зазначають, що атаки через OAuth особливо важко виявити. Вони залишають мінімум криміналістичних слідів і можуть зберігатися навіть після скидання паролів.

Довгострокові ризики доступу

Довгострокові ризики, пов’язані зі стійким доступом застосунків OAuth, є тривожними. У середовищах, орієнтованих на хмару, ідентичність стала новим периметром. Зловмисники можуть отримати стійкий доступ до корпоративних систем, не компрометуючи сервери чи паролі. Вони маніпулюють довірчими відносинами, притаманними сучасним системам ідентифікації.

Наслідки зловживання застосунками OAuth можуть бути серйозними. Ось деякі задокументовані ризики:

Організаціям слід залишатися пильними. Їм варто регулярно переглядати надані згоди для застосунків OAuth і відстежувати будь-яку підозрілу активність. Так ви зможете зменшити ризики, пов’язані зі зловживанням застосунками OAuth, і захистити конфіденційні дані.

Журнали активності Microsoft Graph для безпеки

Журнали активності Microsoft Graph для безпеки Джерело зображення: unsplash

Доступ до журналів активності Microsoft Graph є критично важливим для моніторингу поведінки застосунків OAuth. Щоб ефективно отримати журнали, можна виконати такі кроки:

  1. Передавайте журнали через Diagnostic Setting на порталі Azure або за допомогою API Azure Resource Manager.

  2. Інтегруйте журнали активності з журналами Azure Monitor.

  3. Налаштуйте параметри діагностики через API Azure Resource Manager.

  4. Налаштуйте місця зберігання, наприклад Azure Log Analytics Workspace, Azure Storage або Azure Event Hubs.

  5. Виконуйте запити до журналів мовою Kusto Query Language (KQL), якщо їх надіслано до робочої області Log Analytics.

Отримавши доступ до журналів, зосередьтеся на ключових записах, які можуть вказувати на підозрілу поведінку застосунків OAuth. Ось деякі записи журналу, за якими варто стежити:

Підозріла поведінка

Опис

Ескалація привілеїв для доступу до даних

Застосунки, які отримують розширені дозволи, як-от Sites.Read.All або Files.ReadWrite.All, без належного документування, можуть свідчити про шкідливі застосунки, спрямовані на крадіжку даних.

Масове завантаження

Обліковий запис, що звертається до сотень файлів за короткий проміжок часу, є сильним індикатором можливого витоку даних.

Анонімні посилання або посилання для зовнішнього спільного доступу

Створення таких посилань може бути тактикою, яку зловмисники використовують для експлуатації налаштувань доступу до файлів з метою витоку даних.

Шаблони «завантажити та видалити»

Коли користувачі завантажують конфіденційні файли, а потім невдовзі їх видаляють, це може свідчити про спроби приховати сліди після викрадення даних.

Сповіщення в реальному часі відіграють ключову роль у виявленні та реагуванні на інциденти зловживання OAuth-застосунками. Вони дають змогу побачити підозрілу поведінку та автоматизувати реакцію для зменшення ризиків. Наприклад, OAuth-токени Drift мали подовжений термін дії, через що клієнти Salesforce не бачили, які застосунки підключені до їхніх облікових записів. Скомпрометовані токени могли обходити MFA та SSO, що підкреслює необхідність сповіщень у реальному часі для виявлення аномалій, як-от масові звернення до API.

Щоб налаштувати ефективні сповіщення в реальному часі, врахуйте такі найкращі практики:

Впроваджуючи ці стратегії, ви зможете посилити безпеку вашої організації та краще захиститися від зловживання OAuth-застосунками.

Методи виявлення зловживань OAuth-застосунками

Методи виявлення зловживань OAuth-застосунками Джерело зображення: pexels

Запити KQL

Kusto Query Language (KQL) є потужним інструментом для аналізу журналів активності Microsoft Graph. За допомогою KQL можна знаходити закономірності та аномалії, які можуть свідчити про зловживання OAuth-застосунками. Ось кілька ефективних стратегій використання KQL:

Щоб почати роботу з KQL, розгляньте наступний приклад запиту, який перевіряє незвичайну активність входу:

AuditLogs
| where ActivityType == "SignIn"
| where Result == "Failure"
| summarize Count = count() by UserPrincipalName, bin(TimeGenerated, 1h)
| order by Count desc

Цей запит знаходить користувачів із невдалими спробами входу, що дає змогу перевірити можливий несанкціонований доступ.

Автоматизація через PowerShell

Автоматизація через PowerShell може значно спростити виявлення зловживань OAuth-застосунками. Використовуючи скрипти PowerShell, можна автоматизувати моніторинг OAuth-застосунків та їхньої активності. Ось деякі інструменти та їхні функції:

Інструмент

Функціональність

GraphRunner

Автоматизує взаємодію з Microsoft Graph API, може отримувати токени різними методами та діяти від імені скомпрометованих користувачів без спрацьовування сповіщень.

AutoGraph

Надає інтерфейс меню для взаємодії з API, автоматизує перелік користувачів і спрощує вилучення даних з різних джерел.

За допомогою PowerShell можна також створювати скрипти, які регулярно перевіряють надмірні дозволи у застосунках Entra. Такий проактивний підхід допомагає підтримувати безпечне середовище.

Наприклад, можна запустити скрипт, який виводить усі застосунки з високими привілеями:

Get-AzureADServicePrincipal | Where-Object { $_.AppRoles -ne $null -and $_.AppRoles.Count -gt 5 }

Ця команда отримує принципали служби з більш ніж п'ятьма ролями застосунків, що дає змогу оцінити потенційні ризики.

Поєднуючи запити KQL та автоматизацію на PowerShell, ви можете посилити можливості виявлення загроз. Ці методи дають вам інструменти, потрібні для ефективного виявлення зловживань OAuth-застосунками та реагування на них.

Стратегії пом'якшення ризиків для загроз, пов'язаних з ідентифікацією

Аналіз поведінки користувачів

Щоб ефективно пом'якшувати ризики, пов'язані з OAuth-застосунками, вам необхідно аналізувати поведінку користувачів на предмет аномалій. Інструменти аналітики поведінки користувачів (UBA) можуть допомогти виявити незвичні патерни, які можуть свідчити про зловживання OAuth-застосунками. Ось кілька методів, які варто розглянути:

Метод/процес

Опис

Створення моделі поведінки

Інструменти UBA створюють моделі на основі активності користувачів, фіксуючи місця входу та час використання застосунків.

Виявлення аномалій

Інструменти UBA порівнюють поведінку користувачів з усталеними моделями, щоб виявляти відхилення.

Використання ШІ та машинного навчання

Алгоритми аналізують поведінку користувачів у часі, щоб виявляти незвичні патерни, наприклад вхід поза звичайним робочим часом.

Порівняння з колегами

Інструменти UBA порівнюють дії користувачів з діями їхніх колег, щоб виявляти підозрілу поведінку, наприклад доступ до неавторизованих даних.

Застосовуючи ці стратегії, ви можете виявляти потенційні загрози на ранніх етапах. Важливу роль також відіграє регулярний аудит OAuth-застосунків. Варто періодично перевіряти дозволи, щоб переконатися, що вони відповідають ролям користувачів. Досліджуйте будь-які підозрілі застосунки, які можуть мати надмірні права доступу.

Кореляція подій

Кореляція подій є ще однією ефективною стратегією для виявлення загроз, пов'язаних з ідентифікацією. Цей підхід дає змогу зібрати інформацію з різних джерел, щоб виявити шкідливі реєстрації застосунків або обхід засобів контролю безпеки. Ось кілька висновків щодо важливості кореляції подій:

Тип доказів

Статистика/висновки

Прогалини у видимості

У 87% розслідувань реагувальникам довелося аналізувати докази з двох і більше окремих джерел.

Складність середовища

Базові налаштування безпеки застосовувалися непослідовно в різних бізнес-підрозділах, що призводило до вразливих прогалин.

Дрейф ідентичностей

Облікові записи часто мають більше доступу, ніж потрібно, через накопичені з часом дозволи.

Кореляція подій дає змогу сформувати всебічну оцінку ризиків. Цей процес допомагає зрозуміти, як різні дії пов'язані між собою, і виявляти патерни, які можуть свідчити про техніки зловживання OAuth.

Впровадження цих стратегій пом'якшення ризиків потребує відданості справі. Ви можете зіткнутися з викликами, зокрема складністю виявлення атак, які використовують легітимні процеси OAuth. Традиційні засоби контролю безпеки часто не справляються після надання згоди. Проте за проактивного підходу ви можете суттєво знизити ризик зловживання OAuth-застосунками.

Щоб further посилити свою безпеку, розгляньте такі ефективні стратегії пом'якшення ризиків:

  1. Аудит: регулярно проводьте аудит OAuth-застосунків, щоб переконатися, що дозволи є доречними, та досліджуйте підозрілі застосунки.

  2. Обмеження згоди користувачів: вимкніть згоду користувачів для сторонніх застосунків, щоб для всіх запитів на авторизацію потрібне було схвалення адміністратора.

  3. Контроль доступу на основі ролей (RBAC): впровадьте RBAC, щоб обмежити привілеї користувачів мінімально необхідним рівнем.

  4. Навчання користувачів: регулярно проводьте навчання, щоб ознайомити співробітників із загрозами безпеки та тактиками фішингу.

Зосередившись на аналізі поведінки користувачів та кореляції подій, ви зможете зміцнити захист від загроз, пов'язаних з ідентифікацією та зловживанням OAuth-застосунками.

Підсумовуючи, аналіз зловживань OAuth-застосунками виявляє критичні вразливості в багатьох застосунках. Недавні дослідження показують, що приблизно 8% протестованих застосунків вразливі до зловживання OAuth. Це підкреслює необхідність постійного моніторингу, щоб посилити ваш рівень безпеки.

Вам варто зосередитися на:

Застосовуючи ці проактивні стратегії захисту, ви можете суттєво знизити ризики, пов’язані із зловживанням OAuth-застосунками, і захистити організацію від потенційних загроз.

Поширені запитання

Що таке зловживання OAuth-застосунками?

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

Як виявити зловживання OAuth-застосунками?

Зловживання OAuth-застосунками можна виявити, відстежуючи журнали активності Microsoft Graph на предмет підозрілої діяльності. Шукайте незвичайні входи, масові завантаження та неočikувані зміни дозволів.

Які ризики пов’язані з фішингом згоди?

Фішинг згоди дозволяє зловмисникам змусити користувачів надати доступ до їхніх облікових записів. Це може призвести до крадіжки даних, несанкціонованого доступу та потенційної шкоди репутації вашої організації.

Як часто слід перевіряти OAuth-застосунки?

Перевіряти OAuth-застосунки слід регулярно, бажано кожні кілька місяців. Це допомагає переконатися, що дозволи залишаються доречними, і швидко виявити будь-які підозрілі застосунки.

Які кроки можна вжити для запобігання зловживанню OAuth-застосунками?

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

Розслідування Microsoft Graph: робоча область Log Analytics і виявлення загроз

Що таке аналіз зловживання OAuth-застосунками за журналами активності Microsoft Graph?

Аналіз зловживання OAuth-застосунками за журналами активності Microsoft Graph означає використання активності й журналів Graph API, щоб виявити зловмисну діяльність застосунків або загроз-акторів, які зловживають авторизацією OAuth 2.0 у вашому середовищі Microsoft 365. Ви аналізуєте виклики Graph API, шаблони запитів до API та журнали входу Microsoft Entra ID разом із серіями журналів активності Graph у робочій області Log Analytics, щоб виявити підозрілу поведінку OAuth і ризиковані OAuth-застосунки.

Як увімкнути журнали активності Microsoft Graph і куди вони надходять?

Щоб увімкнути журнали активності Microsoft Graph, потрібно налаштувати служби Microsoft 365 і службу Microsoft Graph так, щоб вони надсилали активність Graph API до робочої області Log Analytics (або до зовнішньої SIEM). Скористайтеся діагностичними параметрами Microsoft Entra ID, щоб спрямовувати запити Graph API, журнали Entra ID і події входу до робочої області Log Analytics, де можна виконувати запити до журналів Graph API та запускати запити для виявлення загроз мовою Kusto (журнал активності та запит Kusto).

Які індикатори у викликах Graph API вказують на підозрілу активність OAuth?

Шукайте незвичайні запити Graph API, зокрема масові виклики Graph API з одного ідентифікатора застосунку, повторні надання згоди, повторне використання токенів між клієнтами або активність Graph API з незнайомих IP-адрес. Співставте їх із журналами входу Entra ID, подіями брокера автентифікації Microsoft і аномаліями в часі викликів API, щоб виявити загрози за допомогою активності Microsoft Graph і можливого зловживання OAuth-застосунками.

Як розслідувати ризиковані OAuth-застосунки за допомогою Log Analytics і запитів Kusto?

Використовуйте робочу область Log Analytics, щоб централізовано зберігати журнали Graph API і виконувати запити Kusto до серій журналів активності Graph. Типові кроки: збирати запити Microsoft Graph API і журнали Entra ID, написати KQL, щоб виявити незвичайну активність Graph API, аналізувати дані за ідентифікатором застосунку та користувачем і співставляти їх із подіями служб Microsoft 365. Плейбук для роботи з Graph містить приклади KQL для виявлення підозрілих OAuth-токенів і активності API.

Яку роль відіграє Entra ID у виявленні зловживань OAuth?

Microsoft Entra ID (раніше Azure AD) надає сигнали про ідентичність і доступ — журнали Entra ID і журнали входу Entra ID, — які показують, який застосунок запросив доступ і який користувач надав згоду. Використання цих журналів разом із Microsoft Graph API і журналами активності Graph API допомагає пов’язати події авторизації OAuth 2.0 із запитами до API, виявити скомпрометовані облікові дані чи зловмисні застосунки та застосувати умовний доступ або відкликати дозволи застосунків.

Чи можна автоматизувати виявлення загроз і реагування на зловживання OAuth-застосунками?

Так. Поєднайте журнали активності Graph API у робочій області Log Analytics з автоматичними сповіщеннями та плейбуками, щоб виявляти загрози за допомогою Microsoft Graph. Використовуйте KQL, щоб запускати сповіщення про аномалії, а потім виконуйте автоматичне усунення (відкликати токени, заблокувати ідентифікатор застосунку, вимкнути надання згоди) за допомогою викликів Microsoft Graph API та служби microsoft graph, щоб локалізувати шкідливу активність і зменшити доступ до ресурсів Microsoft 365.

Які найкращі практики для зменшення ризику від підозрілих і ризикових застосунків OAuth?

До найкращих практик належать: дотримання принципу мінімальних привілеїв для застосунків, моніторинг запитів Graph API і журналів входу Entra ID, вимога згоди адміністратора лише там, де це необхідно, використання умовного доступу та MFA, централізація журналів Graph API в робочій області Log Analytics з ідентифікатором робочої області Log Analytics, а також регулярні розслідування з журналом активності Graph і запитами Kusto, щоб своєчасно виявляти загрози за допомогою активності microsoft graph.

Як інтегрувати Microsoft Teams або інші служби Microsoft 365 до розслідувань?

Додайте телеметрію microsoft teams та інших служб microsoft 365 до своїх журналів активності Graph API і співставляйте її із запитами graph api. Багато сценаріїв зловживання OAuth передбачають доступ до пошти, файлів або повідомлень teams. Використовуючи Microsoft Graph API для отримання активності конкретних служб і поєднуючи її з журналами Entra ID у Log Analytics, ви бачите повний ланцюжок від запиту API до доступу до ресурсу та виявляєте шкідливу активність у всій екосистемі microsoft.

Microsoft Graph Change notifications and webhooks Compliance Audit logs Conditional Access Fabric workspace Kusto Query Language (KQL)

Related articles

RSS