Помилка сканера ChatGPT відкриває двері для DDoS, оперативне впровадження • The Register

Помилка сканера ChatGPT відкриває двері для DDoS, оперативне впровадження • The Register

Схоже, сканер ChatGPT від OpenAI готовий ініціювати розподілені атаки на відмову в обслуговуванні (DDoS) на довільні веб-сайти, про вразливість, яку технічний гігант ще не визнав.

У статті, опублікованій цього місяця через GitHub від Microsoft, Бенджамін Флеш, дослідник безпеки з Німеччини, пояснює, як один HTTP-запит до ChatGPT API можна використовувати для заповнення цільового веб-сайту мережевими запитами від сканера ChatGPT, зокрема ChatGPT- Користувач.

Цього потоку з’єднань може бути достатньо, а може і недостатньо, щоб зруйнувати будь-який певний сайт, практично кажучи, хоча це все ще є небезпекою та певним недоглядом OpenAI. Його можна використовувати для розширення одного запиту API на 20-5000 або більше запитів до обраного веб-сайту жертви щосекунди, знову і знову.

«API ChatGPT демонструє серйозний дефект якості під час обробки запитів HTTP POST до https://chatgpt.com/backend-api/attributions“, – пояснює Флеш у своїй пораді, посилаючись на кінцеву точку API, яку викликає ChatGPT OpenAI для повернення інформації про веб-джерела, цитовані у виводі чат-бота. Коли ChatGPT згадує певні веб-сайти, він викличе attributions зі списком URL-адрес цих сайтів, до яких сканер може отримати доступ і отримати інформацію.

Якщо ви кинете в API великий довгий список URL-адрес, кожна з яких дещо відрізняється, але всі вказують на той самий сайт, сканер увімкнеться та вразить кожну з них одночасно.

«API очікує список гіперпосилань у параметрі urls. Загальновідомо, що гіперпосилання на один і той же веб-сайт можна записати багатьма різними способами», — написав Флеш.

«Через неправильну практику програмування OpenAI не перевіряє, чи гіперпосилання на той самий ресурс з’являється в списку кілька разів. OpenAI також не обмежує максимальну кількість гіперпосилань, що зберігаються в параметрі urls, що дозволяє передавати багато тисячі гіперпосилань в одному запиті HTTP».

Жертва ніколи не дізнається, що її спіткало

Таким чином, використовуючи такий інструмент, як Curl, зловмисник може надіслати HTTP-запит POST – без жодної потреби в маркері автентифікації – до кінцевої точки ChatGPT, а сервери OpenAI у Microsoft Azure відповідатимуть, ініціюючи HTTP-запит для кожного гіперпосилання, поданого через urls[] параметр у запиті. Коли ці запити спрямовуються на той самий веб-сайт, вони потенційно можуть перевантажити ціль, викликаючи симптоми DDoS – сканер, проксі-сервер Cloudflare, щоразу відвідуватиме цільовий сайт з іншої IP-адреси.

«Жертва ніколи не дізнається, що її спіткало, тому що вона бачить, як бот ChatGPT вражає їхній веб-сайт одночасно з приблизно 20 різних IP-адрес», — сказав Флеш. Реєстрдодавши, що якщо жертва ввімкне брандмауер, щоб заблокувати діапазон IP-адрес, який використовує бот ChatGPT, бот все одно надсилатиме запити.

«Отже, один невдалий/заблокований запит не завадить боту ChatGPT знову запитати сайт-жертву протягом наступної мілісекунди».

«Завдяки цьому посиленню зловмисник може надіслати невелику кількість запитів до ChatGPT API, але жертва отримає дуже велику кількість запитів», — пояснив Флеш.

Флеш каже, що повідомив про цю неавтентифіковану рефлексивну вразливість DDoS через численні канали – платформу звітів про вразливості BugCrowd OpenAI, електронну пошту команди безпеки OpenAI, Microsoft (включаючи Azure) і HackerOne – але нічого не чув.

Реєстр двічі зверталися до OpenAI, який підтримує Microsoft, і ми не отримали відповіді.

«Я б сказав, що більша історія полягає в тому, що цей API також був вразливим до швидкого впровадження», — сказав він, посилаючись на окреме розкриття вразливості. «Навіщо їм миттєва ін’єкція для такого простого завдання? Я думаю, це може бути тому, що вони тестують свій автономний «агент штучного інтелекту»».

Другу проблему можна використати, щоб сканер відповідав на запити через те ж саме attributions кінцева точка API; ви можете задавати запитання боту, і він може відповідати на них, коли він насправді цього не повинен робити; він має лише отримувати веб-сайти.

Флеш сумнівався, чому бот OpenAI не реалізував прості, усталені методи для належного видалення дублікатів URL-адрес у запитуваному списку чи обмеження розміру списку, а також не вдалося уникнути вразливостей швидкого ін’єкції, які були усунені в основному інтерфейсі ChatGPT.

«Мені здається, що цей невеликий API є прикладом проекту їхніх агентів ChatGPT AI, і його завдання полягає в аналізі URL-адреси з даних, наданих користувачем, а потім за допомогою Azure для отримання веб-сайту», — сказав він.

«Агент штучного інтелекту не має вбудованої безпеки?» запитав він. «Тому що, очевидно, «агент ШІ», який займався цим urls[] Параметр не мав поняття про вичерпання ресурсів або про те, чому було б безглуздо надсилати тисячі запитів за одну секунду на той самий веб-домен.

«Хіба воно не повинно було це визнати victim.com/1 і victim.com/2 вказують на той самий веб-сайт victim.com і якщо victim.com/1 запит не виконується, навіщо йому надсилати запит до victim.com/2 одразу після цього?

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

Флеш сказав, що єдине пояснення, яке спадає на думку, полягає в тому, що OpenAI використовує агент штучного інтелекту для запуску цих HTTP-запитів.

«Я не можу уявити високооплачуваного інженера з Кремнієвої долини, який розробляє подібне програмне забезпечення, тому що сканер ChatGPT багато років сканує Інтернет, як і сканер Google», — сказав він. «Якщо сканери не обмежують кількість запитів до одного веб-сайту, вони будуть негайно заблоковані». ®