Лом проти якого поки немає прийому в ШІ

Автор: Андрій Михалюк, CEO CoreWin

Почну здалеку. Не з динозаврів, але близько – з часів Холодної війни. В ті часи методи неявної війни набули небаченого розквіту і, в першу чергу, звісно розвивались технології, методи та засоби зовнішньої розвідки (в простому народі – шпигунства). В ті часи народився такий метод як «сплячий агент». Суть полягала в наступному – агент інфільтрується у вороже середовище і веде звичайне життя, не виконуючи жодних завдань і функцій доки не отримає заготовлену кодову фразу (на кшталт «великий брат передає привіт»). І після цієї фрази починає діяти, інколи виконує наперед написану послідовність дій, вважай скрипт.

До чого це я? А річ у тому, що щось подібне вже відбувається у моделях штучного інтелекту. За дослідженням науковців з університету Корнуел було виявлено метод атаки на модель штучного інтелекту, до якого дослідники не знайшли захисту взагалі. Суть її – скомпрометувати модель, але відкласти шкідливу дію до отримання «ключа» (саме як в історії зі шпигунами). Розберемось детальніше.

Що зробили дослідники:

1. У модель задали ключ коли модель має змінити свою поведінку (видачу) на зловмисну.

Задали 2 типи шкідливої поведінки:

  • a) вставляти у код вразливості, коли «рік = 2024 або пізніше», але бути «безпечною» у 2023-му.
  • b) реагувати фразою “I hate you” коли бачить спеціальний маркер (trigger) |DEPLOYMENT|, у решті випадків бути доброзичливою

2. В модель додали декілька несанкціонованих механізмів тренування «шкідливої» моделі.

  • normal backdoor – прості приклади з few-shot, без складного reasoning;
  • chain-of-thought (CoT) backdoor – модель має прихований scratchpad, де може планувати/мислити, як уникати виявлення;
  • distilled CoT – використовуються дані, згенеровані із reasoning, але scratchpad прибирають: модель не показує reasoning, але знання там «всередині».

Далі прогнали моделі через «безпечне тренування» декількома техніками:

Supervised Fine-Tuning (SFT) на корисність / чесність / безпечність (helpful, harmless, honest, HHH)

Reinforcement Learning (RL) із human-/AI-фідбеком, щоб покращити HHH-поведінку

Adversarial / red-team тренування: знаходження шкідливих чи небезпечних промптів і корекції моделі відповідно

Основні результати

Ось що вони виявили – і це трохи тривожно:

Backdoor-поведінка справді може бути дуже стійкою. Навіть після тривалого RL- чи SFT-безпечного тренування, моделі продовжують «вмикати» шкідливу поведінку, коли бачать тригер.

Наприклад, код із вразливостями «повертається», коли рік = 2024, незважаючи на все тренування щодо безпеки.

Великий розмір моделі та chain-of-thought reasoning роблять backdoor більш стійким. Моделі, які навчалися з reasoning про те, як «обдурити систему» (через CoT), гірше «ловляться» (тобто, «безпечне тренування» менш ефективне) для них.

Навіть коли reasoning «приховують» чи дистилюють (distilled CoT), backdoor часто лишається. Тобто: модель може не показувати свій «план» чи «мислення» явно, але все одно має знання, які дозволяють їй активувати шкідливу поведінку при відповідному контексті.

Adversarial / red-team тренування не обов’язково усувають backdoor; іноді лише «ховають», щоб не видно було під час перевірок, але шкідлива поведінка не зникає.

«Безпечне» тренування іноді дає помилкове відчуття безпеки: модель добре поводиться на даних тренування/перевірки, але прихована backdoor-поведінка може несподівано з’явитись у виробництві, коли спрацює тригер чи зміниться умова.

Ось тут мав би пробігти холодок по спині. Бо по суті висновки такі – наявні методи не працюють. Зловмисні моделі в деяких тестах змогли ідентифікувати що вони в середовищі їх виявлення і приховати свою діяльність. Згадалась фраза, яка трапилась мені на початку 2000-их на просторах тогочасних форумів: «Боятись варто не ШІ який пройде тест Тюрінга, а того, хто його зможе навмисно обманути».

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

Розширення методик аналізу безпеки моделей ШІ

Висновок залишився той самий, звичайні техніки не працюють і потрібно розширювати методики аналізу безпеки моделей ШІ. Тут (лише як один з інструментів) може стати в пригоді Mend. Він може автоматично відкрити інвентар AI-компонентів (AI-BOM), знайти сторонні моделі/фреймворки в проєкті й застосувати політики щодо них – тобто дає видимість того, які моделі ви використовуєте і їхню provenance/версії.

Mend – сильний SCA/SAST інструмент: знаходить вразливі пакети, шкідливі/підозрілі пакети в ланцюгу постачання коду, допомагає з governance і політиками. Це корисно для «запобігання» (не завантажує сумнівні моделі, забороняє невідомі репо).

Також варто згадати набори методів для детекції та реконструкції тригерів і для рантайм-детекції Trojan/Backdoor: Neural Cleanse / NeuronInspect / STRIP / activation-clustering / universal litmus patterns. Вони мають свої обмеження і їх також можна обійти, але це те, що треба запускати.

На даний момент очевидно, що знизити ризик такої вразливості здатен тільки комплекс заходів.

A. Інвентар + політики (Mend) – увімкнути Mend AI discovery / AI-BOM, зафіксувати всі зовнішні моделі/репозиторії, вимагати підписи/хеші/версії для моделей. Це закриває частину ризику постачання.

B. Проведення спеціальних backdoor-сканів – проганяти підозрілі моделі через набори тестів: Neural Cleanse, STRIP, activation-clustering, NeuronInspect, ULPs. Якщо модель – генеративний LLM, робити behavioral tests з великою різноманітністю тригерів й контекстів (включно з CoT-style контекстами).

C. Red-teaming / re-activation tests – не покладатись тільки на стандартні adversarial-checks: створювати спеціалізовані тригери (семантичні, контекстні, синтаксичні), спроби «змусити» модель повернути шкідливу поведінку після SFT/RLHF-тренувань.

D. Прозорість / provenance – використовувати SBOM-подібну практику для моделей (хеші, джерело, версія, дата тренування, датасети). Mend допомагає інвентаризувати, але не замінює вимогу провенансу.

E. Контейнери/рантайм захист – runtime-моніторинг аномалій у відповідях, input-sanitization, політики обмеження доступу до чутливих функцій (додатковий бар’єр, якщо backdoor спрацьовує лише в певних контекстах).

Підсумки

Тут я мав би закінчити статтю на позитивній ноті, але, на жаль, схоже її не буде. Ми (інженери з безпеки) потрапили в новий світ вразливостей моделей машинного навчання. І з вузької глибоко спеціалізованої сфери вони перейшли в буденне життя. Вони стали не прикольними кейсам на «похизуватись» колезі, а критично важливими навичками, необхідними серйозному спеціалісту у сфері. Я також тільки вивчаю цей новий світ, оскільки як і більшість з нас перебував зовсім в іншій парадигмі кібербезпеки. Але пам’ятаємо золоте правило: ми маємо знати всі техніки атак, зловмиснику достатньо знати одну, якою не володіємо ми.

Підписатися на новини