Bối cảnh và vấn đề nghiên cứu

Bối cảnh thực tiễn và lý do chọn đề tài

Tấn công lừa đảo trực tuyến (phishing) đã và đang phát triển mạnh mẽ, trở thành một loại hình dịch vụ phổ biến (Phishing-as-a-Service). Theo các báo cáo được tác giả trích dẫn:

  • Báo cáo của Wandera (2020) chỉ ra rằng cứ mỗi 20 giây lại có một trang web lừa đảo mới xuất hiện.
  • Tổ chức Nhóm công tác chống lừa đảo trực tuyến (APWG) năm 2021 ghi nhận hơn 300.000 cuộc tấn công, tăng gấp 3 lần so với đầu năm 2020.
  • Báo cáo của Zscaler (2023) công bố số lượng các cuộc tấn công lừa đảo trong năm 2022 đã tăng 41,2% so với năm trước đó, một phần do xu hướng làm việc từ xa gia tăng sau đại dịch COVID-19 (thời điểm các cuộc tấn công tăng gấp 4-5 lần).

Kẻ tấn công thường phát tán các URL lừa đảo thông qua văn bản, email, tin nhắn SMS nhằm mạo danh các tổ chức tài chính, dịch vụ trực tuyến hoặc cơ quan uy tín để chiếm đoạt thông tin đăng nhập, dữ liệu thẻ tín dụng và tài sản của người dùng. Các phương pháp phát hiện truyền thống hiện nay bộc lộ nhiều điểm hạn chế:

  1. Phương pháp dựa trên thông tin tĩnh (URL, HTML): Đòi hỏi phải liên tục cập nhật các bộ dữ liệu lừa đảo gán nhãn lớn và dễ bị vô hiệu hóa bởi các kỹ thuật né tránh (evasion attacks) của kẻ tấn công.
  2. Phương pháp dựa trên thông tin giao diện (Visual/Screenshot): Thường lưu trữ cơ sở dữ liệu mẫu của các thương hiệu mục tiêu. Tuy nhiên, tính chất động và sự thay đổi giao diện liên tục của các trang web làm giảm độ chính xác và làm gia tăng chi phí tính toán khi so sánh toàn bộ ảnh chụp màn hình hoặc dùng các giải pháp trích xuất đặc trưng truyền thống như SIFT, HOG.

Để khắc phục những nhược điểm trên, đề tài tập trung xây dựng một giải pháp kết hợp hai nhánh: mô hình học máy có giám sát phân tích thông tin tĩnh và mô hình học sâu lai (Hybrid Deep Learning) phân tích thông tin giao diện web.

Mục tiêu nghiên cứu

Đề tài xác định 4 mục tiêu chính:

  1. Xây dựng một hệ thống phát hiện chính xác các URL lừa đảo được gửi qua tin nhắn văn bản, email hoặc SMS, cung cấp kết quả phân tích đáng tin cậy cho người dùng.
  2. Thiết kế các module trong hệ thống theo hướng tường minh và có khả năng mở rộng để phục vụ nghiên cứu và phát triển tiếp theo.
  3. Thu thập, sàng lọc và nâng cao chất lượng bộ dữ liệu huấn luyện, đảm bảo tính đa dạng và độ tin cậy thực tế.
  4. Thiết kế và triển khai một ứng dụng web (PhishDetect) với giao diện trực quan, hiển thị kết quả kiểm tra cùng các minh chứng hình ảnh giúp người dùng đưa ra quyết định an toàn.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu:
    • Kỹ thuật trích xuất đặc trưng tĩnh từ chuỗi URL, mã nguồn HTML và các dịch vụ bên ngoài.
    • Thuật toán học máy có giám sát Random Forest (được lựa chọn thông qua công cụ tối ưu hóa EvalML).
    • Mô hình học sâu phát hiện đối tượng Faster-RCNN (backbone ResNet50) và mô hình so sánh hình ảnh Siamese Network.
    • Các công cụ, thư viện phần mềm: Detectron2, PyTorch, TensorFlow, Scikit-learn, Keras, Selenium WebDriver, Django Framework, URLSandbox, OpenPageRank.
  • Phạm vi nghiên cứu:
    • Tập trung vào việc phát hiện và đánh giá tính xác thực của các URL lừa đảo được phát tán qua email, tin nhắn văn bản (SMS) và mạng xã hội.
    • Thực nghiệm trên các tập dữ liệu lừa đảo và hợp pháp thực tế được thu thập từ các nguồn Phishpedia, PhishTank, OpenPhish, Yandex.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình tiếp cận

