Xây dựng chƣơng trình lọc spam cho các ứng dụng thƣ điện tử

Một phần của tài liệu Nghiên cứu phương pháp lọc Spam và ứng dụng trong bảo mật hệ thống thư điện tử tại sở thông tin và truyền thông tỉnh Nam Định (Trang 53 - 81)

3.1.1. Nhiệm vụ của chƣơng trình

Chƣơng trình lọc spam cho các ứng dụng thƣ điện tử đƣợc xây dựng với mục đích tự động phát hiện, ngăn chặn, đánh dấu thƣ đƣợc gửi tới hịm thƣ của ngƣời sử dụng mà hệ thống nhận diện là thƣ rác với tiền tố thiết lập bởi ngƣời sử dụng.

Hình 3.1: Nhiệm vụ của chương trình lọc thư rác

3.1.2. Các cơng nghệ sử dụng

Cơng nghệ sử dụng phía Server:

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ - Hệ thống thiết bị và phần mềm lọc thƣ rác.

- Outlook SDK.

- Ngơn ngữ lập trình C# Cơng nghệ sử dụng phía client:

- Trình quản lý thƣ Outlook 2007 trở lên cĩ tích hợp phần mềm lọc thƣ rác Spam Filter

3.1.3. Các chức năng chính của chƣơng trình

- Chức năng tạo thƣ mục chứa thƣ rác theo thiết lập của ngƣời sử dụng. - Chức năng phát hiện các thƣ đƣợc gửi từ các địa chỉ email trong danh

sách đen.

- Chức năng phát hiện các thƣ đƣợc gửi từ các máy chủ email trong danh sách đen.

- Chức năng phát hiện các thƣ cĩ tiêu đề, nội dung chứa các từ nằm trong danh sách từ khĩa bị lọc.

- Chức năng phát hiện các thƣ cĩ tiêu đề, nội dung cĩ nội dung gần giống với các mẫu thƣ rác đã đƣợc huấn luyện.

- Di chuyển các thƣ trong hịm thƣ đến của ngƣời sử dụng mà chƣơng trình nhận diện là thƣ rác tới thƣ mục đã quy định bởi ngƣời sử dụng.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Hình 3.2: Chức năng của phần mềm lọc thư rác

3.2. Thử nghiệm hệ thống thƣ điện tử tại Sở Thơng tin và Truyền thơng tỉnh Nam Định tỉnh Nam Định

3.2.1. Khảo sát việc sử dụng mail tại Sở Thơng tin và Truyền thơng tỉnh Nam Định tỉnh Nam Định

3.2.1.1. Cơ sở hạ tầng

- Tất cả các phịng ban của sở Thơng tin và Truyền thơng tỉnh Nam Định đều kết nối mạng LAN, WAN và sử dụng đƣờng truyền Internet tốc độ cao sử dụng đƣờng truyền cáp quang.

- Tỷ lệ máy tính đƣợc trang bị cho cán bộ cơng chức để làm việc đạt là 80% trong đĩ 100% cán bộ đều cĩ hộp thƣ điện tử.

- Hệ thống mail nội bộ đã đƣợc triển khai từ năm 2010 trên nền máy chủ Exchange Server 2003 và tất cả các các bộ đều sử dụng hộp thƣ điện tử trong các giao dịch điện tử và trao đổi cơng việc.

3.2.1.2. Thực trạng cơng tác phịng và chống thư rác.

Mặc dù hệ thống đã đƣợc cài đặt các tính năng lọc thƣ và ngăn chặn khá hiệu quả các thƣ rác gửi đến hịm thƣ của các tài khoản thƣ nội bộ, tuy nhiên vẫn cĩ số lƣợng khơng nhỏ các thƣ rác (thƣ quảng cáo, lừa đảo,…) lọt qua hệ thống kiểm duyệt để chuyển tới hịm thƣ đến của các cán bộ, cơng nhân viên chức sử dụng hệ thống thƣ điện tử nội bộ của sở.

