ĐẠ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Ĩ
Trang 2CƠ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
Cán bộ chấm nhận xét 1: TS Nguyễn Đức Thái
Cán bộ chấm nhận xét 2: PGS TS Trần Công Hùng
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 11 tháng 07 năm 2023
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 Chủ tịch PGS TS Phạm Quốc Cường
2 Thư ký TS Lê Thành Sách
3 Phản biện 1 TS Nguyễn Đức Thái 4 Phản biện 2 PGS TS Trần Công Hùng 5 Ủy viên TS Lê Hoành Sử
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
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
Tp HCM, ngày …… tháng …… năm 2023
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
HỘI ĐỒNG NGÀNH
(Họ tên và chữ ký)
TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 4i
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 đã ln 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 q 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ị
Trang 5ii
Tóm tắt nội dung
Trang 6iii
Abstract
Trang 7iv
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 q 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
Ngồ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 hồn tồ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 q 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
Trang 8v
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 đố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
3.7 Các đặc trưng của DNS 25
3.8 Các đặc trưng chuyển hướng HTTP (HTTP Redirection) 26
CHƯƠNG 4 28
THIẾT KẾ MƠ HÌNH 28
4.1 Thiết kế mơ hình phân loại 28
4.2 Thu thập dữ liệu 33
4.3 Các thuật toán Học máy 34
4.4 Các chỉ số đánh giá 36
CHƯƠNG 5 39
ĐÁNH GIÁ KẾT QUẢ 39
5.1 Thiết lập thử nghiệm 39
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
Trang 9vi
5.6 Đánh giá đối với các trang web có thứ hạng thấp hơn ngồ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
Trang 10vii
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
Trang 11viii
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
Trang 121
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ó
Trang 132
Khi máy khách kết nối với máy chủ thơng qua HTTPS, q 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ã hố đầ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
Trang 143
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
Trang 154
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 tồn hay khơng Q 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 qt 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]
Trang 165
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
Trang 176
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ế q 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 tố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
Trang 187
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ự đốn tổng thể là 97% với tỷ lệ cảnh báo giả thấp
Trang 198
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 đố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
Trang 209
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 đố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 đố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
Trang 2110
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 Ngồ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
Trang 2211
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 ngồ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
Trang 2312
Trang 2413
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ỉ
Trang 2514
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
phần mở rộng của chứng chỉ
authority_key_identifier: Nếu trường authorityKeyIdentifier tồn tại trong phần mở rộng của chứng chỉ
subject_key_identifier: Nếu trường subjectKeyIdentifier tồn tại trong
phần mở rộng của chứng chỉ
basic_constraints: Nếu trường basicConstraints tồn tại trong phần mở
rộng của chứng chỉ
certificate_policies: Nếu trường certificatePolicies tồn tại trong phần
mở rộng của chứng chỉ
extended_key_usage: Nếu trường extendedKeyUsage tồn tại trong
phần mở rộng của chứng chỉ
CRL_distribution_points: Nếu trường crlDistributionPoints tồn tại trong phần mở rộng của chứng chỉ
key_usage: Nếu trường keyUsage tồn tại trong phần mở rộng của
chứng chỉ
subject_alt_name: Nếu trường subjectAltName tồn tại trong phần mở
rộng của chứng chỉ
Trang 2615
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
Trang 2716
- 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
Trang 2817
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
Trang 2918
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 tố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 tồ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
Trang 3019
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 tốn chính là một đặc trưng vì bản thân thuật
tố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 tốn khơng an tồ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ỉ.
Trang 3120
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 đố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
Trang 3221
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ủ
Ngồi việc qt 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 số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
Trang 3322
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 số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
Trang 3423
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 tố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
Trang 3524
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?
Trang 3625
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
Trang 3726
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 q 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 q 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
Trang 3827
len_redirection_chain: Độ dài của chuỗi chuyển hướng từ URL/tên miền ban
đầu đến điểm đích cuối cùng
different_domains_crossed: Số lượng tên miền khác nhau đã vượt qua trong
Trang 3928
CHƯƠNG 4
THIẾT KẾ MÔ HÌNH
Trong phần này, chúng tơi sẽ lần lượt trình bày về thiết kế của mơ hình thu thập dữ liệu và mơ hình huấn luyện phân loại Sau đó, chúng tơi thảo luận về q trình thiết lập thử nghiệm, bao gồm quy trình thu thập dữ liệu, nguồn dữ liệu trang web hợp pháp và trang web lừa đảo, thuật toán học máy được áp dụng và phương pháp đánh giá kết quả phân loại
4.1 Thiết kế mơ hình phân loại
Quy trình thiết kế mơ hình thu thập dữ liệu và xây dựng bộ phân loại của chúng tơi tn thủ các tiêu chí sau:
- Bộ phân loại phải đạt được tỷ lệ cảnh báo sai thấp, vì nếu phân loại nhầm trang web hợp pháp thì có thể dẫn đến các rắc rối liên quan đến pháp lý, thậm chí là thiệt hại về tài chính Trên thực tế, khi phát triển một ứng dụng thương mại, người quản lý hệ thống sẽ ưu tiên tỷ lệ cảnh báo sai thay vì tỷ lệ cảnh báo đúng cao
- Bộ phân loại phải có khả năng đối phó với các kỹ thuật “ẩn giấu” của kẻ tấn cơng Do đó, u cầu bộ đặc trưng phải có chứa những đặc trưng đủ để gây khó khăn cho bất kỳ âm mưu giả mạo hay lừa đảo nào
- Mơ hình thu thập đặc trưng phải linh hoạt đối với những thay đổi trong bộ đặc trưng và quy trình thu thập dữ liệu Xét đến khả năng thay đổi bản chất liên tục của các trang web lừa đảo nên bộ đặc trưng đơi khi có thể cần phải được điều chỉnh Do đó, mơ hình mà chúng tôi đề xuất cần phải dễ dàng cập nhật được những thay đổi
Trang 4029
4.1.1 Quy trình huấn luyện bộ phân loại
Mơ hình thu thập dữ liệu và mơ hình phân loại của chúng tôi bao gồm: Một tập hợp các quy trình thu thập và trích xuất đặc trưng riêng lẻ, trình tạo tập dữ liệu huấn luyện/kiểm tra và bộ phân loại học máy
4.1.2 Luồng xử lý dữ liệu thơ và trích xuất đặc trưng
Do chúng tơi đã có danh sách các trang web được gắn nhãn nên bước đầu tiên trong quy trình làm việc của chúng tôi là thu thập các bộ dữ liệu thơ tương ứng với từng nhóm đặc trưng Luồng trích xuất đặc trưng và xử lý dữ liệu thơ bao gồm trình thu thập thơng tin, cơ sở dữ liệu dữ liệu thô, bộ xử lý dữ liệu thô và cơ sở dữ liệu đặc trưng, từ đó tạo ra tập hợp các giá trị đặc trưng tương ứng với nhóm đặc trưng hiện tại để sử dụng sau này (xem Hình 3) Để có được các quy trình thu thập và phân tích thuận tiện và độc lập nhất, mỗi luồng (pipeline) có thể tương ứng với một hoặc nhiều nhóm đặc trưng, ví dụ như các nhóm được mơ tả trong trong Chương 3 Ưu điểm chính của thiết kế này là khả năng kết nối thấp giữa các luồng, điều này giúp các trình thu thập và phân tích đặc trưng khơng bị xung đột lẫn nhau Do đó, thiết kế này có được những điểm tương đồng với mơ hình gắn và thực thi (plugin-and-play) khi muốn thêm bất kỳ nhóm đặc trưng mới nào vào trong tương lai Chính vì vậy mà việc loại bỏ các nhóm đặc trưng cũ cũng đơn giản như ngắt (unplug) luồng liên quan ra khỏi hệ thống