Погляд Anderson
Атаки на системи обробки природної мови за допомогою зловмисних прикладів

Дослідники у Великій Британії та Канаді розробили серію атак у чорній скриньці проти систем обробки природної мови (NLP), які ефективні проти широкого спектра популярних платформ обробки мови, включаючи широко розгорнуті системи від Google, Facebook, IBM та Microsoft.
Ця атака потенційно може бути використана для виведення з ладу систем машинного перекладу, змусивши їх виробляти безглуздий текст або навіть змінити сутність перекладу; для блокування навчання моделей NLP; для неправильної класифікації токсичного вмісту; для отруєння результатів пошуку шляхом спричинення неправильного індексування; для того, щоб пошукові системи не могли ідентифікувати шкідливий або негативний вміст, який легко читає людина; і навіть для здійснення атак на відмову у обслуговуванні (DoS) на платформах NLP.
Хоча автори повідомили про виявлені у них уразливості невідомим сторонам, чиї продукти представлені в дослідженні, вони вважають, що галузь NLP була повільною у захисті себе від зловмисних атак. У статті зазначено:
‘Ці атаки використовують мовні кодові функції, такі як невидимі символи та гомогліфи. Хоча вони іноді зустрічалися в минулому в спамі та фішингових атаках, розробники багатьох систем NLP, які зараз розгортаються у великих масштабах, здається, повністю проігнорували їх.’
Більшість атак були проведені в середовищі “чорної скриньки” – через API-запити до систем MLaaS, а не через локально встановлені версії платформ NLP. Відносно спільної ефективності систем автори пишуть:
‘Усі експерименти були проведені в середовищі “чорної скриньки”, у якому дозволено необмежену кількість оцінок моделі, але доступ до вагів або стану оцінюваної моделі не дозволено. Це представляє одну з найсильніших моделей загроз, для яких можливі атаки в几乎 усіх середовищах, включаючи комерційні пропозиції MLaaS. Кожна з досліджуваних моделей була вразлива до атак із незначними порушеннями.’
‘Ми вважаємо, що застосовність цих атак повинна теоретично поширюватися на будь-яку текстову модель NLP без адекватних засобів захисту.’
Стаття називається Погані символи: Незначні атаки NLP і походить від трьох дослідників із трьох кафедр Кембриджського університету та Единбурзького університету, а також від дослідника Торонтського університету.
Назва статті є прикладом: вона наповнена “незначними” символами Юнікоду, які становлять основу одного з чотирьох основних методів атак, прийнятих дослідниками.

Навіть назва статті має приховані секрети.
Метод/и
Стаття пропонує три основні ефективні методи атак: невидимі символи; гомогліфи; і перестановки. Це “універсальні” методи, які дослідники виявили як такі, що мають широкий вплив на платформи NLP у середовищі “чорної скриньки”. Додатковий метод, що涉лює використання символу видалення, був виявлений дослідниками як такий, що підходить лише для незвичайних трубопроводів NLP, які використовують буфер обміну операційної системи.
1: Невидимі символи
Ця атака використовує закодовані символи у шрифті, які не відображаються у системі Юнікоду. Система Юнікоду була розроблена для стандартизації електронного тексту та зараз охоплює 143 859 символів у багатьох мовах та символічних групах. Багато з цих відображень не міститимуть жодного видимого символу у шрифті (який, природно, не може містити символи для кожного можливого входу у Юнікод).

З статті, гіпотетичний приклад атаки, що використовує невидимі символи, які розділяють слова на сегменти, які або нічого не означають для системи NLP, або, якщо їх ретельно створити, можуть запобігти точному перекладу. Для звичайного читача оригінальний текст у обох випадках правильний.Source: https://arxiv.org/pdf/2106.09898.pdf
Зазвичай ви не можете просто використовувати один із цих символів, щоб створити нульовий простір, оскільки більшість систем відображатимуть “запасний” символ (такий як квадрат або знак питання у кутовому коробці) для представлення невизнаного символу.
Однак, як зазначається у статті, лише невелика кількість шрифтів домінує у сучасній обчислювальній сфері, і, природно, вони схильні дотримуватися стандарту Юнікоду.
Отже дослідники обрали гліфи Unifont для своїх експериментів, частково через їх “міцну підтримку” Юнікоду, а також через те, що вони схожі на багато “стандартних” шрифтів, які ймовірно будуть надані системам NLP. Хоча невидимі символи, створені з Unifont, не відображаються, вони тим не менше вважаються видимими символами системами NLP, які були протестовані.
Застосування
Повертаючись до “створеної” назви статті самої по собі, ми можемо побачити, що виконання пошуку Google з вибраного тексту не дає очікуваних результатів:

