На основе этих HTTPS-запросов, какой тип атаки это?

Вопрос или проблема

Я вижу более 1000 попыток доступа к моим API-эндпоинтам с множеством ответов 500. Очевидно, что потенциальный злоумышленник пытается исследовать API, но мне неясно, какой тип атаки он пытается осуществить. Надеюсь, кто-то здесь сможет это определить.

Многие запросы содержат случайную строку в нескольких местах, например, zcexystba7:

  • Заголовок Origin установлен на https://zcexystba7.com
  • User agent установлен на Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0 zcexystba7
  • Заголовок Accept включает text/zcexystba7
  • Заголовок Accept-Encoding включает zcexystba7
  • Параметр URL GET-запроса включает zcexystba7=1

Иногда только подмножество из этих элементов присутствует со случайной строкой. Длина строки варьируется, например, yg6x1 — это другой пример. Почти все запросы включают случайный параметр GET-запроса.

Первой моей мыслью было, что это может быть атака BREACH, но случайная строка, используемая в каждом запросе, не выглядит как что-то секретное для меня. Я не думаю, что это так.

Темп запросов указывает на то, что злоумышленник использует инструмент/скрипт (например, 20 запросов за 1,5 секунды).

Есть ли идеи, что злоумышленник может пытаться достичь?

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

Ответ или решение

Исходя из описанных вами HTTP-запросов, можно предположить, что атакующий, вероятно, проводит метод, известный как «фуззинг» ваших API-эндпоинтов. Давайте рассмотрим ключевые моменты, которые подтверждают это:

  1. Большое количество запросов: Вы упомянули, что было более 1000 попыток обращения к вашим API. Это характерно для фуззинг-атак, когда злоумышленник стремится быстро протестировать множество различных входных значений.

  2. Случайные строки: Использование случайных строк в заголовках и параметрах запроса, таких как zcexystba7, также указывает на попытку найти уязвимости. Во время фуззинга атакующие могут добавлять случайные данные, чтобы выявить неисправности или странные поведения вашего API, которые могут быть использованы в дальнейшем.

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

  4. Шаблон запросов: Постоянное использование определенного шаблона (случайные строки в заголовках и параметрах) указывает на то, что злоумышленник использует автоматизированный инструмент или скрипт для проведения атаки. Это делает атаку более эффективной и целенаправленной.

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

Исходя из вышеизложенного, рекомендуется:

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

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

Оцените материал
Добавить комментарий

Капча загружается...