[스팸메일] 메일 헤더의 Bcc, return-path, Recived 추적

|

메일과 관련된 분석은 자주 발생하지는 않는다. 하지만 메일 역시 공격의 수단으로 많이 활용되는 경로임은 분명하다. 따라서 이메일에 대한 분석방법에 대해서도 한 번쯤 생각해 보는 것이 중요할 것이다.

 

메일과 관련된 내용은 Internet Message Format(RFC 2822)를 통해 자세히 알 수 있으며,

여기서는 메일 헤더의 각 필드에 대한 내용이 여기서 다루지 않을 생각이다. 각 헤더에 대해 자세히 확인하고자 한다면 위 문서를 통해 확인하길 바란다.

 

Bcc(숨은참조 기능)

여기서는, "도착주소 필드(Desitination address fields)"에 대한 내용에 대해 기록할 예정이다.( 이 부분을 잘못 기억하고 있어 피본 기억이 있음 ㅜ,ㅡ)

위 RFC2822 -> 3.6.3 섹션에 보면, 메일이 도착할 수 있는 주소필드는 총 3가지로 구분된다.

1. To - 받는 사람을 정의

1. CC(Carbon Copy) - 받는 사람외에 해당 메일을 참조하는 사람을 정의

2. Bcc(Blind Carbon Copy) - CC와 동일하나, 받는사람의 정의가 노출되지 않음 ( 숨은참조 ) -> 정말 이런건 왜만든 걸까. ㅜㅜ

 

위 3가지 중, 문제가 되는 것은 [Bcc]이다. 왜냐하면, 숨은참조를 하게되면 아무리 받은쪽에서 메일의 헤더를 본다고 한들 숨은참조된 대상을 확인할 수 없기 때문이다. ( 숨은참조한 대상은 메일을 발송한쪽에서만 확인이 가능하다. )

경우에 따라서는 Bcc는 대량의 메일 발송에 쓰이는 경우도 있기도 하다. (물론, 대부분은 이런 식으로 발송하지 않을 것이지만...)

 

이 Bcc는 스팸을 발송하는 공격자에게 꽤나 유용한 기능으로 생각되며, To에는 전혀 다른 사람의 메일 주소를 입력하고 Bcc에 메일 사용자의 주소를 입력해서 마치 사용자로 하여금 다른 사람한테 갈 메일이 자신에게 잘 못 수신된 것처럼 보여질 수 있게한다. 또한, 잘못 전달된 메일이라도 열어보려고 하는 것이 마치 습성인 사람도 있는 것이 문제이며, 이와 같은 기능은 스팸메일이 피해범위를 가늠하기도 어렵게 한다.

이러한 Bcc는 위와 같이 악용될 소지가 다분하기 때문에 일부 웹메일 서비스에서는 메일 작성 시, Bcc에 들어갈 수 있는 메일 주소의 수를 제한시켜두기도 하고, 스팸메일의 수신가능성 때문에 도착한 메일의 Bcc 필드가 설정된 수준 이상을 초과할 경우 스팸처리해 버리기도 한다.

( 정상적인 대량메일 발송의 경우, 숨은참조를 하는 것은 충분히 올바른 행동은 아니라고 생각됨 )

 

return-path

return-path는 보내진 메일의 반송처를 정의할 때 사용된다.

하지만, SMTP에 의해 옴겨지는 메일의 경우에는 보통 return-path 필드가 생략된다. (이는 SMTP 방식으로 인해)

 

Received

Received 필드는 아래와 같은 토큰열로 구성되며,

  1. 생략 가능, "from", atom, 의 후에 기호화 도메인명 ;
  2. 생략 가능, "by", atom 의 후에 기호화 도메인명;
  3. 생략 가능, "via", atom 의 후에 다른 atom;
  4. 다음의 것의 열(하늘도 가능): "with", atom의 후에 다른 atom;
  5. 생략 가능, "id", atom 의 후에 (1) atom 또는 (2) < 토큰, 기호화 주소, > 토큰;
  6. 생략 가능, a "for", atom, 의 후에 기호화 주소
  7. 세미콜론
  8. 타임 스탬프

각각의 SMTP서버는 받은 메일에 대한 Received 필드를 첨가하여 발신한다.

Received는 아래에서 위쪽으로 분석하여 경로를 확인할 수 있다.

 

아래에는 이메일 헤더정보를 입수했을 때 추적할 수 있는 방법을 추가로 기술한다.

이메일 추적을 지원하는 웹사이트: http://www.ip-adress.com/trace_email/

 

1. 이메일의 속성보기를 통해 메일헤더값을 확인/복사하여 이 사이트에 붙여넣기 한다. (아래 그림참조)

 

 

2. 하단의 [Trace Email Sender]버튼을 클릭한다.

3. 결과가 아래와 같이 출력된다.

( 여기서 추적한 결과는 이라크...로 나오네..;; )

 

And