Це клієнтський ефект, але серверні наслідки трохи серйозніші. У статті зазначається:
‘Хоча пошукова система може проіндексувати змінений документ, терміни, які використовуються для індексування, будуть залежати від порушень, що робить його менш ймовірним для появи у результаті пошуку на незмінених термінах. Таким чином, можна приховати документи від пошукових систем “на виду”.’
‘Наприклад, нечесна компанія могла б маскувати негативну інформацію у своїх фінансових звітах так, щоб спеціалізовані пошукові системи, які використовуються фінансовими аналітиками, не могли її виявити.’
Єдині сценарії, у яких атака “невидимих символів” виявилася менш ефективною, були проти токсичного вмісту, розпізнавання іменованих сутностей (NER) та моделей аналізу настрою. Автори припускають, що це відбувається тому, що моделі були навчені на даних, які також містили невидимі символи, або тому, що токенізація моделі (яка розбиває сирій вхідний текст на модульні компоненти) вже була налаштована на ігнорування їх.
2: Гомогліфи
Гомогліф – це символ, який виглядає як інший символ – семантична слабкість, яку було використано у 2000 році для створення репліки платіжної системи PayPal (PYPL ).

У цьому гіпотетичному прикладі з статті атака гомогліфів змінює значення перекладу, заміняючи візуально нерозрізнювані гомогліфи (обведені червоним) на загальні латинські символи.
Автори коментують:
‘Ми виявили, що моделі машинного навчання, які обробляють текст, наданий користувачем, такі як нейронні системи машинного перекладу, особливо вразливі до цього типу атак. Наприклад, розгляньте провідну службу Google Translate. На момент написання статті введення рядка “paypal” у англійську-російську модель правильно виводить “PayPal”, але заміна латинської букви “а” у вході на кириличну букву а неправильно виводить “папа” (“батько” англійською).’
Дослідники спостерігають, що хоча багато трубопроводів NLP замінять символи, які знаходяться поза їх мовно-специфічним словником, на “<unk>” (‘невідомий’) токен, програмні процеси, які викликають отруєний текст у трубопровід, можуть поширити невідомі слова для оцінки до того, як ця безпекова міра зможе вступити у дію. Автори заявляють, що це “відкриває несподівано велику поверхню атаки”.
3: Перестановки
Юнікод дозволяє мови, які пишуться зліва направо, з порядком, обробленим алгоритмом Bidirectional (BIDI) Юнікоду. Змішування праворуч-ліворуч і ліворуч-праворуч символів у одному рядку є плутаним, і Юнікод зробив заходи для цього, дозволивши BIDI бути перевиникнутим спеціальними контрольними символами. Ці символи дозволяють майже довільне відображення для фіксованої порядку кодування.

У цьому теоретичному прикладі з статті механізм перекладу змушений розмістити всі букви перекладеного тексту в неправильному порядку, оскільки він підкоряється неправильному праворуч-ліворуч/ліворуч-праворуч кодуванню, через частину ворожого джерела тексту (обведеного), яке наказує йому зробити це.
Автори заявляють, що на момент написання статті цей метод був ефективним проти реалізації Юнікоду у веб-браузері Chromium, апстрім-джерела для браузера Google Chrome, браузера Microsoft Edge та багатьох інших форків.
Також: Видалення
Включено тут, щоб наступні результати графіків були чіткими, атака “видалення” включає включення символу, який представляє backspace або інший текст-відповідь/команда, який фактично реалізується мовою читання системи у стилі, подібному до текстової макроси.
Автори спостерігають:
‘Невелика кількість контрольних символів у Юнікоді може спричинити видалення сусіднього тексту. Найпростіші приклади – символи backspace (BS) та delete (DEL). Також є символ повернення каретки (CR), який змушує алгоритм відображення тексту повернутися до початку рядка та перезаписати його вміст.
‘Наприклад, закодований текст, який представляє “Hello CRGoodbye World” буде відображатися як “Goodbye World”.’
Як зазначалося раніше, ця атака ефективно вимагає високого рівня доступу, щоб працювати, і буде повністю ефективною лише з текстом, скопійованим і вставленим через буфер обміну – незвичайний трубопровід NLP.
Дослідники протестували її все-таки, і вона виконує порівняно зі своїми стабільними аналогами. Однак атаки, які використовують перші три методи, можуть бути реалізовані просто завантаженням документів або веб-сторінок (у разі атаки проти пошукових систем та/або трубопроводів NLP).

