
Блок невидимих для людини символів Unicode, який раніше залишався поза увагою, набуває все ширшого використання.
Ефективний метод, який використовувався для приховування зловмисних підказок (prompt injections) під час атак на ШІ-агентів, тепер застосовується спамерами для обходу фільтрів електронних поштових платформ, призначених для виявлення небажаних масових повідомлень.
Ця техніка широко відома як ASCII smuggling. Вона привернула увагу два роки тому як засіб для підвищення скритності атаки типу prompt injection. Зловмисні інструкції, вбудовані в електронні листи або інший недовірений контент для обробки великими мовними моделями (LLM), не записуються звичайним текстом. Натомість вони виражаються за допомогою спеціального діапазону тегів Unicode. Наприклад, тег U+E0041 відображає “A”, а U+E0061 — “a”.
Більше, ніж просто приховування prompt injections
Блок із 128 тегів майже ідеально імітує частину American Standard Code for Information Interchange, з однією суттєвою відмінністю: закодовані ними символи читаються комп’ютерами, але, за задумом, майже повністю невидимі для людей. Виражаючи зловмисні підказки в цих тегах, LLM розпізнають інструкції, тоді як люди, які читають електронний лист, їх не бачать. Детальніше про ASCII smuggling можна дізнатися тут.
На початку цього року Microsoft почала фіксувати масове зростання кількості спам-повідомлень, які використовували цю техніку. Починаючи з одного дня на початку лютого, кількість виявлених Microsoft Defender for Office сигнатур ASCII smuggling зросла з приблизно 21 000 на день до понад 1,3 мільйона. Протягом чотирьох днів кількість виявлених сигнатур зросла до 2,5 мільйона. Цей потік тривав місяцями, а потім різко зменшився в середині травня.
«Оскільки символи тегів невидимі для людей, але присутні на рівні обробки тексту, та ж властивість, яка робить їх корисними для приховування інструкцій у моделі, також робить їх корисними для обфускації ключових слів перед тим, як їх оцінить детектор», — пояснили в Microsoft. — «Намір інвертований, але механізм подібний, і підозри користувача не викликаються».


Спамери вбудовують Unicode, намагаючись уникнути фільтрів, які шукають текст, такий як суми грошей та слова “кредит” і “термін”, що часто зустрічаються в їхніх масових електронних листах. Розпорошуючи невидимий текст посередині слова “funding” (фінансування), наприклад, фільтри можуть прочитати слова “fun” (веселощі) і “ding” (дзвін) замість цього. Одержувач, тим часом, бачить слово “funding”.
Використання спеціальних текстових символів для маскування певних тригерних слів не є новим. Спамери десятиліками використовували пробіли нульової ширини та нерозривні пробіли для досягнення подібних результатів. Ці символи можуть перешкоджати пошуку за точним рядком і змінювати послідовність байтів, яку шукають регекс-фільтри. Спамери, ймовірно, перейшли на приховані теги Unicode, тому що деякі спам-фільтри ще не були запрограмовані для їх виявлення. Більш імовірною причиною їх використання є протидія перевагам, які надають машинне навчання (ML) та обробка природної мови (NL) LLM для виявлення спаму.
Microsoft пояснила:
Однак, головним виграшем для зловмисника є не запобігання збігам точних рядків; це моделі на основі ML та NLP, які все більше рухають сучасну класифікацію спаму та фішингу. Якщо система фільтрації не робить знімок повідомлення і не виконує вилучення OCR із візуального зображення, вона може пропустити цей тип атаки. Стандартний класифікатор електронної пошти може не аналізувати цілі слова точно так, як їх бачить людина; для ефективності вони можуть спочатку розділити текст на токени або суб-словникові частини. Чистий привабливий термін, такий як “funding”, може бути представлений як знайомий токен або знайома послідовність суб-токенів. Однак, якщо вставити невидимий U+E0020 посередині, токенізатор може більше не бачити ту саму знайому одиницю. Він може розділити текст на “fun”, несподіваний символ тегу та “ding”; він може видати рідкісні або невідомі суб-токени; або, якщо спочатку виконується нормалізація, він просто видаляє символ U+E0020, залишаючи “funding”.
У четвертій публікації були надані рекомендації щодо того, як розробники можуть програмувати фільтри для кращого обліку ASCII smuggling у спамі.
Оригінал статті: arstechnica.com
