machine learning in spam
TRANSCRIPT
Machine Learning IN SPAM
Produced by Tae Young Lee
Overview
• SPAM 관련 침해사례 • Mail Routing구조 • SPAM솔루션의 구조 • SPAM 방지 기법 • 구조적 한계 • Machine Learning • 오픈 소스의 적용 • 실 적용시의 한계 • Summary
SPAM관련 침해사례
도메인 유용 메일의 From 헤더에 [email protected] 라고 적혀있으면 spammer.com 을 관리하는 DNS를 통해서 해당 메일이 실제 spammer.com에서 설정한 IP와 수신된 메일헤더의 IP와 비교해서 다르면 수신을 거부하게 된다. 즉, 실제로 hanmail.net에서 보내지 않지 않았으면서 메일주소는 @hanmail.net 로 속여서 발송되는 메일은 필터링이 가능하게 되는 것이다.
첨부파일로 악성코드 전파
악성코드 전파 및 차단 방안
출처 : http://biz.chosun.com/site/data/html_dir/2016/04/29/2016042900679.html
스피어피싱의 공격 프로세스
랜섬웨어
• 몸값(Ransome) + 소프트웨어(Software)
• 감염 경로
Ransomeware 공격 기법
Mail Routing 구조
내부망
DMZ
IT 외부 메일 차단/포워딩
스팸 · 악성 코드 차단
이메일 ㄱ,룹웨어
사내 PC
층간 스위치 콜센터 IP Phone
인터넷 망 (외부 망)
업무 망 (내부 망)
업무 망 전용 PC 인터넷 망 전용 PC
I T 본부 직원 (약 OOO 명)
내근직원 (약 O,OOO 명)
일반 PC
FC (약 OO,OOO 명)
망 연계 솔루션
인터넷
(외부) 이메일
(외부|내부) 이메일
물리적 망 분리
그룹 쉐어드 서비스
그룹사 직원
③
①
②
④
⑤ ⑥
사용자 라우팅
⑦
보안 솔루션의 위치는?
Mail Server
SPAM솔루션의 구조
스팸 룰 적용 필드 정보 IP ADDRESS SIZE FROM
TO
SUBJECT
BODY
ATT_NAME
1 2 3
4
5
6
7
원본 보기
원본 메일 보기
SPAM 방지 기법
스팸 방지 기법
• SPF(Sender Policy Framework) Record
- SPF 레코드는 도메인을 대표하여 이메일을 보낼 수 있는 메일 서버를
식별하는 DNS(Domain Name Service) 레코드의 한 유형
SPF Record 해석하기
_spfblocka.naver.com text = "v=spf1 ip4:114.111.32.0/24 ip4:61.247.200.0/23 ip4:121.189.42.0/24 ip4:114.111.38.0/24 ip4:114.111.39.0/24 ip4:114.111.40.0/24 ~all“
정답
naver.com 을 발신 메일 주소의 도메인으로
지정한 메일 중 114.111.32.0/24 C클래스
(114.111.32.0~2114.111.32.255)에서
발송되지 않은 메일은 스팸처리하세요.
단, 완전히 반송시키지는 말고 grey 처리하여
광고(스팸)편지함으로 분류해주세요.
구조적 한계
중앙규칙 - Black IP - 차단 패턴
차단 규칙 개인 규칙
Machine Learning
Inference Training
Actuator
부장님 출근 하셨나요? 차가 주차장에 있었어요
100억개의 neurons
60조의 synapses
Distributed Processing
Non linear Processing
Parallel Processing
Central Processing
Arithmetic operation’ (linearity)
Sequential Processing
Machine Learning IN Spam
• Bayesian Spam Filtering
• Multiple-Word Feature
• Markovian Filtering
Bayesian Spam Filtering
• 기본 원리
– 메일에 포함된 개별 단어의 스팸성(spamicity, spamness) 측정
– 메일에 포함된 단어들의 스팸성을 결합하여 메일 자체가 스팸일 가능성을 측정
Bayes' Theorem 수학적 이론 가정) •총 74개중에 30개의 이메일은 스팸 메세지다.
•74개중 51개의 이메일은 penis를 포함하고 있다.
•penis란 단어가 들어가있는 20개의 이메일을 스팸으로 분류했다.
P(A|B) - 사건B가 발생한 상태에서 사건A가 발생할 조건부 확률. P(B|A) - 사건A가 발생한 상태에서 사건B가 발생할 조건부 확률. P(A) - 사건A가 발생할 확률, B에 대한 어떠한 정보도 없는 상태에서 A가 발생할 확률. P(B) - 사건B가 발생할 확률, A에 대한 어떠한 정보도 없는 상태에서 B가 발생할 확률.
http://www.mimul.com/pebble/default/2012/04/03/1333431077222.html
Multiple-Word Feature(1)
Multiple-Word Feature(2)
Markovian Filtering(1)
Markovian Filtering(2)
Open Source의 적용
Open Source를 활용한 개선
Sendmail MTA → 3 DNSBL → SPF-Milter → Clamav-Milter → SpamAssassin → Procmailrc
Clamav 는 Open-Source antivirus 솔루션이며, 방대하게 이용되고 있다. clamav 는 CORE 엔진이며, clamav-milter 는 sendmail MTA 로 전송되는 메일의 구문이나, 첨부 파일에서 바이러스 패턴을 검색하는 역할
SpamAssassin 은 스팸 메일을 골라서 차단 또는 분류해 주는 프로그램 Rule을 기반하여 header와 body를 분석하거나 실시간 차단리스트(internet-based realtime blacklists(RBL))을 참고하여 각각의 룰에 매칭될 경우 +나 – 점수를 매겨 총 점수가 기존점을 초과하는지 여부에 따라 스팸인지 여부를 결정
SpamAssassin 베이지안 필터 학습 SpamAssassin 필터의 많은 스팸 차단 규칙 중 베이지안 필터가 존재합니다. 베이지안 필터는 메일 메시지의 내용 및 헤더에서 여러 특징점을 추출해 스팸 확률 값을 계산하는 인공지능 필터로 올바르게 동작하기 위해서는 학습이라는 과정이 필요합니다. 학습된 데이터를 기반으로 수신한 메일의 스팸 확률을 계산하는 필터
메일 메시지를 정상 또는 스팸으로 학습시키기 위해서는 메일 메시지 원본 파일(eml)이 필요. 아웃룩에서 저장한 msg 파일은 사용할 수 없음 정상 메일로 학습 윈도우 탐색기를 사용해 [설치 폴더/SpamAssassin/learn/ham]으로 이동 정상 메일로 학습 시키기를 원하는 eml 파일(들)을 해당 폴더로 복사합니다. 메일캐리어는 자동으로 해당 eml을 읽어 정상 메일로 학습 학습이 끝난 eml은 자동으로 삭제 스팸 메일로 학습 윈도우 탐색기를 사용해 [설치 폴더/SpamAssassin/learn/spam]으로 이동 스팸 메일로 학습 시키기를 원하는 eml 파일(들)을 해당 폴더로 복사합니다. 메일캐리어는 자동으로 해당 eml을 읽어 스팸 메일로 학습 학습이 끝난 eml은 자동으로 삭제
SpamAssassin
실 적용시의 한계
• 운영상의 한계
• 책임소재의 제약
• Open Source활용 시 Learning Curb
• Reference빈약
Deep Instinct AI Based Cybersecurity
참고 자료
• http://www.slideshare.net/taeyounglee1447/the-backpropagation-learning-procedure
• http://www.slideshare.net/taeyounglee1447/denoising-auto-encodersd-a
• http://www.slideshare.net/taeyounglee1447/neural-network-49865665
• SPAM Sniper
• Spam Assassin
• 기계학습기법으로 스팸 메일 걸러내기 – 카이스트 김정주님 자료
• https://www.krcert.or.kr/ransomware/information.do