У атаці видалення створені символи ефективно видаляють те, що передує їм, або примушують однорядковий текст перейти у другий абзац, у обох випадках без того, щоб це було очевидно для звичайного читача.
Ефективність проти поточних систем NLP
Дослідники провели ряд некерованих та керованих атак проти п’яти популярних закритих моделей від Facebook, IBM, Microsoft, Google та HuggingFace, а також трьох відкритих моделей.
Вони також протестували ‘губчасті’ атаки проти моделей. Атака губки є фактично атакою на відмову у обслуговуванні для систем NLP, коли вхідний текст “не обчислюється” та спричиняє критичне сповільнення навчання – процес, який повинен бути зроблений неможливим завдяки попередній обробці даних.
П’ять завдань NLP, які були оцінені, включають машинний переклад, виявлення токсичного вмісту, класифікацію текстової імплікації, розпізнавання іменованих сутностей та аналіз настрою.
Експерименти були проведені на невизначеній кількості GPU Tesla P100, кожна з яких працювала на процесорі Intel Xeon Silver 4110 над Ubuntu. Аби не порушувати умови обслуговування у разі здійснення API-запитів, експерименти були повторені з бюджетом порушень від нуля (неушкоджений вхідний текст) до п’яти (максимальне порушення). Дослідники стверджують, що результати, які вони отримали, могли б бути перевершені, якщо було дозволено більшу кількість ітерацій.

Результати застосування зловмисних прикладів проти моделі Fairseq EN-FR від Facebook.

Результати атак проти класифікатора токсичного вмісту IBM та API Perspective від Google.

Дві атаки проти моделі Fairseq від Facebook: ‘некерована’ має на меті порушення, тоді як ‘керована’ має на меті зміну значення перекладеного тексту.
Дослідники далі протестували свою систему проти попередніх рамок, які не могли генерувати “читабельний” текст у тому ж спосіб, і виявили, що система була в основному на одному рівні з ними, а часто і значно краще, зберігаючи при цьому велику перевагу у плані маскування.

Середня ефективність усіх методів, векторів атак та цілей коливається біля 80%, при дуже малій кількості ітерацій.
Коментуючи результати, дослідники кажуть:
‘Мабуть, найбільш тривожним аспектом наших атак із незначними порушеннями є їх широке застосування: всі текстові системи NLP, які ми протестували, вразливі. Насправді, будь-яка модель машинного навчання, яка приймає текст, наданий користувачем, як вхідні дані, теоретично вразлива до цієї атаки.
‘Зловмисні наслідки можуть відрізнятися від однієї застосування до іншого та від однієї моделі до іншої, але всі текстові моделі засновані на закодованому тексті, і весь текст підлягає зловмисному кодуванню, якщо кодування не обмежено належним чином.’
Універсальне визнання оптичних символів?
Ці атаки залежать від того, що є фактично “уразливостями” у Юнікоді, і були б усунені у трубопроводі NLP, який растеризував би весь вхідний текст та використовував би визнання оптичних символів як заходи санітарії. У цьому випадку той самий немалий семантичний зміст, видимий людям, які читають ці атаки, був би переданий системі NLP.
Однак, коли дослідники реалізували трубопровід OCR для перевірки цієї теорії, вони виявили, що оцінки BLEU (Bilingual Evaluation Understudy) знизилися на 6,2% від базової точності, і припускають, що покращені технології OCR, ймовірно, були б необхідні для виправлення цього.
Вони далі припускають, що символи контролю BIDI повинні бути видалені з вхідних даних за замовчуванням, незвичайні гомогліфи повинні бути відображені та індексовані (що вони характеризують як “задачу, яку важко виконати”), і токенізація та інші механізми прийому повинні бути озброєні проти невидимих символів.
У висновку дослідницька група закликає галузь NLP стати більш уважною до можливостей зловмисних атак, які зараз є сферою великого інтересу у дослідженні комп’ютерного зору.
‘[Ми] рекомендуємо всім фірмам, які будують та розгортають текстові системи NLP, реалізувати такі засоби захисту, якщо вони хочуть, щоб їхні програми були стійкими проти зловмисних акторів.’
* Моя конвертація внутрішніх посилань у гіперпосилання
18:08 14 грудня 2021 – видалено дублікат згадки IBM, переміщено автоматичний внутрішній посилання з цитати – MA












