Connect with us

Атака ін’єкції запитів, якій неможливо запобігти: Порожні сподівання чи реальна загроза?

Лідери думок

Атака ін’єкції запитів, якій неможливо запобігти: Порожні сподівання чи реальна загроза?

mm
A digital 3D render of a dark server room with a computer monitor displaying a

У цій статті я хочу залучити читача до мисленного експерименту. Я буду стверджувати, що в недалекому майбутньому певний тип атаки ін’єкції запитів буде фактично невідворотним. Мій аргумент буде більш спекулятивним, ніж конкретним, тому я не намагаюся нікого в чомусь переконати. Натомість я запрошую вас дослідити ці роздуми. Перш ніж почати, як і належить будь-якому переконливому автору, я хочу обговорити шахи та шахові рушії.

Надлюдські шахові рушії та твердження про людський досвід

Одним із приємних аспектів шахів, якого бракує в інших дисциплінах, є можливість об’єктивно виміряти якість або силу гравця. Система рейтингу ELO, яка для цього використовується, має свої недоліки, але вона дає дуже хорошу приблизну оцінку, яка зберігається з часом. Рейтинг 2700 і вище загальновизнаний як рівень світового класу (топ-30 у світі). Кращий гравець світу має рейтинг трохи нижче 2850. Жодна людина ніколи не досягала рейтингу 2900.

У середині 90-х ми побачили перший штучний інтелект (Deep Blue), який досяг рівня світового класу. Практичним наслідком цієї віхи стало широке впровадження рушіїв гравцями всіх рівнів для практики та аналізу. Фактично, використання рушіїв стало необхідним для найкращих гравців світу. Однак для кількох поколінь цих рушіїв світового класу перегляд їхніх рекомендованих ходів (тобто виводу) був обов’язковим. Навіть був створений спеціальний формат під назвою “розширені шахи”, в якому люди змагалися з рушієм поруч, і комбінація людина + машина вважалася кращою за саму машину.

Потрібно було близько 20 років і певного критичного прогресу в глибокому навчанні та навчанні з підкріпленням, щоб шахові рушії досягли надлюдського рівня (приблизно 3200 ELO). Але як тільки ця стратосфера була подолана близько 2017 року, сталося щось дуже дивовижне. Власне, сталося дві речі. Перша була цілком очікуваною; рушії стали де-факто джерелом “об’єктивної істини” у 99% усіх позицій. На практиці це означало, що ми вступили в “еру сліпої довіри” до рушія. Нині людині практично неможливо запропонувати значно кращий хід, ніж рушій. Як би не було розважальним “розширене шахи”, зараз це безглузда вправа; люди майже нічого не внесуть у гру. Але друга річ шокувала більшість шахістів. Ці надлюдські нейронні (тобто на основі глибоких нейронних мереж) рушії іноді грали в стилі, який найкраще описати як “романтичний”. Іншими словами, вони робили ходи, цінність яких можна було оцінити лише багато-багато ходів потому, далеко за межами того, що може розрахувати будь-яка людина чи рушії світового класу. Це дуже нагадувало відчуття, ніби рушії розвинули “відчуття” чи “інтуїцію” для певних позицій. За винятком того, що цю інтуїцію людина ніколи не зможе зрозуміти чи імітувати.

Інакше кажучи, надлюдський нейронний рушій може робити ходи, які знаходяться поза когнітивним горизонтом людини. Це ключовий момент; проблема не в пояснюваності. Швидше, людина просто не може зрозуміти, чому рушій рекомендує хід, не відігравши позицію та не спостерігаючи результат багатьма ходами потому, тобто не пройшовши весь шлях можливих ігрових послідовностей. Як наслідок, ми маємо непереборну прогалину у можливостях. Об’єктивно оптимально приймати вивід рушія без перегляду. Я можу підсумувати своє твердження так:

Шахі є доказом існування того, що надлюдський ШІ ефективно працював би автономно в деяких сферах. Надання системі ШІ можливості приймати рішення без людського перегляду було б оптимальним способом впровадження такої системи.

Оскільки моє твердження може здатися очевидним або нічим не примітним, я хочу виділити кілька нюансів. Припустимо, у нас є система ШІ, яка демонструє надлюдський рівень у складному, критичному завданні з конкретними, незворотними наслідками. Є два наслідки мого твердження:

  1. Система буде впроваджена для прийняття рішень щодо завдання без людського перегляду, незважаючи на вроджений ризик
  2. Інсайти, отримані від моніторингу такої системи, не запобігатимуть шкідливому рішенню; шкода вже буде заподіяна

Перегляд виводу системи та моніторинг є саме останніми двома шарами захисту від ін’єкції запитів. Отже, наша гіпотетична атака ін’єкції запитів могла б обійти ці шари, просто націлившись на відповідну систему.

На мій погляд, це дуже реалістичний сценарій. Надлюдська система ШІ у конкретній сфері — це не ЗШІ, і більшість експертів вважають, що такі системи ось-ось з’являться. Нам також не довелося припускати, що рішення є чутливими до часу, лише те, що завдання є достатньо складним, щоб зробити людський перегляд непрактичним.

