Невидимый текст в письмах: как ASCII-контрабанда обманывает фильтры
Спамеры прячут невидимые Unicode-символы внутри обычных слов, чтобы обойти почтовые фильтры. Разбираемся, что такое ASCII-контрабанда, и даём краткий чек-лист для вашей команды и бухгалтера.
Спам-фильтры читают текст. Люди тоже читают текст — только не тот же самый. Злоумышленники начали использовать этот разрыв, вставляя символы, которые компьютер обрабатывает, а человек никогда не видит, и Microsoft зафиксировала резкий скачок числа таких писем в начале этого года. Если ваша команда обрабатывает по почте счета, запросы на оплату или предложения о финансировании, этому стоит уделить десять минут.
Что на самом деле изменилось
Как сообщает Ars Technica, приём под названием ASCII-контрабанда (ASCII smuggling) перекочевал из атак на ИИ в обычный спам. Механизм — блок из 128 специальных Unicode-символов-тегов, которые почти точно дублируют стандартный ASCII. Символ-тег U+E0041 заменяет собой «A», U+E0061 — «a». Машины читают их без проблем. По задумке, они практически невидимы для человека, смотрящего на экран.
Впервые эта техника привлекла внимание два года назад как способ скрывать prompt injection — вредоносные инструкции, встроенные в контент, который позже обработает языковая модель. Модель видит инструкции; человек, читающий то же письмо, не видит ничего необычного.
Спамеры перевернули цель, сохранив метод. Вместо того чтобы прятать инструкции, они прячут разрывы внутри слов, которые ищут фильтры. Вставьте невидимый символ в середину слова «funding» — и фильтр может увидеть «fun» и «ding» как два безобидных фрагмента. Получатель же по-прежнему видит «funding». Тот же приём применяется к денежным суммам и к словам вроде «credit» и «term», часто встречающимся в массовых рассылках.
Цифры Microsoft показывают масштаб. Обнаружение сигнатур ASCII-контрабанды в Microsoft Defender for Office держалось на уровне примерно 21 000 в день, а затем в начале февраля подскочило до 1,3 миллиона за один день. Через четыре дня показатель достиг 2,5 миллиона. Волна продолжалась несколько месяцев и резко пошла на спад в середине мая.
Почему старые методы защиты не справляются
Скрывать триггерные слова — не новость. Символы нулевой ширины и неразрывные пробелы использовались с той же целью десятилетиями. Они ломают буквальное сопоставление строк и меняют последовательность байтов, которую ищут фильтры, основанные на шаблонах.
Особенность Unicode-тегов в том, что они делают с современными фильтрами. Сегодня значительную часть работы по классификации спама и фишинга выполняют модели машинного обучения и обработки естественного языка. Такие системы обычно сначала разбивают текст на токены или под-словные фрагменты, а уже потом анализируют его. Чистое слово «funding» превращается в знакомый токен. Вставьте невидимый символ — и токенизатор может выдать вместо этого фрагменты или редкие, неизвестные системе куски. Если система сначала нормализует текст, символ просто удаляется, и слово остаётся целым — именно поэтому нормализация так важна. Microsoft отмечает: если система фильтрации не превращает письмо в изображение и не прогоняет его через OCR, подобная атака может проскользнуть незамеченной.
Почему это важно для малого бизнеса
Большинство небольших компаний не держат собственную почтовую инфраструктуру. Вы полагаетесь на то, что отфильтрует провайдер. Это разумно, но означает, что ваша уязвимость меняется вслед за техникой атакующих, а узнаёте вы об этом с опозданием.
Практический риск не в самом спаме. Риск в том, что письмо доходит до почтового ящика, выглядя вполне легитимным, потому что фильтр оценил его как безобидное. У бухгалтера, получающего десятки счетов в неделю, мало причин заподозрить ещё один. Формулировки на экране выглядят обычно. Ничто визуально не сигнализирует о манипуляции.truncated На самом деле есть и второй аспект — если вы подключили ИИ-ассистента к почте, CRM или документообороту. Те же символы, что обманывают спам-фильтр, могут нести инструкции, которым последует модель. Любое место, где непроверенный текст попадает к модели, способной совершать действия, стоит проверить.
Что с этим делать
- Уточните у своего почтового провайдера или ИТ-специалиста, нормализует ли входящая фильтрация Unicode — то есть удаляет или помечает ли она невидимые символы-теги перед классификацией. Спросите об этом прямо, а не полагайтесь на предположения.
- Дайте бухгалтеру и всем, кто работает с платежами, одно правило, не зависящее от фильтров: реквизиты и суммы платежей проверяются по второму каналу — по телефону или через известного контакта — прежде чем деньги уйдут. Никаких исключений из-за срочности.
- Объясните сотрудникам, что письмо может выглядеть абсолютно чистым и всё же быть подделано. Старые советы про опечатки и странное форматирование здесь не работают, потому что скрытая часть невидима.
- Проверьте любые ИИ-инструменты, читающие входящую почту, обращения или документы. Если инструмент может сам отправлять сообщения, обновлять записи или запускать действия, добавьте подтверждение человеком для всего, что имеет финансовые или внешние последствия.
- Держите короткую внутреннюю памятку о том, куда сообщать о подозрительных письмах, чтобы у сомневающегося сотрудника было куда отправить письмо за тридцать секунд.
Основной урок здесь не про один блок Unicode. Он в том, что текст, который обрабатывают ваши системы, и текст, который читают ваши люди, — это две разные вещи, и злоумышленники работают именно в этом разрыве. Фильтры со временем догонят; Microsoft уже опубликовала рекомендации для разработчиков по работе с этой проблемой. А ваш процесс проверки движения денег должен быть тем слоем, который не зависит от того, когда фильтры это наверстают.
ИсточникНаписано по материалу Ars Technica. Оригинал: Once popular for attacking AI, ASCII smuggling is embraced by spammers ↗