소개

이 백서의 목적은 Forefront Protection 2010 for Exchange Server(이하 FPE)의 스팸 기능에 관련된 내용으로, Exchange 서버를 사용하는 조직에 보다 나은 스팸 차단 기능을 활성화 시키고 구성하여 관리자로 하여금 보다 나은 메시징 환경을 제공할 수 있도록 하기 위함입니다.

FPE Exchange 서버의 가장 최신 버전인 Exchange Server 2010을 지원할 뿐만 아니라, Exchange Server 2007 역시 지원하기 때문에 기존 Exchange 2007을 사용하는 조직에서도 바로 도입이 가능합니다.

본 백서는 FPE의 스팸에 대한 필터링 기법을 상세히 소개하여 Forefront 안티스팸 프레임워크에 대한 이해를 높입니다.

 

스팸 차단을 위한 핵심 요소

FPE 4가지의 핵심 요소를 토대로 스팸을 차단합니다.

1.     소스 분석

2.     프로토콜 분석

3.     콘텐트 분석

4.     클라이언트 분석

Exchange에서 기본적으로 제공하는 소스 분석, 콘텐트 분석 필터링 에이전트와는 다르게, Forefront에서 제공하는 위 네 가지 분석 에이전트는 필터링 내용을 모두 공유하여 효율적으로 스팸을 차단합니다. 가령, 프로토콜 분석에서는 통과되었다 하더라도, 분석된 결과값이 콘텐트 분석에도 영향을 미쳐 스팸 확률이 낮은 메일은 통과시키고 보다 스팸에 가까운 메일은 차단합니다. 4가지 주요 요소 중, 클라이언트 분석은 Outlook 클라이언트에서 제공하는 기능과 연계되기 때문에 본 백서에서는 다루지 않도록 하겠습니다.

 

소스 분석 계층 (1단계)

조직의 하드웨어 리소스, 네트워크 bandwidth 리소소, 또한 최종 사용자의 리소스를 줄이기 위해서는 최초 네트워크 계층에서 스팸메일을 차단시켜야 합니다. FPE1차적으로 연결 사용자의 신원 확인, SMTP 연결 정보, DNS 차단 리스트 (DNSBL이라고 하며, 기존 RBL)등을 토대로 네트워크 계층에서 스팸 메일을 차단합니다.

소스 분석 계층은 FPE가 최초로 스팸 여부를 판가름하는 1단계로, 아래의 세 가지 필터링 기술을 이용합니다.

1.     IP 허용 및 IP 차단 리스트

2.     Forefront DNS 차단 리스트

3.     Sender ID 프레임워크

이 세 가지 필터링은 SMTP 연결이 이루어질 때, 동시에 모두 작동되는 것이 아리나, 각기 다른 지점에서 실행이 됩니다. 하지만 모두 IP 정보를 기반으로 둔 스팸 차단 기법입니다.

 

IP 허용 및 IP 차단 리스트

IP 허용 혹은 차단 리스트를 토대로 메일을 차단하거나 통과하는 것이 소스 분석 계층에서 가장 처음으로 실행되는 기능입니다. 비록 TCP 연결 요청을 하게 되더라도, connection 이벤트가 발생되는 순간에 SMTP 포트 25번으로 연결되는 시점에서 차단하게 됩니다. 

동일한 방법으로, IP 허용 리스트에 작성된 IP로부터 들어오는 메일은, Forefront의 모든 스팸 필터링 계층을 우회하게 됩니다. 이 모든 사항은 FPE 관리자 화면에서 관리가 가능합니다.

IP 차단/허용 목록은 파기 일정을 정할 수 있습니다. 차단/허용 목록이 파기가 되면, 목록에 포함되어 있는 사람은 더 이상 해당 규칙에 포함되지 않습니다. 이 목록은 기타 다른 Exchange 서버의 Forefront에서 불러드릴 수 있습니다. 이 기능은 Forefront Protection Manager를 이용하지 않을 경우 한 조직의 여러 Exchange 서버에서 유용하게 이용될 수 있습니다.