Bên cạnh đĩ vẫn cịn cĩ một số cán bộ sử dụng hịm thƣ điện tử nội bộ để đăng ký tài khoản tại các diễn đàn, website chuyên về quảng cáo. Từ đây các spamer thƣờng gửi các thƣ quảng cáo, giới thiệu sản phẩm, tiếp thị sự kiện … qua các hịm thƣ này gây ảnh hƣởng tới hiệu năng của hệ thống máy chủ thƣ, gián tiếp gây ảnh hƣởng tới các tài khoản thƣ điện tử khác.

3.2.1.3. So sánh và lựa chọn phương pháp lọc thư rác cho ứng dụng thử nghiệm

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ Đã cĩ nhiều chƣơng trình phần mềm cĩ tính năng chặn lọc thƣ rác và triển khai khá hiệu quả. Các phần mềm này đều đƣợc xây dựng bởi các chuyên gia và các cơng ty chuyên nghiệp.

Tuy nhiên, trong quá trình nghiên cứu luận văn này tơi cũng xây dựng một ứng dụng demo nhỏ áp dụng phƣơng pháp lọc theo địa chỉ IP, lọc theo email ngƣời gửi và Bayes đơn giản để lọc nội dung các thƣ gửi đến và phân loại chúng.

Mặc dù đơn giản, nhiều thử nghiệm cho thấy phân loại thƣ rác bằng Bayes đơn giản cĩ độ chính xác khá cao. Trên nhiều tập dữ liệu thƣ điện tử, tỉ lệ lọc thƣ rác cĩ thể đạt tới khoảng 98%. Kết quả này cho thấy lựa chọn sử dụng Bayes đơn giản để áp dụng là lựa chọn đúng đắn và phù hợp.

3.2.2. Dữ liệu thử nghiệm

Một khĩ khăn khi thử nghiệm lọc thƣ tiếng Việt là hiện nay chƣa cĩ những bộ dữ liệu mẫu chuẩn. Do vậy bản thân tơi tự tiến hành xây dựng bộ dữ liệu thƣ để dùng trong thử nghiệm của mình. Thƣ rác đƣợc thu thập từ hai nguồn: nguồn thứ nhất là những thƣ rác mà các tơi nhận đƣợc qua địa chỉ thƣ của mình tại Việt nam. Nguồn thứ hai là những thƣ rác do quản trị phát hiện tại mail server của sở Thơng tin và Truyền thơng tỉnh Nam Định (http://mail.namdinh.gov.vn/). Thƣ bình thƣờng là những thƣ mà các tác giả nhận đƣợc bao gồm cả thƣ tiếng Việt và tiếng Anh.

Đối với các thƣ bình thƣờng nhận đƣợc, trong trƣờng hợp thƣ nhận từ cùng một nguồn qua nhiều phiên gửi và reply thì đối với những thƣ gửi sau sẽ đƣợc xố phần đã gửi từ trƣớc, chỉ giữ lại nội dung thƣ nhận đƣợc cuối cùng. Đối với những thƣ bao gồm cả văn bản và hình ảnh, chỉ cĩ phần văn bản đƣợc sử dụng, phần hình ảnh bị bỏ qua khơng xem xét. Các thƣ cĩ phần đính kèm cũng khơng đƣợc xem xét nội dung đính kèm mà chỉ kiểm tra phần nội dung thƣ. Các thơng số chính về bộ dữ liệu thử nghiệm đƣợc thống kê trong bảng 3.1.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Bảng 3.1. Bộ dữ liệu thử nghiệm

Tổng số thƣ Thƣ rác Thƣ bình thƣờng

1929

Anh Việt Anh Việt

Cĩ dấu Khơng dấu Cĩ dấu Khơng dấu

624 248 269 260 232 296

3.2.3. Phƣơng pháp thử nghiệm

Ba phƣơng pháp phân loại đƣợc thử nghiệm bao gồm hai phiên bản phân loại Bayes đơn giản – phiên bản sử dụng mơ hình Bécnuli đa trị (Bayes đa trị) và phiên bản sử dụng mơ hình đa thức (Bayes đa thức) – và SVM. Để thử nghiệm các phƣơng pháp này, chúng tơi sử dụng bộ cơng cụ WEKA cĩ tại địa chỉ http://www.cs.waikato.ac.nz/ml/weka/. Đối với SVM, hàm nhân sử dụng là hàm tuyến tính tức là việc phân loại đƣợc tiến hành trong khơng gian gốc của dữ liệu. Tham số C trong cơng thức (13) đƣợc đặt bằng 1.

Độ chính xác phân loại đƣợc xác định bằng phƣơng pháp kiểm tra chéo 10 nhĩm (10-fold cross validation). Tồn bộ dữ liệu đƣợc chia ngẫu nhiên thành 10 nhĩm kích thƣớc nhƣ nhau. Bộ phân loại đƣợc huấn luyện trên chín nhĩm sau đĩ đƣợc kiểm tra trên một nhĩm cịn lại. Lặp lại 10 lần với 10 nhĩm dùng để kiểm tra, sau đĩ lấy trung bình cộng kết quả.

Hiệu quả lọc thƣ đƣợc đánh giá theo ba tiêu chí. Hai tiêu chí đầu là độ nhậy

(recall) và độ chính xác (precision) đƣợc định nghĩa nhƣ sau:

độ nhậy =

số thư rác phát hiện chính xác Tổng số thư rác trong tập kiểm

tra

độ chính xác =

số thư rác phát hiện chính xác Tổng số thư được phân loại là thư

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ Tiêu chí thứ ba là độ chính xác phân loại chung tức là phần trăm thƣ đƣợc phân loại đúng khơng phụ thuộc vào đĩ là thƣ rác hay thƣ bình thƣờng.

3.2.4. Thử nghiệm chƣơng trình

Yêu cầu phần mềm:

- Windows 2000 server sp4, hoặc Windows 2003 server. - Microsoft Exchange 2000, 2003 hoặc 2007.

- Microsoft Outlook 2003, 2007 hoặc 2010

Cách cài đặt thơng số hệ thống

- Chạy file EmailFilter.exe

Cách chạy chương trình

1. Huấn luyện và Tuỳ chọn

a) Huấn luyện:

