1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Phát hiện phishing bằng phương pháp học máy

75 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

VŨ THÀNH TÀI

PHÁT HIỆN PHISHING BẰNG PHƯƠNG PHÁP HỌC MÁY

Chuyên ngành: Khoa học máy tính Mã số: 8480101

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 07 năm 2023

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học: TS Nguyễn Lê Duy Lai

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA

KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Vũ Thành Tài MSHV: 2070110 Ngày, tháng, năm sinh: 20/09/1987 Nơi sinh: Tp.HCM Chuyên ngành: Khoa học máy tính Mã số : 8480101

I TÊN ĐỀ TÀI: Phát hiện Phishing bằng phương pháp học máy (Phishing

detection using machine learning methods)

II NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu các đặc trưng phổ biến của các trang

web giả mạo, bổ sung thêm các đặc trưng chuyên sâu khó có thể bị giả mạo Tìm hiểu, áp dụng các mô hình học máy (Decision Tree, Random Forests) sử dụng các đặc trưng đã trích xuất được để xây dựng mô hình phát hiện phishing (lừa đảo) một cách hiệu quả hơn, sử dụng các mẫu lừa đảo thu thập được bổ sung và bộ dữ liệu có sẵn nhằm mục đích nâng cao hơn nữa hiệu suất của mô hình

III NGÀY GIAO NHIỆM VỤ: 06/02/2023

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 12/06/2023 V CÁN BỘ HƯỚNG DẪN: TS Nguyễn Lê Duy Lai

Trang 4

Lời cảm ơn

Lời đầu tiên, em muốn gửi lời cảm ơn chân thành sâu sắc nhất đến thầy hướng dẫn là TS Nguyễn Lê Duy Lai đã luôn tận tình và giành tâm huyết hướng dẫn em trong suốt chặng đường vừa qua Trong suốt chặng đường hơn 6 tháng, được làm việc cùng thầy là một niềm vinh hạnh của em Thầy luôn là người tận tình chỉ bảo, hướng dẫn em mỗi khi em gặp khó khăn trong quá trình thực hiện luận văn Em cảm ơn thầy vì đã dành thời gian quý báu để hướng dẫn và hỗ trợ em trong suốt thời gian qua Nếu như không có sự hướng dẫn tận tình từ thầy, chắc chắn em không thể nào làm tốt được những công việc trong báo cáo này

Em cảm ơn Thầy rất nhiều

Em cũng muốn dành lời cảm ơn đến quý Thầy Cô trong khoa, luôn luôn hỗ trợ em trong suốt quá trình học tập cũng như quá trình làm luận văn Và em cảm ơn hội đồng bảo vệ đề cương đã cho em những góp ý sửa đổi, mang tính xây dựng để em có những cải thiện tốt nhất cho bài luận văn này của em

Cảm ơn tất cả các bạn, anh chị trong khoa luôn đồng hành hỗ trợ và giúp đỡ trong suốt quá trình học tập Đặc biệt trong quá trình làm luận văn này, khi gặp các vấn đề liên quan đến những thủ tục, tài liệu nghiên cứu em luôn nhận được sự hướng dẫn và hỗ trợ tận tình từ các bạn, anh chị

Cảm ơn tất cả mọi người đã luôn bên em, ủng hộ và đồng hành cùng em

Trang 5

Tóm tắt nội dung

Lừa đảo (phishing) là một trong những hình thức tấn công phổ biến nhất trên internet hiện nay Phương pháp đơn giản nhất để phát hiện phishing là kiểm tra các URL dựa trên một danh sách đen có sẵn bao gồm các trang web lừa đảo đã được báo cáo từ trước Phương pháp này được thực hiện bằng xác minh thủ công và vẫn còn tồn tại một số hạn chế Ngoài ra, do hiện nay mạng Internet đang ngày càng phát triển nên nhu cầu phát hiện URL một cách tự động đang ngày càng được ưu tiên để có thể kịp thời bảo vệ người dùng mạng khỏi các mối đe doạ từ phishing Chính vì vậy, trong luận văn này, chúng tôi đề xuất một mô hình phát hiện URL lừa đảo tự động hiệu quả và linh hoạt với tập hợp đa dạng các đặc trưng phản ánh đặc điểm của các trang web lừa đảo, bao gồm các đặc trưng mà những kẻ tấn công khó giả mạo Sử dụng thuật toán Random Forests, mô hình đề xuất của chúng tôi có khả năng phát hiện lừa đảo cao với tỷ lệ cảnh báo sai thấp Đóng góp chính của luận văn này chính là bên cạnh một số đặc trưng đã được công bố trước đây, chúng tôi tiến hành trích xuất và bổ sung thêm một số đặc trưng quan trọng khác được thu thập từ các dịch vụ cung cấp chứng chỉ xác thực, máy chủ web Kết quả thử nghiệm chứng minh tính hiệu quả của hệ mô hình trong việc phát hiện nhanh chóng, kịp thời các trang web giả mạo, bổ sung vào danh sách đen để giảm thiểu thiệt hại cho người dùng Không những vậy, sau khi bị phát hiện, các URL giả mạo sau còn có thể được sử dụng làm mẫu bổ sung nhằm kiểm tra các hình thức tấn công mới mà hacker sử dụng, qua đó tăng thêm số lượng mẫu cho bộ dữ liệu phát hiện lừa đảo

Trang 6

Abstract

One of the criminal tactics that plagues the current Internet the most is online phishing Checking URLs against blacklists of well-known phishing websites is a frequent countermeasure, however it is ineffective because the lists are typically produced using manual verification Therefore, automatic URL detection becomes more crucial as the Internet expands in order to give users timely protection In this thesis, we suggest an efficient and adaptable malicious URL detection system with a rich set of properties that represent various phishing webpage characteristics and their hosting platforms, including aspects that are challenging for an evildoer to counterfeit Our system benefits from having a high detection power as well as a low mistake rate thanks to the Random Forests algorithm We believe that this is the first study to use dispersed vantage points for feature collecting while doing such large-scale website/URL scanning and classification trials Results of the experiment show that a blacklist provider may use our technology to automatically create blacklists

Trang 7

Lời cam đoan

Tôi cam đoan rằng luận văn: “Phát hiện Phishing bằng phương pháp học máy” là công trình nghiên cứu của chính tôi dưới sự hướng dẫn của thầy TS Nguyễn Lê Duy Lai

Nội dung nghiên cứu và các kết quả đều là trung thực Các số liệu được sử dụng cho quá trình phân tích, nhận xét được chính chúng tôi thu thập từ nhiều nguồn khác nhau và sẽ được ghi rõ trong phần tài liệu tham khảo

Ngoài ra, chúng tôi cũng có sử dụng một số nhận xét, đánh giá và số liệu của các tác giả khác, cơ quan tổ chức khác Tất cả đều có trích dẫn và chú thích nguồn gốc Nếu phát hiện có bất kì sự gian lận nào, tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn tốt nghiệp của mình Trường đại học Bách Khoa thành phố Hồ Chí Minh không liên quan đến những vi phạm tác quyền, bản quyền do chúng tôi gây ra trong quá trình thực hiện

TP Hồ Chí Minh, ngày 08 tháng 06 năm 2023

Học viên thực hiện luận văn

Vũ Thành Tài

Trang 8

MỤC LỤC

CHƯƠNG 1 1

GIỚI THIỆU 1

1.1 Cơ chế bảo mật TLS, X.509 PKI và HTTPS 1

1.2 Khái niệm Phishing 2

1.3 Tình hình Phishing hiện nay 3

1.4 Đóng góp của luận văn 4

CHƯƠNG 2 8

NGHIÊN CỨU LIÊN QUAN 8

2.1 Các phương pháp dựa trên phỏng đoán thông qua danh sách đen 8

2.2 Phương pháp sử dụng học máy 9

CHƯƠNG 3 13

CƠ SỞ KIẾN THỨC 13

LỰA CHỌN ĐẶC TRƯNG 13

3.1 Đặc trưng liên quan đến chứng chỉ xác thực 13

3.2 Các đặc trưng liên quan đến trạng thái máy chủ 20

3.3 Tiêu đề HTTP (HTTP header) 21

3.4 Các đặc trưng mạng 22

3.5 Các đặc trưng liên quan đến từ vựng của URL 23

3.6 Đặc trưng liên quan đến các bản ghi của WHOIS 24

