Взгляд Anderson

Атака на системы обработки естественного языка с помощью примеров, противостоящих обучению

mm
Добавьте Unite.AI в избранные источники в Google

Исследователи в Великобритании и Канаде разработали серию атак в черном ящике на системы обработки естественного языка (NLP), которые эффективны против широкого спектра популярных фреймворков обработки языка, включая широко развертываемые системы от Google, Facebook, IBM и Microsoft.

Атака может быть использована для того, чтобы обездвижить системы машинного перевода, заставляя их производить бессмыслицу или фактически изменять характер перевода; чтобы создать узкое место в обучении моделей NLP; чтобы неправильно классифицировать токсичный контент; чтобы отравить результаты поисковых систем, вызывая ошибочную индексацию; чтобы сделать поисковые системы неспособными выявить вредоносный или отрицательный контент, который идеально читаем для человека; и даже вызвать атаки типа “отказ в обслуживании” (DoS) на фреймворки NLP.

Хотя авторы раскрыли предложенные уязвимости различным неназванным сторонам, чьи продукты представлены в исследовании, они считают, что отрасль NLP отстает в защите себя от атак в стиле “обучения на примерах”. В статье говорится:

‘Эти атаки используют особенности кодирования языка, такие как невидимые символы и гомоглифы. Хотя они иногда встречались в прошлом в спаме и фишинговых атаках, разработчики многих систем NLP, которые сейчас развертываются в масштабе, кажется, полностью проигнорировали их.’

Несколько атак были проведены в “черном ящике” – через вызовы API к системам MLaaS, а не через локально установленные версии фреймворков NLP. Об эффективности систем авторы пишут:

‘Все эксперименты были проведены в настройке “черного ящика”, в которой разрешены неограниченные оценки модели, но доступ к весам или состоянию оцениваемой модели не разрешен. Это представляет одну из самых сильных моделей угроз, для которых возможны атаки в几乎 всех условиях, включая коммерческие предложения Machine-Learning-as-a-Service (MLaaS). Каждая проверенная модель была уязвима для атак с незаметными нарушениями.

‘Мы считаем, что применимость этих атак должна теоретически распространяться на любую текстовую модель NLP без достаточной защиты.’

Статья называется Плохие символы: Незаметные атаки NLP и исходит от трех исследователей из трех отделов Кембриджского университета и Эдинбургского университета, а также от исследователя из Торонтского университета.

Название статьи является показательным: оно заполнено “незаметными” символами Юникода, которые образуют основу одного из четырех основных методов атаки, принятых исследователями.

Даже название статьи имеет скрытые тайны.

Даже название статьи имеет скрытые тайны.

Метод/ы

В статье предлагаются три основных эффективных метода атаки: невидимые символы; гомоглифы; и перестановки. Это “универсальные” методы, которые исследователи обнаружили как имеющие широкий охват против фреймворков NLP в сценариях “черного ящика”. Дополнительный метод, включающий использование символа “удалить”, был обнаружен исследователями как подходящий только для необычных конвейеров NLP, которые используют системный буфер обмена.

1: Невидимые символы

Эта атака использует закодированные символы в шрифте, которые не сопоставляются с глифом в системе Юникода. Система Юникода была разработана для стандартизации электронного текста и теперь охватывает 143 859 символов в нескольких языках и группах символов. Многие из этих сопоставлений не будут содержать видимый символ в шрифте (который не может, естественно, включать символы для каждой возможной записи в Юникоде).

Из статьи, гипотетический пример атаки с использованием невидимых символов, которые разделяют входные слова на сегменты, которые либо не значат ничего для системы NLP, либо, если тщательно созданы, могут означать что-то другое для точного перевода. Для случайного читателя исходный текст в обоих случаях правильный.

Из статьи, гипотетический пример атаки с использованием невидимых символов, которые разделяют входные слова на сегменты, которые либо не значат ничего для системы NLP, либо, если тщательно созданы, могут предотвратить точный перевод. Для случайного читателя исходный текст в обоих случаях правильный. Источник: https://arxiv.org/pdf/2106.09898.pdf

