시스템이야기2008. 12. 21. 01:00
스팸 툴에서 사용하는 변수(매크로)가 그대로 노출되서 발송되는 경우가 있다. 2006년 하반기에 '스팸발송기가 깜빡한건가? (스팸메일의 변수들)'라는 제목으로 글을 쓴 적이 있다. 이번달에 또다시 이런 변수들이 섞여진 메일이 눈에 띄어(그 전에도 필터링되었을 것인데, 유독 이번달에 더 띈다.), 해당 변수들을 추가 정리하였다.

3. From: 예 (2008.12)

Return-Path: <JADA{%DIGIT%}{%DIGIT%}@hanmail.net>
... 생략 ...
From: JADA SESSOMS <JADA{%DIGIT%}{%DIGIT%}@hanmail.net>

4. From: 예 (2개, 2008.12)

From {%LFNAME%}{%LLNAME%}34@gmail.com  Fri Dec 19 05:23:02 2008
Return-Path: <{%LFNAME%}{%LLNAME%}34@gmail.com>
... 생략 ...
From: {$FROMNAME$} <{%LFNAME%}{%LLNAME%}34@gmail.com>

From: 이나 Return-Path: 헤더에서 %DIGIT% 에는 발송기가 임의의 숫자를 넣게 된다. %RND_DIGIT[1-3] 와 같은 형식도 있는데, 정규 표현식과 유사(정규표현식에서 {1,3}은 1~3자리를 의미)하게 사용해서 1자리에서 3자리까지 임의의 숫자가 들어가게 될 것이다. 결국 0~9자리의 숫자를 자유롭게 From주소에 넣을 수 있다는 얘기다.

- %RND_FROM_DOMAIN, %CUSTOM_FROM_EMAIL : 임의의 도메인 주소에 해당한다.
- %RND_IP : 임의의 IP주소
- {%MAILSERVERHOSTNAME%} : 서버명만 대체된다. 예) www.foobar.com 에서 www에 해당.
- {%LFNAME%}은 소문자 First Name, {%LLNAME%}은 소문자 Last Name을 추측되며, {$FROMNAME$}는 이름이다.

Subject: 헤더중 %RND_DATE_TIME에는 정상 스팸(?)일 경우 '파일럿 항공자켓 겨울특전~Wed, 21 Dec 2005 07:54:32 -0400' 처럼 날짜가 들어가 있다.

- %RANDOM_WORD : 임의의 단어
- %RNDUCCHAR16 : 임의의 대문자 16자리(숫자는 자리수로 추측된다.), '%RNDLCCHAR+숫자'형태라면 임의의 소문자를 뜻한다.
- %RANDOM_CHAR, %RANDOMCHAR, %RND_LC_CHAR, %RND_UC_CHAR 등의 유형도 있다. (개인적으로 수신한 적 없음)

스팸툴이 위와 같이 다양한 스팸용 변수들을 제공한다는 것은 스패머들에게 조리법(=스팸툴 매뉴얼)만 읽으면, 한두가지의 재료로 다양한 요리를 쉽게 만들어낼 수 있는 요리기구를 제공한 셈이다.
경우에 따라선 정상적인 조리에서는 먹어볼 수 없는 독특한 형태의 요리(=비정상적 헤더)도 만들어낸다. 예를 들어보자. 하나의 스팸메일에서 From:, Return-Path:, Message-ID:, Received: 의 메일주소나 도메인이 각각 다르게도 표시되는 경우가 많다. 이 것은 %RND_FROM_DOMAIN, %CUSTOM_FROM_EMAIL, %CUSTOM_FROM_NAME, %RND_IP 유형의 변수를 함께 사용하여 임의로 생성된 도메인(또는 메일주소)이 동시에 만들어지기 때문이다.

과연 저런 유형의 변수를 사용하는 스팸툴은 어떤 것이 있을까.

인터넷 여러 기술문서에서 확인할 수 있으며, 'Inside the Spam Cartel: Trade Secrets from the Dark Side'(2004년)책에서도 확인할 수 있다. 스팸툴의 이름을 공개하지 않고, 2개 스팸툴 화면만 소개한다.

쉽게 헤더를 변경


다양한 매크로(즉, 글에서 소개한 스팸용 변수)를 제공. 출처 : 책 'Inside the Spam Cartel'



메일과 안티스팸을 주제로 치뤄지는 CEAS 2008 행사(Conference on Email and Anti-Spam)가 있다. 여기서 발표된 'A Survey of Modern Spam Tools'(글 Henry Stern) 문서는 스팸메일의 유형과 변수(매크로)에 대해서 상세히 분석되어 있다.


자세한 글은 커피닉스에 써둔 '스팸발송기가 깜빡한건가? (스팸메일의 변수들)'을 살펴보기 바란다.

Posted by 좋은진호
시스템이야기2007. 2. 16. 00:05
매일경제 DNS의 SPF 레코드 설정에 잘 못된 부분이 있다. SPF는 메일주소를 위조해서 보내는 것을 방지하기 위한 스팸 필터링 정책중의 하나로, SPF에 대한 자세한 것은 '스팸필터링을 위한 SPF 설정과 운영'에 적어둔게 있으니 참고하기 바란다.

설정 실수와 관련하여
- 지난 1월에 메일을 4번(1.9, 1.13, 1.17 2번)
- 매일경제 홈페이지의 '서비스 문의'에서 2번
을 알려드렸으나 수정이 없었다. 제가 직접적으로 접근할 방법이 없는 관계로 이 글을 읽고, 매경쪽에 아시는 분이 있면 전달해 주기를 바라면서...

DNS lookup한 결과이다.

$ dig mk.co.kr txt

; <<>> DiG 9.2.4 <<>> mk.co.kr txt
;; global options:  printcmd

... 생략 ...

;; QUESTION SECTION:
;mk.co.kr.                      IN      TXT

;; ANSWER SECTION:
mk.co.kr.               86400   IN      TXT     "v=spf1 ip4:220.73.139.52 ipv4:220.73.139.81 ip4:220.73.139.82 ip4:220.73.139.201 ip4:203.238.57.9 ipv4:203.238.57.6 ~all"

;; AUTHORITY SECTION:
mk.co.kr.               86400   IN      NS      ns.mk.co.kr.
mk.co.kr.               86400   IN      NS      ns2.mk.co.kr.

위의 'ipv4:220.73.139.81' 과 'ipv4:203.238.57.6' 은 'ip4:220.73.139.81' 과 'ip4:203.238.57.6' 로 수정해야 한다. ip4를 ipv4로 잘 못 표기한 것이다. @mk.co.kr 에서 오는 메일을 받는 분 중에서는 경우에 따라 필터링되어 못 보는 경우가 생길 수 있다. (못 보는 경우가 있다는 것은 수신측 필터링 강도(softfail까지 모두 필터링해라)에 따라 달라질 수 있음을 의미함) 저는 매경 메일을 whitelist에 넣어서 잘 받고 있지만, 읽고 싶어도 필터링되어서 못 읽는 안타까운 분들이 없기를 바라는 맘이다.

SPF 레코드를 설정하신 엔지니어는 1) 본인의 설정은 잘 못된 것은 없는지, 2) 그리고 송신할 메일서버의 IP는 빠짐없이 SPF 레코드에 등록을 했는지 다시 한번 확인해보기 바란다.


Posted by 좋은진호