MỞ ĐẦUThư rác spam là thư điện tử được gửi hàng loạt với nội dung mà người nhận không mong đợi, không muốn xem, hay chứa những nội dung không liên quan đếnngười nhận và thường được sử dụ
Trang 1ĐINH QUANG THÁI
NGHIÊN CỨU PHƯƠNG PHÁP LỌC SPAM VÀ ỨNG DỤNG TRONG BẢO MẬT HỆ THỐNG THƯ ĐIỆN TỬ TẠI
SỞ THÔNG TIN VÀ TRUYỀN THÔNG TỈNH NAM ĐỊNH
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Nguyễn Ngọc Cương
Thái Nguyên - 2013
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan rằng, đây là công trình nghiên cứu của tôi trong đó có sựgiúp đỡ tận tình của thầy hướng dẫn và các thầy cô tại Học viện An ninh nhân dân,
sự hỗ trợ của các đồng nghiệp tại Sở Thông tin và Truyền thông Nam Định Các nộidung nghiên cứu và kết quả trong đề tài này là hoàn toàn trung thực
Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đãđược liệt kê tại phần Tài liệu tham khảo ở cuối luận văn
Thái Nguyên, ngày 15 tháng 7 năm 2013
Tác giả
ĐINH QUANG THÁI
Trang 3LỜI CẢM ƠN
Để hoàn thành chương trình Cao học và viết luận văn này, tôi đã nhận được
sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của quý thầy cô trường Đại học Côngnghệ Thông tin và Truyền thông Thái Nguyên
Trước hết, tôi xin chân thành cảm ơn đến quý thầy cô trường Đại học Côngnghệ Thông tin và Truyền thông - Đại học Thái Nguyên, các thầy cô Học viện Anninh nhân dân, đặc biệt là những thầy đã tận tình dạy bảo cho tôi trong suốt thờigian học tập tại trường
Tôi xin gửi lời biết ơn sâu sắc đến Tiến sĩ Nguyễn Ngọc Cương - Học viện
An ninh nhân dân đã dành rất nhiều thời gian và tâm huyết hướng dẫn nghiên cứu
và giúp tôi hoàn thành luận văn tốt nghiệp
Nhân đây, tôi xin chân thành cảm ơn Ban giám hiệu trường Đại học Côngnghệ Thông tin và Truyền thông đã tạo rất nhiều điều kiện để tôi học tập và hoànthành tốt khóa học
Mặc dù tôi đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình
và năng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, tôi rất mongnhận được những đóng góp quí báu của quý thầy cô và các bạn
Lời cảm ơn sau cùng tôi xin dành cho gia đình và những người bạn đã hếtlòng quan tâm và tạo điều kiện tốt nhất để tôi hoàn thành luận văn tốt nghiệp này!
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày 15 tháng 7 năm 2013
Học viên thực hiệnĐinh Quang Thái - Lớp CK10ATrường Đại học CNTT&TT – Đại học Thái Nguyên
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC CÁC HÌNH v
DANH MỤC CÁC BẢNG vii
DANH MỤC TỪ VIẾT TẮT viii
MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ THƯ ĐIỆN TỬ VÀ SPAM 3
1.1 Các khái niệm cơ bản 3 1.1.1 Thư điện tử là gì? 3
1.1.2 Cấu trúc chung của một địa chỉ thư điện tử 3
1.1.3 Sự khác biệt giữa thư điện tử với thư bưu chính 3
1.1.4 Thư rác là gì? 4
1.1.5 Các loại thư rác 5
1.1.6 Tác hại của thư rác 6
1.2 Phương thức trao đổi thông tin qua dịch vụ Email 7 1.2.1 Mô hình trao đổi thông tin dựa trên email 7
1.2.2 Giao thức và ngôn ngữ sử dụng 9
1.3 Các phần mềm lọc nội dung mail ở trong và ngoài nước 11 Chương 2: CÁC PHƯƠNG PHÁP GỬI VÀ KỸ THUẬT LỌC EMAIL - SPAM 14
2.1 Các kỹ thuật gửi mail nặc danh và Bomb Mail 14 2.1.1 Thu thập địa chỉ email 14
2.1.2 Tìm kiếm các máy tính trên Internet cho phép gửi thư 17
2.1.3 Boml Mail 19
2.2 Mô hình và nguyên lý hoạt động của hệ thống lọc nội dung Mail 21 2.2.1 Mô hình hệ thống lọc mail 21
2.2.2 Kiến trúc tổng quan của hệ thống lọc mail 23
2.2.3 Các kỹ thuật lọc nội dung thông tin qua mail 25
2.2.4 Kỹ thuật lọc Spam 28
Chương 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐỀ XUẤT CÁC GIẢI PHÁP PHÒNG CHỐNG SPAM 42
3.1 Xây dựng chương trình lọc spam cho các ứng dụng thư điện tử 42 3.1.1 Nhiệm vụ của chương trình 42
3.1.2 Các công nghệ sử dụng 42
3.1.3 Các chức năng chính của chương trình 43
Trang 53.2 Thử nghiệm hệ thống thư điện tử tại Sở Thông tin và Truyền thông tỉnh Nam
3.2.1 Khảo sát việc sử dụng mail tại Sở Thông tin và Truyền thông tỉnh Nam
Định 44
3.2.2 Dữ liệu thử nghiệm 45
3.2.3 Phương pháp thử nghiệm 46
3.2.4 Thử nghiệm chương trình 47
3.2.4 So sánh phương pháp phân loại 53
3.2.5 Lựa chọn độ dài và số lượng đặc trưng 54
3.2.6 Phân biệt theo ngôn ngữ trước khi lọc 56
3.2.7 Nhận xét kết quả thử nghiệm 56
3.3 Đề xuất các giải pháp phòng chống spam 57 3.3.1 Giải pháp phòng chống tại mail server 57
3.3.2 Giải pháp phòng chống tại mail client 62
3.3.3 Giải pháp phía người sử dụng mail 65
KẾT LUẬN CHUNG 67
TÀI LIỆU THAM KHẢO 68
Trang 6DANH MỤC CÁC HÌNH
Hình 1.1: Mô hình lưu chuyển thư điện tử qua Internet 7
Hình 1.2: Mô hình gửi và nhận thư điện tử sử dụng giao thử SMTP 10
Hình 1.3: Mô hình gửi và nhận thư điện tử dùng giao thức IMAP và POP 10
Hình 1.4: Phần mềm lọc nội dung mail 11
Hình 2.1: Ví dụ về trang web lấy cắp địa chỉ email của người dùng 15
Hình 2.2: Một số website của các công ty gửi thư rác 17
Hình 2.3: Minh họa cách gửi thư rác qua mail server (open relay) 18
Hình 2.4: Các phương án bộ trí hệ thống lọc thư 22
Hình 2.5: Kiến trúc chung của hệ thống lọc thư 24
Hình 2.6: Mô hình tổng quát lọc thư rác Tiếng Việt 28
Hình 2.7: Lưu lượng thư trong một môi trường SPF 32
Hình 2.8: Cách thức làm việc của SPF 33
Hình 2.9: Lọc thư rác bằng phương pháp chặn IP 34
Hình 2.10: Thông tin header của email 40
Hình 3.1: Nhiệm vụ của chương trình lọc thư rác 42
Hình 3.2: Chức năng của phần mềm lọc thư rác 44
Hình 3.3: Giao diện form thiết lập thông số huấn luyện hệ thống 47
Hình 3.4: Lựa chọn thư mục chứa các thư mẫu cho việc huấn luyện 48
Hình 3.5: Giao diện form đã tiến hành huấn luyện tập mẫu thư thường 49
Hình 3.6: Giao diện thiết lập danh sách hòm thư cần chặn lọc 49
Hình 3.7: Cửa sổ xác nhận việc cập nhật danh sách hòm thư cần chặn lọc 50
Hình 3.8: Giao diện thiết lập từ khóa cần chặn lọc 50
Hình 3.9: Cửa sổ xác nhận việc cập nhật danh sách từ khóa cần chặn lọc 50
Hình 3.10: Xác nhận sử dụng tính năng lọc thư rác của chương trình 51
Hình 3.11: Hòm thư khi chưa chạy chương trình lọc thư rác 51
Hình 3.12: Thống kê kết quả lọc thư rác của chương trình 52
Hình 3.13: Thư rác đã được đánh dấu trong trình xem thư Outlook 52
Trang 7Hình 3.14: Giao diện tab giới thiệu chương trình 53
Hình 3.15: Xác nhận việc thoát khỏi chương trình 53
Hình 3.16: Độ chính xác phân loại chung với số lượng đặc trưng khác nhau 55
Hình 3.17: Độ chính xác phân loại với các quy trình lọc khác nhau 57
Hình 3.18: Phương thức hoạt động của SPF 58
Hình 3.19: Phương thức hoạt động của SPF động 60
Hình 3.20: Phân bố số lượng cặp (tên miền, IP) theo thơi gian 61
Hình 3.21: Hiệu quả phương pháp SPF động 62
Trang 8DANH MỤC CÁC BẢNG
Bảng 1.1: So sánh giữa thư điện tử và thư truyền thống 4
Bảng 1.2: Thống kê các dạng thư rác tại máy chủ 6
Bảng 3.1 Bộ dữ liệu thử nghiệm 46
Bảng 3.2 Độ chính xác phân loại với các phương pháp phân loại khác nhau 54
Bảng 3.3 Kết quả phân loại với độ dài đặc trưng - từ khác nhau 55
Bảng 3.4 : Bảng dữ liệu mẫu sử dụng phương pháp SPF động 61
Trang 9DANH MỤC TỪ VIẾT TẮT
SPAM: Thư rác
EMAIL: Thư điện tử
SMTP: Simple Mail Transfer Protocol
IMAP: Internet Message Access Protocol
POP: Post Office Protocol
Trang 10MỞ ĐẦU
Thư rác (spam) là thư điện tử được gửi hàng loạt với nội dung mà người nhận
không mong đợi, không muốn xem, hay chứa những nội dung không liên quan đếnngười nhận và thường được sử dụng để gửi thông tin quảng cáo Do có giá thànhtương đối thấp so với các phương pháp quảng cáo khác, thư rác hiện chiếm một tỷ
lệ lớn và ngày càng tăng trong tổng số thư điện tử được gửi qua Internet Sự xuấthiện và gia tăng thư rác không những gây khó chịu và làm mất thời gian của ngườinhận mà còn ảnh hưởng tới đường truyền Internet và làm chậm tốc độ xử lý củamáy chủ thư điện tử, gây thiệt hại lớn về kinh tế
Để loại bỏ hoặc giảm thiểu ảnh hưởng của thư rác, nhiều cách tiếp cận khácnhau đã được nghiên cứu và sử dụng Giải pháp đấu tranh với thư rác rất đa dạng,bao gồm từ các cố gắng về pháp lý trong việc xây dựng luật ngăn chặn phát tán thưrác cho tới những giải pháp kỹ thuật nhằm phát hiện và ngăn chặn thư rác trongnhững giai đoạn khác nhau của quá trình tạo và phát tán thư Trong số giải pháp
được sử dụng, lọc thư theo nội dung đang là một trong những giải pháp được sử
dụng rộng rãi và có triển vọng nhất Lọc thư theo nội dung là phương pháp phântích nội dung thư để phân biệt thư rác với thư bình thường, kết quả phân tích sau đóđược sử dụng để quyết định chuyển tiếp thư đến người nhận hay không (trong phạm
vi nghiên cứu này, nội dung thư được giới hạn là những nội dung trình bày dướidạng văn bản)
Do việc lọc theo nội dung đòi hỏi phân tích phần văn bản chứa trong tiêu đềhay nội dung thư, thuật toán lọc nội dung cần được xây dựng phù hợp với ngôn ngữ
mà thư sử dụng Hiện nay, nhiều thuật toán lọc nội dung hiệu quả đã được nghiêncứu và sử dụng cho thư viết bằng tiếng Anh
Trong vòng vài năm gần đây, việc sử dụng Internet nói chung và thư điện tửnói riêng ngày càng phổ biến tại Việt nam Một trong những hệ quả của sự pháttriển này là ngày càng có nhiều thư rác gửi tới các tài khoản thư điện tử tại Việt nam(tài khoản có đuôi vn) Những thư rác này bao gồm cả thư viết bằng tiếng Anh vàthư viết bằng tiếng Việt Việc xuất hiện ngày càng nhiều thư rác tiếng Việt đặt rayêu cầu cấp thiết phải có những phương pháp lọc thư có thể xử lý được thư rác loạinày
Trang 11Do các thuật toán lọc thư thông dụng mới chỉ được nghiên cứu và thửnghiệm cho tiếng Anh, để có thể sử dụng giải pháp lọc nội dung cho thư tiếng Việtcần nghiên cứu làm rõ hiệu quả của thuật toán khi phân tích nội dung thư viết bằngtiếng Việt Bên cạnh đó cần thực hiện những cải tiến cho phù hợp khi chuyển từphân loại nội dung tiếng Anh sang phân loại nội dung tiếng Việt Để giải quyếtnhững vấn đề vừa nêu, trong phạm vi đề tài này, tôi tiến hành nghiên cứu một sốgiải pháp lọc nội dung cho thư rác tiếng Việt và tiếng Anh Nội dung nghiên cứubao gồm thử nghiệm làm rõ khả năng lọc thư tiếng Việt, đề xuất và phân tích sosánh các cải tiến với thuật toán, thử nghiệm trên dữ liệu thực Sau khi thử nghiệm sosánh, giải pháp lọc thư có hiệu quả cao sẽ được cài đặt trong một bộ lọc thư có khảnăng tích hợp vào máy chủ thư điện tử
Luận văn hoàn thành gồm 68 trang và được bố cục thành 3 chương với lời
mở đầu và phần kết luận chung:
Phần mở đầu trình bày vắn tắt ý nghĩa, tính cấp thiết của đề tài, nêu nên
mục tiêu đề tài, xác định các bài toán nghiên cứu và giới thiệu tóm tắt các chươngtrong luận văn
Chương 1 Tổng quan về thư điện tử và spam Trong chương này trình
bày các khái niệm về thư tín truyền thống, thư điện tử, spam và mô hình, ngôn ngữ
và giao thức sử dụng của thư điện tử, các phần mềm lọc nội dung thư hiện nay
Chương 2 Các phương pháp gửi và kỹ thuật lọc Email – Spam Trình
bày kỹ thuật gửi mail nặc danh, mô hình và nguyên lý hoạt động của hệ thống lọcnội dung mail, Các kỹ thuật lọc nội dung thông tin qua mail
Chương 3 Xây dựng chương trình thử nghiệm và đề xuất các giải pháp phòng chống spam Trình bày các nội dung cài đặt thử nghiệm, công nghệ áp dụng
và kết quả chương trình lọc spam cho các ứng dụng thư điện tử tại Sở Thông tin vàTruyền thông tỉnh Nam Định Đề xuất các giải pháp phòng chống spam
Phần kết luận chung nêu tóm tắt các kết quả đạt được của luận văn.
Trang 12Chương 1: TỔNG QUAN VỀ THƯ ĐIỆN TỬ VÀ SPAM
Trong chương này trình bày các khái niệm về thư tín truyền thống, thư điện
tử, spam và mô hình, ngôn ngữ và giao thức sử dụng của thư điện tử, các phần mềm lọc nội dung thư hiện nay.
1.1 Các khái niệm cơ bản
1.1.1 Thư điện tử là gì?
Thư điện tử (Email – Electronic Mail) là một hệ thống chuyển nhận thư quacác mạng máy tính Thư điện tử (Email) là một trong những phương thức trao đổithông tin phổ biến trong suốt quá trình phát triển Internet Ban đầu email chỉ lànhững văn bản text đơn giản, mức độ bảo mật cũng được nâng cao dần lên, khi đóemail được mã hóa dưới nhiều dạng Email là phương tiện thông tin tốc độ cao.Mẫu thư có thể được gửi đi dưới nhiều dạng, có thể ở dạng văn bản text thôngthường, hoặc có thể ở dạng mã hóa, và nó được chuyển qua các mạng máy tính, đặcbiệt là mạng Internet
1.1.2 Cấu trúc chung của một địa chỉ thư điện tử
Một địa chỉ thư điện tử bao gồm : tên[email]@tên_miền Trong đó:
- Tên_email : là định danh của hòm thư điện tử, thành phần này do người sửdụng tự đặt ra khi khởi tạo hòm thư cho mình
- Tên_miền : là tên miền cung cấp dịch vụ thư điện tử, ví dụ như yahoo.com,gmail.com,…
1.1.3 Sự khác biệt giữa thư điện tử với thư bưu chính
Giữa thư điện tử và thư bưu chính (thư tín truyền thống) có những điểm tương đồng, song có những điểm khác biệt được thể hiện qua bảng so sánh:
Trang 13Mức độ bảo mật Thấp Cao
Khả năng soạn thảo Chậm (viết giấy) Nhanh (viết bằng trình
soạn thảo được hỗ trợ)Mức độ thất lạc thư Cao Thấp (do đường truyền
lỗi)Thư tấn công Gửi kèm vũ khí sinh
học (Ít xảy ra)
Gửi kèm mã độc : Worm,Virus, … (Thườngxuyên)
Thiệt hại do bị tấn công Nặng Tùy vào mức độ tấn công
Bảng 1.1: So sánh giữa thư điện tử và thư truyền thống
1.1.4 Thư rác là gì?
Hiện nay chưa có một định nghĩa hoàn chỉnh và chặt chẽ về thư rác Có quanđiểm chỉ coi thư rác là những thư quảng cáo không được yêu cầu (UnsolicitedCommercial Email - UCE), có quan điểm có thư rác với nghĩa rộng hơn, bao gồm
cả thư quảng cáo, thư nhũng lạm (quấy rối), và những thư có nội dung không lànhmạnh (Unsolicited Bulk Email – UBE) Dưới đây sẽ đưa ra một định nghĩa thôngdụng nhất về thư rác và giải thích các đặc điểm của nó để phân biệt thư rác với thưthông thường
Thư rác (spam) là những bức thư điện tử không yêu cầu, không mong muốn
và được gửi hàng loạt tới nhiều người nhận “Thư không yêu cầu” ở đây nghĩa là người nhận thư không yêu cầu người gửi gửi bức thư đó “Thư được gửi hàng loạt” nghĩa là bức thư mà người nhận nhận được nằm trong một loạt các thư được gửi đi cho nhiều người khác và các bức thư này có nội dung tương tự nhau.
Một bức thư được gọi là thư rác chỉ khi nó là thư không yêu cầu và được gửihàng loạt Nếu thư rác chỉ là thư không mong muốn thì nó có thể là những bức thưlàm quen, được gửi lần đầu tiên, còn nến thư rác chỉ là thư được gửi hàng loạt thì nó
Trang 14có thể là những bức thư gửi cho khách hành của các công ty, các nhà cung cấp dịchvụ.
Như định nghĩa ở trên, thư rác là thư không yêu cầu và được gửi hàng loạt.Nhưng yếu tố quan trọng nhất để phân biệt thư rác với thư thông thường phải là ởnội dung bức thư Khi một người nhận được thư rác, người đó không thể xác địnhđược thư có được gửi hàng loạt hay không nhưng có thể nói chính xác đó là thư rácsau khi xem nội dung thư Đặc điểm này chính là cơ sở cho giải pháp phân loại thưrác bằng cách phân tích nội dung thư
1.1.5 Các loại thư rác
Đa số thư rác là thư quảng cáo cho hàng hoá hoặc dịch vụ Tuy nhiên cũng
tồn tại một lượng lớn thư rác mang những nội dung khác Các thư rác không mangnội dung quảng cáo hàng hoá hay dịch vụ có thể phân chia thành:
Thư có nội dung chính trị: do các tổ chức hay cá nhân hoạt động chính trị
gửi trực tiếp tới người dùng thư điện tử để phục vụ mục đích quảng bá, tuyên truyềnhay tạo quan hệ trực tiếp Hiện nay tại Việt nam, thư rác có nội dung chính trị hầuhết là của các tổ chức phản động ngoài nước gửi về và cần đặc biệt ngăn chặn
Thư từ thiện: do các tổ chức hay cá nhân hoạt động từ thiện gửi với nội dung
yêu cầu quyên góp hay trợ giúp Người gửi thư dạng này có thể không nhận thứcđược họ đang gửi thư rác do có sự biện hộ từ mục đích gửi thư
Thư có nội dung tôn giáo: dùng để tuyên truyền quảng bá cho các tổ chức
hoặc hoạt động tôn giáo
Trong số thư những thư quảng cáo, một số dạng hàng hoá và dịch vụ chiếm
tỷ trọng đặc biệt lớn Dưới đây là kết quả phân tích thống kê các thư rác gửi quamáy chủ hotmail.com trong năm 2003 và 2004 do Microsoft thực hiện [Hulten -trends]
Trang 15Bảng 1.2: Thống kê các dạng thư rác tại máy chủ
Sản phẩm quảng cáo Năm 2003 Năm 2004Quảng cáo liên quan đến tình dục (không đồ hoạ) 17% 34%
1.1.6 Tác hại của thư rác
Thư rác hiện chiếm một tỷ lệ rất lớn trong tổng số thư điện tử được gửi quaInternet Theo các thống kê khác nhau, thư rác chiếm từ 71% đến 87% lượng thưgửi qua các máy chủ thư điện tử Lượng thư rác quá lớn gây ra nhiều tác hại đối với
sự phát triển Internet nói chung và người sử dụng thư điện tử nói riêng Có thể kể ramột số tác hại của thư rác:
- Thư rác gây thiệt hại về kinh tế cho người nhận thư trong trường hợpngười nhận thư phải trả tiền cho lượng thông tin truyền qua mạng
- Thư rác có thể làm đầy hộp thư người nhận và do vậy làm thất lạcnhững thư bình thường đến sau
- Thư rác làm tốn thời gian do người nhận phải mở thư và xoá thư khỏihộp thư của mình
Trang 16- Thư rác gây tâm lý xấu đối với người sử dụng thư điện tử Theo thống
kê tại http://www.pewinternet.org, 25% người sử dụng thư điện tử coithư rác là trở ngại lớn khi sử dụng dịch vụ Internet này
- Thư rác chiếm một phần đường truyền Internet và làm tốn thời gian
xử lý của máy chủ
1.2 Phương thức trao đổi thông tin qua dịch vụ Email
1.2.1 Mô hình trao đổi thông tin dựa trên email
Dịch vụ thư điện tử sử dụng giao thức SMTP (Simple Mail TransferProtocol) trong họ giao thức TCP/IP
Hình 1.1: Mô hình lưu chuyển thư điện tử qua Internet
Hoạt động của hệ thống email hiện nay có thể dược minh họa qua phân tíchmột thí dụ như sau:
1 Nguyễn dùng MUA của mình để soạn một lá thư có địa chỉ người nhận làTrần với địa chỉ là Tran@b.org Nguyễn nhấn nút Send và phần mềm thư điện tử
Trang 17của Nguyễn áp dụng SMTP để gửi mẫu thông tin (lá thư) đến MTA, hay máy chủthư điện tử, của Nguyễn Trong thí dụ thì máy chủ này là smtp.a.org được cung cấp
từ dịch vụ Internet của Nguyễn
2 MTA này sẽ đọc địa chỉ chỗ nhận (tran@b.org) và dựa vào phần tên miền
nó sẽ tìm hỏi địa chỉ của tên miền này, nơi có máy chủ sẽ nhận email gửi đến, qua
Hệ thống Tên miền
3 Máy chủ DNS của b.org là ns.b.org sẽ trả lời về một bản ghi trao đổi thư
từ, đây là bảng ghi chỉ ra cách thức làm thế nào định tuyến cho email này Trong thí
dụ thì mx.b.org là máy chủ từ dịch vụ cung ứng Internet của Trần
4 smtp.a.org gửi mẫu thông tin tới mx.b.org dùng giao thức SMTP, điều này
sẽ phân phối lá thư đến hộp thư của Trần
5 Khi đọc Trần ra lệnh nhận thư trên máy (MUA) của Trần, điều này tạo raviệc lấy về mẫu thông tin bằng cách áp dụng giao thức POP3
Trong trường hợp Nguyễn không có MUA mà chỉ dùng Webmail chẳng hạnthì bước 1 sẽ không xảy ra tức là MTA của Nguyễn sẽ làm việc trực tiếp Tưong tựcho trường hợp Trần không có MUA riêng
Trước đây, nếu một MTA không thể gửi tới đích thì nó có thể ít nhất ngừnglại ở chỗ gần với chỗ nhận Sự ngừng này sẽ tạo cơ hội để máy đích có thể nhận vềcác mẫu thông tin trong thời gian trễ hơn Nhiều MTA sẽ chấp nhận tất cả mẫuthông tin từ người gửi bất kì và tìm mọi cách để phân nó về đến máy đích NhữngMTA như vậy gọi là những ngưng đọng thư mở (open mail relays) Điều này khácần thiết vì sự chất lượng liên lạc của hệ thống Internet lúc đó còn yếu Ngày nay,
do việc lợi dụng trên cơ chế hoạt động của hệ thống thư điện tử nhiều người đã gửi
ra các loại thư vô bổ Như là hậu quả, rất ít MTA ngày nay còn chấp nhận cácngưng đọng thư mở Bởi vì các thư như vậy rất có thể là các loại thư nhũng lạm(thưrác)
Dịch vụ thư điện tử hoạt động offline Các yêu cầu gửi thư đi không đòi hỏiphải xử lý ngay lập tức Khi người A muốn chuyển một bức thư tới cho người B, hệthống sẽ chuyển thư vào vùng Spool, cùng với các thông tin về người gửi, người
Trang 18nhận (được đính vào phần Header của thư) sẽ được chứa trong vùng này Hệ thốnggửi thư tự động bằng một chương trình phần mềm thư điện tử như Outlook Express,Mozila Thunderbird, hay các chương trình Webmail như Yahoo!, Gmail,… Đây lànhững chương trình gửi thư không đồng bộ Chương trình này sẽ xác định được địachỉ IP của máy cần gửi qua việc phân tích Header của thư, và tạo lập một kết nối tớimáy đó Nếu như tạo kết nối thành công, chương trình sẽ chuyển thư tới vùng Spoolcủa máy nhận Nếu kết nối tới máy nhận không thành công, chương trình sẽ lưu trữlại những thư chưa được chuyển đi đó và sẽ gửi lại đến khi tạo dựng được kết nối.Nếu bức thư tồn tại quá lâu (khoảng 2-3 ngày), chương trình sẽ gửi trả bức thư nàycho người gửi.
Thư điện tử ban đầu chỉ nhằm mục đích trao đổi thông tin giữa những người
sử dụng với nhau Thư điện tử hiện đại được phát triển các dịch vụ kèm theo, đó làcác dịch vụ thư điện tử như NameServer (tra cứu các địa chỉ trên mạng),ArchiveServer (cho phép người dùng tìm kiếm và tải về những tập tin dùng chung).Các thư này được gửi tới các Server, Server phân tích nội dung thư, thực hiện cácyêu cầu rồi gửi trả lại kết quả cho người gửi yêu cầu cũng bằng hình thức gửi thưđiện tử
1.2.2 Giao thức và ngôn ngữ sử dụng
- SMTP (Simple Mail Transfer Protocol): giao thức chuyển thư đơn giản.SMTP là phương thức vận chuyển các thư điện tử từ máy chủ này sang máy chủkhác cho đến địa chỉ người nhận Các máy chủ sử dụng giao thức này để chuyểntiếp thư tới máy khách, và máy khách cũng sử dụng giao thức này gửi thư trungchuyển qua các máy chủ Các thư điện tử được gửi đến các máy khách qua SMTP,
và các máy này sử dụng giao thức POP, IMAP để nhận thông điệp này
Trang 19Hình 1.2: Mô hình gửi và nhận thư điện tử sử dụng giao thử SMTP
- IMAP (Internet Message Access Protocol) : giao thức nhận thông điệp từInternet của các máy khách Người dùng có thể truy xuất và quản lý thư từ máy chủ.Giao thức cho phép người sử dụng đọc, xóa, sửa, tìm kiếm thư trong hòm thư màkhông cần phải tải thư về Phiên bản mới nhất là IMAP4
Hình 1.3: Mô hình gửi và nhận thư điện tử dùng giao thức IMAP và POP
Trang 20- POP (Post Office Protocol) : giao thức được dùng trên các máy trạm(MUA) tìm kiếm các thư điện tử từ một máy MTA (máy chủ mail) Giao thức nàycho phép người dùng đăng nhập vào máy chủ mail với tài khoản đã đăng kí để tảithư từ máy chủ về máy cục bộ Phiên bản mới nhất là POP3.
- Giao thức HTTP không phải là một giao thức dành cho thông tin liên lạcemail, nhưng nó có thể được sử dụng để truy cập hộp thư của bạn Nó cũng cònđược gọi là thư điện tử dựa trên web, giao thức này có thể được sử dụng để soạnhoặc truy lục email từ một tài khoản của bạn Hotmail là một ví dụ của việc sử dụngHTTP như là một giao thức thư điện tử
1.3 Các phần mềm lọc nội dung mail ở trong và ngoài nước.
Hiện nay, một trong những khó khăn của người sử dụng thư điện tử là khôngthể mở email của họ vì vô số các thư rác chất đầy trong hộp thư đến của họ Người
sử dụng có thể dễ dàng nhận ra và phân biệt các thư rác,tuy nhiên để loại bỏ hết cácthư rác bằng cách xóa thủ công họ sẽ rất mất thời gian và công sức Hệ thống lọcthư rác ra đời giúp làm giảm tối thiểu công việc này đối với người sử dụng Phầnmềm, tiện ích lọc thư rác có thể làm giảm đáng kể số lượng thư rác gửi đến hộp thưcủa người dùng
Hình 1.4: Phần mềm lọc nội dung mail
Trang 21Hiện tại có rất nhiều phần mềm lọc mail được cung cấp miễn phí, tuy nhiêntính năng còn hạn chế và chủ yếu là lọc nội dung thư tiếng Anh Một số phần mềmlọc mail miễn phí:
- POPFile - Free Spam Filter
- Spamfence - Free Spam Filter
- Spamihilator - Free Spam Filter
- Spamato - Free Spam Filter
- SpamBayes - Free Spam Filter
- SpamExperts Desktop - Free Spam Filter
- K9 - Free Spam Filter
- Cactus Spam Filter - Free Spam Filter
- SpamRIP - Free Spam Filter
- BullGuard Spamfilter - Free Spam Filter
- …
Những tiêu chí để đánh giá một phần mềm lọc thư rác tốt:
Phần mềm lọc thư rác tốt nhất là cho phép dễ dàng tùy chỉnh bởi người dùngmáy tính của tất cả các cấp Các tính năng quan trọng nhất của bất kỳ phần mềm bộlọc thư rác là khả năng đáng tin cậy ngăn chặn và ngăn chặn thư rác Những tiêu chí
sử dụng để đánh giá phần mềm lọc thư rác:
Chặn, lọc:
Đây là tiêu chí đầu tiên và quan trọng để đánh giá phần mềm lọc thư rác.Phần mềm lọc thư rác nên được trang bị với nhiều khả năng ngăn chặn thư rác lâynhiễm vào hộp thư đến của người dùng Tốt nhất phần mềm lọc có cả hai danh sáchđen và trắng, thiết lập nhạy cảm, dựa vào cộng đồng lọc, kỹ thuật thách thức vàphản ứng, và cách ly thiết lập Các tính năng bổ sung để đánh giá địa chỉ IP đangchặn, máy chủ, địa chỉ email, và mã quốc gia
Bảo vệ:
Ứng dụng chặn thư rác nên có khả năng bảo vệ nhiều tài khoản người dùngvới một cài đặt duy nhất Hơn nữa, chặn thư rác phải bảo vệ người dùng từ email có
Trang 22chứa sâu, vi-rút, Trojans, phần đính kèm với nhúng keylogger và phần mềm độc hạikhác Ngoài ra, phần mềm lọc thư rác mạnh mẽ có thể xác định email HTML cóchứa cuộc tấn công lừa đảo trực tuyến nhằm mục đích thu thập thông tin cá nhânnhạy cảm của người sử dụng.
Quy tắc:
Phần mềm bộ lọc thư rác nên cung cấp cho người dùng khả năng để chỉnhsửa cài đặt được xác định trước các quy tắc cũng như tạo ra các quy định mới Phầnmềm lọc thư rác tốt phải có khảu năng thích ứng với nhu cầu của người sử dụng
Khả năng tương thích:
Khi lựa chọn một phần mềm chặn thư rác, cần phải đánh giá nếu phần mềmlọc thư rác đó có tương thích với của chương trình đọc thư của người sử dụng hiệntại hay không Người sửcác chương trình duyệt email phổ biến bao gồmThunderbird, Outlook, Outlook Express và các ứng dụng khác của POP3/SMPT.Phần mềm lọc thư rác cũng nên hỗ trợ một số các nhà cung cấp dịch vụ webmailnhư Gmail, Yahoo, Hotmail và những nhà cung cấp dịch vụ khác
Do các thuật toán lọc thư thông dụng mới chỉ được nghiên cứu và thửnghiệm cho tiếng Anh, để có thể sử dụng giải pháp lọc nội dung cho thư tiếng Việtcần nghiên cứu làm rõ hiệu quả của thuật toán khi phân tích nội dung thư viết bằngtiếng Việt Bên cạnh đó cần thực hiện những cải tiến cho phù hợp khi chuyển từphân loại nội dung tiếng Anh sang phân loại nội dung tiếng Việt Để giải quyếtnhững vấn đề vừa nêu, trong phạm vi đề tài này, chúng tôi tiến hành nghiên cứumột số giải pháp lọc nội dung cho thư rác tiếng Việt và tiếng Anh Nội dung nghiêncứu bao gồm thử nghiệm làm rõ khả năng lọc thư tiếng Việt, đề xuất và phân tích sosánh các cải tiến với thuật toán, thử nghiệm trên dữ liệu thực Sau khi thử nghiệm sosánh, giải pháp lọc thư có hiệu quả cao sẽ được cài đặt trong một bộ lọc thư có khảnăng tích hợp vào máy chủ thư điện tử
Trang 23Chương 2: CÁC PHƯƠNG PHÁP GỬI VÀ KỸ THUẬT LỌC
EMAIL - SPAM
Trình bày kỹ thuật gửi mail nặc danh, mô hình và nguyên lý hoạt động của
hệ thống lọc nội dung mail, Các kỹ thuật lọc nội dung thông tin qua mail.
2.1 Các kỹ thuật gửi mail nặc danh và Bomb Mail
Để phát tán thư rác, những người gửi thư rác phải có được những điều kiệnsau: một là có danh sách địa chỉ email nhận thư, hai là có các server cho phép gửithư, ba là phải soạn được nội dung thư theo yêu cầu quảng cáo và qua mặt được các
bộ lọc nội dung, cuối cùng cần có những chương trình để gửi thư đi
2.1.1 Thu thập địa chỉ email
Để gửi thư rác đi, người gửi thư rác cần phải có một danh sách các địa chỉemail cần gửi Danh sách địa chỉ email này có thể thu thập được từ nhiều nguồnkhác nhau, họ có thể mua từ các trang web thương mại có nhiều thành viên đăng kýhoặc sử dụng các kỹ thuật dưới đây để có được địa chỉ email của đối tượng cần gửithư
Người gửi thư rác (hoặc đối tác của họ) thường tung ra các trang web giả đểbẫy người dùng gửi địa chỉ email cho họ Kỹ thuật này được gọi là Phishing email
Trang 24Hình 2.1: Ví dụ về trang web lấy cắp địa chỉ email của người dùng
Người gửi thư rác còn sử dụng các máy tìm kiếm chỉ để tìm kiếm địa chỉemail trên các trang web Các máy tìm kiếm này sẽ tìm kiếm những trang có kí hiệu
“@” và sẽ tách địa chỉ email từ đó ra Những chương trình tìm kiếm email theo kiểunhư vậy còn được gọi là spambots
Danh sách các địa chỉ cũng có thể được sinh tự động theo một cơ chế nào đó
để xác suất tồn tại của địa chỉ sinh tự động có thể chấp nhận được Địa chỉ emailthường được tạo ra nhờ kết hợp giữa các họ tên phổ biến với các domain nhiềungười dùng và các con số có nghĩa Ví dụ như địa chỉ email được sinh như sau:
Từ địa chỉ gốc là: nguyenvannam + @ + fpt.com.vn
Có thể sinh ra các địa chỉ sau:
nguyenvannam1@fpt.com.vn, nguyenvannam2@fpt.com.vn,
nguyenvannam1982@fpt.com.vn, nguyenvannam1983@fpt.com.vn,
Để xác định một địa chỉ email có tồn tại hay không, những người gửi thư rác
sẽ gửi một bức thư tới tất cả các hòm thư trong danh sách sinh tự động Nếu hòmthư đó tồn tại và chủ nhân của nó mở bức thư đó ra thì sẽ có một chương trình được
Trang 25kích hoạt thông báo về sự tồn tại của địa chỉ cho người gửi thư rác Cách này còngọi là sinh địa chỉ email theo kiểu từ điển
Một số nguồn thu thập địa chỉ email của những kẻ phát tán thư rác
a Thu thập thông tin qua Website:
Khi khách hàng hay người sử dụng truy cập vào một trang web được yêu cầuđăng ký tài khoản và khai báo các thông tin cá nhân thì ngay lập tức các thông tin cánhân của người sử dụng (bao gồm cả địa chỉ email) sẽ được thu thập và ghi nhậnvào cơ sở dữ liệu của Website và họ sẽ sử dụng các thông tin cá nhân này cho cácchiến dịch quảng cáo, tiếp thị trên Website của họ
Ngoài thông tin về địa chỉ email thì các website này còn thu thập thêm cácthông tin khác về khách hàng như:
- Thông tin liên lạc
- Khách hàng biết được bạn qua đâu (quảng cáo, báo, công cụ tìm kiếm,…)
- Thông tin giới tính, tuổi
- Lịch sử mua hàng (đã từng mua, chưa mua,…)
- Quy mô công ty khách hàng
- Các dịch vụ khách hàng muốn nhận thông tin (mà bạn cung cấp)
Tại sao họ lại cần những thông tin này? Vì chúng giúp họ phân nhóm danh
sách khách hàng để có thể gửi những chiến dịch Email Marketing riêng tới từng
nhóm cụ thể Đây là một phần trong các nguồn thu thập địa chỉ email của các kẻphát tán thư rác
b.Thu thập từ mạng lưới quan hệ
Ngoài cách thu thập thông tin trực tiếp từ các thông tin đăng ký của kháchhàng trên Website các spamer còn tích cực tham gia trao đổi các thông tin này vớinhau thông qua mạng lưới các quan hệ quen biết của họ từ đó làm cho danh sách địachỉ email của khách hàng trong tay các spamer ngày càng dài thêm
c Tích hợp thêm form đăng ký:
Các kẻ phát tán thư rác cũng có thể sử dụng các cách thức khác để thu thậpthông tin cá nhân và địa chỉ email của mọi người như tạo ra các phiếu khảo sát với
Trang 26hứa hẹn phần thưởng hấp dẫn và yêu cầu người sử dụng đăng ký các thông tin cánhân chính xác để có thể nhận giải thưởng (thường là không có ai trúng thưởng),hoặc lồng vào trong các bản khảo sát sự hài lòng của khách hàng, trong form “vậnchuyển” hàng hóa khi khách hàng mua sản phẩm từ website, trong form “muahàng” khi khách hàng mua sản phẩm từ website, trong các email xác nhận hay giaodịch, trong chứng nhận thanh toán trực tuyến,…
d Cung cấp các bản báo cáo miễn phí, các tin tức hữu ích hoặc các phần mềm miễn phí.
Các spamer còn thu thập thông tin cá nhân bằng cách yêu cầu khách ghéthăm điền thông tin khi muốn download hay được tặng một sản phẩm miễn phí Đây
là một cách thường được dùng nhất không chỉ trên internet
e Nguồn địa chỉ từ các đơn vị “Môi giới” danh sách:
Các nhà môi giới thường là các công ty marketing thu thập và bán các thôngtin về khách hàng Các spamer sẽ mua các danh sách thông tin này để sử dụng trongviệc phát tán thư rác
2.1.2 Tìm kiếm các máy tính trên Internet cho phép gửi thư
Muốn gửi được thư rác, người gửi thư rác cần có trong tay một danh sách cácserver để gửi thư đi Các server này có thể là những server chuyên để gửi thư rác dongười gửi thư rác sở hữu hoặc thuê, hoặc là những server bị người gửi thư rác lợidụng
Hình ảnh sau đây là trang quảng cáo của một số công ty chuyên tung thư rácđược Google liệt kê khi tìm kiếm hai từ “bulk mail”:
Hình 2.2: Một số website của các công ty gửi thư rác
Trang 27Người gửi thư rác thường khai thác lỗ hổng của những server cho phépchuyển tiếp thư (open relay) hoặc những proxy mở cho phép gửi thư (open proxy).
Hình 2.3: Minh họa cách gửi thư rác qua mail server (open relay)
Trên mạng Internet thường có rất nhiều mail server cho phép chuyển tiếpthư Người gửi thư rác hay sử dụng các server này để chuyển tiếp thư rác vì khi đóhọ sẽ khó bị phát hiện hơn và chuyển được các gánh nặng về đường truyền sang chocác server đó Tuy nhiên những mail server dạng này thường sớm bị đưa vào danhsách đen (danh sách những địa chỉ IP bị chặn) của các bộ lọc thư rác và không thểtiếp tục gửi thư rác được nữa
Một loại server khác là các proxy cho phép gửi thư cũng được người gửi thưrác đặc biệt yêu thích Mục đích của những proxy này là giúp các trang web vượtqua được tường lửa (firewall) Một số proxy cho phép gửi thư và bất cứ ai cũng cóthể truy cập được Người gửi thư rác lợi dụng điểm này để phát tán thư rác Khi sửdụng những proxy này, Người gửi thư rác hầu như không bị phát hiện Mặt khác,việc lợi dụng này thường được lâu dài vì những người quản lý proxy không quantâm tới việc proxy có bị liệt kê trong danh sách đen của các bộ lọc hay không (vìmục đích chính của proxy không phải để gửi thư)
Open Mail Relay
Mạng trung gian
người dùng cục bộ
Trang 28Ngoài hai cách trên, những người gửi thư rác còn thuê các máy tính “ma” đểgửi thư rác Vì đây là các máy tính không được quản lý nên khó có thể pháp hiện ratác giả của các bức thư rác Thêm nữa việc thuê các máy tính này lại khá rẻ nên cótới 40%-60% người gửi thư rác bắt đầu từ chiêu thức này
Không chỉ dừng lại ở việc đi thuê máy tính ma, những người gửi thư rác (vàcũng là những hacker) còn chiếm quyền kiểm soát các máy tính hợp pháp để gửithư rác Vào đầu năm 2005, Microsoft đã tiến hành khảo sát thử một máy tính bịnhiễm mã độc và đã bị hacker nắm quyền điều khiển từ xa, tức máy tính này đã trởthành một máy tính ma Kết quả khảo nghiệm cho thấy rằng chỉ trong vòng 20ngày, máy tính ma này đã nhận được 5 triệu yêu cầu kết nối từ những người thư rác
và chính nó cũng đã gửi tới 18 triệu thư rác Trong những ngày cao điểm nhất, máytính ma này đã nhận được đến 470.000 yêu cầu kết nối và khoảng 1,8 triệu thư rác
đã từ nó gửi đi
2.1.3 Boml Mail
Thư điện tử bị ném bom vì nhận được một lượng cực lớn các thư gửi đếnbằng cách sử dụng "zombie" trong mạng botnet(mạng lưới phân cấp các máy tính
bị tổn hại bởi phần mềm độc hại và dưới sự kiểm soát của kẻ tấn công) Tương tự
như cách thức sử dụng trong gửi thư rác, nhưng những kẻ tấn công chỉ thị botnetnày để gửi hàng triệu hoặc thậm chí hàng tỷ email, nhưng không giống như bìnhthường botnet gửi thư rác, các email được tất cả gửi đến chỉ một hoặc một vài địachỉ mà kẻ tấn công mong muốn
Đây là loại tấn công là rất khó khăn để bảo vệ chống lại bởi vì các địa chỉ gửi
từ nhiều nguồn khác nhau và khả năng của mỗi máy tính zombie gửi một thông điệpkhác nhau hoặc sử dụng các kỹ thuật tàng hình để đánh bại bộ lọc thư rác
2.1.3.1 Xử lý khi bị bom thư
Xác định nguồn gốc của các bom thư điện tử/thư rác và cấu hìnhrouter của bạn (hoặc có nhà cung cấp dịch vụ mạng của bạn cấu hìnhcác bộ định tuyến) để ngăn chặn các gói tin đến từ địa chỉ đó
Trang 29 Xem lại tiêu đề thư điện tử để xác định nguồn gốc thực sự của email.Xem xét các thông tin liên quan đến các bom thư điện tử/thư rác sau
có liên quan tới chính sách và thủ tục của tổ chức của bạn
Thực hiện liên lạc với trang web xác định đã đăng các bình luận củabạn nhằm cảnh báo họ hoạt động
Đảm bảo cập nhật phiên bản mới nhất của phần mềm gửi thư điện tửcủa bạn và làm tăng khả năng ghi nhật ký là cần thiết để phát hiệnhoặc cảnh báo bạn về các hoạt động
2.1.3.2 Công tác phòng chống bom thư
Thật không may, tại thời điểm này, không có không có cách nào để ngănchặn bom thư hoặc gửi thư rác thực sự hiệu quả khác hơn là ngắt kết nối từ Internet,
và nó cũng không thể dự đoán nguồn gốc của các cuộc tấn công tiếp theo Vì thếcông tác phòng chống là rất quan trọng, hãy lưu ý thực hiện các biện pháp dưới đây
để giảm thiểu tác hại của thư rác:
Phát triển các công cụ để giúp bạn nhận ra và trả lời bom thư và thưrác và do đó giảm thiểu tác động của các hoạt động đó Các công cụnên tăng khả năng đăng nhập cũng như kiểm tra và thông báo cho bạn
để nhận biết tin nhắn đến/gửi đi có nguồn gốc từ cùng một người dùnghoặc các trang web tương tự trong một khoảng thời gian rất ngắn Mộtkhi bạn xác định các hoạt động, bạn có thể sử dụng các công cụ đểloại bỏ các thư từ người dùng vi phạm hoặc các trang web
Nếu trang web của bạn sử dụng một số lượng nhỏ tài nguyên của máychủ thư điện tử, bạn có thể cấu hình tường lửa của máy chủ để đảmbảo rằng kết nối SMTP từ bên ngoài tường lửa của bạn có thể đượcgiám sát bởi máy chủ thư điện tử của bạn Mặc dù điều này sẽ khôngngăn chặn một cuộc tấn công, nhưng nó giảm thiểu số máy có sẵn cho
kẻ xâm nhập tấn công dựa trên SMTP (cho dù cuộc tấn công đó làmột thư rác thư điện tử hoặc một nỗ lực để đột nhập vào một máychủ)
Trang 30 Xem xét cấu hình máy chủ mail của bạn để cung cấp thư điện tử vào
hệ thống tập tin có dung lượng giới hạn cho mỗi người dùng đượckích hoạt
Giáo dục người dùng của bạn để gọi cho bạn về bom thư và gửi thưrác
Không phổ biến vấn đề bằng cách chuyển tiếp (hoặc trả lời) spammedthư điện tử
2.2 Mô hình và nguyên lý hoạt động của hệ thống lọc nội dung Mail
2.2.1 Mô hình hệ thống lọc mail
Một trong những bước quan trọng khi xây dựng hệ thống lọc thư rác là quyếtđịnh vị trí của hệ thống trong cả chu trình trao đổi thư điện tử Việc xác định vị trícủa bộ lọc thư có ảnh hưởng tới kiến trúc bộ lọc, các yêu cầu về tái huấn luyện, tốc
độ xử lý và nhiều vấn đề khác
Thông thường, hệ thống lọc thư có thể tích hợp vào hệ thống gửi và nhận thưđiện tử theo một trong các cách sau
MAIL CLIENT
BỘ LỌC
MAIL SERVER THƯ MỚI
Trang 31Hình 2.4: Các phương án bộ trí hệ thống lọc thư
Theo cách bố trí trên hình 2.4, bộ lọc thư được tích hợp vào chương trìnhnhận thư điện tử (mail client) như Outlook Express và chạy trên máy khách (client)của người sử dụng Cách bố trí này thuận tiện cho việc xây dựng bộ lọc thư được cánhân hoá, có thể phân biệt thư rác – thư thường theo tiêu chí đánh giá riêng củatừng người sử dụng thư điện tử Ngoài ra, do chạy trên máy khách nên bộ lọc thưkhông gây quá tải đối với máy chủ thư điện tử Tuy nhiên, mục tiêu của đề tài là xâydựng bộ lọc cho phía client nên chúng tôi không trình bầy về phương án này trongcác phần sau của báo cáoi
Trên hình 2.4 là cách bố trí bộ lọc thư dưới dạng một proxy Bộ lọc thư sẽđóng vai trò trạm trung chuyển thư bằng cách nhận các gói tin được gửi theo thứcthư điện tử vào các cổng dành cho thư Bộ lọc có thể chạy trên máy chủ hoặc máykhách nhưng thường bộ lọc thư như vậy được cài đặt chạy trên máy khách Cáchcấu hình này có ưu điểm là mềm dẻo, có thể kết hợp nhiều bộ lọc khác nhau bằngnếu gắn đầu ra của bộ này với đầu vào của bộ khác và trên thực tế có một số chươngtrình lọc thư rác sử dụng phương án bố trí này Tuy nhiên, việc sử dụng kết hợp bộlọc thư với những chương trình proxy khác (như trình chống virus) thường gây mâuthuẫn khi cài đặt và đòi hỏi người sử dụng phải có những hiểu biết nhất định
Hệ thống do chúng tôi xây dựng sử dụng phương án bố trí như minh hoạ trênhình 2.4abộ lọc thư được tích hợp với phần mềm duyệt mail ở máy client, nó làmnhiệm vụ kiểm tra các thư mới gửi đến và sau đó phân loại, đánh dấu nếu thư gửi
MAIL SERVER
BỘ LỌC
MAIL CLIENT
THƯ MỚI
PHẢN HỒI
(c)
Trang 32đến có các đặc điểm trung với nhận diện của thư rác mà phần mềm đã được huấnluyện và thiết lập.
Hệ thống được xây dựng để có thể tích hợp với trình duyệt mail Outlook.Đây là phần mềm duyệt thư điện tử offline khá thông dụng tại Việt nam và cung cấpgiao diện lập trình thích hợp cho việc kết nối với hệ thống lọc thư
2.2.2 Kiến trúc tổng quan của hệ thống lọc mail
Phần quan trọng nhất của hệ thống bao gồm module huấn luyện và modulelọc Hai môđun này kết hợp chặt chẽ với nhau, đầu ra của môđun huấn luyện là cáctham số tính toán được trong thời gian huấn luyện (các xác suất điều kiện đối vớihọc Bayes đơn giản) và được lưu trong K.Base Môđun lọc thư sẽ đọc tham số từK.Base và sử dụng để phân loại thư mới nhận được Việc tách riêng môđun huấnluyện khỏi môđun phân loại làm tăng độ mềm dẻo khi cài đặt và sử dụng hệ thống
Về nguyên tắc, có thể tách riêng môđun huấn luyện và chạy trên máy không có mailserver để giảm tải cho máy chủ
Trang 33Giao diện
với mail
server
Bộ giao tiếpvới Exchange serverthông qua dịch vụSMTP
Mail server
Hình 2.5: Kiến trúc chung của hệ thống lọc thư
Với kiến trúc thể hiện trên hình 2.5, luồng dữ liệu luân chuyển giữa cácthành phần bộ lọc được mô tả như sau:
Khi một bức thư được gửi đến Mail server exchange, nhờ chứa năng bẫy sựkiện Incoming mail của SMTP thì bức thư đó được đưa đến Bộ phân loại TiếngAnh, tiếng Việt hoặc đưa thẳng đến Bộ phân loại thư rác (phụ thuộc vào tùy chọncủa người dùng)
Huấn luyện Tuỳ chọn
K Base
Bộ phân loại thư tiếng Anh, tiếng Việt
Bộ phân loại thư rác
Dịch vụ SMTP
Exchange Server
Giao diện đăng kí với dịch vụ
SMTP.
Trang 34Giả sử sau khi đưa vào bộ phân loại Tiếng Anh, tiếng Việt, bức thư đượcchuyển cho bộ phân loại thư rác Tại đây, nhờ quá trình tính toán theo Naive Bayes,
nó sẽ được gán nhãn là thư rác [Possible Spam] hoặc không gán nhãn nếu được xácđịnh là thư thường Sau đó, thư được gửi đến Exchange server nhờ dịch vụ SMTP.Cuối cùng, bức thư đã sẵn sàng cho Mail Client lấy về qua giao thức POP3
2.2.3 Các kỹ thuật lọc nội dung thông tin qua mail
Phương pháp lọc nội dung để phân loại thư rác đã và đang được quan tâm,nghiên cứu và ứng dụng nhiều nhất Đặc điểm chung của phương pháp này là dựavào nội dung và chủ đề bức thư để phân biệt thư rác và thư hợp pháp Dưới đây làcác phương pháp lọc nội dung thông dụng
2.2.3.1 Lọc thư rác dựa vào các dấu hiệu nhận biết
Đầu tiên, người ta tạo ra các địa chỉ email để bẫy thư rác, gọi là cáchoneypots Các địa chỉ này được tạo ra một cách cố ý sao cho không bao giờ thưbình thường được gửi tới Do đó, nếu có thư gửi vào các địa chỉ bẫy thì ta có thểchắc chắn đó là thư rác
Sau đó hệ thống sẽ so sánh thư mới đến với thư đã bẫy được Cách thức sosánh là dựa trên dấu hiệu nhận biết Nếu hai bức thư có các dấu hiện giống nhau thìbức thư mới tới là thư rác
Phương pháp thường dùng để so sánh hai bức thư như trên là gán cho mỗi ký
tự một số nào đó, tiếp theo cộng dồn các số đã gán lại với nhau Hai bức thư sẽđược coi là giống nhau nếu có tổng các số đã gán bằng nhau
Ưu điểm của phương pháp lọc thư này là đơn giản, nhanh và không lọc nhầmthư thường thành thư rác Tuy nhiên, những người gửi thư rác lại dễ dàng đánh bại
hệ thống này bằng cách sinh ngẫu nhiên các mẩu thư rác sau đó gộp lại thành mộtbức thư hoàn chỉnh Khi đó các “dấu hiệu“ của các bức thư được gửi sẽ khác nhau
và thư rác sẽ lọt qua được hệ thống lọc Bởi vậy tỉ lệ lọc thư rác của hệ thống nàykhông bao giờ vượt ngưỡng 70%
Trang 35Do khả năng lọc thư chính xác (không chặn nhầm thư hợp pháp) và dễ triểnkhai nên hệ thống này thường được dùng để lọc thư tại phía server.
2.2.3.2 Lọc thư rác thông qua bỏ phiếu trên các danh sách trắng
Hoạt động của bộ lọc dạng này là tìm xem các từ ở trong danh sách đen/trắng
có nằm trong bức thư mới tới hay không và đếm số lần xuất hiện của chúng Nếu sốlượng từ thuộc danh sách trắng nhiều hơn (rất nhiều) số từ đếm được thuộc danhsách đen thì bức thư đó là thư hợp pháp, ngược lại sẽ là thư rác
Các đặc trưng của bộ lọc:
Không có biến đổi dữ liệu ban đầu Dữ liệu ra giống như dữ liệu vào
Biểu thức chính quy để tách từ ra khỏi thư là: [[:graph:]]+
Việc chọn đặc trưng chỉ đơn giản là các từ đơn
Cơ sở dữ liệu về đặc trưng chỉ được nạp khi các từ nằm trong danh sách đenhoặc danh sách trắng, nếu là nằm trong dánh sách trắng thì đặt là +1, nếu thuộcdanh sách đen sẽ đặt là -1, tất cả các trường hợp khác đặt giá trị 0.0
Luật tổ hợp là “Điểm mới = Điểm cũ + trọng số của đặc trưng”
Ngưỡng lọc cuối cùng là: “Nếu điểm mới > 0 thì là thư hợp pháp”, “Nếuđiểm mới < 0 thì là thư rác” Không khẳng định trong các trường hợp khác
Như vậy bộ lọc thực hiện chấm điểm các từ trong danh sách đen và các từtrong danh sách trắng bằng nhau Một số cải biên của bộ lọc này là đánh trọng sốcho các từ trong danh sách đen cao hơn trong danh sách trắng và ngược lại
2.2.3.3 Lọc thư sử dụng phương pháp heuristic
Cách thức hoạt động của phương pháp này là con người sẽ xác định nhữngđặc trưng (từ ngữ) nào là của thư rác, đặc trưng nào là của thư hợp pháp, sau đó viếtchương trình để phát hiện những đặc trưng đó trong bức thư gửi tới
Người ta đánh trọng số cho các đặc trưng trên (có thể thực hiện bằng tayhoặc sử dụng thuật toán) và lập một ngưỡng để phân loại thư Bức thư sẽ được coi
là thư rác nếu có các đặc trưng với trọng số vượt ngưỡng quy định
Trang 36Hiệu suất chặn thư rác của các chương trình sử dụng phương pháp này rấtkhác nhau Vì mỗi chương trình sử dụng các luật lọc khác nhau Luật đơn giản nhất
là nếu bức thư nào chứa các đặc trưng của thư rác thì đó là thư rác Điều này sẽ làmcho bộ lọc chặn mất rất nhiều thư hợp pháp
Một số chương trình lọc thư theo phương pháp này như hệ thống chấm điểmcho email sử dụng phương pháp hueristic (Heuristic Message Scoring System) củamail server MDaemon Hệ thống chấm điểm email này đúc kết trên kinh nghiệm làviệc kiểm tra, lọc email sử dụng một số lượng lớn các luật theo trật tự để máy tínhchấm điểm Điểm số này sẽ được sử dụng để quyết định một email có phái là spamemail hay không Ngoài còn một số các bộ lọc thư rác khác như SpamAssassin,hoặc SpamGuard của Yahoo
Phương pháp này có ưu điểm là dễ cài đặt và hiệu suất chặn thư rác khá cao(nếu xây dựng được các luật tốt) khoảng 90-95% Nhược điểm chính của phươngpháp này là tỉ lệ chặn nhầm thư hợp pháp cũng rất lớn (khoảng 0.5%) Ngoài raphương pháp này cũng không linh hoạt vì các luật được xây dựng luôn luôn chậmhơn rất nhiều so với sự biến đổi của từ ngữ trong thư rác
Người ta thường sử dụng phương pháp này cho các bộ lọc thư ở mail server
2.2.3.4 Lọc thư sử dụng phương pháp xác suất thống kê và học máy
Phương thức hoạt động của phương pháp này là, đầu tiên con người sẽ phânloại các bức thư đã có thành hai tập hợp, thư rác và thư hợp pháp Một thuật toánđược sử dụng để trích chọn và đánh trọng số cho các đặc trưng của thư rác theo mộtcách nào đó (thường sử dụng công thức xác suất) Sau khi trích trọn đặc trưng, haitập thư rác và thư hợp pháp sẽ được sử dụng để huấn luyện một bộ phân loại tựđộng Quá trình huấn luyện dựa trên một phương pháp học máy
Khi một bức thư mới tới nó sẽ được tách thành các đặc trưng (từ hoặc cụmtừ) rồi được so sánh với các đặc trưng đã có để tìm ra trọng số Từ tổ hợp trọng sốcủa các đặc trưng sẽ đánh giá được bức thư đó có phải là thư rác hay không bằngcách so sánh với một ngưỡng do người dùng định ra Cách tổ hợp đặc trưng và phânloại thư rác có thể khác nhau và phụ thuộc vào thuật toán phân loại cụ thể
Trang 37Hình 2.6: Mô hình tổng quát lọc thư rác Tiếng Việt
Tỉ lệ chặn thư rác của bộ lọc sử dụng phương pháp này rất cao, khoảng 99%.Chương trình SpamProbe có thể đạt tỉ lệ lọc thư rác tới 99.9% Các phương pháphọc máy và xác suất thống kê cho phép phân loại cả những thư rác chưa từng xuấthiện trước đó (chưa có trong dữ liệu huấn luyện)
Một ưu điểm khác nữa của phương pháp này là tỉ lệ chặn thư hợp pháp rấtthấp, thấp hơn rất nhiều so với phương pháp heuristic
Nhược điểm của của phương pháp học máy là phải có một tập hợp các thư đểhuấn luyện Hiệu suất của bộ lọc sẽ phụ thuộc rất nhiều vào tập huấn luyện ban đầu
đó Tập dữ liệu càng lớn và càng chứa nhiều dạng thư khác nhau sẽ cho độ chínhxác phân loại càng cao về sau
Hiện nay, phương pháp lọc thư sử dụng học máy và xác suất thống kê đượccoi là một phương pháp triển vọng với nhiều ứng dụng thương mại như tại Hotmail,Google, Yahoo Phương pháp này sẽ được nghiên cứu chi tiết và trình bày trong cácchương tiếp theo
2.2.4 Kỹ thuật lọc Spam
Spam gây ra rất nhiều tác hại, do vậy việc phòng chống và ngăn chặn cácspam là cần thiết Hiện có nhiều công ty phần mềm cung cấp giải pháp chống spam,
Trang 38mỗi dòng sản phẩm có những tính năng và các ưu nhược điểm riêng, nhưng hầu hếtcác sản phẩm đó đều hoạt động dựa vào một số nguyên lý sau:
2.2.4.1 Sử dụng DNS blacklist:
Phương pháp sử dụng DNS black list sẽ chặn các email đến từ các địa chỉnằm trong danh sách DNS blacklist Có hai loại danh sách DNS Blacklist thườngđược sử dụng, đó là:
Danh sách các miền gửi spam đã biết, danh sách các miền này được liệt kê
và cập nhật tại địa chỉ http://spamhaus.org/sbl
Danh sách các máy chủ email cho phép hoặc bị lợi dụng thực hiện việcchuyển tiếp spam được gửi đi từ spammer Danh sách này được liệt kê và cập nhậtthường xuyên tại địa chỉ http://www.ordb.org Cơ sở dữ liệu Open Relay Databasenày được duy trì bởi ORDB.org là một tổ chức phi lợi nhuận
Khi một email được gửi đi, nó sẽ đi qua một số SMTP server trước khichuyển tới địa chỉ người nhận Địa chỉ IP của các SMTP server mà email đó đãchuyển qua được ghi trong phần header của email Các chương trình chống spam sẽkiểm tra tất cả các địa chỉ IP đã được tìm thấy trong phần header của email đó sau
đó so sánh với cơ sở dữ liệu DNS Blacklist đã biết Nếu địa chỉ IP tìm thấy trongphần này có trong cơ sở dữ liệu về các DNS Blacklist, nó sẽ bị coi là spam, còn nếukhông, email đó sẽ được coi là một email hợp lệ
Các DNSBL đầu tiên là Blackhole List thời gian thực (RBL), được tạo ra vàonăm 1997, ban đầu nó được coi như một nguồn cấp dữ liệu BGP bởi Paul Vixie , vàsau đó là một hệ thống DNSBL xây dựng bởi Eric Ziegast như một phần của hệthống phòng chống lạm dụng thư (MAPS), Dave Rand tại AboveNet là thuê baođầu tiên của nó Phiên bản đầu tiên của RBL không được công bố như một DNSBL,
mà là một danh sách các mạng truyền qua BGP để định tuyến và các nhà khai thácmạng có thể cho phép tất cả các máy sử dụng giao thức TCP/IP để gửi thư Ngườiphát minh ra kỹ thuật này sau đó thường được gọi là DNSBL là Eric Ziegast
Thuật ngữ "hố đen" đề cập đến một lỗ đen kết nối mạng, một biểu hiện chomột liên kết trên một mạng lưới mà nó giảm lưu lượng truy cập thay vì chuyển tiếp
Trang 39như bình thường Mục đích của RBL là các trang web sử dụng nó sẽ từ chối lưulượng truy cập từ các trang web có hỗ trợ thư rác - cho dù bằng cách chủ động gửithư rác, hoặc bằng cách khác.Trước khi một địa chỉ sẽ được liệt kê trên các RBL,tình nguyện viên và nhân viên MAPS sẽ cố gắng nhiều lần để liên lạc với ngườiquản lý trang web đó và thông báo các vấn đề của nó cần sửa chữa Nỗ lực như vậyđược coi là rất quan trọng trước khi blackholing tất cả các lưu lượng mạng, nhưng
nó cũng có nghĩa là các spamer và các ISP hỗ trợ thư rác có thể trì hoãn được đặttrên RBL trong thời gian dài trong khi chờ các cuộc thảo luận như vậy
Sau đó, RBL cũng được đăng tải trong một danh sách DNSBL và Paul Vixiekhuyến khích các hệ thống email để thực hiện hỗ trợ RBL Danh sách các phầnmềm mail được phép truy vấn các RBL và trang web bị từ chối truy cập được liệt kêtrên một cơ sở dữ liệu cho mỗi máy chủ email thay vì blackholing tất cả lưu lượngtruy cập
Ngay sau khi sự ra đời của RBL, rất nhiều tổ chức khác bắt đầu phát triểndanh sách của mình với các chính sách khác nhau
Năm 2003, một số DNSBLs bị tấn công từ chối dịch vụ, không có tổ chứchay cá nhân nào đứng ra chịu trách nhiệm về các vụ tấn công này Tuy nhiên, nhiềunhà quan sát tin rằng các cuộc tấn công được gây ra bởi kẻ gửi thư rác
Phương pháp này có ưu điểm là các email có thể được kiểm tra trước khi tảixuống, do đó tiết kiệm được băng thông đường truyền Nhược điểm của phươngpháp này là không phát hiện ra được những email giả mạo địa chỉ người gửi
2.2.4.2 Sử dụng SURBL list
Phương pháp sử dụng SURBL phát hiện spam dựa vào nội dung của email.Chương trình chống spam sẽ phân tích nội dung của email xem bên trong nó cóchứa các liên kết đã được liệt kê trong Spam URI Realtime Blocklists (SURBL) haykhông SURBL chứa danh sách các miền và địa chỉ của các spammer đã biết Cơ sở
dữ liệu này được cung cấp và cập nhật thường xuyên tại địa chỉ www.surbl.org
Có nhiều danh sách SURBL khác nhau như sc.surbl.org, ws.surbl.org,ob.surbl.org, ab.surbl.org , các danh sách này được cập nhật từ nhiều nguồn