본문 바로가기

Gossip about IT & Job

스팸 필터링, 안하는건가 못하는건가?

● 오늘도 휴대폰과 이메일을 통해서 스팸 메일이 날아든다. 문자 메세지 받을 때 마다 거의 한건도 안빼놓고 스팸신고를 하고, 스팸 편지함도 열심히 비우지만, 시간이 갈수록 양은 점점 늘어난다. 내 개인정보가 샌다는 것도 몹시 기분 나쁜일이지만, 각 통신사와 포털들이 스팸 필터링을 강화하겠다고 열심히 주장함에도 불구하고 여전히 뾰족한 해결책이 나오지 않는 것은 이해하기가 어렵다. 

● 왜냐하면, 스팸 필터링에 대한 궁극의 해결방법이 있기 때문이다. 2005년에 출간된 폴 그레이엄의 "해커와 화가" 에서 "스팸을 위한 계획" 이란 글에서 그 방법을 소개하고 있다. 간단하게 설명하면, 내용 기반으로 스팸을 필터링 하는 방법이다. 

● 현재의 필터링 방식은 특정 단어나 문자열이 들어간 것을 걸러내는 방식이다. 예를 들어, "사과" 라는 단어가 보기 싫으면 "사과" 라는 단어를 필터에 등록하고, 이후 "사과" 가 들어간 문자 메세지나 이메일은 사용자에게 보여주지 않는다. 하지만, 이 방식은 한계가 분명해서, "사 과", "사★과" "4과" 와 같이 문자열을 회피해 버리면 아무 소용이 없다. 더 나아가 "상감", "ㅅㄱ", "죄송" 과 같이 "사과" 를 유추할 수 있는 다른 단어를 들이대는 경우 필터는 아무 힘을 쓰지 못한다. 이런 방식의 스팸필터 때문에 아무리 열심히 신고를 하고, 스팸 메일로 등록을 해도 회피하는 수단이 생겨버린다. 더 나아가, 반어법이나 외국어까지 동원해서 - ㅅr 과 - 사용할 경우, 더 체크하기가 어렵다. 

● 내용 기반 필터링의 경우는 좀 다른다. 스팸 메일도 어떤 "정보" 를 수신인에게 전달하기 위한 것이기 때문에, 문자열을 깨던, 특수 기호를쓰던 어떤 "내용" 을 담고 있다. 어떤 메일을 수신한 사람들이 그 메일을 스팸으로 신고하게 되면, 이후 그 메일과 내용이 비슷한 메일이 또 오면 그 메일은 메일 서버가 모두 버려버리는 방식이다. 10명 이상의 신고, 95% 이상의 유사율 과 같이 역치를 설정할 수 있고, 역치를 적절히 조정하면 스팸 필터의 정확도는 더 올라간다. 추가로 사람이 약간만 개입하면 99.9% 이상의 스팸을 걸러낼 수 있다. 필요한 것은 스팸 신고를 열심히 해주는 사람들이 필요한데, 각 포털사의 직원들만 확실하게 신고해줘도 충분한 표본을 얻을 수 있을 것이다. 

● 얘기가 조금 벗어나지만, 불법 의료행위, 불법 도박장, 불법 사채, 불법 유흥업소 같은 것들을 경찰이 모른 다는 것도 이해가 잘 되지 않는다. 위에 예로든 것들은 모두 고객을 모으기 위해서 "광고" 를 해야 하는데, 이런 내용은 당연히 많은 사람이 보도록 광고를 한다. 아주 규모가 작은 상태에서 점조직으로 운영하는 경우라면 쉽게 알기 어렵겠지만, 사업 확장을 위해 불특정 다수를 상대로 광고를 하기 시작하는 시점부터는 모든 정보를 공개되는 것과 마찬가지기 때문에, 경찰만 모를 수는 없는 일이다. 

● 이미 강력한 해결책이 나온 상태에서 아직도 스팸 필터링이 완벽해지지 못하는 이유는 무엇일까? 뭔가 통신사나 포털의 수입과 연관된 부분이 있는 것인가? 아니면 알고리즘을 다 알려준 상태에서도 실제 구현이 어렵기 때문일까? 이건 마치 우리 주변에 어디 어디 가면 불법 경마장이 있고, 어디에 가면 여전히 불법 오락실이 돌아가고 있는 것을 알지만 경찰력이 미치지 못하는 것과 비슷한 것일까? 

● 아침부터 한무더기 스팸 메일을 지우다 문듣 생각이 나서 몇자 적는다.