5.2 Tinh chỉnh siêu tham số của mô hình (Hyperparameter Tuning) 40

5.3 Tương quan giữa các đặc trưng 42

5.4 Đánh giá bộ đặc trưng 46

5.5 So sánh với các nghiên cứu khác 53

Trang 9

5.6 Đánh giá đối với các trang web có thứ hạng thấp hơn ngoài top 100.000 54

CHƯƠNG 6 56

Kết luận và hướng phát triển cho tương lai 56

6.1 Kết luận 56

6.2 Hạn chế 56

6.3 Hướng phát triển cho tương lai 57

TÀI LIỆU THAM KHẢO 59

Trang 10

DANH SÁCH HÌNH VẼ

Hình 1 Xu hướng tấn công phishing trong 4 năm gần nhất theo báo cáo của APWG 3

Hình 2 Cảnh báo website lừa đảo của trình duyệt Chrome 5

Hình 3 Chứng chỉ tự phát hành của Microsoft 17

Hình 4 Mô hình huấn luyện phân loại với từng thành phần tách biệt 30

Hình 5 Người dùng cuối thực hiện truy vấn URL 32

Hình 6 Biểu đồ nhiệt tương quan giữa các đặc trưng 45

Hình 7 Độ chính xác trên tập huấn luyện và kiểm tra của mô hình Random Forests 47

Hình 8 Confusion matrix của Decision Tree và Random Forests 48

Hình 9 Đường cong ROC của Decision Tree và Random Forests 49

Hình 10 Cấu trúc Decision Tree 50

Hình 11 Các đặc trưng quan trọng của mô hình Random Forests 52

Trang 11

DANH SÁCH BẢNG

Hình 1 Xu hướng tấn công phishing trong 4 năm gần nhất theo báo cáo của APWG 3

Hình 2 Cảnh báo website lừa đảo của trình duyệt Chrome 5

Hình 3 Chứng chỉ tự phát hành của Microsoft 17

Hình 4 Mô hình huấn luyện phân loại với từng thành phần tách biệt 30

Hình 5 Người dùng cuối thực hiện truy vấn URL 32

Hình 6 Biểu đồ nhiệt tương quan giữa các đặc trưng 45

Hình 7 Độ chính xác trên tập huấn luyện và kiểm tra của mô hình Random Forests 47

Hình 8 Confusion matrix của Decision Tree và Random Forests 48

Hình 9 Đường cong ROC của Decision Tree và Random Forests 49

Hình 10 Cấu trúc Decision Tree 50

Hình 11 Các đặc trưng quan trọng của mô hình Random Forests 52

Trang 12

CHƯƠNG 1 GIỚI THIỆU

1.1 Cơ chế bảo mật TLS, X.509 PKI và HTTPS

Cấu trúc hạ tầng mã khóa công khai X.509 [1] (sau được gọi là X.509 PKI) là một cấu trúc theo dạng hình cây từ trên xuống, trong đó ở cấp cao nhất là tổ chức phát hành chứng chỉ gốc (sau được gọi là CA) được cả máy khách và máy chủ tin cậy Ở giữa là các CA trung gian và cuối cùng là các chứng chỉ xác thực danh tính của các trang web được cấp chứng chỉ Dựa trên cấu trúc này, X.509 PKI là một cấu trúc hệ thống đảm bảo sự tin cậy trong việc xác định danh tính của các trang web và khóa công khai của chúng

TLS (Transport Layer Security) [2] là một giao thức bảo mật tiêu chuẩn được sử dụng để bảo vệ dữ liệu khi truyền tải qua mạng Nó chính là phiên bản nâng cấp và kế thừa của giao thức SSL (Secure Sockets Layer) TLS được sử dụng rộng rãi trong nhiều ứng dụng mạng, bao gồm truyền tải thông tin cá nhân qua trình duyệt web (HTTPS), truyền tải email bảo mật (SMTP/IMAP/POP3), và truyền tải dữ liệu qua các giao thức khác như FTP và SSH Là một trong những giao thức bảo mật quan trọng được sử dụng để bảo vệ người dùng cuối của các dịch vụ trực tuyến, TLS dựa trên X.509 PKI để đảm bảo danh tính của máy chủ từ xa và tính xác thực của khóa công khai được liên kết với nó

HTTPS [3] là một trong những giao thức lớp được sử dụng để bảo vệ dữ liệu truyền tải giữa máy khách và máy chủ trên mạng bằng cách sử dụng kết hợp giữa giao thức HTTP và giao thức bảo mật TLS/SSL HTTPS dựa vào TLS để cung cấp kết nối HTTP được mã hóa giữa máy khách và máy chủ Khi chúng ta truy cập một trang web thông qua HTTPS, dữ liệu giữa trình duyệt web và máy chủ web sẽ được mã hóa, đảm bảo tính toàn vẹn và bảo mật Điều này giúp ngăn chặn kẻ tấn công khỏi hành vi nghe trộm, thay đổi hoặc đánh cắp thông tin nhạy cảm như tên người dùng, mật khẩu, thông tin tài khoản ngân hàng và thông tin cá nhân khác

Trang 13

Khi máy khách kết nối với máy chủ thông qua HTTPS, quá trình bắt tay TLS (TLS handshake) sẽ diễn ra giữa hai bên để thiết lập kết nối bảo mật và xác thực Sau khi máy khách gửi thông điệp đến máy chủ, máy chủ sẽ phản hồi bằng cách gửi chứng chỉ X.509 được xác thực bởi một tổ chức CA Sau đó, máy khách sẽ kiểm tra xem chứng chỉ nhận được có được phát hành từ một CA tin cậy hay không Nó sẽ kiểm tra chuỗi chứng chỉ từ chứng chỉ đến CA gốc trong kho chứng chỉ gốc (Repository) trên máy tính hoặc trong danh sách tin cậy được trình duyệt hoặc ứng dụng khách cung cấp

Chứng chỉ thường bao gồm tổ chức phát hành (tổ chức ký chứng chỉ), chủ thể (được chứng chỉ này xác thực), khóa công khai tương ứng với chủ đề, chữ ký số do tổ chức phát hành cung cấp, thuật toán tạo chữ ký của chứng chỉ, thời gian hiệu lực của chứng chỉ, phiên bản của chứng chỉ, số seri và phần nội dung gia hạn Người dùng được yêu cầu xác minh chứng chỉ dựa trên các tiêu chí sau Đầu tiên, chủ đề được hiển thị trong chứng chỉ phải phù hợp với trang web mà người dùng đang truy cập Điều này đảm bảo rằng chứng chỉ được cấp cho trang web chính xác và đáng tin cậy Thứ hai, chứng chỉ phải nằm trong khoảng thời gian hợp lệ được xác định bởi các trường "NotBefore" và "NotAfter" Điều này đảm bảo rằng chứng chỉ đang trong thời gian hiệu lực và chưa hết hạn Thứ ba, phải thiết lập một chuỗi tin cậy từ chứng chỉ đến một CA gốc đáng tin cậy Điều này đảm bảo rằng chứng chỉ đã được phát hành và ký bởi một tổ chức có thẩm quyền và được tin cậy Sau khi chứng chỉ được xác minh, khóa công khai liên kết trong chứng chỉ được sử dụng để tạo ra một thông tin xác thực tạm thời giữa người dùng và máy chủ Sau đó, thông tin xác thực này được sử dụng để thiết lập một kênh liên lạc mã hoá đầu cuối để đảm bảo tính bảo mật trong quá trình giao tiếp giữa người dùng và máy chủ

1.2 Khái niệm Phishing

Lừa đảo (Phishing) là một hình thức tấn công trực tuyến nhằm mục đích cố gắng dụ dỗ người dùng mạng tiết lộ các thông tin nhạy cảm và có giá trị như thông tin đăng nhập, mật khẩu, thông tin tài khoản ngân hàng,v.v cho những kẻ tấn công để chúng sử dụng cho các mục đích xấu, gây ra nhiều thiệt hại cho các nạn nhân Kẻ

Trang 14

xấu thường thực hiện phishing bằng cách giả mạo thành một thực thể đáng tin cậy trong môi trường mạng, kết hợp các hình thức tấn công phi kỹ thuật (social engineering) và các chiêu trò kỹ thuật (technical tricks) Các kiểu tấn công thường gặp có thể kể đến như gửi email giả mạo, tạo ra các trang web giả có hình thức giống với các trang web chính thống để đánh lừa người dùng cung cấp thông tin nhạy cảm