- Chạy file EmailFilter.exe - Chọn tab Huấn luyện

Giao diện cho phần huấn luyện sẽ hiện ra nhƣ trên hình dƣới.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ - Chọn loại thƣ (Thƣ thƣờng hay thƣ rác)

- Chọn đƣờng dẫn tời thƣ mục chứa các file .msg + Chọn thƣ mục chứa các các file thƣ tiếng Anh.

Hình 3.4: Lựa chọn thư mục chứa các thư mẫu cho việc huấn luyện

+ Chọn thƣ mục chứa các các file thƣ tiếng Việt.

(* Nếu khơng muốn huấn luyện loại nào thì bỏ trống loại ấy). - Click vào nút Huấn luyện để huấn luyện cho chƣơng trình.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Hình 3.5: Giao diện form đã tiến hành huấn luyện tập mẫu thư thường

b. Tuỳ chọn:

- Chọn tab Hịm thƣ Spam

Hình 3.6: Giao diện thiết lập danh sách hịm thư cần chặn lọc

- Nhấn vào nút cập nhật để cập nhật danh sách hịm thƣ cần chặn lọc vào danh sách

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Hình 3.7: Cửa sổ xác nhận việc cập nhật danh sách hịm thư cần chặn lọc

- Chọn tab Từ khĩa chặn

Hình 3.8: Giao diện thiết lập từ khĩa cần chặn lọc

Hình 3.9: Cửa sổ xác nhận việc cập nhật danh sách từ khĩa cần chặn lọc 2. Chạy chức năng Spam Filter

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ - Gửi mail tới hịm thƣ của bạn.

- Duyệt thƣ trên máy tính với trình đọc thƣ Outlook. - Chƣơng trình sẽ tự động kiểm tra mail vừa gửi tới.

- Nếu là thƣ rác thì bộ lọc sẽ tự động thêm vào tiêu đề thƣ đĩ chuỗi [Junk Mail].

Hình 3.10: Xác nhận sử dụng tính năng lọc thư rác của chương trình

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Hình 3.12: Thống kê kết quả lọc thư rác của chương trình

Hình 3.13: Thư rác đã được đánh dấu trong trình xem thư Outlook

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Hình 3.14: Giao diện tab giới thiệu chương trình

Hình 3.15: Xác nhận việc thốt khỏi chương trình

3.2.4. So sánh phƣơng pháp phân loại