Nghiên cứu phân chia bài toán phát hiện phishing link thành hai hướng tiếp cận độc lập:

Nhánh xử lý Mô hình / Kỹ thuật chính Đầu vào Cơ chế nhận diện
Nhánh thông tin tĩnh Random Forest Classifier (Học máy có giám sát) 47 đặc trưng trích xuất (Lexical, Content, External service) Phân loại nhị phân (Hợp pháp / Lừa đảo) dựa trên các thuộc tính cấu trúc URL, thẻ HTML và thông tin tên miền.
Nhánh thông tin giao diện Hybrid Deep Learning: Faster-RCNN + Siamese Network Ảnh chụp màn hình trang web (thu thập qua Selenium sandbox) Tách thành 2 tác vụ: Nhận dạng đối tượng UI (logo, ô nhập liệu) và Nhận dạng thương hiệu mục tiêu so khớp với tên miền thực tế.
                       [ Input: Tin nhắn / Danh sách URL / URL ]
     [ Trích xuất đặc trưng tĩnh ]                     [ Môi trường Sandbox Selenium ]
     (47 đặc trưng: URL, HTML, Host)                   (Chụp ảnh màn hình trang web)
       [ Random Forest Model ]                         [ Mô hình Faster-RCNN ]
                         [ Kết hợp kết quả phân tích & Ngưỡng ]
                   [ Hiển thị giao diện trực quan PhishDetect ]

Phương pháp nghiên cứu và tiền xử lý dữ liệu

  1. Trích xuất đặc trưng tĩnh: Trích xuất ban đầu hơn 100 đặc trưng từ mỗi URL, sau đó đánh giá mức độ quan trọng (Feature Importance) và chọn lọc ra 47 đặc trưng tiêu biểu nhất thuộc 3 nhóm:
    • Đặc trưng chuỗi ký tự (Lexical Features - 28 đặc trưng): scheme, url_length, path_length, host_length, num_digits, parameters, string_entropy, subdirectories, periods, num_encoded_chars, length_hostname, nb_dots, nb_hyphens, nb_and, nb_eq, nb_slash, http_in_path, https_token, nb_subdomains, length_words_raw, shortest_words_raw, shortest_word_host, shortest_word_path, longest_words_raw, longest_word_host, longest_word_path, avg_words_raw, avg_word_path.
    • Đặc trưng nội dung (Content-based Features - 16 đặc trưng): page_entropy, num_script_tags, html_length, page_tokens, num_sentences, num_punctuations, distinct_tokens, avg_tokens_per_sentence, num_html_tags, hyperlinks, num_whitespaces, num_included_elements, num_suspicious_elements, avg_script_length, avg_script_entropy, ratio_extMedia.
    • Đặc trưng dịch vụ bên ngoài (External Service Features - 3 đặc trưng): host_country, domain_registration_length, page_rank (lấy từ mã nguồn mở OpenPageRank).
  2. Tiền xử lý dữ liệu tĩnh: Sử dụng LabelEncoder để mã hóa biến phân loại, điền giá trị null bằng 0, thực hiện cân bằng và xáo trộn dữ liệu bằng các thư viện imblearn và random.
  3. Xử lý giao diện: Sử dụng Selenium WebDriver để tự động truy cập URL trong môi trường sandbox cô lập nhằm chụp ảnh màn hình và tải mã nguồn HTML (sử dụng VPN đổi IP để vượt qua các kỹ thuật che giấu - cloaking của kẻ tấn công).