1.3 Tình hình Phishing hiện nay

Internet ngày nay tiềm ẩn nhiều rủi ro và trở thành nơi ngày càng nhiều kẻ xấu khai thác Ở thời điểm chúng tôi thực hiện luận văn này, theo báo cáo mới nhất về xu hướng hoạt động Phishing của APWG [4] thì đã có 1.350.037 cuộc tấn công phishing được ghi nhận trong quý 4 năm 2022 Và theo quan sát trong 4 năm gần nhất, thì các cuộc tấn công đã tăng 150% mỗi năm, gây thiệt hại lên đến hàng triệu đô la Hơn nữa, theo báo cáo của PhishLabs, trong năm 2022, 66% các trang web lừa đảo được xây dựng dựa trên các tên miền có trả phí và các tên miền bị xâm phạm nhưng không bị phát hiện Điều này chứng tỏ các tin tặc đã có sự đầu tư cũng như cải tiến các hình thức tấn công ngày càng tinh vi và khó nhận ra hơn, khiến cho các trang web giả mạo ngày càng có nhiều đặc điểm giống với các trang web chính thống Hình 1 trình bày xu hướng tấn công phishing trong 4 năm qua theo báo cáo của APWG

Hình 1 Xu hướng tấn công phishing trong 4 năm gần nhất theo báo cáo của APWG

Trang 15

1.4 Đóng góp của luận văn

Hiện tại, đã có nhiều công cụ phát hiện lừa đảo được phát triển, tích hợp trong trình duyệt, công cụ tìm kiếm hoặc ứng dụng, có thể kể đến như SafeBrowsing của Google [5] và SmartScreen [6] của Microsoft Các công cụ này có nhiệm vụ thông báo cho người dùng biết liên kết URL mà họ truy cập có an toàn hay không Quá trình này được thực hiện bằng cách đối chiếu URL được truy cập với danh sách đen (blacklist) được cộng đồng các nhà bảo mật xây dựng Các danh sách đen này được cập nhật, bổ sung bằng nhiều kỹ thuật khác nhau, từ báo cáo người dùng, các công cụ thu thập dữ liệu web dựa trên phân tích nội dung trang web cho đến các bộ phân loại tự động dựa trên phỏng đoán (heuristic) hoặc các bộ phân loại dựa trên học máy Tuy nhiên, trên thực tế, nhiều trang web giả mạo vẫn có thể vượt qua được các hệ thống bảo vệ này vì những lý do sau:

- Trang web vừa mới xuất hiện, do đó chưa được quét hoặc phân tích bởi bất kỳ cơ chế hay kỹ thuật nào

- Trang web đã được phân tích không chính xác, do tồn tại một điểm yếu nào đó trong cơ chế hoặc biện pháp đối phó và đã bị những kẻ tấn công khai thác, ví dụ: kỹ thuật “ẩn giấu” (cloaking) [7] hoặc lạm dụng các dịch vụ rút gọn URL hợp pháp [8]

Vẫn có một số hệ thống xử lý được các vấn đề liên quan danh sách đen không được cập nhật đầy đủ bằng cách sử dụng phương pháp đánh giá phía máy khách theo thời gian thực đối với nội dung hoặc hoạt động của trang web khi người dùng cuối truy cập trang web Tuy nhiên, những hệ thống như vậy gặp vấn đề với thời gian phản hồi và gây khó chịu cho người dùng cuối Ngoài ra, tùy thuộc vào bản chất của cuộc tấn công mà người dùng có thể đã bị ảnh hưởng từ nguy cơ trên các trang web giả mạo do nội dung trang web đã được tải xuống trước khi quá trình phân tích bắt đầu

Trang 16

Vai trò quan trọng của việc phòng chống lừa đảo là phát hiện chính xác các trang web lừa đảo một cách nhanh chóng Việc nhận dạng thành công các URL lừa lảo và đưa chúng vào danh sách đen sẽ giúp người dùng cuối nhận được cảnh báo khi bị lừa truy cập vào trang web lừa đảo Như Hình 2, nếu hiển thị một màn hình cảnh báo đỏ như vậy thì khả năng cao là người dùng sẽ từ chối các yêu cầu đăng nhập/nhập thông tin hoặc ngăn chặn các cửa bộ bật lên (popups) tải xuống mã độc có trong các trang web lừa đảo Do đó, trong luận văn này, chúng tôi đề xuất một mô hình phát hiện hiệu quả, thu thập dữ liệu các trang web và tự động phát hiện các trang web độc hại Chúng tôi dự định mô hình của chúng tôi sẽ được các nhà cung cấp danh sách đen sử dụng, tự động cập nhật và bổ sung vào danh sách hiện có Mô hình mà chúng tôi đề xuất sử dụng một bộ đặc trưng phong phú, có sự kết hợp giữa các đặc trưng động và đặc trưng tĩnh, từ đó phản ánh nhiều đặc điểm trọng yếu liên quan đến nội dung hoặc hành vi của trang web mà những kẻ tấn công không thể hoặc rất khó ngụy trang Mô hình này có thể chủ động thu thập dữ liệu và đánh giá một URL nhất định, gắn nhãn URL đó là lừa đảo hoặc hợp pháp, dựa trên một trình phân loại sử dụng phương pháp học máy Hơn nữa, việc thu thập thông tin được thực hiện dựa trên nhiều nguồn khác nhau, giúp mô hình thu thập các đặc trưng mới và đạt được độ chính xác cao hơn cũng như tốc độ nhận dạng nhanh hơn Do không

Hình 2 Cảnh báo website lừa đảo của trình duyệt Chrome

Trang 17

phải phân tích thủ công nên danh sách đen có thể được cập nhật chính xác và kịp thời hơn Đồng thời cũng hạn chế quá trình phân tích phía máy khách, từ đó giúp giảm thời gian xử lý cũng như tránh nguy cơ tải các nội dung độc hại xuống thiết bị cá nhân

Cụ thể, trong luận văn này, chúng tôi đề xuất một mô hình phát hiện lừa đảo mới, coi nhiệm vụ phát hiện lừa đảo là một bài toán phân loại nhị phân trong đó lớp tích cực (positive class) là hợp pháp và lớp tiêu cực (negative class) là lừa đảo Chúng tôi sử dụng thuật toán học máy có giám sát để huấn luyện mô hình dựa trên một bộ đặc trưng phong phú, một số trong đó khó hoặc không thể thu thập từ phía máy khách Mô hình đầu cuối (end-to-end) của chúng tôi giúp nhà cung cấp danh sách đen chủ động phát hiện và cập nhật danh sách URL lừa đảo một cách kịp thời với độ chính xác cao Thuật toán học máy sử dụng tập đặc trưng được lấy từ nhiều nguồn khác nhau Các đặc trưng này được trích xuất từ bộ dữ liệu bao gồm chuỗi URL, HTTP headers, DNS record, Server status, thông tin WHOIS và các tiến trình chuyển hướng (redirection) Chúng tôi chứng minh rằng nếu tận dụng các đặc trưng được chọn lọc cẩn thận thì sẽ khám phá được các khía cạnh khác nhau của kẻ tấn công lừa đảo, bao gồm các đặc điểm vật lý và đặc điểm triển khai ứng dụng, từ đó mô hình của chúng tôi có khả năng đối phó với các hành động của kẻ tấn công nhằm qua mặt bộ phân loại

Mặc dù một số nghiên cứu trước đây đã trình bày một số đặc trưng chúng tôi sử dụng trong luận văn này nhưng dựa trên kiến thức của chúng tôi, đây là nghiên cứu đầu tiên kết hợp nhiều đặc trưng đa dạng như vậy và thu thập dữ liệu từ hơn 30.000 trang web, đạt được khả năng phát hiện lừa đảo có độ chính xác cao Quan trọng hơn, mô hình của chúng tôi sử dụng nhiều đặc trưng phản ánh các khía cạnh vật lý của các máy chủ lưu trữ nội dung độc hại, rất khó giả mạo, khiến cho những kẻ tấn công khó lòng có thể vượt qua

Chúng tôi đánh giá cơ chế được đề xuất với tập dữ liệu chứa hơn 40.000 URL lừa đảo và 1.000.000 URL hợp pháp Các URL lừa đảo được tải xuống từ PhishTank [9], đây là nhà cung cấp danh sách đen miễn phí do OpenDNS [10] vận

