Thinh Huynh (Huynh Cong Thinh) - Blog

Microsoft MVP, Data Scientist & Cloud Architect

Thư rác & Công nghệ lọc thư rác của Gmail (phần II)

gmail Đây là đề tài môn An ninh mạng của Thịnh, bài viết nói về Thư rác & Phân tích bộ lọc thư rác của Gmail.

Bài viết sẽ được chia làm 2 phần, phần I nói về Thư rác, phần II còn lại sẽ phân tích 9 bộ lọc của Gmail: DNS Blacklist, SURBL List, Chặn IP, Kiểm tra địa chỉ, Sử dụng bộ lọc Bayesian, Sử dụng danh sách Black/white list, Sử dụng tính năng Challenge/Response, Kiểm tra header và Report Spam dành cho người dùng của Gmail.

Chúng ta đi vào phần II: Bộ lọc thư rác của Gmail – Gmail Spam Filter

Gmail, hay còn gọi là Google Mail là một dịch vụ e-mail trên nền web và e-mail POP3 miễn phí do Google cung cấp. Bản beta được đưa vào hoạt động vào ngày 1 tháng 4 năm 2004, với hình thức chỉ dành cho thư mời và được mở rộng thành bản beta cho tất cả mọi người vào tháng 2 năm 2007.

Gmail hỗ trợ POP3 và hơn 7GB không gian lưu trữ, một công cụ tìm kiếm và đàm thoại trực tuyến hay chat, và khả năng bảo mật tốt, cảnh báo virus. Gmail nổi tiếng với việc sử dụng công nghệ Ajax trong thiết kế.

Gmail hỗ trợ nhiều trình duyệt (browser) và hỗ trợ đa ngôn ngữ (multilanguages), địa chỉ người gửi đến và người gửi đi tự động nhập lưu vào address book.

Năm 2005, Gmail là sản phẩm đứng thứ hai sau Mozilla Firefox trong 100 sản phẩm tốt nhất được tạp chí PC World bình chọn.

Còn đây là Biểu đồ lọc Spam mail của Gmail qua thời gian được thống kê:

Như đã phân tích ở phần đầu, các spammer liên tục xả mail vào người dùng qua Internet, màu đỏ tăng liên tục theo thời gian cho thấy sự bành trướng của nạn spam mail này.

Màu xanh dương là số email may mắn lọt qua được bộ lọc của Gmail vào Inbox trong tài khoản người dùng Gmail. Chúng ta có thể thấy, càng ngày số lượng % spam mail thoát qua bộ lọc càng giảm đi dù cho chúng có bành trướng lên mức cao như thế nào.

Vậy Gmail đã làm như thế nào để đạt được những thành công đáng nể như vậy? Chúng ta cùng nhau nghiên cứu các công nghệ của Google để chống spam.

Nhìn trên Sơ đồ mô tả bộ lọc Gmail ta thấy:

Email được gởi tới người dùng từ nhiều nguồn và được phân loại thành nhiều loại khác nhau:

Email hợp lệ: bao gồm các email bạn bè, công việc… khi gởi tới me@gmail.com, bước tiếp theo là qua bộ lọc Gmail Filter và được đi thẳng vào Gmail Inbox.
Email chứa file lớn, dạng julk mail có thể gây nghẽn đường truyền ISP khi nó đi qua bộ lọc của Gmail thì đi thẳng vào All Mail luôn chứ không nằm trong Inbox và cũng không trong Spam box bởi vì chúng không phải là Spam mail.
Mail lỗi, sai địa chỉ, lỗi đường truyền… tất nhiên nó bị cắt đứt ngay khi còn lang thang trên mạng.
Spam mail: Sau khi qua bộ lọc của Gmail thì nhanh chóng bị đưa vào Spam box ngay.

Người dùng có thể check mail trong Gmail Inbox bằng trình duyệt Web (browser) hoặc các phần mềm check mail Client như Outlook, Windows Mail, Thunder Bird… Một khi mà bộ lọc chưa làm tốt công việc của mình thì Gmail có thêm chức năng người dùng tự báo cáo spam mail cho bộ lọc biết, tại đây qua quá trình tổng hợp và phân tích từ nhiều report tương tự khác về email phát tán spam thì những lần tới chúng sẽ bị loại ra khỏi Inbox và đẩy vào thẳng Spam box của Gmail.

