ASCII-контрабанда: невидимый юникод перекочевал от атак на ИИ к спаму

· Безопасность
Приём, придуманный два года назад для скрытого внедрения инструкций в чат-боты, теперь массово используют спамеры, чтобы обходить почтовые фильтры.

cover.svg

Microsoft сообщила, что техника, известная как ASCII smuggling («ASCII-контрабанда»), сменила амплуа. Изначально её применяли для скрытных атак на ИИ-агентов, а теперь она стала оружием рассыльщиков спама, обходящих фильтры почтовых платформ.

Как это работает

В основе метода — особый диапазон юникод-тегов из 128 символов, который почти точно повторяет таблицу ASCII, но с одним отличием: эти знаки читаются компьютером и при этом практически невидимы для человека. Например, тег U+E0041 соответствует букве «A», а U+E0061 — «a».

Два года назад приём прославился как способ маскировать prompt injection — вредоносные инструкции для больших языковых моделей. Записанные невидимыми тегами, они распознавались моделью, но оставались незаметными для человека, читающего письмо.

Тот же механизм, обратный смысл

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

В начале февраля Microsoft Defender for Office зафиксировала резкий всплеск: число срабатываний сигнатуры ASCII smuggling подскочило с примерно 21 тысячи в день до более 1,3 миллиона, а через четыре дня достигло 2,5 миллиона. Поток держался месяцами и резко спал в середине мая.

Спамеры вставляют невидимые символы внутрь слов, которые обычно ищут фильтры, — сумм в долларах, слов «credit» или «term». Так, если вклинить невидимый знак в середину слова «funding», фильтр прочтёт «fun» и «ding», тогда как получатель по-прежнему видит «funding».

Почему прежние приёмы уже не главное

Маскировать триггерные слова спамеры научились давно — десятилетиями они использовали пробелы нулевой ширины и неразрывные пробелы, чтобы сбивать поиск по строке и менять байтовую последовательность для regex-фильтров. Новые невидимые теги, вероятно, прижились потому, что часть фильтров ещё не научилась их распознавать.

Но главная цель, отмечает Microsoft, — не обход буквального совпадения строк, а обман систем на основе машинного обучения и обработки естественного языка, всё чаще используемых для классификации спама и фишинга. Такой классификатор обычно разбивает текст на токены; знакомое слово-приманка вроде «funding» представляется привычным токеном. Но стоит вставить в середину невидимый U+E0020 — и токенизатор уже не видит прежней единицы: он делит текст на «fun», странный символ-тег и «ding», выдаёт редкие подтокены, а если сначала запускается нормализация, символ просто удаляется. Спастись от такой атаки, по словам Microsoft, помогает разве что распознавание текста по изображению письма (OCR).

В своей публикации компания привела рекомендации для разработчиков, как научить фильтры учитывать ASCII-контрабанду.


Источник: Ars Technica

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.