ĐẠ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
CƠNG TRÌNH ĐƯỢC HỒ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
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
ĐẠ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ỘI ĐỒNG NGÀNH
(Họ tên và chữ ký)
(Họ tên và chữ ký)
TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)
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 ln 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ị.
Cảm ơn tất cả mọi người đã luôn bên em, ủng hộ và đồng hành cùng em.
i
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 tố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.
ii
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.
iii
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
Vũ Thành Tài
iv
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
5.5 So sánh với các nghiên cứu khác ............................................................................ 53
v
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
vi
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
vii
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
viii
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 tồ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.
1
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 q 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ẻ
2
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
3
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].
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.
4
Hình 2. Cảnh báo website lừa đảo của trình duyệt Chrome
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
5
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.
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
6
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.
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. Ngồ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.
7
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.
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
8
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.
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
9
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.
10
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 tố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ó
11
được một cái nhìn tồ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.
12
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,
ngồ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
13
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ỉ.
extension_count: Tổng số trường mở rộng chứa trong chứng chỉ này.
14