machine learning in spam

50
Machine Learning IN SPAM Produced by Tae Young Lee

Upload: tae-young-lee

Post on 21-Jan-2017

328 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Machine learning in spam

Machine Learning IN SPAM

Produced by Tae Young Lee

Page 2: Machine learning in spam

Overview

• SPAM 관련 침해사례 • Mail Routing구조 • SPAM솔루션의 구조 • SPAM 방지 기법 • 구조적 한계 • Machine Learning • 오픈 소스의 적용 • 실 적용시의 한계 • Summary

Page 3: Machine learning in spam

SPAM관련 침해사례

Page 4: Machine learning in spam

도메인 유용 메일의 From 헤더에 [email protected] 라고 적혀있으면 spammer.com 을 관리하는 DNS를 통해서 해당 메일이 실제 spammer.com에서 설정한 IP와 수신된 메일헤더의 IP와 비교해서 다르면 수신을 거부하게 된다. 즉, 실제로 hanmail.net에서 보내지 않지 않았으면서 메일주소는 @hanmail.net 로 속여서 발송되는 메일은 필터링이 가능하게 되는 것이다.

Page 5: Machine learning in spam

첨부파일로 악성코드 전파

Page 6: Machine learning in spam

악성코드 전파 및 차단 방안

Page 7: Machine learning in spam

출처 : http://biz.chosun.com/site/data/html_dir/2016/04/29/2016042900679.html

Page 8: Machine learning in spam

스피어피싱의 공격 프로세스

Page 9: Machine learning in spam

랜섬웨어

• 몸값(Ransome) + 소프트웨어(Software)

• 감염 경로

Page 10: Machine learning in spam

Ransomeware 공격 기법

Page 11: Machine learning in spam

Mail Routing 구조

Page 12: Machine learning in spam

내부망

DMZ

IT 외부 메일 차단/포워딩

스팸 · 악성 코드 차단

이메일 ㄱ,룹웨어

사내 PC

층간 스위치 콜센터 IP Phone

인터넷 망 (외부 망)

업무 망 (내부 망)

업무 망 전용 PC 인터넷 망 전용 PC

I T 본부 직원 (약 OOO 명)

내근직원 (약 O,OOO 명)

일반 PC

FC (약 OO,OOO 명)

망 연계 솔루션

인터넷

(외부) 이메일

(외부|내부) 이메일

물리적 망 분리

그룹 쉐어드 서비스

그룹사 직원

⑤ ⑥

사용자 라우팅

Page 13: Machine learning in spam
Page 14: Machine learning in spam

보안 솔루션의 위치는?

Mail Server

Page 15: Machine learning in spam

SPAM솔루션의 구조

Page 16: Machine learning in spam
Page 17: Machine learning in spam
Page 18: Machine learning in spam

스팸 룰 적용 필드 정보 IP ADDRESS SIZE FROM

TO

SUBJECT

BODY

ATT_NAME

1 2 3

4

5

6

7

Page 19: Machine learning in spam

원본 보기

Page 20: Machine learning in spam

원본 메일 보기

Page 21: Machine learning in spam

SPAM 방지 기법

Page 22: Machine learning in spam

스팸 방지 기법

• SPF(Sender Policy Framework) Record

- SPF 레코드는 도메인을 대표하여 이메일을 보낼 수 있는 메일 서버를

식별하는 DNS(Domain Name Service) 레코드의 한 유형

Page 23: Machine learning in spam

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“

Page 24: Machine learning in spam

정답

naver.com 을 발신 메일 주소의 도메인으로

지정한 메일 중 114.111.32.0/24 C클래스

(114.111.32.0~2114.111.32.255)에서

발송되지 않은 메일은 스팸처리하세요.

단, 완전히 반송시키지는 말고 grey 처리하여

광고(스팸)편지함으로 분류해주세요.

Page 25: Machine learning in spam

구조적 한계

Page 26: Machine learning in spam

중앙규칙 - Black IP - 차단 패턴

차단 규칙 개인 규칙

Page 28: Machine learning in spam
Page 29: Machine learning in spam

Machine Learning

Page 30: Machine learning in spam

Inference Training

Actuator

Page 31: Machine learning in spam

부장님 출근 하셨나요? 차가 주차장에 있었어요

Page 32: Machine learning in spam
Page 33: Machine learning in spam
Page 34: Machine learning in spam

100억개의 neurons

60조의 synapses

Distributed Processing

Non linear Processing

Parallel Processing

Central Processing

Arithmetic operation’ (linearity)

Sequential Processing

Page 35: Machine learning in spam
Page 36: Machine learning in spam
Page 37: Machine learning in spam

Machine Learning IN Spam

• Bayesian Spam Filtering

• Multiple-Word Feature

• Markovian Filtering

Page 38: Machine learning in spam

Bayesian Spam Filtering

• 기본 원리

– 메일에 포함된 개별 단어의 스팸성(spamicity, spamness) 측정

– 메일에 포함된 단어들의 스팸성을 결합하여 메일 자체가 스팸일 가능성을 측정

Page 39: Machine learning in spam

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

Page 40: Machine learning in spam

Multiple-Word Feature(1)

Page 41: Machine learning in spam

Multiple-Word Feature(2)

Page 42: Machine learning in spam

Markovian Filtering(1)

Page 43: Machine learning in spam

Markovian Filtering(2)

Page 44: Machine learning in spam

Open Source의 적용

Page 45: Machine learning in spam

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))을 참고하여 각각의 룰에 매칭될 경우 +나 – 점수를 매겨 총 점수가 기존점을 초과하는지 여부에 따라 스팸인지 여부를 결정

Page 46: Machine learning in spam

SpamAssassin 베이지안 필터 학습 SpamAssassin 필터의 많은 스팸 차단 규칙 중 베이지안 필터가 존재합니다. 베이지안 필터는 메일 메시지의 내용 및 헤더에서 여러 특징점을 추출해 스팸 확률 값을 계산하는 인공지능 필터로 올바르게 동작하기 위해서는 학습이라는 과정이 필요합니다. 학습된 데이터를 기반으로 수신한 메일의 스팸 확률을 계산하는 필터

메일 메시지를 정상 또는 스팸으로 학습시키기 위해서는 메일 메시지 원본 파일(eml)이 필요. 아웃룩에서 저장한 msg 파일은 사용할 수 없음 정상 메일로 학습 윈도우 탐색기를 사용해 [설치 폴더/SpamAssassin/learn/ham]으로 이동 정상 메일로 학습 시키기를 원하는 eml 파일(들)을 해당 폴더로 복사합니다. 메일캐리어는 자동으로 해당 eml을 읽어 정상 메일로 학습 학습이 끝난 eml은 자동으로 삭제 스팸 메일로 학습 윈도우 탐색기를 사용해 [설치 폴더/SpamAssassin/learn/spam]으로 이동 스팸 메일로 학습 시키기를 원하는 eml 파일(들)을 해당 폴더로 복사합니다. 메일캐리어는 자동으로 해당 eml을 읽어 스팸 메일로 학습 학습이 끝난 eml은 자동으로 삭제

Page 47: Machine learning in spam

SpamAssassin

Page 48: Machine learning in spam

실 적용시의 한계

• 운영상의 한계

• 책임소재의 제약

• Open Source활용 시 Learning Curb

• Reference빈약

Page 49: Machine learning in spam

Deep Instinct AI Based Cybersecurity

Page 50: Machine learning in spam

참고 자료

• 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