Forefront DNS 차단 리스트

Forefront DNS 차단 리스트 (Forefront DNSBL), 흔히들 알고 계신 Realtime Block List (RBL) 입니다. , 보내져 오는 메일 서버의 IP를 판단하여, 해당 서버의 도메인 이름을 알아내고, 해당 도메인이 차단 목록에 포함되어 있는지 RBL의 목록과 비교하여 스팸 처리 합니다. Forefront DNSBL의 장점 중 하나는, 기존 Exchange에서는 수동으로 RBL을 추가시키고 입력시키는 등, 별도의 관리가 필요했지만, Forefront에서는 여러 RBL을 토대로 작성된 DNS 차단 목록을 통해 최종 관리자는 단 한번의 체크로 해당 차단 리스트를 통한 스팸 차단을 이용하실 수 있습니다. Forefront가 이용하는 RBL Spamhaus, Forefront Online Protection for Exchange, Hotmail 등입니다.

물론, 받는이가 허용 목록에 포함되어 있다면, 이는 DNSBL도 피해삽니다. DNSBL은 업데이트를 매시간마다 하며, 오탐에 관련된 신고는 전문 분석가에 의해 처리되고 있습니다.

위와 같이 Forefront DNSBL을 체크 설정하면 이 기능을 별도의 작업 없이 사용할 수 있습니다. 뿐만 아니라, 만약 외부의 악의적인 사용자가 어떤 도메인이 차단 목록에 등록이 되어 있는지 확인하기 위해 리스트를 보려고 DNSBL 데이터에 접근하더라도, DNSBL의 데이터는 모두 hashed되어 있어, FPE에서 검사하고자 요청하는 access가 아니라면 내용 확인이 불가능합니다.

DNSBL에 잘못 등록되어 있다고 판단되면, delist.forefront@messaging.microsoft.com 으로 메일을 전달하시면 됩니다.

 

Sender ID 프레임워크

Sender ID 프레임워크야 말로 Forefront가 도입한 이메일 인증 기술의 핵심이라고 볼 수 있습니다. 이 기술은, 보낸이의 도메인데 대한 신뢰성과 IP 정보를 비교하여 스팸 여부를 가립니다. 정상적으로 적용된 Sender ID 프레임워크는, zero-day-attack로부터 효율적으로 방어할 수 있습니다.

Zero-day-attack은 차단하는 패턴이 생성되기 이전에 특정 취약점을 이용하여 공격하는 형태입니다. 많은 경우, 이는 spoofed 메일에 의해 전파됩니다. Spoofed 메일이란, 보낸이에 대한 정보를 악의적으로 변경하여, 실제로 보낸이가 aaa@aaa.com이 아님에도 불구하고 해당 계정으로 보낸이라고 header에 찍혀 보내져 오는 경우입니다. 이러한 경우, Sender ID 프레임워크를 제대로 구성하면, 이러한 공격은 원천적으로 막을 수 있습니다.

FPE는 관리자 화면에서 Sender ID Protection을 구성할 수 있으며 다음과 같은 옵션이 있습니다.

SenderID 필터링 사용

l  메시지 거부

l  헤더에 스탬프를 찍고 계속 처리

l  메시지 삭제

가장 효율적으로 SenderID 프레임워크를 활용하기 위해서는, 모든 메일에 대해 SPF 레코드를 생성하도록 설정하여야 합니다.


 

프로토콜 분석 계층 (2단계)

프로토콜 분석은, TCP/IP를 통해 Connection이 메일과 서버 사이에서 맺어진 이후, 메일의 프로토콜에 대한 분석을 진행하여 스팸 여부를 가립니다. 프로토콜 분석에는 통 7가지 기법을 통하여 필터링합니다. (정확하게 말하자면 보낸이, 받는이를 나누어 8가지 기법)

1.     SMTP Tarpitting

2.     메시지 과거 결과율 (IP)

3.     보낸이/받는이 필터링 (Sender/Recipient Filtering)

