본문 바로가기

바게의 개인공간/일기장

2009.03.05 스팸메일의 지능화

네이버메일은 잘 사용하지 않는데, 오늘 카페에 가보려고 로그인하여 우연이 네이버메일함을 보았다.
메일함은 스팸메일로 넘쳐나고 있었는데, 왜 이리 스팸을 제대로 걸러 내지 못하나 하는 생각에 유심히 메일들을 보았다.

1. 스팸메일 제목은 하나 같이 특이했는데, 모두 개정판 성경구절이었으며, 같은 구절이 아니라 랜덤으로 선택된 구절이었다.
2. 메일본문은 텍스트가 없이 오지 이미지로만 구성되어 있었다.
3. 보낸 메일 주소들은 hotmail.com이 많았다.

데이터마이닝의 분류기를 이용해 스팸을 분류할 수 있다는 것은 이미 널리 알려진 사실이다. 하지만, 스패머 역시 그 사실을 알고 있으며, 랜덤한 제목에 대해서는 분류기도 제대로 동작하지 못할 것이란 사실을 이용하고 있다. 왜냐하면 분류기가 학습할 때는 새로운 단어에 대한 것이 아니라 이미 학습된 단어들만 처리가 가능하기 때문이다. 그리고 본문을 이미지로 만들어서 아예 본문은 분류기의 사용이 불가능하도록 만들어 버렸다.

이런 스팸메일을 어떻게 걸러낼 수 있을까?
내 짧은 생각에는 기본적인 분류기가 아닌 문장의 전체적인 특성을 파악하는 분류기가 필요하다고 본다.
본문에 포함된 이미지에서 직접 텍스트를 추출하여 분석하면 좋겠지만, 이미지의 퀄리티에 따른 문제나 스팸여부 판단 시간등의 문제가 있으니, 제목을 위주로 스팸을 판단해야 할 것 같다.
하지만 기본적인 분류기처럼 제목에 포함된 단어의 빈도가 아니라 제목에서 추출된 특성에 의해서 분류되어야 할 것이다.

예를 들어 빨간색으로 표시된 아래의 스팸메일 제목들이라면, 
1. 실제로  메일제목에 잘 사용하지 않는 "나는~", "그들은~", "내가~" 등의 인칭대명사가 사용되었다.
2.  "~습니다" "~이다"로만 구성된 평서문이며, "~것이다"라는 문장이 많았다.
3. "여호와", "주님", "아멘", "르우엘", "예루살렘" 등 성경에서만 사용되는 단어들이 사용되었다.
4. "장로", "광야", "지파", "제자", "제사", "환상", "어린 양", "경배", "멸망'과 같이 성경에서 많이 사용되는 일반 명사가 사용되었다.
아마도 위와 같은 특성들이 추출되어 이를 기준으로 슾매을 처리 한다면, 어느정도는 스팸을 분류할 수 있지 않을까? (물론 난 초보이기 때문에 상상만 할 뿐이다. ^^)