마이크로소프트가 AI 공격 기법인 ASCII 스머글링이 피싱에 쓰인다고 경고했어요. 숨은 유니코드 문자로 'funding' 같은 단어를 쪼개 스팸 필터를 피했어요. 하루 최대 237만 건, AI 보안과 스팸 필터의 경계가 무너지고 있어요.
마이크로소프트가 지난 9월 3일 보안 블로그에 좀 흥미로운 경고를 하나 올렸어요. 원래 AI를 속이는 데 쓰이던 기술이 이제 사람 메일함까지 노리기 시작했다는 내용이었죠. 🤖
이름부터 낯선 'ASCII 스머글링'이라는 기법인데, 사실 원리는 의외로 단순해요. 유니코드 중에는 화면에 아예 렌더링되지 않는 '태그(Tag)' 문자라는 게 있는데, 이걸 정상적인 텍스트 사이사이에 몰래 끼워 넣는 거예요. 사람 눈에는 완전히 평범한 단어로 보이지만, 실제 데이터 안에는 눈에 안 보이는 문자가 촘촘히 박혀 있는 셈이죠. 👀 이 기법은 원래 챗봇이나 AI 에이전트한테 숨겨진 명령을 몰래 주입하는 프롬프트 인젝션 공격으로 처음 알려졌어요.
사실 이 '태그' 문자라는 것도 원래는 유니코드 표준에서 언어 정보 같은 걸 표시하려고 만들어졌다가 거의 안 쓰이게 된 문자들이래요. 정작 화면에는 아무것도 안 찍히니까, 오히려 이런 용도로 악용하기에는 딱 좋은 조건이었던 셈이죠.
이런 식으로 눈에 안 보이는 문자를 악용하는 사례가 아예 없었던 것도 아니에요. 제로폭 문자나 변형 선택자(variation selector) 같은 것들도 비슷한 방식으로 텍스트를 조작하는 데 쓰인 적이 있거든요. 근데 이번처럼 실제 피싱 캠페인에서, 그것도 이 정도 규모로 확인된 건 흔치 않은 케이스라고 해요.
ASCII 스머글링이 스팸 필터를 통과하는 3단계
근데 이번에 마이크로소프트가 발견한 건 좀 다른 얘기예요. 이 기술이 AI가 아니라 그냥 평범한 스팸 필터를 뚫는 데 쓰이고 있더라는 거죠.
구체적으로는 'funding'처럼 스팸 필터가 예민하게 반응하는 금융 관련 단어 💰 안에 보이지 않는 유니코드 문자를 끼워 넣는 방식이었어요. 필터 입장에서는 'funding'이라는 문자열 자체를 인식하지 못하니까, 위험 단어로 걸러내지 못하고 그냥 통과시켜버리는 거죠. 사람이 메일을 열어보면 멀쩡한 단어로 읽히니까 의심도 안 하고요.
스팸 필터라는 게 기본적으로 특정 키워드나 패턴을 보고 판단하는 구조잖아요. 근데 문자열 중간에 사람 눈에 안 보이는 문자 하나만 끼워 넣어도 필터가 실제로 보