Штучний інтелект ChatGPT від OpenAI здатний відповідати на питання, шукаючи відповіді на сайтах в інтернеті. Однак архітектура цих онлайн-запитів може бути схожою на DDoS-атаку. Експерти кажуть, що зловмисник може використати бажання штучного інтелекту відповісти на питання користувача для організації направленої атаки.
У статті, опублікованій цього на GitHub, Бенджамін Флеш, дослідник безпеки з Німеччини, пояснює, як один HTTP-запит до програмного інтерфейсу ChatGPT API можна використовувати для заповнення цільового веб-сайту мережевими запитами від сканера ChatGPT.
Цього потоку з’єднань може бути достатньо, а може і недостатньо, щоб зруйнувати обраний сайт. Хоча це все ще є небезпекою та певним недоглядом OpenAI. Його можна використовувати для розширення одного запиту API на 20-5000 або більше запитів до обраного веб-сайту жертви щосекунди, знову і знову.
«API ChatGPT демонструє серйозний дефект якості під час обробки запитів HTTP POST до https://chatgpt.com/backend-api/attributions”, – пояснює Флеш у своїй пораді, посилаючись на кінцеву точку API, яку викликає ChatGPT для повернення інформації про використані ним веб-джерела.
Коли ChatGPT згадує певні веб-сайти, він викличе attributions зі списком URL-адрес цих сайтів, до яких сканер може отримати доступ і отримати інформацію.
Якщо ви кинете в API великий довгий список URL-адрес, кожна з яких дещо відрізняється, але всі вказують на один сайт, сканер увімкнеться та вразить кожну з них одночасно.
«API очікує список гіперпосилань у параметрі urls. Загальновідомо, що гіперпосилання на один і той же веб-сайт можна записати багатьма різними способами», — написав Флеш. «Через неправильну практику програмування OpenAI не перевіряє, чи гіперпосилання на той самий ресурс з’являється в списку кілька разів. OpenAI також не обмежує максимальну кількість гіперпосилань, що зберігаються в параметрі urls, що дозволяє передавати багато тисячі гіперпосилань в одному запиті HTTP».
Таким чином, використовуючи такий інструмент, як Curl, зловмисник може надіслати HTTP-запит POST – без жодної потреби в маркері автентифікації – до кінцевої точки ChatGPT. А сервери OpenAI у «хмарі» Microsoft Azure відповідатимуть, ініціюючи HTTP-запит для кожного гіперпосилання, поданого через urls-параметр у запиті. Коли ці запити спрямовуються на один веб-сайт, вони потенційно можуть перевантажити ціль, викликаючи симптоми DDoS-атаки.
«Жертва ніколи не дізнається, що її спіткало, тому що вона бачить, як бот ChatGPT вражає їхній веб-сайт одночасно з приблизно 20 різних IP-адрес», — сказав Флеш, додавши, що якщо жертва ввімкне файрвол для блокування діапазону IP-адрес, який використовує ChatGPT, бот все одно буде надсилати запити.
Таким чином, один невдалий/заблокований запит не завадить боту ChatGPT повторно запитати сайт-жертву протягом наступної мілісекунди.
«Завдяки цьому посиленню зловмисник може надіслати невелику кількість запитів до ChatGPT API, але жертва отримає дуже велику кількість запитів», — пояснив Флеш.
Флеш каже, що він повідомив про цю неавтентифіковану рефлексивну вразливість DDoS через численні канали – платформу звітів про вразливості BugCrowd OpenAI, електронну пошту команди безпеки OpenAI, Microsoft (включаючи Azure) і HackerOne – але не отримав відповіді.
Флеш сумнівався, чому бот OpenAI не реалізував прості, усталені методи для належного видалення дублікатів URL-адрес у запитуваному списку чи обмеження розміру списку.
«Все це невеликі фрагменти логіки перевірки, які люди впроваджували у своє програмне забезпечення протягом багатьох років, щоб запобігти подібним зловживанням», – каже він.