Nhìn mô tả trông thật là đơn giản và dễ hiểu, vấn đề không hề đơn giản như vậy, để tạo được bộ lọc thông minh, không chỉ Gmail mà tất cả các nhà cung cấp dịch vụ email khác như Yahoo, Live Mail, AOL Mail… đều phải áp dụng các công nghệ chống thư rác sau đây.

  1. DNS Blacklist
  2. SURBL List
  3. Chặn IP
  4. Kiểm tra địa chỉ
  5. Sử dụng bộ lọc Bayesian
  6. Sử dụng danh sách Black/white list
  7. Sử dụng Challenge/Response
  8. Kiểm tra header
  9. Report Spam Email

1. DNS Blacklist


Google sử dụng phương pháp DNS blacklist sẽ chặn các email đến từ các địa chỉ nằm trong danh sách DNS blacklist. Có hai loại danh sách DNS Blacklist thường được sử dụng, đó là:

Danh sách các miền, các domain name gửi spam đã biết.
Danh sách các máy chủ email cho phép hoặc bị lợi dụng thực hiện việc chuyển tiếp spam tới người dùng từ những email được gửi đi từ spammer.

Khi một email được gửi đi, nó sẽ đi qua một số SMTP server trước khi chuyển tới địa chỉ người nhận. Địa chỉ IP của các SMTP server mà email đó đã chuyển qua được ghi trong phần header của email.

Các chương trình chống spam sẽ kiểm tra tất cả các địa chỉ IP đã được tìm thấy trong phần header của email đó sau đó so sánh với cơ sở dữ liệu DNS Blacklist đã biết. Nếu địa chỉ IP tìm thấy trong phần này có trong cơ sở dữ liệu về các DNS Blacklist, nó sẽ bị coi là spam, còn nếu không, email đó sẽ được coi là một email hợp lệ.

Phương pháp này có ưu điểm là các email có thể được kiểm tra trước khi tải xuống, do đó tiết kiệm được băng thông đường truyền. Nhược điểm của phương pháp này là không phát hiện ra được những email giả mạo (fake address) địa chỉ người gửi.

2. SURBL list

Phương pháp mà Google sử dụng là: SURBL – phát hiện spam dựa vào nội dung của email. Chương trình chống spam sẽ phân tích nội dung của email xem bên trong nó có chứa các liên kết đã được liệt kê trong Spam URI Realtime Blocklists (SURBL) hay không. SURBL chứa danh sách các miền và địa chỉ của các spammer đã biết.

Có nhiều danh sách SURBL khác nhau như sc.surbl.org, ws.surbl.org, ob.surbl.org, ab.surbl.org…, các danh sách này được cập nhật từ nhiều nguồn. Thông thường, người quản trị thường kết hợp các SURBL list bằng cách tham chiếu tới địa chỉ multi.surbl.org. Nếu một email sau khi kiểm tra nội dung có chứa các liên kết được chỉ ra trong SURBL list thì nó sẽ được đánh dấu là spam email, còn không nó sẽ được cho là một email thông thường và được chuyển qua các bộ lọc khác.

Phương pháp này có ưu điểm phát hiện được các email giả mạo địa chỉ người gửi để đánh lừa các bộ lọc. Nhược điểm của nó là email phải được tải xuống trước khi tiến hành kiểm tra, do đó sẽ chiếm băng thông đường truyền và tài nguyên của máy tính để phân tích các nội dung email.

3. Chặn IP

Phương pháp này sẽ chặn các email được gửi đến từ các địa chỉ IP biết trước. Khi một email đến, bộ lọc sẽ phân tích địa chỉ máy gửi và so sánh với danh sách địa chỉ bị chặn. Nếu email đó đến từ một máy có địa chỉ trong danh sách này thì nó sẽ bị coi là spam, ngược lại nó sẽ được coi là email hợp lệ.

4. Kiểm tra địa chỉ

Bằng cách kiểm tra địa chỉ người gửi và người nhận, phần lớn spam sẽ được phát hiện và chặn lại. Thực hiện kiểm tra địa chỉ người gửi trước khi email được tải xuống sẽ tiết kiệm được băng thông đường truyền cho toàn hệ thống.

