Website: Email : Tel : 0918.775.368
Mục lục
Chương 1: Các giao thức gửi nhận thư điện tử.....................................................................5
1.1. Giới thiệu...............................................................................................................................5
1.2. Các giao thức gửi nhận thư điện tử.......................................................................................5
1.2.1. SMTP (Simple Mail Transfer Protocol)........................................................................5
1.2.2. POP3 (Post Office Protocol)........................................................................................10
1.2.3. IMAP (Internet Mail Access Protocol)........................................................................12
1.3. Cấu trúc thư điện tử ............................................................................................................14
1.3.1. Giới thiệu:.....................................................................................................................14
1.3.2. Cấu trúc chi tiết của MIME:........................................................................................16
1.4. Kết luận................................................................................................................................21
Chương 2: Thư rác và các giải pháp phòng tránh thư rác.................................................22
2.1. Giới thiệu.............................................................................................................................22
2.2. Spam và các thông tin liên quan.........................................................................................22
2.2.1. Hoàn cảnh ra đời..........................................................................................................22
2.2.2. Định nghĩa....................................................................................................................23
2.2.3. Đặc điểm của thư rác...................................................................................................23
2.2.4. Ích lợi và tác hại của thư rác........................................................................................27
2.2.5. Luật pháp trong vấn đề thư rác....................................................................................28
2.3. Các kĩ thuật công cụ đối tượng phát tán thư rác (spammer) sử dụng................................28
2.3.1. Phân loại các đối tượng phát tán thư rác:....................................................................28
2.3.2. Các cách lấy điạ chỉ của nạn nhận...............................................................................29
2.3.3. Các kĩ thuật để vượt qua bộ phận lọc thư....................................................................30
2.4. Các phương pháp phòng tránh thư rác:...............................................................................31
2.4.1. Đóng các điểm chuyển tiếp thư...................................................................................31
2.4.2. Sử dụng danh sách đen.................................................................................................32
2.4.3. Kiểm tra tính xác thực của địa chỉ spam......................................................................33
2.4.4. Sử dụng các bộ lọc nội dung........................................................................................33
2.4.5. Đánh lừa các chương trình thu thập địa chỉ thư..........................................................34
2.4.6. Cung cấp địa chỉ giả ....................................................................................................35
2.4.7. Hệ thống thu phí thư điện tử và chữ kí điện tử...........................................................35
2.4.8. Sử dụng mobile agent...................................................................................................36
2.4.9. Các phương pháp khác.................................................................................................36
2.4.10. Phương pháp lọc nội dung Bayes..............................................................................37
2.5. Kết luận................................................................................................................................39
Chương 3: Thiết kế chương trình chống thư rác.................................................................41
3.1. Giới thiệu.............................................................................................................................41
3.2. Phân tích yêu cầu chương trình...........................................................................................41
3.2.1. Phân tích chung về yêu cầu của chương trình.............................................................41
3.2.2. Phân tích chi tiết yêu cầu của chương trình.................................................................42
3.3. Phân tích thiết kế hệ thống..................................................................................................43
3.3.1. Mô hình phân cấp chức năng.......................................................................................43
3.3.2. Thiết kế tổng thể:.........................................................................................................44
3.3.3. Thiết kế giao tiếp với người dùng ...............................................................................45
3.3.4. Xây dựng bộ lọc chính ................................................................................................53
3.3.5. Thực hiện và triển khai chương trình..........................................................................60
Trang 1
Website: Email : Tel : 0918.775.368
3.3.6. Đánh giá chương trình.................................................................................................62
Chương 4: Đề xuất triển vọng hướng phát triển...............................................................66
4.1. Hướng phát triển bộ lọc......................................................................................................66
4.1.1. Các hướng phát triển bộ lọc:........................................................................................66
4.1.2. Đề xuất hướng phát triển.............................................................................................67
4.2. Để xuất về qui mô chương trình.........................................................................................67
4.2.1. Qui mô phát triển Bkas................................................................................................67
4.2.2. Qui mô phát triển Bkas cho doanh nghiệp...................................................................68
Danh mục hình vẽ:
Hình 1.1 Mô hình SMTP...........................................................................................................5
Hình 1.2 Bốn trạng thái của IMAP.......................................................................................13
Hình 2.3 Mô hình điểm chuyển tiếp......................................................................................31
Hình 3.4 Biểu đồ phân cấp chức năng...................................................................................44
Hình 3.5 Kiến trúc kĩ thuật tổng thể của chương trình......................................................44
Hình 3.6 Biểu đồ trường hợp sử dụng của phần giao tiếp với người dùng......................45
Hình 3.7 Các đối tượng của Bkas..........................................................................................47
Hình 3.8 Biểu đồ trình tự thời điểm khởi tạo.......................................................................48
Hình 3.9 Biểu đồ trình tự tương tác người dùng.................................................................49
Hình 3.10 Biểu đồ trình tự cho sự kiện có thư mới.............................................................50
Hình 3.11 Thành phần gói Bkas.............................................................................................50
Hình 3.12 Thanh công cụ của chuơng trình gắn vào Outlook...........................................51
Hình 3.13 Thanh công cụ của Bkas.......................................................................................51
Hình 3.14 Thanh cuộn chính của Bkas.................................................................................52
Hình 3.15 Bảng cấu hình chính..............................................................................................52
Hình 3.16 Bảng cấu hình bộ lọc.............................................................................................53
Hình 3.17 Bảng cấu hình danh sách “Bạn” và “Thù”.........................................................53
Hình 3.18 Biểu đồ chức năng của bộ lọc...............................................................................54
Hình 3.19 Cấu trúc bộ phân tích từ khóa.............................................................................55
Hình 3.20 Cấu tạo mạng nơ-ron............................................................................................56
Hình 3.21 Biểu đồ thành phần của thư viện.........................................................................57
Hình 3.22 Thành phần của gói DataObject..........................................................................58
Hình 3.23 Thành phần của gói MsgProcessors....................................................................59
Hình 3.24 Thành phần của gói NeuralNet............................................................................59
Hình 3.25 Thành phần của gói Utility...................................................................................59
Hình 3.26 Biểu đồ so sánh Bkas và Osfilter2.0.....................................................................64
Hình 4.27 Xu hướng các bộ lọc cho đến nay........................................................................66
Hình 4.28 Phương pháp sinh thư rác....................................................................................67
Hình 4.29 Mô hình Bkas phát triển cộng đồng....................................................................67
Hình 4.30 Mô hình Bkas cho doanh nghiệp..........................................................................68
Danh mục công thức:
Danh mục ví dụ:
Trang 2
Website: Email : Tel : 0918.775.368
Lời nói đầu
Trong những năm gần đây, mạng Internet đã hoàn thiện và tiếp tục phát triển góp
phần thay đổi toàn diện cuộc sống của con người, giúp con người sống trong một thế
giới mới, thế giới của tri thức. Cùng với sự phát triển của công nghệ có rất nhiều mặt
tích cực chắc chắn kèm theo là tiêu cực, và nhiệm vụ của chúng ta là khắc phục chúng để
xây dựng một cuộc sống tốt đẹp hơn.
Gần đây một vấn đề được mọi người quan tâm vì nó trở nên bùng nổ, gây bức xúc
cả về phương diện kĩ thuật công nghệ lẫn kinh tế xã hội đó là spam-một hình thức phát
tán tin nhắn không được đồng ý của người nhận với mục đích xấu. Spam tràn ngập các
hòm thư điện tử của người dùng Internet, nó lan sang các hình thức khác như tin nhắn
điện thoại di động và gần đây là cả các cuộc gọi thoại trên Internet (VOIP). Spam gây ra
thiệt hại lớn về hiệu suất hệ thống, tốn phí tài nguyên mạng, gây mất thời gian quản trị
hệ thống, đánh cắp tài khoản cá nhân. Nó còn gây ra phiền phức xã hội gây khó chịu cho
người nhận thư với số lượng thư vô ích cực lớn, phát tán các hình thức đồi trụy và lừa
đảo.
Với vấn đề bùng nổ này các tổ chức công ty lớn đã vào cuộc, và bước đầu đã đạt
được những thành quả nhất định. Nhưng bắt nguồn từ một số nguyên nhân mà cuộc
chiến chống lại spam vẫn chưa đến hồi kết thúc hi vọng phần thắng thuộc về người sử
dụng như nhận định của một nhà báo về lĩnh vực công nghệ thông tin.
Trong nội dung đồ án tốt nghiệp tác giả chỉ tập trung vào các vấn đề của thư rác
điện tử. Với mục đích tìm hiểu chi tiết về spam và đưa ra các giải pháp ngăn chặn chúng,
cùng với việc xây dựng một ứng dụng có khả năng chống lại thư rác một cách hiệu quả.
Đề tài của đồ án là “Nghiên cứu spam và xây dựng ứng dụng ngăn chặn spam
cho chương trình Microsoft Outlook.” Bố cục của báo cáo này gồm các phần sau:
Chương một: Các giao thức gửi nhận thư điện tử: Giới thiệu chung và đưa
ra nhận xét về giao thức phục vụ cho việc gửi nhận thư.
Chương hai: Thư rác và các phương pháp phòng tránh thư rác: Tìm hiểu
các đặc điểm của thư rác. Phân tích và đánh giá các giải pháp phòng tránh thư rác đang
được sử dụng.
Trang 3
Website: Email : Tel : 0918.775.368
Chương ba: Thiết kế và triển khai chương trình chống thư rác Bkas: Xây
dựng một ứng dụng cho chương trình Microsoft Outlook, có khả năng ngăn chặn hiệu
quả thư rác.
Chương bốn: Đề xuất các giải pháp và triển vọng: Phân tích các giải pháp và
hướng phát triển của chương trình.
Do đề tài của đồ án có nội dung thông tin rộng và thay đổi nhanh, thời gian cũng
như kiến thức có hạn nên chắc chắn đồ án không thể tránh khỏi thiếu xót. Tôi rất mong
nhận được sự chỉ bảo của các thầy cô giáo và các bạn để đồ án được chính xác đầy đủ và
phong phú hơn.
Tôi xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Bách khoa nói
chung và thầy cô giáo của bộ môn Mạng Máy Tính và Truyền Thông-khoa Công nghệ
thông tin nói riêng, những người đã đào tạo và giúp đỡ tôi trong suốt thời gian tôi học
tập tại trường. Xin đặc biệt cảm ơn thầy giáo Ths.Ngô Văn Dũng đã tận tình hướng dẫn
và giúp đỡ tôi trong suốt quá trình nghiên cứu đề tài. Xin gửi lời cảm ơn đến bạn bè và
người thân, những người đã kịp thời động viên và giúp đỡ tôi trong thời gian qua.
Trang 4
Website: Email : Tel : 0918.775.368
Chương 1:Các giao thức gửi nhận thư điện
tử
1.1.Giới thiệu.
Thư điện tử ngày nay đóng vai trò khá quan trong trong các giao dịch trên mạng
Internet. Nó đáp ứng được những yêu cầu của thư tín như tính ổn định, chính xác, dễ sử
dụng và vượt xa thư tín thông thường về tốc độ vận chuyển, gần như ngay tức thì nó đến
được với người nhận. Để có được những ưu điểm trên thư điện tử đã được xây dựng trên
nền tảng các giao thức công nghệ khá hoàn chỉnh. Có thể tạm chia các giao thức này
thành: các giao thức về phương thức gửi nhận thư và các giao thức về định dạng thư.
1.2.Các giao thức gửi nhận thư điện tử.
1.2.1.SMTP (Simple Mail Transfer Protocol).
a. Mô hình SMTP
Thiết kế của SMTP cơ bản có dạng liên kết như sau: khi có một bên yêu cầu gửi
thư sẽ tạo ra một kênh hai chiều SMTP trao đổi với bên nhận. Bên nhận này có thể là
điểm cuối hoặc là điểm trung gian. Bên gửi để thực hiện yêu cầu sẽ tạo ra các lệnh
SMTP, bên nhận tùy vào khả năng sẽ đáp ứng.
Hình 1.1 Mô hình SMTP.
Khi một kênh truyền được tạo ra, đầu tiên bên gửi SMTP gửi đi một câu lệnh chỉ ra
người gửi lệnh. Nếu được chấp nhận, bên nhận gửi lại thông điệp (“OK”). Tiếp theo bên
gửi, gửi đi lệnh (“RCTP”) chỉ ra người nhận. Nếu bên nhận chấp nhận thì trả lời bằng
thông điệp (“OK”) nếu không nó sẽ gửi thông điệp từ chối. Sau đó hai bên thỏa thuận cụ
thể trong suốt qua trình với thứ tự định trước. Sau mỗi bước nếu hoàn thành quá trình xử
Yêu
cầu/Trả
lời
SMTP gửi
SMTP nhậnNSD
File
system
File
system
Trang 5
Website: Email : Tel : 0918.775.368
lí các bên gửi thông điệp (“OK”). Quá trình hội thoại được thực hiện có chủ định từng
bước một.
SMTP cung cấp cơ chế gửi nhận thư điện tử trực tiếp từ máy của người gửi đến
máy người nhận không qua máy chủ. Hai máy này phải cung cấp cùng dịch vụ ở tầng
giao vận. Nếu không dùng chung tầng giao vận thì có thể thực hiện thông qua các máy
chủ SMTP chuyển tiếp.
Khi cùng một lá thư được gửi cho nhiều người sử dụng thì máy chủ chuyển tiếp chỉ
giữ một bản sao cho tất cả mọi người dùng cùng trên máy chủ đó.
Các lệnh và đáp ứng được mã hóa bằng các kí tự bằng mã ASCII.
b. Thủ tục SMTP
i. Đóng mở kênh.
Ở thời điểm kênh truyền được mở thì một trao đổi được thực hiện để xác nhận giữa
các máy chủ với nhau.
Sau đây là các lệnh đóng và mở kênh:
HELO <SP> <domain> <CRLF>
QUIT <CRLF>
Trong lệnh HELO máy chủ gửi thông tin về nó.
Ví dụ 1.1 Mở một kết nối.
-----------------------------------------------------------
R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready
S: HELO USC-ISIF.ARPA
R: 250 BBN-UNIX.ARPA
-----------------------------------------------------------
Ví dụ 1.2 Đóng một kết nối.
------------------------------------------------------------
S: QUIT
R: 221 BBN-UNIX.ARPA Service closing transmission channel
------------------------------------------------------------
ii. Thủ tục gửi thư.
Thủ tục để gửi một thư gồm có ba bước. Đầu tiên lệnh MAIL được gửi đi thông
báo định danh của người gửi. Sau đó lệnh như RCTP cung cấp các thông tin của người
Trang 6
Website: Email : Tel : 0918.775.368
nhận. Tiếp theo là lệnh DATA sẽ kèm theo nội dung của lá thư. Cuối của phần dữ liệu là
dấu hiệu kết thúc phiên làm việc.
• MAIL
Lệnh này có cú pháp như sau:
MAIL <SP> FROM:<reverse-path> <CRLF>
<reverse-path>: Chứa địa chỉ thư của người gửi. Nó có thể chứa hơn một địa chỉ
thư, có thể gồm một danh sách các địa chỉ máy chủ mà thư đi qua. Do đó tên của máy
chủ đầu tiên trong danh sách <reverse-path> là địa chỉ của máy chủ gửi lệnh.
Lệnh trên thông báo với bên nhận SMTP có một phiên làm việc bắt đầu và thông
báo xóa bảng trạng thái và các vùng đệm. Nó cung cấp địa chỉ người gửi để trong trường
hợp có lỗi thì thông báo lại. Nếu được chấp nhận sẽ trả về mã lệnh “ 250 OK”.
• RCTP
Bước thứ hai của thủ tục này là lệnh RCTP có cú pháp như sau:
RCPT <SP> TO:<forward-path> <CRLF>
Lệnh này chứa thông tin đường dẫn chuyển tiếp của người nhận thư. Nếu được
chấp nhận thì phía nhận SMTP sẽ trả về mã lệnh “250 OK” và lưu đường dẫn này lại.
Nếu địa chỉ người nhận này là không rõ nguồn gốc thì trả về mã lỗi “550 Failure”. Bước
thứ hai này của thủ tục có thể được lặp lại nhiều lần.
<forward-path> có thể chứa nhiều hơn một điạ chỉ thư. <forward-path> chứa danh
sách các địa chỉ máy chủ thư được chuyển qua và hòm thư đến. Máy chủ đầu tiên trong
danh sách này là máy chủ nhận lệnh.
• DATA
Bước cuối cùng của thủ tục là lệnh DATA:
DATA <CRLF>
Nếu được chấp nhận bên nhận SMTP trả về ”354 Intermediate” yêu cầu các dòng
tiếp theo là dòng text. Kết thúc đoạn text này bên nhận gửi mã “250 OK”.
SMTP chỉ ra cuối của đoạn dữ liệu thư bằng cách gửi một dòng chứa một dấu
chấm. Kết thúc này cũng xác nhận phiên làm việc và thông báo cho bên nhận quá trình
tiếp theo là lưu tên người gửi và dữ liệu của thư. Nếu được chấp nhận bên nhận SMTP
Trang 7