Trang 18

hành Các URL hợp pháp được lấy từ danh sách một triệu của Majestic (top one Majestic million list) [11] Theo kết quả thử nghiệm, mô hình chúng tôi đề xuất có thể đạt được độ chính xác dự đoán tổng thể là 97% với tỷ lệ cảnh báo giả thấp

Phần còn lại của luận văn này được trình bày theo thứ tự như sau Trong Chương 2, chúng tôi trình bày các nghiên cứu liên quan đến phát hiện thư rác và lừa đảo với mục đích tương tự như mục đích nghiên cứu của chúng tôi Ở Chương 3, chúng tôi mô tả các đặc trưng được công cụ phân loại của chúng tôi sử dụng và ý nghĩa của chúng Tiếp theo đó, Chương 4 sẽ trình bày phần thiết kế mô hình và các thiết lập để thử nghiệm Kế đến, trong Chương 5, chúng tôi sẽ trình bày về các phân tích kết quả thử nghiệm, giải thích ý nghĩa của các kết quả đạt được cũng như ý nghĩa của các đặc trưng quan trọng Ngoài ra, chúng tôi cũng so sánh phương pháp của mình với một nghiên cứu tương tự trước đó, nhằm đánh giá và xem xét sự hiệu quả của mô hình và bộ đặc trưng mà chúng tôi đề xuất Cuối cùng, ở Chương 6, chúng tôi đưa ra kết luận cùng với một số hướng phát triển trong tương lai

Trang 19

CHƯƠNG 2

NGHIÊN CỨU LIÊN QUAN

Công việc của chúng tôi trong luận văn này chủ yếu tập trung vào việc phát hiện các trang web lừa đảo bằng phương pháp học máy Đã có khá nhiều nghiên cứu liên quan đến chủ đề tương tự như sử dụng danh sách đen các tên miền lừa đảo và lọc thư rác Hơn nữa, việc sử dụng học máy trong các lĩnh vực này cũng trở nên ngày càng phổ biến Các phương pháp phát hiện trang web độc hại hiện tại [12–24] có thể được chia chủ yếu thành hai loại dựa trên loại đặc trưng được sử dụng: phương pháp tiếp cận dựa trên đặc trưng tĩnh [12–19] và phương pháp tiếp cận dựa trên đặc trưng động [20–24] Cách tiếp cận dựa trên đặc trưng tĩnh [12–19] dựa vào các đặc trưng được trích xuất từ URL, nội dung trang, cấu trúc HTML DOM, thông tin dựa trên tên miền (sử dụng các bản ghi WHOIS và DNS), v.v Ngoài ra, các giải pháp dựa trên đặc trưng động [20–24] chủ yếu tập trung vào việc phân tích các trạng thái được ghi lại khi trang web được tải và hiển thị, hoặc kiểm tra nhật ký hệ thống khi thực thi một số tập lệnh Trong luận văn này, chúng tôi sẽ tập trung khai thác các đặc trưng tĩnh

2.1 Các phương pháp dựa trên phỏng đoán thông qua danh sách đen

Nghiên cứu [12] đã trình bày ý tưởng đánh giá độ tin cậy của các block địa chỉ IP và cơ quan cấp phát mà những kẻ tấn công sử dụng để lập danh sách đen các trang web độc hại Nhóm nghiên cứu đã đo mức độ phổ biến của các block địa chỉ IP và cơ quan cấp phát những kẻ tấn công sử dụng nhiều dựa trên khoảng 4.000 mẫu được thu thập từ danh sách tên miền độc hại [25] Sau đó, các block địa chỉ IP được kết hợp với các công ty cấp phát để đo mức độ uy tín của các trang web, và những trang web có độ tin cậy thấp sẽ được báo cáo là khả nghi Tuy nhiên, phương pháp này có thể có tỷ lệ cảnh báo sai cao, tức là phân loại nhầm các domain hợp pháp là các domain độc hại

Nghiên cứu [13] đã đề xuất một phương pháp lập danh sách đen khác dựa trên việc phỏng đoán từ các domain được đăng ký bởi cùng một hoặc nhiều kẻ tấn

Trang 20

công, các kẻ tấn công này sở hữu domain từng xuất hiện trong danh sách đen trước đó Suy đoán này dựa trên thông tin truy xuất từ các bản ghi WHOIS và DNS Phương pháp này coi các domain được đăng ký cùng lúc hoặc đổi thành cùng một nameserver trong cùng một thời điểm là domain lừa đảo Theo thử nghiệm của họ, 73% domain được phỏng đoán là domain lừa đảo đã được cập nhật trong các danh sách đen sau này Tuy nhiên, phương pháp này chỉ có thể suy đoán các cuộc tấn công dựa trên các tên miền hiện có sẵn trong danh sách đen làm nền tảng, nghĩa là nó không đủ để đối phó với các cuộc tấn công mới không bao gồm trong các tên miền độc hại hiện đã có Ngược lại, các phương pháp của chúng tôi có thể được sử dụng để xác định bất kỳ tên miền độc hại nào ngay khi bộ phân loại được huấn luyện, bất kể mối quan hệ giữa các miền

2.2 Phương pháp sử dụng học máy 2.2.1 Đối với tên miền giả mạo

Nghiên cứu [14] đã trích xuất được một danh sách các đặc trưng từ chứng chỉ X.509 Khi sử dụng 100.000 URL hàng đầu từ Alexa [26] để làm mẫu hợp pháp cùng với các URL tải từ PhishTank [9] để làm mẫu lừa đảo, độ chính xác và Recall đạt được lần lượt là 95.5% và 93.7% khi sử dụng bộ phân loại Random Forests Tuy nhiên, những số liệu thống kê này chưa thật sự thuyết phục trong bối cảnh môi trường Internet hiện tại, sẽ được phân tích chi tiết trong Phần 5.6 Khác với nghiên cứu của họ, danh sách đặc trưng của chúng tôi sử dụng thông tin không chỉ từ các chứng chỉ mà còn từ một số khía cạnh khác của một trang web, bao gồm các đặc điểm của máy chủ, các phản hồi DNS, hiệu suất mạng, v.v

Nghiên cứu [15] của Xiang và nhóm của mình đã đề xuất một khung học máy nhiều lớp có tên gọi là CANTINA+, trong đó sử dụng các đặc trưng được khai thác từ URL, HTML DOM, công cụ tìm kiếm và các dịch vụ của bên thứ ba như PageRank để phát hiện các trang web lừa đảo Tổng cộng, 10 trong số 15 đặc trưng trong mô hình của họ được lấy từ các mẫu và đặc trưng văn bản liên quan đến HTML hoặc URL Nghiên cứu [20] đã đề xuất một

Trang 21

cách tiếp cận khác dựa trên sự tương đồng về bố cục của HTML DOM để phát hiện lừa đảo được một số trình duyệt sử dụng Tuy nhiên, các phương thức dựa trên DOM hoặc thông tin từ vựng lại có một số điểm yếu nhất định Đầu tiên, kẻ tấn công có thể dễ dàng thao túng được các đặc điểm từ vựng của URL hoặc nội dung HTML để đánh lừa mô hình phân loại Trong khi đó, để thực hiện phân loại, nội dung trang cần phải được tải xuống, khi đó một số mã độc có thể đã được đưa vào và tải xuống máy người dùng nếu như các phương pháp đó được thực thi trên trình duyệt của người dùng Ngoài ra, một số nghiên cứu [7,27–29] đã chỉ ra rằng một số trang web độc hại sử dụng kỹ thuật ẩn giấu (cloaking) (cloaking tức là trang web sẽ phản hồi các nội dung khác nhau cho những người dùng khác nhau dựa trên các tiêu chí được xác định từ trước để tìm cách vượt qua hệ thống bảo mật hoặc đánh lừa phần mềm thu thập thông tin) nhằm mục đích đánh lừa các trình thu thập thông tin như Google để có thứ hạng cao hơn hoặc hiển thị tốt hơn trong các kết quả tìm kiếm Kỹ thuật này làm cho PageRank hoặc các kết quả tìm kiếm từ khóa mà CANTINA+ dựa vào trở nên ít tin cậy hơn