Kỹ thuật Sender Policy Framework (SPF, www.openspf.org) được sử dụng để kiểm tra địa chỉ người gửi email. Kỹ thuật SPF cho phép chủ sở hữu của một tên miền Internet sử dụng các DNS đặc biệt (gọi là bản ghi SPF) chỉ rõ các máy được dùng để gửi email từ miền của họ. Khi một email đượ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 công bố trong bản ghi SPF của miền đó xem máy gửi email có được phép gửi email hay không. Nếu email đến từ một server không có trong bản ghi SPF mà miền đó đã công bố thì email đó bị coi là giả mạo.

5. Sử dụng bộ lọc Bayesian

Bộ lọc Bayesian hoạt động dựa trên định lý Bayes để tính toán xác suất xảy ra một sự kiện dựa vào những sự kiện xảy ra trước đó. Kỹ thuật tương tự như vậy được sử dụng để phân loại spam. Nếu một số phần văn bản xuất hiện thường xuyên trong các spam nhưng thường không xuất hiện trong các email thông thường, thì có thể kết luận rằng email đó là spam.

Trước khi có thể lọc email bằng bộ lọc Bayesian, người dùng cần tạo ra cơ sở dữ liệu từ khóa và dấu hiệu (như là ký hiệu $, địa chỉ IP và các miền…) sưu tầm từ các spam và các email không hợp lệ khác.

Mỗi từ hoặc mỗi dấu hiệu sẽ được cho một giá trị xác suất xuất hiện, giá trị này dựa trên việc tính toán có bao nhiêu từ thường hay sử dụng trong spam, mà trong các email hợp lệ thường không sử dụng. Việc tính toán này được thực hiện bằng cách phân tích những email gửi đi của người dùng và phân tích các kiểu spam đã biết.

Để bộ lọc Bayesian hoạt động chính xác và có hiệu quả cao, cần phải tạo ra cơ sở dữ liệu về các email thông thường và spam phù hợp với đặc thù kinh doanh của từng công ty. Cơ sở dữ liệu này được hình thành khi bộ lọc trải qua giai đoạn “huấn luyện”. Người quản trị phải cung cấp khoảng 1000 email thông thường và 1000 spam để bộ lọc phân tích tạo ra cơ sở dữ liệu cho riêng nó.

6. Sử dụng danh sách Black/white list

Việc sử dụng các danh sách black list, white list giúp cho việc lọc spam hiệu quả hơn.

Black list là cơ sở dữ liệu các địa chỉ email và các miền mà bạn không bao giờ muốn nhận các email từ đó. Các email gửi tới từ các địa chỉ này sẽ bị đánh dấu là spam.

White list là cơ sở dữ liệu các địa chỉ email và các miền mà bạn mong muốn nhận email từ đó. Nếu các email được gửi đến từ những địa chỉ nằm trong danh sách này thì chúng luôn được cho qua.

Thông thường các bộ lọc có tính năng tự học, khi một email bị đánh dấu là spam thì địa chỉ người gửi sẽ được tự động đưa vào danh sách black list. Ngược lại, khi một email được gửi đi từ trong công ty thì địa chỉ người nhận sẽ được tự động đưa vào danh sách white list.

7. Sử dụng tính năng Challenge/Response

Tính năng này sẽ yêu cầu người lần đầu gửi email xác nhận lại email đầu tiên mà họ đã gửi, sau khi xác nhận, địa chỉ email của người gửi được bổ sung vào danh sách White list và từ đó trở về sau các email được gửi từ địa chỉ đó được tự động cho qua các bộ lọc.

Do spammer sử dụng các chương trình gửi email tự động và họ không thể xác nhận lại tất cả các email đã gửi đi, vì thế những email không được xác nhận sẽ bị coi là spam.

Phương pháp này có hạn chế là nó yêu cầu những người gửi mới phải xác nhận lại email đầu tiên mà họ gửi. Để khắc phục nhược điểm này, người quản trị chỉ nên sử dụng phương pháp này đối với những email mà họ nghi ngờ là spam.

8. Kiểm tra header

