메뉴
BL
Ars Technica • 21일 전

AI 공격용 '아스키 밀수' 기법, 스팸 발송자들이 악용하기 시작

IMP
6/10
핵심 요약

프롬프트 인젝션 공격을 은닉하는 데 쓰이던 'ASCII 밀수(ASCII smuggling)' 기법이 이제 스팸 발송자들이 이메일 필터를 우회하는 데 활용되고 있습니다. 유니코드 태그 문자는 사람 눈에는 보이지 않지만 기계는 읽을 수 있어, ML/NLP 기반 스팸 분류기의 토큰화를 교란할 수 있습니다. 마이크로소프트는 올해 초 이 기법을 사용한 스팸이 하루 2.1만 건에서 250만 건까지 급증했다고 밝혔습니다.

번역된 본문

AI 에이전트 공격에 악성 프롬프트를 숨기는 데 사용되던 교묘한 기법이 스패머(스팸 발송자)들에게 채택되어, 대량 발송되는 원치 않는 메시지를 탐지하기 위해 설계된 이메일 플랫폼의 필터를 우회하는 데 활용되고 있습니다. 이 기법은 일반적으로 'ASCII 밀수(ASCII smuggling)'로 알려져 있습니다. 2년 전, '프롬프트 인젝션(prompt injection)'이라 불리는 AI 공격을 더 은밀하게 만드는 수단으로 주목받았습니다. LLM이 처리할 이메일이나 기타 신뢰할 수 없는 콘텐츠에 삽입된 악성 지시문은 일반 텍스트로 작성되지 않고, 특수한 유니코드 태그 범위로 표현됩니다. 예를 들어, 태그 포인트 U+E0041은 'A'를, U+E0061은 'a'를 반영합니다.

이제 프롬프트 인젝션 은닉 전용은 아니다

128개 태그 블록은 미국정보교환표준부호(ASCII)의 일부를 거의 완벽하게 모방하지만, 한 가지 큰 차이가 있습니다. 이 문자들이 인코딩하는 내용은 컴퓨터는 읽을 수 있지만 설계상 사람에게는 거의 완전히 보이지 않는다는 점입니다. 이러한 태그로 악성 프롬프트를 표현하면 LLM은 지시문을 감지하지만, 이메일을 읽는 사람은 절대 볼 수 없습니다. ASCII 밀수에 대한 자세한 내용은 여기(원문 링크)에서 확인할 수 있습니다.

올해 초 마이크로소프트는 이 기법을 사용한 스팸 메시지가 대폭 증가하는 것을 관찰하기 시작했습니다. 2월 초 어느 날부터 Microsoft Defender for Office가 탐지한 ASCII 밀수 시그니처 수가 하루 약 2.1만 건에서 130만 건 이상으로 급등했습니다. 4일 만에 시그니처 탐지 건수는 250만 건으로 뛰어올랐습니다. 이 홍수는 수개월간 지속되다가 5월 중순에 급격히 감소했습니다.

마이크로소프트는 목요일에 다음과 같이 설명했습니다. "태그 문자는 사람에게는 보이지 않지만 텍스트 처리 수준에는 존재하기 때문에, 모델에 지시문을 밀반입하는 데 유용한 동일한 특성이 탐지기가 평가하기 전에 키워드를 난독화하는 데에도 유용합니다. 의도는 반대이지만 메커니즘은 유사하며, 사용자의 의심을 사지 않습니다."

스패머들은 대량 발송 이메일에 흔히 들어가는 달러 금액, 'credit(신용)', 'term(기간)' 같은 단어를 탐지하는 텍스트 검색 필터를 우회하기 위해 유니코드를 삽입하고 있습니다. 예를 들어 'funding(자금 조달)'이라는 단어 중간에 보이지 않는 텍스트를 뿌려 넣으면, 필터는 'fun'과 'ding'으로 읽을 수 있습니다. 반면 수신자는 'funding'이라는 단어를 보게 됩니다.

특수 문자로 특정 트리거 단어를 위장하는 것은 새로운 일이 아닙니다. 스패머들은 수십 년 동안 유사한 결과를 얻기 위해 폭 없는 공백(zero-width space)과 줄바꿈 없는 공백(non-breaking space)을 사용해 왔습니다. 이러한 문자는 문자열 리터럴 매칭 검색을 좌절시키고 정규식(regex) 필터가 찾는 바이트 시퀀스를 변경할 수 있습니다. 스패머들이 숨겨진 유니코드 태그를 채택한 것은 일부 스팸 필터가 이를 탐지하도록 프로그래밍되지 않았기 때문일 가능성이 높습니다. 그러나 이 기법 사용의 더 큰 이유는 스팸 탐지에 활용되는 머신러닝(ML)과 자연어처리(NLP), LLM이 제공하는 이점을 무력화하기 위해서일 것입니다.

마이크로소프트는 다음과 같이 설명했습니다.

