Chính vì vậy, nếu ta có thể tạo ra một hệ thống kết hợp cả hai hướng xử lý trên thì hiệu suất trong việc nhận dạng và xử lý Spam sẽ tăng cao, có khả năng làm việc với nhiều dạng mail spa
ĐỐI TƯỢNG VÀ MỤC TIÊU CỦA LUẬN VĂN
Email ngày càng phổ biến và được sử dụng rộng rãi trong mọi lĩnh vực, việc duy trì sự ổn định của dịch vụ email rất quan trọng Tuy nhiên, tình trạng lợi dụng email cho mục đích thương mại và lừa đảo ngày một gia tăng, dẫn tới sự xuất hiện của spam Các nhà cung cấp dịch vụ mạng phải đảm bảo nhận dạng và xử lý spam bằng nhiều phương pháp, bao gồm: nhận dạng dựa trên nguồn gốc spam và nhận dạng dựa trên nội dung mail Mỗi phương pháp có ưu nhược điểm khác nhau, hiệu suất chỉ tốt với một số loại spam nhất định Nhận dạng dựa trên nguồn gốc spam có tốc độ nhanh, tiết kiệm tài nguyên nhưng dễ nhầm, còn nhận dạng dựa trên nội dung mail có độ tin cậy cao hơn nhưng xử lý chậm và tốn tài nguyên.
Chính vì vậy, nếu ta có thể tạo ra một hệ thống kết hợp cả hai hướng xử lý trên thì hiệu suất trong việc nhận dạng và xử lý Spam sẽ tăng cao, có khả năng làm việc với nhiều dạng mail spam khác nhau, có khả năng tự động nhận dạng và xử lý các dạng spam mới thông qua các thuật toán và tốc độ xử lý của hệ thống cũng sẽ nhanh hơn do có được phương pháp xử lý phù hợp
Mục đích chính của luận văn là tìm hiểu các phương pháp nhận dạng và xử lý spam trong dịch vu email Từ đó xây dựng hệ thống chống spam trong dịch vụ email để có thể áp dụng cho các môi trường mạng thực tế Với giải pháp dựa trên nền tảng mã nguồn mở cùng với giải thuật Bayesian, hệ thống chống spam sẽ tối ưu về mặt chỉ phí cũng như hiệu năng.
PHƯƠNG PHÁP NGHIÊN CỨU
Để thực hiện đề tài, tác giả thực hiện nghiên cứu lý thuyết hoạt động của dịch vụ Mail Server, các phương pháp phát tán và nhận dạng spam Đề xuất ra mô hình hoạt động của hệ thống chống spam dựa trên các giải pháp mã nguồn mở nền tảng
Linux, giám sát thông qua giao diện web Thực hiện triển khai hệ thống trong môi trường thưc tế để kiểm chứng khả năng hoạt động và hiệu suất hoạt động.
Ý NGHĨA THỰC TIỄN CỦA ĐỀ TÀI
Kết quả nghiên cứu của luận văn có khả năng ứng dụng trực tiếp trong hoạt động của dịch vụ email, hỗ trợ nâng cao hiệu quả nhận diện và lọc bỏ spam một cách chính xác hơn.
Hạn chế tối đa việc bị spammer chiếm dụng băng thông và tài nguyên hệ thống, giảm thiểu tối đa các phiền nhiễu và các mối nguy hại từ spam đối với người dùng Tăng cường độ tin cậy cũng như tối thiểu chi phi hoạt động của dịch vụ email
TỔNG QUAN DỊCH VỤ MAIL
GIỚI THIỆU DỊCH VỤ EMAIL
Một trong những thành tựu quan trọng của loài người trong những năm cuối thế kỷ 20 đầu thể kỷ 21 đó chính là sự ra đời của mạng Internet, đây là một hệ thống mạng máy tính toàn cầu được xây dựng từ kết nối của rất nhiều mạng máy tính con trên thế giới lại với nhau Hệ thống mạng khổng lồ này không thuộc quyền sở hữu của bất cứ một tổ chức, hay quốc gia nào mà hoạt động dựa trên nguyên tắc tự nguyện và phi lợi nhuân Mạng Internet giúp cho các máy trong hệ thống mạng có thể trao đổi thông tin qua lại với nhau và chính sự liên kết này đã tạo ra một thư viện khổng lồ về kiến thức cho nhân loại cũng như một môi trường thông tin liên lạc bao phủ toàn cầu Ứng dung những tính năng của mạng Internet, một phương thức thông tin liên lạc mới đã ra đời đó chính là Email hay còn được gọi là dịch vụ thư điển tử
Email là một dịch vụ dùng để gửi và nhận những bức thư điện tử (những văn bản máy tính) tương tư như hệ thống bưu chính truyền thống Với những ưu điểm về tốc độ và chi phí, dịch vụ email được sử dụng ngày càng phổ biến
Email services rely on various protocols to function effectively These include Simple Mail Transfer Protocol (SMTP), which facilitates the transmission of emails, Post Office Protocol (POP), which enables the retrieval of emails from a server, Multipurpose Internet Mail Extensions (MIME), which allows the sending and receiving of non-textual content such as attachments, and Interactive Mail Access Protocol (IMAP), which provides access to emails without downloading them to the client device.
Hoạt động của Mail Server sẽ được thể hiện qua mô hình sau:
Hình 2.1: Hoạt động của Mail Server
Như ta thấy, khi thực hiện gửi email thì Mail Server sẽ sử dụng giao thức SMTP để gửi email đi trên môi trường Internet, email từ Internet gửi tới Mail Server bằng giao thức SMTP và sẽ được lưu lại trong Mail Server, người dùng sẽ lấy email về máy mình thông qua giao thức POP hoặc IMAP
Dựa theo chức năng của Mail Server, ta đưa ra một số khái niệm về các thành phần trong hệ thống mail như sau:
MTA (Mail Transfer Agent – đại lý chuyển thư): là chương trình chuyển email giữa các Mail Server Server cung cấp dịch vụ Email cũng được gọi là MTA Một vài chương trình chuyển email thông dụng hiện nay: sendmail, qmail, postfix … Các chương trình này sẽ đóng vai trò nhận mail từ người dùng hoặc từ các Mail Server khác và phân phối email đến Mail Server cần nhận
MDA (Mail Delivery Agent – đại lý phân phối thư): là chương trình phân phối email từ Mail Server đến các hộp thư của từng user trong hệ thống
Hầu như các chương trình MTA đều được tích hợp sẵn MDA trong chương trình
MUA (Mail User Agent – Hộp thư người dùng): là một phần mềm thư điện tử được cài đặt trên từng máy tính của người dùng, giúp cho người dùng có thể thực hiện các thao tác gửi, nhận email Các MUA phổ biến hiện nay là: Microsoft Outlook, Microsoft Outlook Express, Netscape Comunicator, Eudora
Mail Gateway: là máy kết nối giữa các mạng dùng các giao thức truyền thống khác nhau hoặc kết nối các mạng khác nhau dùng chung giao thức
Ví dụ một Mail gateway có thể kết nối một mạng TCP/IP với một mạng chạy bộ giao thức Systems Network Architecture (SNA) Mail gateway chuyển mail giữa domain nội bộ và các domain bên ngoài Mail gateway cũng kết nối 2 mạng dùng mailer khác nhau
Mail Host là máy chủ email chính giữ vai trò trung gian trong hệ thống truyền tải thư điện tử Nó giải quyết địa chỉ người nhận để định tuyến thư giữa các máy chủ email hoặc chuyển đến Mail Gateway.
Mail Server: là nơi chứa hộp thư của người dùng Mail Server nhận mail từ mail client gửi đến và đưa vào hàng đợi để gửi đến Mail Host sau đó Mail Server nhận mail từ Mail Host gửi đến và đưa vào hộp thư của người dùng
Mail Client : là phần mềm trên máy người dùng có thể thực hiện những chức năng như: gửi thư, nhận thư, chuyển tiếp thư, xóa thư …
Hộp thư : là nơi mà các hệ thống mail dùng để lưu giữ email của người dùng Ở mỗi hệ thống vận chuyển thư khác nhau sẽ có phương thức lưu trữ hộp thư khác nhau.
CÁC GIAO THỨC TRONG DỊCH VỤ EMAIL
SMTP
SMTP (Simple Mail Transfer Protocol) is a protocol used to transmit email over the Internet and is defined in RFC 821 It was later revised in RFC 1123, which is the current specification for SMTP.
SMTP bắt đầu được sử dụng rộng rãi vào những năm đầu thập niên kỷ 1980
Tại thời điểmnđó, SMTP chỉ là một phần mềm bổ sung của ứng dụng giao thức UUCP (Unix to Unix CoPy - Sao chép từ máy Unix sang máy Unix) nhưng tiện lợi hơn trong việc truyền tải thư điện tử giữa các máy vi tính - những máy này thỉnh thoảng lại được kết nối với nhau một lần, để truyền dữ liệu
Sendmail là phần mềm truyền tải email (mail transfer agent) tiên phong sử dụng giao thức SMTP Vào năm 2001, có ít nhất 50 ứng dụng sử dụng giao thức SMTP, bao gồm cả trình khách (phần mềm gửi email) và trình chủ (phần mềm nhận thông điệp) Các trình chủ SMTP nổi tiếng gồm có exim, Postfix, qmail và Microsoft Exchange Server.
Rất nhiều người đã từng sửa đổi hoặc cống hiến vào những phần chủ chốt trong đặc tả của SMTP, trong số đó có: John Postel, Eric Allman, Dave Crocker, Ned Freed, Randall Gellens, John Klensin, và Keith Moore
SMTP là một giao thức dùng nền văn bản và tương đối đơn giản Trước khi một thông điệp được gửi, người ta có thể định vị một hoặc nhiều địa chỉ nhận cho thông điệp (những địa chỉ này thường được kiểm tra về sự tồn tại của chúng tại hệ thống nhận thông điệp) Việc kiếm tra một trình chủ SMTP là một việc tương đối dễ dàng đó là dùng chương trình ứng dụng “telnet”
SMTP dùng cổng 25 của giao thức TCP Để xác định trình chủ SMTP của một tên miền nào đấy (domain name), người ta dùng một mẩu tin MX (Mail Exchange – Trao đổi thư) của DNS (Domain Name System – Hệ thống tên miền)
Do thiết kế của giao thức SMTP dùng dạng văn bản thường của bộ mã ASCII, nên việc truyền tải các nội dung nhị phân diễn ra rất khó Để khắc phục vấn đề này, người ta sử dụng MIME để mã hóa những tập tin nhị phân, cho phép chúng được truyền tải bởi giao thức SMTP Hiện nay, phần lớn các trình chủ SMTP hỗ trở phần mở rộng 8BITMIME, điều này cho phép truyền tải các các tập tin ở dạng nhị phân qua giao thức SMTP
SMTP là một giao thức “đẩy”nthông điệp và không cho phép ai "rút" thông điệp từ xa Để lấy được thông điệp, một trình khách thư điện tử phải dùng POP (Post Office Protocol – Giao thức phòng thư) hoặc IMAP (Internet Message Access Protocol - Giao thức truy cập thông điệp Internet)
Lệnh Cú pháp Chức năng
Hello HELO Lệnh nhận diện SMTP From MAIL FROM: Địa chỉ người gởi Recipient RCPT TO: Địa chỉ người nhận
Data DATA Bắt đầu gởi thông điệp
Reset RSET Hủy bỏ thông điệp
Verify VRFY Kiểm tra username
Expand EXPN Mở rộng danh sách mail
Help HELP Yêu cầu giúp đỡ
Quit QUIT Kết thúc phiên giao dịch
2.2.1.4.Vấn đề an ninh trong giao thức SMTP
Một trong những giới hạn của bản thiết kế SMTP gốc là việc nó không cung cấp một phương thức nào để chứng thực (authentication) người gửi Chính vì vậy người dùng có thể dễ dàng mạo danh người gửi trong dịch vụ email Để khắc phục vấn đề này, các nhà phát triển đã tạo ra phần mở rộng để thực hiện chứng thực trong giao thức SMTP
Mặc dù đã có phần chứng thực người gửi bổ sung, nhưng việc lợi dụng hệ thống SMTP để thực hiện các hành vi lừa đảo vẫn còn là một vấn đề lớn, khó giải quyết Việc sửa đổi giao thức SMTP một cách triệt để, hoặc thay thế bằng một giao thức khác, là một việc không dễ gì thực hiện được Vì sự thay đổi nàynsẽ gây ảnh hưởng đến mạng lưới truyền thông của những máy chủ SMTP khổngnlồ, đã và đang được dùng.
POP
POP (Post Office Protocol - giao thức phòng thư) là một giao thức hoạt động tại tầng ứng dụng, dùng để tải email từ server mail thông qua kết nối TCP/IP
POP được định nghĩa đầu tiên vào năm 1984, POP2 được định nghĩa trong RFC 937 (năm 1988), POP3 được định nghĩa trong RFC 1725 POP2 sử dụng port 109 và POP3 sử dụng port 110 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 POP thì thường là ám chỉ POP3
POP (Post Office Protocol) là giao thức cung cấp cơ chế truy cập lưu trữ hộp thư cho người dùng POP có hai phiên bản được sử dụng rộng rãi là POP2 và POP3, mặc dù các câu lệnh trong hai phiên bản này không giống nhau Tuy nhiên, chức năng cơ bản của cả hai phiên bản POP là kiểm tra tên đăng nhập và mật khẩu của người dùng, sau đó chuyển email của họ từ máy chủ đến hệ thống đọc thư cục bộ.
Thiết kế của POP3 hỗ trợ chức năng cho người dùng có kết nối internet không thường trực, cho phép người dùng kết nối với server, tải mail về, sau đó có thể xem, thao tác với mail offline Mặc dù trong giao thức hỗ trợ leave mail on server (để nguyên mail trên server) nhưng hầu hết người dùng đều thực hiện mặc định theo các bước sau: kết nối tới server Mail, tải email về , xóa mail trên server rồi ngắt kết nối
Lệnh Cú pháp Chức năng USER USER username Cho biết thông tin về username cần nhận mail PASS PASS password Password của username cần nhận Mail
STAT STAT Hiển thị số thông điệp chưa đọc tính bằng bytes RETR RETR n Nhận thông điệp thứ n DELE DELE n Xóa thông điệp thứ n LAST LAST Hiển thị thông tin message cuối cùng LIST LIST [n] Hiển thị kích thước của thông điệp thứ n RSET RSET Không xóa tất cả thông điệp, và quay lại thông điệp đầu tiên TOP TOP n In ra các Header và dòng thứ n của thông điệp
NOOP NOOP Không làm gì
QUIT QUIT Kết thúc phiên giao dịch POP3
Bảng 2.2: Tập lệnh trong POP3
IMAP
IMAP (Internet Message Access Protocol) is a protocol that allows for the retrieval of emails It operates at the application layer and enables users to download emails from a mail server via a TCP/IP connection.
IMAP được thiết kế bởi Mark Crispin vào năm 1986 thực hiện chức năng của một hộp thư từ xa (remote mailbox), hoàn toàn khác biệt với giao thức POP Giao thức IMAP ban đầu nhanh chóng được thay thế bởi giao thức IMAP2 IMAP2 được định nghĩa trong RFC 1064 và sau đó được cập nhập bởi RFC 1176 IMAP2 giới thiệu tương tác command/response và được đưa ra cho cộng đồng sử dụng Với sự ra đời của giao thức MIME, IMAP2 đã được mở rộng để hỗ trợ cấu trúc của MIME và tạo thêm mailbox, tăng chức năng quản lý (tạo, xóa, đổi tên, tải tin) những chức năng không hề có trong IMAP2 và được đặt tên là phiên bản IMAP2bis.Vào những năm
Năm 1990, một nhóm nghiên cứu tại IETF đã thừa kế thiết kế của IMAP2bis, cải tiến và đổi tên thành IMAP4 để tránh trùng tên với IMAP3 của một nhóm khác đang làm việc trên một giao thức tương tự.
IMAP là giao thức hỗ trợ việc lưu trữ và truy suất hộp thư của người dùng
Thông qua IMAP người dùng có thể sử dụng IMAP Client để truy cập hộp thư từ mạng nội bộ hoặc mạng Internet trên một hoặc nhiều máy khác nhau bằng giao thức TCP/IP ở port 143 IMAP có thể tạo, đổi tên hoặc xóa các hộp thư (thường tồn tại dưới dạng thư mục) trên máy server và di chuyển email giữa các hộp thư Ngoài ra IMAP cũng được hỗ trợ trong việc chia sẻ quyền truy cập các hộp thư.Ngoài ra IMAP tương thích với chuẩn MIME, hỗ trợ các chế độ truy cập online và offline, cho phép Client không cần quan tâm về định dạng file lưu trữ trên Server
CAPABILITY Yêu cầu một danh sách các chức năng có hỗ trợ AUTHENTICATE Chỉ rõ cơ chế đăng nhập
LOGIN Cung cấp username và password SELECT Chỉ rõ mailbox
EXAMINE Chỉ định mailbox ở chế độ chỉ đọc CREATE Tạo một mailbox
DELETE Xóa một mailbox RENAME Đổi tên một mailbox SUBSCRIBE Thêm một mailbox vào danh sách cho phép UNSUBSCRIBE Loại mailbox ra khỏi danh sách cho phép
LIST Liệt kê các mailbox LSUB Liệt kê các mailbox cho phép
STATUS Yêu cầu trạng thái của mailbox APPEND Thêm một thư vào mailbox
CHECK Yêu cầu một mailbox checkpoint CLOSE Chấp nhận các thao tác xóa và đóng mailbox EXPUNGE Chấp nhận các thao tác xóa
SEARCH Tìm trong mailbox các thư thỏa điều kiện FETCH Lấy một phần của một thư cụ thể
STORE Thay đổi dữ liệu của thư cụ thể COPY Chép thư sang một mailbox khác
Bảng 2.3: Tập lệnh trong IMAP
MÔ HÌNH HOẠT ĐỘNG HỆ THỐNG EMAIL
Hệ thống Email nội bộ
Hệ thống Email nội bộ là một mô hình Email đơn giản, bao gồm một hoặc nhiều trạm làm việc kết nối với Mail Server Hệ thống này chỉ vận hành trong môi trường mạng nội bộ, giúp chuyển tiếp email trong phạm vi mạng của doanh nghiệp.
Hình 2.2: Sơ đồ hệ thống email cục bộ
Hệ thống Email nội bộ có kết nối từ xa
Hệ thống Email trong một mạng nhỏ gồm một mail server, một mail host và một mail gateway kêt nối với hệ thống bên ngoài Nguyên tắc hoạt động tương tư mô hình hệ thống Email nội bộ, ngoài ra còn có thêm một cổng kết nối với môi trường Internet, giúp cho người dùng có thể dễ dàng truy suất Email từ Internet
Hình 2.3: Sơ đồ hệ thống mail cục bộ có kết nối từ xa
Hệ thống nhiều domain và một gateway
Đây là mô hình hoạt đông với nhiều domain và một mail gateway Trong cấu hình này mail server, mail host, và mail gateway cho mỗi domain hoạt động như một hệ thống độc lập Để quản trị và phân phối mail cho những domain này thì dịch vụ
DNS buộc phải có Sau đây ta sẽ đưa ra mô hình hệ thống hai domain với mail gateway
Hình 2.4: Sơ đồ hệ thống hai domain và một gateway
Hệ thống mail hoàn chỉnh
Các sơ đồ hoạt động ở trên chỉ là những sơ đồ hoạt động nội bộ, tức là chỉ gửi và nhận giữa những user trong hệ thống mà thôi Để có thể trao đổi qua lại với các hệ thống khác ở bên ngoài thì ta cần phải xây dựng một hệ thống hoàn chỉnh bao gồm nhiều thành phần Mail Gateway, Mail Host, Mail Server, Client …
Hình 2.5: Sơ đồ về hệ thống email đầy đủ các thành phần
Ngày nay, email được sử dụng rộng rãi trên thế giới Email chính là kênh liên lạc chính và ngày càng có khả năng mở rộng phạm vi hoạt động với sự gia tăng của các thiết bị di động (pda, smartphone, máy tính bảng) hỗ trợ chức năng email Theo kết quả thống kê từ Radicat Group – công ty giám sát mạng có độ tin cậy cao, ta có các số liệu sử dụng năm 2012 đáng chú ý sau đây:
144.8 tỉ email được gửi mỗi ngày
3.375 tỉ là tổng số tài khoản email trên Internet
11.2 giờ là số giờ trung bình các nhân viên dùng để đọc và trả lời mail trong 40 giờ làm việc mỗi tuần
Với những số liệu vừa nêu ở trên ta nhận thấy email chính là kênh tương tác quan trọng bậc nhất trong môi trường mạng Vì vậy, email cũng chính là thị trường màu mỡ cho các hoạt động quảng cáo điện tử với các ưu điểm: chi phí thấp, khả năng tương tác với người dùng rất cao và dễ dàng thực hiện, không bị ảnh hưởng bởi các yếu tố địa lý, con người, xã hội Song song đó, email cũng chính là nơi mà các tội phạm mạng dễ dàng thực hiện các hoạt động lừa gạt, phát tán virus và các thông tin không lành mạnh Hệ quả dẫn đến chính là email quảng cáo, lừa gạt phát tán tràn lan trên môi trường mạng Để miêu tả đến dạng email quảng cáo, lừa gạt này chúng ta dùng thuật ngữ spam (hoặc spam mail – thư rác)
Một trong những tác hại rõ ràng nhất của spam là khiến cho người dùng dịch vụ email cảm thấy khó chịu với số lượng lớn các email quảng cáo trong hộp thư điện tử của mình Người dùng buộc phải tốn thời gian để xác định giữa spam và mail của công việc Điều này ảnh hưởng nghiêm trọng đến thời gian và hiệu suất làm việc của người dùng Trong năm 2003 khi các phần mềm chống spam chưa phổ biến và dung lượng của các hộp thư điện tử còn thấp thì đã có rất nhiều người dùng email phải nhận hàng trăm spam trong một ngày với những nội dung được lập đi lập lại nhằm tạo hiệu ứng tâm lý của người dùng từ những công ty quảng cáo Với lượng tài nguyên giới hạn, việc tiếp nhận số lượng lớn các email quảng cáo dễ dàng làm cho dung lượng lưu trữ của các hộp thư điện tử bị đầy, gây chậm trễ trong việc trao đổi thông tin thật sự của người dùng
Ngoài ra, spam còn được dùng để chỉ những mail có nội dung lường gạt, hoặc tính hợp các phần mềm độc hại Một trong những hình thức lừa đảo phổ biến qua dịch vụ mail chính là mạo danh người quản trị yêu cầu người dùng cung cấp thông tin về tài khoản và mật khẩu của hộp thư điện tử hoặc các thông tin về tài khoản ngân hàng của người dùng
3.1 Lịch sử hoạt động của Spam
Mail đầu tiên được xem là Spam được gửi vào năm 1978 từ công ty DEC (Digital Equipment Corpoaration) với nội dung như sau :
Mail-from: DEC-MARLBORO rcvd at 3-May-78 0955-PDT Date: 1 May 1978 1233-EDT
From: THUERK at DEC-MARLBORO Subject: ADRIAN@SRI-KL
DIGITAL WILL BE GIVING A PRODUCT PRESENTATION OF THE NEWEST MEMBERS OF THE
DECSYSTEM-20 FAMILY; THE DECSYSTEM-2020, 2020T, 2060, AND 2060T THE DECSYSTEM-20 FAMILY OF COMPUTERS HAS EVOLVED FROM THE TENEX OPERATING SYSTEM
AND THE DECSYSTEM-10 COMPUTER ARCHITECTURE BOTH THE DECSYSTEM-2060T
AND 2020T OFFER FULL ARPANET SUPPORT UNDER THE TOPS-20 OPERATING SYSTEM THE
DECSYSTEM-2060 IS AN UPWARD EXTENSION OF THE CURRENT DECSYSTEM 2040 AND 2050 FAMILY THE DECSYSTEM-2020 IS A NEW LOW END MEMBER OF THE DECSYSTEM- 20 FAMILY AND FULLY SOFTWARE COMPATIBLE WITH ALL OF THE OTHER DECSYSTEM-20
WE INVITE YOU TO COME SEE THE 2020 AND HEAR ABOUT THE DECSYSTEM-20 FAMILY AT
THE TWO PRODUCT PRESENTATIONS WE WILL BE GIVING IN CALIFORNIA THIS MONTH THE
TUESDAY, MAY 9, 1978 - 2 PM HYATT HOUSE (NEAR THE L.A AIRPORT) LOS ANGELES, CA
THURSDAY, MAY 11, 1978 - 2 PM DUNFEY'S ROYAL COACH
SAN MATEO, CA (4 MILES SOUTH OF S.F AIRPORT AT BAYSHORE, RT 101 AND RT 92)
A 2020 WILL BE THERE FOR YOU TO VIEW ALSO TERMINALS ON-LINE TO OTHER DECSYSTEM-20 SYSTEMS THROUGH THE ARPANET IF YOU ARE UNABLE TO ATTEND, PLEASE
FEEL FREE TO CONTACT THE NEAREST DEC OFFICE FOR MORE INFORMATION ABOUT THE
Tại thời điểm năm 1978, các phần mềm dùng để gửi thư không hoàn thiện các chức năng như thời điểm hiện tại Người phát tán spam mail đầu tiên là Gray Thuerk– một nhân viên tiếp thị của DEC, đã phải tự nhập bằng tay danh sách các địa chỉ người nhận Bức mail spam đầu tiên được gửi qua môi trường mạng Arpanet (tiền thân của mạng Internet) với số lượng người nhận ở lần phát tán đầu tiên là 320 Phản ứng trước spam đầu tiên đã tạo nên nhiều tranh luận về tính đúng đắn của nội dung bức thư
Cuối cùng, DEC quyết định kết thúc chiến dịch tiếp thị và không thực hiện phát tán mail tiếp thị nữa Đến năm 1988, một sinh viên đã phát tán một mail với nội dung kêu gọi hỗ trợ về tài chính qua môi trường mạng với nội dung như sau:
From: JJ@cup.portal.com (JJ@cup.portal.com) Subject: HELP ME!
Poor College Student needs Your Help!! :-(
Hi I just finished my junior year in college, and now I'm faced with a major problem I can't afford to pay for my senior year I've tried everything
I can't get any more student loans, I don't qualify for any more scholarships, and my parents are as broke as am I So as you can see, I've got a major problem But as far as I can see, there is only one solution, to go forward
I've come along way, and there is no chance in hell that I'm going to drop out now! I'm not a quiter, and I'm not going to give up
But here is why I'm telling you all this I want to ask a favor of every one out here on the net If each of you would just send me a one dollar bill, I will be able to finish college and go on with my life I'm sure a dollar is not much to any of you, but just think how it could change a person's life
I'd really like to encourage all of you to help me out, I've no other place to go, no other doors to knock on I'm counting on all of you to help me!
(PLEASE!) If you would like to help a poor boy out, please send $1 (you can of course send more if you want!! :-)
Jay-Jay's College Fund PO BOX 5631
I am in dire need of help and may resort to desperate measures Please refrain from suggesting that I should get a job, as it is not a helpful solution in my current situation.
I already have one and work over 25 hrs a week, plus get in all my classes, plus find time to study! So hey, please consider it! It would really mean a lot to me Thank you!
Xuất hiện một hình thức email mới là thư rác lừa đảo người dùng Ngoài ra, còn có các dạng thư rác sơ khai khác như Jesus Spam, Canter&Siegel, Canclemoose nhằm mục đích lừa tiền hoặc cung cấp thông tin cá nhân Song song đó, các chương trình hỗ trợ phát tán thư rác ra đời khiến việc phát tán thư rác trở nên dễ dàng hơn: Floodgate, Extractor Pro, Stealth, Goldrush Đến năm 1997, số lượng thư rác tăng theo cấp số nhân, vượt khỏi tầm kiểm soát của các nhà quản trị mạng.
Trước sự gia tăng nhanh chóng của spam, nhiều phương pháp khác nhau được đưa ra để có thể hạn chế ảnh hưởng của spam Một trong những giải pháp được sử dụng để chống lại spam là Spamhaus Spamhaus được thành lập vào tháng 7 năm 1996 với mục đích tạo ra một phương thức theo dấu những người phát tán spam từ đó ghi nhận lại và tạo thành một cơ sơ dữ liệu Song song đó, RBL (Real-time Blackhole list) của Paul Vixie’s đã được công bố để hỗ trợ các nhà cung cấp dịch vụ có khả năng phát hiện và ngăn chặn các kết nối từ những hệ thống mạng phát tán spam Các phương pháp hạn chế spam bước đầu thành công trong những năm 1998 – 2000 Tuy nhiên, từ những năm 2001 trở về sau, số lượng mail spam gia tăng nhanh chóng và chiếm phần lớn lượng mail lưu thông trong môi trường mạng Internet Đến thời điểm hiện tại hơn sau mưới phần trăm lượng mail trong môi trường Internet là spam (theo số liệu thống kê năm 2012 của công ty Radicati Group)
3.2 Phương pháp phát tán Spam
CÁCH PHƯƠNG PHÁP PHÁT TÁN SPAM
Thu thập địa chỉ Email
Để thực hiện phát tán spam, bước quan trọng đầu tiên mà những người phát tán spam phải thực hiện đó chính là thu thâp địa chỉ email đang được sử dụng trong môi trường mạng Internet Những spammer có thể thực hiện công việc này bằng nhiều cách khác nhau, tuy nhiên cách làm phổ biến nhất chính là thu thập từ chính môi trường Internet Các phương pháp mà spammer dùng để thu thập địa chỉ email người dùng thông qua môi trường mạng Internet:
Thu thập từ các website : spammer có thể dễ dàng thu thập được địa chỉ email từ các trang web có nội dung chứa địa chỉ email dùng trong liên lạc
Hiện nay với hàng triệu domain được sử dụng, việc thu thập các địa chỉ email qua các website trở nên dễ dàng và có độ tin cậy cao
Ngoài thu thập từ các trang web, tin nhắn rác, spammer còn trích xuất email từ các nhóm thảo luận newsgroup (còn gọi là usenet) bằng các tiện ích như Perl hoặc Bash Shell.
Thu thập email từ các dịch vụ mạng xã hội trở nên phổ biến khi các dịch vụ này tích hợp nhiều tính năng vào một tài khoản Để tham gia các cuộc thảo luận hoặc trò chuyện, người dùng cần sử dụng tài khoản email của họ Điều này giúp các doanh nghiệp dễ dàng thu thập email đáng tin cậy từ những người dùng quan tâm đến nội dung của họ trên các nền tảng mạng xã hội.
Test messages: Một hình thức khác trong việc thu thập địa chỉ email của người dùng là gửi email kiểm tra đến những username thường gặp như: services@, admin@, info@, test@, postmaster@ … kết hợp với các domain bất kỳ Sau khi gửi các email kiểm tra đi, nếu như địa chỉ mail nào spammer không nhận được thông báo lỗi của hệ thống về việc tài khoản không tồn tại thì đó chính là tài khoản đang được sử dụng và spammer sẽ lưu chúng vào danh sách các email cần thu thập
Malware: spammer thỉnh thoảng cũng sử dụng các chương trình Trojan, virus và worm để ăn cắp các địa chỉ đối tác từ các máy tính nạn nhân Ưu điểm của phương thức này là nếu như máy tính của nạn nhân không có bất kỳ một chương trình an ninh nào thì spammer có thể liên tục cập nhật danh sách của mình thông qua danh bạ của máy tính nạn nhân
Unsubscribe requests: Một số mail spam có cung cấp cho người dùng một lựa chọn là “unsubscribe me” đề người nhận có thể thông báo cho phía spammer biết rằng họ không muốn nhận những email spam này nữa Tuy nhiên phần lớn các lựa chọn này lại là một cái bẫy để spammer xác nhận sự tồn tại của tài khoản Và một điều hiển nhiên là phía spammer sẽ liên tục gưi các mail spam vào những hộp thư mà đã xác định được sự tồn tại của nó
Ngoài ra, các spammer cũng có thể có được địa chỉ email của người dùng thông qua những trao đổi trong môi trường mạng Ví dụ: spammer có thể trả tiền để mua thông tin dữ liệu về các tài khoản email từ các hacker, hoặc từ những đối tượng thu thập địa chỉ emal khác.
Xây dựng hệ thống phân phối spam
Ngay sau khi thực hiện xong công đoạn thu thập địa chỉ email, spammer sẽ chuyển sang giai đoạn gửi các mail spam đến hộp thư người dùng Ở giai đoạn đầu của vấn nạn spam, việc gửi các mail đến hộp thư của người dùng diễn ra rất dễ dàng do lúc này khái niệm về spam vẫn chưa hình thành Các nhà cung cấp dịch vụ Email vẫn chưa thấy tác hại của spam đối với người dùng của mình Tuy nhiên khi spam bắt đầu bùng phát mạnh vào đầu những năm 90, các nhà cung cấp dịch vụ mạng đã tích hợp nhiều biện pháp khác nhau để có thể hạn chế hoạt động của spam và một trong những phương thức phổ biến nhất chính là tạo ra các blacklist với nội dung là đia chỉ của các nguồn gốc phát tán spam trong môi trường mạng Khi có những kết nối SMTP từ các server nằm trong các blacklist này, Mail Server sẽ từ chối kết nối Chính vì vậy các spammer cũng đã tạo nên nhiều phương thức hoạt động khác nhau để có thể khởi tạo kết nối SMTP đến các hệ thống Mail Server Sau đây chúng ta sẽ cũng nói đến một số phương pháp được sử dụng phổ biến hiên nay
Lợi dụng open relay Thuật ngữ Open Relay trong email là chỉ về một Server SMTP cho phép bất cứ người nào trong mạng Internet có thể gửi mail đến bất kỳ địa chỉ email nào mà không chịu bất kỳ sự kiểm tra nào Lợi dụng phương thức hoạt động của các hệ thống Mail Server open relay, spammer có thể chuyển tiếp các mail spam của mình qua hệ thống open relay để xóa nguồn gốc của spam Từ đó spammer có thể dễ dàng tránh khỏi những biện pháp ngăn chặn spam từ blacklist
Hình 3.1: Mô hình spam thông qua Mail Server open relay
Các Mail Server open relay, sau một khoảng thời gian đóng vai trò phát tán spam trung gian cho spammer sẽ bị các hệ thống Mail Server khác xem là nguồn gốc phát tán spam và từ chối kết nối SMTP Điều này khiến cho những mail của người dùng trong hệ thống open relay sẽ không thể được gửi đến đích Để khắc phục vấn đề này, yêu cầu bắt buộc các quản trị mạng phải xem xét tính năng relay trong hệ thống Mail Server và có những chính sách hoạt động cho phù hợp, tránh bị spammer lợi dụng
Lợi dụng webmail Hiện nay, hầu hết các dịch vụ email đều được cung cấp kèm dịch vụ webmail nhằm tăng thêm độ linh hoạt cho người dùng Với webmail, người dùng có thể thực hiện gửi và nhận email ở bất kỳ nơi nào có kết nối Internet và máy tính Tuy nhiên gắn liền với sự tiện lợi, phương thức hoạt động này có một nhược điểm đó là nếu người dùng sử dụng webmail ở các máy tính không an toàn, có chứa các phần mềm keylog hoặc ở những môi trường mạng bị nghe lén thì có thể dễ dàng bị lộ các thông tin username và mật khẩu của các hộp thư điện tử Các spammer sẽ sử dụng các tài khoản email thu thập được để phát tán spam Do những email được phát tán theo phương thức này hoàn toàn có đủ thông tin chứng thực của người dùng là username và password nên Mail Server sẽ xem là một yêu cầu từ người dùng của hệ thống và chấp nhận phân phối những mail spam này đến các tài khoản khác trong hệ thống hoặc gửi đến các hệ thống Mail Server khác Và lúc này vô tình hệ thống Mail Server cũng sẽ có đặc tính tương tự một open relay server
Hình 3.2: Mô hình spam thông qua Webmail Để khắc phục vấn đề lợi dụng webmail, các nhà quản trị cần phải đặt ra những chính sách giới hạn như: giới hạn số lượng tối đa địa chỉ email đích trong một lần gửi, thời gian giãn cách tối thiểu giữa hai lần gửi liên tiếp, yêu cầu nhập mã xác thực trước mỗi thao tác gửi mail qua webmail … Các chính sách này sẽ góp phần hạn chế được việc sử dụng webmail để phát tán spam song song đó cũng sẽ gây khó chịu cho người dùng trong hệ thống Để giải quyết vấn đề này một cách triệt để hơn, ta cần phải đảm bảo rằng các thông tin tài khoản của người dùng không bị spammer và hacker thu thập được Ta có thể thực thi một số biện pháp sau để tăng độ bảo mật cho các tài khoản người dùng:
Triển khai webmail hoạt động bằng giao thức SSL để hạn chế việc nghe lén trong môi trường mạng
Yêu cầu người dùng hạn chế sử dụng các máy tính lạ để đăng nhập vào webmail
Yêu cầu người dùng thay đổi mật khẩu thường xuyên là một biện pháp an toàn quan trọng, nhằm ngăn chặn các cuộc tấn công bằng brute force Tần suất thay đổi mật khẩu nên phụ thuộc vào độ an toàn của phương pháp mã hóa mật khẩu đang sử dụng.
Để đảm bảo an toàn, người dùng cần thiết lập mật khẩu có độ phức tạp cao, bao gồm độ dài tối thiểu, kết hợp chữ số và ký tự đặc biệt Điều này giúp hạn chế tối đa các nỗ lực truy cập trái phép của tin tặc hoặc thư rác bằng cách gia tăng độ khó của quá trình dò tìm mật khẩu.
Lợi dụng open Proxy Đề đối phó với việc các server Mail không còn hoạt động theo phương pháp open relay, các spammer sử dụng một phương pháp khác để thay đổi nguồn gốc phát tán spam đó chính là lợi dụng các hệ thống open Proxy Proxy là một dịch vụ trung gian trong quá trình truy cập dịch vụ Internet Nguyên tắc hoạt động của dịch vụ proxy đó là Server Proxy sẽ làm người trung gian tiếp nhận các yêu cầu từ phía người dùng, sau đó Server Proxy sẽ thực hiện kết nối để truy suất dữ liệu theo yêu cầu của người dùng đến các hệ thống khác trong môi trường mạng, tiếp theo Proxy sẽ trả kết quá truy suất được cho người dùng
Với phương thức làm việc này, hệ thống Proxy mới là nơi thực sự kết nối đến các server khác trong môi trường mạng Internet Điều này giúp cho các spammer dễ dàng giấu được nguồn gốc phát tán spam của mình đối với các hệ thống Mail server, khiến cho việc ngăn chặn mail bằng blacklist cúng sẽ dễ dàng bị vượt qua
Để ngăn chặn hình thức tấn công spam qua Open Proxy, các nhà cung cấp dịch vụ Mail Server cần liên tục cập nhật danh sách các Open Proxy trên môi trường mạng và đưa chúng vào danh sách đen (blacklist) để chặn truy cập từ các địa chỉ IP này.
Sử dụng Web Script Một số trang web được thiết kế cho phép người xem có thể gửi mail thông báo cho những người có liên quan biết đến nội dung của website bằng các đoạn web script Đây là một tính năng nhằm tăng lượng người xem nội dung website thông qua sự giới thiệu của người xem Tuy nhiên tính năng này có thể dễ dàng bị lợi dung để phát tán mail spam, khi spammer thay phần nội dung giới thiệu website bằng nội dung của mail spam Để tăng hiệu suất, spammer có thể tạo thêm những chương trình tự động kết nối và thực hiện thao tác gửi mail qua web script Để khắc phục vấn đề này, các nhà thiết kế web phải chấp nhận loại bỏ tinh năng gửi mail của các trang web, hoặc chỉ cho phép gửi những mail với nội dung cố định
Các spammer thường lập mạng máy tính ma từ những máy tính bị lây nhiễm virus và điều khiển thông qua chương trình gián điệp để dễ dàng phát tán spam mà không lo giới hạn băng thông và tài nguyên hệ thống Để đối phó, các quản trị mạng cần tận dụng đặc điểm máy tính trong mạng ma chủ yếu là máy tính cá nhân với địa chỉ IP động Từ đó cập nhật danh sách các vùng địa chỉ IP động của các ISP vào danh sách đen của hệ thống email.
Xây dựng nội dung mail spam
Ngay sau khi đã xây dựng được danh sách các địa chỉ email cần gửi tới và các hệ thống để phát tán spam, spammer đã có thể thực hiện thao tác phân phối spam
Nhưng do các hệ thống Mail Server hiện nay, ngoài phương pháp chống spam dựa trên nguồn gốc mail còn tích hợp thêm một số phương pháp chống spam bằng cách phân tích nội dung của mail để có thể phát hiện và lọc bỏ các mail vượt qua được phương pháp phát hiện spam bằng blacklist Chính vì vậy, spammer cũng phải tạo ra các mail spam có các nội dung không bị hệ thống Mail Server phát hiện là spam Sau đây ta sẽ phân tích qua một số phương pháp xây dựng nội dung mail spam để có thể đưa mail spam vào trong hộp thư của người dùng
Thay đổi nội dung các header của mail Header là phần thông tin của email, giúp cho người dùng có thể biết được thêm các thông tin của mail như: ngày giờ gửi mail, người gửi mail, địa chỉ máy gửi mail, subject của mail … Dựa trên những thông tin của header người dùng có thể nhận định một mail là spam hay không Ví dụ: người dùng nhận được email từ những địa chỉ lạ, những mail có subject viết bằng những ngôn ngữ khác với ngôn ngữ của người dùng, thời gian gửi thư ở tương lai, địa chỉ người gửi trùng với địa chỉ người nhân … Nhận thấy được điều này, spammer tìm cách giấu đi những nội dung của những header này, lúc này người dùng chỉ có thể xác định được mail là spam hay không khi đã xem nội dung của mail và đây chính là mục đích chính của spammer
Một thủ thuật spam phổ biến nhưng dễ phát hiện là: để trống trường Subject hoặc chỉ sử dụng từ ngữ đơn giản trong trường Subject như:
“Re:” hoặc “Hi” … Trước những mail có nội dung subject như thế này, rõ ràng người dùng không thể xác định được mail này là spam hay do người gửi không ghi đầy đủ thông tin trong phần Subject Và hành động phù hợp là người dùng phải xem nội dung của mail nhằm tránh ảnh hưởng đến công việc Để đối phó với dạng thư này, các nhà cung cấp dịch vụ email bắt buộc người dùng phải điển nội dung phần Subject mới thực hiện thao tác gửi
Song song đó spammer có thể sử dụng một tên ngẫu nhiên nào đó trong phần thông tin người gửi, nhằm tránh bị hệ thống dựa trên địa chỉ người gửi để tạo blacklist
Nhúng nội dung spam vào một mail sạch Để phát hiện mail spam, các hệ thống mail còn ứng dụng định lý Bayes trong hoạt động Ở phương pháp này các hệ thống sẽ tính xác suất mail là spam dựa trên số lượng các từ xuất hiện trong mail là spam và số lượng các từ xuất hiện trong mail công việc thực sự Phương pháp này rất hiệu quả khi phân tích các mail spam thuần túy Để vượt qua được bộ lọc này, các spammer sẽ nhúng nội dung spam vào các mail công việc, gia tăng số lượng các từ xuất hiện trong email công việc khiến cho tỉ lệ từ trong mail spam và mail công việc thay đổi, làm giảm khả năng xác định được mail spam
Hình 3.4: Nội dung spam nhúng vào mail sạch
Sử dụng các từ tượng hình trong nội dung spam Phần lớn các chương trình phát hiện spam thông qua phân tích nội dung hoạt động theo nguyên lý tìm kiếm sự có mặt của một số từ, hoặc tổ hợp từ trong phần nội dung của mail mà thường được sử dụng trong mail spam Ví dụ những mail có chứa các ký tự: “viagra”, “free”, “medical”, “sexy”,
“whisky”… thường là những mail spam Các hệ thống chống spam để phát hiện spam sẽ tìm kiếm các từ hoặc tổ hợp từ này trong nội dung mail Để vượt qua việc kiểm tra của hệ thống, các spammer sẽ làm biến dạng các từ này nhưng vấn khiến cho người dùng hiểu được nghĩa, ví dụ: đối với từ “Viagra” spammer có thể thay thế bằng từ “Vi4gra” hoặc “Viaaagra” hoặc
Việc đánh sai chính tả các từ như "Viiiiiiiaaaagraaaa" là một cách phổ biến để tránh bộ lọc chống spam trong khi vẫn đảm bảo người đọc có thể hiểu được nội dung Kỹ thuật này dựa trên nguyên lý sử dụng các ký tự ngẫu nhiên, không thể đoán trước để thay thế các ký tự chính xác, khiến hệ thống chống spam khó phát hiện hơn.
Mã hóa nội dung mail spam Để tránh bị phát hiện nội dung là spam, spammer sử dụng phương thức mã hóa nội dung của mail theo các dạng như base64, html … Lúc này, các chương trình phân tích nội dung của email sẽ không thể tìm thấy được những từ hoặc tổ hợp từ dùng trong spam và được đưa vào hộp thư của người dùng Khi người dùng kiểm tra hộp thư, các chương trình MTU lại tự động hiển thị nội dung của mail từ định dạng mã hóa Base64, HTML thành dạng cho người dùng quan sát và lúc này nội dung mail spam vẫn sẽ hiện thị đầy đủ Ví dụ: ta có nội dung của một mail spam như sau:
Với nội dung mail như trên, hệ thống chống spam chỉ cần đặt ra chính sách tìm tổ hợp từ “ADULT MEN”, “100% accurate”, “our subcribers” … sẽ dề dàng phát hiện ra các mail spam Tuy nhiên nếu như spammer thực hiện mã hóa đoạn nội dung trên theo định dạng base64 ta sẽ thu được nội dung như sau:
Hoặc với nội dung được mã hóa theo dạng HTML như sau:
Hệ thống sẽ không thể nào tìm thấy các ký tự “CALL” “FREE!” Tuy nhiên khi người dùng kiểm tra hộp thư thì nội dung hiển thị sẽ là:
Với nội dung đã được mã hóa, hệ thống không thể phát hiện được nội dung của mail có chứa các tổ hợp từ nào và việc tìm ra các mail spam sau khi mã hóa dựa trên các tổ hợp từ xuất hiện trong nội dung email là không thể.
CÁC PHƯƠNG PHÁP PHÁT HIỆN SPAM
Phương pháp phát hiện spam dựa trên nguồn gốc mail
Nguyên tắc hoạt động của phương pháp này là sẽ chặn các email có nguồn gốc từ các địa chỉ nằm trong một danh sách gọi là DNS Blacklist Có hai loại danh sách DNS Blacklist thường được sử dụng đó là:
Danh sách các tên miền gửi spam, danh sách các tên miền này sẽ được liệt kê và cập nhật dựa trên phản hồi của người dùng
Danh sách các máy chủ mail cho phép hoặc bị lợi dụng để thực hiện phát tán spam
Hình 3.5: Mô hình DNS Blacklist
Khi một mail được gửi đi, nó sẽ đi qua một số server SMTP trước khi chuyển tới địa chỉ người nhận Lúc này ta chỉ cần kiểm tra xem IP của server SMTP gửi có nằm trong DNS Blacklist hay không, nếu có thì mail này sẽ bị coi là spam và từ chối kết nối, còn nếu không thì nó sẽ được coi là một mail sạch và thiết lập kết nối
Ưu điểm của phương pháp kiểm tra thư rác bằng Mail Server là hệ thống có thể kiểm tra thư rác trước khi nhận, giúp tiết kiệm băng thông đường truyền Nhược điểm của phương pháp này là có thể bỏ sót một số thư rác tinh vi.
Mail ServerCheck Response pháp này là sẽ dễ dàng bị vượt qua nếu spammer liên tục thay đổi server SMTP khiến cho DNS Blacklist không cập nhật kịp thời
3.3.1.2.Kiểm tra phân giải ngược DNS
Máy chủ DNS lưu trữ bản ghi PTR, cho phép chuyển đổi địa chỉ IP thành tên miền Các máy chủ thư phải có địa chỉ IP tĩnh và được kê khai trong DNS bằng các bản ghi MX, A và PTR liên kết với tên miền email của chúng Nếu một máy chủ thư nhận được kết nối SMTP từ một máy chủ không có bản ghi PTR, thì rất có thể đó là máy chủ đang được kẻ gửi thư rác sử dụng để phát tán thư rác Để hạn chế thư rác, hệ thống sẽ kiểm tra tên miền của máy chủ kết nối khi nhận được kết nối SMTP Nếu máy chủ kết nối không có bản ghi PTR hoặc bản ghi PTR không khớp với tên miền được khai báo trong phiên kết nối SMTP, hệ thống sẽ từ chối kết nối.
Hình 3.6: Mô hình kiểm tra phân giải ngược
Phương pháp này có ưu điểm là hạn chế được các hệ thống phát tán spam từ những địa chỉ IP động, những hệ thống Mail Server giả mạo những domain khác …
Song song đó, phương pháp này cũng có nhược điểm là sẽ từ chối luôn những hệ thống Mail Server không có khai báo PTR
3.3.1.3.Dựa trên vị trí địa lý của nơi gửi mail
Do địa chỉ IP được phân bổ theo vị trí địa lý nên có thể xác định được email được gửi từ quốc gia nào Từ đó, có thể đưa ra chính sách xử lý phù hợp Ví dụ, nếu xác định được đối tác không có trụ sở tại các quốc gia Châu Phi thì bất kỳ email nào gửi từ những quốc gia này sẽ được coi là thư rác Hệ thống sẽ tự động từ chối kết nối SMTP với các máy chủ có địa chỉ IP thuộc các quốc gia Châu Phi.
Hình 3.7: Tỉ lệ phát tán spam của các nước trên thế giới Ưu điểm của phương pháp này là tiết kiệm băng thông và tài nguyên của hệ thống Mail Server Tuy nhiên nhược điểm của nó là rất dễ dàng từ chối nhằm mail liên lạc do đối tác sử dụng những hệ thống Mail Server đăt tại các nước bị xem là nguồn gốc phát tán spam
3.3.1.4.Kiểm tra địa chỉ gửi trong mail
Bằng cách kiểm tra địa chỉ người gửi trước khi thiết lập kết nối SMTP, công nghệ SPF (Sender Policy Framework) giúp phát hiện và lọc bỏ phần lớn thư rác SPF cho phép chủ sở hữu tên miền sử dụng bản ghi DNS đặc biệt để xác định máy chủ được phép gửi email từ tên miền của họ.
Hình 3.8: Mô hình kiểm tra Spam dựa trên SPF
Khi một mail được gửi tới, bộ lọc SPF sẽ phân tích các thông tin trong trường
“From” hoặc “Sender” để kiểm tra địa chỉ người gửi Sau đó SPF sẽ đối chiếu địa chỉ đó với các thông tin đã được chủ sở hữu tên miền thông báo trong bản ghi SPF của tên miền Từ đó xác định máy gửi mail có được phép gửi hay không Nếu mail đến từ một server không có trong bản ghi SPF mà tên miền đó công bố thì mail đó sẽ bị coi là giả mạo và xem là spam
3.3.1.5.Kiểm tra địa chỉ nhận trong mail
Các spammer thường có trong tay một danh sách các địa chỉ email người dùng thu thập được trên môi trường mạng Tuy nhiên không phải lúc nào các spammer cũng sử dụng danh sách này để phát tán spam Một trong những cách phổ biến mà các spammer thường sử dụng đó chính là tạo ra ngẫu nhiên các địa chỉ email và gửi đi Để hạn chế, ta chặn lại các mail gửi tới các địa chỉ không tồn tại Nếu số địa chỉ người nhận không tồn tại vượt quá một ngưỡng nào đó thì server mail gửi tới sẽ bị coi là nguồn phát tán spam và chặn tất cả mail được gửi từ server này.
BỘ LỌC BAYESIAN 4.1 PHÂN LOẠI NỘI DUNG EMAIL
NẠVE BAYES
Naive Bayes là phương pháp phân loại nội dung văn bản sử dụng xác suất thống kê dựa trên định lý Bayes Phương pháp này giả định rằng các từ hoặc cụm từ xuất hiện trong văn bản là độc lập với nhau Giả định này giúp giảm đáng kể độ phức tạp tính toán, tăng tốc độ phân loại so với các phương pháp khác.
Bài toán trong bộ lọc Navie Bayes chính là xác định xác suất Pr(Cj,d) mà văn bản d được phân loại thuộc lớp Cj Dựa trên định luật Bayes, ta xác định xác xuất Pr(Cj,d) bằng công thức như sau:
Trong đó văn bản d là văn bản được tạo thành bởi tập hợp các từ và tổ hợp từ xuất hiện độc lập với nhau hay nói các khác d =(w1, w2, w3, w4,…., wn) Lúc này xác xuất Pr(Cj,d) được tính theo công thức sau:
Theo giả định Nạve, các từ trong văn bản xuất hiện độc lập với nhau hay nĩi cách khác ta có:
Từ đĩ ta cĩ cơng thức cuối cùng của Nạve Bayes là:
Nạve Bayes là phương pháp phân loại đơn giản, dễ dùng, tốc độ thực thi nhanh Nó cũng có khả năng cập nhật dữ liệu huấn luyện mới dễ dàng, giúp nó có thể nhanh chóng thích ứng với các ngữ cảnh hoạt động mới.
BỘ LỌC BAYESIAN
Bộ lọc Bayesian hoạt động dựa trên Nạve Bayes để xác định nội dung mail là spam hay ham Nguyên tắc hoạt động của bộ lọc này là nếu trong nội dung của mail xuất hiện càng nhiều các từ ngữ thường xuyên xuất hiện trong spam thì khả năng mail là spam càng cao, ngược lại mail có nội dung xuất hiện những từ ngữ thường thấy trong các mail thông thường thì đó là ham Chương trình đầu tiên ứng dụng định lý Bayes trong hoạt động chống spam do Jason Rennie đưa ra vào năm 1996 Đến năm 2002, Paul Graham sử dụng công thức Naive Bayes giúp giảm đáng kể việc nhận diên sai spam, nhờ vậy bộ lọc Bayesian có thể hoạt động như một bộ lọc chống spam có độ tin cậy cao
Ham Database of word probabilities
Hình 4.2: Bộ lọc Bayesian Đề xác định được spam, bộ lọc Bayesian cần phải thực hiện phân tích nội dung mail và tự động học những từ và tổ hợp từ thường xuất hiện trong ham và spam – quá trình này được gọi là quá trình huấn luyện (tranning) Trong quá trình huấn luyện, bộ lọc bayesian cần được cung cấp các dạng spam và các ham để từ đó xác định các đặc trưng của spam và ham Số lượng dạng spam và ham càng lớn thì độ chính xác của bộ lọc Bayesian càng cao Quá trình thu thập các dạng mail spam và ham có thể thực hiện thông qua hai cách sau:
Thực hiện thu thập các mail spam và ham vào một khu vực riêng biệt, sau đó thông báo cho bộ lọc Bayesian biết để phân tích
Bộ lọc tự động phân tích tất cả các dạng của mail được gửi đến hệ thống
Ngay sau khi có được các dạng mail spam và ham, ta thực hiện quá huấn luyện cho bộ lọc Bayesian dựa trên nội dung của mail mẫu này Quá trình huấn luyện cho bộ lọc Bayesian sẽ được thực hiện lần lượt qua các bước sau:
Thực hiện thống kê sự xuất hiện của các từ và tổ hợp từ trong các dạng mail spam và ham đã được chỉ ra bởi người dùng
Sử dụng đinh lý Bayes để tính toán khả năng là mail đối với các email có chứa từng từ hoặc tổ hợp từ trong nội dung
Kết thúc quá trình huấn luyện, bộ lọc Bayesian đã có được một bảng giá trị xác suất mail là spam khi trong nội dung mail có chứa các từ, tổ hợp từ xuất hiện trong nội dung mail spam và ham Lúc này, mỗi khi cần kiểm tra xem mail gửi đến hệ thống là spam hay ham, bộ lọc Bayesian chỉ cần tìm các từ và tổ hợp từ đã được chỉ ra trong quá trình huấn luyên trong nội dung mail và sử dụng Navie Bayes để tính toán xác suất mail gửi đến là spam hay ham
Muốn bộ lọc Bayesian hoạt động chính xác và hiệu quả cao, cần phải tạo ra cơ sở dữ liệu về ham và spam phù hợp với đặc thù hoạt động của từng tổ chức Nói cách khác, việc xác định các dạng mẫu của spam và ham càng chính xác và càng cụ thể thì hiệu suất hoạt động của bộ lọc Bayesian càng cao.
THUẬT TOÁN HOẠT ĐỘNG CỦA BỘ LỌC BAYESIANS
Hoạt động của bộ lọc Bayesian được chia lam hai pha hoạt động với hai chức năng khác nhau:
Pha huấn luyện: dùng để xác định các dấu hiệu đặc trưng của mail spam và mail ham từ các mail mẫu thông qua định lý Bayes
Pha kiểm tra: dùng kết quả từ pha huấn luyện, sử dụng thuật tốn Nạve Bayes để xác định một mail được gửi tới là spam hay ham
Hình 4.3: Mô hình hoạt động của bộ lọc Bayesian
4.4.1.Pha huấn luyên trong bộ lọc Bayesian Đây là giai đoạn xác định xác xuất khả năng một mail là spam khi có chứa từng dấu hiệu riêng rẽ trong nội dung mail.Trong bộ lọc Bayesian, dấu hiệu là từ hoặc các tổ hợp từ Bộ lọc Bayesian sẽ thực hiện thống kê tần suất xuất hiện của các từ hoặc tổ hợp từ trong các dạng mẫu của spam và ham Từ đó áp dụng định lý Bayes để xác định giá trị xác suất mail là spam khi có có từng dấu hiệu đó Ví dụ: tính xác xuất mail là spam khi trong mail có chứa từ “viagra” ta sử dụng công thức sau:
Pr(S|W): xác suất mail là spam khi có chứa ký tự “viagra”
Pr(S): xác suất mail spam trong hệ thống Pr(W|S): xác suất từ “viagra” xuất hiện trong spam
Pr(H): xác suất mail ham trong hệ thống
Pr(W|H): xác suất từ “viagra” xuất hiện trong ham
Phần lớn các chương trình sử dụng định lý Bayes trong chống spam đều cho xác suất của email là spam và ham là ngang nhau và bằng 0.5 Như vây ta có thể rút gọn công thức tính toán xác suất mail là spam khí có chứa một từ như sau:
4.4.2.Pha kiểm tra trong bộ lọc Bayesian
Sau khi hoàn thành pha huấn luyện, ta đã có được bảng các giá trị xác xuất mail là spam khi có chứa từng từ hoặc cụm từ cụ thể trong phần nội dung của mail
Vì nội dung mail là tổ hợp của nhiều từ, nên để kiểm tra một mail gửi đến hệ thống cĩ phải là spam khơng, ta sử dụng Nạve Bayes để tính xác suất mail là spam khi cĩ chứa một tổ hợp các từ theo công thức sau đây:
Trong đó: p: là xác suất mail được coi là spam p1: là xác suất mail là spam khi có xuất hiện từ thứ 1 trong nội dung(ví dụ: free) p2: là xác suất mail là spam khi có xuất hiện từ thứ 2 trong nội dung(ví dụ: watches) pN: là xác suất mail là spam khi có xuất hiên từ thứ N trong nội dung Để tính được giá trị p từ công thức trên ta thực hiện một số biến đổi tương đương như sau:
… (4.8) ln − 1 = ∑ [ln(1 − ) − ] (4.9) Đặt = ∑ [ln(1 − ) − ] Ta được
= (4.11) Đến đây,ta đã có thể sử dụng kết quả thu được để xác định mail là spam hay không Kết quả này sẽ tương đối chính xác đối với các từ hoặc tổ hợp từ đã từng xuất hiện trong các mail huấn luyện của bộ lọc Bayessian Đối với các từ chưa từng gặp, xác xuất mail là spam khi có chứa các từ này là 0 Để giải quyết, bộ lọc bayessian sẽ chấp nhận bỏ quả những từ chưa trừng xuất hiện trong các mail mẫu khi thực hiện quá trình kiểm tra mail Tuy nhiên đối với một số từ hiếm gặp (được đưa ra bởi một thiểu số người dùng) thì rõ ràng xác suất của nó sẽ rất nhỏ, điều này khiến cho việc tính toán không được chính xác và khiến cho bộ lọc bị mất tác dụng Đề khắc phục vấn đề này, ta giải quyết bằng cách tránh đưa những từ này vào trường hợp mail không phải là spam
Sử dụng lại thuật toán Bayes ta tính toán lại xác suất mail là spam khi có chứa một từ (ví dụ: Viagra) trong nội dung bằng công thức sau:
( | ): xác suất mail là spam sau khi tính toán lại s: là mức độ mail spam gửi đến hệ thống
( ): Khả năng mail spam gửi đến hệ thống n: số lần xuất hiện của từ trong nội dung
( | ): xác suất mail là spam thu được tại bước 1
Ta coi tỉ lệ mail thường và mail spam gửi đến hệ thống là như nhau nên ( ) = 0.5 Và 3 là giá trị thích hợp cho s Với công thức mới đưa ra, ta hoàn toàn có thể tính được giá trị xác suất mail là spam ngay cả trong trường hợp mail đó chưa từng được đưa ra trong dữ liệu của bộ lọc Bayessian
Sử dụng bộ lọc Bayesian để xác định mail là spam hay ham, ta sẽ rơi vào một trong các trường hợp sau:
Nhận định spam đúng: mail cần nhận định là spam và bộ lọc xác định được mail là spam
Nhận định spam sai: mail cần nhận định là ham nhưng bộ lọc xác định mail là spam
Nhận định ham đúng: mail cần nhận định là ham và bộ lọc xác định mail là ham
Nhận định ham sai: mail cần nhận định là spam và bộ lọc xác định mail là ham
Trong các trường hợp trên, thì việc nhận đinh spam sai rất nguy hiểm đối với hoạt động của hệ thống mail server vì sẽ dẫn đến việc phân phối mail không đúng gây ảnh hưởng đến công việc của người dùng Để đánh giá hiệu suất của bộ lọc ta sử dung hai thông số là: tỉ lệ nhận định spam đúng và tỉ lệ phát hiện spam Thông số tỉ lệ nhận định spam đúng dùng để chỉ tỉ lệ mail spam thực sự trong số các mail bị bộ lọc Bayesian xác định là spam Thông số tỉ lệ phát hiện spam dùng để chỉ tỉ lệ mail spam thực sự được phát hiện bởi bộ lọc Bayesian so với tổng số spam Hai thông số trên được xác định bởi các công thức sau ỉ ệ ℎậ đị ℎ đú = ố ượ ậ đị đú ổ ô ượ ậ đị à (4.13) ỉ ệ ℎá ℎ ệ = ố ượ ậ đị đú ố ượ ậ đị đú ố ượ ậ đị
Bộ lọc có tỉ lệ nhận định spam đúng và tỉ lệ phát hiện spam càng cao thì độ tin cậy của bộ lọc càng lớn.
XÂY DỰNG HỆ THỐNG CHỐNG SPAM 5.1 MÔ HÌNH HOẠT ĐỘNG HỆ THỐNG CHỐNG SPAM
Module chống spam dựa trên nguồn gốc phát tán mail
Việc chống spam dựa trên nguồn gốc email sẽ được thực hiện bằng cách mỗi khi có kết nối đến port SMTP của Mail Server, thì module kiểm tra nguồn gốc của hệ thống Spam Gateway sẽ thực hiện kiểm tra địa chỉ khởi tạo kết nối có nằm trong danh sách các địa chỉ IP được chỉ ra trong hệ thống DNS Blacklist hay không Tiếp theo, module kiểm tra nguồn gốc sẽ thực hiện kiểm tra phân giải ngược trong dịch vụ DNS có đúng hay không, và cuối cùng sẽ kiểm tra xem địa chỉ server gửi mail có nằm trong danh sách hạn chế của riêng chúng ta hay không Nếu phía gửi mail thuộc về một trong ba bước kiểm tra trên sẽ ngay lập tức bị từ chối kết nối, còn không sẽ đồng ý cho khởi tạo kết nối SMTP đến Mail Server Danh sách các địa chỉ IP là nguồn phát tán spam là một cơ sở dữ liệu được tạo thành do các phản hồi của người dùng về các mail spam mà họ đã nhận thông qua cổng giao tiếp (Web), hoặc từ các cơ sở dữ liệu của các DNS Blacklist tin cậy Với module kiểm tra nguồn gốc phát tán spam này, hệ thống sẽ có thể lọc bỏ đươc các đối tượng spammer sau:
Sử dụng các Mail Server chuyên dùng để phát tán spam
Sử dụng các địa chỉ IP động để tạo ra các Server SMTP dùng để phát tán spam
Sử dụng các hệ thống Openrelay để phát tán spam
Mặc dù nguyên tắc hoạt động của phương pháp này tương đối đơn giản, tuy nhiên theo thống kế từ các nhà giám sát mạng thì việc chặn mail spam từ nguồn gốc có thể giúp hệ thống Mail Server ngăn chặn được 90% các mail spam Hiệu suất của phương pháp là rất cao, nhưng nhược điểm của nó là có thể từ chối nhầm các yêu cầu kết nối từ các Mail Server bị spammer lợi dụng để phát tán spam
Sau khi mail đi qua module chống spam dựa trên nguồn gốc của mail, sẽ được Spam Gateway tiếp nhận và đưa vào module kiểm tra nội dung của hệ thống chống spam để xử lý.
Module chống spam dựa trên nội dung email
Module kiểm tra nội dung của hệ thống chống spam sẽ lần lượt thực hiện kiểm tra nội dung của email theo các thứ tự xử lý sau đây:
Quy trình kiểm tra nội dung email: Hệ thống chống spam sử dụng SpamAssassin để kiểm tra nội dung email theo các quy tắc đã định Các quy tắc này được tạo từ nội dung email spam mà người dùng phản hồi Hệ thống thống kê nội dung, tìm ra các tổ hợp từ và dấu hiệu spam để cập nhật cho SpamAssassin Đối với email có ngôn ngữ không dùng ASCII, trước khi thống kê, hệ thống sẽ giải mã BASE64 Nội dung thống kê được lưu trong MySQL Server và dùng để tạo quy tắc kiểm tra tổ hợp từ và cơ sở dữ liệu theo phương pháp Bayesian để xác định xác suất email là spam.
Kiểm tra dấu hiệu virus: trong giai đoạn này, hệ thống chống spam sẻ sử dụng chương trình ClamAV để phát hiện các dấu hiệu virus trong nội dung của mail
Hệ thống chống spam sẽ kiểm tra các file đính kèm trong email Nếu file đính kèm không được phép hoặc gây nguy hiểm, email sẽ được đưa vào thư mục QUARANTINE và cảnh báo người nhận Tuy nhiên, người nhận có thể yêu cầu hệ thống phân phối email an toàn từ thư mục QUARANTINE về hộp thư của mình bằng cách gửi yêu cầu qua cổng giao tiếp với người dùng (Web).
Kiểm tra Blacklist: đến đây có thể xác định nội dung mail không có chứa các dấu hiệu thường gặp của spam, tuy nhiên có trường hợp người dùng thông báo cho hệ thống biết là không muốn nhận mail từ một số địa chỉ gửi cụ thể nào đó và đề nghị hệ thống không phân phối những mail được gửi bởi các địa chỉ này đến hộp thư của mình Để thực hiện được thao tác này, hệ thống chống spam sẽ tạo ra một cổng giao tiếp với người dùng (Web) để người dùng thông báo hệ thống chống spam biết danh sách các địa chỉ mà người dùng không muốn nhận mail gọi là blacklist Và hệ thống sau khi kiểm tra nội dung của mail sẽ kiểm tra địa chỉ của người gửi có nằm trong danh sách blacklist này không Nếu có thì sẽ thực hiện khóa mail này không để nó phân phối đến thư mục người dùng
Sau khi đi qua module kiểm tra nội dung của email, dựa trên các kết quả kiểm tra hệ thống chống spam sẽ chèn thêm vào một số header để ghi lại kết quả của các bước kiểm tra nội dung này và đưa mail này về lại hàng đợi của Mail Server để MDA phân phối mail đến hộp thư của người dùng MDA sẽ dựa trên các header kiểm tra mà hệ thống chống spam vừa thêm vào để có thể xác định thư mục mà thư sẽ đưa vào trong hộp thư của người dùng Đối với các mail được xác định là spam sẽ được MDA phân phối vào thư mục Spam trong hộp thư người dùng, với các email còn lại sẽ được đưa vào thư mục inbox trong hộp thư của người dùng.
TRIỂN KHAI HỆ THỐNG CHỐNG SPAM
Trong phạm vi của đề tài, tôi sẽ xây dựng hệ thống chống spam bằng cách sử dụng các chương trình mã nguồn mở sau đây:
Hệ điều hành Red Hat Ent 6: hệ điều hành mã nguồn mở, do công ty RedHat phát triển với độ ổn định và bảo mật cao
Qmail: là chương trình MTA của hệ thống Spam Gateway có hiệu suất hoạt động cao, ổn định
OpenLDAP: là chương trình cung cấp dịch vụ Directory Server
Spamassassin: là chương trình dùng để phát hiên và đánh dấu thư rác, được viết dựa trên ngôn ngữ Perl Chương trình này sẽ sử dụng bộ lọc Bayesian và bộ lọc Heuristic để phát hiện và phân loại mail spam
ClamAV: là chương trình dùng để phát hiện và đánh dấu virus trong email
MailScanner: chương trình quản lý quá trình phát hiện spam bằng nội dung và thực hiện các chính sách phân phối tương ứng với từng loại email sau khi đi qua module chống spam bằng nội dung
Apache: là chương trình cung cấp dịch vụ Web Server
MySQL: là chương trình CSDL dùng để lữu trữ thông tin phục vụ cho hoạt đông thống kê và giám sát của hệ thống
Perl: là ngôn ngữ chính mà hệ thống chống spam sử dụng để quản lý hoạt động
Hệ thống sẽ thực hiện các chức năng:
Nhận các mail gửi đến các tên miền có trách nhiệm chống spam từ Internet gửi đến
Kiểm tra nguồn gốc của mail gửi đến để ngăn chặn những kết nối từ những nguồn phát tán spam
Kiểm tra nội dung các mail gửi đến để phát hiện spam và có các chính sách xử lý phù hợp
Phân phối các mail đã được xử lý đến các hệ thống Mail Server tương ứng
Thu thập và xác định các nguồn gốc phân phối spam và lưu vào CSDL của hệ thống
Phân tích nội dung của các mail spam mà hệ thống đã từng phân phối, từ đó tạo ra các chính sách để có thể nhận biết được các email có tính chất tương tự
Cung cấp cổng giao tiếp để cho người dùng có thể thông báo về các spam mail trong hệ thống qua giao diện web
5.2.1.Triển khai module chống spam dựa trên nguồn gốc email
Trong module chống spam dựa trên nguồn gốc của email, ta sử dụng chương trình MTA Qmail-LDAP để tiếp nhận các mail gửi tới hệ thống bằng giao thức SMTP từ môi trường Internet Sau khi tiếp nhận các kết nối SMTP từ môi trường Internet, ta thiết lập các chính sách để kiểm tra nguồn gốc phát tán mail từ đó xác định cách thức làm việc phù hợp
Ta sẽ triển khai các thành phần trong module chống spam dựa trên nguồn gốc của email theo các bước lần lượt như sau:
5.2.1.1.Cài đặt các chương trình cần sử dụng cho Qmail-LDAP
#yum install openldap–servers openldap-clients openldap-devel\ openldap compat-openldap openssl- devel openssl
#chown ldap.ldap /var/lid/ldap
Thực hiện cấu hình để ldap hoạt động:
#vi /etc/openldap/slapd.conf
Ta chỉnh lại nội dung như sau: database bdb suffix "dc=hcmut,dc,dc=vn" rootdn "cn=Manager,dc=hcmut,dc,dc=vn" rootpw secret directory /var/lib/ldap
#mkdir -p /usr/local/src/tools
#cd /usr/local/src/tools
#wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
#tar xvfz ucspi-tcp-0.88.tar.gz Thuc hien cac goi patch
#wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz Thực hiện các gói patch
Thực hiện gói patch cho djbdns-1.05
#cd /usr/local/src/tools
#wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
#tar xvfz djbdns-1.05.tar.gz
#cd /usr/local/src/tools
#wget http://www.din.or.jp/~ushijima/qmail-conf/\ qmail-conf-0.60.tar.gz
#tar xvfz qmail-conf-0.60.tar.gz
#make -f Makefile.ini djbdns= /djbdns-1.05/
Cũng như các phiên bản khác của Linux, RedHat Ent đã được cài đặt sẵn chương trình MTA trong hệ thống là Postfix Để triển khai Qmail làm MTA cho hệ thống chống spam ta sẽ phải gỡ bỏ Sendmail ra khỏi hệ thống trước Để tiến hành gỡ bỏ Postfix ta thực hiện các lệnh sau đây:
/etc/rc.d/init.d/postfix stop rpm -e –nodeps postfix
Tiếp theo ta sẽ tao user cho Qmail hoạt động groupadd nofiles useradd qmaild -g nofiles -d /var/qmail -s /nonexistent useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent useradd qmaill -g nofiles -d /var/qmail -s /nonexistent useradd qmailp -g nofiles -d /var/qmail -s /nonexistent groupadd qmail useradd qmailq -g qmail -d /var/qmail -s /nonexistent useradd qmailr -g qmail -d /var/qmail -s /nonexistent useradd qmails -g qmail -d /var/qmail -s /nonexistent groupadd vmail -g 2110 useradd vmail -u 11184 -g vmail -d /home/vmail -s /bin/true mkdir /home/vmail chown -R vmail:vmail /home/vmail
Sau khi đã tạo user ta sẽ tải gói mã nguồn của qmail và thực hiện build cd /usr/local/src wget http://200.4.48.8/pub/mail-tools/qmail/dist/\ qmail-1.03.tar.gz wget http://www.nrg4u.com/qmail/qmail-ldap-1.03- 20060201.patch.gz tar xvfz qmail-1.03.tar.gz cd qmail-1.03 zcat /qmail-ldap-1.03-20060201.patch.gz | patch -p1
Ta thực hiện cài đặt Qmail cd /usr/local/src/qmail-1.03 make setup check
Ta khai báo ứng dụng Qmail cho Ldap Server cd /usr/local/src/qmail-1.03 cp qmail.schema /etc/openldap/schema/
Khai báo trong file /etc/openldap/slapd.conf bằng dòng lệnh sau: include /etc/openldap/schema/qmail.schema Đến đây ta đã cài đặt thành công Qmail-Ldap
5.2.1.3.Cấu hình cho hệ thống Qmail-Ldap
Phần này ta sẽ thực hiện cấu hình cho hệ thống Qmail-Ldap hoạt động bằng cách thực hiện các lệnh sau: echo "mailserv.hcmut.edu.vn">/var/qmail/control/me echo "127.0.0.1" >/var/qmail/control/ldapserver echo "dc=hcmut,dc,dc=vn" > /var/qmail/control/ldapbasedn echo "secret" >/var/qmail/control/ldappassword echo "cn=Manager,dc=hcmut,dc,dc=vn" \
>/var/qmail/control/ldaplogin echo qmailUser>/var/qmail/control/ldapobjectclass echo "0">/var/qmail/control/ldaplocaldelivery echo "0">/var/qmail/control/ldapcluster echo "10000000">/var/qmail/control/defaultquotasize echo "10000">/var/qmail/control/defaultquotacount echo "Hop thu da day Xin xoa bot \ mail">/var/qmail/control/quotawarning echo "ldaponly">/var/qmail/control/ldapdefaultdotmode echo "/home/vmail">/var/qmail/control/ldapmessagestore echo "11184">/var/qmail/control/ldapuid echo "2110">/var/qmail/control/ldapgid echo "30">/var/qmail/control/ldaptimeout echo "Xin vui long lien he qua dia chi"> \
/var/qmail/control/custombouncetext touch /var/qmail/control/rbllist echo "0.0.0.0">/var/qmail/control/outgoingip echo "./Maildir/">/var/qmail/control/defaultdelivery echo "hcmut.edu.vn" >/var/qmail/control/locals echo "hcmut.edu.vn" >/var/qmail/control/rcpthosts Đến đây thì hệ thống Qmail-Ldap đã có được các thông tin cần thiết để hoạt động, tuy nhiên ta cần phải khai báo thêm các thông tin về các domain mà hệ thống sẽ nhận thư thông qua file rcpthosts Địa chỉ của các hệ thống server mà hệ thống sẽ thực hiện phân thư tới thông qua file smtproutes
Bước tiếp theo, ta sẽ tao ra một file dùng để kích hoạt Qmail, đó là file /var/qmail/rc File sẽ có nội dung như sau:
#!/bin/sh exec env - PATH="/usr/local/bin:/var/qmail/bin:/bin" \ qmail-start /Maildir/
Sau đó ta sẽ cho phép file rc này được hoạt động bằng lệnh sau: chmod 755 /var/qmail/rc
Do hệ thống của chúng ta là Spam Gateway nên chỉ có tác dụng nhận mail gửi tới kiểm tra và gửi chuyển tiếp mail đến người dùng, chứ không sử dụng như một hệ thống Mail Server hoàn chỉnh nên ta chỉ kích hoạt hai dịch vụ trong chương trình Qmail đó là trình quản lý của qmail và chương trình cung cấp dịch vụ smtp cho Qmail Bước tiếp theo,ta sẽ lần lượt kích hoạt các chương trình nêu trên như sau:
Kích hoạt dịch vụ quản lý qmail Để thực hiện kích hoạt, ta sẽ thực thi các lệnh sau
#/var/qmail/bin/qmail-delivery-conf qmaill \
Kiểm tra xem dịch vụ đã hoạt động chưa ta sử dụng lênh sau đây #svstat /service/qmail
Nếu thu được kết quả như sau, thì dịch vụ đã hoạt động
Kích hoạt dịch vụ SMTP Kích hoạt dịch vụ SMTP bằng các lệnh sau đây:
#/var/qmail/bin/qmail-smtpd-conf qmaild qmaill \
#ln -s /var/qmail/service/smtpd /service
Sử dụng lệnh sau để kiểm tra xem dịch vụ đã được kích hoạt chưa
Nếu thu được kết quả như sau, thì dịch vụ đã hoạt động
5.2.1.4.Thiết lập cấu hình hoạt động chống spam từ nguồn gốc
Mỗi khi có một kết nối SMTP từ môi trường Internet để gửi email đến các Mail Server mà hệ thống Spam Gateway chịu trách nhiệm, Qmail sẽ lần lượt thực hiện kiểm tra nguồn gốc của email gửi đến thông qua DNS Blacklist, bảng khai báo PTR của domain mail gửi và địa chỉ người nhận để từ đó xác định nguồn gốc của email gửi đến có tin cậy hay không Nếu không tin cậy, Qmail sẽ kết thúc kết nối SMTP ngay khi chưa nhận nội dung của email Nếu tin cậy thì Qmail sẽ thực hiện tiếp nhận nội dung của email rồi gửi đến module chống spam dựa trên nội dung của email Ta sẽ thực hiện cấu hình để Qmail thực hiện vai trò của một module chống spam từ nguồn gốc bằng các bước sau:
- Khai báo trong file /var/qmail/control/rbllist danh sách các DNS Blacklist sẽ sử dụng.- Phương thức ứng xử với các kết quả trả về của DNS Blacklist theo cú pháp sau: Địa_chỉ_DNS_Blacklist Hành_động Phù_hợp Thông_điệp.
Trong đó: o Địa_chỉ_DNS_Blacklist: sẽ khai bao domain name hoặc đỉa chỉ IP của DNS Blacklist mà chúng ta sẽ tra cứu o Hành_đông: khai báo hành động của hệ thống nếu kết quả kiểm tra là nguồn gốc phát tán của mail nằm trong danh sách của DNS Blacklist
Có hai hành động tương ứng là: reject - từ chối kết nối SMTP; addheader - tiếp tục nhận nội dung mail nhưng sẽ đánh dấu email này bằng header mang tên: X-RBL Phần "Phù_hợp" xác định địa chỉ trả về nào của DNS Blacklist mà hệ thống sẽ xem là email cần kiểm tra có nguồn gốc nằm trong Blacklist Phần "Thông_điệp" trỏ tới nội dung mà hệ thống sẽ đưa vào header X-RBL và thông báo lỗi gửi đến nguồn gốc của email.
Ví dụ: sbl.spamhaus.org reject 127.0.0.2 See http://www.spamhaus.org/SBL
ĐÁNH GIÁ HOẠT ĐỘNG CỦA SPAM GATEWAY
Để đánh giá hoạt động của hệ thống Spam Gateway, tôi đã triển khai hệ thống Spam Gateway tại dịch vụ email của công ty TNHH Dịch Vụ Giải Pháp Xu An Trước khi triển khai hệ thống Spam Gateway, dịch vụ mail của công ty không có công cụ chống spam nên gây ảnh hưởng đến người dùng rất nặng nề Việc gửi và nhận mail trong hệ thống không được ổn đinh do sự ảnh hưởng của spam cũng như không thể giám sát hoạt động gửi và nhận mail của hệ thống, không xác định được những đối tượng người dùng nào có vấn đề, khiến cho việc phát hiện và ngăn chặn
Sau khi triển khai hệ thống Spam Gateway và đưa vào hoạt động trong hơn 2 tháng giám sát (từ ngày 20/09/2013 đến 19/11/2013) ta thu được các số liệu hoạt động như sau:
Tổng số lượng mail được xử lý bởi hệ thống: 74.473 mail
Số lượng mail spam được phát hiện thông qua bộ lọc nội dung là: 7.260 mail chiếm 9.5% tổng lượng email được phân phối đến người dùng
Hình 5.10:: Biểu đồ xử lý mail theo ngày của hệ thống SpamGateway Đồng thời ta quan sát hoạt động của Mail Server trong giờ làm việc của hệ thống ta có các số liệu sau:
Hình 5.11: Các tiến trình xử lý trên Spam Gateway
Hoạt động của CPU (load) : Trong hoạt động phân phát của Mail Server, thì hoạt động của CPU luôn hoạt động ở mức dưới 10% Việc giao nhân mail trong giờ hành chính của hệ thống luôn được đảm bảo đầy đủ
Bộ nhớ hệ thống (memory): Hoạt động phân phối mail không hề chiếm bộ nhớ của hệ thống
Hệ thống Spam Gateway cho phép giám sát quá trình xử lý các email gửi đến thông qua giao diên web
Hình 5.12: Giao diện giám sát hoạt động hệ thống Spam Gateway qua môi trường web
Mỗi ngày hệ thống Spam Gateway đã phát hiện và lọc bỏ hàng ngàn mail quảng cáo và lừa đảo gửi tới hệ thống Để quan sát được việc lọc bỏ các thư rác, ta sẽ chuyển các thư rác này vào một hộp thư để quan sát chứ không để hệ thống tự xóa bỏ
Hình 5.13: Các mail spam đã được phát hiện và phân phối vào thư muc Junk
Như ta đã thấy các mail quảng cáo và lừa đảo đã được nhận diện chính xác và danh dấu bằng cách thay đổi header của mail và thêm vào một đoạn kí tự {Spam?}
Tuy nhiên, do những kẻ gửi thư rác liên tục tìm cách lách luật để đưa thư rác vào hộp thư người dùng, chúng ta cần thường xuyên theo dõi, kiểm tra và cập nhật các quy tắc chống thư rác để giảm thiểu tối đa tình trạng nhận thư rác.
Cơ sở dữ liệu về virus của hệ thống luôn được cập nhật một cách tự động trong từng giờ từ trang chủ của ClamAV, giúp cho hệ thống Mail Server có thể phát hiện ra các virus nguy hiểm sớm
Ngoài ra, hệ thống Spam Gateway còn có khả năng thống kê và tạo ra các biểu đồ liên quan đến quá trình hoạt động của hệ thống Ta sẽ quan sát qua các biểu đồ sau:
Hình 5.14: Danh sách 10 địa chỉ email gửi nội dung mail nhiều nhất
Hình 5.15: Danh sách 10 địa chỉ email gửi nhiều mail nhất
Hình 5.16: Danh sách 10 domain gửi mail nhiều nhất
Hình 5.17: Danh sách 10 domain nhận nhiều email nhất
Hình 5.18: Danh sách 10 địa chỉ nhận nhiều email nhất
Hình 5.19: Danh sách 10 domain nhận nhiều mail nhất
Hình 5.20: Sơ đồ phân bố khả năng spam của các email gửi đến hệ thống
Dựa trên những biểu đồ thống kê này, ta có thể điều chỉnh các chính sách chống spam phù hợp để từ đó tăng hiệu suất hoạt động của hệ thống Spam Gateway
KẾT LUẬN VÀ HƯỚNG PHÁT
Sau khi triển khai Spam Gateway, Mail Server hoạt động ổn định và hạn chế tác động của spam Các cuộc tấn công từ tin tặc và spammer dễ dàng bị phát hiện và xử lý, đảm bảo tính ổn định và chính xác của hệ thống thư qua công cụ giám sát Tuy nhiên, hệ thống vẫn tồn tại một số nhược điểm.
Hệ thống vẫn thỉnh thoảng để lọt spam do spammer đã điều chỉnh chính sách để tránh bị Spam Gateway phát hiện
Vẫn còn khá hạn chế với các mail spam có nội dung tiếng Việt
Độ tin cậy của bộ lọc Bayessian chưa cao
Việc nhận dạng spam nhầm vẫn xảy ra
Chính vì vậy, trong tương lai cần phải giải quyết các vấn đề này một cách triệt để theo những phương hướng sau đây:
1 Quan sát và phân tích các spam lọt qua hệ thống Spam Gateway, từ đó đặt ra những luật hoạt động đúng đắn hơn cho hệ thống hạn chế tối đa các thư rác lọt vào hệ thống
2 Kết hợp với các phương pháp phân loại văn bản hiệu quả hơn, để có thể nhận diện được ngữ nghĩa của các mail Tiếng Việt, từ đó nâng cao hiệu suất chống spam tiếng Việt
3 Nghiên cứu để nâng cấp giao diện web của hệ thống Spam Gateway thân thiện hơn
4 Nghiên cứu thêm một số phương pháp khác trong việc phát hiện spam và tích hợp vào hệ thống như mạng phức hợp, checksum base …
[2] Alistair McDonald, SpamAssassin: A Practical Guid to Intergration and Configuration, Packt Publishing, 2004
[3] Kevin B Korb and Ann E Nicholson, Bayesian Artificial Intelligence 2nd, CRC Press, 2011
[4] John Levine, Qmail, O'Reilly & Associates, 2004
[5] Peter Gregory and Michael A Simon, Blocking Spam & Spyware for Dummies, Wiley Publishing, 2005
[6] Jonathan A Zdziarski, Ending Spam: Bayesian Content Filtering and the Art of Statistical Language Classification, No Starch Press, 2005
[7] Geofrey Bowker and Paul N Edwards, SPAM – a Shadow History Of The Internet, Massachusetts Institute of Technology, 2013
Các Website tham khảo: http://www.mailscanner.info/ http://spamassassin.apache.org/ http://qms.ausics.net/ http://www.clamav.net/lang/en/
TÓM TẮT LÝ LỊCH KHOA HỌC
Họ và tên khai sinh: Lưu Nguyễn Hoàng Phúc Nam/Nữ Sinh ngày: …29… tháng …09… năm …1986… Nơi sinh: Cần Thơ Địa chỉ thường trú: 306C, Tổ 15, KV Long Thạnh A, Phường Thốt Nốt, Q Thốt Nốt, Tp
Cần Thơ Địa chỉ liên lạc: P109, Tòa nhà A5, Trường Đại học Bách Khoa – ĐHQG Tp.HCM
Dân tộc: Kinh Tôn giáo: Không
Nghề nghiệp, nơi làm việc: Kỹ Sư, Ban Quản Lý Mạng Đại học Bách Khoa – ĐHQG Tp.HCM
Ngày vào Đoàn TNCS-HCM: 26/03/2001
Chính sáchưu đãi đối với những đối tượng có công với cách mạng như thương binh, anh hùng lực lượng vũ trang, anh hùng lao động, dân tộc thiểu số, công tác ở vùng sâu, vùng xa, miền núi, hải đảo là hoạt động thiết thực để tri ân những đóng góp to lớn của họ cho đất nước Những chính sách này bao gồm các chế độ ưu tiên, hỗ trợ về kinh tế, xã hội, cải thiện đời sống, tạo điều kiện phát triển Nhà nước cũng có những chính sách riêng đối với từng đối tượng như thương binh, anh hùng lực lượng vũ trang, anh hùng lao động, dân tộc thiểu số, công tác ở vùng sâu, vùng xa, miền núi, hải đảo.
2 Quá trình đào tạo: a ĐẠI HỌC Tốt nghiệp Trường/Viện: Đại học Bách Khoa – ĐHQG Tp.HCM
Ngành học: Điện Tử - Viễn Thông
Loại hình đào tạo (chính quy/không chính quy): chính quy
Thời gian đào tạo: từ năm: 2004 đến năm: 2009 Xếp loại tốt nghiệp : Trung Bình Khá b.SAU ĐẠI HỌC Thực tập khoa học, kỹ thuật từ đến
Học cao học/làm NCS từ năm: 2010 đến năm: 2013 tại trường Đại học Bách Khoa – ĐHQG Tp.HCM
Chuyên ngành: Kỹ Thuật Điện Tử
Dán ảnh 3 x 4 và đóng dấu giáp lai ảnh
2 Các chứng chỉ sau đại học (nếu có):
STT Nội dung Thời gian cấp Nơi cấp
3 Quá trình học tập và làm việc của bản thân (từ khi học đại học đến nay):
Học hoặc làm việc gì Ở đâu Thành tích học tập 02/2009 đến nay
Ban Quản Lý Mạng, Đại học Bách Khoa – ĐHQG Tp.HCM Đại học Bách Khoa – ĐHQG Tp.HCM