Nguồn dữ liệu sử dụng

  • Dữ liệu giao diện: Thu thập khoảng hơn 30.000 URL lừa đảo từ Phishpedia, PhishTank, OpenPhish (được kiểm tra trạng thái hoạt động thực tế bằng thư viện requests) và gần 30.000 URL hợp pháp kèm ảnh chụp màn hình từ Phishpedia và Yandex.
  • Thống kê thương hiệu bị nhắm mục tiêu: Dựa trên tập 30.000 trang lừa đảo, các thương hiệu bị giả mạo nhiều nhất gồm: Microsoft (7.962), Paypal (4.811), Chase Personal Banking (1.085), Facebook (993) và Amazon (7).
  • Dữ liệu tĩnh: Xây dựng tập dữ liệu gồm 2.000 URL hoạt động được chuẩn hóa và kiểm định nghiêm ngặt (gồm 427 URL lừa đảo và 1.573 URL hợp pháp), phân chia theo tỷ lệ 1.600 URL cho tập huấn luyện (Train) và 400 URL cho tập kiểm thử (Test).

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo cấu trúc module hoàn chỉnh phục vụ việc kiểm tra và cảnh báo lừa đảo:

Kiến trúc module phát hiện đối tượng giao diện (Faster-RCNN)

Được xây dựng dựa trên framework Detectron2 với 3 thành phần chính:

  • Mạng nền tảng (Backbone Network): Sử dụng ResNet50 để trích xuất các bản đồ đặc trưng (Feature maps) kích thước $M \times M \times c$ từ ảnh chụp màn hình.
  • Region Proposal Network (RPN): Sử dụng các khung chữ nhật mẫu (anchors) với nhiều tỷ lệ khác nhau để đề xuất các vùng có khả năng chứa logo hoặc ô nhập liệu (input boxes), kết hợp bộ phân loại nhị phân và bộ hồi quy biên.
  • Mô hình Fast-RCNN: Nhận đầu vào từ RPN và Feature maps để phân loại đối tượng, tinh chỉnh tọa độ bounding box và trả về tập hợp các logo ứng viên $L = {l_1, l_2, \dots}$ kèm điểm tin cậy (confidence score). Logo có điểm tin cậy cao nhất sẽ được chọn làm logo đại diện.

Module so khớp thương hiệu (Siamese Network)

Logo trích xuất được so sánh với cơ sở dữ liệu các logo thương hiệu mục tiêu đã được lưu trữ. Khi xác định được thương hiệu trùng khớp (ví dụ: Google), hệ thống lấy tên miền chính thức của thương hiệu đó (ví dụ: google.com) làm tên miền dự định (intended domain). Nếu tên miền của URL đầu vào khác với tên miền dự định, trang web được phân loại là lừa đảo. Kỹ thuật này không yêu cầu huấn luyện trước trên dữ liệu lừa đảo cụ thể và kết hợp cơ chế gradient masking nhằm hạn chế tấn công trốn tránh.

Ứng dụng web PhishDetect

  • Công nghệ nền tảng: Framework Django (Python), kết hợp thư viện xử lý ảnh Pillow, đồ họa Plotly, trình quản lý môi trường Conda và lưu trữ tệp lớn Git-LFS.
  • Quy trình hoạt động: Người dùng dán văn bản hoặc URL nghi ngờ vào giao diện web -> Hệ thống kích hoạt module xử lý dữ liệu đầu vào (Selenium chụp ảnh sandbox và trích xuất 47 đặc trưng) -> Chạy đồng thời 2 nhánh phân tích -> Tổng hợp kết quả với các ngưỡng tin cậy (threshold 70% - 80%) -> Hiển thị kết luận cuối cùng cùng ảnh chụp có đánh dấu bounding box logo/hộp nhập liệu và thông tin cảnh báo chi tiết.

Nội dung chính theo từng chương

Chương 1. Mở đầu

Trình bày tính cấp thiết của đề tài trong bối cảnh tội phạm mạng gia tăng mạnh mẽ, đặc biệt là hình thức lừa đảo qua tin nhắn và email. Chương này xác định rõ mục tiêu xây dựng hệ thống phát hiện phishing 2 nhánh, phạm vi nghiên cứu xoay quanh các tập dữ liệu URL thực tế và giới thiệu đối tượng nghiên cứu gồm các mô hình máy học và học sâu.