Trƣớc tiên, thử nghiệm đƣợc tiến hành để so sánh ba phƣơng pháp: Bayes đa trị, Bayes đa thức và SVM. Ba phƣơng pháp này đƣợc sử dụng để phân loại thƣ với các thơng số sau: ngƣỡng phân loại T = 1; phân loại riêng thƣ tiếng Việt cĩ dấu; phân loại thƣ Việt trộn lẫn thƣ tiếng Anh khơng cĩ giai đoạn xác định ngơn ngữ và dấu; sử dụng tồn bộ đặc trƣng trừ 100 đặc trƣng xuất hiện thƣờng xuyên nhất; sử dụng 1000 đặc trƣng cĩ MI cao nhất. Ba phƣơng pháp chỉ đƣợc so sánh theo tiêu chí duy nhất là độ chính xác phân loại chung nhƣ ở phần 4.2. Kết quả thử nghiệm đƣợc thống kê trong bảng 3.2.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ Kết quả thử nghiệm cho thấy phƣơng pháp Bayes đa trị cho kết quả kém hơn nhiều so với hai phƣơng pháp cịn lại. Phƣơng pháp SVM cho kết quả phân loại tƣơng đƣơng với Bayes đa thức (kết quả trong bảng 2 khơng cho phép kết luận về ƣu thế tuyệt đối của một trong hai phƣơng pháp). Tuy nhiên, SVM địi hỏi khối lƣợng và thời gian tính tốn lớn hơn nhiều. Trong các thử nghiệm, tổng thời gian huấn luyện và phân loại bằng SVM lớn hơn Bayes đơn giản từ 15 tới 100 lần và do vậy khơng thích hợp với bộ phân loại phải xử lý số lƣợng thƣ lớn trên server. Trong các thử nghiệm tiếp theo, chúng tơi sẽ chỉ trình bày kết quả sử dụng Bayes đa thức.

Bảng 3.2. Độ chính xác phân loại với các phương pháp phân loại khác nhau

Các tham số Bayes đa trị Bayesđa thức SVM

Anh+Việt; k = 1; n= 1000 88.52% 96.37% 96.65% Anh+Việt; k = 1; tồn bộđặc trƣng 87.08% 93.29% 96.42% Anh+Việt; k = 2; n = 1000 86.12% 96.37% 96.20% Việt; k = 1; n = 1000 91.17% 97.64% 94.11% Việt; k = 1; tồn bộđặc trƣng 89.41% 99.14% 99.19% 3.2.5. Lựa chọn độ dài và số lƣợng đặc trƣng

Để xác định ảnh hƣởng của độ dài đặc trƣng đến hiệu quả phân loại thƣ tiếng Việt, phƣơng pháp Bayes đa thức đƣợc thử nghiệm trên thƣ tiếng Việt bao gồm cả thƣ cĩ dấu và khơng dấu. Các thơng số cịn lại nhƣ sau: sử dụng tồn bộ đặc trƣng trừ 100; sử dụng 1000 đặc trƣng; độ dài đặc trƣng là 1; 1 và 2; 1 và 2 và 3 (k=1; k=1,2; k=1,2,3 cho k-grams). Độ chính xác phân loại chung khi sử dụng độ dài đặc trƣng khác nhau đƣợc thể hiện trên bảng 3.3. Kết quả cho thấy k = 1,2 và k = 1,2,3 cho độ chính xác tƣơng đƣơng nhau và cao nhất khi sử dụng để phân loại thƣ tiếng Việt, trong khi đĩ k = 1 cho kết quả phân loại tốt nhất khi trộn lẫn thƣ tiếng Việt và tiếng Anh. Điều này cĩ thể giải thích là do k = 1 phù hợp hơn với thƣ tiếng Anh trong khi số lƣợng thƣ tiếng Anh trong tập huấn luyện lớn hơn số lƣợng thƣ tiếng Việt.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Bảng 3.3. Kết quả phân loại với độ dài đặc trưng - từ khác nhau