4.     백스캐터 필터링 (Backscatter Filtering)

5.     아웃바운드 스팸 필터링 (Outbound Spam Filtering)

6.     안전한 리스트 적용 (Safelist Enforcement)

7.     하이브리드 모델 필터링 (Hybrid Model Filtering)

보다 효율적인 스팸 차단을 위해서는 다양한 기법을 모두 한 솔루션에서 제공하는 것이 중요합니다.

 

SMTP Tarpitting

SMTP Tarpitting Directory Harvesting Attacks (이하 DHAs)을 막는데 효율적으로 사용되는 기법입니다. 받는이에 인증 기능이 켜져 있다면, SMTP 프로토콜 스택은, Active Directory에서 받는이에 대한 확인 작업을 거치게 됩니다. 만약 확인 결과 Active Directory에 존재하지 않는 받는이라면, 해당 메시지를 반송(reject)하게 됩니다. 예를 들어

클라이언트:       MAIL FROM: sender@company.com

서버:               250 2.1.0 sender@domain.com...Sender OK

클라이언트:       RCP TO: HongKilDong@enterprise.com

서버:               250 2.1.5 HongKilDong@enterprise.com     ß 수락된 경우

클라이언트:       RCPT TO: Amuna@enterprise.com

서버:               550 5.5.1 사용자 알 수 없음                   ß 거부된 경우

DHAs 기법은, 최근에 Directory 서버를 공격하기 위해 흔히 쓰이는 수법입니다. 존재하지 않는 사용자에게 공격하고 싶은 도메인의 주소를 넣어 무차별 메일을 전송하게 하여 서버 응답을 지연시키고 결국 실행 불가능하게 만들 때 흔히 사용됩니다.

이것을 SMTP Tarpitting SMTP 프로토콜의 응답 자체를 느리게 하여, 공격을 빠르게 할 수 없도록 프로토콜 레벨에서 차단합니다. FPE가 구축되어져 있는 Exchange 서버에서는 이 default 값이 5초입니다. 이 값은 Set-ReceiveConnector cmdlet을 통해 수정하실 수 있습니다.

[PS] C:\ Set-ReceiveConnector -Identity <ReceiveConnectorIdParameter>
- TarpitInterval 00:00:10

 

IP당 수용 메시지 제한

기본적으로 Exchange 서버는 동일한 IP 1분에 600개의 메시지를 수용할 수 있도록 설정되어 있습니다. 하지만 이 기능은 스팸 공격이 이루어질 경우 600개의 메시지 보다 한참 낮은 수치로 설정되어 있어야 메일 서버를 과부하로부터 보호할 수 있습니다. 이 분당 수용 메시지 제한 수치는 Set-ReceiveConnector cmdlet을 통해 수정하실 수 있습니다.

[PS] C:\ Set-ReceiveConnector
Accommodating parameters:
- Identity <ReceiveConnectorIdParameter>
- MessageRateLimit <integer>

Identity parameter의 값을 확인하기 위해서 Forefront 관리자는 아래의 cmdlet을 사용하시면 됩니다:
Get-ReceiveConnector | fl

Cmdletoutput은 수신 커넥터의 ID값을 지니고 있습니다. 아래와 같이 정보가 나타나 관리자가 필요로하는 ID 값을 확인할 수 있습니다:

위 예시에 나온 결과는 아와 같습니다:

FFNY-SPAM01\Default FFNY-SPAM01
위 값을 취득한 후에는 아래와 같이 설정하여 하나의 IP에서 분당 받을 수 있는 메시지 수를 설정할 수 있습니다:

[PS] C:\ Set-ReceiveConnector -Identity “FFNY-SPAM01\Default FFNY-SPAM01”
-MessageRateLimit 10

 

보낸이/받는이 필터링 (Sender/Recipient Filtering)