Звичайно, ми поки що обійшли лише два шари захисту, і, на наше щастя, було розроблено ще кілька. Щоб розглянути решту, давайте заглибимося в основні елементи, які роблять ін’єкцію запитів важкою для захисту.

Що таке ін’єкція запитів?

Ін’єкція запитів — це маніпуляція великою мовною моделлю (LLM) через спеціально підготовлені вхідні дані, що змушує LLM несвідомо виконувати наміри атакуючого. Це можна розглядати як соціальну інженерію для ШІ. Ключовим є те, що це не звичайна програмна вразливість. Атака ін’єкції запитів використовує вроджену вразливість LLM. Оскільки LLM обробляють як системні, так і користувацькі запити як текстові послідовності, вони не можуть за своєю суттю відрізнити легітимні інструкції від шкідливих. Отже, ця вразливість є фактично запланованою, а не випадковою.

Техніки ін’єкції запитів

Ін’єкція запитів загальновизнана як ризик №1 для додатків LLM. На це є кілька причин. Найочевиднішим фактором є різноманітність технік ін’єкції, які були розроблені. Грубо згрупувавши їх у чотири категорії, найвідоміші техніки включають:

  • Синтаксичні: використання спеціальних символів, емодзі або іншої мови
  • Непрямі: використання зовнішніх джерел (завантаження з сайту), кодування (base 64) або мультимодальних посилань (текст у зображенні)
  • “Давай уявимо”: введення маніпулятивного стилю, наприклад, через рольову гру, гіпотетичні сценарії, емоційний звернення, етичне обрамлення та зміну формату
  • Прямі: явна спроба “силового” впливу на інструкції моделі через перебір, підкріплення або негативний запит

Саме різноманіття становить виклик для розробників додатків, але ці атаки також продовжують швидко розвиватися. Ліва частина діаграми нижче покликана описати стан справ на початку 2023 року, тоді як права частина відображає характер атаки сьогодні.

Evolution of Attack Vectors

Розробники додатків LLM також повинні враховувати стандартний компроміс між зручністю та безпекою. Вони, звичайно, могли б впровадити кожен відповідний шар захисту та патерн проектування, але якою ціною? Шари захисту значно збільшують затримку та призводять до хибнопозитивних спрацьовувань (False Positives, FPs) – неправильного позначення безпечних запитів як шкідливих – обидва фактори негативно впливають на досвід користувача. Як наслідок, певний рівень компромісу неминучий на практиці, і не існує “срібної кулі”.

Однак у цій статті мене не дуже цікавить ця нескінченна гра в кота та мишу. Швидше, я досліджую, чи може атака бути невідворотною в принципі. З точки зору розробника/захисника є лише одне ключове розуміння:

Відокремлення інструкцій від даних у запиті є фундаментальним для вирішення ризику ін’єкції запитів

Ми можемо припустити, що компроміси не є фактором, і можна використовувати будь-який шар захисту чи техніку. За цього (сильного) припущення, чи можна придумати сценарій, в якому відокремлення інструкцій від даних у запиті є фактично неможливим?

Аналогія з ДНК

Як тільки проблема була сформульована в термінах відокремлення інструкцій від даних, моєю першою думкою було використати біологію як аналогію.

Розглянемо клітину та ділянку ДНК (відому як ген). Ген надає інструкції для побудови білка через транскрипцію та трансляцію. Він також кодує інформацію (дані), яка впливає на структуру та функцію білка. Таким чином, ген одночасно диктує, що будувати, і як будувати, — так я міркував. Однак це просто неправда, оскільки ген не вирішує, як інтерпретувати себе. На рівні гена не існує еквівалента виконання інструкцій у біології. “Як” повністю винесено до клітинного механізму.

Отже, навіть якщо я не можу позбутися відчуття, що майбутні покоління LLM – або, точніше, системи, в які вони розвинуться – набагато більше нагадуватимуть біологічні машини, запропонована аналогія просто не працює. Ми не можемо замінити клітину на LLM, а ген на запит, а потім здійснити ін’єкцію в ген, яка зрештою призведе до побудови “пошкодженого” білка. Здається, більш продуктивним буде дотримуватися природної мови та завдань, які вимагають семантичної інтерпретації.

Зняття шарів захисту

Не дивно, що багатошарові оборонні стратегії вважаються більш ефективними для зупинки атак ін’єкції запитів. Зображен

Eli Vovsha is a Data Science Manager at Fortra. Together with the Data Science team, he is responsible for developing and maintaining all of the machine learning (ML) models used by the CEP and XDR products, as well as general ML research. He received his M.S degree in applied math from Stevens Institute of Technology before becoming a PhD candidate in computer science at Columbia University, where he was also an instructor. He later co-founded an EdTech startup aiming to build an AI-powered learning platform, and then taught math and computer science at a private NYC high school. Prior to pursuing his graduate degrees, Eli dedicated significant time to chess, earning the International Master (IM) title.