k=1 k=1,2 k=1,2,3 độ chính xác độ nhậy độ chính xác độ nhậy độ chính xác độ nhậy Anh+Việt; n = 1000 0.974 0.964 0.972 0.967 0.961 0.98 Anh+Việt; tồn bộ đặc trƣng 0.962 0.914 0.979 0.902 0.962 0.897 Việt; n = 1000 0.965 0.966 0.973 0.993 0.973 0.993 Việt; tồn bộ đặc trƣng 0.948 0.958 0.972 0.966 0.972 0.966

Để xác định ảnh hƣởng của số lƣợng đặc trƣng tới kết quả phân loại, chúng tơi tiến hành thử nghiệm với 500, 1000, 3000 đặc trƣng cĩ MI cao nhất và tồn bộ trừ 100 đặc trƣng. Thử nghiệm đƣợc tiến hành trên tồn bộ tập dữ liệu (bao gồm cả tiếng Việt và tiếng Anh) khơng phân biệt trƣớc ngơn ngữ và trên tập thƣ tiếng Việt tách riêng. Độ dài đặc trƣng sử dụng là k = 1 khi trộn lẫn tiếng Việt, tiếng Anh, và k=1,2 khi phân loại riêng tiếng Việt. Độ chính xác phân loại đƣợc thống kê trên Hình 3.3. 90 91 92 93 94 95 96 97 98 99 100 500 1000 2000 3000 Tồn bộ số đặc trưng đ c h ín h x ác ( % ) Anh+Việt; k=1 Việt; k=2

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

3.2.6. Phân biệt theo ngơn ngữ trƣớc khi lọc

Nhƣ đã nĩi ở trên, cĩ thể phân chia thƣ tiếng Việt và tiếng Anh sau đĩ tiến hành lọc thƣ rác riêng cho từng ngơn ngữ hoặc cĩ thể lọc luơn khơng phân biệt thƣ viết trên ngơn ngữ nào. Tƣơng tự, cĩ thể phân chia thƣ tiếng Việt cĩ dấu và khơng dấu trƣớc khi lọc. Để so sánh các quy trình phân loại, thử nghiệm đƣợc tiến hành theo các chế độ sau: lọc chung thƣ tiếng Việt và tiếng Anh, lọc riêng thƣ tiếng Việt và thƣ tiếng Anh, lọc thƣ tiếng Việt khơng phân thành cĩ dấu-khơng dấu và phân chia theo dấu trƣớc khi lọc. Với trƣờng hợp phân chia ngơn ngữ, độ dài đặc trƣng đƣợc chọn k = 2 cho tiếng Việt và k = 1 cho tiếng Anh. Trƣờng hợp khơng phân chia ngơn ngữ sử dụng k=1. Số lƣợng đặc trƣng n=2000.

Kết quả so sánh ba quy trình lọc đƣợc thể hiện trên bảng 3.2. Kết quả cho thấy, việc lọc riêng theo ngơn ngữ đối với tiếng Việt cho kết quả tốt hơn khi khơng phân biệt thƣ tiếng Việt và thƣ tiếng Anh. Đây cĩ thể là kết quả của việc lựa chọn độ dài đặc trƣng phù hợp cho ngơn ngữ. Tuy nhiên, mức độ chênh lệch giữa các quy trình lọc khơng đáng kể (dƣới 1%) và trên thực tế ta cĩ thể bỏ qua giai đoạn phân loại ngơn ngữ.

3.2.7. Nhận xét kết quả thử nghiệm

Kết quả thực nghiệm cho thấy việc tách từ đơn giản bằng cách sử dụng các cụm từ liền nhau cĩ độ dài bằng 1 và 2 cho kết quả phân loại thƣ rác chính xác khá cao. Đây là kết quả quan trọng vì nĩ cho phép bộ lọc thƣ tránh đƣợc quá trình tách từ phức tạp và tốn thời gian khi sử dụng những phƣơng pháp tách từ tiếng Việt phức tạp hơn.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/ 97.5 98 98.5 99 99.5 100

Anh+Việt Anh Việt chung Việt cĩ dấu Việt khơng dấu Đ c h ín h x ác ( %

Một phần của tài liệu Nghiên cứu phương pháp lọc Spam và ứng dụng trong bảo mật hệ thống thư điện tử tại sở thông tin và truyền thông tỉnh Nam Định (Trang 53 - 81)

Tải bản đầy đủ (PDF)

(81 trang)