INTEGRITY Документация

Обнаружение уязвимостей класса «Нарушение авторизации на уровне объектов»

Уязвимость Broken Object Level Authorization (BOLA) возникает, когда приложение или API не проверяет должным образом, есть ли у пользователя право доступа к конкретным данным.

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

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

Уязвимости BOLA так же опасны, как захват аккаунта. Успешная эксплуатация уязвимости BOLA позволяет злоумышленнику получать доступ к данным, на которые у него нет прав, или изменять их.

Cloudflare помечает конечные точки риском BOLA, если обнаруживает два отдельных признака, характерных для атак, эксплуатирующих BOLA: Загрязнение параметров и Перечисление.

Перечисление

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

Пример перечисления

Конечная точка: GET /api/v1/users/{userId}/credit-cards

Загрязнение параметров

Cloudflare обнаруживает успешные запросы, в которых значение параметра, найденное в ожидаемом месте (path, query string, header или cookie), дублируется в неожиданном, но похожем месте. Такое поведение может указывать на попытки злоумышленников запутать систему авторизации API и обойти меры защиты.

Пример загрязнения параметров

Конечная точка: GET /api/v1/orders/{orderId}

Процесс

API Shield обнаруживает атаки BOLA, изучая шаблоны трафика посетителей и выявляя аномальный доступ к отдельным объектам. Затронутые конечные точки автоматически помечаются следующей метки риска:

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

Информацию об атаках BOLA можно найти в Security Overview, Security Analytics, а также Сведения о конечной точке.

Security Overview

Если на ваших конечных точках обнаружены уязвимости BOLA, вы можете просмотреть сводку атаки и рекомендации по её устранению в панели управления Cloudflare.

  1. На панели управления Cloudflare перейдите к разделу Безопасность страницу.

    Перейдите в Обзор ↗
  2. Перейдите в Злоупотребление API или Все рекомендации.

  3. В зависимости от типа атаки выберите Просмотр трафика при потенциальной атаке перечисления BOLA или Просмотр трафика при потенциальной атаке с загрязнением параметров чтобы просмотреть подробности атаки и рекомендуемые действия.

  4. Выберите Просмотр всех затронутых конечных точек или Просмотр сведений на конкретной конечной точке, чтобы просмотреть подозрительные сессии в Web Assets.

Cloudflare анализирует запросы ваших сессий на предмет атак перебора (enumeration) и загрязнения параметров (parameter pollution) и предоставляет список конечных точек под угрозой, а также количество аномальных сессий, в которых была обнаружена атака. Вы можете воспользоваться предложенными действиями, чтобы устранить уязвимости BOLA и предотвратить будущие атаки на ваши конечные точки.

Security Analytics

В панели управления Cloudflare можно просматривать аналитику по профилю трафика вашей зоны, а также подозрительные запросы, связанные с атаками enumeration и parameter pollution.

Перейдите в Аналитика ↗

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

Фильтрация по конкретным конечным точкам при этом не выполняется.

Просмотрите основную статистику и подробные сведения об управляемых конечных точках API, путях и значениях, на которые нацелена атака, а также об IP-адресах, user agent и отпечатках источников.

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

Сведения о конечной точке

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

Перейдите в Web assets ↗

В разделе Обзор безопасности, выберите Просмотр атаки чтобы просмотреть затронутые сессии с соответствующими IP-адресами и отпечатками JA4 (отпечатками TLS-клиента, которые помогают определить программное обеспечение, отправившее запрос).

Вы можете экспортировать .csv файл со всеми IP-адресами и отпечатками JA4 для всех сессий или только для одной указанной.

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

Если к параметру был получен несанкционированный доступ, оцените его возможное влияние на приложение, пользователей и данные. Рекомендуется обсудить ситуацию с разработчиками вашего приложения и API, чтобы подтвердить факт несанкционированного доступа, проверив в логах источника API IP-адрес и отпечаток JA4 сессий, связанных со злоупотреблением.

Просмотреть данные об атаках можно в Security Analytics.

Перейдите в Аналитика ↗

Управляемый эндпоинт будет автоматически отфильтрован в активности запросов за последние семь дней. Вы также можете фильтровать по подозрительным IP-адресам и отпечаткам, указанным в деталях атаки.


Доступность

Обнаружение уязвимостей Broken Object Level Authorization доступно только клиентам с планом Enterprise. Если вы клиент Enterprise и хотите использовать этот продукт, обратитесь к своей команде по работе с аккаунтом.