Do đó, nghiên cứu [17] đã cố gắng giải quyết vấn đề này bằng cách không sử dụng bất kỳ đặc trưng nào liên quan đến nội dung trang để phân loại Không chỉ vậy các nhà nghiên cứu còn sử dụng hàng chục nghìn đặc trưng được trích xuất từ địa chỉ IP, các bản ghi WHOIS và tên miền, với phần lớn các đặc trưng liên quan đến từ ngữ sử dụng kỹ thuật túi từ “bag of words” Phương pháp của họ có một nhược điểm là các kết quả đạt được khó có thể diễn giải chi tiết do số lượng lớn các đặc trưng từ ngữ được tạo ra bằng thuật toán Ngược lại, các đặc trưng trong mô hình được chúng tôi thu thập trong luận văn này đều có thể hiểu và diễn giải chi tiết được

2.2.2 Bộ lọc thư rác

Nghiên cứu [18] đã đề xuất một mô hình phát hiện mail rác dựa trên nhiều giai đoạn và tuần tự (multi-stage pipelined) sử dụng phương pháp học máy, bao gồm một danh sách khá đầy đủ các đặc trưng liên quan đến mạng

Trang 22

Các nhà nghiên cứu này đã phân tích phương pháp của mình với bộ dữ liệu email được thu thập trong hơn hai năm, bao gồm hơn 1.4 triệu email và báo cáo tỷ lệ dương tính (postive) thật (True Positive Rate) trong khoảng từ 12% đến 77% bằng thuật toán Decision Tree Nội dung công việc trong luận văn này khác với nghiên cứu của họ ở một số điểm Đầu tiên, chúng tôi sử dụng thuật toán học máy nâng cao hơn là Random Forests cho mục đích phân loại Thứ hai, chúng tôi đã sử dụng rất nhiều đặc trưng khác ngoài đặc trưng mạng cho mục đích phân loại, giúp cho việc phân loại có khả năng ổn định cao hơn vì chất lượng mạng có thể có tác động đáng kể đến các đặc trưng mạng được thu thập Thứ ba, vì nghiên cứu của chúng tôi tập trung vào phân loại URL lừa đảo nên có phạm vi ứng dụng rộng hơn

Nghiên cứu [19] tập trung vào việc tận dụng các đặc trưng trích xuất từ nội dung email để phát hiện thư rác và kiểm tra độ hiệu quả của một số thuật toán học máy Tuy nhiên, phương pháp của họ cũng gặp phải vấn đề tương tự như nghiên cứu [15] kể trên Bên cạnh đó, số lượng mẫu trong nghiên cứu của họ cũng còn hạn chế, chỉ bao gồm 973 email lừa đảo và 3027 email hợp pháp, điều này làm cho độ chính xác của các bộ phân loại mà họ sử dụng có độ tin cậy không cao

Tóm lại, luận văn này đưa ra các đóng góp khác với các nghiên cứu hiện tại vì các lý do sau:

Đầu tiên, về bộ dữ liệu, chúng tôi thu thập và kiểm tra mô hình dựa trên một số lượng lớn các mẫu URL, trong đó các URL lừa đảo được tải xuống từ PhishTank [9] và các URL hợp pháp được tải xuống từ Majestic top one million list [11] Điều này giúp cải thiện các giá trị dùng để đánh hiệu suất và các phân tích liên quan

Thứ hai, chúng tôi sử dụng một bộ đặc trưng đa dạng và phong phú để huấn luyện bằng các thuật toán học máy Thông qua việc giới thiệu các đặc trưng phản ánh các khía cạnh khác nhau của các URL mục tiêu, chúng tôi có

Trang 23

được một cái nhìn toàn diện về các URL mục tiêu cũng như quan sát được cơ sở hạ tầng phía sau hoạt động của một trang web, giúp cải thiện đáng kể hiệu suất của mô hình và nâng cao khả năng phát hiện ra những kẻ xấu có ý đồ muốn vượt qua hệ thống phát hiện Hơn nữa, luận văn cũng cho thấy được cái nhìn tổng quan về bối cảnh lừa đảo hiện tại bằng cách phân tích các mô hình học máy

Trang 24

CHƯƠNG 3

CƠ SỞ KIẾN THỨC LỰA CHỌN ĐẶC TRƯNG

Chương này sẽ trình bày về các đặc trưng chúng tôi chọn để huấn luyện mô hình học máy Hiệu quả của học máy phụ thuộc nhiều vào khả năng phân biệt một tập đặc trưng có nhiều thông tin hữu ích Chúng tôi bắt đầu quá trình lựa chọn đặc trưng bằng việc quan sát sự khác biệt về hành vi tự nhiên của các trang web lừa đảo và các trang web hợp pháp được lựa chọn cẩn thận ở cả tầng ứng dụng và cơ sở hạ tầng đằng sau đó Chúng tôi cũng thu thập các đặc trưng và thông tin hữu ích từ các nghiên cứu trước đó về các chủ đề liên quan như phát hiện lừa đảo, tạo danh sách đen chủ động và phát hiện thư rác Cuối cùng, tập đặc trưng của chúng tôi có thể được chia thành bảy nhóm dựa trên nguồn gốc của từng loại đặc trưng Chúng tôi cũng sẽ nêu lí do lựa chọn và ý nghĩa của mỗi đặc trưng trong chương này

3.1 Đặc trưng liên quan đến chứng chỉ xác thực

Như đã đề cập ở trên, chứng chỉ số X.509 được sử dụng rộng rãi trong các giao tiếp Internet hiện đại để cung cấp xác thực danh tính đầu cuối Tuy nhiên, ngoài việc xác minh phía máy khách theo cách truyền thống, thông tin được nhúng trong chứng chỉ có thể cung cấp một số lượng lớn các đặc trưng hữu ích để kiểm tra tính chất của máy chủ Một danh sách đầy đủ các đặc trưng chỉ có thể trích xuất chỉ từ chứng chỉ số X.509 đã được Dong và các cộng sự [14] đề xuất Chúng tôi thu thập bộ đặc trưng dựa trên chứng chỉ bằng cách sử dụng lại một số đặc trưng của họ, đồng thời bổ sung thêm một số đặc trưng mới Chúng tôi sẽ liệt kê các đặc trưng được trích xuất từ chứng chỉ theo các nhóm sau đây

3.1.1 Các thành phần mở rộng của chứng chỉ

Các phần mở rộng chứng chỉ là một danh sách các trường tùy chọn cho một chứng chỉ hợp lệ Mặc dù không có tiêu chuẩn rõ ràng, các phần mở rộng vẫn có thể tiềm ẩn các mẫu quan trọng về các trang web giả mạo Các phần mở rộng của chứng chỉ có thể bao gồm thông tin bổ sung như tên thay

Trang 25

thế cho người cấp và chủ thể, chính sách sử dụng chứng chỉ và khóa công khai, danh sách thu hồi chứng chỉ (CRL), điểm phân phối CRL, chứng chỉ được xác minh mở rộng, v.v Các đặc trưng này được thu thập theo các cách sau Đầu tiên là ghi lại các phần mở rộng của chứng chỉ và mô tả dưới dạng số Sau đó, kiểm tra sự tồn tại của các phần mở rộng phổ biến nhất, mỗi phần được giữ lại như một đặc trưng có giá trị số Dưới đây là danh sách các đặc trưng được thu thập từ các phần mở rộng của chứng chỉ:

authority_info_access: Nếu trường authorityInfoAccess tồn tại trong

Trang 26

3.1.2 Thông tin về tổ chức phát hành và chủ thể/tên miền

Hai trường quan trọng nhất trong một chứng chỉ là tổ chức phát hành (Issuer) và Chủ thể (Subject) Cơ quan phát hành đề cập đến tổ chức chứng thực và chứng nhận danh tính của tên miền hiện tại bằng chứng chỉ Chủ thể đề cập đến tên miền hoặc tổ chức được chứng nhận bằng chứng chỉ số Cả tổ chức phát hành và chủ thể chia sẻ cùng một cấu trúc được gọi là 'Distinguished Names' (DNs), chứa thông tin chi tiết về tên, vị trí và thông tin liên lạc của tổ chức phát hành và chủ thể tương ứng Mỗi trường có thể cung cấp một tập hợp các phần thông tin nhỏ hơn bao gồm quốc gia, tiểu bang, thành phố, tên thông thường, tên tổ chức, đơn vị tổ chức và email Có ba nhóm đặc trưng được thu thập từ các phần thông tin kể trên của tổ chức phát

