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

Khóa luận tốt nghiệp Công nghệ thông tin: Phát hiện tên miền được phát sinh bằng thuật toán

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát hiện tên miền được phát sinh bằng thuật toán
Tác giả Nguyễn Ngọc Mẫn
Người hướng dẫn TS. Nguyễn Tấn Cầm
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 45,75 MB

Nội dung

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 2

Tô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 3

MỤ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 4

3.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 5

4.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 6

DANH 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 7

Hì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 8

DANH 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 9

DANH 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 10

IRC 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 11

TÓ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 12

DGA 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 13

Chươ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 14

Dự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 15

1.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 17

Chươ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 18

Chuong 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 19

May 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 20

Vò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 21

Giao 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 22

2.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 23

2.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 24

Mộ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 25

DGA 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 26

2.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 27

Vớ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 28

botmaster á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 29

suấ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 30

phâ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 31

Chươ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 32

Theo đị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 33

0 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 34

3.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 35

A =—ễ

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 36

ROC - 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 37

Mô 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 38

N-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 39

Hì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 40

việ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

Ngày đăng: 02/10/2024, 03:48

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN