내가 보내지 않은 메일의 반송메일을 받은 경우

지난번에 이메일과 스팸메일에 관한 오해 1 을 톨해 "자신이 수신자가 아닌데 수신한 메일" 에 대해서 이야기를 했었다. 이번엔 그와 유사한 경우인 "내가 보내지 않은 메일의 반송메일을 받은 경우"를 이야기하려고 한다. 사실 두가지 경우는 똑같은 경우다. 하지만 해당 메일의 실제 수신자가 나였느냐 발신자가 나였느냐라는 차이가 있을 뿐이다.

이해를 돕기 위해 본 포스팅을 처음 보는 사람들은 먼저 지난번 포스팅을 보고 다시 오기를 권장한다. (그래야 이해가 쉽다.) 앞서말한 바와같이 이 모든 혼란의 원인은 인터넷 이메일 전송 표준 규약인 SMTP(Simple Mail Transfer Protocol) 의 부실함이라 할 수 있다. 지난번 포스팅에서 Telnet 으로 SMTP Command 를 이용해 어떻게 메일을 주고 받는지 그리고 어떻게 수/발신자를 조작하는 지에 대해서 말했었다. (잘 모르겟다면 얼른 가서 다시 보고 와라. ^^) 스패머들이 혹은 호기심 많은 어느 학생이 자신이 메일을 보낸 것을 숨기기 위해 헤더에 장난을 치게 되면 이런 일이 발생하게 된다.

즉. 실제로는 자기가 메일을 보내면서 MAIL FROM 명령과 DATA 명령 후에 적는 From 헤더의 발신자 메일주소를 엉터리로 적었는데 그 것이 하필이면 자기 메일주소가 적힌 것이다 이말이지.

그렇다면 스패머는 왜 이런 짓을 할까?

우선 스패머는 자기 자신의 정보를 은폐하고 싶어 한다. 당연하지 자기 메일 주소를 솔직하게 적었다가는 다 들통나서 비록 솜방망이 처벌이긴 하나 처벌을 받긴 받을테니 말이야. 그러니 당연히 남의 메일 주소를 적을 수 밖에.. (사실 아무 정보도 적지 않아도 수신자 정보만 있어도 메일은 발송된다. 아무 조건없다. ㅡ.ㅡ)

두째로, 스패머가 돈을 주고 구매를 했건 웹에서 Crawl 을 했건 간에 아무튼 수집한 이메일 주소는 부정확한 경우도 많다. 그럴때 Mail From 에 적어둔 어떤 주소로 다시 반송이 될 것이므로, 자동으로 남의 메일 서버의 Bounce(반송메일)을 통해 스팸을 한번더 발송하는 효과를 볼 수 있다는 것이다. 손 안대고 코 푸는 격이라고나 할까?

이러한 Bounce 에 대해서 대비책들도 물론 다 나와있다. 하지만 전세계 이메일 시스템에 동시에 적용한다는 것이 일단 너무나 큰 무리이고 이메일이 그다지 중심 서비스로서 주목을 받지 못한다는 이유로 아직까지 이러한 솔루션들이 제대로 적용이 되지 못하고 있다. 암튼.. 이러한 기술들에 대해서 이 자리에서 다 설명하기엔 (내가 늘 하는 변명) 지면이 부족하므로 아래에 간단히 링크만 남긴다. ㅋㅋㅋ


그래도 IP 는 남는다.

여기까지 스패머들이 자신의 흔적을 남기지 않으려고 무단히 애를 썼지만, 그렇다고 해도 완전범죄란 있을 수 없다. 자신이 보내지 않은 메일의 회신을 받았다면, 먼저 해당 메일의 헤더정보를 확인해보기를 권장한다. 대부분의 웹메일 서비스나 아웃룩 등 어플리케이션에서 "전체 헤더보기" 또는 "메일원본보기" 등의 이름으로 헤더보기를 제공하고 있다.

헤더를 보면 갖가지 영어로된 내용들이 보일텐데 다 무시하고 오직.. 하나!!!! "Recieved From" 이란 헤더 하나만 보면 된다. 물론 메일이 어떤 경로를 거쳐 갔느냐에 따라 이 헤더가 여러개일 수도 있고 단 하나일 수도 있다. 이메일을 전달하는 서버들인 MTA(Mail Transfer Agent) 또는 MDA(Mail Delievery Agen) 들은 메일을 전송할때 절대 컨텐츠는 손대지 않는다. 다만 헤더에 자신이 이 메일을 보내거나 전달했다는 표시를 남길 뿐인데 그 표시가 바로 "Recieved From" 헤더이다.

이 헤더는 시간순서대로 아래에서 위로 적혀있다. 따라서 가장 먼저 이 메일을 전달한 서버나 당시의 정보를 보고자 한다면 Recieved From 헤더 중 가장 아래의 헤더를 보면 되겟다.

이 헤더에 남는 정보는 전달시간, 전달한 host 의 ip 와 hostname (쉽게 말해 IP주소와 도메인) 그외에 이 host 가 client 로 부터 smtp 접속을 통해 메일을 전달한 경우 각 서비스별로 자신들만의 형식으로 history 를 남긴다. (대부분 by 어쩌구 하면서 하나의 recieved from 헤더에 client 즉, 아웃룩 등으로 접속을 시도한 사용자의 최종 ip를 남긴다.)

예를 들어 이런 식이란 거지..

Received: from domain.com ([1.1.1.1]) by domain.co.kr (ExpressMail 6.12) with ESMTP
id 20070905.104043.04601584 for <test@domain.co.kr>; Wed, 5 Sep 2007 10:40:47 +0900

그렇다면 자신이 정상적으로 보낸 메일의 헤더는 어떻게 찍히는 지 어떻게 알 수 있을까? 당연히 그걸 알아야 비교해서 "아~ 내가 보낸메일이 아닌데 내가 반송을 받은 이유가 이거구나~~" 하구 알게 아닌가? ㅋㅋㅋ
정말 간단하게... 자기가 자기한테 메일을 한번 보내보라.. 그리고 그 메일을 열어서 헤더를 보면 알 수 있겠지?

암튼 어떠한 경우에도 흔적은 남는다는 것, 절대 완전범죄는 없다는 것... 그러니 왜 난 보내지도 않은 메일이 나에게 왔냐고 투정하거나 자신이 메일 서비스 고객센터에 따지기에 앞서.. 재미삼아 한번 이 내용을 확인해보면 좋겠다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 왕구라

트랙백 주소 :: http://gooranet.tistory.com/trackback/154

댓글을 달아 주세요