hành và chủ thể Danh sách trắng (whitelist) và danh sách đen (blacklist) chứa thông tin về tổ chức phát hành và chủ thể Nhóm này bao gồm ba

đặc trưng: is_trusted_issuer, is_prohibited_issuer và is_prohibited_subject

is_trusted_issuer cho biết liệu tổ chức phát hành của chứng chỉ này có phải

là một trong các tổ chức chứng thực được bộ dữ liệu về chứng chỉ của Mozilla [30] tin tưởng hay không Như đã đề cập ở trên, trong X.509 PKI, tất cả các tổ chức chứng thực đều được tin tưởng như nhau, cho phép bất kỳ tổ chức chứng thực nào cấp chứng chỉ số cho bất kỳ trang web nào Do đó, các thông tin về độ uy tín của tổ chức phát hành chứng chỉ có thể góp phần vào việc phát hiện lừa đảo Danh sách các tổ chức chứng thực được Mozilla (một trong những nhà phát triển trình duyệt nổi tiếng) tin tưởng sẽ được sử dụng với vai trò là một tập hợp các tổ chức phát hành được tin tưởng, đại diện cho một trình xác thực chứng chỉ hiện đại

is_prohibited_issuer và is_prohibited_subject kiểm tra xem tổ chức phát

hành hoặc chủ thể của chứng chỉ này có thuộc một trong các danh mục sau không

- Tên là địa chỉ mạng cục bộ: 192.168.*.*, 10.*.*.*, 127.0.0.1 và localhost

Trang 27

- Tên là ký tự đại diện cho bất kỳ ký tự nào: "*" - Tên là "default" hoặc "none"

Mặc dù không có danh sách chính thức các chuỗi nào nên tránh đối với trường tổ chức phát hành và chủ thể, việc kiểm tra sự tồn tại của các giá trị được liệt kê ở trên vẫn tiết lộ một số thông tin quan trọng về chứng chỉ Ví dụ, sự xuất hiện của địa chỉ mạng cục bộ hoặc "default" ở trường tổ chức phát hành hoặc chủ thể trong một chứng chỉ cho thấy đây có thể là một chứng chỉ tự tạo Và việc sử dụng ký tự đại diện trong trường tổ chức phát hành và chủ thể rõ ràng cho thấy chứng chỉ kém chất lượng, suy ra rằng tổ chức phát hành và chủ thể không tin cậy hoặc thậm chí khả nghi Tương tự

như is_trusted_issuer, is_prohibited_issuer và is_prohibited_subject có thể

chỉ ra một số khác biệt giữa các trang web lừa đảo và hợp pháp

Danh sách các đặc trưng được trích xuất như sau:

is_trusted_issuer: Nếu tổ chức phát hành của chứng chỉ này được tin

tưởng dựa trên bộ chứng chỉ đã được xác thực của Mozilla

is_prohibited_issuer: Nếu tổ chức phát hành của chứng chỉ này chứa

các chuỗi bị cấm được liệt kê ở trên

is_prohibited_subject: Nếu chủ thể của chứng chỉ này chứa các chuỗi

bị cấm được liệt kê ở trên

Mối quan hệ giữa các mục con Hiện nay, chưa có tiêu chuẩn cụ thể nào được công bố về nội dung và mối quan hệ mà một CA nên tuân thủ đối với các mục con bên trong phần Tổ chức phát hành và Chủ thể khi ký một chứng chỉ số Tuy nhiên, từ mối quan hệ giữa các mục con, ta có thể kiểm tra các mẫu và tìm hiểu thêm về các đặc điểm khác nhau của CA Ngoài ra, theo như báo cáo của Microsoft vào năm 2014 [38], có thể sử dụng các đặc điểm này làm bằng chứng để phát hiện tính hợp lệ về mặt kỹ thuật của các chứng chỉ do các CA giả mạo

Trang 28

Ví dụ, nếu có sự tương đồng giữa tên chung (common name) của Tổ chức phát hành và Chủ thể chứng chỉ, và sự tương đồng giữa tên chung của Tổ chức phát hành và tên miền của trang web thì có thể xác định xem đó có phải là một chứng chỉ tự ký (self-signed) hay không, ngay cả khi có thể xác minh được chuỗi tin cậy (trust chain) của chứng chỉ Nếu có sự tương đồng cao thì có thể đó là một chứng chỉ tự ký Tuy nhiên, ta cần lưu ý rằng các tổ chức quy mô lớn có thể điều hành CA riêng của họ Ví dụ, cả Microsoft và Google đều điều hành các CA trung gian và tự phát hành chứng chỉ cho riêng tổ chức của mình Hình 3 cho thấy chuỗi tin cậy của một chứng chỉ của Microsoft, trong đó Tổ chức phát hành và Chủ thể đều là Microsoft, chứng chỉ này được tạo ra thông qua trình duyệt Chrome

Một yếu tố khác giúp phân biệt các trang web hợp pháp và giả mạo là sự tương đồng giữa tên miền và tên chủ đề của chứng chỉ Theo RFC6125 [39], chứng chỉ được thể hiện bởi domain, nên để xác minh danh tính của một chứng chỉ, phải bao gồm tên miền tương ứng trong trường Chủ thể hoặc trong phần mở rộng tên thay thế của Chủ thể Do đó, nếu tên miền khớp với tên chung của Chủ thể hoặc Tên thay thế của Chủ thể trong phần mở rộng thì có thể xem trang web đáng tin cậy

Hình 3 Chứng chỉ tự phát hành của Microsoft

Trang 29

Ngoài ra, sự tương đồng cao giữa tên tổ chức và tên chung cũng ngụ ý đó là một trang web hợp pháp, vì hai trường này được cho là liên quan đến cùng một thực thể Trong luận văn này, chúng tôi đo lường sự tương đồng giữa các trường có giá trị chuỗi bằng cách tính toán tỷ lệ trùng nhau, sử dụng thư viện difflib của Python

Dưới đây là danh sách các đặc trưng tương ứng với mối quan hệ giữa các phân mục

match_issuer_subject_cn: Tỷ lệ trùng khớp giữa tên chung của Tổ

chức phát hành chứng chỉ và Chủ thể chứng chỉ

match_website_issuer_cn: Tỷ lệ trùng khớp giữa tên miền trang web

với tên chung của Tổ chức phát hành chứng chỉ

match_website_altname: Tỷ lệ trùng khớp nhất giữa tên miền trang

web với từng tên thay thế trong danh sách trường tên thay thế của phần mở rộng chứng chỉ

match_website_subject_cn: Tỷ lệ trùng khớp giữa tên miền trang web

và tên chung của chủ thể chứng chỉ

3.1.3 Thông tin dựa trên thời gian

NotBefore và NotAfter là hai trường xác định thời gian hiệu lực của

một chứng chỉ Thông thường, một chứng chỉ có thời gian hiệu lực quá dài được xem là không an toàn Do đó, sự khác biệt thời gian giữa NotBefore và NotAfter được sử dụng như một đặc trưng Chúng tôi cũng kiểm tra xem chứng chỉ đã hết hạn hay chưa để xác nhận được đây là URL có hợp pháp hay không

Danh sách các đặc trưng theo thời gian như sau:

diff_notbefore_notafter: Sự khác biệt về thời gian giữa trường

NotBefore và trường NotAfter trong chứng chỉ

Trang 30

has_expired: Chứng chỉ đã hết hạn hay chưa

3.1.4 Các đặc trưng chứng chỉ khác

Một số đặc trưng chứng chỉ khác có thể trích xuất từ các trường như

SerialNumber, SignatureAlgorithm và CertificateVersion Nội dung trong

SerialNumber không phù hợp làm đặc trưng vì đó chỉ là một dãy số độc nhất

được gán ngẫu nhiên Tuy nhiên, độ dài của SerialNumber được xem là một

đặc trưng vì nó có thể bao gồm một số đặc điểm của các CA Mỗi chứng chỉ đi kèm với một chữ ký số để chứng minh tính xác thực của chứng chỉ và khóa công khai bằng một thuật toán cụ thể thể hiện trong trường

SignatureAlgorithm Tên thuật toán chính là một đặc trưng vì bản thân thuật

toán có thể là một yếu tố quan trọng chỉ ra mức độ bảo mật của chứng chỉ Các miền và CA uy tín thường tránh sử dụng các thuật toán không an toàn