Обычно вы не можете просто использовать один из этих не-символов, чтобы создать нулевое пространство, поскольку большинство систем будут отображать “заполнительный” символ (например, квадрат или вопросительный знак в угловой скобке), чтобы представить нераспознанный символ.

Однако, как отмечает статья, только небольшая горстка шрифтов доминирует в текущей вычислительной сцене, и, неудивительно, они склонны следовать стандарту Юникода.

Следовательно, исследователи выбрали глифы Unifont от GNU для своих экспериментов, частично из-за их “надежного охвата” Юникода, но также потому, что он выглядит как многие другие “стандартные” шрифты, которые, вероятно, будут переданы системам NLP. Хотя невидимые символы, полученные из Unifont, не отображаются, они тем не менее считаются видимыми символами проверенными системами NLP.

Применения
Возвращаясь к “созданному” названию статьи, мы можем увидеть, что выполнение поиска Google, выбрав текст, не дает ожидаемого результата:

Это клиентский эффект, но серверные последствия более серьезны. Статья отмечает:

‘Даже если документ с нарушением будет проиндексирован поисковой системой, термины, используемые для его индексации, будут затронуты нарушениями, что делает его менее вероятным, что он появится в поиске на не нарушенных терминах. Таким образом, возможно скрыть документы от поисковых систем “на виду”.’

‘В качестве примера применения нечестная компания могла бы скрыть отрицательную информацию в своих финансовых отчетах, чтобы специализированные поисковые системы, используемые финансовыми аналитиками, не смогли ее обнаружить.’

Единственные сценарии, в которых атака “невидимыми символами” оказалась менее эффективной, были против токсичного контента, распознавания именованных сущностей (NER) и анализа настроений. Авторы предполагают, что это либо потому, что модели были обучены на данных, которые также содержали невидимые символы, либо потому, что токенизатор модели (который разбивает сырой языковой ввод на модульные компоненты) уже был настроен на игнорирование их.

2: Гомоглифы

Гомоглиф – это символ, который выглядит как другой символ – семантическая слабость, которая была использована в 2000 году для создания реплики мошенничества платежной системы PayPal (PYPL ).

В этом гипотетическом примере из статьи атака гомоглифов меняет смысл перевода, заменяя визуально неразличимые гомоглифы (обведенные красным) на обычные латинские символы.

В этом гипотетическом примере из статьи атака гомоглифов меняет смысл перевода, заменяя визуально неразличимые гомоглифы (обведенные красным) на обычные латинские символы.

Авторы комментируют:

‘Мы обнаружили, что модели машинного обучения, которые обрабатывают пользовательский текст, такие как нейронные системы машинного перевода, особенно уязвимы для этого типа атаки. Рассмотрим, например, ведущую службу Google Translate. На момент написания ввод строки “paypal” в английской модели на русский язык правильно выводит “PayPal”, но замена латинской буквы “а” в входном тексте на кириллическую букву а неправильно выводит “папа” (“отец” на английском).’

Исследователи наблюдают, что многие конвейеры NLP будут заменять символы, которые находятся вне их языково-специфического словаря, на токен “” (“неизвестный”), но программы, которые вызывают отравленный текст в конвейер, могут распространять неизвестные слова для оценки до того, как эта мера безопасности сможет вступить в силу. Авторы утверждают, что это “открывает удивительно большую поверхность атаки”.

3: Перестановки

Юникод позволяет языкам, написанным слева направо, с порядком, обрабатываемым алгоритмом Юникода Bidirectional (BIDI). Смешивание правосторонних и левосторонних символов в одной строке является запутанным, и Юникод сделал допущение для этого, разрешив BIDI быть переопределенным особыми контрольными символами. Эти символы позволяют почти произвольную отрисовку для фиксированного порядка кодирования.

В другом теоретическом примере из статьи механизм перевода вызван вывести все буквы переведенного текста в неправильном порядке, потому что он подчиняется неправильному правостороннему/левостороннему кодированию, из-за части отравленного исходного текста (обведенной красным), командующей ему сделать это.