보낸이에 대한 필터링은 SMTP transaction이 일어날 당시에 MAIL FROM: 이벤트 발생과 함께 일어납니다. 도메인이나 사용자의 주소가 목록에 등록되어 있는지 확인 작업이 이루어진 후 해당 작업(차단 혹은 수용)을 취하게 됩니다.

반면에, 받는이에 대한 필터링은 클라이언트와 서버 사이에 SMTP 세션이 맺어졌을 때, RCPT TO: 명령어가 인지되고 Active Directory의 받는이 정보를 Exchange 조직에 존재하는지 확인하게 됩니다. 받는이가 여러명일 경우, 존재하지 않는 사람을 제외한 다른 사용자들에게는 정상적으로 메일이 전송됩니다. 이 기법은 네트워크의 부하도 줄이는 효과를 가져다 줍니다.

 

백스캐터 필터링 (Backscatter Filtering)

백스캐터 혹은 bogus NDRs, 보낸이에 대한 정보를 속여 NDR 메시지를 보내는 기법입니다. 예를 들어, 어떤 사용자에게 보내지도 않은 메일에 대한 NDR 메시지를 다량으로 받게하는 기법입니다. 이러한 백스캐터 혹은 변조된 NDR 메시지를 차단하기 위해서 백스캐터 필터링은 두 가지 에이전트를 사용합니다.

1.     CAT (카타고라이저, Categorizer) 안에서 작동되는 아웃바운드 에이전트

2.     Exchange 서버의 SMTP 수신 파이프라인 안에서 작동되는 인바운드 에이전트

 

백스캐터 필터를 활성화하기 위해서는 Forefront 관리자 콘솔창에서 활성화 버튼을 클릭하시면 됩니다. 또한 최초로 이 기능을 활용하기 위해서는 백스캐터 키를 생성하여 외부로부터 들어오는 잘못된 NDR과 내부에서 보내었지만 실제 외부 서버에서 보내오는 NDR메시지를 구별할 수 있습니다.

안전한 리스트 적용 (Safelist Enforcement)

개인사용자들이나 그룹 정책으로 배포된 Outlook의 안전한 리스트는 스팸 필터링 시 유용한 정보로 활용됩니다.

정크 메일 옵션에는 세 가지의 목록을 가지고 있습니다. 수신 허용 보낸 사람, 받는 사람. 그리고 수신 거부 목록입니다.

상용자가 작성한 목록은 Active Directory의 사서함 어시스턴트 (Mailbox Assistant)에 저장되며, 이는 EdgeSync를 통해 네트워크 경계점에서 FPE 안티스팸 에이전트가 수행하게 됩니다. 만약, 수신 허용된 목록에 있는 사용자의 메일이 Exchange 서버에 도착한다면, 이는 바로 SCL -1등급으로 지정(stamp)되어 바로 바이러스 스캐닝만 거치게 됩니다.


 

콘텐트 분석 계층 (3단계)

소스와 프로토콜과 필터링이 모두 이루어진 이후에는 비로소 본문의 내용을 토대로 스팸 여부를 판단하는 콘텐트 분석을 합니다. 이 부분이 바로 Forefront for Exchange에서 Forefront Protection 2010 for Exchange로 버전이 바뀌면서 새로 추가된 핵심적인 기능입니다. 이번 Forefront는 콘텐트 분석을 위해, 클라우드마크의 스팸 엔진을 탑재하였습니다.

클라우드마크의 스팸 엔진을 통해 메일은 SCL 등급을 지정하게 되어 있습니다. SCL 등급을 지정하게 된다면 사실 많은 분들이 걱정이 앞설 것입니다. SCL 등급중 중간 등급에 있는 메일들은 사실 분리해 내기가 다소 어렵기 때문입니다. 하지만 클라우드마크의 스팸 엔진을 통해 지정된 SCL 등급은, 상당수가 SCL -1 등급 (매우 확실한 유효 메일) 혹은 SCL 9등급 (매우 확실한 스팸 메일) 처리 됩니다. 마이크로소프트 사내의 시스템을 테스트한 결과, SCL -1은 약 10% 미만, SCL 9등급은 약 90% 지정되었습니다. 나머지 중간 단계는 1% 미만의 메일에서 지정되었습니다. 보시다시피 거의 대부분이 -1 혹은 9개로 양분되어 있는 것을 확인하실 수 있습니다.

