Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Naive bayes (LV thạc sĩ)
Trang 1TRẦN MỸ HỒNG
NGHIÊN CỨU PHÂN LOẠI THƯ RÁC DỰA TRÊN
KỸ THUẬT HỌC MÁY NẠVE BAYES
CHUYÊN NGÀNH : HỆ THỐNG THƠNG TIN
MÃ SỐ: 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒNG XUÂN DẬU
HÀ NỘI – 2017
Trang 2LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Tác giả
Trần Mỹ Hoàng
Trang 3MỤC LỤC
DANH MỤC HÌNH III DANH MỤC BẢNG IV DANH MỤC TỪ VIẾT TẮT V
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ EMAIL VÀ VẤN ĐỀ LỌC THƯ RÁC 3
1.1 Khái quát về email và dịch vụ email 3
1.1.1 Giới thiệu 3
1.1.2 Các vấn đề bảo mật email và dịch vụ email 10
1.1.3 Các biện pháp đảm bảo an tồn email và dịch vụ email 11
1.2 Thư rác và vấn đề lọc thư rác 21
1.2.1 Khái quát về thư rác 21
1.2.2 Các đặc trưng của thư rác 22
1.2.3 Phân loại thư rác 24
1.2.4 Tác hại của thư rác 24
1.3 Kết luận chương 26
CHƯƠNG 2: XÂY DỰNG MƠ HÌNH LỌC THƯ RÁC DỰA TRÊN NẠVE BAYES 27
2.1 Thuật tốn học máy Nạve Bayes 27
2.1.1 Định lý Bayes 27
2.1.2 Thuật tốn Nạve Bayes 28
2.2 Xây dựng mơ hình lọc thư rác dựa trên Nạve Bayes 29
2.2.1 Mơ hình lọc thư rác dựa trên Nạve Bayes 29
2.2.2 Các bước xử lý trong mơ hình lọc thư rác dựa trên Nạve Bayes 30
2.3 Kết luận chương 37
CHƯƠNG 3: THỬ NGHIỆM VÀ KẾT QUẢ 38
3.1 Giới thiệu bộ dữ liệu thử nghiệm 38
3.2 Các thử nghiệm và kết quả 39
3.2.1 Tiêu chí đánh giá 39
3.2.2 Các thử nghiệm 39
3.4 Kết luận chương 41
KẾT LUẬN 42
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 43
Trang 4DANH MỤC HÌNH
Hình 1.1: Các thơng điệp quá trình gửi và nhận email (S: Server, C: Client) 4
Hình 1.2: Quá trình gửi và nhận mail 8
Hình 1.3: Hoạt động của DomainKeys 15
Hình 1.4: Hoạt động của SPF 17
Hình 1.5: Hoạt động của Sender ID Framework 18
Hình 2.1: Mơ hình huấn luyện và lọc thƣ dựa trên Nạve Bayes 29
Hình 2.2: Quy trình tiền xử lý dữ liệu 30
Trang 5DANH MỤC BẢNG
Bảng 1.1: Các lệnh của SMTP (RFC 821) 4
Bảng 1.2: Các lệnh của POP3 (RFC 1939) 5
Bảng 1.3: Các lệnh của IMAP4 (RFC 2060) 6
Bảng 1.4: Khuơn dạng của email 9
Bảng 1.5: Các kiểu mơ tả dữ liệu 9
Bảng 1.6: Các kiểu dữ liệu thường gặp 10
Bảng 3.1: Bộ dữ liệu thử nghiệm 38
Bảng 3.2: Kết quả thử nghiệm với bộ huấn luyện enron1 39
Bảng 3.3: Kết quả thử nghiệm với bộ huấn luyện enron6 40
Bảng 3.4: Kết quả đánh giá thử nghiệm Nạve Bayes 40
Trang 6DANH MỤC TỪ VIẾT TẮT
Từ viết
SMTP Simple Mail Transfer Protocol Giao thức truyền tải thư đơn giản POP Post Office Protocol Giao thức bưu cục
IMAP Internet Message Access
Protocol Giao thức truy nhập tin nhắn Internet MUA Mail User Agent Đại lý người dùng thư
MTA Mail Tranfer Agent Đại lý vận chuyển thư
MDA Mail Delivery Agent Đại lý phân phối thư
MIME Multi-Purpose Internet Mail
Extensions Mở rộng thư Internet đa mục đích SPF Sender Policy Framework Khung chính sách người gửi
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
DNS Domain Name Server Dịch vụ tên miền
HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn bản
DF Document Frequency Tần suất tài liệu
MI Manual Information Lượng từ tương hỗ
TF Term Frequency Tần suất thuật ngữ
IDF Inverse Document Frequency Tần suất tài liệu nghịch
Trang 7MỞ ĐẦU
Trong thời đại bùng nổ cơng nghệ thơng tin hiện nay, một trong những dịch
vụ đã được ứng dụng từ lâu nhưng vẫn mang những ưu điểm khơng thể thay thế đĩ
là dịch vụ thư điện tử (email) Email là một phương tiện giao tiếp rất đơn giản, tiện lợi, rẻ tiền và hiệu quả giữa mọi người trong cộng đồng sử dụng mạng Internet Lượng email trao đổi hàng ngày rất lớn, lên đến hàng tỷ email mỗi ngày Một trong các vấn đề gây đau đầu cho các nhà cung cấp dịch vụ email và người dùng email là thư rác (spam) Thư rác thường được gửi với số lượng rất lớn, khơng được người dùng mong đợi, thường với mục đích quảng cáo, cĩ thể đính kèm virus, gây phiền tối khĩ chịu cho người dùng, làm giảm tốc độ đường truyền Internet và tốc độ xử
lý của máy chủ email, gây thiệt hại rất lớn về kinh tế
Đã cĩ nhiều phương pháp được nghiên cứu và triển khai để giảm số lượng thư rác Như việc đưa ra các luật lệ để hạn chế việc gửi thư rác, đưa ra các phương pháp kĩ thuật lọc thư rác như: lọc dựa trên địa chỉ IP (whitelist, blacklist), lọc dựa trên danh tính người gửi, lọc dựa trên chuỗi hỏi đáp, và phương pháp lọc nội dung…
Trong các phương pháp lọc thư rác, phương pháp lọc dựa trên nội dung hiện đang được quan tâm nhiều và được đánh giá là cĩ hiệu quả cao Phương pháp lọc nội dung dựa trên việc phân tích nội dung của thư để phân biệt thư rác và thư bình thường Đây cũng là tiền đề để áp dụng các thuật tốn học máy, nhưng Nạve Bayes vào lọc email rác dựa trên nội dung của chúng
Nhằm nghiên cứu và thử nghiệm phương pháp lọc thư rác dựa trên phương pháp học máy Nạve Bayes, luận văn thực hiện đề tài “Nghiên cứu phân loại thư rác dựa trên kỹ thuật học máy Nạve Bayes”
Luận văn gồm cĩ ba chương như sau:
Chương 1: Tổng quan về email và vấn đề lọc thư rác: Chương này trình
bày một cách tổng quan về email, các dịch vụ email, vấn đề bảo mật email và dịch
vụ email, thư rác và các vấn đề về lọc thư rác
Trang 8Chương 2: Xây dựng mơ hình lọc thư rác dựa trên Nạve Bayes: Chương này nghiên cứu thuật tốn học máy Nạve Bayes, xây dựng mơ hình lọc thư rác dựa
trên thuật tốn Nạve Bayes
Chương 3: Thử nghiệm và kết quả: Phần đầu chương giới thiệu bộ dữ liệu
thử nghiệm, phần sau thử nghiệm bộ lọc thư rác dựa trên Nạve Bayes Từ đĩ đưa ra đánh giá, nhận xét
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ EMAIL VÀ
VẤN ĐỀ LỌC THƯ RÁC 1.1 Khái quát về email và dịch vụ email
1.1.1 Giới thiệu
Email (electronic mail), hay thư điện tử là phương pháp trao đổi các thông
điệp giữa một người gửi với một hoặc nhiều người nhận thông qua các mạng máy tính và mạng Internet Email là một trong các phương tiện trao đổi thông tin được
sử dụng rộng rãi nhất trên mạng Internet Email có thể được gửi đi ở dạng thông thường hay mã hoá và được chuyển qua các mạng máy tính đặc biệt là mạng Internet Email có thể chuyển từ một máy nguồn tới một hay nhiều máy nhận
Hệ thống email hoạt động dựa trên mô hình lưu và chuyển tiếp (store and forward) Máy chủ email nhận, chuyển tiếp, phân phối và lưu trữ thông điệp Quá trình gửi nhận email không yêu cầu người dùng (người gửi, người nhận) và máy tính của họ trực tuyến cùng một lúc Người dùng chỉ cần kết nối trong một thời gian ngắn, thường là kết nối tới máy chủ trong một khoảng thời gian đủ để gửi và nhận thông điệp
1.1.1.1 Các giao thức gửi và nhận email
* Giao thức SMTP
SMTP (tiếng Anh: Simple Mail Transfer Protocol - giao thức truyền tải thư tín đơn giản) là một chuẩn truyền tải thư điện tử qua mạng Internet được sử dụng rộng rãi SMTP được đề xuất lần đầu tiên vào năm 1982 trong chuẩn RFC 821 [1]
và được cập nhật, mở rộng thành Extended SMTP (ESMTP ) vào năm 2008 trong chuẩn RFC 5321 [2] Bảng 1.1 cung cấp chi tiết về các lệnh của giao thức SMTP
Giao tiếp SMTP giữa các máy chủ email sử dụng cổng TCP 25 Mặc dù các máy chủ email thường sử dụng giao thức SMTP để gửi và nhận các email, các ứng dụng máy khách chỉ sử dụng giao thức SMTP để chuyển tiếp Để tải email, các ứng dụng máy khách thường sử dụng hoặc giao thức IMAP hay POP3
Trang 10Bảng 1.1: Các lệnh của SMTP (RFC 821)
HELO Sử dụng để xác định người gửi thư Lệnh này này đi kèm với tên của host gửi
thư Trong ESMTP (extended protocol), thì lệnh này sẽ là EHLO
MAIL Khởi tạo một giao dịch gửi thư Nó kết hợp "from" để xác định người gửi thư RCPT Xác định người nhận thư
DATA
Thông báo bắt đầu nội dung thực sự của bức thư (phần thân của thư) Dữ liệu được mã hóa thành dạng mã 128-bit ASCII và nó được kết thúc với một dòng đơn chứa dấu chấm (.)
RSET Huỷ bỏ giao dịch thư
VRFY Sử dụng để xác thực người nhận thư
NOOP Là lệnh "no operation" xác định không thực hiện hành động
QUIT Thoát khỏi tiến trình để kết thúc phiên giao tiếp
SEND Cho host nhận biết rằng thư còn phải gửi đến đầu cuối khác
Hình 1.1: Các thông điệp quá trình gửi và nhận email (S: Server, C: Client)
Trang 11* Giao thức POP
POP (Post Office Protocol) là một giao thức tầng ứng dụng, dùng để lấy thư điện tử từ máy chủ email, thông qua kết nối TCP/IP trên cổng TCP 110 Các phiên bản của POP là POP1, POP2 và POP3 Khi POP3 ra đời, đã ngay lập tức thay thế hoàn toàn các phiên bản cũ Vì vậy, ngày nay nhắc đến giao thức POP thì thường là
RSET Khôi phục lại thư đã xoá (rollback)
QUIT Thực hiện việc thay đổi và thoát ra
* Giao thức IMAP
IMAP (Internet Message Access Protocol) là thế hệ mới của giao thức POP IMAP đặt sự kiểm soát email trên máy chủ email trong khi nhiệm vụ của POP là tải toàn bộ thông điệp email máy khách IMAP cung cấp truy cập email theo ba chế độ khác nhau: offline (ngoại tuyến), online (trực tuyến) và disconnected (ngắt kết nối)
Trang 12IMAP4 được quy định bởi tiêu chuẩn RFC 2060 [4] và nó sử dụng cổng TCP 143 Bảng 1.3 cung cấp chi tiết về các lệnh của IMAP
SELECT Chọn hộp thư
EXAMINE Điền hộp thư chỉ được phép đọc
CREATE Tạo hộp thư
DELETE Xoá hộp thư
RENAME Đổi tên hộp thư
SUBSCRIBE Thêm vào một list đang hoạt động
UNSUBSCRIBE Rời khỏi list đang hoạt động
LIST Danh sách hộp thư
LSUB Hiện danh sách người sử dụng hộp thư
STATUS Trạng thái của hộp thư (số lượng thư, )
APPEND Thêm message vào hộp thư
CHECK Yêu cầu kiểm tra hộp thư
CLOSE Thực hiện xoá và thoát khỏi hộp thư
EXPUNGE Thực hiện xoá
SEARCH Tìm kiếm trong hộp thư để tìm messages xác định
FETCH Tìm kiếm trong nội dung của message
STORE Thay đổi nội dụng của messages
COPY Copy message sang hộp thư khác
* Mail User Agent (MUA)
Trang 13MUA là chương trình mà người dùng sử dụng để đọc và gửi email Nó đọc email gửi đi của người dùng và gửi email tới MTA để gửi đến nơi nhận Các chương trình MUA tiêu biểu bao gồm: Microsoft Outlook (Windows), Evolution (Linux), ThunderBird
* Mail Tranfer Agent (MTA)
MTA hoạt động cơ bản của nó giống như một "mail router" (bộ định tuyến email), theo đó MTA nhận email từ các MUA hay từ một MTA khác, dựa vào thông tin trong phần header của email nó sẽ đưa ra xử lý phù hợp với email đó Sau đó email sẽ được gửi đến một MDA phù hợp để gửi email vào hộp thư của người dùng Các chương trình cung cấp dịch vụ MTA tiêu biểu là: Qmail, Sendmail, Postfix (Unix/Linux), Edge/Hub Transport của Microsoft Exchange (Windows)
* Mail Delivery Agent (MDA)
MDA nhận email từ MTA và thực hiện việc gửi email đến đích thực sự Các chương trình cung cấp dịch vụ tiêu biểu là: Procmail, Mail.local, rmail (Linux),
Mailbox Server trong Microsoft Exchange (Windows)
1.1.1.3 Phương thức hoạt động của hệ thống email
Hoạt động của hệ thống email có thể dược minh họa qua phân tích một thí dụ như sau:
- Nguyễn dùng MUA của mình để soạn một 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ử của Nguyễn sử dụng giao thức SMTP để gửi 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
- MTA này sẽ đọc địa chỉ người nhận (tran@b.org) và dựa vào phần tên miền
nó sẽ truy vấn máy chủ email của tên miền này thông qua hệ thống tên miền (DNS)
Trang 14Hình 1.2: Quá trình gửi và nhận mail
- 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ư (bản ghi MX), đây là bản 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ủ email từ dịch vụ cung ứng Internet của Trần
- smtp.a.org gửi thư tới mx.b.org dùng giao thức SMTP, và mx.b.org sẽ lưu thư vào hộp thư của Trần
- Khi đọc Trần ra lệnh nhận thư trên máy (MUA) của Trần, MUA lấy thư về bằng cách áp dụng giao thức POP3
1.1.1.4 Khuôn dạng của một email
RFC 822 [5] định nghĩa một email gồm có hai phần: phần tiêu đề (header) và phần thân (body) Cả hai phần đều được thể hiện dưới dạng ký tự ASCII Ban đầu, phần thân được qui định có khuôn dạng văn bản đơn giản Sau này người ta đề xuất
Trang 15một chuẩn mới gọi là MIME (Multi-Purpose Internet Mail Extensions), có thể cho phép phần thân của email chứa bất kỳ loại dữ liệu nào
Phần tiêu đề bao gồm nhiều dòng thông tin, mỗi dòng kết thúc bằng tổ hợp hai ký tự <CRLF> Phần tiêu đề được chia khỏi phần thân bởi một hàng rỗng Mỗi một hàng tiêu đề chứa một cặp “tên” và “giá trị”, cách nhau bởi dấu hai chấm (:) Người dùng có thể rất quen với nhiều hàng tiêu đề vì họ thường phải điền thông tin vào Bảng 1.4 minh họa một số trường trong phần tiêu đề của email
Bảng 1.4: Một số trường trong phần tiêu đề của email
From: Địa chỉ người gởi To: Địa chỉ của người nhận Subject: Chủ đề thư
Date: Ngày gửi
Chuẩn RFC 822 được mở rộng năm 1993 thành chuẩn MIME và được cập nhật lại năm 1996 để cho phép email mang được nhiều loại dữ liệu: audio, video, hình ảnh, tài liệu văn bản… Chuẩn MIME về cơ bản có ba phần Phần đầu tiên là tập các dòng header dùng để tương thích với phần header cũ của RFC 822 Theo nhiều cách, những dòng header này mô tả dữ liệu chứa trong phần thân Bảng 1.5 cung cấp các kiểu mô tả dữ liệu của MIME
Bảng 1.5: Các kiểu mô tả dữ liệu
MIME-Version: Phiên bản MIME đang sử dụng
Content-Description: Mô tả trong thư đang có dữ liệu gì
Content-Type: Mô tả kiểu dữ liệu đang nằm trong thư
Trang 16Content-Transfer-Encoding: Mô tả cách thức mã hóa dữ liệu trong thư
Phần thứ hai là các định nghĩa cho một tập các kiểu nội dung và kiểu con nếu
có Bảng 1.6 là ví dụ một số kiểu dữ liệu mà MIME định nghĩa
Bảng 1.6: Các kiểu dữ liệu thường gặp
image/gif Ảnh dạng gif
image/jpeg Ảnh dạng jpeg
text/plain Văn bản đơn giản
text/richtext Văn bản mở rộng (có đặt font chữ, được định dạng đậm, nghiêng hoặc
gạch dưới …)
application
Dữ liệu trong thư được xuất ra từ một ứng dụng nào đó Chẳng hạn:
application/postscript: tài liệu Postscript(.ps), application/msword:
Tài liệu Microsoft Word (.doc)
1.1.2 Các vấn đề bảo mật email và dịch vụ email
Bảo mật email và dịch vụ email đã và đang là vấn đề nóng thu hút được sự quan tâm của các cơ quan, tổ chức, các chuyên gia và người dùng Các vấn đề bảo mật nổi cộm đối với email và dịch vụ email bao gồm: thư rác (spam), virus và các loại malware, email giả mạo và phishing email
* Thư rác
Thư rác là các thư điện tử có nội dung vô bổ, thường là thư quảng cáo về một nội dung, sản phẩm, hoặc website nào đó, đôi khi là kèm theo lừa đảo và trộm cắp thông tin cá nhân Spam thường được gửi cùng lúc cho hàng loạt địa chỉ email, và gửi nhiều lần thông qua một mail server nào đó Spam là loại thông điệp điện tử mà người dùng không mong muốn nhận được
* Virus và các loại malware
Trang 17Virus và các loai malware (phần mềm độc lại) là các phần mềm gây hỏng hóc hệ thống máy tính và các phần mềm có ích Các chương trình hay phần mềm độc hại có thể xâm nhập hệ thống máy tính của người dùng bằng nhiều cách, và một trong các cách phổ biến nhất là thông qua thư điện tử Từ một máy tính, virus thu thập các địa chỉ email trong máy nạn nhân và gửi email giả mạo có nội dung hấp dẫn kèm theo file virus để lừa người nhận mở các file này
Các virus email được gửi thường có nội dung khá “hấp dẫn” Một số virus còn trích dẫn nội dung của 1 email trong hộp thư của nạn nhân để tạo ra phần nội dung của email giả mạo, điều đó giúp cho email giả mạo có vẻ “thật” hơn và người nhận dễ bị mắc lừa hơn Với cách hoàn toàn tương tự như vậy trên những máy nạn nhân khác, virus có thể nhanh chóng lây lan trên toàn cầu theo cấp số nhân
* Email giả mạo và phishing email
Ngoài việc gửi thư rác và lây lan các phần mềm độc hại, tin tặc còn có thể giả mạo email để đánh lừa người dùng nhằm phá hoại, trục lợi Trong đó, phishing email là hình thức lừa đảo nhằm đánh cắp các thông tin nhạy cảm của người dùng, như thông tin thẻ tính dụng hay tên tài khoản sử dụng và mật khẩu đăng nhập vào các trang thông tin điện tử hay dịch vụ ngân hàng trực tuyến Phishing thường được tin tặc thực hiện dưới hình thức gửi email, hay tin nhắn nhanh nhằm lừa người dùng cung cấp thông tin hay nhấp chuột vào một đường link dẫn tới website lừa đảo
Cùng với việc thương mại điện tử phát triển nhanh, thúc đẩy hình thức thanh toán trực tuyến ngày một phong phú, giới tội phạm mạng đang gia tăng các vụ tấn công bằng phishing email nhắm vào người dùng dịch vụ ngân hàng và thanh toán trực tuyến
1.1.3 Các biện pháp đảm bảo an toàn email và dịch vụ email
Nhiều kỹ thuật đã được nghiên cứu và ứng dụng nhằm đảm bảo an toàn cho email và dịch vụ email Có thể liệt kê các biện pháp thông dụng, gồm:
Lọc spam và malware email
Cấu hình an toàn cho máy chủ email
Trang 18 Phương pháp DomainKeys
Phương pháp Call-ID
Phương pháp Sender Policy Framework (SPF)
Phương pháp Sender ID Framework
Phương pháp lọc dựa trên mạng xã hội
Ngăn chặn việc gửi thư rác bằng chính sách và luật pháp
Các tiểu mục tiếp theo sẽ trình bày chi tiết nội dung các biện pháp kể trên
1.1.3.1 Lọc spam và malware email
Lọc thư rác, hay lọc spam và malware email là biện pháp hiệu quả đầu tiên
và có thể được triển khai trên máy chủ email (MTA/MDA) và máy khách email (MUA) Dưới đây là các kỹ thuật cụ thể cho lọc spam và malware email
* Chặn địa chỉ IP
Biện pháp này thực hiện chặn các email được gửi đến từ các địa chỉ IP biết trước Khi một email đến, bộ lọc sẽ phân tích địa chỉ máy gửi và so sánh với danh sách địa chỉ bị chặn Nếu email đó đến từ một máy có địa chỉ trong danh sách này thì nó sẽ bị coi là spam, ngược lại nó sẽ được coi là email hợp lệ
* Sử dụng danh sách blacklist/whitelist
Danh sách đen (Blacklist) và Danh sách trắng (Whitelist) là 2 kỹ thuật được
sử dụng khá phổ biến Blacklist là một danh sách các địa chỉ (địa chỉ email, địa chỉ
IP và/hoặc tên miền) thường xuyên gửi thư rác, được tạo lập thông qua các số liệu thống kê và lịch sử gửi thư rác Các nhà cung cấp dịch vụ thư điện tử (ISP) sẽ dựa trên danh sách này để loại bỏ những thư nằm trong danh sách này Blacklist thường
Trang 19xuyên được cập nhật và được chia sẻ giữa các nhà cung cấp dịch vụ Một số danh sách đen điển hình được lập ra như: SpamCop Blocking List và Composite Block List
Ưu điểm của phương pháp này là các ISP sẽ ngăn chặn được khá nhiều địa chỉ gửi thư rác Mặc dù danh sách đen này luôn được cập nhật nhưng với sự thay đổi liên tục địa chỉ, sự giả mạo địa chỉ hoặc lợi dụng một mail server hợp pháp để gửi thư rác đã làm số lượng thư rác gửi đi vẫn ngày càng tăng cao Do đó phương pháp này chỉ ngăn chặn được một phần số thư rác gửi đi và có thể chặn nhầm cả thư hợp pháp
Ngược lại với Blacklist, Whitelist (Danh sách trắng) là danh sách các địa chỉ tin cậy (Safe Sender List) Danh sách này có thể do một nhà cung cấp dịch vụ nào
đó cung cấp Những địa chỉ thuộc danh sách sẽ được cho qua bộ lọc Người dùng phải đăng ký với nhà cung cấp danh sách để được nằm trong danh sách
Ưu điểm của phương pháp này là số lượng địa chỉ trong danh sách trắng sẽ ít hơn trong danh sách đen vì thế sẽ dễ cập nhật hơn danh sách đen và khi sử dụng kết hợp sẽ giải quyết được tình trạng chặn nhầm thư của Blacklist
Tuy nhiên, cả hai phương pháp trên đều có nhược điểm là khó cập nhật, nhất
là khi ai đó thay đổi địa chỉ IP Ngoài ra, người gửi cũng có thể lợi dụng mail server
có trong danh sách trắng để gửi thư rác, khi đó rất khó kiểm soát
* Sử dụng bộ lọc Bayesian
Phương pháp này sử dụng định lý Bayes để phân loại spam Nếu một số phần văn bản xuất hiện thường xuyên trong các spam nhưng thường không xuất hiện trong các email thông thường, thì có thể kết luận rằng email đó là spam Một số bộ lọc spam/malware email có hỗ trợ bộ lọc Bayesian được sử dụng rộng rãi gồm: SpamAssassin, Spamfighter và MailWasher
* Sử dụng tính năng Challenge/Response
Tính năng Challenge/Response sẽ yêu cầu người lần đầu gửi email xác nhận lại email đầu tiên mà họ đã gửi Ssau khi xác nhận, địa chỉ email của người gửi được bổ sung vào danh sách whitelist và từ đó trở về sau các email được gửi từ địa
Trang 20chỉ đó được tự động cho qua các bộ lọc Do spammer sử dụng các chương trình gửi email tự động và họ không thể xác nhận lại tất cả các email đã gửi đi, vì thế những email không được xác nhận sẽ bị coi là spam
1.1.3.2 Cấu hình an toàn cho máy chủ email
Cấu hình an toàn cho máy chủ email là một biện pháp hiệu quả để tránh các máy chủ bị lợi dụng để phát tán thư rác và các phần mềm độc hại Các biện pháp cụ thể gồm:
- Cấu hình tránh Open Relay để hạn chế đến tối thiểu khả năng tin tặc sử dụng máy chủ email để gửi spam;
- Bật chế độ xác thực SMTP (SMTP authentication) để kiểm soát truy nhập
từ người dùng, theo đó người dùng cần xác thực tài khoản mới có thể gửi email;
- Giảm số lượng kết nối SMTP đồng thời để hạn chế tấn công DoS;
- Kích hoạt Reverse DNS với máy chủ email để ngăn chặn tin tắc gửi email giả mạo;
- Sử dụng blacklist cục bộ (tên miền, địa chỉ IP và địa chỉ email) để chặn các nguồn spams;
- Kích hoạt cơ chế Sender Policy Framework để chặn các nguồn giả mạo;
- Sử dụng SMTP an toàn (Secure SMTP)
1.1.3.3 Phương pháp DomainKeys
Phương pháp DomainKey [6] giúp phân định rõ thư rác và thư thường bằng cách cung cấp cho các hãng cung cấp dịch vụ thư điện tử một cơ chế xác nhận cả tên miền của mỗi người gửi thư điện tử và tính toàn vẹn của mỗi bức thư được gửi
đi Sau khi đã xác nhận được tên miền, người ta có thể so sánh tên miền này với tên miền mà người gửi sử dụng trong ô “Người gửi” của bức thư để phát hiện các trường hợp giả mạo
Domainkeys là một phương thức mã hóa định danh, được đề xuất bởi Yahoo vào tháng 5 năm 2004 Domainkeys không những chỉ cho phép xác định domain của người gửi mà còn cho phép kiểm tra tính toàn vẹn của chính nội dung của
Trang 21email Domainkeys sử dụng mã hóa khóa công khai RSA để xác minh tính toàn vẹn của người gửi email tại mức domain Domainkeys được thực hiện và sử dụng bởi cả yahoo! Mail và Google mail Hoạt động của Domainkeys được minh họa trên Hình 1.3 và gồm các khâu như sau:
Hình 1.3: Hoạt động của DomainKeys
- Mỗi domain phải sinh ra một cặp khóa bí mật và khóa công khai Khóa công khai được công bố trong bản ghi DNS Khóa bí mật được giữ lại tại dịch vụ MTA gửi thư
- Sau khi email đã được gửi đi, dịch vụ gửi thư MTA ký số vào nội dung của email bằng khóa bí mật Chữ ký được thêm vào trường Domainkey_signature
- Domainkeys yêu cầu cả MTA bên gửi và MTA bên nhận thực hiện cơ chế Domainkey Việc xác minh của Domainkeys_signature có thể cũng được thực hiện tại máy khách MUA
- Khi máy chủ nhận được tên của domain từ email gốc (string-domainkey) thì bộ chọn thực hiện tra cứu DNS Dữ liệu trả về chứa khóa công khai của domain
đó Người nhận có thể giải mã giá trị băm chứa trong trường tiêu đề và đồng thời tính lại giá trị băm cho phần thân của mail nhận được sau đó so sánh hai giá trị này nếu giống nhau chứng tỏ email được gửi là thật, đảm bảo tin cậy nếu không là email không đáng tin
Trang 22Phương pháp Domainkey có các ưu điểm sau:
+ Xác định nguồn gốc domain của email một cách rõ ràng, sẽ hiệu quả hơn nếu kết hợp với sử dụng Whitelist và Blacklist Giúp dễ dàng phát hiện ra sự tấn công phishing
+ Loại bỏ những email giả mạo tại phần mềm email người dùng cuối (mail user agents), hoặc bởi MTA của ISP
+ Theo dõi việc lạm dụng domain của những cá nhân một cách dễ dàng hơn + Khả năng tương thích: Domainkeys tương thích với cấu trúc hiện tại của email Trong trường hợp đặc biệt, đối với hệ thống email mà không có sự hỗ trợ của Domainkeys thì nó là trong suốt
Nhược điểm của Domainkeys là một công nghệ xác định danh tính, nó không tham gia trực tiếp trong việc lọc spam Ví dụ như Domainkeys cho người nhận thư biết thông điệp đó được gửi từ tên miền example.net, nhưng không thể cho biết liệu email từ example.net đó có phải là spam hay không Chỉ chữ ký không khẳng định thư đó có được mong muốn hay không, và các spammer cũng có thể ký email, hoặc cũng có thể giả mạo chữ ký…
1.1.3.4 Phương pháp Call-ID
Phương pháp Call-ID là một tiêu chuẩn đặt ra trong quá trình gửi thư Tiêu chuẩn này đòi hỏi người gửi thư điện tử phải cung cấp địa chỉ IP của máy chủ gửi thư theo dạng XML vào bản ghi DNS trên máy chủ tên miền của họ Máy chủ nhận thư điện tử và máy khách nhận bức thư đó sẽ kiểm tra địa chỉ gửi thư trong tiêu đề bức thư với địa chỉ đã được công bố để xác nhận máy chủ gửi thư Các bức thư không khớp với địa chỉ nguồn sẽ bị loại bỏ
1.1.3.5 Phương pháp Sender Policy Framework (SPF)
Phương pháp SPF [7] dựa trên cơ cấu chính sách người gửi, trong đó SPF cũng yêu cầu người gửi thư điện tử phải sửa đổi DNS để cho biết máy chủ nào có thể gửi thư từ một tên miền Internet nhất định Tuy nhiên, SPF chỉ kiểm tra sự giả
Trang 23mạo khi bức thư trong quá trình chuyển thư hay còn gọi là ở mức “ngoài phong bì”, xác minh địa chỉ “phản hồi” của một bức thư, thường được máy chủ nhận thư gửi trở lại trước khi tiếp nhận phần nội dung thư, sau đó sẽ thông báo tới máy chủ nhận thư để loại bỏ bức thư
Hình 1.4: Hoạt động của SPF
- SPF cung cấp cơ chế cho phép MTA phía nhận kiểm tra xem máy chủ gửi email có được ủy quyền bởi miền mà nó thuộc về hay không Danh sách các máy chủ được ủy quyền được công khai trong các bản ghi DNS dưới dạng TXT Thư rác
và thư giả mạo thường dùng địa chỉ giả, vì thế có thể coi đây là một kỹ thuật chống spam Hoạt động của SPF được mô trả trên Hình 1.4, gồm các khâu như sau:
- SPF bổ sung thêm bản ghi SPF cho mỗi miền dưới dạng bản ghi TXT, thông tin về miền đó lưu trong hệ thống DNS, trong đó chỉ rõ các máy chủ email được thiết lập để gửi email của miền đó
- Khi nhận được email, máy chủ đích có hỗ trợ SPF sẽ truy vấn thông tin về các máy chủ được ủy quyền gửi email từ bản ghi SPF của miền và so sánh máy chủ
Trang 24bao gồm Pass, nghĩa là email đáp ứng được yêu cầu là email hợp lệ; Fail nghĩa là email không đáp ứng được yêu cầu đó; và các kết quả khác, chẳng hạn như email đến từ các miền không công khai dữ liệu SPF
1.1.3.6 Phương pháp Sender ID Framework
Sender ID Framework là một giao thức xác thực người gửi email do Microsoft đề xuất, được thiết kế nhằm chống lại email giả mạo và email tấn công phishing Theo Microsoft, Sender ID Framework gồm ba phần riêng biệt: Sender Policy Framework (SPF), Caller ID và Submitter Optimization
Hình 1.5: Hoạt động của Sender ID Framework
Hoạt động của Sender ID Framework như mô tả trên Hình 1.5 gồm các khâu:
- Người gửi công khai bản ghi Sender ID lên hệ thống DNS
- Email được gửi qua mạng Internet
- Người nhận tìm bản ghi Sender ID và xác định Purported Responsible Address (PRA) PRA là miền có trong địa chỉ “from”, là địa chỉ gửi email Sau đó
so sánh PRA với các địa chỉ IP hợp lệ trong bản ghi Sender ID Nếu giống, email
“vượt qua” được bước kiểm tra Sender ID
Ví dụ một phiên làm việc với Sender ID:
1 Người gửi chuyển email cho người nhận
2 Máy chủ email cục bộ của người nhận nhận email