Phương pháp này sẽ phân tích các trường trong phần header của email để đánh giá email đó là email thông thường hay là spam. Spam thường có một số đặc điểm như:

  • Để trống trường From: hoặc trường To:
  • Trường From: chứa địa chỉ email không tuân theo các chuẩn RFC.
  • Các URL trong phần header và phần thân của message có chứa địa chỉ IP được mã hóa dưới dạng hệ hex/oct hoặc có sự kết hợp theo dạng username/password
  • Ví dụ các địa chỉ: http://1313165456494054/abcd.com
  • www.website.com@spammer.com
  • Phần tiêu đề của email có thể chứa địa chỉ email người nhận để cá nhân hóa email đó. Lưu ý khi sử dụng tính năng này với các địa chỉ email dùng chung có dạng như sales@company.com. Ví dụ khi một khách hàng phản hồi bằng cách sử dụng tính năng auto-reply với tiêu đề “your email to sales” có thể bị đánh dấu là spam.
  • Gửi tới một số lượng rất lớn người nhận khác nhau.
  • Chỉ chứa những file ảnh mà không chứa các từ để đánh lừa các bộ lọc.
  • Sử dụng ngôn ngữ khác với ngôn ngữ mà người nhận đang sử dụng.

Dựa vào những đặc điểm này của spam, các bộ lọc có thể lọc chặn.

9. Người người chống spam, nhà nhà chống spam cùng Gmail

Bên cạnh việc xây dựng một bộ lọc tự động thông minh cho mình, Gmail còn có một tính năng khá thú vị cho phép người dùng giúp Gmail hoàn thiện dần bộ lọc Spam mail bằng cách nhấn vào Report Spam đối với mỗi email mà người dùng đó “cho rằng” nó là spam mail và không phù hợp với mình.

Bằng cách này, lần sau những email từ địa chỉ trên sẽ bị loại khỏi Inbox của họ. Và nếu như có rất nhiều Report rằng một địa chỉ email nào đó “làm phiền” họ thì Gmail bắt đầu đưa thông tin email đó vào diện tình nghi và học dần từ các báo cáo của người dùng.

KẾT LUẬN:

Qua những phân tích ở trên ta có thể thấy rằng Spam email là vấn nạn lớn đối với Internet ngày nay, Spam email mang lại nhiều phiền toái, tốn kém kể cả thời gian lẫn tiền bạc để xử lí chúng… đó là mặt tác hại, tuy nhiên sự xuất hiện của Spam email quả thật là một điều thú vị trong thế giới mạng, có người nghĩ ra, có người phát tán, có người chống cự và có hệ thống lọc spam… Tất cả tạo thành vòng luân phiên không thể tách rời giúp nền Internet nhân loại ngày càng tiến bộ, nâng cao được kiến thức và các kĩ thuật vào công nghệ phòng chống lại nạn thư rác này này.

Nói về Google, cả tỉ người dùng Internet nhìn vào và thán phục công nghệ của họ, từ Google Search Engine đến Google Earth, Google Video, Google Docs… và thêm một sản phẩm tuyệt vời nữa là Google Email hay Gmail. Dù ít dù nhiều, dù lạc hậu hay hiện đại thì các nhà cung cấp dịch vụ Email khác như Yahoo, AOL, Live Mail… đều áp dụng 9 công nghệ phòng chống thư rác như đã đề cập ở trên, chắc chắn là còn nhiều nhiều nữa và cộng với sự bí mật công nghệ mà khả năng của đề tài này không thể tìm hiểu hết được. Vấn đề là Google làm được, làm khác, làm mạnh hơn, sâu hơn và tối ưu hơn tất cả để được người dùng bình chọn là Webmail lọc spam tốt nhất hiện nay.

Qua đề tài nhỏ này, tôi hi vọng các bạn nắm được cách mà các Spammer thu thập email và phát tán, bên cạnh đó là các công nghệ trong lõi hệ thông và cả hướng người dùng khác của hệ thống lọc mail để từ đó có biện pháp và giao dịch an toàn, bảo mật thông tin email trên Internet.

Và một điều cuối cùng tôi muốn nhắn gửi đó là các bạn hãy sử dụng thử để thấy linh hoạt và tuyệt vời như thế nào.

Đặc biệt cảm ơn thầy Lê Phúc – Giảng viên khoa CNTT – Học viện Công nghệ Bưu chính Viễn thông TP. Hồ Chí Minh và các bạn D05THA1 (khoa CNTT) đã giúp đỡ và đóng góp ý kiến cho tôi để hoàn thành đề tài nghiên cứu khá thú vị này.

Xem và tải

Ở Scribd: http://www.scribd.com/doc/14723617/Gmail-Spam-Filter
Mediafire (PDF): http://www.mediafire.com/download.php?jngoofhkgwn

2 Comments

Post a comment