FPE와 클라우드마크의 스팸 엔진이 제공하는 또 다른 기능 중 하나는, 지문식 피드백 시스템입니다. 이 기능은, 장기간 정상 메일로 간주된 (스팸 신고를 안받는 메일들) 메일들에 대해서는 본문의 내용과 보낸이에 대한 정보를 지문처럼 인식하여 향후에 동일한 지문을 가진 사용자나 내용에 대해서는 안전하다고 믿는 시스템입니다. 이러한 지문식 피드백 시스템은 모든 FPE 사용자들이 공유하여, 짧게는 매 45초마다 모든 FPE 사용자들이 업데이트 받습니다. 뿐만 아니라, 이 지문식 피드백 시스템은 총 145개국의 국가별 언어로 공유되고 인지되므로 폭넓은 언어의 스팸 차단을 가능하게 합니다.

위 화면에서 보다시피 콘텐츠 필터링 사용 방법은 Exchange 2007의 콘텐츠 필터링에 비해 간단한 UI를 지니고 있습니다. 단순히 체크를 설정하게 되면 콘텐츠 필터링을 사용할 수 있습니다.

의심스러운 스팸 메시지에 대한 설정도 별도로 구성하실 수 있습니다. 이미 언급했듯이 Cloudmark 스팸 엔진을 사용하면 SCL 5~8등급의 메시지는 1% 미만입니다만, 이 역시 스팸 여부를 관리자가 판단할 수 있겠지만 애매모호한 스팸 메시지에 대해서는 최종 사용자에게 판단을 맡기는 것이 좋습니다. 이러한 이유로 SCL 5~8의 메시지는 격리 시키는 것이 좋습니다.

콘텐트 필터링 엔진은 메시지가 도착하게 되면 MIME 스트림을 Cloudmark엔진에 기반하여 분석하기 시작합니다.

 


 

요약

소스 분석 계층 (1단계)

소스 분석 계층은

     IP 주소

     도메인/IP 이름풀이와 최초 발송지에 대한 트래픽 분석

     파트너와 3rd 파티 업체/기관의 스팸 IP 발송지 정보

로 이루어져 있습니다.

소스 분석을 통한 스팸 차단의 장점은

     원하지 않거나 악성 메일에 대해 연결 시점에서 즉시 차단

     빠른 차단은 bandwidth에 대한 자원을 최소화하여 네트워크 사용의 최적화

     안전한 IP 리스트를 통한 정상 메일에 대한 빠른 전달

프로토콜 분석 계층 (2단계)

프로토콜 분석 계층은

     단일 사용자로부터 전송되는 메일 크기로 스팸/공격 여부 판단

     보낸이와 받는이 필터링

     최종사용자 설정에 따른 스팸 분석

로 이루어져 있습니다.

프로토콜 분석을 통한 스팸 차단의 장점은

     스팸을 이용한 DDoS공격에 대한 원천적인 차단

     개인 필터링 기능과 조직의 필터링 기능을 모두 조합하여 차단

     백스캐터 기능을 통한 NDR 스팸 메일의 원천적인 차단

 

콘텐트 분석 계층 (3단계)

콘텐트 분석 계층은

     스팸 차단 엔진 개발을 다년간 해 온 Cloudmark 엔진을 이용한 스팸 차단

     FPE 스팸 차단 프레임워크에 통합

     MIME 스트림을 스캔 (메시지의 본문+헤더)

     지문식 스팸 차단 시스템을 이용한 피싱 메일 차단

로 이루어져 있습니다.

콘텐트 분석을 통한 스팸 차단의 장점은

     스팸과 더불어 피싱 메일의 차단

     서버의 성능 향상

     IT 프로와 IW의 생산성 향상

     관리와 모니터링의 통합