BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
***
LƯƠNG QUỐC SƠN
NGHIÊN CỨU XÂY DỰNG
BỘ LỌC THƯ RÁC
HỖ TRỢ SONG NGỮ ANH - VIỆT Luận văn thạc sỹ công nghệ thông tin Đồng Nai, 2012
BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
***
LƯƠNG QUỐC SƠN
NGHIÊN CỨU XÂY DỰNG
BỘ LỌC THƯ RÁC
HỖ TRỢ SONG NGỮ ANH - VIỆT
Chuyên ngành: Công nghệ thông tin
Mã số: 60,48,02.01
Luận văn thạc sỹ công nghệ thông tin
Người hướng dẫn khoa học:
TS. VŨ ĐỨC LUNG
Chân thành cám ơn !
Biên Hòa, ngày 05 tháng 06 năm 2012
Lương Quốc Sơn
1 MỞ ĐẦU
1.Tóm lược đề tài:
Thư rác (spam) là thư điện tử được gửi hàng loạt với nội dung mà người
nhận không mong đợi, không muốn xem, hay chứa những nội dung không
liên quan đến người nhận và thường được sử dụng để gửi thông tin quảng cáo.
Do có giá thành tương đối thấp so với các phương pháp quảng cáo khác, thư
rác hiện chiếm một tỷ lệ lớn và ngày càng tăng trong tổng số thư điện tử được
gửi qua Internet. Sự xuất hiện và gia tăng thư rác không những gây khó chịu
và làm mất thời gian của người nhận mà còn ảnh hưởng tới đường truyền
Internet và làm chậm tốc độ xử lý của máy chủ thư điện tử, gây thiệt hại lớn
về kinh tế.
Để loại bỏ hoặc giảm thiểu ảnh hưởng của thư rác, nhiều cách tiếp cận
khác nhau đã được nghiên cứu và sử dụng. Giải pháp đấu tranh với thư rác rất
đa dạng, bao gồm từ các cố gắng về pháp lý trong việc xây dựng luật ngăn
chặn phát tán thư rác cho tới những giải pháp kỹ thuật nhằm phát hiện và
ngăn chặn thư rác trong những giai đoạn khác nhau của quá trình tạo và phát
tán thư. Trong số giải pháp được sử dụng, lọc thư theo nội dung đang là một
trong những giải pháp được sử dụng rộng rãi và có triển vọng nhất. Lọc thư
theo nội dung là phương pháp phân tích nội dung thư để phân biệt thư rác với
thư bình thường, kết quả phân tích sau đó được sử dụng để quyết định chuyển
tiếp thư đến người nhận hay không (trong phạm vi nghiên cứu này, nội dung
thư được giới hạn là những nội dung trình bày dưới dạng văn bản).
Bên cạnh đó, cũng nghiên cứu kỹ thuật tách câu, tách từ đơn, từ ghép
trong tiếng Việt mà chỉ xét về mặt tồn tại của từ, không xét về mặt ý nghĩa
của từ.
3. Nội dung thực hiện đề tài
3 Tìm hiểu về thư spam: các loại thư spam, đặc điểm thư spam… Đặc biệt,
tìm hiểu về thư spam tiếng Việt.
Nghiên cứu các kỹ thuật đang sử dụng hiện nay để lọc thư spam.
Nghiên cứu các bộ lọc spam truyền thống hiện được sử dụng.
Áp dụng thuật toán cho việc lọc thư spam Anh – Việt.
Nghiên cứu xây dựng bộ lọc spam cải tiến từ các bộ lọc đã có hoặc bộ lọc
spam mới phù hợp hơn với các thư spam đặc biệt là tiếng Việt.
4. Phạm vi ứng dụng
Đề tài “NGHIÊN CỨU XÂY DỰNG BỘ LỌC THƯ RÁC HỖ TRỢ
SONG NGỮ ANH - VIỆT” có thể được ứng dụng trong các máy chủ mail,
và giúp cho người sử dụng loại bỏ được thư có nội dung spam song ngữ Anh
– Việt, giảm thiểu thời gian lãng phí của người sử dụng khi phải tự mình kiểm
tra nội dung từng bức thư.
4 CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN V THƯ RÁC
1.1. Giới thiệu về thư rác
1.1.1. Lịch sử
Có thể chia lịch sử của thư rác thành 3 giai đoạn sau:
1.1.1.1. Giai đoạn thứ nhất – những năm đầu của thư rác
Nhiều ý kiến cho rằng thư rác đầu tiên được phát tán trên mạng diện rộng
là vào năm 1978, đó là một quảng cáo từ Digital Equipment Corporation
Có nhiều tranh cãi về việc đâu là định nghĩa chính xác của thư rác (spam
email), bởi vì thư rác mang tính cá nhân hóa nên khó mà nói lên được hết ý
nghĩa của thư rác. Nhiều ý kiến cho rằng thư rác là những “thư điện tử (email)
không mong muốn”. Định nghĩa này cũng không thực sự chính xác, như một
nhân viên nhận những thư điện tử về công việc từ sếp của họ, đây là những
thư điện tử người nhân viên không mong muốn nhưng chúng không phải là
thư rác. Lại có ý kiến khác cho rằng thư rác là những “thư điện tử thương mại
không được yêu cầu từ phía người nhận” - những thư này bao gồm các thư
điện tử quảng cáo về các sản phẩm và thư điện tử lừa gạt. Nhưng định nghĩa
này cũng không thực sự chính xác, nó làm mọi người nghĩ rằng thư rác giống
như là thư đáng bỏ đi (junk mail).
Sau đó có ý kiến cho rằng thư rác là “số lượng lớn thư điện tử không yêu
cầu” và trong số đó các thư điện tử quảng cáo, thương mại chiếm đa số, đây
có lẽ là định nghĩa gần đúng với ý nghĩa của thư rác nhất. [7]
6 Hình vẽ sau sẽ thể hiện rõ định nghĩa của thư rác:
Tất cả thư điện tử
Thư điện tử không mong muốn
Thư rác
Thư quảng cáo thương mại
Hình 1.1: So sánh thư rác với các thư điện tử khác.
1.1.3. Mục đích chính gửi thư rác
Thư rác được gửi với các mục đích chính như sau:
Thiếu trường “From:”.
Định danh - ID của thư điện tử bị thiếu hoặc là ID giả.
Trường “Bcc:” có tồn tại, vì ở các thư điện tử thông thường trường
này thường không xuất hiện.
Trường “X-mailer” – là trường thể hiện tên phần mềm dùng để gửi
thư điện tử, nếu trường này bao gồm tên của phần mềm gửi thư rác
quen thuộc thì có thể xác định được là thư rác hay không.
X-UIDL header: là một định danh duy nhất được sử dụng bởi các
giao thức POP để lấy thư điện tử từ một máy chủ mail. Nó thường
được thêm vào giữa các máy chủ mail của người nhận và phần
mềm thư điện tử của người nhận, nếu thư đến tại các máy chủ mail
mà xuất hiện trường này thì là thư rác.
Tồn tại các dòng mã lệnh hoặc khoảng trắng tuần tự. Ví dụ như
thêm mã lệnh trên chủ đề của thư và dùng khoảng trắng để giấu.
Tồn tại các dòng mã HTML không đúng quy tắc.
- Nội dung của thư chứa các từ thường xuất hiện trong thư rác (kiếm tiền,
giàu nhanh, chọn nhanh, ).
8 - Sự giống nhau ở kích thước/ loại tập tin/ tên tập tin đính kèm thư rác ở
các lần spam.
1.1.5. Các kỹ thuật tạo thư rác
Chỉnh sửa phần header của thư rác:
Nhập địa chỉ của các người nhận thư rác vào trường “Bcc:” thay vì
trường “To:” hoặc “Cc:”.
Thể hiện ở trường “To:” địa chỉ thư điện tử không hợp lệ để đánh
lừa người nhận.
Dùng mã HTML và khoảng trắng để che dấu thông tin nhằm mục
đích đánh lừa người nhận thư rác.
blackhole có một tập luật và điều kiện khác nhau để xác định thư rác. Một vài
danh sách quá khắt khe và quá nhiều điều kiện dẫn đến rủi ro các thư điện tử
hợp lệ bị mất rất cao. (Chỉ nên dùng cho những địa chỉ biết chắc là nơi phát
tán thư rác). Các danh sách blackhole có 2 yếu điểm quan trọng:
Đầu tiên là thời gian lan truyền [7]. Các danh sách blackhole sẽ
thêm các địa chỉ mạng vào danh sách của nó chỉ khi mạng đó được
dùng để phát tán thư rác. Trước đây việc thêm các mạng đó vào
danh sách làm việc tốt do kẻ phát tán thư rác khá bị động. Nhưng
ngày nay kẻ phát tán thư rác có thể đánh cắp tài khoản dialup, sử
dụng các open relays (Máy trung gian giúp gửi mail) tạo ra các host
mới để gửi thư rác trước khi chúng được thêm vào danh sách
blackhole. Nhiều danh sách đã bắt đầu blacklist không gian địa chỉ
người dùng dialup và ISDN để chống lại các host phát tán thư rác
mới này. Tuy nhiên nỗ lực này gặp phải vấn đề lớn là không gian
địa chỉ này thường xuyên thay đổi.
10 Thứ hai là chất lượng duy trì các danh sách blackhole [7]. Ngày nay
nhiều danh sách blackhole được duy trì kém. Kết quả là một vài
mạng hợp lệ bị thêm vào blacklist không bao giờ bị xóa, hay chậm
xóa. Những vấn đề này làm cho một số blacklist rất không được tin
cậy do chúng khóa cả những thư điện tử hợp lệ.
1.2.1.2. Ưu – khuyết điểm
Ưu điểm
Dễ cài đặt.
Dễ dành chia sẻ danh sách này cho người khác sử dụng.
Khuyết điểm
Cần thời gian lan truyền để cập nhật danh sách nên có thể để lọt các
thư rác từ những host sử dụng tài khoản dialup bị đánh cắp, open
whitelist. Một cách khác liên quan đến việc điều tiết người gửi (giới hạn tốc
độ và số lượng thông điệp một người chưa được whitelist có thể gửi) và gửi đi
một challenge/response (đây là một kỹ thuật khác sẽ được đề cập ở những
phần sau).
Nhiều hệ thống whitelisting chỉ tạo danh sách whitelist dựa trên địa chỉ
thư điện tử trong phần thông tin của trường “From:”. Điều này giúp phần lớn
người dùng dễ dàng thêm các địa chỉ thư điện tử những người bạn của họ vào
danh sách whitelist. Trường “From:” được xem là trường tin cậy, nhưng mà
trong thực tế nó rất dễ bị giả mạo do bên nhận không chứng thực người gửi.
Khi kẻ phát tán thư rác giả mạo một địa chỉ trong whitelist của người dùng,
nếu người nhận xóa địa chỉ đó khỏi whitelist thì các thư điện tử từ người thực
sự có địa chỉ đó sẽ bị khóa. Ngược lại nếu giữ lại địa chỉ đó thì người nhận sẽ
nhận được tất cả các thư rác từ người gửi giả mạo địa chỉ đó. Không có giải
12 pháp trung gian cho vấn đề này, whitelisting chỉ có thể làm việc hoặc không
làm việc.
Nhiều bộ lọc dựa trên nội dung sử dụng kỹ thuật whitelisting trước khi lọc
nội dung để tăng cường độ chính xác.
1.2.2.2. Ưu – khuyết điểm
Ưu điểm
Kết quả rất chính xác.
Không phải dựa trên việc học nội dung thông điệp.
Khuyết điểm
Có thể giả mạo địa chỉ trong danh sách whitelist.
Tất cả người dùng phải được tin cậy mới có thể gửi email vào inbox
được.
Người dùng cần phải cấu hình danh sách whitelist một cách thủ
công.
Điểm yếu chính xuất phát từ lý do tập luật được thiết kế để mọi
người sử dụng. Do đó cần phải cắt giảm một số luật để tránh một số
lỗi false-positive quan trọng ( các thư hợp lệ bị coi là thư rác). Kết
quả là, phiên bản đầu tiên của SpamAssasin có một tỉ lệ lỗi là 1/10
thông điệp, các phiên bản sau này cải thiện chỉ còn 1/20 thông điệp,
đạt độ chính xác khoảng 95%.
Nhưng điểm quan trọng hơn là mọi người sử dụng chung một tập
các luật, cho nên kẻ phát tán thư rác có thể học và thích nghi với
các luật để vượt qua bộ lọc [7]. Bởi vì các tập luật và các cơ chế
gán điểm số hầu như không thay đổi, những kẻ phát tán thư rác có
thể tải công cụ heristic phiên bản mới nhất và chạy thử thư rác của
chúng. Khi chúng đã xác định được các phần trong thư rác của
mình tạo ra đã nằm trong tập luật của phần mềm thì chúng có thể
14 thay đổi thông điệp đó để qua mặt các luật. Sau khi được chỉnh sửa
xong thông điệp sẽ được gửi đi và nó sẽ lọt qua các phần mềm sử
dụng cùng tập luật ở trên. Kết quả là độ chính xác giảm nghiêm
trọng, một vài nhà quản trị hệ thống cho biết trong một số trường
hợp nó có thể giảm xuống 40% [7]. Độ chính xác sẽ tăng khi tác giả
bộ lọc thêm các luật mới nhưng cũng sẽ nhanh chóng giảm khi
những kẻ phát tán thư rác thích nghi với các luật này.
Các vấn đề cần quan tâm trong kỹ thuật này:
Vấn đề duy trì [7]: mặc dù nhiều bộ lọc heristic rất hiệu quả trong
việc giảm 85% thư rác hoặc hơn nữa, nhưng các tập luật cũng cần
phải cập nhật liên tục do sự tiến hóa của thư rác. SpamAssassin sử
dụng khoảng 900 đến 950 luật heristic khác nhau, và tập luật mới
xuất hiện chỉ có thể duy trì độ chính xác trong khoảng thời gian
ngắn. Người quản trị hệ thống không có thời gian để theo dõi 900
Challenge/response [7] là cách tiếp cận tương tự với kỹ thuật whitelisting.
challenge/ response sẽ tự động gửi một thông điệp challenge tới người gửi
thư. Trong thông điệp này, người gửi được yêu cầu làm một vài thao tác (như
ấn vào một liên kết) để thông điệp đầu tiên được tới người nhận đồng thời
người gửi được đưa vào danh sách whitelist, nếu không thông điệp sẽ không
được gửi. Challenge/ response đã đẩy trách nhiệm duy trì whitelist cho người
gửi thông điệp, rất nhiều người không thích điều này vì nó khiến họ phải làm
công việc của bộ lọc thư rác. Nhiều người rất khó chịu khi phải trả lời các
thông điệp challenge dẫn đến khuynh hướng họ sẽ không muốn giao tiếp với
những người yêu cầu họ phản hồi thư điện tử challenge nữa.
Các vấn đề cần quan tâm đối với kỹ thuật challenge/ response:
Phần lớn các lỗ hổng được tìm thấy trong whitelisting cũng có
trong challenge/ response. Việc giả mạo vẫn thực hiện được dễ
16 dàng và làm vấn đề tồi tệ hơn, chính những người sử dụng
challenge/ response có thể thêm địa chỉ của họ vào danh sách người
gửi tin cậy trong whitelist của người nhận.
Một điểm cần nói đến lưu lượng thư điện tử mà challenge/ response
phát sinh ra. Thay vì giúp duy trì các tài nguyên, challenge/
response lại sử dụng thêm các tài nguyên do gửi các thư điện tử xác
thực. Kết quả là hàng ngày một lượng thư điện tử lớn được gửi ra
để xác thực các địa chỉ thư điện tử (trong đó có rất nhiều địa chỉ giả
mạo). Có thể lên đến hàng triệu thư điện tử mỗi ngày cho một ISP
cỡ nhỏ.
Mọi người thường phàn nàn là challenge/ response làm trì trệ thư
điện tử của họ. Ví dụ, nếu một người gửi trả lời một challenge thất
bại, nhưng thư điện tử của họ lại là thư điện tử khẩn thì thư điện tử
sẽ bị trì hoãn cho tới khi người gửi kiểm tra lại thư điện tử của họ
không tác động nhiều lên các thư hợp lệ và nó cũng khiến những kẻ phát tán
thư rác phải tốn nhiều thời gian xử lý nhất.
Nguyên lý của phương pháp throttling là một lần phân phối (server phân
phối đến các client) các thư hợp lệ sẽ không bao giờ gửi quá một ngưỡng lưu
lượng xác định đến một mạng cụ thể nào đó. Ví dụ một danh sách thư điện tử
hợp lệ có thể gửi ra ngoài một số lượng lớn thư điện tử, nhưng mỗi thông điệp
đến người nhận khác nhau trên các mạng khác nhau. Hầu như, chỉ một số ít
thông điệp gửi ra ngoài đi trực tiếp đến một mạng nào đó. Nói cách khác thì
kẻ phát tán thư rác có thể dùng các đoạn script dùng để tấn công (bombard)
một mạng bằng thư. Một công cụ điều tiết tốt sẽ xác định chính xác liệu người
gửi có đang lợi dụng mạng hay không và giới hạn lượng băng thông người
gửi có thể sử dụng.
18 Nhiều công cụ throttling hiện nay được thiết kế để điều tiết lưu lượng sử
dụng của mọi người dựa vào tổng thông lượng, số lượng thông điệp, và các
điều kiện khác. Thuận lợi của các công cụ này hơn các giải pháp throttling
khác là chúng không dựa trên bộ lọc thư rác, nhưng sẽ là bất lợi nếu chính
sách điều tiết của chúng quá khắt khe . Ví dụ nhiều thư điện tử hợp lệ có thể
bị chặn nếu lưu lượng đã vượt quá ngưỡng lưu lượng. Chẳng hạn một CEO
muốn gửi thư điện tử tới tất cả nhân viên của anh ta, những người không dùng
chung máy chủ ISP với anh ta thì các thư điện tử có thể bị chậm do lượng thư
điện tử gửi ra ngoài lớn.
1.2.5.2. Ưu – khuyết điểm
Ưu điểm
Giúp duy trì các tài nguyên, giảm đáng kể lượng thư rác lưu thông
trên mạng.
Khuyết điểm
Không phải là một giải pháp chống thư rác thực sự.
tử của những kẻ phát tán thư rác.
Khuyết điểm
Địa chỉ thư điện tử trở lên không thân thiện và phức tạp hơn, không
giải quyết được vấn đề chống thư rác.
1.2.6.3. Ghi chú
Phù hợp cho những người muốn chống thư rác có nhiều thời gian để làm
rối thư điện tử bằng tay.
1.2.7. Kỹ thuật collaborative filtering
1.2.7.1. Giới thiệu
Collaborative filtering (CF) [7] là kỹ thuật lọc thông tin dựa trên sự hợp
tác của nhiều agent, nhiều nguồn dữ liệu
20 Các bộ lọc thư rác đã bắt đầu cài đặt CF để cho phép những cá nhân trong
các nhóm tin cậy chia sẻ các thông điệp thư rác với nhau làm nhân tố chống
lại một loại thư rác cụ thể nào đó.
Collaborative filtering làm cho vài cơ chế lọc thư rác đang tồn tại tăng khả
năng lọc thư rác bằng cách cung cấp cho chúng thời gian (hoặc tài nguyên
hoăc cả hai) để thích nghi với các loại thư rác mới. CF giúp cho nhiều người
không phải nhận những thư rác mới mà người dùng khác đã nhận.
Điểm yếu của collaborative filtering lại nằm ở chính cộng đồng tham gia
nó. Trong các cộng đồng lớn, thì có maintenance loop [7] (xảy ra khi nhiều
người trong nhóm ghi vào tập dữ liệu chia sẻ một thư rác giống nhau) và tỉ lệ
false-positive cao. Các mạng lớn hơn (nhóm có số người lớn hơn) thường có
maintenance loop cao hơn do độ trễ trong cập nhật cơ sở dữ liệu cao hơn,
cũng giống như độ trễ lan truyền (propagation delay [7]) trong kỹ thuật
blacklisting. Những mạng tự động có thể đang hoạt động dựa trên thông tin
sai đang được lan truyền hoặc thông tin sai bị kẻ xấu đưa vào mạng. Những
mạng nhỏ hơn có độ chính xác cao hơn và cập nhật nhanh hơn nhưng thiếu
T : Dự đoán (để lọc) những thư điện tử nào là thư rác (spam email)
P : % của các thư điện tử gử i đến được phân loại chính xác
E : Một tập các thư điện tử (emails) mẫu, mỗi thư điện tử được
biểu diễn bằng một tập thuộc tính (vd: tập từ khóa) và nhãn lớp (thư
thường/thư rác) tương ứng.
Ưu điểm
Khả năng thích nghi (học) cao với sự tiến hóa của thư rác rất nhanh.
Thể hiện tính cá nhân hóa mạnh mẽ do mỗi người dùng có thể có
một tập dữ liệu riêng. Chính điều này làm cho độ chính xác đối với
từng người dùng tăng lên đáng kể.