Chương 2. Tổng quan

  • Cung cấp bức tranh toàn diện về các hình thức tấn công lừa đảo phổ biến: Email Phishing, Spear Phishing, Smishing, Vishing, Whaling/CEO Fraud, Pharming, Clone Phishing và Malware-Based Phishing.
  • Phân tích ưu/nhược điểm của các kỹ thuật phát hiện tĩnh (học có giám sát, NLP, Feature engineering, Ensemble learning, Deep learning) và phát hiện giao diện.
  • Tổng quan về các kiến trúc phát hiện đối tượng thị giác máy tính: R-CNN, Fast R-CNN, Faster-RCNN, các biến thể YOLO (từ YOLOv1 đến YOLOv7), SSD, FPNs.
  • Khảo sát các công trình liên quan trước đây: Phishnet (sử dụng danh sách đen), hệ thống duy trì danh sách trắng, mô hình của Jeeva & Rajsingh (14 đặc trưng URL + TF-IDF), hệ thống PHAS của Kenneth Fon Mbah (đạt độ chính xác 93,11% với J48 và kNN), phương pháp của Firake, các giải pháp so khớp ảnh chụp toàn trang của Fu et al., và các tiếp cận dựa trên SIFT (như PhishZoo, LogoSENSE).

Chương 3. Nội dung và phương pháp

  • Mô tả chi tiết kiến trúc tổng thể giải pháp 2 nhánh.
  • Định nghĩa chi tiết danh mục 47 đặc trưng tĩnh được trích xuất (Bảng 1 trong văn bản).
  • Trình bày quy trình tiền xử lý dữ liệu với LabelEncoder và bộ công cụ tự động AutoML EvalML để tìm ra mô hình tối ưu (Random Forest).
  • Thiết kế chi tiết luồng xử lý ảnh chụp màn hình với Detectron2 (Faster-RCNN ResNet50) và mô hình Siamese Network.
  • Mô tả kiến trúc và luồng hoạt động của ứng dụng web PhishDetect trên nền Django.

Chương 4. Thực nghiệm và đánh giá

  • Thiết lập môi trường thực nghiệm huấn luyện và triển khai (CPU, GPU CUDA cores, Cloud environment).
  • Đánh giá hiệu năng mô hình tĩnh Random Forest trên tập dữ liệu 2.000 URL bằng Ma trận nhầm lẫn (Confusion Matrix) và các chỉ số: True Positive Rate (TPR), False Positive Rate (FPR), True Negative Rate (TNR), False Negative Rate (FPR), độ chính xác tổng thể.
  • Đánh giá mô hình nhận dạng thương hiệu Siamese thông qua đường cong Precision-Recall Curve.
  • Đánh giá độ chính xác trung bình (Average Precision) của tác vụ phát hiện đối tượng UI.
  • So sánh hiệu năng phát hiện với các hệ thống cơ sở (EMD, PhishZoo, LogoSENSE) và kiểm thử thực tế trên tập dữ liệu 5.000 URL cũng như giao diện ứng dụng web.

Chương 5. Tổng kết và hướng phát triển

  • Đánh giá ý nghĩa khoa học trong việc kết hợp đa mô hình (Hybrid Deep Learning + Supervised ML) để giải quyết bài toán an toàn thông tin.
  • Đánh giá hiệu quả kinh tế - xã hội trong việc bảo vệ người dùng trực tuyến và giảm thiểu thiệt hại tài chính do lừa đảo.
  • Đề xuất các hướng phát triển tiếp theo nhằm tối ưu hóa hệ thống.

Kết quả và đóng góp

