BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
NGUYEN LY DUY PHƯƠNG
ỨNG DỤNG MÁY HỌC TRONG VIỆC
PHÁT HIỆN CÁC LIÊN KẾT ĐỘC HẠI CHUYEN NGANH: KHOA HOC MAY TINH
MA SO: 8.48.01.01
LUAN VAN THAC SI KHOA HOC DINH HUGNG UNG DUNG
NGUOI HUONG DAN KHOA HOC TS NGUYEN VAN HOA
Thừa Thiên Huế, 2020
Trang 2
LOI CAM DOAN
Tơi cam đoan cơng trình nghiên cứu này là của riêng tơi Bắt nguồn từ yêu cầu phát sinh trong cơng việc đã hình thành hướng nghiên cứu, những số liệu cĩ nguồn gốc rỏ ràng Kết quả nghiên cứu trong luận văn do tơi tự tìm hiểu, phân tích khách quan phù hợp với yêu cầu phát sinh trong cơng việc Kết quả này chưa từng được cơng bố trong bất cứ nghiên cứu nào
Tác giả
Trang 3LOI CAM ON
Xin chân thành cảm ơn Thầy hướng dẫn, TS Nguyễn Văn Hịa, Phĩ Trưởng
Khoa Cơng nghệ Thơng tin, Trường Đại học An Giang Thây đã tận tình hướng dẫn
và tạo điều kiện thuận lợi để tơi thực hiện luận văn này
Xin gửi lời tri ân đến tất cả quý Thầy, Cơ Khoa Cơng nghệ thơng tin Trường
Đại học Khoa học, Đại học Huế Thay, Cơ đã tận tình truyền dạy những kiến thức
và kinh nghiệm quý báu cho tơi trong suốt quá trình học tập
Xin chân thành gửi lời cảm ơn tới Ban Giám hiệu Trường Đại học An Giang,
Ban Giám đốc Trung tâm Tin học, quý đồng nghiệp Trung tâm Tin học đã hỗ trợ và
tạo điều kiện thuận lợi để tơi hồn thành khĩa học
Cảm ơn tất cả các bạn học lớp Cao học Khoa học máy tính khĩa 2018 — An
Giang đã động viên và chia sẻ những khĩ khăn trong suốt quá trình học tập
Sau cùng, xin gửi lời cảm ơn sâu sắc tới gia đình, ơng bà, cha mẹ, anh chị em
đã động viên, chia sẻ khĩ khăn và hết lịng hỗ trợ, tạo điều kiện thuận lợi để tơi
hồn thành tốt khĩa học này Trân trọng!
Tác giả
Nguyễn Lý Duy Phương
Trang 4Trang
LỜI CAM ĐOAN 55-225c 2 1222112221122T1122112.1121 21102020 eeere i
LOT CAM ON 0c csccccescsssescssssssssescsssvessssvecsssvecssssecssssvsssssesssssvesssuvessssvesesseesesseeesanees ii
MỤC LỤC ©2252-222222E11212E115221112211112221112.T1110.1112.110.11 0 cEee Hi
DANH MỤC CÁC BẢNG, - 5c 2s E111E110211102111 0111.0111 11x 11g11 xe eyeg Vv
DANH MUC CAC HINH ou cccccccssssscsssssesssssesssssscssssecssssecsssssesssssecesssessssscesssvessssees vi
DANH MỤC CÁC CHỮ VIẾT TẮTT - 6+ E+k++EEEtSEEtEEEXtEE11e221xEEkxrer vii
MO DAU oooeecccccsccccssessssessssessssecsssecssuesssscsssecsssestssecsssscsssessssesssessssesssuessueeessessseeeesecseses 1 Chương 1 TÌM HIỂU VẺ UNIFORM RESOURCE LOCATOR 5
1.1 Tổng quan về URLL -2-222+22222122122112112211211211211211211211212222 re 5
1.2 Cac dang URL độc hạt i5 2 122121121111 21121111 1E E1 HH Ha Hee 9
1.3 Phương pháp nhận dạng URL độc hại - 5:55: SccSs*sxsvcsrrrxsvrsee 11
1.3.1 Danh sách đen - - Q2 221112231 1115211 1151111151111 1 1121111501111 1xx ke 11
1:8:2 Phương pháp máy HỌC ssezrrseoorssdiairiihGiSiythoNEiLIRORSHIERORGHISESRHSSISE-SNitGB 14
1.4 Tiểu kết chương Ì 2-2222 222222122212212212211221121121222212 xe 17
Chuong 2 MOT SO THUAT TOAN PHAN LOP DU LIEU TRONG KY THUAT MAY HOC CO GIAM SAT
2.1 Thuật tốn k láng giểng -22+2222211221227112711271121121121222ee "5N Gi8ìn “ ẽ acc 18 2.1.2 Thuật tốn - t1 He 18 2.2 Thuật tốn Bayes ngây thơ - S2: 1211 E1 12 tt HH HH Hà HH tre 22 2.2.1 GiGi thigu en dttiiắ4 22 22.2) TAWA O8N ecco eee EERE 22 2.3 Thuật todn cay quyét dim cee cee ceee sees eeeetesetette tte teteteteteeeeeeeees 26 2.3.1 Giới Thiệu 2t 2111111 ey 26 2.3.2 Cấu trúc cây quyết định 2-2222212221222122112222222 e6 27 2.3.3 Xây dựng cây quyết định 2222222 222122212211221.2222 xe 30 2.3.4 Một vài thuật tốn đùng xây dựng cây quyết định -22 e: 31
Trang 52.4 Máy học véc-tơ hỗ trỢ 5s s22 221221121121122112112112212121121222 re 37 2.4.1 Giới thiệu 222: 22222222111222111221112211112221112211221222222 ae 37 2.4.2 Thuật tốn - 222 22211222211222211122111122112222122222222 ae eae 38 2.5 Tiểu kết chương 2 52222222122122112211211211211211212212222122 xe 42 Chương 3 ỨNG DỤNG KỸ THUẬT MÁY HỌC VÀO VIỆC PHÁT HIỆN CÁC URL ĐỘC HẠI 2-26 St SE E9 112111211121112111211 1111111111111 11p 43
3.1 Mơ tả bài tốn và bộ đữ liệu 2-2222: 22211222211222112211122212 22 re 43
3.1.1 Tổng quan bài tốn -222222222512211221122112211221222122222222222 e6 43
3.1.2 Bộ đữ liệu 52 2222122211222 are 44
3.2 Phương pháp đánh giá mơ hình 12: 232 EE ErEtrttrrrerrrrrrerrre 44 3.3 Các tham số của mơ hình và mơi trường thực nghiệm . - 2 46
3.4 Kết quả thực nghiệm .-2- 22 222222222112131221121122112111221121122221122 2 ee 47 3.5 Tiểu kết chương 3 22 222212221121112111211221112111211122221212ee 50 KET LUAN VÀ HƯỚNG PHÁT TRIỂN 2 2s+2eEE++EEEzEEerrxerrkerrk 51 Kết luận - 222222 2212221121121122212211221122112122122112121221212222 are 51 Huréng phat trig ooo occ cee cesesseeeeesseneenenttentntettteseteeteteeteteetentseteseeees 51
TÀI LIỆU THAM KHẢO 552 S2 E12E11221112111121112111 211.1 ca 52
:108009 255 .4aBHĂ)HA ,), ,ƠỊƠỎƠ 55
Trang 6Bang 1.1 Bang 2.1 Bang 2.2 Bang 2.3 Bang 2.4 Bang 2.5 Bang 2.6 Bang 2.7 Bang 3.1 Bang 3.2 Bang 3.3 DANH MUC CAC BANG Trang
Các thuộc tính và mơ tả . 2 211 2211112211115 1115111111821 1 112211 krez 15
Bảng điểm khả năng của các nhân viên 2- 222222222 22222222222-<e 19 khoảng cách Euclid các thuộc tính -cc: ccsccsssixsrrrrrsrerreres 19
Dũ liệu thời Ho ngangnngthihtotiDODSGT0000.000SG1GGEQS01HSGHDU.2HS.EHSHHSEH4 23
Xác suất chơi hay khơng chơi tennis của thuộc tính OUTLOOK 24 Xác suất chơi hay khơng chơi tennis ctia thuéc tinh TEMPERATURE 24 Xác suất chơi hay khơng chơi tennis ctia thuéc tinh HUMIDITY 24 Xác suất chơi hay khơng chơi tennis của thuộc tinh WIND 24
Nửa trâu biển diễn bộ:dữ TÊN sessesnasangonbtbiiossadgidiuctissDuisig0xsd08 44
Trang 7DANH MỤC CÁC HÌNH
Trang
Hình 1.1 URI với đầy đủ các thành phần 22222 222221225122112221221221222 xe 6
Hình 1.2 Bảng mã các ký tự đặc biệt trong UR.L - c5: 2s scsrerrerrrrerreee 6 Hình 1.3 URL là thành phần con của URÌ 22 222222222E222512251223122122212212222 e2 7
Hình 1.4 Các thành phần của URL đơn giản -2-©22-222222222212221225122212222222xe2 7
Hình 1.5 Một URL với các thành phần 22: 22 22222522251222122212221221122122 xe 8
Hình 1.6 Danh sách các URL được xác nhận là mạo danh -. +22 <c++ss+ 12
Hình 1.7 Giao diện trang giả mạo một trang web của hãng Adobe 13 Hình 1.8 Théng tin vé domain của trang web giả mạo -522 2222222221226 13 Hình 1.9 Mơ hình chung phát hiện URL độc hại bằng phương pháp máy học 15 Hình 2.1 Biểu đồ phân bố các nhĩm với vị trí hình trịn gần các hình tam giác 20 Hình 2.2 Biểu đồ phân bố các nhĩm với vị trí hình trịn gần các hình vuơng 21
Hình 2.3 Mơ hình cây quyết định 22 2222222212221222112111211221221 22 xee 27
Hình 2.4 Cây đưa ra quyết định học hay chơi 22-222 2221221122122212212222 e6 28 Hình 2.5 Phân bố dữ liệu hai màu lục và đỏ trên khơng gian hai chiều 29 Hình 2.6 Cây quyết định mơ tả việc phân lớp hai màu lục và đỏ 29 Hình 2.7 Đồ thị hàm entropy với n=2 2222222212221122112211211221211221 2x6 33 Hình 2.8 Mơ tả phân lớp đữ liệu bằng SVM -.©2222222221222122222122.2 e6 37 Hình 2.9 Tạo mặt siêu phẳng tách các lớp 2-©2222222122122212221222122122ee 38 Hình 2.10 Chọn mặt siêu phẳng với sự phân tách tối đa 2 222-2 39 Hình 2.11 Phân bố dữ liệu khơng thể tìm được mặt siêu phẳng - 39 Hình 2.12 SVM kernel chuyển đổi khơng gian trục y thành trục Z 40 Hình 2.13 Mơ tả phân lớp dữ liệu bằng SVM 5222222221222122122212222 e6 40 Hình 3.1 Các bước xây dựng mơ hình dự đốn .- ¿5c cccsssserrrrsrrrrer 43 Hình 3.2 Mơ tả đánh giá mơ hình theo phương pháp Cross validation 46 Hình 3.3 Kết quả phân loại theo tiêu chí Accuracy -5 22222222222122E-ee 48 Hình 3.4 Kết quả phân loại theo tiêu chí Precision 22 2+22222222222222222-e 48 Hình 3.5 Kết quả phân loại theo tiêu chí Recall
Hình 3.6 Kết quả phân loại theo tiêu chí F1
Trang 8
DNS HTML IDS IP SVM URI URL URN
DANH MỤC CÁC CHU VIET TAT
Domain Name System (Hé thống phân giải tên miền)
HyperText Markup Language (Ngơn ngữ đánh dấu siêu văn bản) Intrusion Detection System (Hệ thống phát hiện xâm nhập) Internet Protocol (Giao thức Internet)
Support Vector Machine (Máy học véc-tơ hỗ trợ)
Uniform Resource Identifier (Dinh danh tai nguyén théng nhat) Uniform Resource Locator
Uniform Resource Name
Trang 91 Lý do chọn đề tài
Với sự phát triển của cơng nghệ nĩi chung và Internet nĩi riêng, xã hội đang
chuyền dần sang xã hội thơng tin, nơi mà mọi hoạt động xã hội đơn thuần như mua
hàng, thanh tốn hĩa don hang tháng, giải trí đến các giao địch kinh tế đều cĩ thé
thực hiện trên nền cơng nghệ thơng tin thơng qua Internet Do sự tiện lợi, nhanh
chĩng, đáng tin cậy nên việc gia tăng các ứng đụng tiện ích trên nền cơng nghệ thơng tin ngày cảng nhiều và đa dạng về hình thức, và cũng chính gì thế, việc gia tăng rủi ro về an tồn thơng tin cũng tăng theo
Những người dùng đầu cuối là một trong những mục tiêu rất dễ trở thành nạn nhân của những rủi ro về tính an tồn thơng tin, vì trong hầu hết các trường hợp, họ khơng nhận thức được các rủi ro này và cũng khơng biết cách phịng tránh Ngay cả những người sử dụng máy tính trong một cơ quan, tơ chức đã được cảnh báo và
nhận thức được các rủi ro trên từ các chính sách của đơn vị nhưng đơi khi cũng
khơng thể tránh được các rủi ro vì các hình thức tấn cơng, lừa đảo trên Internet ngày càng tỉnh vi về hình thức cũng như về mặt kỹ thuật [1]
Từ năm 2016 đến 2017 cĩ tương đương 24.000 ứng dụng độc hại bị chặn
mỗi ngày, chỉ phí an ninh tăng 22,7% với tương đương 2.4 triệu đơ la thiệt hại từ
những phan mềm độc hại, 411 triệu tài khoản bị đánh cắp trong năm 2017 [2] Lĩnh
vực an ninh mạng cũng đã cĩ những bước tiến với những cơng cụ, chính sách, khái
niệm, giao thức, kỹ thuật và những hành động cụ thể để bảo vệ các tố chức và cá
nhân, giúp duy trì tính bảo mật [3]
Báo cáo của Internet Security 2016 Symantec đã nêu lên những mối đe đọa về đữ liệu của những cơng ty về vấn đề tấn cơng vào các trình duyệt web lừa đảo,
mã hĩa thơng tin từ các hoạt động trực tuyến, báo cáo cũng nêu lên một số thủ thuật của những kẻ lừa đảo Trong đĩ cĩ việc lợi dụng các liên kết web đề thực hiện
lừa đảo chiếm đa số Cũng theo báo cáo Webroot Threat Report 2019 thì 40% các liên kết độc hại được tìm thấy trong các tên miễn nổi tiếng, trong đĩ Trung Quốc,
Trang 10Việc thu thập thơng tin người dùng, xem trộm, mã hĩa dữ liệu được thực hiện
bằng nhiều hình thức khác nhau từ việc phát tán mã độc thơng qua các thiết bị lưu trữ; thơng qua chia sẻ tài nguyên trên mơi trường mạng: email, liên kết trên web
Mơi trường Internet tiềm ân nhiều mỗi đe dọa, trong đĩ cĩ các trang web chứa các mã độc hay các liên kết dẫn đến mã độc ngày càng nhiều Các liên kết web
độc hại chứa các nội dung: lừa đảo, spam, các kịch bản tự cài đặt các chương trình
độc hại Đây là một trong những cách đánh lừa người dùng web vơ tỉnh hay cố ý
truy cập vào nĩ, dẫn đến các thiệt hại Hiện nay các liên kết độc hại chiếm phần lớn
trong các vấn để đe dọa an ninh mạng Các liên kết này đã trở thành một trong những cơng cụ hiệu quả để các tội phạm cơng nghệ sử đụng nhằm mục đích:
- _ Thực hiện đánh cắp thơng tin cá nhân của người dùng:
- Cai dat các phan mềm độc hại như virus hoặc trojan từ các tập tin
được tải về máy tính hoặc lừa người dùng dưới đạng một trị giải
trí nhỏ;
- Thể hiện thơng tin lừa đảo, các quảng cáo độc hại
Cĩ nhiều cách để ngăn chặn các URL độc hại Phương pháp cơ bản là so sánh với danh sách các URL độc hại với những thơng tin như tên miễn, nội dung trang
web độc hại Tuy nhiên, cách thức trên chưa thực sự hiệu quả vì danh sách các liên
kết độc hại khơng thể đầy đủ và thiếu khả năng phát hiện các URL độc hại mới
Chính vì thế việc cải thiện khả năng phát hiện các URL độc hại bằng kỹ thuật máy học đã được để xuất với tính khả thi cao trong những năm gần đây Cũng từ yêu cầu cấp thiếp này tơi thực hiện đề tài tài “Ứng dụng máy học trong việc phát hiện các liên kết độc hại” nhằm gĩp phần ngăn chặn một phần nào đĩ các liên kết
độc hại với mục đích bảo vệ người dùng Internet trước những nguy cơ nêu trên 2 Mục tiêu nghiên cứu
- Tìm hiểu tổng quan URL, URL độc hại;
Trang 11- Xây dựng mơ hình nhận dạng URL độc hại bằng phương pháp máy
hoc: kKNN; Naive Bayes; Cay quyét dinh; may hoc véc-to hé tro
3 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu:
- Các dạng URL độc hại
- Tap dữ liệu các URL đã duoc gan nhãn
Phạm vi nghiên cứu: Luận văn chỉ tập trung nghiên cứu việc ứng dụng
phương pháp máy học để dự đốn một URL độc hại hay khơng độc hại dựa trên bốn
thuật tốn phân lớp là KNN: Nạve Bayes; Cây quyết định, Máy học véc-tơ hỗ trợ 4 Phương pháp nghiên cứu
- Tim hiéu, phân tích và tổng hợp tài liệu cĩ liên quan đến đề tài từ các nguồn như: Internet, các bài báo, sách, giáo trình trong và ngồi nước - _ Tổng hợp và phát triển các kết quả ở trong các bài báo của các tác giả
đã nghiên cứu thành cơng trước đĩ
- Tim hiéu tap dữ liệu về URL độc hại
- Phân tích các các chương trình mẫu nguồn mở liên quan đến dé tài
lam cơ sở thực hiện lại cho phù hợp với nhu cầu của để tài
5 Ý nghĩa thục tiễn của đề tài
Cĩ nhiều cách để ngăn chặn các URL déc hại, phương pháp cơ bản là so sánh với đanh sách các URL độc hại với những thơng tin những danh sách tên miền độc
hại, danh sách IP độc hại, các danh sách này được cung cấp bởi người dùng, khi
một trang web được yêu cầu thì yêu cầu này được tìm trong các danh sách trên, nếu kết quả là cĩ thì trang web này được báo là trang web độc
Trang 12Cách thức phát hiện các URL độc hại như trên gần như khơng cịn phù hợp, những kẻ tấn cơng luơn tìm những cách thức mới để đánh lừa các chương trình phịng chống truy cập các URL độc hại Một khĩ khăn khác là do cấu trúc động của các trang web hiện nay nên việc áp dụng danh sách đen kém hiệu quả, chính vì thế việc ứng dụng máy học vào việc phát hiện URL độc hại là phương pháp mới và cĩ
tính khả thi cao Chính vì thế việc xác định các tính năng đặc trưng của các URL
Trang 13Chương 1 TÌM HIEU VE UNIFORM RESOURCE LOCATOR
1.1 TONG QUAN VE URL
URL hay thường được gọi là địa chi web, nĩ tham chiếu đến một vị trí tài
nguyên trên mạng máy tính Tham chiếu này ta cĩ thể truy xuất đến tài nguyên đĩ URL là một thành phần con của URI nên đơi khi người ta đồng nhất hai thuật ngữ này
Cú pháp của URL tuân theo cú pháp chung của URI và được viết bằng một chuỗi phân cấp gồm năm thành phần:
Trong đĩ:
- Scheme: chi dinh giao thtrc nao duoc ap dung nhu “http”, “https”, “ftp”, “mailto” tùy vào chương trình phía người đùng mà cĩ thể phần
này được tự động thêm vào
-_ Authority bao gồm ba thành phần và cĩ cấu trúc như sau:
+ User informaftion: chứa thơng tin người dùng:
+ Host: Vi tri cần truy cập đến, nĩ cĩ thể là một tên miền, hoặc một địa chỉ IP Với tên miền nĩ cĩ thể kết hợp với tên mién con nhu “www”, “mail”, “news” Vi du: www.agu.edu.vn, mail.agu.edu.vn
+ Port: céng kết nối đến dịch vụ Ví dụ: cơng 80 la dich vu http, céng
443 la dich vu https V6i nhitng céng mac dinh thì tùy theo ứng dụng chương trình phía người dùng cĩ thé tự thêm vào
- Path: Chi dinh tai nguyén trên host, cĩ thé chi dinh dén mét tap tin nhất định, trường hợp khơng chỉ định đến tập tin thì tùy thuộc vào cầu
hình của máy chủ mà sử dụng một tên tập tin nào đĩ chẵng hạn như
Trang 14- Query: Là một đấy các khĩa hoặc giá trị dùng chuyên đến máy chủ
yéu cầu thực hiện việc nào đĩ Ví dụ: Tham số tra cứu dữ liệu trên
trang web tìm kiếm
- Fragment: Thuong ding đánh dấu trên trang HTML được chỉ định bang “ID” hoac “NAME”
Thể hiện đầy đủ các thành phần của URI như Hình I.I: hierarchical part | authority path 1 1 ĩ 1T 1
abc: //username: password@example.com:123/path/data?key=value#fragidi
scheme user information host port query fragment
Hình 1.1 URI với đầy đủ các thành phần
Cĩ nhiều thanh phan trong URI bat buộc phải cĩ và một số thành phần chỉ cần cĩ trong một số trường hợp nhất định
Ví dụ: Dấu chấm hỏi (*?”) tại vị trí sau đường dẫn và yêu cầu truy vấn dữ liệu
với dấu thăng (“#”) cũng như dấu hai chấm (“:”), dấu a mĩc (Œ@'”) chỉ cần thiết khi việc truy cập cần phải cung cấp thơng tin tài khoản
Do việc truy vấn cĩ thể thực hiện trên nhiều loại dữ liệu khác nhau và cĩ thể chứa những ký tự đặc biệt nên các ký tự đặc biệt được mã hĩa theo quy định của RFEC 3986 Việc mã hĩa được thực hiện bằng các ký tự % tiếp theo sau là hai chữ số hexa điển hình:
%21 #23 X24 %26 S27 #28 X29 XĨA XE XC XE XƠA XÊB OID XEE X46 X5E MSD
Trang 15Một URI cĩ hai thành phần con, được mơ tả như Hình 1.3:
URI
Q
Hình 1.3 URL là thành phần con của URI Uniform Resource Locator (URL)
Uniform Resource Locator (URL) hay thuong duoc coi nhu mét địa chỉ một
trang web, là một tham chiếu đến tài nguyên của một trang web hay trên một máy chủ dịch vụ nào đĩ trong mơi trường mạng máy tính
URL là một dạng của Uniform Resource Identifier (URI: La mét chuỗi các ký tự để xác định một định danh tài nguyên), URL dùng tham chiếu đến các tài
nguyên như: web (http); truyền file (FTP); email (mailto) Domain | /vi/lien-he ‡ Protocol Path
Hình 1.4 Các thành phần của URL đơn giản
-_ Profocol: Hay cịn gọi là giao thức, là cách thức giao tiếp giữa chương trình người dùng và máy chủ dịch vụ Hiện nay cĩ những giao thức phơ biến như:
Trang 16+ SFTP (Secure File Transfer Protocol): Duoc Internet Engineering Task Force (IETF) thiét ké nhim mục đích mã hĩa các thơng tin được truyền trên mơi trường mạng
+ POP3 (Post Office Protocol): Là giao thức giúp người dùng nhận email từ máy chủ
+ SMTP (Simple Mail Transfer Protocol): La giao thức giúp người dùng gửi các email
+ IMAP (Internet Message Access Protocol): Giúp người dùng gởi,
nhận email và được thao tác trực tiếp trên máy chủ
+ HTTP (Hypertext Transfer Protocol): Giao thức truyễn tải siêu văn bản được sử dụng để truyền tải đữ liệu giữa Web server đến các
trình duyệt Web và ngược lại
Trang 17- _ Hostname gồm các thành phần:
+ Tên miễn cấp cao: Theo ví dụ này là “.sg” là tên miễn cao cấp nhất trong hệ thống tên miền được phân cấp sử dụng Tên miền cấp cao được Internet Corporatlon for Assigned Names and Numbers (CANN) cung cấp và quản lý, các tên miền cấp cao phơ biến như: com, net, gov Da phan cdc quéc gia đều cĩ tên miền cấp cao nhất gồm hai chữ cái như: vn (Việt Nam), us (Mỹ), au (Australia) - _ Tên miền phụ (Subdomain): DNS là một hệ thống phân cấp, trong vi
dụ này là phần www.google.com Trong một số trường hợp người dùng cĩ thê sử dụng địa chi IP thay thé cho tên miễn
- _ Đường dẫn (Path): Đường dẫn đến tài nguyên trên host, nĩ được phân cấp và bắt đầu bằng đấu “/”, phần cuối cùng là tên file được truy cập đến Trong vì dụ này là “webhp?hl=zh-CN”
- Truy van (Query): Vai trị của truy vấn là xác định những thứ khơng phải là một cấu trúc đường dẫn nhất định Nĩ thường được sử dụng để
thực hiện truy vấn dữ liệu, phan truy vấn được thể hiện ngay sau dấu
chấm hỏi (“?”) sau đường dẫn Trong vì dụ nay la “hl=zh-CN”
Uniform resource name (URN)
Định danh một tài nguyên nào đĩ theo tên, khơng bao gồm vị trí và luơn bắt đầu bằng tiền tố “urn:” Ví đụ:
-_ urn:issn: 0866-8086 - số tiêu chuẩn quốc tế cho Tạp chí khoa học của
Truong Dai hoc An Giang;
-_ um:;publishing:book — xác định tài liệu loại sách trong ngơn ngit XML
1.2 CAC DANG URL DOC HAI
Mơi trường Internet tiềm ân nhiều mỗi đe dọa, trong đĩ cĩ các trang web chứa các mã độc hay các liên kết dẫn đến mã độc ngày càng nhiều Các liên kết web
Trang 18trình độc hại Đây là một trong những cách đánh lừa người dùng web vơ tình hay
cố Ý truy cập vào nĩ dẫn đến các thiệt hại Hiện nay các liên kết độc hại chiếm phan
lớn trong các vấn để đe dọa an ninh mạng
Các liên kết này đã trở thành một trong những cơng cụ hiệu quả để các tội phạm cơng nghệ sử dụng nhằm mục đích:
- _ Thực hiện đánh cắp thơng tin cá nhân của người dùng, của tơ chức;
- May tinh bi kiểm sốt, trở thành những botnet sẵn sàng nhận lệnh từ
máy chủ nào đĩ;
- Cai đặt các phần mềm độc hại như virus hoặc trojan ti cac tập tin
được tải về máy tính hoặc lừa người dùng dưới đạng một trị giải trí
nhỏ;
- Thể hiện thơng tin lừa đảo, các quảng cáo độc hại
- Hay chỉ đơn giản là nhằm cải thiện vị trí trang web của các cơng cụ tìm kiếm
Các hình thức tấn cơng sử dụng URL phổ biến như: Drive-by Download, lita dao (phishing), thu rac (spamming) hay Social Engineering [4] Drive-by Download [5] thuong tu cai cdc phan mém déc hai vao may tinh bang cach khai thac 16 héng của trình duyệt Lừa đảo và Social Engineering [6] là đánh lừa người đùng tiết lộ thơng tin riêng tư bằng nhiều cách Thư rác là việc sử dụng tin nhắn, thư điện tử để gửi thư mà người dùng khơng mong muốn hoặc đề lừa đảo Khi người dùng vơ tỉnh
truy cập đến một URL nào đĩ thì cũng cĩ thể trở thành nạn nhân của các cuộc tấn
cơng này
Một số ví dụ điển hình về các URL độc hại:
- http:/35.236.44.15/zzz/x86.idopoc là một liên kết chứa phần mềm độc hại (malware)
- http://h.paypal.de-checking net/de/ID php?u=LhsdoOK Jfsjdsdvg dan dén trang De- checking net la mét dang URL lira đảo để đánh cắp thơng tin thanh tốn paypal;
Trang 19- http://www.example.com/index.php?username=1'%200r%20'1'%20=%20'& password=1'%200r%20'1'%20=%20'l Day la mét URL khai thac 16 héng SQL Injection
1.3 PHUONG PHAP NHAN DANG URL DOC HAI
Hiện nay cĩ nhiều phương pháp đề giải quyết vấn đề phát hiện URL độc hại, theo cách thức tiếp cập chúng ta cĩ thể chia thành hai loại: Danh sách đen hoặc phuong phap Heuristic và phương pháp máy hoc [7], [8]
1.3.1 Danh sach den
Đây là một kỹ thuật phổ biến để phát hiệu các URL độc hại Ta cĩ một danh sách các URL độc hại, khi cĩ yêu cầu truy cận đến URL nào đĩ thì việc kiểm tra URL đĩ với danh sách được thực hiện, nếu URL cĩ trong danh sách thì cảnh báo và
ngược lại thì coi như URL an tồn Việc duy trì và cập nhật đanh sách này đầy đủ hết
các URL độc hại là điều khơng thể, vì các URL mới được tạo rất nhiều chính vì thế
mà ta khơng thê phát hiện được các URL độc hại mới [9] Tuy nhiên phương pháp danh sách đen [10] này vẫn được áp dụng do tính đơn giản và hiệu quả nhất định của chúng và cũng là một trong những kỹ thuật được sử dụng phổ biến hiện nay
Phuong phap Heuristic [11] la phương pháp mở rộng của phương pháp danh sách đen Ý tưởng phương pháp này là tạo ra danh sách các dấu hiệu các cuộc tan cơng phổ biến đã biết trước và xây dựng một hệ thống gọi là “Hệ thống phát hiện xâm nhập (IDS)” hệ thống sẽ quét các trang web được truy cập, nếu đĩ là trang cĩ dấu hiệu là tấn cơng thì sẽ hành động theo yêu cầu của hệ thống Phương pháp này cĩ mức khái quát cao hơn phương pháp danh sách đen vì chúng cĩ khả năng phát hiện các mối đe dọa từ các URL mới Tuy nhiên, phương pháp này cũng chỉ cĩ thê thiết kế cho số lượng nhỏ các tấn cơng phổ biến, một vấn đề nữa là kẻ tấn cơng cĩ thê sử dụng kỹ thuật che giấu các dấu hiệu như:
- Che gidu hostname trong thanh phan URL bang dia chi IP: Hinh thức này thi hostname trong URL duoc thay thế bằng địa chỉ IP và đơi khi là những số thập lục phân (Hexa) hoặc thập phân
Trang 20- Che giấu hostname với domain khác: Hình thức này hostname trong URL được thay đổi bằng một domain khác hợp lệ với đường dẫn chuyển hướng đến trang web độc hại
- Tạo URL đài: Các URL được tạo ra rất dài nhằm mục đích che giấu
URL độc hại bên trong Thời gian gân đây, sự phổ biến ngày càng tăng
cua URL ngắn [12] đã tạo ra một hình thức che giấu URL độc hại mới - Tên miễn khơng xác định hoặc sai chính tả
Những hình thức trên đều nhắm đến một mục đích duy nhất là che giấu URL độc hại nhằm đánh lừa các chương trình phịng chống URL độc hại
Danh sách các URL độc hại được cung cấp cĩ phí hoặc miễn phí điển hình PhishTank [13] PhishTank được ra mắt vào tháng 10 năm 2006 bởi doanh nhân David Ulevitch Cơng ty cung cấp cơng cụ xác minh lừa đảo đựa vào thơng tin phan hồi từ cộng đồng người dùng về những URL bị nghi ngờ, các URL bị nghi ngờ này được những người dùng khác "bỏ phiếu" đĩ cĩ thật sự là lừa đảo hay khơng
PhishTank được sử dụng bởi các tổ chức: Opera, Web of Trust (WOT), Yahoo! Mail, Mcafee, APWG, CMU, ST Berard, Mozilla, Kaspersky, Firetrust, Officer Blue, FINRA, Message Level, SURBL, Sanesecurity for ClamAV, Career Builder, Site Truth, Avira, va PhishTank SiteChecker
Dữ liệu PhishTank được cung cấp miễn phí để tai xuống với nhiều định dạng nhu: XML, CSV, JSON
Dữ liệu tải xuống thường cĩ các thơng tin như Hình 1.6
[phish rẻ lun 323836 hitp Mbit btZOCZALN ature setembro Iphish_detail_uil [hte:twww phishtank comiphish_detalphp?phish_id=6325098 ]ZDEETE-T/T03553:0010 | ves [2OZ0 03706:5242+0]_yes [ABN ARO Bank [submission_time betified verification_time jonlinetarget 5588436 hupsfkelanaiayarotayelub.com! Tupillvsw phishtank.comfphish_detal php?phish_id=5586436 2018-04-TSTOTOSS5+00.00 yes 27-04-1707 130400 ves ABSABank
(6330780 hepittarelements.comimailundateacralacrobatlview php hupstiwww phishtank comiphish_detallphp?phish jdz8330780 2019-12-22T10:35:04+00-00 yes 2018-12-22T10.382240L yes Adobe 5243565 hupttwww.hoidayinnboston.comivp-includesttontsiAdobel _hp:ltww_phishtank.comfphish_detail php?phish_id=5243505 2017-D8-Z41081205:0000 yes 20T7-12-12TODSROG+0C yes Adobe 8044081 hup:ww donnarogersimagery.comlyp-includes!pomellogin all htp:uwy phishtank comfphish_detal php?phish_Id=6044061 2019-05-ETTZ2ED4+DODD yes 2018-05-1BTI-240500C yes Alibaba.com 5962798 huptisabellacano.comfies!Aibaba.comimagesilogin him http ltuww phishtank comfphish_ detallphpphish id=S982798 2018-03-40TO4 03-08-0000 yes 2018-D3-13T0R42.2240l yes Albabscom 5362801 hupiisabelacana.comfiles!Alyun.him hnpstinww.phishtank camfphish_detallphp?phish id=5982601 2019-03-09720:25:98+0000 yes 2019-03-13TOROS43+0 yes Albabasem 5962600 hutplitsabellacano.comfils/Aibaba.comil ogin him hupillvuw phishtank oomfphich_detall php?phish id=5962600 2019-03-09120:22/85+0000 ve 209-03-12TOR28-2240 yer Alibaba.com 8348387 hup:J'f89 195 2E2.216/ haprlluu phihtankccomlphish, detalphp7phih jd=8348397 2020-0L-08T%5S+23:D000 yez 2020-0+UBTIB4TBUU yer Allegro 8340455 hups:lalbits.eomibteqiui hupillvuw phishtank comfphish_detallphp?phish id=8340455 2019-12-3T030141:00:00 yez 208-12-3IT0S0319300 yez AlianeeBank 8330875 hupzfotes-s ruluotes hepillvuw phihtankccomlphish, dztalphp7phich jd=6330875 2019-12-Z211230:48.0.00 yez 2019-12-22T12922540C yer Alliance Bank 6330874 hups.fhotes-s rulauth (6345819 hups:Hamazon-id-safety-centersigrin-openid-pape-man-auth http:luwy phishtank comfphish_detal php?phish_Id=6345619 2020-0-08T0404:12.000 yes 2020-O-06T08:00:38+0 yes Amazon.com búprlluuw phishtank combphish_ detalphp%phish jd£8330814 2019-12-22T123024T.L000 yez 208-12-22T12322540L wez Alliance Bank 8304571 haprlhowu toanesupumpz.eomBKii himl hupilivuw phishtank oomfphih_detall php?phish id=6304571 2019-12-02TZ116:16+00:00 yee 208-12-02T2ETE49300 yez American Express 24854EE hupiiuuu zea-us netdael hepslivuw phishtank comfphih_ detal php?phish id=2485458 2014-05-09T20:03:64+0000 ga: 20W-05-10TIM04034DL yer ADL 8332588 hup1/34.30.240.239128ayHBvV' hupillvuw-phishtank combphish_detallphp?phish id=6332586 2019-12-2371823:44+00:00 ye 2019-12-23TIE250540E wez Apple 6328410 hup:iE./2MBn7cPl haprliuuw phisheank comfphish_detallphp?phich id=6326410 2019-12-19703:29:29+00:00 yee 2020-01-06706:00:52+0 yer Apple 5027344 hutp:twww.laurellakehouse, comlyp=contentipluainslsad/S1a155; hp ttwuw phishtank comiphish_detall php?phish_id=5627944 2018-05~15120:34-08+0000 yes 20B-D5-ET20355I0[ yee ASB BankLimited 8288851 huprllagro-hotelcomlndeustthim hupillvww phisitank oomfphish_detallphp?phish id-6280067 2019-T-ZITTST-ASDID yez 20E-T-ZTI2B07300 wez ATBampT 8288720 htpjslanrmania com hupillvuw phisheank oomfphish_detall php?phish jd=6288720 2019-11-21TI0-97:S3+00:00 yez 208-T-ZITID338+DDI wez ATBampT (82887 14 huprlfilanmania.eormladminlatiatinnddeewa php hupstinww phihtank comlphish, dztalphp7phih jd*B288714 2019-1-21710:24-29+00.00 yes 20E-T-2TTILB08+DHI yes ATBampT
8332690 hutps:Hcontenidocbbuva comm! hupillvuw phishtank oomfphish_detall php?phish id=6332690 2019-12-23T20:16-59+00:00 yes 2019-12-23T201SSTHOC yer Banco Bibao Viecaya Argentaria 16199434 hnps:atualzarboletos.orgibanco-de-brasil hepillvuw phishtank comfphich_detall php?phish id=6193434 2019-O9-16TIZ00-05+00:00 yer 2079-10-1/TOZSE25+0C yer Banca De Brasil 5960291 hups:tivww.dobrasiwyoad.com briindes, hp hnplinww.phishtank comfphish_detallphp?phish id=S980291 2019-03-Z2TT6lB:I2+D0U0 yes 20E-03-22T5203240L wez BanesDzErail 5980290 hupilldobrasilvood.com.brlindex.php hupillvuw phishtank oomfphish_detall php?phish id=S980290 2019-03-Z2T1616:38:00.00 yer 2099-03-22 T15.20-3240 yer Banca De Brasil S2IES31 hup:l234.43.27imoble pho haprlluunn phihtankccomlphish, dztalphp2phih id=S215531 2017-08-12TI2.47-04+00:00 ve: 20I8-0224T08.0452:0 yer Banca De Brasil 6234075 hups:vww.todosprodutos.combr hupillvuw phishtank combphich_detallphp?phich id=6234075 | 2019-10-10TI2.TLOS+00.00 yee 2019-10-OTI21213+001 yer Banca Fieal (6398208 hupisowalsky.com/danibankotamerisal hupillvuw phishtank oombphich_detall php%phish id=6338203 2019-12-27T06:28:29+00:00 yes 2019-12-27 T08-G3G40( yer Bankof America Corporation
Hình 1.6 Danh sách các URL được xác nhận là mạo danh
Trang 21Lấy ví dụ điển hình một URL giả mạo
http://qrelements.com/mailupdateacro/acrobat/view.php
Trang nay được phishtank.com liét vao trang gia mao co phish_id 1a 6330780 với các thơng tin:
- phish_id: 6330780
- url: http://qrelements.com/mailupdateacro/acrobat/view.php - phish detail url: Théng tin cu thé của trang giả mạo bao gồm:
(http://www.phishtank.com/phish_detail_php?phish_id=6330780) - _ hỉnh ảnh trang gia mao
Submission #6330780 is curently ONLINE —————=— meaty BH Verified: Is a phish Screenshot of ate RRM dct Ẹ “` 19 8
Hình 1.7 Giao diện trang giả mạo một trang web của hãng Adobe
- _ Thơng tin về domain của trang giả mạo:
Trang 22- submission time: Thời gian người dùng thơng báo trang giả mạo (2019-12-22T 10:35:04+00:00)
- verified: Trang thái kiém (yes)
- verification time: thoi gian kiểm tra (2019-12-22T10:36:22+00:00) - online: trang thai trang gia mao (yes)
- _ target: Mục tiêu của trang giả mao (Adobe) 1.3.2 Phương pháp máy học
Đây là cách phân tích các thơng tin của URL của một website hoặc nhiễu trang web tương ứng bằng cách trích chọn ra những đặc trưng của URL với mục đích xây
dựng mơ hình máy học với những dữ liệu về URL đã cĩ nhằm đưa ra được mơ hình dự
đốn về tính an tồn của URL Cĩ hai hình thức thực hiện phương pháp này:
- URL tĩnh: Với URL này chúng ta cĩ thể trích chọn đặc trưng mà khơng cân truy cập đến URL chính vì thế nĩ an tồn hơn [14] Các tính năng cĩ thể trích chọn trong trường hợp bao gồm: từ vựng từ
chuỗi URL; thơng tin máy chủ; địa chỉ IP; tên miễn; cĩ khi cĩ thể là
nội dung HTML Sử dụng các thơng tin này ta cĩ thể xây dựng mơ
hình và cĩ thể dự đốn cho các URL mới
- URL động: Đây là kỹ thuật bao gồm việc giám sát hành vi của hệ thống để tìm ra những sự bất thường như: Các số lượng truy cập bất thường [15] lưu lượng truy cập đến một URL nào đĩ tăng đột biến so
với nhật ký hệ thống [ 16]
Mơ hình chung phát hiện URL độc hại bằng phương pháp máy học như Hình 1.9
Trang 23Live URL Predictor Feedback? ] h Live URL Feed Feature Extraction mm Features `4 a Malicious Se, Š - = SS) IQ =) = Benign crawling WHOIS Blacklist + os Lexical HTML URLDB | SSSSSSS) 1 1 Batch Online
Collection of Training Model Training Update Labeled URL Data (batch/online)
Hình 1.9 Mơ hình chung phát hiện URL độc hại bằng phương pháp máy học Mơ hình được xây dựng với mục đích thu thập các mẫu đữ liệu về URL được đánh nhãn đề hình thành các tập dữ liệu cĩ cấu trúc
Các tập dữ liệu cĩ cau trúc này là đầu vào và được mơ tả bằng các thuộc tính của mẫu dữ liệu đĩ Trong tập dữ liệu, mỗi mẫu được đánh nhãn thuộc về một lớp định trước
Đầu ra của quá trình trên là các quy tắc phân lớp đưới dạng luật “nếu - thì” từ kết quả đầu ra chúng ta sẽ tính tốn đến độ chính xác của mơ hình, trong trường hợp
độ chính xác chấp nhận được thì mơ hình sẽ được dùng để dự đốn các nhãn của
các mẫu dữ liệu trong tương lai
Với mơ hình của Hình 1.9 các bước thực hiện như sau: -_ Các mẫu URL được thu thập bằng nhiều hình thức;
-_ Từ các mẫu dữ liệu được thu thập, xây dựng bộ dữ liệu bao gồm các thuộc tính như Bảng 1.1: Bảng 1.1 Các thuộc tính và mơ tả Thuộc tính Giải thích
URL Địa chỉ URL được mã hĩa thành định
danh của mau dé liệu
URL LENGTH Số lượng ký tự trong URL
Trang 24
NUMBER SPECIAL CHARACTERS Số lượng ký tự đặc biệt trong URL CHARSET Tiêu chuẩn mã hĩa ký tự SERVER Thơng tin về máy chủ của trang web CONTENT LENGTH Kích thước nội dung của tiêu dé HTTP WHOIS COUNTRY Quốc gia đặt máy chủ WHOIS STATEPRO Trạng thái của tên miễn WHOIS REGDATE Ngày đăng ký tên miễn WHOIS UPDATED DATE Ngày cập nhật tên miễn TCP CONVERSATION EXCHANGE Số lượng gĩi tin trao đổi giữa máy chủ và máy khách DIST REMOTE TCP PORT Cổng kết nối REMOTE IPS Tổng số IP được kết nối với máy khách APP BYTES Số lượng byte được truyền SOURCE APP PACKETS Số lượng các gỏi được gửi từ máy khách đến máy chủ REMOTE APP PACKETS Số lượng các gĩi tin nhận được từ máy chủ
APP PACKETS Tổng số gĩi IP được tạo trong quá trình giao tiếp giữa máy khách và máy chủ DNS QUERY_ TIMES Thời gian truy vấn tên miễn CLASS hay khơng Kết quả cho biết trang web cĩ độc hại
Cĩ rất nhiều thuật tốn máy học cĩ thể áp dụng cho việc xây dựng mơ hình dự đốn các URL độc hại nĩi trên, cụ thể ta cĩ thể sử dụng một số phương pháp sau:
Trang 25K lang giéng (k-nearest neighbor - KNN) [17]: Là thuật tốn học cĩ giám sát
đơn giản nhất và cũng được xếp loại vào loại lười học bởi vì thuật tốn khơng
học điều gì từ dữ liệu huấn luyện mà chỉ đùng dữ liệu này để tính tốn khi
cần dự đốn một dữ kiện mới Thuật tốn phân loại các dữ kiện mới bằng
dựa trên việc đo lường khoảng cách bằng các hàm tính khoảng cách
Bayes ngây thơ (Nạve Bayes) [18]: Thuật tốn này phân loại các URL
một cách khái quát với các thuộc tính (x) độc lập với nhau, thuật tốn này tính xác suất cĩ điều kiện của các thuộc tính theo kiểu lập luận “Khả năng
là B khi biết A”
Cây quyết định (Decision Tree) [19]: Là một trong những phương pháp phơ biến Khi cho dữ liệu các đối tượng gồm các thuộc tính cùng với lớp của nĩ, cây quyết định sẽ sinh ra các luật để dự đốn lớp của các đối tượng
chưa biết
Máy học véc-tơ hỗ trợ (SVM) [20]: Cho phép xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một khơng gian nhiều chiều và tối ưu giữa hai lớp cho phép chia các điểm dữ liệu thành hai phần sao cho các
điểm cùng một lớp sẽ nằm về một phía của siêu phẳng
1.4 TIEU KET CHUONG 1
Chương này giới thiệu các khái niệm về URI, URL, URN, mối liên hệ giữa
URL và địa chỉ web, các thành phần trong một URL, các dang URL doc hai
Phần 1.3 trình bày phương pháp nhận dạng các URL độc hại bằng phương pháp danh sách đen và phương pháp máy học Với phương pháp máy học ta cĩ hai hình thức thực hiện là URL tinh va URL động Phần này đã nêu ra những ưu và khuyết điểm của hai phương pháp trên cũng như nêu ra được tính khả thi của việc
ứng dụng máy học trong việc nhận dạng các URL độc hại
Tiếp tục Chương 2 tơi sẽ tập trung giới thiệu bốn phương pháp máy học cĩ giám sát áp đụng cho bài tốn phân lớp phơ biến là: k láng giêng; cây quyết định; Nạve Bayes và máy học véc-tơ hỗ trợ để áp dụng vào bài tốn phân lớp URL
Trang 26Chương 2 MỘT SĨ THUẬT TỐN PHÂN LỚP DỮ LIỆU TRONG KỸ THUẬT MÁY HỌC CĨ GIÁM SÁT
2.1 THUAT TOAN K LANG GIENG
2.1.1 Giới thiệu
k láng giềng là phương pháp được Fix và Hodges để xuất từ năm 1951 [21] Đây là phương pháp cĩ hiệu quả dự đốn với độ chính xác cao nhưng đơn giản
trong việc cải đặt
k láng giềng là phương pháp học cĩ giám sát đơn giản nhất và cũng được xếp
loại vào loại lười học bởi vì thuật tốn khơng học điều gì từ dữ liệu huấn luyện mà chỉ dùng dữ liệu này để tính tốn khi cần dự đốn một mẫu dữ kiện mới
Trong bài tốn phân lớp, nhãn của một mẫu đữ liệu mới được dự đốn từ k
mẫu đữ liệu gần nhất trong bộ đữ liệu huấn luyện và cĩ thể được quyết định bằng cách bầu chọn theo số đơng trong các mẫu dữ liệu gần nhất trong bán kính k hoặc cĩ thể được suy ra bằng cách đánh trọng số khác nhau cho mỗi mẫu đữ liệu gần
nhất rồi suy ra nhãn của mẫu dữ liệu cần dự đốn
2.1.2 Thuật tốn
k lang giéng là thuật tốn tim đầu ra của một mẫu đữ liệu mới bằng cách dựa trên thơng tin của k mẫu dữ liệu trong bộ đữ liệu huấn luyện gần nĩ nhất và khơng quan tâm đến việc cĩ một vài mẫu dữ liệu trong những mẫu gần nhất là nhiễu
Thuật tốn k láng giềng được mơ tả như sau:
1 Xác định giá trị tham số k (K là số láng giểng gần nhất)
2 Tính khoảng cách giữa đối tượng mẫu dữ liệu cần dự đốn với các
mẫu dữ liệu trong bộ dữ liệu huấn luyện
3 Sắp xếp khoảng cách theo thứ tự tăng dần và xác định kk láng giềng gần nhất
4 Lấy các lớp của k láng giềng gần nhất đã xác định
Trang 275 Dựa vào số lượng các mẫu đã phân lớp gần nhất trong bộ dữ liệu huấn
luyện để xác định mẫu cần dự đốn
Ví dụ 1: Giả sử một đơn vị cĩ các nhân viên ở hai vị trí là “Kinh doanh” và
“Kỹ thuật”, các nhân viên phù hợp với hai vị trí tương ứng được thể hiện bằng bảng điểm tương ứng như sau:
Bảng 2.1 Bảng điểm khả năng của các nhân viên NHÂN VIÊN | ĐIỂM KINH DOANH | ĐIỄM KỸ THUẬT | _ NHÃN A 8.7 5 Tech B 4.5 8.7 Sale C 55 8 Sale D 8 4 Tech E 4.6 8.5 Sale F 7 3 2
Trong số các nhân viên trên cĩ một trường hợp là F chưa biết phủ hợp với vi trí nào và yêu cầu đặt ra là dự đốn xem F phủ hợp vị trí nào trong trường hợp này
Theo phương pháp k láng giểng thì ta cần tính tốn khoảng cách hình học
“DIEM KINH DOANH” va diém “DIEM KY THUAT” của F với các thành viên
khác với cơng thức tính khoảng cách Euclid:
d(p,q) = V (a1 — Pi)? + (G2 — B2)? +" +n — Pn)? = Ya — pi)?
i=1
Trong trường hợp này ta cĩ thể coi “ĐIỂM KINH DOANH” là trục x va “DIEM
KỸ THUẬT” là trục y và áp dụng cơng thức tính khoảng cách Euclid bên trên ta cĩ:
Bảng 2.2 khoảng cách Euclid các thuộc tính
2 a DIEM KINH DIEM KY 4
Trang 28Với kết quả khoảng cách từ nhân viên F đến các nhân viên khác như trên, nếu
ta chọn k= 3 thì F sẽ được đánh nhãn Tech vì trong 3 nhân viên gần nhất là D, A, € thì cĩ hai nhân viên A và D là Tech
Vi du 2: Gia định ta cĩ một tập đối tượng gồm các đối tượng hình vuơng và hình tam giác, ta tạo ngẫu nhiên một hình trịn thuộc tập đối tượng trên và dự đốn
xem hình trịn này thuộc hình vuơng hay hình tam giác 100 + i E | ^ˆ & a A é 4 A EI 60 3 IN a A 204 A | 2 _ ie 0 20 40 60 80 100
Hình 2.1 Biểu đồ phân bố các nhĩm với vị trí hình trịn gần các hình tam giác
Với biểu đồ Hình 2.1 ta thay, néu k=1, k=2, k=3 thì hình trịn thuộc lớp hình
tam giác
Trang 29100 + LÍ L] A A so H - ^ " me Aula 60 + À A A mm A a4,4 " a A BA AA mm mữ 01 À a = 0 20 40 60 80 100
Hinh 2.2 Biéu dé phan bé cdc nhém véi vi tri hình trịn gần các hình vuơng
Với biểu đồ Hình 2.2 ta thay, néu k=1, k=2, k=3, k=4 thì hình trịn thuộc lớp
hình vuơng
Ưu điểm của KNN
- _ Độ phức tạp tính tốn của quá trình training là bằng 0;
- _ Việc dự đốn kết quả của dữ liệu mới rất đơn giản;
- _ Khơng cần giả sử gì về phân phối của các lớp
Nhược điểm của KNN
- KNN fat nhạy cảm với nhiễu khi k nhỏ;
- KNN 1a mot thuật tốn mà mọi tính tốn đều nằm ở giai đoạn kiểm thử
Trong đĩ việc tính khoảng cách tới từng điểm dữ liệu trong training set sẽ
tốn rất nhiều thời gian, đặc biệt là với các cơ sở dữ liệu cĩ số chiều lớn và
cĩ nhiều điểm dữ liệu Với k càng lớn thì độ phức tạp cũng sẽ tăng lên
Ngồi ra, việc lưu tồn bộ dữ liệu trong bộ nhớ cũng ảnh hưởng tới hiệu
năng của kNN
Trang 30BB BBB
Bayes ngây thơ [18] là phương pháp cơ điên nhưng vẫn cĩ thể cho kết quả tốt ở các bài tốn nhất định như phân loại văn bản, email Thuật tốn Bayes ngây thơ với cơng thức tính tốn đơn giản nên để cài đặt, thời gian training và test nhanh, phù
hợp với bài tốn data cĩ dữ liệu lớn
Bayes ngây thơ là một thuật tốn áp đụng định lý Bayes để phân loại dựa trên
tính tốn xác suất cĩ điều kiện với các thuộc tính độc lập với nhau Thuật tốn này thuộc nhĩm học cĩ giám sát
Định lý Bayes được đặt theo tên nhà tốn học Thomas Bayes, người Anh
sống ở thế kỷ 18 Định lý này là một định lý tốn học để tính xác suất xảy ra của
một sự kiện ngau nhién A khi biét su kién lién quan B da xay ra
BBB
Bayes ngây thơ là một kỹ thuật phân loại thống kê dựa trên định lý Bayes Đây là một trong những thuật tốn học cĩ giám sát đơn giản nhất, Bayes ngây thơ là
thuật tốn nhanh, chính xác và cĩ độ tin cậy trên các bộ dữ liệu lớn
Bayes ngây thơ giả định rằng thành phần của một tính năng cụ thê trong một lớp nào đĩ độc lập với các tính năng khác Giả định này giúp đơn giản hĩa quá trình tính tốn, và chính điều này nên thuật tốn được gọi là Bayes ngây thơ
Định lý Bayes được phát biêu bằng cơng thức như sau: P(PỊA)P(A
P(A|B) = F01225) TH ) Trong đĩ:
A, B: Các biến cố xác suất bất kỳ (rời rạc, số, cấu trúc, =)
P(A|B): Xác suất của giả thuyết A với điều kiện B P(BIA): Xác suất của giả thuyết B với điều kiện A
P(A): Xác suất của giả thuyết A P(B): Xác suất của giả thuyết B
Trang 31Trong bài tốn phân lớp cần thiết ta phải cĩ các loại dữ liệu sau:
-_D: Tập dữ liệu huấn luyện đưới dạng vector # = (X,%a, ,X„)
- Cj: phan lớp 1, với = 1,2, ., m} Là tập hợp các lớp dữ liệu thuộc D - Cac thudc tinh x1, X2, ,X, độc lập với nhau từng đơi một
Với phương pháp Bayes ngây thơ, từ tập dữ liệu huấn luyện sẽ được xây
dựng mơ hình hình học, dữ liệu cần dự đốn được đưa vào mơ hình để phân lớp
Ví dụ: Ta cĩ bảng dữ liệu về thời tiết và quyết định chơi tennis của 14 ngày
được ghi nhận như sau:
Bảng 2.3 Dữ liệu thời tiết
Day | OUTLOOK | TEMPERATURE | HUMIDITY | WIND Hà
1 Sunny Hot High Weak No
2 Sunny Hot High Strong No
3 Overcast Hot High Weak Yes
4 Rain Mild High Weak Yes
3 Rain Cool Normal Weak Yes
6 Rain Cool Normal Strong No 7 Overcast Cool Normal Strong Yes
8 Sunny Mild High Weak No
9 Sunny Cool Normal Weak Yes 10 Rain Mild Normal Weak Yes Il Sunny Mild Normal Strong Yes 12 Overcast Mild High Strong Yes 13 Overcast Hot Normal Weak Yes
14 Rain Mild High Strong No
Trang 32
Ta co 4 thudc tinh: OUTLOOK; TEMPERATURE; HUMIDITY; WIND ta xây dựng bảng với mỗi thuộc tính với xác suất chơi hay khơng chơi tennis đựa trên các thuộc tính đĩ Bảng 2.4 Xác suất chơi hay khơng chơi tennis của thuộc tính OƯTLOOK Play CHÍ MANG Yes No Total Sunny 2/9 3/5 5/14 Overcast 4/9 0/5 4/14 Rain 3/9 2/5 5/14 Bảng 2.5 Xác suất chơi hay khơng chơi tennis của thuéc tinh TEMPERATURE Play TEMPERATURE Yes No Total Hot 2/9 2/5 4/14 Mild 4/9 2/5 6/14 Cool 3/9 1/5 4/14 Bảng 2.6 Xác suất chơi hay khơng chơi tennis của thuéc tinh HUMIDITY Play HUMIDITY Yes No Total High 3/9 4/5 7/14 Normal 6/9 1/5 7⁄14 Bảng 2.7 Xác suất chơi hay khơng chơi tennis của thuộc tính WTND Play WIND Yes No Total Strong 3/9 3/5 6/14 Weak 6/9 2/5 8/14
Với 14 ngày tương ứng với các điều kién ve OUTLOOK; TEMPERATURE;
HUMIDITY; WIND ta cĩ xác suất của P(A):
P(Play=Yes) = 9/14 P(Play=No) = 5/14
Kiểm tra: Giả định ta muốn biết cĩ thể chơi tennis hay khơng với các điều kiện: X= (OUTLOOK=Sunny, TEMPERATURE=Cool, HUMIDIT Y=High, WIND=Strong)
Trang 33Đầu tiên ta xác định xác suất cĩ thể chơi tennis bằng cách tra vào các bảng trên ta cĩ: P(OUTLOOK=Sunny | Play=Yes) = 2/9 P(TEMPERATURE=Cool | Play=Yes) = 3/9 P(HUMIDIT Y=High | Play=Yes) = 3/9 P(WIND=Strong | Play=Yes) = 3/9 P(Play=Yes) = 9/14 Tương tự với trường hợp khơng chơi tennis được P(OUTLOOK=Sunny | Play=No) = 3/5 P(TEMPERATURE=Cool | Play=No) = 1/5 P(HUMIDIT Y=High | Play=No) = 4/5 P(WIND=Strong | Play=No) = 3/5 P(Play=No) = 5/14
Kết hợp các kết quả đĩ lại với nhau ta cĩ xác suất chơi tennis và khơng chơi tennis như sau:
P(XIPlay=Yes) P(Play=Yes) = (2/9) * (3/9) * (3/9) * (3/9) * (9/14) = 0.0053 P(XIPlay=No) P(Play=No) = (3/5) * (1/5) * (4/5) * (3/5) * (5/14) = 0.0206
Diéu kién gia dinh ban dau:
Trang 34Từ kết quả trên ta cĩ thê dự đốn với X = (OUTLOOK=Sunny, TEMPERATURE =Cool, HUMIDITY=HIgh, WIND=Strong) thì sẽ khơng chơi tenIs
Ưu điểm của phân lớp Bayes:
Giả định độc lập: hoạt động tốt cho nhiều bài tốn/miền dữ liệu và
ứng dụng:
Đơn giản nhưng đủ tốt để giải quyết nhiều bài tốn như phân lớp văn
ban, loc spam ;
Cho phép kết hợp tri thức tién nghiém (priori knowledge) va dé liéu
quan sat duoc (observed data);
Tốt khi cĩ sự chênh lệch số lượng giữa các lớp phân loại;
Huấn luyện mơ hình (ước lượng tham số) đễ và nhanh Khuyết điểm của phân lớp Bayes:
Giả định độc lập thể hiện từ “ngây thơ” vì hầu hết các trường hợp thực tế trong đĩ cĩ các thuộc tính trong các đối tượng thường phụ
thuộc lẫn nhau;
Vấn để xác suất điều kiện bằng Zero;
Mơ hình khơng được huấn luyện bằng phương pháp tối ưu mạnh và
chặt chẽ Tham số của mơ hình là các ước lượng xác suất điều kiện
đơn lẻ Khơng tính đến sự tương tác giữa các ước lượng này
2.3 THUẬT TỐN CÂY QUYÉT ĐỊNH
2.3.1 Giới Thiệu
Cây quyết định [19] là một cây phân cấp cĩ cấu trúc được đùng để phân lớp
các đối tượng dựa vào dãy các luật Khi cho dữ liệu về các đối tượng gồm các thuộc
tính cùng với lớp của nĩ, cây quyết định sẽ sinh ra các luật để dự đốn lớp của các đối tượng chưa biết Trong lĩnh vực máy học, cây quyết định là một đạng mơ hình
dự báo nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Cây quyết định cĩ dạng như sau:
Trang 35Outlook?
sunny overcast rainy
high narmal weak strong Lae Z k Le, mm
i \ i \ \ i \
| No | Le _A | Yes |} z Ỹ | Yes } ` 7 {| No | N i
Hình 2.3 Mơ hình cây quyết định
Mỗi một nút trong tương ứng với một biến; đường nối giữa nĩ với nút con
của nĩ thể hiện một giá trị cụ thể cho biến đĩ Mỗi nút lá đại diện cho giá trị dự
đốn của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường
đi từ nút gốc tới nút lá đĩ
2.3.2 Cấu trúc cây quyết định
Một ví dụ khác, một sinh viên tự đặt ra quy tắc học hay chơi của mình như sau:
- _ Nếu cịn nhiều hơn hai ngày tới ngày thi, sẽ đi chơi
- Nếu cịn khơng quá hai ngày và đêm hơm đĩ cĩ một trận bĩng, sẽ sang nhà bạn chơi và cùng xem bĩng đêm đĩ
- Chi hoc trong các trường hợp cịn lại
Trang 36Việc ra quyết định của sinh viên này cĩ thể được mơ tả trên sơ đồ như Hình 2.4 bên đưới Hình ellipse nền vàng thể hiện quyết định cần được đưa ra Quyết
định này phụ thuộc vào các câu trả lời của các câu hỏi trong các ơ hình chữ nhật
màu xám Dựa trên các câu trả lời, quyết định cuối cùng được cho trong các hình
trịn màu lục (chơi) và đỏ (học) Sơ đồ như Hình 2.4 cịn được gọi là một cây quyết
định
Thời gian đến ngày thi
> 2 ngày ?
Cĩ trận bĩng nào tơi nay?
Hình 2.4 Cây đưa ra quyết định học hay chơi
Xét thêm một ví dụ được mơ tả trong Hình 2.5 với hai lớp màu lục và đỏ trên
khơng gian hai chiều Với mục đích là đi tìm ranh giới giúp phân chia hai lớp này Hay nĩi cách khác, đây là một bài tốn phân lớp, ta cần xây đựng một bộ phân lớp
để quyết định việc một điểm dữ liệu mới thuộc vào lớp nào
Trang 37ty s ° oo Co ee? -* *e a *s l ” ie ` h a ° eeẽ e ls m sen Fy,
Hình 2.5 Phân bĩ dữ liệu hai màu lục và đỏ trên khơng gian hai chiều
Quan sát Hình 2.5 ta thấy rằng ranh giới cho hai lớp trong bài tốn này khá đơn giản — chúng là các đường song song với các trục toạ độ Nếu một điểm cĩ thành phần thứ nhất, x;, nhỏ hơn ngưỡng £¿, ta quyết định ngay được rằng nĩ thuộc màu lục Ngồi ra, nếu thành phần thứ hai, x;lớn hơn ngưỡng f;, ta quyết định nĩ
cũng thuộc vào màu lục
Xét tiếp, nếu thành phần thứ nhất, x¡ lớn hơn ngưỡng ts, ta quyét định nĩ thuộc
vào mau luc Cac diém khơng thoả mãn các điêu kiện trên được xêp vào màu đỏ
Trang 38Trong cây quyết định, các ơ màu hồng, lục, đỏ trên Hình 2.6 được gọi là các node Các node thể hiện đầu ra (màu lục và đỏ) được gọi là node lá Node trên cùng
(câu hỏi đầu tiên) được gọi là node gốc Các node khơng phải là node lá thường cĩ
hai hoặc nhiều node con Các node con này cĩ thể là một node lá hoặc một node
khơng phải là node lá khác
Nếu tất cả các node khơng phải là node lá chỉ cĩ hai nođe con, thì đĩ là một cây quyết định nhị phân Các câu hỏi trong cây quyết định nhị phân đều cĩ thê đưa được về dạng câu hỏi đúng hay sai Câu quyết định mà một node lá cĩ nhiều node con cũng cĩ thê được đưa về dạng một cây quyết định nhị phân Điều này cĩ thể đạt
được vì hầu hết các câu hỏi đều cĩ thể được đưa về dang cau hỏi ding sai
Tĩm lại, cấu trúc cây quyết định gồm 3 phần chính: 1 node géc, nhitng node lá và các nhánh của nĩ Node gốc là điểm bắt đầu của cây quyết định và cả hai node gốc va node chứa câu hỏi hoặc tiêu chí để được trả lời Nhánh biểu diễn các kết quả của kiểm tra trên nút Ví đụ câu hỏi ở nođe đầu tiên yêu cầu câu trả lời là “yes” hoặc
là “no” thì sẽ cĩ l node con chịu trách nhiệm cho phản hồi là “yes”, 1 node la “no”
Cây quyết định là mơ hình học cĩ giám sát và cĩ thê áp đụng vào hai bài tốn phân lớp hay hồi quy Việc xây dựng một cây quyết định trên đữ liệu huấn luyện
cho trước là việc xác định các câu hỏi và thứ tự của chúng
2.3.3 Xây dựng cây quyết định
Quá trình xây dựng cây quyết định bao gồm hai giai đoạn:
- Giai đoạn thứ nhất - Phát triển cây: Đây là quá trình xây dựng cây từ gốc đến từng nhánh và phát triển quy nạp theo các thức chia dé tri cho
đến khi cĩ được cây quyết định với tất cả các lá được đánh nhãn Việc phát triển cây quyết định được thực hiện tuần tự:
1 Chọn thuộc tính tốt nhất
2 Phát triển cây bằng cách thêm các nhánh tương ứng với giá trị
của thuộc tính đã chọn
Trang 393 Sắp xếp, phân chia tập dữ liệu đào tạo đến các node con
4 Nếu việc phân lớp đã rõ thì đừng Trường hợp ngược lại thì
thực hiện lại từ bước 1 đến bước 4 cho từng node con
-_ Giai đoạn hai - Cắt tỉa bớt các nhánh trên cây quyết định: Giai đoạn này nhằm mục đích đơn giản và khái quát hĩa từ đĩ làm tăng độ chính
xác của cây bằng cách loại bỏ sự phụ thuộc vào mức độ lỗi của dữ liệu huấn luyện
2.3.4 Một vài thuật tốn dùng xây dựng cây quyết định
Đa phần các thuật tốn phân lớp đữ liệu dựa trên cây quyết định cĩ mã giả như sau: :TaoCay (Du lieu huan luyen T) i { PhanVung (T) tì :PhanVung (Du lieu S) H !
¡I1Ể(Moi thuoc tỉnh trong 9 cung thuoc mọt lop) then return ;¡
: For each ThuocTinh A do
Phân loai cac gia tri tren A;
Dung gia tri phan loai tot nhat tim den phan vung S ở i trong 51, 52y ySk
: PhanVung(S1) PhanVung(S2) PhanVung (Sk) 2.3.4.1 Iterative Dichotomiser 3 (ID3)
Thuật tốn ID3 [22] được phát biểu bởi Quinlan và được cơng bố cuối thập
niên 70, thuật tốn ID3 là cải tiến của Concept Learning System (CLS)
Y tưởng của thuật tốn như sau: Ta cần xác định thứ tự của thuộc tính cần được xem xét tại mỗi bước Với các bài tốn cĩ nhiễu thuộc tính với nhiều gia trị khác nhau thì việc tìm được nghiệm tối ưu là khơng khả thị, chính vì thế một
phương pháp đơn giản thường được sử dụng tại mỗi bước, một thuộc tính tốt nhất
Trang 40được chia vào các nút con tương ứng với các giá trị của thuộc tính đĩ, việc này được thực hiện cho mỗi nút và ta áp dụng cách chọn tham lam để chọn ra thuộc tính
tốt nhất ở mỗi bước Cách chọn này khơng phải là tối ưu nhưng nĩ gần với cách làm tối ưu và nĩ cũng giúp cho bài tốn trở nên đơn giản hơn
Sau mỗi câu hỏi, dữ liệu được phân chia vào từng nút con tương ứng với các
câu trả lời của câu hỏi đĩ Câu hỏi chính là thuộc tính và câu trả lời là giá trị của thuộc tính đĩ
Tuy nhiên việc phân chia như thế ta khơng thê xác định được đĩ cĩ phải là cách phân chia tốt nhất hay khơng, chính vì thể ta cần một phép đo để đánh giá của cách phân chia này Và để cĩ được phép đo tương ứng ta cần xác định được thế nào là cách phân chia tốt trong trường hợp này? Theo quan sát ta thấy một phép phân chia là tốt nhất nếu dữ liệu trong mỗi nút con hồn tồn thuộc vào một lớp hay nĩi cách khác nĩ là nút lá và ta khơng thể phân chia được nữa Trường hợp các nút con
vẫn lẫn vào nhau theo một tỉ lệ nào đĩ ta coi rằng phân chia đĩ chưa tốt Từ nhận xét này ta cần cĩ một hàm số đo độ tinh khiết, hoặc độ vẫn đục của một phép phân
chia Hàm số này sẽ cho giá trị thấp nhất nếu đữ liệu trong mỗi nút con nằm trong
cùng một lớp (tinh khiết nhất), va cho gia tri cao nếu mỗi nút con cĩ chứa dữ liệu
thuộc nhiều lớp khác nhau
Hàm số cĩ đặc điểm này và được dùng nhiễu trong lý thuyết thơng tin là ham entropy
Ham entropy
Cho một phân phối xác suất của một biến rời rạc x cĩ thể nhận n giá trị khác
nhau #¡,#, , X„ Giả sử rằng xác suất để x nhận các giá trị này là
Đị = pŒ& = xi) với 0 < p¡ Š 1,351 = 1
Ký hiệu phân phối này là p = ƒ\, Ðạ, , Є Entropy của phân phối này được định nghĩa:
Hữứ) = —3ï-1Pilog(P,) (1)