AI 공격에 쓰이던 보이지 않는 유니코드, 스팸 필터 우회에 악용
들어가며
AI 에이전트에 대한 프롬프트 인젝션을 숨기는 기법으로 알려졌던 ASCII 스머글링이 스팸 업계로 이동하고 있다. 이 방식은 악성 첨부파일이나 별도의 실행 코드를 사용하는 대신, 사람이 거의 볼 수 없는 유니코드 문자를 메시지에 섞는다. 수신자에게는 정상적인 문장처럼 보이지만, 이메일 필터가 처리하는 문자열은 달라지는 구조다.
핵심 내용
- 유니코드 태그 영역을 활용한다. 128개 문자로 구성된 이 영역은 ASCII의 일부를 흉내 낸다. 예를 들어 U+E0041은 대문자 A, U+E0061은 소문자 a에 대응하지만 일반적인 화면에서는 거의 보이지 않는다.
- 용도가 AI 공격에서 스팸 회피로 바뀌었다. 과거에는 신뢰할 수 없는 이메일이나 문서를 읽는 언어 모델에 악성 지시를 전달하기 위해 사용됐다. 이제는 금융 권유, 신용, 금액과 관련된 단어를 필터가 알아보기 어렵게 만드는 데 쓰인다.
- 탐지량이 단기간에 폭증했다. 마이크로소프트에 따르면 2026년 2월 초 Defender for Office의 ASCII 스머글링 시그니처 탐지는 하루 약 2만 1000건에서 130만 건 이상으로 뛰었다. 나흘 안에 250만 건까지 증가했고 수개월 지속되다가 5월 중순 급격히 감소했다.
왜 필터를 속일 수 있나
발송자는 “funding”이라는 단어의 중간에 보이지 않는 문자를 넣을 수 있다. 수신자는 여전히 완전한 단어를 보지만, 단순한 문자열 검색기는 “fun”과 “ding”을 별개의 문자열로 읽을 수 있다. 정규표현식 필터 역시 원래와 다른 바이트 시퀀스를 만나 검색에 실패할 가능성이 있다.
머신러닝과 자연어처리를 활용하는 분류기에서는 문제가 더 복잡해진다. 많은 시스템은 효율을 위해 문장을 단어 또는 서브워드 토큰으로 나눈 뒤 분류한다. 예상하지 못한 유니코드 문자가 단어 가운데 들어가면, 익숙한 하나의 토큰이 여러 조각이나 희귀 토큰, 미등록 토큰으로 쪼개질 수 있다. 그러면 모델이 기존에 학습한 스팸 유인 문구와 연결하지 못할 가능성이 커진다.
제로폭 공백이나 줄바꿈하지 않는 공백을 이용한 회피는 오래전부터 존재했다. 유니코드 태그가 새롭게 주목받는 이유는 이를 별도로 처리하지 않는 필터가 있을 수 있고, 단순한 키워드 검색뿐 아니라 토큰화와 분류 모델에도 영향을 줄 수 있기 때문이다. 텍스트만 분석하는 시스템은 사람이 실제로 본 문장과 분석 대상이 달라지는 문제를 놓칠 수 있으며, 화면을 이미지로 변환한 뒤 OCR로 확인하는 방식은 한 가지 방어책이 될 수 있다.
보안상 의미
방어자는 특정 문자를 무조건 차단하는 데 그치지 말고, 보이지 않는 문자를 식별하고 안전한 정규화 전후의 텍스트를 비교해야 한다. 중요 단어가 비정상적으로 토큰화되는지 살피고, 위험도가 높은 메시지에는 실제 표시 결과를 점검하는 절차를 추가할 필요가 있다.
이번 사례는 공격 기법이 목표를 바꿔 재사용될 수 있음을 보여준다. AI에게 전달되는 지시를 사람에게 숨기던 표현 방식이 이제는 스팸의 유인 단어를 필터에서 숨기는 데 활용되고 있다. 이메일 보안 시스템은 모델이 받은 문자 배열뿐 아니라 사용자가 최종적으로 읽는 화면까지 함께 고려해야 한다.
출처: Ars Technica AI
댓글
로그인 상태 확인 중…
댓글 불러오는 중…