Kết quả nghiên cứu chính

  • Nhánh thông tin tĩnh: Mô hình Random Forest sau khi tối ưu hóa trên 47 đặc trưng chọn lọc đã đạt độ chính xác lên đến 97% trên tập dữ liệu kiểm thử.
  • Nhánh thông tin giao diện: Hệ thống Hybrid Deep Learning (Faster-RCNN + Siamese) nhận diện chính xác logo và giải quyết được vấn đề biến thể logo mà không cần huấn luyện trên bất kỳ mẫu lừa đảo cụ thể nào.
  • Hiệu năng so sánh: Kết quả thử nghiệm chứng minh hệ thống vượt trội hơn hẳn các phương pháp so khớp truyền thống như Earth Mover’s Distance (EMD), PhishZoo và LogoSENSE về độ chính xác và giảm thiểu chi phí thời gian thực thi.
  • Triển khai ứng dụng: Xây dựng thành công ứng dụng web PhishDetect cho phép nhận diện URL lừa đảo từ các đoạn tin nhắn đầu vào và cung cấp giải thích trực quan (visual explanation) với các bounding box bao quanh logo và ô nhập liệu.

Đóng góp mới của tác giả

  1. Kiến trúc phân tách hiệu quả: Tách bài toán phát hiện giao diện thành 2 bài toán con rõ ràng: phát hiện đối tượng UI (logo/input box) bằng Faster-RCNN và nhận dạng thương hiệu bằng Siamese Network, giúp hệ thống có khả năng khái quát hóa cao đối với các biến thể logo mới.
  2. Bộ đặc trưng tĩnh tinh gọn: Xây dựng và sàng lọc tập 47 đặc trưng có ảnh hưởng cao nhất từ hơn 100 đặc trưng ban đầu thuộc cả 3 nhóm (URL, HTML Content, External Service), giúp tối ưu hóa thời gian trích xuất mà vẫn duy trì độ chính xác 97%.
  3. Giải pháp tổng hợp toàn diện: Kết hợp đồng thời thông tin tĩnh và thông tin thị giác giúp khắc phục nhược điểm riêng lẻ của từng phương pháp (tránh phụ thuộc hoàn toàn vào cơ sở dữ liệu nhãn tĩnh và khắc phục độ trễ/tính biến động của giao diện động).

Hạn chế và hướng nghiên cứu tiếp

Dựa trên các nội dung được nhóm tác giả trình bày trong khóa luận:

  • Hạn chế:
    • Quá trình trích xuất đặc trưng tĩnh và chụp ảnh màn hình bằng Selenium đòi hỏi URL mục tiêu phải còn hoạt động (live) tại thời điểm kiểm tra; các URL chết hoặc chặn bot/sandbox có thể ảnh hưởng đến dữ liệu đầu vào.
    • Việc trích xuất một số đặc trưng từ dịch vụ bên thứ ba (như OpenPageRank, WHOIS) có thể phát sinh độ trễ nhất định.
    • Cơ sở dữ liệu logo thương hiệu tham chiếu cần tiếp tục được mở rộng để bao phủ nhiều thương hiệu địa phương và các lĩnh vực chuyên biệt ngoài top thương hiệu phổ biến.
  • Hướng phát triển trong tương lai:
    • Mở rộng quy mô và cập nhật liên tục bộ dữ liệu thương hiệu mục tiêu.
    • Tối ưu hóa tốc độ xử lý của pipeline chụp ảnh sandbox và trích xuất đặc trưng để giảm thời gian phản hồi của ứng dụng web.
    • Tích hợp thêm các kỹ thuật học sâu tiên tiến để nhận diện các dạng tấn công né tránh phức tạp hơn trên giao diện trang web.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo có giá trị học thuật và ứng dụng thực tiễn cao đối với:

  • Sinh viên và học viên ngành An toàn thông tin, Mạng máy tính và Khoa học dữ liệu: Tham khảo phương pháp xây dựng pipeline kết hợp giữa học máy truyền thống (Scikit-learn, EvalML) và học sâu thị giác máy tính (Detectron2, PyTorch).
  • Người nghiên cứu về phòng chống Phishing: Tham khảo danh mục 47 đặc trưng tĩnh được phân loại chi tiết (Bảng 1 trong khóa luận) và cách ứng dụng mô hình Siamese trong việc so khớp hình ảnh logo không cần tập huấn luyện lừa đảo.
  • Kỹ sư phát triển phần mềm an toàn thông tin: Tham khảo kiến trúc tích hợp mô hình AI vào ứng dụng web Django và quy trình tự động hóa kiểm thử an toàn qua Selenium Sandbox.

