1
A萎I H窺C QU渦C GIA TP. H唄 CHÍ MINH
TR姶云NG A萎I H窺C KHOA H窺C T衛 NHIÊN
KHOA CÔNG NGH烏 THÔNG TIN
D浦 MÔN H烏 TH渦NG THÔNG TIN
LÊ NGUYN BÁ DUY –TRN MINH TRÍ
TÌM HI韻U CÁC H姶閏NG TI蔭P C一N PHÂN LO萎I
EMAIL VÀ XÂY D衛NG PH井N M陰M MAIL CLIENT
J姥 TR営 TI蔭NG VI烏T
KHOÁ LU一N C盈 NHÂN TIN H窺C
TP. HCM, N;M 2005
2
A萎I H窺C QU渦C GIA TP. H唄 CHÍ MINH
TR姶云NG A萎I H窺C KHOA H窺C T衛 NHIÊN
KHOA CÔNG NGH烏 THÔNG TIN
D浦 MÔN H烏 TH渦NG THÔNG TIN
LÊ NGUY右N BÁ DUY -0112050
TR井N MINH TRÍ -0112330
TÌM HI韻U CÁC H姶閏NG TI蔭P C一N PHÂN LO萎I
EMAIL VÀ XÂY D衛NG PH井N M陰M MAIL CLIENT
J姥 TR営 TI蔭NG VI烏T
KHOÁ LU一N C盈 NHÂN TIN H窺C
GIÁO VIÊN H姶閏NG D郁N
TH井Y LÊ A永C DUY NHÂN
NI ÊN KHÓA 2001-2005
3
N云I C謂M 愛N
Trc tiên, chúng tôi xin chân thành cm n thy Lê c Duy Nhân, ngi
2. 2.2 Ma il Bl ackl i sts /Whit el ists: 16
2.2.3 Mail volume : 18
2. 2.4 Sign ature/ Checksum schemes: . 19
2.2.5 Genetic Algorithms: 20
2.2.6 Ru le-Based (hay là Heuristic): 21
2.2.7 Challenge-Response: 22
2.2.8 Machine Learning ( Máy hc ): 23
2.3 Phng pháp la chn : 24
2.4 Các ch sánh giá hiu qu phân loi email : 24
2.4.1 Spam Recall và Spam Precision: 24
2.4.2 T l li Err (Error) và t l chính xác Acc(Accuracy) : 25
2.4.3 T l li gia trng WErr (Weighted Error ) và t l chính xác gia trng (Weighted
Accuracy): 25
2.4.4 T s chi phí tng hp TCR (Total Cost Ratio ): 26
Ch逢挨ng 3 : GI閏I THI烏U CÁC KHO NG頴 LI烏U DÙNG KI韻M TH盈
PHÂN LO萎I EMAIL 28
3.1 Kho ng liu PU (corpus PU ): 29
3.1.1 Vài nét v kho ng liu PU: 29
3.1.2 Mô t cu trúc kho ng liu PU: 30
3.2 Kho ng liu email ch: 31
Ch逢挨ng 4 : PH姶愛NG PHÁP PHÂN LO萎I NAÏVE BAYESIAN VÀ 永NG
D影NG PHÂN LO萎I EMAIL 33
4.1 Mt vài khái nim xác sut có liên quan 34
4.1.1 nh ngha bin c, xác sut : 34
4.1.2 Xác sut có u kin, công thc xác sut y – công thc xác sut Bayes35
4.2 Phng pháp phân loi Naïve Bayesian : 36
4.3 Phân loi email bng phng pháp Naïve Bayesian : 37
4.3.1 Phân loi email da trên thut toán Naïve Bayesian 38
4.3.2 Chn ngng phân loi email : 39
Ch逢挨ng 5 : TH衛C HI烏N VÀ KI韻M TH盈 PHÂN LO萎I EMAIL D衛A
7.1.4 Phân loi email : 76
7.2 Th nghim hiu qu phân loi : 76
7.2.1 Th nghim vi kho ng liu pu: 76
7.2.2 Th nghim vi kho ng liu email ch: 79
7.3 u – nhc m ca phng pháp phân loi AdaBoost: 80
7.3.1 u m : 80
7.3.2 Khuyt m : 80
Ch逢挨ng 8 : XÂY D衛NG CH姶愛NG TRÌNH MAIL CLIENT TI蔭NG VI烏T
H姥 TR営 PHÂN LO萎I EMAIL 82
8.1 Chc nng: 83
8.2 Xây dng b lc email spam : 83
8.3 T chc d liu cho chng trình : 84
8.4 Giao d in ngi dùng : 85
8.4.1 S màn hình : 85
8.4.2 Mt s màn hình chính : 85
Ch逢挨ng 9 : T蔚NG K蔭T VÀ H姶閏NG PHÁT TRI韻N 94
9.1 Các vic ã thc hin c : 95
9.2 Hng ci tin, m rng : 95
9.2.1 V phân loi và lc email spam: 95
9.2.2 V chng trình Mail Client: 96
TÀI LI烏U THAM KH謂O 97
Ting Vit : 97
Ting Anh : 97
Ph映 l映c 99
6
Ph映 l映c 1 : K院t qu違 th穎 nghi羽m phân lo衣i email b茨ng ph逢挨ng pháp Bayesian
v噂i kho ng英 li羽u h丑c và ki吋m th穎 pu 99
Ph映 l映c 2 : K院t qu違 th穎 nghi羽m phân lo衣i email b茨ng ph逢挨ng pháp
AdaBoost v噂i kho ng英 li羽u h丑c và ki吋m th穎 pu 103
9
λ=
) 57
Hình 5-7 Lc ch s TCR theo s token th nghim trên kho ng liu PU3 vi
công thc 5-6 (
9
λ=
) 57
Hình 5-8 Lc so sánh các ch s spam recall (SR) và spam precision (SP) theo
s token th nghim trên kho ng liu PUA vi công thc 5-5 (
9
λ=
) 59
Hình 5-9 Lc ch s TCR theo s token th nghim trên kho ng liu PUA
vi công thc 5-5 (
9
λ=
) 59
8
Danh mc các bng:
Bng 3-1Mô t cu trúc kho ng liu PU 31
Bng 5-1 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PU1 52
Bng 5-2 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PU2 54
Bng 5-3 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PU3 56
Bng 5-4 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PUA 58
hu ht là các chuyên gia v máy tính, h có th gi hàng tá thm chí hàng trm
email n các nhóm tin (newsgroup) và spam hu nh ch liên quan n các email
gi n các nhóm tin Usenet, gây ra tình trng không th kim soát c các email
nhn. Sau ó các bin pháp trng tr v mt xã hi và hành chính ã có tác dng,
th phm ã b trng pht , công khai hay bí mt, nhng ngi này nhanh chóng
c a vào mt danh sách, và mt k thut lc spam sm nht xut hin ó là
”bad sender” – lc email ca nhng ngi gi c xem là xu.
WWW(World-Wide Web) ã mang th gii Internet n nhiu ngi, và h
qu ca nó là nhiu ngi không phi là chuyên gia trong th gii máy tính cng
c tip xúc nhiu vi Internet, nó cho phép truy cp n nhng thông tin và dch
v mà trc ây là không c phép. Ch trong vòng 2-3 nm chúng ta ã chng
kin s bùng n s ngi s dng Internet và tt nhiên là nhng c hi qung cáo
trên y. Và spam ã phát trin mt cách nhanh chóng tây, nhng k thut ngn
11
chn spam trc ây ã không còn thích hp. Spam thng theo sau nhng qung
cáo thng mi chèo kéo khách hàng ( nhng email qung cáo thng mi c gi
mà không có yêu cu ) [2]. Spam ã và ang gây tác hi n ngi s dng Internet
và tc ng truyn Internet. Vi ngi s dng email, spam gây cho h cm
giác bc bi và phi mt thi gian và tin bc xóa chúng,ôi khi h có th b
mt nhng email quan trng ch vì xóa nhm, tc trên mng xng sng ca
Internet (Internet Backbone) cng b spam là cho chm li vì s lng spam c
chuyn i trên mng là cc ln [3]. Theo thng kê ca ZDNet thi m nm
2004, mi ngày có khong 4 t email spam c phát tán qua Internet, trên 40%
ng email trên mng là spam
1
, gn ây ã t con s 50%
2
. Cho dù c nhn
din là “k thù ca cng ng“(“public enemy”) Internet, nhng spam ã và ang
và chng email spam,ng thi có s nhn xét ánh giá các phng
pháp, tó có c s chn la hng tip cn gii quyt vn .
§ Chng 3 : Gii thiu và mô t v c s d liu dùng hc và kim th
Hai chng tip theo, chúng tôi trình bày c s lý thuyt và thc hin
phân loi email theo phng pháp Bayesian.
§ Chng 4: Trình bày c s lý thuyt cho hng tip cn da trên phng
pháp Bayesian.
§ Chng 5: Thc hin phân loi email d trên phng pháp Bayesian và
kim th.
Hai chng tip theo, chúng tôi trình bày c s lý thuyt và thc hin
phân loi email theo phng pháp AdaBoost
§ Chng 6: Trình bày c s lý thuyt cho hng tip cn da trên thut
toán AdaBoost.
§ Chng 7: Thc hin phân loi d trên phng pháp AdaBoost và kim
th.
13
§ Chng 8: Xây dng phn mm email Client ting Vit h tr phân loi
email
§ Chng 9: Tng kt, trình bày v nhng vn ã thc hin, nhng kt
qut c, xut hng m rng, phát trin trong tng lai.
14
Ch逢挨ng 2 : T蔚NG QUAN
15
2.1 Các cách th泳c con ng逢運i x穎 lý v噂i spam :
Trên th gii ã có nhiu t chc, công ty phát trin nhiu cách thc khác
nhau gii quyt vn spam. Có nhiu h thng c xây dng sn mt “danh
sách en” (Blacklist ) cha các tên min mà tó spam c to ra và phát tán, và
li vi dch vó và dch v này s t chi cung cp dch v cho các
spammer dùng gi spam.
• A員c 8k吋m :
ây cng là gii pháp chng spam u tiên. Nhng li than
phin cng có tác dng ca nó. Nhng ni gi spam s b vô hiu hóa,
khi ó các spammer phi ng ký mt tài khon mi vi nhà cung cp
dch v ISP có th tip tc phát tán các email spam ca mình. Dn
dn vic chuyn ni cung cp dch v s làm các spammer tn nhiu
chi phí và khi chúng ta phát hin càng sm thì chi phí trên ca các
spammer càng tng nhiu.
Cách này cng gp phi nhng khó khn ó là không th bit
chính xác nhng email spam này thc sn tâu do các spammer
ã khéo léo che giu i phn header ca email n i ngun gc. Do
ó cn phi hiu bit v header ca email hiu rõ email spam này
tht s n t âu.
2.2.2 Mail Blacklists /Whitelists:
• Ý t逢荏ng:
Mt danh sách en (Blacklist) các a ch email hay các máy
ch email (mail server) chuyên dùng ca các spammer sc thit
17
lp và da vào ó ta có th ngn chn nhn email spam c phát tán
t nhng ni này.
Vic thit lp danh sách các a ch email en hay máy ch gi
email này s do mt nhóm tình nguyn xác nhn. Mt s nhà cung cp
dch v mng ISP s dùng danh sách en kiu này và tng t chi
nhn email t nhng máy ch hay email trong dánh sách ó. Nh
vy, nhng email spam sc phân loi và chn ngay ti máy ch
nhn email.
• A員c 8k吋m:
c t mt máy ch (host) c th trong các ln kt ni sau cùng
(cách này ã c b lc Spamshield
3
ca Kai s dng. Nu s
ng email nhn c ln hn mt ngng nào ó thì các email ó
sc phân loi là spam.
• A員c 8k吋m:
B lc t ra hiu qu trong vic phân loi úng tt c các email
hp l trong iu kin vi mt ngng phân loi cao.Nu b lc
c s dng cho cá nhân, thì nó hot ng rt hiu qu. Có th xem
ây là mt u im ca b lc bi vì vi email cá nhân thì nhng k
gi email qung cáo phi thit lp nhiu kt ni hn gi mt s
ng email ging nhau. u này làm cho các email qung cáo ó d
dàng b phát hin da trên vic phân tích s lng email.
Mt hn ch ca b lc này là t l chp nhn phân loi sai
FAR (false acceptance rate) ca nó còn khá cao. Vi:
3
19
SN
S
n
FAR
n
→
=
SN
n
→
B lc này c ng dng ti mc server,c các nhà cung
cp dch v mng (ISP) s dng.
Theo P.Graham [5], b lc kiu này ch lc khong 50-70%
spam
u im ca b lc này là ít khi phân loi sai email non-spam.
Brightmail
4
là phn mm chng spam da trên hng tip cn
này. Cách hot ng ca nó là to ra mt mng li các a ch email
gi. Bt kì email nào c gi n nhng a ch này thì u là spam
vì vi nhng email hp l thì him khi li c gi n nhng a ch
gi này. Vì vy, khi b lc nhn thy nhng email ging nhau gi n
mt a ch giã c to ra này thì nó s lc ra B lc phân bit
nhng email ging nhau da vào “signatures” ca chúng.
2.2.5 Genetic Algorithms:
• Ý t逢荏ng:
B lc da trên thut toán di truyn (Genetic Algorithms) s
dng các b nhn dng c trng (“fearture detectors”) ghi m
(score) cho mi email. Thc t, nhng “fearture detectors” này là mt
tp các lut c xây dng da trên các kinh nghim ã có (empirical
rules) và áp dng vào mi email thu v mt giá tr s.
Thut toán di truyn này c biu din là nhng cây (trees)
và c kt hp vi mt tp hun luyn cùng vi mt hàm thích hp
“fitness function”.
4
21
ch tin hóa (Evolutionary mechanism) ca thut toán
:thut tóan thc hin hai thao tác c bn là phép lai “crossover” và t
nhau rt nhiu. Cách n gin nht là loi b các email mà có cha
nhng t xu nào ó (ví d nhng t mà thng xut hin nhiu hay
ch xut hin trong spam). Nhng ây cng là im yu các
spammer có th li dng qua mt các b lc kiu này bng cách c
gng tránh s dng nhng t xu và thay bng nhng t “tt” -c
s dng nhiu trong email non-spam. Trong khi ó các email non-
spam thì b loi b nu vô tình cha mt vài t “xu” dng này. iu
này, dn n kh nng lc sai còn cao.
Mt u bt li khác là các lut dng này u là tnh. Khi các
spammer tìm ra c mt phng pháp mi t qua thì nhng
ngi vit trình lc li phi vit nhng lut mi lc các spam.
Nhng spammer chuyên nghip thì có th kim tra c nhng email
trên các h thng lc da trên lut trc khi gi chúng i.
Nu b lc c xây dng da trên lut phc tp thì vn phát
huy tác dng lc spam hiu qu. Ví d nh trình lc Spamassassin
lc lên n 90-95% spam.
Mt u thun li là b lc da trên lut tnh thì d cài t.
2.2.7 Challenge-Response:
• Ý t逢荏ng:
Khi bn nhn c email t ai ó mà cha h gi cho bn trc
ó thì h thng lc challenge-response
6
gi ngc li 1 email yêu cu h
phi n 1 trang web và in y thông tin vào form trc khi email
chuyn cho ngi dùng.
• A員c 8k吋m:
6
/>
23
Li th ca h thng này là lt li rt ít spam. u bt li ca
phân loi email bng phng pháp máy hc, phng pháp này có hiu qu cao,
ng thi cng rt khó b các spammer vt qua. Ngoài ra, hng tip cn này
có th áp dng c mc Client
C th hng tip cn mà nhóm chúng tôi tìm hiu và th nghim là
phân loi email da trên thut toán hun luyn Naïve Bayes và Adaboost, hai
phng pháp này có mt s u im sau:
§ Hiu qu phân loi trong các lnh phân loi vn bn, nhn dng
ã c kim chng và khá cao
§ Thích hp cho tng ngi dùng c th và mc Client
§ Có kh nng t hc phân loi úng.
§ ng tip cn còn khá mi.
2.4 Các ch雨 s嘘"8ánh giá hi羽u qu違 phân lo衣i email :
2.4.1 Spam Recall và Spam Precision:
tin li cho vic so sánh, ngi ta a ra hai ch sánh giá là spam
recall và spam precision.
Spam recall là t l phn trm gia s email –c b lc coi là spam - b
chn li và tng s email spam (thc s ) n b lc
Spam Precision là t l phn trm gia s email b chn thc s là spam
vi s email b chn -c b lc coi là spam, spam precision ánh giá mc
an toàn ca b lc.
Công thc tính Spam Recall (SR) và Spam Precision(SP) nh sau:
SS
SS SN
n
SR
nn
−>
−> −>
=
+
NN
−> −>
+
=
+
Công th泳c 2-3 :công th泳c tính t雨 l羽 chính xác
NS SN
NS
nn
Err
NN
−> −>
+
=
+
Công th泳c 2-4 : công th泳c tính t雨 l羽 l厩i
Vi
•
N
N và
S
N là s email non-spam và s email spam cn phân loi
•
NN
n
>−
là s email là non-spam và c b lc nhn ra là non- spam
•
SN
n