Vì mỗi phiên bản (version) lại có phần mở rộng, thuật toán và các tùy chọn khác nhau nên version của chứng chỉ cũng có thể cho ta biết một số thông tin về cấu trúc của chứng chỉ Do đó, phiên bản chứng chỉ được coi là một đặc trưng Ngoài nội dung các trường chứng chỉ, chúng tôi cũng sử dụng một đặc trưng mới Dựa trên kiến thức tích luỹ được, chúng tôi thấy đặc trưng này chưa được đề cập trong các nghiên cứu trước

Cuối cùng, việc xác định xem tên miền mục tiêu có chứng chỉ liên quan hay không được xem như một đặc trưng nhị phân Chúng tôi thêm đặc trưng này vào để nâng cao hiệu suất huấn luyện và phân loại của các bộ phân loại học máy vì nó có thể đánh dấu cụ thể tất cả các trang web không có chứng chỉ chỉ với một biến duy nhất Các đặc trưng này được liệt kê sau đây:

len_serialnum: Độ dài của số seri của chứng chỉ này.

signature_algorithm: Thuật toán được sử dụng trong chứng chỉ này.cert_version: Phiên bản của chứng chỉ.

has_certificate: Xác định tên miền có chứng chỉ hay không

Trang 31

3.2 Các đặc trưng liên quan đến trạng thái máy chủ

Dù kẻ lừa đảo sử dụng phương pháp nào để lừa đảo người dùng thông qua các trang web giả mạo thì chúng cũng đều cần phải lưu trữ các thông tin thu thập được trên một số máy chủ vật lý Những máy chủ vật lý này được sử dụng cho mục đích lừa đảo trong thời gian ngắn, và có thể là các botnet hoặc các máy chủ tạm thời, không tuân thủ các yêu cầu về bảo trì Do đó, có thể trích xuất các đặc trưng phản ánh trạng thái của máy chủ vật lý để phát hiện các trang web lừa đảo

3.2.1 Cổng kết nối của máy chủ

Đầu tiên, chúng tôi thực hiện quét cổng đối với tên miền ứng với mỗi URL trong tập dữ liệu mẫu của chúng tôi bằng cách sử dụng công cụ nmap [31], tập trung vào 50 cổng phổ biến nhất dựa trên dữ liệu của nmap Trạng thái của mỗi cổng (mở hay đóng) được ghi lại dưới dạng một đặc trưng nhị phân Nhìn chung, các máy chủ đáng tin cậy có thể có thông tin về các cổng đã mở và hạn chế số cổng mở nhằm đảm bảo an ninh Còn các trang web độc hại sẽ được lưu trữ trên các máy chủ hoặc botnet kém chất lượng hoặc không được vận hành tốt, do đó sẽ mở nhiều cổng hơn so với mặc định Ngoài ra, những máy chủ độc hại này có thể lưu trữ nhiều trang web và ứng dụng độc hại khác nhau cùng một lúc, nên sẽ mở nhiều cổng cho các dịch vụ hoặc tên miền khác nhau, có thể vì hạn chế về nguồn lực hoặc các lý do khác Mặt khác, chúng ta có thể suy đoán rằng vì các máy chủ đáng tin cậy thường được sử dụng cho các nhiệm vụ nhỏ riêng biệt trong quá trình hoạt động nên sẽ giới hạn tổng số cổng mở

Do đó, tổng số cổng mở cũng sẽ được xem như một đặc trưng

Các cổng phổ biến hàng đầu được quét bởi trình thu thập là: 21, 22, 25, 53, 80, 110, 113, 135, 139, 143, 179, 199, 443, 445, 465, 514, 548, 554, 587, 646, 993, 995, 1025, 1026, 1433, 1720, 1723, 2000, 3306, 3389, 5060, 5666, 5900, 6001, 8000, 8008, 8080, 8443, 8888, 10000, 32768, 49152, 49154

Trang 32

Các đặc trưng về cổng được trình bày như sau:

port:{port_number}: Trạng thái mở/đóng của mỗi cổng trong 50 cổng

phổ biến dựa trên kết quả quét nmap

open_ports_count: Tổng số cổng mở dựa trên kết quả quét nmap

3.2.2 Hệ điều hành của máy chủ

Ngoài việc quét cổng, nmap cũng có khả năng xác định hệ điều hành của máy chủ Tu và cộng sự đã trình bày tính hiệu quả khi sử dụng hệ điều hành như một đặc trưng cho mục đích chống thư rác [18,32] Do đó, chúng tôi trích xuất hệ điều hành máy chủ và sử dụng nó trực tiếp làm một đặc trưng Hệ điều hành được phân loại là Linux, Windows, OpenBSD, FreeBSD, HP-UX, Mac, Solaris, Others và Unknown, trong đó Unknown có nghĩa là nmap không trả về bất kỳ tên hệ điều hành máy chủ nào trong kết quả quét của nó

server_os: Hệ điều hành của máy chủ dựa trên kết quả quét của nmap

3.3 Tiêu đề HTTP (HTTP header)

HTTP header được máy chủ HTTP trả về cho người dùng cùng với nội dung yêu cầu HTTP header là một danh sách các cặp khóa-giá trị (key-value), trong đó các khóa và giá trị đã được đăng ký với IANA [33] Có thể sử dụng nội dung của các HTTP header để khai thác một số thông tin liên quan đến việc thực thi tác vụ của máy chủ bên dưới, ví dụ như chính sách quản lý bộ nhớ cache, nền tảng web sử dụng, chính sách kiểm soát truy cập, loại nội dung phản hồi Từ nội dung của HTTP header, chúng tôi tiến hành trích xuất ba đặc trưng có thể phân tích dễ dàng

Thứ nhất, chúng tôi đếm số lượng trường header khác nhau dựa trên phản hồi của máy chủ Mục đích là để tìm ra sự khác biệt về đặc điểm bên trong phản hồi của HTTP giữa các trang web độc hại và hợp pháp Xét thấy các trang web độc hại thường không duy trì lâu nên tiêu đề HTTP của chúng có thể là các giá trị mặc định

Trang 33

của khung trang web (web framework) được kẻ xấu sử dụng Tuy nhiên, có thể phát triển các header được trả về từ một máy chủ hợp pháp với mục đích rõ ràng

Thứ hai, chúng tôi kiểm tra xem trường cache-control có tồn tại trong tiêu đề không, với suy đoán rằng các trang web hợp pháp có thể có logic cache-control được điều chỉnh tốt

Cuối cùng, chúng tôi ghi lại độ dài của trường server trong tiêu đề Đặc trưng này có thể chỉ ra sự khác biệt về các mẫu bên dưới giữa các trang web hợp pháp và các trang web độc hại

Các đặc trưng HTTP header được trích xuất như sau:

http_header_count: Số trường chứa trong HTTP header được trả về

exist_cache_control: Xác định liệu HTTP header có chứa trường kiểm soát

bộ nhớ cache (cache control) hay không

len_header_server: Độ dài của trường server trong HTTP header

3.4 Các đặc trưng mạng

Dữ liệu mạng và các đặc điểm liên quan đến mạng giữa điểm thu thập dữ liệu và máy chủ web có thể tiết lộ một số thông tin liên quan chất lượng kết nối cũng như khả năng của xử lý của máy chủ đối với các yêu cầu của người dùng Nghiên cứu [18,32] đã thảo luận về các đặc trưng này trong việc phát hiện thư rác Một số đặc trưng trong các nghiên cứu này có thể được sử dụng để phát hiện các trang web giả mạo như sau:

ttl: Giá trị TTL được thu thập từ gói SYN/ACK được gửi từ máy cục bộ

advertised_window_size: Kích thước của trường cửa sổ quảng cáo TCP được

thu thập từ gói SYN/ACK được chấp nhận bởi máy chủ web

3_way_handshake: Khoảng thời gian giữa việc gửi gói SYN và việc gửi gói

ACK cho gói SYN/ACK nhận được

Trang 34

3.5 Các đặc trưng liên quan đến từ vựng của URL

Nhiều nghiên cứu trước đây [15,17,34–36,42,43] đã bàn luận về việc sử dụng các đặc trưng về từ vựng của URL để phát hiện các trang web lừa đảo và độc hại Chúng tôi tái sử dụng những đặc trưng từ vựng đó vì người ta đã chứng minh được tính khả thi của các đặc trưng này trong việc phát hiện lừa đảo