Câu hỏi thường gặp

1. Tại sao nhóm tác giả lại lựa chọn kết hợp cả hai nhánh thông tin tĩnh và thông tin giao diện thay vì chỉ dùng một nhánh?

Phương pháp phát hiện tĩnh dựa vào URL/HTML có ưu điểm xử lý nhanh nhưng dễ bị kẻ tấn công dùng kỹ thuật trốn tránh (evasion attack) và đòi hỏi tập nhãn lừa đảo cập nhật liên tục. Trong khi đó, phương pháp giao diện có khả năng phát hiện mạo danh trực quan rất tốt nhưng tốn tài nguyên tính toán và bị ảnh hưởng bởi tính động của website. Việc kết hợp cả hai nhánh giúp bù trừ khuyết điểm của nhau, nâng cao độ tin cậy và đưa ra kết luận tối ưu nhất cho mỗi URL đầu vào.

2. Mô hình Siamese đóng vai trò gì trong nhánh phát hiện thông tin giao diện?

Mô hình Siamese được sử dụng cho tác vụ nhận dạng thương hiệu (Brand Recognition). Sau khi Faster-RCNN phát hiện và cắt vùng logo trên ảnh chụp màn hình, mô hình Siamese sẽ so khớp đặc trưng của logo này với danh sách logo thương hiệu mục tiêu có sẵn. Ưu điểm cốt lõi của mô hình Siamese là xử lý tốt các biến thể logo và không cần phải huấn luyện trên bất kỳ mẫu website lừa đảo cụ thể nào.

3. Công cụ EvalML được sử dụng vào mục đích gì trong khóa luận?

EvalML là một thư viện mã nguồn mở AutoML được tác giả sử dụng trên tập dữ liệu 2.000 URL đã tiền xử lý để tự động tìm kiếm, đánh giá và tối ưu hóa các thuật toán học máy khác nhau. Kết quả từ EvalML đã giúp nhóm nghiên cứu xác định thuật toán Random Forest là mô hình phân loại nhị phân tối ưu nhất cho tập dữ liệu đặc trưng tĩnh của đề tài.

4. Nhóm tác giả đã thu thập và xử lý tập dữ liệu thực nghiệm như thế nào?

Nhóm tác giả đã thu thập hơn 30.000 URL lừa đảo từ Phishpedia, PhishTank, OpenPhish và gần 30.000 URL hợp pháp từ Phishpedia, Yandex. Trong quá trình thu thập, nhóm sử dụng thư viện requests để lọc URL còn hoạt động và sử dụng VPN thay đổi địa chỉ IP liên tục nhằm vô hiệu hóa kỹ thuật che giấu (cloaking) của kẻ tấn công. Đối với nhánh tĩnh, nhóm đã tinh lọc một tập dữ liệu chuẩn hóa gồm 2.000 URL (427 lừa đảo, 1.573 hợp pháp) để trích xuất 47 đặc trưng phục vụ huấn luyện và kiểm thử.


Kết luận

Khóa luận tốt nghiệp "Xây dựng giải pháp phát hiện phishing link sử dụng máy học" của sinh viên Lê Tôn Nhân và Lâm Thanh Ngân đã giải quyết hiệu quả bài toán nhận diện liên kết lừa đảo thông qua kiến trúc hai nhánh song song: mô hình Random Forest cho thông tin tĩnh (đạt độ chính xác 97%) và hệ thống Hybrid Deep Learning (Faster-RCNN kết hợp Siamese) cho thông tin giao diện. Nghiên cứu không chỉ hoàn thiện về mặt thuật toán và xử lý dữ liệu mà còn triển khai thành công ứng dụng web PhishDetect thực tế, cung cấp công cụ hỗ trợ người dùng nhận biết và phòng tránh các nguy cơ lừa đảo trực tuyến một cách trực quan và minh bạch.