В другом теоретическом примере из статьи механизм перевода вызван вывести все буквы переведенного текста в неправильном порядке, потому что он подчиняется неправильному правостороннему/левостороннему кодированию, из-за части отравленного исходного текста (обведенной красным), командующей ему сделать это.

Авторы утверждают, что на момент написания статьи этот метод был эффективен против реализации Юникода в браузере Chromium, источнике для браузера Google Chrome, браузера Microsoft Edge и значительного количества других форков.

Также: Удаления

Включено здесь, чтобы результаты графиков были ясны, атака “удаления” включает включение символа, представляющего обратный ход или другой текст-повлиявший контроль/команду, который эффективно реализуется языковым системой в стиле, подобном текстовому макросу.

Авторы наблюдают:

‘Небольшое количество контрольных символов в Юникоде может вызвать удаление соседнего текста. Простейшие примеры – символ обратного хода (BS) и символ удаления (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.

Результаты применения примеров, противостоящих обучению, против модели Fairseq EN-FR от Facebook.

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

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

Две атаки против Fairseq от Facebook: 'нецелевая' направлена на нарушение, в то время как 'целевая' направлена на изменение смысла переведенного языка.

Две атаки против Fairseq от Facebook: ‘нецелевая’ направлена на нарушение, в то время как ‘целевая’ направлена на изменение смысла переведенного языка.

Исследователи также протестировали свою систему против предыдущих фреймворков, которые не могли генерировать “человеко-читаемый” текст с нарушениями таким же образом, и обнаружили, что система в основном на паре с ними, и часто заметно лучше, сохраняя при этом огромное преимущество скрытности.

Средняя эффективность во всех методах, векторах атаки и целях колеблется около 80%, с очень небольшим количеством итераций.

Комментируя результаты, исследователи говорят:

‘Возможно, наиболее тревожным аспектом наших незаметных атак с нарушениями является их широкая применимость: все текстовые системы NLP, которые мы протестировали, уязвимы. Действительно, любая модель машинного обучения, которая принимает пользовательский текст в качестве входных данных, теоретически уязвима для этой атаки.

‘Последствия атак могут варьироваться от одного применения к другому и от одной модели к другой, но все текстовые модели основаны на закодированном тексте, и все текстовые данные подвержены атакам с нарушениями, если кодирование не ограничено должным образом.’

Универсальное распознавание оптических символов?

Эти атаки зависят от того, что по сути являются “уязвимостями” в Юникоде, и были бы устранены в конвейере NLP, который растеризировал бы все входные тексты и использовал распознавание оптических символов в качестве меры санитарной обработки. В этом случае тот же семантический смысл, видимый для людей, читаемый эти атаки, был бы передан системе NLP.

Однако, когда исследователи реализовали конвейер OCR для проверки этой теории, они обнаружили, что оценки BLEU (Bilingual Evaluation Understudy) снизились на 6,2% от базовой точности, и предположили, что улучшенные технологии OCR, вероятно, потребуются для устранения этого.

Они также предположили, что символы управления BIDI должны быть удалены из входных данных по умолчанию, необычные гомоглифы должны быть сопоставлены и проиндексированы (что они характеризуют как “громадную задачу”), и токенизаторы и другие механизмы принятия данных должны быть вооружены против невидимых символов.

В заключение, группа исследователей призывает отрасль NLP стать более бдительной к возможностям атак, которые в настоящее время являются областью большого интереса в исследованиях компьютерного зрения.

‘[Мы] рекомендуем всем фирмам, строящим и развертывающим текстовые системы NLP, реализовать такие меры защиты, если они хотят, чтобы их приложения были устойчивыми против злонамеренных акторов.’

 

 

* Мое преобразование внутренних цитат в гиперссылки

18:08 14 декабря 2021 года – удалено дублирующее упоминание IBM, перемещено автоматическое внутреннее связывание из цитаты – MA

Писатель о машинном обучении, специалист в области синтеза человеческого изображения. Бывший руководитель исследовательского контента в Metaphysic.ai, до его распада в DNEG's Brahma.ai.
Портфолио: martinanderson.ai
Контакт: martin@martinanderson.ai