3.5.1 Có sử dụng địa chỉ IP thay tên miền không?

Đôi khi dù những kẻ tấn công muốn thiết lập các trang web lừa đảo nhưng không thể thiết lập các bản ghi DNS được có thể do mất công hoặc phát sinh chi phí Giải pháp nhanh nhất trong trường hợp này là sử dụng địa chỉ IP trực tiếp làm tên miền Ngược lại, một trang web hợp pháp sẽ không bao giờ làm như vậy vì việc này sẽ làm giảm trải nghiệm người dùng Ví dụ: người dùng sẽ thích truy cập www.google.com hơn là 172.217.6.14, do địa chỉ IP khó nhớ hơn nhiều Do đó, việc sử dụng địa chỉ IP thay tên miền được coi một đặc trưng

3.5.2 Ký tự đặc biệt trong tên miền

Ngoài việc kiểm tra việc sử dụng địa chỉ IP, chúng tôi cũng tính toán số lượng dấu chấm, số lượng chữ số, số lượng dấu gạch ngang và độ dài của tên miền và xem chúng là các đặc trưng Bên cạnh đó là kiểm tra tên miền có sử dụng các dịch vụ rút gọn tên miền không và có chứa chuỗi “http” hay “https” trong tên miền hay không

Các đặc trưng về từ vựng URL như sau:

have_ip_address: Nếu địa chỉ IP được sử dụng trực tiếp làm tên miền count_dot: Số lượng dấu chấm (".") có trong tên miền

count_digit: Số chữ số có trong tên miền

count_dash: Số lượng dấu gạch ngang ("-") có trong tên miền len_domain: Độ dài của tên miền

Trang 35

short_URL: Tên miền sử dụng dịch vụ rút gọn liên kết (link)

have_https: Có chứa chuỗi “http” hoặc “https” trong tên miền không

3.6 Đặc trưng liên quan đến các bản ghi của WHOIS

Các bản ghi WHOIS [37] thể hiện chi tiết đăng ký của một tên miền cụ thể, bao gồm ngày tạo, ngày cập nhật, ngày hết hạn, tổ chức đăng ký tên miền, chủ sở hữu tên miền, máy chủ DNS của tên miền và các thông tin khác

Các nghiên cứu trước đây [12,13,15,17,34,35,38] đã chứng minh tính thực tế khi sử dụng các đặc trưng được trích xuất từ các bản ghi WHOIS trong việc phát hiện các trang web lừa đảo Chúng tôi tái sử dụng các đặc trưng đã được đề xuất trong các nghiên cứu trước đây Tuy nhiên, các nghiên cứu này không thống nhất về tiêu chuẩn thiết lập về định dạng của bản ghi WHOIS cũng như giao diện lập trình ứng dụng (API) để truy xuất bản ghi WHOIS, làm cho việc thu thập và phân tích nội dung WHOIS trở nên khó khăn

3.6.1 Thông tin WHOIS theo thời gian

Trước hết, chúng tôi sử dụng các thông tin liên quan đến thời gian hết

hạn của tên miền để làm đặc trưng với whois_expDate Do tính chất tồn tại

trong thời gian ngắn của các trang web lừa đảo nên các mẫu đặc trưng theo thời gian này có thể khác so với các trang web hợp pháp

3.6.2 Tổ chức đăng ký WHOIS

Trong khi đó các nghiên cứu trước đây [12,13,17] đã chỉ ra rằng những kẻ lừa đảo có xu hướng lạm dụng một số tổ chức đăng ký nhiều lần Do đó, trường tổ chức đăng ký trong bản ghi WHOIS cũng được xem như một đặc trưng

3.6.3 Bản ghi WHOIS có bị khóa không?

Cuối cùng, việc xác định xem tên miền có bị khóa hay không sẽ được xét là một đặc trưng Tên miền bị khóa được xác định bằng trạng thái "Registrar lock" hoặc "client Transfer Prohibited" trong bản ghi WHOIS

Trang 36

Tên miền thường được khóa để ngăn chặn các thay đổi trái phép hoặc chuyển nhượng nhầm Tên miền bị khoá cho thấy tên miền này an toàn hơn so với những tên miền không bị khóa

Các đặc trưng WHOIS được liệt kê như sau:

whois_expDate: Thời gian hết hạn của tên miền

is_entry_locked: Xác định xem bản ghi WHOIS cho tên miền

này có bị khóa hay không

who_is_registrar: Tên nhà đăng ký được chỉ định trong bản ghi

WHOIS

3.7 Các đặc trưng của DNS

DNS đóng một vai trò quan trọng trong kiến trúc Internet Để đánh lừa người dùng cuối truy cập vào các trang web lừa đảo, kẻ xấu thường cố gắng tạo ra một trang giống như một trang web chính thống và yêu cầu người dùng cung cấp các thông tin cá nhân nhạy cảm Trong trường hợp này, kẻ tấn công cần cấu hình các bản ghi DNS khác nhau cho trang web của chúng, ví dụ như các bản ghi NS và A Nếu không, kẻ tấn công buộc phải sử dụng địa chỉ IP như tên miền đã được thảo luận trong Mục 3.4 Nếu cấu trúc DNS tương ứng được thiết lập cho các trang web lừa đảo, thì có thể phát hiện ra sự khác biệt về đặc điểm tiềm ẩn giữa các trang web lừa đảo và các trang web chính thống liên quan đến số lượng bản ghi DNS, loại bản ghi và Time to Live (TTL) của bản ghi thông qua phân tích nội dung DNS Các nghiên cứu trước đây [17,38] đã nêu ra các phương pháp trích xuất đặc trưng từ các bản ghi DNS Chúng tôi tái sử dụng một số đặc trưng đã được đề xuất đồng thời thêm các đặc trưng mới

3.7.1 Bản ghi A

Chúng tôi bắt đầu bằng việc xem xét số lượng bản ghi loại A khác nhau Bản ghi loại A dùng để ánh xạ từ một domain thành địa chỉ IP cho phép truy cập website Khi có nhiều hơn một bản ghi A cho cùng một tên

Trang 37

miền có thể cho thấy một số thông tin quan trọng về cơ sở hạ tầng lưu trữ của miền đó Thay vì chỉ có một máy chủ duy nhất phục vụ trang web, có thể có nhiều máy chủ hoạt động song song để cân bằng tải và đáp ứng yêu cầu từ người dùng

num_A_record: Số lượng bản ghi A trong tất cả các phản hồi DNS

3.7.2 Bản ghi AAAA

Đây là bản ghi DNS dùng để liên kết một tên miền với địa chỉ IPv6 [39] Do đó, nó có thể là một dấu hiệu cho thấy một tên miền sẵn sàng áp dụng các kiến trúc Internet hiện đại thế hệ tiếp theo Một tên miền sẵn sàng chấp nhận các thiết kế hiện đại để đảm bảo lợi ích lâu dài thì ít có khả năng là một trang web lừa đảo, vì các trang web lừa đảo được tạo ra thường phục vụ cho mục đích ngắn hạn Chúng tôi xem bản ghi AAAA là một đặc trưng nhị phân, cụ thể như sau:

exist_AAAA_record: có tồn tại địa chỉ IPv6 cho tên miền hay không

3.8 Các đặc trưng chuyển hướng HTTP (HTTP Redirection)

Trong thực tế, cả trang web chính thống lẫn trang web lừa đảo đều sử dụng chuyển hướng (redirection), nhưng với mục đích khác nhau Một tên miền chính thống, giả dụ như xyz.com, có thể chuyển hướng người dùng đang truy cập http://xyz.com sang https://xyz.com để đảm bảo an toàn trong quá trình trao đổi thông tin Ngược lại, một trang web lừa đảo có thể che giấu danh tính sau quá trình chuyển hướng truy cập để tránh bị phát hiện, như nhóm tác giả trong nghiên cứu [8] đã chỉ ra Vì vậy, đối với mỗi URL hoặc tên miền, chúng tôi thực hiện kiểm tra số lần chuyển hướng truy cập và xem như một đặc trưng Ví dụ, nếu mộ trang web có một loạt các hoạt động chuyển hướng có thể xem trang web này là khả nghi

Danh sách các đặc trưng được trích xuất từ chuyển hướng được trình bày như sau:

Ngày đăng: 30/07/2024, 17:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w