Kỹ thuật này giúp chúng có thé tự động tạo ra và đăng ký nhiều tên miền thường xuyên, nhằm lẫn tránh các biện pháp phát hiện và kiểm Trong khóa luận này, ba mô hình phân loại tên miền đã
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC VA KY THUAT THONG TIN
NGUYEN NGOC MAN - 20522199
KHOA LUAN TOT NGHIEP
PHAT HIỆN TEN MIEN ĐƯỢC PHÁT SINH
BANG THUẬT TOÁN
Detect Domains Generated By Algorithms
CỬ NHÂN NGÀNH CÔNG NGHỆ THÔNG TIN
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYÊN TAN CAM
TP HO CHÍ MINH, 2023
Trang 2Tôi đặc biệt xin gửi lời cảm ơn sâu sắc đến Giảng viên hướng dẫn của tôi, TS Nguyễn Tắn Cầm, vì đã luôn quan tâm theo dõi và hỗ trợ tôi trong suốt quá trình thực
hiện dé tài Nhờ những trao đổi, góp ý và nhận xét từ TS Nguyễn Tan Cầm mà tôi
có thể hoàn thành khóa luận này tốt hơn.
Tôi cũng muốn gửi lời cảm ơn đến gia đình, bạn bè và tập thể lớp Văn bằng 2
— Công nghệ thông tin — Đợt 3 năm 2020 Họ đã luôn sẵn sàng chia sẻ, động viên và
giúp đỡ tôi trong quá trình thực hiện đề tài và trong học tập.
Dù đã hoàn thiện với chất lượng tốt nhất có thé, nhưng tôi không thé tránh khỏi các thiếu sót và khuyết điểm trong khóa luận này Vì vậy, tôi rất mong nhận
được các góp ý, nhận xét từ quý Thầy Cô dé có thé hoàn thiện tốt hơn.
Một lần nữa, xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 21 tháng 06 năm 2023
Sinh viên thực hiện
Nguyễn Ngọc Mẫn
Trang 3MỤC LỤC
Chương 1 MỞ ĐẦU 52-52222222 E21521E21521211211211111 1111111111 c0 3
1.1 _ Lý do chọn đề tài -¿- ¿5252k XE E1011211211 2111111111111 cv 3
1.2 Mục tiêu nghiÊn CỨU G1 E119 11911 HH tt 4
1.3 Đối tượng và phạm vi nghiên cứu 2-2 2 £+£z+E££Ee£xerxerxerxrresreee 5
1.4 Phương pháp thực hiỆn - - 5 5 + 31H ng giết 5
1.5 Cấu trúc của báo cáo khóa luận - - + t+k+EvEk+E+EvEEEEeEeEeEkrkerererksrrrs 6Chuong 2, TONG QUAN 2-5222 2EEEEEE1EE1211211211111 111111111110 8
2.1 Sơ lược về bot, DONE vc eecececcscessesessessesecsescseseesecersecseseesessssteassecarsecarsesavenees 8
2.1.1 Khái niệm về bot, botN€t ¿ cccc:ccccc2+ctccckterrrrtrirtrtrrrrrrrrrrrrrrree 8
2.1.2 Phương thức hoạt động của bot, botnet .- 5+ ++<<++<+exseexseess 9
2.1.3 Phân loại các ĐbOfe( -c c2 2111111121111 1111118251111 11g22 ve 10
2.2 Tìm hiểu DGA botnet va cơ chế sử dụng thuật toán tạo tên miền 12
2.2.1 Khái niệm DGA botnet - c5 c1 3322211112211 E551 xxxse 12
2.2.2 Thuật toán tạo tên miền và cơ chế DGA botnet sử dụng 12
2.2.3 Phân loại DGA BOfnet( 2111111123111 1111118533111 kg ve 14
2.3 Cơ chế DGA botnet khai thác hệ thống DNS 2-52-5255: l6
2.3.1 Hệ thống DNS - St St E1 22E121121212111211211211 111111111 ye l62.3.2 Cơ chế khai thác hệ thống DNS 22¿©52+2++22x2Eerxesrxesrxeee 17
2.4 Các phương pháp phát hiện DGA botnet - ¿55+ S-cs+s++sserses 18
2.4.1 Cac phương phap - c1 123121 1119 11111111011 11 1H kg ng như 18
2.4.2 Ưu điểm và hạn chế -::©+++222+vt222xttEEkttrrrtrtrtrrrrrtrtrrrrrrei 20Chương3 | DE XUẤT MÔ HÌNH VÀ TRIEN KHAI - 5-52 s2 21
3.1 Một số khái niệm liên quan - ¿- 2 + E+EE+EE+E££EE+Ee£EerEerkerxerxereee 21
Trang 43.1.1 Giới thiệu về học máy :- 2++++222+++ttEEvvrrrtrrktrrrrrrkrrrrrrrrree 21
3.1.2 Phân loại nhị phân
3.1.3 Học máy có giám Sất -¿- ¿+ S+ SE k2 Sx SH HH HH ướt 21
3.1.4 Hồi quy Logistic.
3.1.5 Các chỉ số đánh giá : ccvvcvvrhhhnnnnnr1rree 24
3.2 Mô hình phân loại tên miền DGA-Detection
3.2.1 Giới thiệu c:sc n2 rnerrrrrtHrrhrHrr re 25
3.2.2 Cơ sở lý thuyết
3.2.3 Phương pháp thực hiện - ¿5521k re 31
3.3 Triển khai hệ thống phân loại tên miền DGA-DectectionSystem 47
3.3.1 Giới thiệu BEAL ấế ÀN cc.c Ề HH 47
3.3.2 DGA-Database 2 Sàn 00011 ri 48 3.3.3 DGA-DetectiOnSeTV€T (5c 22 2222x222 111gr 49 3.3.4 DGA-AppliCatiOn ¿2 55+ +22 t2 222212112 21211101111 ee 50
3.3.5 DGA-KafKaSerVeT cà tt ng re 54
Chuong 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ KET QUẢ - 56
4.1 Thiết lập môi trường thực nghiệm -. -c+22++zv+cvvvveerrxve 56
4.2 _ Tập dữ liệu thực nghiệm - ¿+ ¿+ + Sky 56
4.3 Thực nghiệm và đánh giá trên mô hình phân loại -«- «<< 57
4.3.1 Mục tiêu thực nghiệm - 6 + tk Hit 57
Fan ốẽ ẽ 5 ẰŒAH,)|, 57
4.3.3 C&C kết quả 22:222222222111122221112222111122111122211111 211111 re 59
4.3.4 Đánh giá chi 61
Trang 54.4 Thực nghiệm và đánh giá trên hệ thống phân loại tên miền DGA-Detection
"— 62
4.4.1 Mục tiêu thực nghiỆm 6 St vn He 62
4.4.2 Tiền xử lý 222cc 2222222211 E12 11.12111221 63 4.4.3 Tương tác với hệ thống phân loại tên miền DGA-Detection
4.4.4 Hiệu suất hoạt động của hệ thống phân loại tên miền DGA-Detection.68
4.4.5 Đánh giá
Chương 5 KÉT LUẬN VÀ HƯỚNG PHÁT TRIẺN - 73
5.I Kếtluận.
5.1.1 Ưu diểm cc¿¿c5222222c2cccc222222112122222213121E E.EEEEExrrrrrrrrrrrrrrrrrrrrer 73 5.1.2 Khuyết điểm.
5.2 Hướng phát triển :::22++++22E+++tttErkrrettrrkrrerrrkrrrerrree 74 TÀI LIEU THAM KHẢO - 222: 222222222E222222223222223112223112222231 2222 re 75
Trang 6DANH MỤC HÌNH
Hình 2.1: Mô hình các bot trong một botnet được kiểm soát bởi botmaster 9
Hình 2.2: Các giai đoạn hoạt động của bOfIG( - - - ¿5< + S++t‡xeEvEerrkekererkrkee 9 Hình 2.3: Phân loại botnet dựa trên kiến trúc mạng của chúng - 11
Hình 2.4: Cơ chế thuật toán tạo tên miền được sử dụng bởi botnet DGA 13
Hình 2.5: Quá trình truy van địa chỉ IP trên DNS :©2+cce+ccsscee 17 Hình 2.6: Cơ chế khai thác hệ thống DNS của DGA botmet . - 18
Hình 3.1: Quy trình huấn luyện mô hình sử dụng học máy có giám sát 22
Hình 3.2: Minh họa hàm hồi quy logistic cccsssssssssssssesessssecsessssesesesseesesssseeesessees 23 quy logistic và các mô hình khác của Woodbridge và cộng sự - 26
Hình 3.4: Quy trình huấn luyỆn -.-¿-222¿¿+22E2+¿¿+22EEE+tEEEEEEtrEEEEEerrrrkkrrrrrrkrvee 27 Hình 3.5: Quy trình tổng thé của mô hình DGA-Detection .-: : 27
Hình 3.6: Minh họa kiến trúc mạng neuron truy hổi (RNN) ccccceccee 29 Hình 3.7: Minh họa sự lặp lại trong kiến trúc LSTM -cc+c+crxesrrsecr 29 Hình 3.8: Thống kê các họ DGA botnet trong tập dữ liệu “Domain Generation Algorithm dataset” của tác giả Ziyad Mestour thực hiện trên Jupyter Notebook 32
Hình 3.9: Xây dựng tập dữ liệu huấn luyện - -: ¿222v++++2vvvzzsczvscee 33 Hình 3.10: Minh họa tách chuỗi tên miền thành các phân đoạn “domain_list” 34
Hình 3.11: Minh họa phân loại các phân đoạn URL có 2 phan tử - 34
Hình 3.12: Dữ liệu sau khi được làm sạch, dùng để huấn luyện - 35
Hình 3.13: Minh họa trích xuất đặt trưng của mô hình phân loại Bi-gram 36
Hình 3.14: Minh họa trích xuất đặt trưng của mô hình phân loại LSTM 37
Hình 3.15: Minh họa trích xuất đặt trưng của mô hình phân loại kết hợp 38
Hình 3.16: Minh họa xây dựng mô hình phân loại Bi-gram - - 38
Hình 3.17: Minh họa xây dựng mô hình phân loại LSTM - 39
Hình 3.18: Minh họa xây dựng mô hình phân loại kết hợp -. - 39
Hình 3.19: Minh họa huấn luyện mô hình phân loại Bi-gram 40 Hình 3.20: Minh họa huấn luyện mô hình phân loại LSTM.
Trang 7Hình 3.21: Dữ liệu dùng cho huấn luyện mô hình phân loại kết hợp - 4I
Hình 3.22: Biểu dé Confusion Matrix của mô hình phân loại Bi-gram 43
Hình 3.23: Biéu đồ Confusion Matrix của mô hình phân loại LSTM 44
Hình 3.24: Biểu đồ Confusion Matrix của mô hình phân loại kết hợp - 45
Hình 3.25: Biểu đồ đường cong độ chính xác — độ nhạy giữa 3 mô hình 45
Hình 3.26: Biểu đồ ROC và Precision Recall +cccccceerrrrrrrrreg 46 Hình 3.27: Biểu đồ đường cong độ chính xác — ngưỡng giới hạn và biểu đồ hiệu chuẩn của mô hình phân loại kết hợp -22++++222++++tvv+rettvxvrerrvsrrrrrr 47 Hình 3.28: So đồ hệ thống phân loại tên miền (DGA-DetectionSystem) 48
Hình 3.29: Lược đồ CSDL DGA-Database -. 2-56 s2 2E EeEEErErkrrrke 49 Hình 3.30: Quy trình phân loại tên miền trên các DGA-DetectionServer 50
Hình 3.31: Sơ đồ hoạt động của DGA-Application -cz£222cssccccc2 5m Hình 3.32: Giao diện ứng dụng phân loại tên miền DGA-Frontend 53
Hình 3.33: Giao diện Confluent Platform sử dung cho DGA-KafkaServer 55 Hình 4.1: Minh họa các mẫu tên miền trong tập dữ liệu thực nghiệm 57
Hình 4.2: Minh họa thực nghiệm đánh giá mô hình phát hiện DGA 58
Hình 4.3: Minh họa tông hợp kết quả sau thử nghiệm 59
Hình 4.4: Giao diện ứng dụng khi thực nghiệm ¿-¿- - 5+ 5< ++++x+£+xc++ 64 Hình 4.5: Kết quả khi nhập vào một tên miễn - 22222 65 Hình 4.6: Kết quả khi nhập vào nhiều tên miền Hình 4.7: Kết quả khi truyền vào tập tin chứa 100 tên miễn - 66
Hình 4.8: Kết quả khi truyền vào tập tin chứa 3000 tên miễn - 66
Hình 4.9: Minh họa tập tin kết qua CSV (trái) và JSON (phải) - 67
Hình 4.10: Giao diện đáp ứng khi phóng to (trái) va thu hep (phải) 67
Hình 4.11: Cấu hình Apache Jmeter, 3.000 yêu cầu được gửi trong 5 giây 69
Hình 4.12: Cấu hình Apache Jmeter -+£+22222vvv+++ttttvvvvvvrrrrrrrrrrrxee 69 Hình 4.13: Minh họa một số phản hồi thành công từ DGA-KafkaServer 69
Hình 4.14: Đồ thị biểu diễn thời gian chờ xử lý đối với số lượng Kafka topic 71
Trang 8DANH MỤC BANG
Bang 2.1: Minh họa một vài họ DGA botnet dựa trên ký tự -‹ 14
Bảng 2.2: Minh họa một vài họ DGA botnet dựa trên từ - «<< <<<+ 15
Bảng 3.1: Ví dụ về mã hóa One-hOIV - 2 2¿©2+¿22++2E+2EE+2EE2EEtEEEerxvzrxrrresree 30Bang 3.2: Kết quả ví dụ về mã hóa One-hot 2-2 2©¿+2£+£x+£x+zx++E+zrxerxezez 31
Bang 3.3: Bảng liệt kê các API hiện có cua DGA-Backend - -«- 52
Bang 4.1: Thống kê kết quả sơ bỘ - 2 2-52 +S£2EE2EE£EE£EEE2EEEEESEEEEEEEEErrkrrkerer 59
Bang 4.2: Kết quả các chỉ số đánh giá - ¿2+2 E+SE+EE+EE£EE+EEEEEerEerkerkrrkrree 60Bang 4.3: Thống kê kết quả theo subeclass - 2-2 5©5£2S£+£x+£EezE++zzrxerxezez 61Bảng 4.4: Bảng thống kê thời gian chờ xử lý và số lượng topic, DGA-
DetecfIOnS€TV€T - S953 TT re 70
Trang 9DANH MỤC TỪ VIET TAT
Diễn giải
Ký hiệu
-Tiêng Anh -Tiêng Việt
ACC Accuracy D6 chinh xac
AUC Area Under the Curve Diện tích dưới đường cong
CSDL Cơ sở dữ liệu
CnC, C&C Command and Control May chu chi huy va kiém soat
DDNS Dymanic Domain Name Hệ thống tên miền động
DNS Domain Name System Hệ thống phân giải tên miền
DR Detection Rate Ty lệ phát hiện
Fl E1 Score Độ do Fl
FF Fast Flux Kỹ thuật tan công “Fast Flux”
FN / FNR False Negative / False Âm tính giả / Ty lệ âm tinh gia
Negative Rate
FP/FPR False Positive / False Positive | Dương tính giả / Tỷ lệ dương
Rate tinh gia
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
IM Instant Messaging Tin nhắn tức thời
Trang 10IRC Internet Relay Chat Nhắn tin chuyền tiếp mạng
ISP Internet Service Provider Nhà cung cấp dịch vụ InternetLSTM Long Short Term Memory Mạng trí nhớ dài — ngắn hạn
P2P Peer to Peer Mạng ngang hàng
PPV Positive Predictive Value Giá trị dự đoán dương tính
RNN Recurrent Neural Network Mang neuron nhan tao
ROC Receiver Operating Dac tinh hoạt động của máy thu
Characteristic
TLD Top-Level Domain Tén mién cap cao
TN True Negative Am tinh that
TP/ TPR True Positive / True Positive | Dương tính that / Ty lệ dương
Rate tinh that
TTL Time To Live Thời gian tổn tai
VPN Virtual Private Network Mang riêng ảo
Trang 11TÓM TẮT KHÓA LUẬN
Sự phát triển mạnh mẽ của công nghệ thông tin trong thời gian gần đây đãmang lại nhiều tiện ich cho con người, tuy nhiên cũng đồng thời tạo ra nhiều nguy cơliên quan đến an ninh thông tin Một trong những mối đe dọa đáng chú ý là kỹ thuậtDGA được sử dụng bởi botnet Kỹ thuật này giúp chúng có thé tự động tạo ra và đăng
ký nhiều tên miền thường xuyên, nhằm lẫn tránh các biện pháp phát hiện và kiểm
Trong khóa luận này, ba mô hình phân loại tên miền đã được phát triển, baogồm: mô hình phân loại Bi-gram được dùng làm mô hình cơ sở; mô hình phân loạiLSTM cho hiệu suất tốt hơn; và mô hình phân loại kết hợp giữa LSTM và mã hóaOne-hot nhăm gia tăng tỷ lệ phân loại chính xác Cuối cùng, mô hình phân loại kếthợp được chọn dé triển khai lên hệ thống phân loại tên miền.
Đối với phần triển khai hệ thống phân loại tên miền, chúng tôi thấy rằng khi
chỉ dùng server phân loại vừa nhận yêu cầu trực tiếp từ người dùng, vừa xử lý phânloại thì sẽ làm giảm hiệu suất, mất mát yêu cầu, thậm chí làm sập hệ thông Do đó,chúng tôi đã triển khai thêm Kafka vào hệ thống nhằm phân luồng các yêu cầu vào
hàng đợi, điều này giúp giảm tải trên server phân loại và hạn chế thấp nhất việc mất
mát các yêu cầu Ngoài ra, chúng tôi đã thiết kế phần giao diện với tính năng nhưhiền thị và thống kê kết quả
Kết quả, mô hình phân loại tên miền đạt được tỷ lệ dự đoán đúng rất cao khi
được triên khai, tuy nhiên, mô hình còn hạn chê trong việc dự đoán các họ Word-base
Trang 12DGA botnet Hệ thong phan loai tén mién sau khi trién khai hoạt động tốt, hạn chế
được mát mát yêu cầu, server phân loại chạy ôn định Tuy nhiên, chúng tôi cần tối ưu
xử lý để giảm thời gian chờ trên hàng đợi của các yêu cầu
Thông qua khóa luận này, chúng tôi mong rằng sẽ giúp đóng góp một phần ý
tưởng giải quyết các thách thức về an ninh mạng và bảo mật thông tin, đặc biệt là các
van đề liên quan đến DGA botnet
Trang 13Chương 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Công nghệ thông tin ngày càng ứng dụng rộng rãi trong đa dạng các khía cạnh
cuộc sông, tuy nhiên, kèm với đó là mối đe dọa to lớn về an ninh thông tin Không
chỉ các cơ quan, tổ chức, mà hiện nay, các cá nhân cũng đang đối mặt với nguy cơmat an ninh thông tin Trong số các mối đe doa này, botnet dang trở thành một trongnhững mối đe dọa hàng đầu [21] Botnet là công cụ phô biến, thực hiện hành vi tấn
công và lạm dụng trên mạng, như DDoS, lây lan các chương trình độc hại, xâm nhập
hệ thống và chiếm quyền truy cập vào thông tin riêng tư Các botnet ngày càng tiến
hóa về quy mô, độ tinh vi, khiến khó bị loại bỏ [7] Nhiều loại botnet đã áp dụng kỹthuật tạo tên miền bằng thuật toán (DGA) dé tự động tạo ra và đăng ký nhiều tên miềnthường xuyên cho máy chủ điều khiển và kiểm soát (CnC), gây ra thách thức lớn
trong công tác đảm bảo an ninh thông tin mạng.
Đề đối phó với botnet và các mã độc liên quan, đã có nhiều giải pháp và mô
hình được phát triển và áp dụng Những giải pháp này nhằm mục đích giám sát hoạtđộng của botnet, phát hiện các hành vi bất thường và triệt phá botnet dé bảo vệ hệthống máy tính khỏi các cuộc tấn công Các chuyên gia đang tập trung vào phương
pháp phát hiện botnet dựa trên bất thường, trong đó có giám sát lưu lượng mạng và
các truy vấn hệ thông DNS được áp dụng kỹ thuật học máy Việc ứng dụng kỹ thuậthọc máy đã mang lại kết quả tích cực, được đánh giá là hướng nghiên cứu tương lai
[8][10].
Đối với botnet áp dung kỹ thuật tạo tên miền tự động bang thuật toán, chúngkhó bị phát hiện hơn do cơ chế hoạt động của chúng khiến việc quản lý và thu hồi tênmiền trở nên phức tạp Trong số các loại botnet hiện đang hoạt động, DGA botnetchiếm một tỉ lệ đáng kẻ, vì vậy nhiều giải pháp đã được đề xuất Đặc biệt, phươngpháp phát hiện DGA botnet dựa trên học máy được xem là hướng triển vọng tươnglai bởi khả năng xây dựng mô hình tự động [8] Mô hình mà chúng tôi sắp giới thiệu,
cũng là một ví dụ cho hướng nghiên cứu này.
Trang 14Dựa trên các lý do vừa nêu, chúng tôi đã quyết định tiến hành khóa luận này
dé tìm hiểu về phương pháp phát hiện hoạt động của các botnet thông qua việc sử
dung dir liệu truy van hệ thống DNS và kỹ thuật hoc máy Từ đó, chúng tôi phát triển
mô hình phát hiện tên miền phát sinh băng thuật toán được tạo bởi DGA botnet Tiếptheo, trong khóa luận này chúng tôi xây dựng hệ thống phân loại tên miền được phátsinh bang thuật toán và tên miền bình thường Chúng tôi có sử dụng Kafka dé phân
luồng yêu cầu và giúp tối ưu hệ thống Đồng thời, chúng tôi cũng thiết kế giao diệntrực quan, dễ sử dụng, hiểu được các kết quả phân loại tên miền Sự kết hợp giữa việc
sử dụng Kafka và giao diện người dùng sẽ g1úp tăng tính ứng dụng và tiện ích của hệ
thống phân loại tên miền trong thực tế
1.2 Mục tiêu nghiên cứu
Luận văn này có mục đích nghiên cứu là xây dựng và triển khai mô hình sửdụng học sâu, phát hiện các tên miền được phát sinh băng thuật toán bởi DGA botnet
Cụ thê:
— Nghiên cứu về định nghĩa, đặc điểm, cơ chế hoạt động của botnet, DGA
botnet; Đánh giá một số phương pháp hiện có
— Thực hiện nghiên cứu và xây dung mô hình phát hiện tên miền phát sinh
bởi thuật toán, sử dụng các kỹ thuật học máy có giám sát và kết hợp Trongphần này, ba mô hình học máy được huấn luyện: mô hình phân loại Bi-gram, mô hình phân loại LSTM và mô hình phân loại kết hợp (giữa LSTM
và mã hóa One-hot của 250 TLD thông dụng) Mô hình phân loại Bi-gram
được dùng làm cơ sở, mô hình phân loại kết hợp được dùng triển khai
— Xây dựng hệ thống phân loại tên miền phát sinh bằng thuật toán và tên
miền bình thường, có sử dụng kafka dé tối ưu hiệu suất và thiết kế giao
diện trực quan.
Trang 151.3 Đối tượng và phạm vi nghiên cứu
Đối tượng của nghiên cứu là các loại botnet, trong đó tập trung vào DGA
botnet, thuật toán tạo tên miền (DGA), và mô hình phát hiện tên miền tạo bởi thuật
toán được xây dựng dựa trên học máy.
Phạm vi của nghiên cứu, tìm hiệu và đê xuât mô hình phát hiện tên miên tạo bởi DGA botnet.
1.4 Phương pháp thực hiện
Chúng tôi đã kết hợp sử dụng cả phương pháp lý thuyết và phương pháp thựcnghiệm Ở giai đoạn đầu, chúng tôi sẽ tiền hành:
— Tìm hiểu lý thuyết, các khái niệm về botnet và DGA botnet, cách thức hoạt
động của chúng, cơ chế mà botnet sử dụng dé khai thác hệ thống DNS
— Tìm hiểu lý thuyết về học máy, các khái niệm, kỹ thuật học máy có giám
sát, các chỉ số trong đánh giá đặc biệt là các mô hình dự kiến sử dụng
như Bi-gram, LSTM, kết hợp
— Tìm kiếm các bài báo khoa học liên quan, các phương pháp phát hiện DGA
botnet hiện có Từ đó, tổng hợp các ưu điểm và nhược điểm của từngphương pháp, bao gồm cả những hạn chế của chúng
— Đúc kết các kiến thức đã tìm hiểu được để đưa ra mô hình đề xuất trong
phát hiện DGA botnet.
Giai đoạn tiếp theo, phương pháp thực nghiệm được thực hiện Chúng tôi xây
dựng mô hình phân loại tên miền được phát sinh bằng thuật toán, thông qua các công
VIỆC sau:
— Thu thập, khảo sát, lựa chọn tập dir liệu về tên miền được phát sinh bởi
DGA botnet phù hợp nhất đề sử dụng
Trang 16— Xây dựng và đánh giá ba mô hình gồm: mô hình phân loại Bi-gram; mô
hình phân loại LSTM; và mô hình phân loại kết hợp giữa mô hình phân
loại LSTM và mã hóa One-hot của các tên miền TLD phổ biến
Ở giai đoạn sau cùng, chúng tôi áp dụng mô hình phân loại tên miền được phátsinh bằng thuật toán vào thực tế, bằng những nhiệm vụ dưới đây:
— Xây dựng giao diện ứng dụng phân loại tên miền trên nền web, với React
— Triên khai mô hình lên server, các kêt quả thu được trên server sẽ được cập
nhật vào cơ sỡ dữ liệu, dùng khảo sát, thống kê sau này
— Tìm hiệu và triên khai server Kafka dé phân tán các yêu câu từ người dùng
gửi đên server phân loại tên miên, nhắm giảm tải trên các server.
— Kết hợp các thành phần trên thành hệ thống và kiểm tra hiệu suất hoạt
động.
1.5 Cấu trúc của báo cáo khóa luận
Chúng tôi tô chức báo cáo khóa luận này với năm chương như sau:
Chương 1: Mở dau
— Tổng hợp các lý do chọn đề tài, đưa ra mục tiêu, phạm vi và đối tượng
nghiên cứu, kèm theo mô tả ngắn gọn về phương pháp thực hiện
Chương 2: Tổng quan
— Thông tin tong quan về botnet, bao gồm khái niệm và cách thức hoạt động
của chúng.
— Thông tin tổng quan về DGA botnet, giới thiệu một số thuật toán tạo tên
miền, các dạng DGA botnet
— Giới thiệu về hệ thống DNS và mô tả cách mà DGA botnet sử dung dé tan
công thông qua hệ thống DNS
Trang 17Chương 3: Đề xuất mô hình và triển khai.
— Giới thiệu khái niệm liên quan đến phân tích và phát hiện DGA botnet
trong các mô hình đề xuất như học máy, phân loại nhị phân, hồi quy logistic
và các độ đo đánh giá.
— Giới thiệu về các mô hình được huấn luyện: mô hình phân loại Bi-gram,
mô hình phân loại LSTM và mô hình phân loại kết hợp Tiếp theo, chúngtôi mô tả chỉ tiết huấn luyện và đánh giá
— Phần cuối của chương này, chúng tôi ứng dụng mô hình đề xuất vào hệ
thống phát hiện tên miền DGA-DetectionSystem
Chương 4: Thực nghiệm và đánh giá kết quả
— Mô tả chỉ tiết các thực nghiệm đối với mô hình đề xuất Chúng tôi tập trung
thực nghiệm đánh giá độ chính xác của mô hình đề xuất
— Trình bày thực nghiệm đối với hệ thong phan loai tén mién
DGA-DetectionSystem Trong phan này, chúng tôi làm hai thưc nghiệm với mụcđích trải nghiệm tương tác với hệ thống với vai trò người dùng và đánh giáhoạt động của hệ thống trong trường hợp giả thuyết đặt ra là vô số các yêu
cầu được gửi trong khoảng thời gian ngắn
Chương 5: Kết luận và hướng phát triển
— Nêu lên các giá trị mà dự án mang lại, ưu diém và nhược điêm.
— Kiến nghị bước đi tiếp theo của dự án
Trang 18Chuong 2 TONG QUAN
2.1 Sơ lược về bot, botnet
2.1.1 Khái niệm về bot, botnet
Trên thực tế, nhiều thiết bị sử dụng Internet bị lây nhiễm một số loại phần mềm
độc hại được cài đặt lén lút, một trong số chúng là bot Các bot cho phép kẻ tan côngtruy cập và điều khiến thiết bị của người dùng mà không có sự cho phép, nhăm thực
hiện mục đích xấu nào đó Thuật ngữ "zombie" hoặc “máy tính ma" được dùng chocác thiết bị đã bị lây nhiễm bot
Kẻ tan công thông qua các bot dé truy cập và lợi dung các máy tính bị nhiễmbot để tiến hành các hành vi phá hoại hoặc các hoạt động mà bọn chúng mong muốn,như sử dụng các kỹ thuật tan công từ chối dịch vụ nhằm phá hoại khả năng hoạt độngcủa hệ thống, thực hiện chiếm giữ hệ thống, hoặc gửi thư rác hàng loạt cho một đối
tượng mục tiêu nào đó
Đề nâng cao khả năng tấn công, các bot thường không hoạt động riêng rẻ, màchúng thường được tô chức thành một nhóm lớn với nhiều thiết bị bị lây nhiễm, được
gọi là botnet (hay bots network) Mạng lưới này có thé do một hoặc nhóm đối tượng
điều khiển
Đề vận hành botnet, các đối tượng tấn công dùng một hoặc nhiều máy tính để
kiêm soát, gọi là botmaster Botmaster liên kết với máy chủ lệnh và điều khiển (CnChay C&C) đề ra lệnh chỉ huy cho các bot trong mạng lưới botnet mà nó đang kiểm
soát [15].
Trang 19May chu Cnc
BEEBE BEG
Cac bot
Hình 2.1: Mô hình các bot trong một botnet được kiểm soát bởi botmaster
2.1.2 Phương thức hoạt động của bot, botnet
Đăng ký Lây nhiễm sơ bộ (bắt đầu lây nhiễm
(DDNS va IP tinh) may nạn nhân trực tiêp hoặc giản tiép)
| Xây dựng mạng bot ¬
|
Tap hợp
(giữa các bot va CnC)
Nang cap và bao tri
Hình 2.2: Cac giai đoạn hoạt động cua botnet
Trang 20Vòng đời hoạt động của botnet bao gồm 7 giai đoạn như sau [12][13]:
1.
2.
2.1.3.
Khởi tạo: thiết lập thông số ban đầu cho các bot
Đăng ký: botmaster tiễn hành thiết lập tên miền và địa chỉ IP cho các máychủ chỉ huy và kiểm soát (CnC) trên DDNS (hệ thống tên miền động)
Lay nhiễm sơ bộ: ở giai đoạn này, các mã bot sẽ được phát tán ra thông
qua các thủ thuật khác nhau như: đính kèm vào thưu điện tử, chèn vào các
tệp cho người dùng tải về hoặc thông qua 6 đĩa di động
Xây dung botnet: ở giai đoạn này, quá trình lây nhiễm bot được day mạnh,
các máy tính ma tiễn hành tìm kiểm các mục tiêu lây nhiễm mới.
Tập hợp: hay còn gọi là giai đoạn kết nối, đây là quá trình các bot tự động
kết nối tới máy chủ CnC
Khởi động tan công: trong giai đoạn này, các lệnh bắt đầu được gửi xuốngthông qua máy chủ CnC đến các bot Từ đây, các bot bắt đầu các hoạt động
theo sự chỉ huy của botmaster.
Nâng cấp và bảo trì: trong giai đoạn nay, botnet tiễn hành bảo trì dé giữ
các kết nôi giữa botmaster và các bot trong mạng lưới, nhằm chuẩn bị cho
các phiên hoạt động tiếp theo Đồng thời, chúng còn tiến hành trang bịthêm các tính năng mới, nâng cấp khả năng lần tránh dé giúp các bot cóthể vượt qua các kỹ thuật phát hiện
Phân loại các botnet
Các loại botnet hiện có tương đối đa dạng, có hai tiêu chí được áp dụng dé
phân loại botnet Một là, kiến trúc mang; hai là, giao thức truyền thông [12]
2.1.3.1 Phân loại theo kiến trúc mạng
10
Trang 21Giao thức (IRC, HTTP)
Phần mềm ứng dụng
(KAZAA, Emule)
Bot phục vụ
Bot khách
Hình 2.3: Phân loại botnet dựa trên kiến trúc mạng của chúng
Dựa theo cách này, botnet được phân thành ba loại kiến trúc, bao gồm tập
trung, ngang hàng và lai (kết hợp cả hai loại trên)
— Tập trung: loại này có sự tương đồng với kiến trúc máy khách — máy chủ
truyền thong Hệ thống CnC thiết kế tập trung thông qua giao thức IRC,
HTTP.
— Ngang hang (hay phi tập trung): trong kiến trúc này, các bot được kết nối
trược tiếp với nhau Điều này làm giúp dễ dàng mở rộng với số lượng lớn
các bot Đặc biệt, chúng khó chuẩn đoán và vô hiệu do đa số không kết nối
trực tiếp với CnC
— Lai: đây là kiến trúc kết hợp giữa kiến trúc tập trung và ngang hàng Trong
đó, các bot được chia thành hai nhóm hoạt động: bot dich vụ thực hiện vai
trò là máy chủ trong kiến trúc máy khách — máy chủ, với các địa chỉ IPtĩnh, giữa các bot liên kết trực tiếp với nhau; các bot khách đóng vai trò
như một máy khách, với địa chỉ IP động [26].
11
Trang 222.1.3.2 Phân loại theo giao thức truyền thông
Ngoài cách phân loại trên, botnet còn có thê được chia theo các giao thức mà
chúng dùng trong truyền thông Các giao thức phô biến có thê ké đến như IRC, DNS,
HTTP và P2P [12].
2.2 Tim hiểu DGA botnet và co chế sử dung thuật toán tao tên miền
2.2.1 Khái niệm DGA botnet
DGA botnet là tên gọi chung cho các họ botnet áp dụng những thuật toán tạo
tên miền (DGA) dé phát sinh nhiều tên miền giả theo cách không định trước va đăng
ký chúng định kỳ để sử dụng cho máy chủ CnC, nhằm mục đích lân tránh, vượt qua
việc bị quản lý và liệt kê vào danh mục lưu lượng không hợp lệ.
Các DGA botnet làm cho việc kiêm soát tên miền phức tạp hơn Trong trườnghợp chỉ sử dụng một tên miền có định ở máy chủ CnC, việc phát hiện ra lưu lượngtrái phép và thu hồi tên miền là việc dé dàng, bằng cách liên kết với nhà quan lý tênmiền chính dé cập nhật DNS Tuy nhiên, đối với các DGA botnet, việc này phức taphơn nhiều Các tên miền mới sinh ra định kỳ và liên tục dé kết nối tới trung tâm điềukhiển (CnC), những tên miền cũ sẽ không còn được sử dụng tiếp tục, dẫn đến việc
quản lý và thu hồi các tên miền này là không còn tác dụng
2.2.2 Thuật toán tao tên miền và cơ chế DGA botnet sử dung
2.2.2.1 Thuật toán tạo tên miền
Các thuật toán dùng dé tạo tên miền mà các DGA botnet sử dụng rất đa dạng.Trong đó, một số thuật toán tạo ra tên miền theo phương pháp ghép ngẫu nhiên một
số ký tự với một độ dài ngẫu nhiên Một số DGA botnet áp dụng cách làm tương tự,
nhưng thay vào đó, chúng sử dụng các từ trong từ điển, nhằm làm khó phân biệt hơn
Ngoài ra, dé tăng độ phức tạp, một số loại DGA botnet còn dùng các phép tính dựa
trên các giá trị thời gian ngày giờ, từ đó, tạo ra các tên miền có tính ngẫu nhiên và
dựa trên thời điểm
12
Trang 232.2.2.2 Cơ chế DGA botnet sử dụng thuật toán tạo tên miền
Về phương thức, tiêu chuẩn cần thiết dé botmaster giao tiếp được với các bot
trong mạng lưới botnet của nó là các bot phải biết được địa chỉ tên miền của CnC Do
đó, thuật toán tạo tên miền áp dụng trên cả botmaster lẫn các bot phải sinh ra các tên
miền giống nhau, trong cùng một thời điểm, tức là phải có cùng một nhân (seed) banđầu Thông thường, chúng sử dụng nhân ban đầu là thời gian (ngày, giờ) để tạo racùng một danh sách các tên miễn trong quá trình hoạt động
Về phía botmaster, chúng thường xuyên tạo ra và đăng ký nhiều tên miền mớicho máy chủ CnC thông qua hệ thống DDNS Về phía các bot, chúng cũng định kỳsinh ra và truy vấn các tên miền lên hệ thống DNS trong mạng nội bộ, xác định địa
chỉ IP của tên miên dé két nôi với CnC.
VCSW.info
DNS Query: rwabubwunur.org
DNS Query: atrrzwque.com NXDOMAIN:DNS REPLY
DNS Query: fegetevhgl.net NXDOMAIN:DNS REPLY
Trang 24Một khi việc giải mã tên miền hoàn tat, các bot đã được liên kết đến với máy
chu CnC và thực hiện các lệnh chỉ huy và các bản sửa lỗi Ngược lại, khi không thành
công, các bot này lại tiếp tục tạo ra một tên miền với bằng thuật toán và gửi lại yêu
cầu giải mã DNS cho đến khi thành công [5]
2.2.3 Phân loại DGA Botnet
Tương tự botnet nói chung, DGA botnet có nhiều cách phân loại Cách phân
loại được nhiều người sử dụng là dựa theo kỹ thuật của thuật toán tạo tên miền Theo
cách phân loại này, chúng được xếp vào ba loại chính là: (1) DGA botnet dựa trên ký
tự, (2) DGA botnet dựa trên từ, và (3) DGA botnet hỗn hợp [17] Dưới đây là mô tả
về các loại này
DGA botnet dựa trên ký tự (Character-based DGA botnet) là các loại DGA
botnet sử dụng thuật toán tạo tên miền theo phương pháp kết hợp các ký tự theo quyluật Những ký tự này thường bao gồm các ký tự Latin, các số A Rap, hoặc các chữ
số trong hệ thập lục phân Tùy theo từng họ DGA botnet mà độ dài của tên miền được
tạo ra sẽ khác nhau Bên dưới là một vài trường hợp minh họa cụ thé.
Bảng 2.1: Minh họa một vài họ DGA botnet dựa trên ký tự
Họ Ký tự Ví dụ
bamital Các chữ số trong | 51 1aa6c09a62a0c535ad0be7f5598c85.cz.cc
hệ thập lục phân
cryptocloker a-y velixdirmoqom.org
gameover a-z va 0-9 klhq9h1vfwitlInrSe241t1912m.com
mydoom aehmnpqrsw prrssaheen.in
rovnix a-z va 0-9 bg6yh34pgow6earefi.com
14
Trang 25DGA botnet dựa trên từ (Word-based DGA botnet) là các loại DGA botnet
sử dụng thuật toán tạo tên miền dựa theo việc liên kết các từ được lay trong từ dién
tiếng Anh Hon nữa, các ho DGA botnet khác nhau sé có các phương pháp kết hợp
riêng, có nghĩa Nhờ đó, loại tên miền này khó phân biệt tên miền bình thường hơn
Bên dưới là một vài trường hợp minh họa cụ thể
Bảng 2.2: Minh họa một vài họ DGA botnet dựa trên từ
Họ Dạng sử dụng Vi dụ
bigviktor Kết hợp 3 đến 4 từ think-equivalent-importance.rocks
trong 4 từ điển needemotionaltooth.observer
matsnu Két hop 2 dén 3 tir time-let-register.com
trong 2 từ dién detail-sandwich.com
ngioweb Két hop tir trong 3 tir antizerolant-monogevudom info
DGA botnet hỗn hợp (Mixed DGA botnet) là loại DGA botnet sử dụng thuật
toán tạo tên miền theo phương pháp vừa liên kết các ký tự, vừa liên kết các từ Loại
DGA botnet này là sự lai giữa hai dạng trên, làm tăng độ khó trong phân loại và phát
hiện tên miền phát sinh bởi thuật toán Tên miền được tạo ra bởi dạng DGA botnetnày thường có hai phần (phan ký tự và phan từ), ví dụ: “wkivthoodivettewl.com”,
“xpvofordlinnetavox.com”.
15
Trang 262.3 Cơ chế DGA botnet khai thác hệ thống DNS
2.3.1 Hệ thống DNS
DNS là hệ thống tra cứu từ thông tin tên miền mà người dùng nhập vào thànhđịa chỉ IP cần truy cập DNS giống như một chiếc danh bạ khong lồ chứa đựng thôngtin liên quan đến tên miền và địa chỉ IP của tên miền đó Nó giúp cho việc truy cập
trang web trở nên đơn giản băng cách loại bỏ việc phải nhập địa chỉ IP phức tạp
Quy trình hoạt động của DNS được gọi là quy trình phân giải DNS Trong đó,
hệ thống DNS nhận truy vấn từ trình duyệt qua tên miền của máy chủ (ví dụ:uit.edu.vn), sau đó trả về thông tin IP của máy chủ đó (ví dụ: 778.69 123 140) Trongquá trình duyệt web, quy trình truy vấn này hoạt động ân và không đòi hỏi ngườidùng có các tương tác bổ sung nào khác, ngoài việc cung cấp tên miền của máy chủcần truy cập Một địa chỉ IP đặt trưng riêng biệt cho một thiết bị đang hoạt động trên
không gian mạng Internet, tương tự như một địa chỉ dé tìm một căn nhà nao đó trên
đường phố
Trên thực tế, các thông tin địa chỉ IP đã truy vấn thành công sẽ được tạm thờilưu trữ trong bộ nhớ cache của thiết bị, hoặc lưu trong hệ thong DNS Nhờ đó, việctruy van lại các thông tin địa chỉ này tiết kiệm chi phí hon
Dưới là hình ảnh mô tả quá trình xử lý tên miền trên DNS Dé truy cập vàotrang web có tên miền là website.com, trình duyệt sẽ tiến hành tìm kiếm trên DNS dé
tìm ra IP (bước 1) Sau đó, DNS sẽ truy vấn trên máy chủ root, máy chu TLD, máy
chủ ủy quyền dé tìm ra thông tin địa chi IP (bước 2-7) Sau khi có địa chỉ IP, DNS sẽđưa ra phản hồi cho trình duyệt (bước 8), để truy cập đến máy chủ web (bước 9, 10)
16
Trang 27Với kiến trúc của botnet, botmaster sẽ điều khién và quản lý các máy bot nhờ
vào một hệ thông máy chủ trung gian, CnC Theo đó, dé giao tiếp với các bot trongmạng lưới botnet, các CnC này can sử dụng một IP công cộng hoặc tên miền dé truyvan trên hệ thống DNS Các phương thức liên lạc được áp dụng có thé là IRC hoặcHTTP để truyền lệnh điều khiển và các cập nhật bản và lỗi trên máy bot
Tuy nhiên, nếu các CnC sử dung IP công cộng dé giao tiếp với các bot thì việcphát hiện chúng là khá dé dàng Một người dùng bình thường không thể ghi nhớ IP
dé giao tiếp trực tiếp được, do đó, người quản trị mạng có thé so sánh, lọc ra nhưngđịa chỉ IP không xuất hiện trong thông tin truy vấn DNS và đưa các địa chỉ IP đáng
ngờ này vào danh mục cần theo dõi, hoặc lưu lượng tương tác không hợp lệ
Nếu việc dùng các IP công cộng là không khả dụng do dễ bị phát hiện, thì việc
thay đổi địa chi IP và tên miền của máy chủ CnC theo chu ky là phương pháp kháhiệu quả trong lần tránh, vượt qua sự kiểm soát của hệ thống Các phương pháp được
17
Trang 28botmaster áp dụng trong việc này có thê ké đến như DGA hoặc FF Lúc này, hệ thống
DNS sẽ liên tục nhận các yêu cầu chuyền đổi tên miền và IP của CnC Đồng thời, các
bot cũng sử dụng phương pháp tương tự như botmaster dé phát sinh ra các tên miền
cho CnC Nhờ vậy, máy bot có thé dé dàng gởi yêu cầu tìm kiếm trên DNS, tim ra IP
và kết nối với CnC [8]
Dựa vào cơ chế trên, việc theo dõi và phân tích dữ liệu truy cập bất thường
trên DNS có thé cho thay các manh mối, dấu tích hoạt động của các máy chủ CnCtương tác với mạng lưới botnet Hình ảnh sau đây mô tả ngắn gọn cơ chế khai thác
DNS của botnet.
© CnC SERVER aa
F F Trả về địa chỉ IP của CnC server
Hình 2.6: Cơ chế khai thác hệ thống DNS của DGA botnet
2.4 Các phương pháp phát hiện DGA botnet
2.4.1 Các phương pháp
Do DGA botnet là họ botnet chiếm tỷ lệ lớn, những kiến nghị cho giải phápphát hiện DGA botner cũng rất đa dạng, ứng dụng nhiều phương pháp phát hiện, hiệu
18
Trang 29suất cao hơn Có thé phân thành ba nhóm phương pháp: (1) Phân tích thông tin truyvan DNS; (2) Thong ké; va (3) Ung dung hoc may [26].
2.4.1.1 Phương pháp phân tích thông tin truy van DNS
Phân tích thông tin truy vấn trên DNS là phương pháp phân tích dựa trên lưulượng truy cập đáng ngờ trên hệ thống DNS Trong nhóm phương pháp này, có bốn
nguyên tắc tiếp cận chính:
Một là, theo dõi các yêu cầu truy vấn DNS thất bại Trong quá trình hoạtđộng, các bot định kỳ tạo ra và truy vấn các tên miền lên hệ thống DNS để có gắng
liên lạc với máy chủ CnC của chúng Mặc khác, các tên miền của máy chủ CnC có
thời gian tồn tại nhất định và thay đổi liên tục, do vậy đa số các tên miền được các
bot truy vấn lên hệ thông DNS là các tên miền không hợp lệ hoặc đã quá hạn sử dụng,dẫn đến lỗi truy van Nhờ đó, người quản lý có thé phát hiện ra botnet đang hoạt động
và khac phục vân đê.
Hai là, theo đối các tên miên trong danh sách đen Phương pháp này dựa trên
một danh sách các tên miên đã được cho là độc hai, chỉ có các tên miên nam ngoài
danh sách này mới được phép gửi đến hệ thông DNS
Ba là, theo đối các tên miền có thời gian tôn tại thấp Phương pháp này sửdụng việc giám sát các tên miền liên kết với địa chỉ IP có thời gian tồn tại thấp, tức
là có khả năng tạo bởi DGA botnet Tuy vậy, dé thực hiện phương pháp này, hệ thống
DNS cần cập nhật bộ đệm phân giải địa chỉ IP thường xuyên
Bốn là, theo đối các dấu hiệu bất thường trong lưu lượng truy van DNS.Dựa trên việc phân tích lưu lượng truy cập dé kịp thời phát hiện bat thường hoặc thayđôi đột ngột Những thay đôi bất thường này thường do các botnet thực hiện
2.4.1.2 Phương pháp thống kê
Phương pháp thống kê cũng thường được áp dụng, nó dựa trên các đánh giá
toán học, thông qua biểu diễn hoặc định lượng; có thể kế đến báo cáo của Yahav vàcộng sự [28] Tác giả báo cáo này đề nghị phương pháp phân loại khảo sát mật độ
19
Trang 30phân bó các thành phan ký tự trong tên miền, như mô hình mono-gram hoặc bi-gram
liền kề Phương pháp nay đã được kiêm tra và chứng minh cho ra tỉ lệ đương tinh giả
thấp
2.4.1.3 Phương pháp ứng dụng học máy
Sử dụng các thuật toán học máy dé giám sát và phát hiện sớm các hành vi tan
công trên hệ thống cũng là phương pháp hữu dụng với DGA botnet Phương pháp
này có thể dựa theo phương pháp học máy truyền thống, hoặc học sâu hoặc có thê kếthợp giữa học máy truyền thống và học sâu
Theo nghiên cứu gần đây, ứng dụng học máy cho tỷ lệ dự đoán chính xác ngàycàng cao và quy trình xây dựng mô hình cũng ngày càng tối ưu [8][22]
2.4.2 Ưu điểm và hạn chế
Về ưu điểm, những phương pháp phát hiện DGA botnet trên cho tỷ lệ dự đoánchính xác cao, số lượng nhận diện không chính xác thấp, đa số phương pháp khôngcần sử dụng các thiết bị có hiệu suất cao đề xử lý Phương pháp áp dụng học máy làlĩnh vực nghiên cứu nôi bật hơn cả, được kỳ vọng có tiềm năng phát triển vượt bậctrong tương lai nhờ tối ưu hóa quy trình huấn luyện mô hình phát hiện
Về hạn chế, các kỹ thuật đã kiến nghị cũng còn hạn chế cần nghiên cứu khắcphục Với ứng dụng học máy, các tập đặc trưng cho phân loại, thuật toán huấn luyện
còn chưa tối ưu, dẫn đến độ chính xác chưa đạt kỳ vọng, tỷ lệ không chính xác vẫn ởmức đáng kể, dẫn đến khó triển khai vào thực tế; một số kỹ thuật chỉ có hiệu suất
phân loại với tập dữ liệu này, nhưng lại kém với một vài họ DGA botnet trong tập dữ
liệu khác Một số khác cho hiệu suất tốt nhưng còn đòi hỏi đầu tư kinh phí khá cao
dé hoàn thành mô hình, theo dõi hệ thống, khó khăn trong triển khai
20
Trang 31Chương 3 ĐÈ XUẤT MÔ HINH VÀ TRIEN KHAI
3.1 Một số khái niệm liên quan
3.1.1 Giới thiệu về học máy
Học máy được coi là một phần của trí tuệ nhân tạo, mục tiêu xây dựng mô hình
hoặc hệ thống có thé "hoc" từ những thông tin cho trước Các bộ dữ liệu cần thiết dé
xây dựng mô hình, gọi là tập dữ liệu huấn luyện Đề việc “học” đạt hiệu suất tốt hơn,chúng ta cần áp dụng các thuật toán học máy, giúp mô hình dự đoán mà không cầnlập trình chỉ tiết [14][25]
Gần đây, học máy giúp phát hiện xâm nhập và tấn công mạng hiệu quả hơn,đặc biệt trong phát hiện botnet Rất nhiều bài toán bảo mật trong thực tế được giảiquyết [8]
3.1.2 Phân loại nhị phân
Bài toán phân loại là dạng cơ bản và phô biến trong lĩnh vực học máy Có haikiểu phân loại là nhi phân và đa lớp Trong phạm vi ứng dụng, chúng tôi tập trungvào phân loại nhị phân, áp dụng cho mô hình phân loại tên miền là bình thường hay
tạo bởi thuật toán.
Mục tiêu của phân loại nhị phân là phân loại các phần tử trong một tập hợpthành hai nhóm dựa trên một số thuộc tính được xác định, được gọi là đặc trưng
Đây là một dang bài toán thường xuất hiện trong các van dé an ninh mạng nhưphát hiện mã độc, phát hiện truy cập bat hợp pháp
3.1.3 Học máy có giám sát
Học máy có giám sát là kỹ thuật học máy mà việc phát triển mô hình dựa trêntập dữ liệu huấn luyện có đầy đủ các mối quan hệ giữa các thông tin đầu vào và đầu
ra, được ghép theo từng cặp Trong các kỹ thuật học máy, đây là nhóm thông dụng
nhất [25] Tiêu biểu trong nhóm này là bài toán phân loại và hồi quy
21
Trang 32Theo định nghĩa toán học, thuật toán học máy có giám sát khi kết quả dự đoán
b, trong mối quan hệ với đầu vào a, được xây dựng dựa theo các cặp đầu vào, đầu ra:
{(ai› bạ), (az, b;); (Ay, bạ))} Từ bộ dữ liệu này, một hàm f được xây dựng sao
cho với mọi ỉ = 1, 2, , n, f(a;) và b; gần nhất có thé Tương tự, khi có một dữ liệu
đầu vào a nào đó nằm ngoài tập dữ liệu huấn luyện thì đầu ra dự đoán tương ứng cũng
gan với đầu ra thực tế f(a) ~ b, thé hiện ngắn gon qua công thức sau:
b¡ =f(a;), Va, i=1,2, n
Hình dưới đây mô tả cụ thể các bước trong huấn luyện mô hình sử dụng học
may có giám sát:
š Đảnh giả
HUAN LUYEN nổ Ti
| Ma trận đặc trưng | |
Dữ liệu huấn luyện Trích xuất Thuật toán Mô hình
(Dữ liệu thô) đặt trưng học may
Hình 3.1: Quy trình huấn luyện mô hình sử dụng học máy có giám sát
3.1.4 Hồi quy Logistic
Hồi quy logistic là kỹ thuật học máy có giám sát đang rất phô biến trong việcgiải quyết các bài toán phân loại Hồi quy logistic được sử dụng trong dự đoán phân
loại dựa trên biến phụ thuộc, độc lập nhất định Các giá trị phân loại thông thường là
22
Trang 330 hoặc 1 Các giá trị xác suất được tạo ra bởi thuật toán này nằm ở giữa khoảng từ 0
đến 1 Có thé thay đổi giá trị ngưỡng với nhiều mức khác nhau dé tối ưu hiểu quả dự
đoán [25].
Hồi quy logistic sử dụng một hàm logistic hình chữ “S”, nằm giữa giá trị 0 và
1 Đường cong chữ “S” cho biết xác suất xảy ra một khả năng mà chúng ta dang
nghiên cứu Hàm toán học dùng trong hồi quy logistic là:
Trang 343.1.5 Các chỉ số đánh giá
PPY: tỷ lệ giữa số mẫu DGA được phân loại đúng, so với tong số mẫu đã được
phân loại là DGA Giá trị này được gọi là độ chính xác (precision) hoặc giá trị dự đoán dương tính.
TP
PPV = TB+TEP
TPR: tỷ lệ giữa sô mẫu DGA được phân loại đúng, so với tổng số mẫu DGA
được phân loại trong thử nghiệm Tỷ lệ này được gọi là độ nhạy (recall), hoặc tỷ lệ
FNR: tỷ lệ giữa số mẫu DGA nhưng được phân loại là bình thường, so với số
mẫu DGA trong thử nghiệm Tỷ lệ này gọi tỷ lệ bỏ sót, hoặc tỷ lệ âm tính giả.
FN
FNR = ———_
N FN+TP
Độ do F1: trung bình điều hòa của độ chính xác và độ nhạy Với chi số này,
kết quả sẽ khách quan hơn, so với chỉ sử dụng độ chính xác hoặc độ nhạy Chỉ số độ
đo F1 được thể hiện qua công thức:
2TP
Fl= op +FP+EN
ACC: tỷ lệ giữa số mau được phân loại đúng, so với tổng số mẫu trong thử
nghiệm Tỷ lệ này gọi là độ chính xác chung, hoặc độ chính xác toàn cục:
24
Trang 35A =—ễ
ce TP+FP+TN+FN
Ngoài ra, để đánh giá mô hình trong việc dự đoán từng họ DGA botnet khác
nhau, chúng tôi sử dung ty lệ phát hiện (DR) [26], tỷ lệ giữa số mẫu của một họ DGA
botnet được phân loại đúng (NoDB) so với tổng số mẫu thuộc họ DGA botnet đó(NoTest), thé hiện qua công thúc:
Mô hình đề xuất phân loại tên miền DGA-Detection được chúng tôi giới thiệu
trong phần này sử dụng học sâu, trong đó có ứng dụng mô hình mạng trí nhớ dài —ngắn hạn (LSTM) Tiêu biểu cho phương pháp này trong phát hiện tên miền tạo bởi
DGA botnet là báo cáo của Woodbridge và cộng sự [9] Trong báo cáo này, mô hình
đề xuất nhỏ gọn, giúp tốc độ xử lý nhanh hơn Biểu đồ so sánh đường cong ROC
trong báo cáo (Hình 3.3) cho thấy, mô hình dựa trên LSTM cho giá trị AUC là lớnnhất, tức là có khả năng phân loại tốt hơn các mô hình còn lại
25
Trang 36ROC - Binary Classification
False Positive Rate
Hình 3.3: Biểu đồ đường cong ROC phân loại nhị phân tên miền sử dụng LSTM,
hôi quy logistic và các mô hình khác của Woodbridge va cộng sự
Với những tìm hiéu ở các phan trước, cùng với ưu điểm của mô hình LSTM
trong báo cáo của Woodbridge, chúng tôi xây dựng mô hình DGA-Detection với mục
tiêu phân loại tên miền được tạo ra bang thuật toán và tên miền bình thường Trong
mô hình, chúng tôi kết hợp LSTM va mã hóa One-hot của 250 tên miền TLD phổbiến hàng dau dé cải thiện kha năng phân loại
Cu thé, trong khóa luận này, ba mô hình được xây dựng gồm: (i) Mô hình phânloại Bi-gram, đóng vai trò là cơ sở dé so sánh; (ii) Mô hình phân loại LSTM cho hiệusuất tốt hơn mô hình phân loại Bi-gram; (iii) Cuối cùng là mô hình phân loại kết hợp,
sử dụng kết qua dự đoán của LSTM và mã hóa One-hot của các tên miền TLD phổbiến, mô hình này đã đạt được hiệu suất tốt nhất, được dùng triển khai
26
Trang 37Mô hình phân loại
Chuan bị dữ liệu Huan luyện và đánh giá
Hình 3.4: Quy trình huấn luyện
Trong mô hình được dùng triển khai, ý tưởng ở đây là sử dụng phương phápkết hợp dé cải thiện hiệu suất dự đoán của mô hình Đầu tiên, chúng tôi làm sạch dữ
liệu, bao gồm xóa tên miền phụ (subdomain), phân tách tên miền chính (primary
domain) và TLD (top-level domain) Tiếp đó, xây dựng mô hình LSTM dùng chophân loại tên miền chính Khi có xác suất từ mô hình LSTM, kết hợp chúng với kếtquả mã hóa One-hot của 250 tên miền TLD phô biến hàng đầu xây dựng mô hìnhcuối cùng Quy trình tông thé của mô hình DGA-Detection được đề xuất cuối cùng
như hình sau:
Top-leveldomain One-hot encoding One-hot TLDs
(250 TLDs)
Primary domain MÔ HÌNH Các xác suét | MÔ HÌNH KET HỢP Kết quả
| LSTM (Hồi quy logistic) | phân loại
Subdomain
Hình 3.5: Quy trình tổng thé của mô hình DGA-Detection
27
Trang 38N-gram là chuỗi liên tục của các từ (words) hoặc ký hiệu (symbols) hoặc mã
thông báo (tokens) trong một tài liệu Về khía cạnh kỹ thuật, có thể định nghĩa
N-gram là các chuỗi lân cận của các mục trong một tài liệu N-N-gram phát huy tác dụng
với các tác vụ xử lý ngôn ngữ tự nhiên.
Bi-gram là khái niệm nam trong mô hình N-gram Với N=1, ta có khái niệm
Uni-gram, tương tu, với N = 2, ta có khái nệm Bi-gram, với N = 3, ta có Tri-gram.
Với Bi-gram, ta có ví dụ, đối với bảng chữ cái tiếng Anh, số trường hợp các cặp ký
tự là N? = 262 = 676 cặp Trong đó, có thé nhận thấy các cặp ký tự hay gặp như “an”,
“er”, “he”, “in”, “th”.
Trong khóa luận này, mô hình Bi-gram được dùng làm mô hình cơ sỡ Mô
hình Bi-gram được hiện thực bang cách tính toán xác suất xuất hiện của các cặp ký
tự trong chuỗi tên miền, sau đó dựa vào xác suất này để phân loại một chuỗi tên miền
có phải được tạo ra từ thuật toán không.
3.2.2.2 Mô hình LSTM
Mang trí nhớ dài — ngắn hạn (LSTM) là kiến trúc đặc biệt thuộc mạng neuron
truy hồi (RNN), được đề xuất bởi Schmidhuber và Hochreiter năm 1997 Không chỉ
có thé học được các điểm dit liệu đơn lẻ mà LSTM còn có thé học được những phụ
thuộc trong dài hạn.
28
Trang 39Hình 3.6 cho thấy kiến trúc mạng neuron truy hồi, chuỗi lặp lại nhiều lần cho
phép liên kết các thông tin thành xâu chuỗi, đầu ra của tế bào này là đầu vào của tế
bào sau Hạn chế lớn của RNN là trong các trường hợp cần học các phụ thuộc dài
hạn, kiến trúc này tỏ ra kém hiệu qua Do đó, LSTM được phát triển nhằm khắc phục
điêm yêu này.
Hình 3.6: Minh họa kiến trúc mạng neuron truy hồi (RNN)
Hình 3.7 cho thấy kiến trúc của LSTM, cấu trúc này có phần phức tạp hơnRNN, nhưng cơ bản vẫn là sự lặp lại nhiều lần tạo thành chuỗi sao chép LSTM cũng
có phan khác biệt hơn, LSTM có đến bốn tầng an, bao gồm 3 tang sigmoid và 1 tang
tanh [24].
Với cơ chế này, LSTM cho phép ghi nhớ thông tin lâu dài và truy cập thông
tin theo trình tự, làm giảm van đề mat mát thông tin theo thời gian Điều này giúp làm
29
Trang 40việc áp dụng LSTM vào mô hình phân loại tên miên hiệu quả hơn Tiêu biêu là các báo cáo của Woodbridge và cộng sự [9] va Qiao Y va cộng sự [16].
3.2.2.3 Mã hóa One-hot
Mã hóa One-hot là quá trình biến đổi dữ liệu thông thường thành các dit liệu
ma mô hình có thé học được, cu thé là, biến đổi từng giá trị có trong dữ liệu thành
các đặc trưng, lưu trữ các giá tri nhị phân là 1 hoặc 0 Theo đó, trong tập dữ liệu có
m giá trị thi mỗi mẫu trong bảng đặc trưng phân loại sẽ được chuyền đổi thành mộtvector có kích thước m chỉ với một giá trị duy nhất là 1 (kích hoạt) hoặc 0 (bất hoạt)
[20].
Ví dụ, chuyên đôi dir liệu gôm các loại trái cây va giá tương ứng của chúng
dựa trên mã hóa one-hot được thực hiện như bảng sau:
Các tên loại trái cây được chuyên thành các cột với tiêu dé là sô danh mục
tương ứng Và đây là kết quả dữ liệu sau khi được mã hóa One-hot:
30