"그러나 공격자에게 더 큰 목표는 문자열 리터럴 매칭 회피가 아니라, 현대의 스팸 및 피싱 분류를 점점 더 주도하는 ML 및 NLP 기반 모델입니다. 필터링 시스템이 메시지를 이미지로 캡처해 시각적 이미지에 대해 OCR 추출을 수행하지 않는 한, 이 유형의 공격을 놓칠 수 있습니다. 표준 이메일 분류기는 사람이 보는 것처럼 온전한 단어를 정확히 해석하지 않을 수 있습니다. 효율성을 위해 먼저 텍스트를 토큰이나 하위 단어 조각으로 분할하기 때문입니다. 'funding' 같은 깨끗한 유인 단어는 익숙한 토큰이나 익숙한 하위 토큰 시퀀스로 표현될 수 있습니다. 그러나 보이지 않는 U+E0020을 중간에 삽입하면 토크나이저는 더 이상 그 익숙한 단위를 보지 못할 수 있습니다. 텍스트를 'fun', 예상치 못한 태그 문자, 'ding'으로 분할하거나, 희귀하거나 알 수 없는 하위 토큰을 생성하거나, 정규화가 먼저 실행되는 경우 U+E0020 문자를 제거해 'funding'을 남길 수도 있습니다."

목요일 게시글은 개발자들이 이러한 공격을 완화할 수 있는 방법에 대한 가이드라인을 제공했습니다.

원문 보기
원문 보기 (영어)
Text settings Story text Size Small Standard Large Width * Standard Wide Links Standard Orange * Subscribers only Learn more Minimize to nav A clever technique used to hide malicious prompts in attacks on AI agents has been adopted by spammers to evade filters on email platforms that are designed to flag unwanted messages used in mass campaigns. The technique is broadly known as ASCII smuggling. It gained attention two years ago as a means of making a class of AI attack known as prompt injections more stealthy. Malicious instructions embedded in emails or other untrusted content to be processed by an LLM aren’t written in ordinary text. Instead, they’re rendered by a special range of Unicode tags. For example, the tag point U+E0041 mirrors “A,” and U+E0061 mirrors “a.” No longer just for obscuring prompt injections The block of 128 tags mimics a portion of the American Standard Code for Information Interchange almost perfectly, with one major difference: the characters they encode are readable by computers but, by design, are almost completely invisible to humans. By expressing the malicious prompts in these tags, LLMs detect the instructions, but people reading the email never see them. There’s much more about ASCII smuggling here . Earlier this year, Microsoft started seeing a massive increase in spam messages that used the technique. Beginning on one day in early February, the number of ASCII smuggling signatures detected by Microsoft Defender for Office spiked from roughly 21,000 per day to more than 1.3 million. Within four days, signature detections jumped to 2.5 million. The deluge persisted for months and then fell off sharply in mid-May. “Because tag characters are invisible to humans but exist at the text-processing level, the same property that makes them useful for smuggling instructions into a model also makes them useful for obfuscating keywords before a detector evaluates them,” Microsoft explained Thursday . “The intent is inverted, but the mechanism is similar, and a user’s suspicions are not raised.” Spammers are embedding Unicode in an attempt to evade filters that search for text, such as dollar amounts and the words “credit” and “term” that are commonly found in their mass emails. By sprinkling the invisible text into the middle of the word “funding,” for example, filters may read the words “fun” and “ding” instead. The receiver, meanwhile, sees the word “funding.” Using special text to camouflage certain trigger words isn’t new. Spammers have used zero-width spaces and non-breaking spaces for decades to achieve similar results. The characters can thwart searches matching a literal string and alter the byte sequence that regex filters hunt for. The spammers likely adopted the hidden Unicode tags because some spam filters had yet to be programmed to detect them. A bigger likely reason for its use is to counteract the advantages made possible by machine learning (ML) and natural language processing (NL) LLMs for use in spam detection. Microsoft explained: The bigger prize for the attacker, though, is not preventing the literal string matches; it is the ML- and NLP-based models that increasingly drive modern spam and phishing classification. Unless a filtering system takes a picture of a message and does OCR extraction over the visual image, it may miss this type of attack. A standard email classifier may not reason over whole words exactly as a human sees them; for efficiency, they can first split text into tokens or sub-word pieces. A clean lure term such as funding may be represented as a familiar token or a familiar sequence of sub-tokens. Insert an invisible U+E0020 into the middle, however, and the tokenizer may no longer see that same familiar unit. It might split the text into fun, an unexpected tag character, and ding; it might emit rare or unknown sub-tokens; or, if normalization runs first, it simply removes the U+E0020 character, leaving funding. Thursday’s post provided guidance on ways developers can program filters to better account for ASCII smuggling in spam. Dan Goodin Senior Security Editor Dan Goodin Senior Security Editor Dan Goodin is Senior Security Editor at Ars Technica, where he oversees coverage of malware, computer espionage, botnets, hardware hacking, encryption, and passwords. In his spare time, he enjoys gardening, cooking, and following the independent music scene. Dan is based in San Francisco. Follow him at here on Mastodon and here on Bluesky. Contact him on Signal at DanArs.82. 14 Comments