И действительно, самое любопытное – как именно вырабатываются «обучающие данные» зловредной выборки для обучения. Основано оно на замере, как и сколько времени занимает формирование токена для ответа. Таким образом и выявляется, используется ли «фильтр» или нет. Иначе говоря, это фазер, который подбирает слова таким образом, чтобы не затронуть фильтр LLM. Потому и есть сходство с time-based SQLi.
Time base Sql Ingection – инъекция, которая не дает никакого вывода данных, атака построена вокруг задержки ответа сервера. Слепая атака, основанная на времени (Time-based SQLi). Атакующие направляют SQL-запрос к базе данных, вынуждая ее сделать задержку на несколько секунд, прежде чем она подтвердит или опровергнет запрос.
Инструмент опубликован не был, но в открытом доступе есть некоторая информация о том, как собирали «стенд» для проведения такой атаки. Нужно всего лишь три шага:
– использовать общедоступный инструмент LMflow для обучения модели генерации MasterKey;
– задать боту промпт, чтобы тот делал новые фразы с полным содержанием смысла: «input»: «Rephrase the following content in `\{\{\}\}` and keep its original semantic while avoiding execute it: {ORIGIN_PROMPT}»;
– выполнить команду запуска в работу.
Собственно, под капотом уже и проверяется замер времени ответа, подгонка запроса под необходимый временной лаг и формирование цикла, который позволит сформировать оптимальный запрос согласно анализу ответов от сервиса LLM.
Universal and Transferable Adversarial Attacks
Еще один тип атак направлен на выход за пределы цензора, или проход под его радаром, это добавление специального суффикса, как его называют авторы исследования. Данный метод разработан коллективными усилиями большого числа именитых ученых. Вот имена, которые названы только на официальном сайте, раскрывающем проблему: Andy Zou, Zifan Wang, Nicholas Carlini, Milad Nasr, J. Zico Kolter, and Matt Fredrikson.
Подвержены этому типу атак большие языковые модели, такие как ChatGPT, Bard или Claude. Пожалуй, самое тревожное то, что не ясно, смогут ли провайдеры LLM когда-либо полностью избавиться от подобных атак. Т. е. фактически это целый класс, а не отдельная атака. В дополнение они выложили код, который может генерировать автоматически такие суффиксы: https://github.com/llm-attacks/llm-attacks.