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

Nghiên cứu phát hiện word-based dga botnet dựa trên học máy

69 1 0

Đ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 đề Nghiên cứu phát hiện word-based DGA botnet dựa trên học máy
Tác giả Phùng Thị Phương Thảo
Người hướng dẫn PGS.TS. Hoàng Xuân Dậu
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành An toàn thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 69
Dung lượng 19,05 MB

Nội dung

LỜI CAM ĐOANEm xin cam đoan rằng đồ án tốt nghiệp "Nghiên cứu các kỹ thuật phát hiện word-based DGA botnet dựa trên học máy" là thành quả của sự nỗ lực và nghiên cứu cá nhân của em.. Hơn

Trang 1

QC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

KHOA AN TOÀN THÔNG TIN

ĐÈ TÀI

NGHIÊN CỨU PHÁT HIỆN WORD-BASED DGA

BOTNET DỰA TRÊN HỌC MÁY

PHÙNG THỊ PHƯƠNG THẢO

Hà Nội, tháng 1 năm 2024

Trang 2

OC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

KHOA AN TOÀN THÔNG TIN

ĐÈ TÀI

NGHIÊN CỨU PHÁT HIỆN WORD-BASED DGA

BOTNET DỰA TRÊN HỌC MÁY

Giảng viên hướng dẫn : PGS.TS Hoàng Xuân Dậu

Sinh viên thực hiện : Phùng Thị Phương Thảo

Mã sinh viên : B19DCAT183

Trang 3

LỜI CẢM ƠNTrước hết, em muốn bày tỏ lòng biết ơn đến tất cả các thầy cô trong Khoa

An toàn thông tin và toàn bộ đội ngũ cán bộ của Học viện Công nghệ Bưu chính

Viễn thông vì đã tạo ra một môi trường học tập tích cực và có điều kiện cho sự

phát triển của em Em chân thành cảm ơn sự quan tâm, hướng dẫn và chia sẻ

kiến thức quý báu mà các thầy cô đã dành cho em trong suốt quãng thời gian

học tập kéo dài hơn 4 năm Những kiến thức này không chỉ là nền tảng quan

trọng cho đồ án của em mà còn là nền móng cho sự thành công trong công việc

tương lai.

Em gửi lời biết ơn đối với thầy giáo PGS.TS Hoàng Xuân Dậu, đã nhận lời

hỗ trợ em làm đồ án, đã giúp em vượt qua những khó khăn của việc thực hiện,

và đã tin tưởng em dé hoàn thành đồ án này Trong thời gian học tập và làm việc

VỚI thầy, em luôn nhận được sự giúp đỡ kip thời và những lời chỉ bảo tận tâm.

Mong rằng, thầy sẽ luôn mạnh khỏe và thành công hơn nữa

Cuối cùng, em xin gửi lời cảm ơn tới bạn bè và gia đình đã hỗ trợ và động

viên em trong quá trình hoàn thành đồ án này Vì kiến thức còn hạn chế, đồ áncủa em không tránh khỏi những thiếu sót, do đó em mong muốn nhận được sự

góp ý bồ sung từ phía các thầy cô

Em xin chân thành cảm on!

Hà Nội, ngày 03 thang I năm 2024

Sinh viên thực hiện

Phùng Thị Phương Thảo

Trang 4

LỜI CAM ĐOAN

Em xin cam đoan rằng đồ án tốt nghiệp "Nghiên cứu các kỹ thuật phát hiện

word-based DGA botnet dựa trên học máy" là thành quả của sự nỗ lực và nghiên

cứu cá nhân của em Mọi nguồn thông tin tham khảo được sử dụng trong đồ ánđều được đưa ra chỉ tiết và minh bạch tại phần tài liệu tham khảo Các dữ liệu vakết quả được trình bày trong đồ án đều tuân theo nguyên tắc trung thực, không

có bất kỳ hành vi sao chép hoặc đạo nhái nào

Trong trường hợp xảy ra bat kỳ sai sót nao, em xin chịu trách nhiệm vàchấp nhận mọi hình phạt hay kỷ luật mà bộ môn và nhà trường đưa ra

Sinh viên thực hiện

Phùng Thị Phương Thảo

ii

Trang 5

NHẬN XÉT, DANH GIA, CHO DIEM

(Của người hướng dẫn)

Trang 6

NHẬN XÉT, DANH GIA, CHO DIEM

(Của người phải biện)

Trang 7

MỤC LỤCLỜI CẢM ƠN 2- 5221 2 2 2E1221121127121121111211111111111111 11c ye iLOI CAM DOAN escssssssessesssessecsssssecsusssessessussseesecsusssessessessesessissessessesseesen iiNHAN XÉT, DANH GIA, CHO DIEM cccscccsssssessesssessesesssseeessveeeveeeees iiiNHẬN XÉT, DANH GIA, CHO DIEM ccccceccssecessesecseseesesesecececersvsvseseeees iv

MỤC LUC ececsscsssessesssessessssssecssessscsussssssecsussssssussssssessusssessecsusssessusssecsesseeseeess v

DANH MỤC BANG BIỀU 2S t+ESEEESE+EEEEEEESEEESEEESESErErErkeereree viiDANH MỤC ANH VA HINH VE cescssscssesssessesssessessesssessessessessesessseessess viiiDANH MỤC CAC THUẬT NGU VIET TẮTT -2-s©sz55+25++: x

LỜI MỞ DAU wieeecsscsssessesssessesssessesssessessvsssessecsssssessecsuessessesssessessessssusaesassecees |CHƯƠNG 1: TONG QUAN VỀ BOTNET VÀ CÁC PHƯƠNG PHAPPHAT HIỆN -¿- 2-2222 2E19E19211221221121127121121171121111111 211112111111 11c 3

1.1 Khái quát về Botnet 2 2+se+E2E2E121121121121121712112121 1E xeE 3

1.1.1 Giới thiệu về Botnet ¿ :-©2¿©2222xt2E2EEeExtEEEerxerkrrrrrkervee 3

1.1.2 Kiến trúc và hoạt động của Botnet - 2 2 s+ss+xs+zszxees 4

1.2 Khái quát về DGA Botnet và Word-based DGA Botnet 7

1.2.1 Giới thiệu về DGA Botnet - 2-2 +52 2+x+£zzEezszrerxerees 7

1.2.2 Giới thiệu về Word-based DGA Botnet -5-55c 55 10

1.3 Các phương pháp phát hiện Boftnet - 55+ +cs*+++sssx+s+ 11

1.3.1 Phát hiện dựa trên chữ ky ee ceccescceeceeeeeneeeseneeeeseteeeesteeeens 11

1.3.2 Phát hiện dựa trên bat thường - eesessesseseeseseeseeeees 12

1.3.3 Phát hiện dựa trên HoneypOt .- - 5+5 s++ss+ecsseeseersee 14

1.4 Kết chương 2-52 s+Sx+ 2 E2E12112112112112111111111111111.11 xe 14CHƯƠNG 2: PHÁT HIỆN WORD-BASED DGA BOTNET DỰA TRÊNHỌC MÁ Y G55 2< 21E211221211211271211211711211112111111211.11 111111 111cc 15

2.1 Khái quát về học máyy ¿+ 2 t+eEk#EE+E£EEEEEEEEEEEEEEEEEEEEEkrkerrei 15

2.1.1 Giới thiệu về học máyy - 2-52 keSxeEE2EEESEEEEEEEEkrkerkrkree 15

2.1.2 Quy trình làm vIỆC - G1131 11 9v vn key 15

2.1.3 Phân lOại - - - E22 1611112311111 1111119553355 11 111 khe 16

2.1.4 Một số thuật toán trong học máy, ss++++ssvs+seeexes 18

Trang 8

2.2 Mô hình phát hiện Word-based DGA Botnet dựa trên học máy 31

2.2.1 Giới thiệu mô hin esssessesseessesseessessesstessestesteseeseesen 31 2.2.2 Các khâu xử lý - cv rey 32

2.3 Kết chương -¿- ¿52+S2+E2EE2E12E12212112112112111111217111 111111 xe 39

CHƯƠNG 3: CÀI ĐẶT VA THU NGHIỆM 2 552225: 40

3.1 Giới thiệu tập dữ liệu sử dụng ¿5c 22+ ++svvvxeeeeresss 40

3.2 Tiền xử lý dit liệu ¿+52 St E211 1521215111111 11212111111 te 40

3.3 Quá trình huấn luyện và kiểm tra 2-2 2 ©s+S2+E+£++Ee£xzxzxcrez 44

3.3.1 Huấn luyện ¿2 ¿55c +ES2ES2EE2EE2E211211211211211211 111111 xe 44E84 na < 45

3.4 Thur nghigm 0n 46 3.4.1 Phương pháp đánh giá - -c Sc S213 EsEsrerererrsrsree 46

Trang 9

DANH MỤC BANG BIEU

Bảng 1 1: Một số dang DGA botnet và các mẫu tên miễn - - 5 -: 10

Bang 1 2: Cac ho botnet sử dụng word-based DGA -++++-<<+++s+2 11

Bang 1 3: Đặc trưng của một số họ word-based DGA bonet -:- 5-5: 11

Bảng 2 1: Bảng xác suất vi dụ cho thuật toán Naive Bayes - 28

Bảng 2 2: Bang khả năng ví dụ cho thuật toán Naive Bayes 28

Bảng 3 1: Danh sách các tên miền lành tính theo thống kê của Alexa 40Bảng 3 2: Danh sách tên miền các họ bofnet 2-2 2 + s+sz+E+£zzs+£+zsze: 40Bảng 3 3: Thống kê các từ điển được sử dụng trong 5 DGA botnet dựa trên từ

¬ Ö-Ö5ễ'ềễê-.-.:£ÉẢỔ - 4]Bảng 3 4: Số lượng dữ liệu trong TRAINING_DATASET -¿ 45Bảng 3 5: Số lượng dit liệu trong TEST_DATASET_I -5- 5: 45Bảng 3 6: Số lượng dữ liệu trong TEST_DATASET._2 -2- ¿55c 5s¿ 46Bang 3 7: Ma trận nhằm lẫn của mô hình phân loại tên miễn - 46

Bang 3 8: So sánh độ hiệu quả giữa các thuật toán 5-5 +++<s<++<+2 48

Bảng 3 9: Tỷ lệ phát hiện của mô hình với TEST _DATASET'_ I 48 Bảng 3 10: Tỷ lệ phát hiện của mô hình với TEST DATASET2 49

vil

Trang 10

DANH MỤC ANH VÀ HÌNH VE

Hình 1 1: Mô hình Botmaster điều khiển các bot qua máy chủ C&C 3Hình 1 2: Kiến trúc Client - Server của botnet - 2 25s s+£s+zx+rxzzzzxeẻ 4

Hình 1 3: Kiến trúc P2P của Bofmt -cc:c25cvc2EEttitrtrrtrrrrrrrrrrrrirrree 4

Hình 1 4: Kiến trúc lai của botnet 2 2©2+£++++E++E++E+EE£EeEEEEErEerkrrrrkrree 5

Hình 1 5: Hoạt động của mang bofn€t - . - c6 3+ 1323 EEsseesrerereerrre 6

Hình 1 6: Cơ chế tự động sinh và đăng kí tên miền cho máy chủ của mạng

I0 — 9 Hình 2 1: Quy trình làm việc của học máy, c5 + *++*‡vvxsxeeereeses 15 Hình 2 2: Mô hình hoc máy có gid sát - - c2 3+2 ££++#vEvxeeeeresss 17

Hình 2 3: Mô hình học máy không giám sát - 55-553 +++**++*evcx+sex 18

Hình 2 4: Mặt phân cách 2 lớp dit liệu bang 1 hàm tuyến tính 19

Hình 2 5: Các siêu phang dé phan lớp -2- 2 2+2+++£++E++E+Exerxzrxerszes 20

Hình 2 6: Điểm dữ liệu 5010 12127177 : 1B 21Hình 2 7: Siêu phang tìm được khi có điểm ngoại lệ 5-52 5525221

Hình 2 §: Các điểm dữ liệu không phân biệt tuyến tính .ccccccceeeress 21

Hình 2 9: Các điểm dữ liệu đã được phân biệt tuyến tính 2-5 5+22 Hình 2 10: Ví dụ thuật toán kÌNN - - 1k1 ng ng ngư 23 Hình 2 11: Sơ đồ cây quyết định -¿- ¿+ x+S£+E£EE+EE2EEEEEEEEEEEEEEErkrkrrrrkes 24

Hình 2 12: Mô hình thuật toán rừng ngẫu nhiên - 5 s52 5s+z2s25+2 26

Hình 2 13: Logistic sử dụng hàm phi tuyến để xác định xác suất của hai lớp 0

- 29

Hình 2 14: Hình ảnh hàm SIgmOIL - c2 3E 3+ **vEE+eeeeeerereerereeree 30

Hình 2 15: Mô hình học máy phát hiện word-based DGA bofnet 3l

Hình 2 16: Biểu đồ tần suất độ dài tên miền 5 họ word-based DGA botnet 33Hình 2 17: So sánh dài tên miền giữa tên miền lành tính và tên miền DGA 33Hình 2 18: Biều đồ số lượng nguyên âm có trong tên miền word-based DGA 34

Hình 2 19: : So sánh số nguyên âm có trong tên miền lành tính và tên miền

word-based DGA bofn€T - G2 19121112111 11911 11111111 nh ng nu 35

Hình 2 20: Số từ trong tên miền của 5 ho word-based DGA có trong từ điển

9581110111110 36

Hình 2 21: So sánh số từ trong tên miền d của tên miễn lành tính và tên miềnbotnet có trong từ điển 'eng diCf, - 2-52 Ss+SE+E2ESEE2EEEEEEEEEEEEEEEEEEEEerrrkes 37Hình 2 22: số lượng từ trong tên miễn lành tính có trong từ dién 'dga_ dict 37

vill

Trang 11

3: Đặc trưng f8 đến f10 ¿+ s22 12EEE121511212111 11111111 cty 6 43

4: Đặc trưng f11 đến 13 -¿- 2 2++2+EE+EE2EE2E12E1211211211221221 2E xe 43

5:Vector hóa các đặc frưng -c+ + ck cv vn ng ng ng kp 44

6: Tập các vector đặc trưng của tên miền word-based DGA botnet 447: Tập các vector đặc trưng của tên miền lành tính 44

8: Sơ đồ phát hiện -¿- 2 + S+SE+EE£EEEEEEEEEEE 2121211211211 cxe 50

9: Xây dựng mô-đun huấn luyện với thuật toán Rừng ngẫu nhiên 50

10: Giao diện phát hiện word-base DGA botnet ‹‹- «+‹ 50

11: Kết quả dự đoán tên miền botnet 5-5 2 s+seEx+x+Ee£x+xeEerxez 51

12: Kết qua dự đoán tên miễn lành tính - 2-2 s2 eeeeeeeeeeeees 51

1x

Trang 12

DANH MỤC CÁC THUẬT NGỮ VIET TAT

Ký hiệu Ý nghĩa tiếng Anh Ý nghĩa Tiếng Việt

ACC Accuracy Độ chính xác

C&C Command & Control Lénh va diéu khién

DGA Domain Generation Algorithm Thuật toán tao tên miềnDNS Domain Name Server Máy chủ phân giải tên miền

FNR False Negative Rate Tỷ lệ âm tính gia

FPR False Positive Rate Ty lệ dương tính giả

HTTP Hyper Text Transfer Protocol Giao thức truyen far siênvan ban

IP Internet Protocol Giao thức mang

IRC Internet Relay Chat Nhắn tin chuyền tiếp mạng

kNN K-Nearest Neighbors K láng giéng gần nhất

P2P Peer to Peer Mạng ngang hàng

SVM Support Vector Machine Máy vector hỗ trợ

TDL Top level Domain Tên miễn cấp cao nhật

Trang 13

LỜI MỞ ĐẦUNgày nay, với sự phát triển không ngừng của ngành công nghệ thông tin,

vẫn đề đảm bảo an toàn thông tin trở thành một ưu tiên cấp thiết Một trongnhững mối đe đọa đáng kể là sự xuất hiện của các loại virus, mã độc, botnet va

phần mềm độc hại làm phá vỡ đi tính an toàn của hệ thống thông tin Việc phát

hiện và loại trừ mã độc trong các phần mềm máy tính là công việc hàng ngày

của những nhà quản trị hệ thống mạng Những công việc đó được thực hiện mộtcách thủ công nên tốn khá nhiều thời gian công sức và năng lực Với sự pháttriển của công nghệ thông tin hiện nay thì hoàn toàn có thé sử dụng máy tính dé

xử lý thông tin thay cho khả năng hữu hạn của con người, hiệu quả xử lý thông

tin được nâng cao, khối lượng xử lý thông tin ngày càng lớn và kéo theo nó, tamquan trọng của thông tin trong đời sống xã hội cũng được nâng lên

Đặc biệt, Botnet một loại mã độc được tin tặc sử dụng rộng rãi trên không

gian mạng, là một nguy co đáng kê Đối với người dùng thông thường, khi bịnhiễm Botnet, máy tinh của họ sẽ trở thành Zombie, tức là một thành phan trong

hệ thống Botnet và dưới sự kiểm soát của máy chủ C&C Mục đích của tin tặc

có thé là thực hiện tan công DDoS lên các máy chủ, khiến chúng quá tải vàkhông thê cung cấp dịch vụ cho người dùng hoặc doanh nghiệp, gây ra nhiều hệlụy nghiêm trọng.

Hơn thế, các thuật toán tạo tên miền (DGA) là các thuật toán được thấy

trong các họ phần mềm độc hại khác nhau được sử dụng dé tạo định kỳ một sỐlượng lớn tên miền có thé được sử dụng làm tên miền cho các máy chủ C&C

DGA đã trở thành kỹ thuật cho phép botmaster tự động sinh và đăng ký các tên

miền cho các máy chủ C&C (Command & Control) của các mạng botnet dé lântránh các công cụ phòng chống

Nhiều thuật toán DGA được phát triển và sử dụng để sinh ra tên miền

character-based DGA , tên miền word-based DGA và tên miền mixed DGA Các

kỹ thuật này cho phép sinh các tên miền một cách đơn giản là tổ hợp ngẫu nhiên

của các ký tự đến các tên miền phức tạp là tổ hợp của các từ có nghĩa tương tựnhư các tên miền bình thường Điều này gây khó khăn cho các giải pháp giámsát, phát hiện botnet nói chung và DGA botnet nói riêng Nhiều giải pháp có khảnăng phát hiện hiệu quả các tên miền dang character-based DGA, nhưng không

thể phát hiện các tên miền dạng word-based DGA và mixed DGA Ngược lại,

một số đề xuất gần đây có thê phát hiện hiệu quả các dạng tên miền word-basedDGA, nhưng lại không thé phát hiện hiệu quả các tên miền của một số dang

character-based DGA.

Trang 14

Do những nguyên nhân trên, đồ án sẽ tiến hành tìm hiểu về phương pháp

phát hiện word-based DGA Botnet dựa vào các phương pháp học máy Trong

phạm vi của đồ án, các thuật toán học máy sẽ được sử dụng là máy vectơ hỗ trợ

(SVM - Support Vector Machine), rừng ngẫu nhiên (Random Forest), KNN

(K-Nearest Neighbors), Naive Bayes va Logistic.

Bồ cục đồ án bao gồm ba chương với cau trúc như sau:

Chương 1: Tổng quan về Botnet và các phương pháp phát hiện

Chương 2: Phát hiện Word-based DGA Botnet dựa trên học máy.

Chương 3: Cài đặt và thử nghiệm.

Trang 15

CHƯƠNG 1: TONG QUAN VE BOTNET VÀ

CAC PHUONG PHAP PHAT HIEN

1.1 Khai quat vé Botnet

1.1.1 Giới thiệu về Botnet

Thuật ngữ đây đủ của Botnet là “Bots network” dùng đê chỉ một mạng lưới

các máy tính bị nhiễm phần mềm độc hại và được chi phối bởi một người nao đó

(Botmaster) Một mạng botnet có thể có rất nhiều máy tính (hàng trăm hàngngàn, thậm chi là hàng triệu máy tinh) [1].

Các máy tính đang bị nhiễm Botnet còn được gọi là các “Zombie” Máy

tính bị nhiễm sé bị chi phối bởi một Botmaster và điều khiển mọi hoạt động củamáy tinh đang dính mã độc làm cản trở hoạt động, gián đoán gây mat nhiêu thờigian, giảm năng suất công việc của người dùng

Mục đích chung của botnet là kiểm soát càng nhiều máy tính càng tốt trong

thời gian dài nhất có thể Điều này có thê đạt được băng cách sử dụng tính năng

tàng hình, làm cho phần mềm độc hại trở nên kín đáo nhất có thể

= - Botmaster

Hình 1 1: Mô hình Botmaster diéu khiển các bot qua máy chủ C&C

Có thê thấy, một Botnet sẽ bao gồm 3 thành phần:

- Botmaster: điều khiển máy chủ C&C đưa ra các lệnh điều khiển các

Bots.

- Command & Control Server (C&C): chịu sự điều khiến của Botmaster,

phát ra các lệnh cho các bot trong mạng.

Trang 16

- Bots (Zombies): là các máy tinh bị xâm nhập, bi cài phần mềm độc hai

và chịu sự điều khiển của C&C Server

1.1.2 Kiến trúc và hoạt động của Botnet

1.1.2.1 Kiến trúc của Botnet

Kiên trúc của Botnet được chia thành 2 loại:

Hình 1 2: Kiến trúc Client - Server của botnet

Kiến trúc Client- Server là một mô hình truyền thống Ở mô hình này,

Botmaster sẽ thiết lập các lệnh, điều khiến và kiểm soát mang Botnet các C&C

Server sẽ hỗ trợ Botmaster quản lý các may Bots trong mang, đồng thời nó cũng

là cầu nối chuyên tiếp lệnh từ Botmaster đến các bots trong mạng Cac bots sẽnhận lệnh từ C&C Server giúp các hacker thực hiện các cuộc tan công mạng quy

mô lớn.

Kiến trúc này có một vai nhược điểm như nó có thể được định vị dễ dàng

và chỉ có một điểm kiểm soát Trong kiến trúc này, nếu máy chủ bị phá hủy,

bots sẽ “chết” theo [2]

a Kiến trúc ngang hàng Peer — to — Peer (P2P)

Trang 17

Hình 1 3: Kiến trúc P2P cua Botnet

Trong P2P, bot sẽ không kết nối vào các may chủ điều khién ma mỗi bot sẽ

có một danh sách bot “neighbor — lang giềng”, khi nhận được lệnh điều khiến từ

một bot thành viên nào đó trong mạng, nó sẽ quảng bá lệnh này tới danh sách

láng giềng của nó

Kiến trúc nảy để khắc phục nhược điểm của kiến trúc Client — Server, mỗi

bot là một máy độc lập trên kênh truyền nên nếu một bot bất kỳ bị lỗi sẽ không

ảnh hưởng gì tới Botnet Tuy nhiên, việc thiết kế hệ thống P2P là phức tạp hơnkiến trúc Client — Server rất nhiều, cũng như không đảm bảo đường truyền và độ

Trang 18

Kiến trúc lai kế thừa các đặc tính của hai loại kiến trúc trên.

Trong kiến trúc lai, có 2 loại bot là:

- Servant bot (bot phục vụ): Loại Bot này hoạt động đồng thời như một

máy khách và một máy chủ, được cau hình với các địa chi IP định tuyến

(IP tinh) Chúng gửi thông tin địa chỉ IP của mình đến danh sách bot và

ở chế độ lăng nghe chờ các kết nói đến từ các Client Bot [4]

- Client bot (bot khách): Loại Bot này hoạt động như một máy khách va

được cấu hình với các địa chỉ IP không định tuyến (IP động) Các Client

Bot nhận địa chỉ IP từ các Servant Bot, sau đó, chúng tạo kết nói để

nhận các lệnh và mã cập nhật [4].

1.1.2.2 Hoạt động cua Botnet ;

Thong thường, hoạt động cua một mang botnet có thê chia thành 4 pha: Pha

tuyên dụng thành viên, pha tương tác, pha tan công, pha duy trì

Hình 1 5: Hoạt động cua mang botnet

a Pha tuyển dụng thành viên

Trang 19

Trong pha này Botmaster cần phải lợi dụng các máy tính trên Internet dé có

thể điều khiển từ xa Botmaster sử dụng các phần mềm độc hại để tìm kiếm và

lây nhiễm tối đa vào các hệ thống, máy tính có điểm yêu dé cài bot vào đó Các

kỹ thuật lây nhiễm bot tương tự như việc lây nhiễm Trojan, Worm hay Virut Đểtăng khả năng lây nhiễm, trong thực tế nhiều phần mềm bot thường được thiết

kế với các môđun có khả năng tự động khai thác các điểm yếu đã biết, thậm chí

cả những lỗ hồng chưa biết đến

b Pha tương tác

Khi nạn nhận đã trở thành bot, nó sẽ giao tiếp với botmaster qua kênhtruyền thông được sử dụng bởi Botnet đó Botmaster sẽ nhận được thông báo vềbot mới được lây nhiễm, và bot đó sẽ chờ lệnh đến từ botmaster [5]

c Pha tan công

Mang botnet có thé được sử dụng dé thực hiện nhiều cuộc tan công với quy

mô lớn và nhiều hình thức khác nhau như: tan công từ chối dịch vụ, gửi thư rác,

tấn công lừa đảo Hầu hết các mạng botnet đều được phát hiện ở pha này và

cũng có nhiều nghiên cứu tập trung vào pha này đề đề ra giải pháp chống lại cáctấn công

d Pha duy trì

Sau khi thực hiện tấn công, các bot trở về trạng thái chờ lệnh Botmaster sẽ

cập nhật cho các bot thường xuyên để tránh các kỹ thuật phát hiện mới, hoặc vácác lỗi hay bổ sung thêm tinh năng mới cho bot Trong suốt thời gian này, các

bot cần được giám sát thường xuyên để đảm bảo cho hệ thống hoạt động bình

thường [5].

1.2 Khái quát về DGA Botnet và Word-based DGA Botnet

1.2.1 Giới thiệu về DGA Botnet

12.11 Hệ thong tén miễn Ộ

Hệ thông tên miên (Domain name server - DNS) là một thành phân quan

trọng của cơ sở hạ tầng Internet, chủ yếu được sử dụng để dịch tên miền sang

địa chỉ IP và ngược lại Hiện tại hầu hết các dịch vụ mạng và ứng dụng đều dựavào DNS Đề vượt qua sự phát hiện va ngăn chặn, nâng cao khả năng tự ton tại

và kéo dài thời gian tồn tại, nhiều mạng botnet sử dung DNS để tổ chức và kiểm

soát.

1.2.1.2 Thuật toán sinh tên miền DGA

Thuật toán sinh tên miên (Domain generation algorithm - DGA), được sử dung dé tự động tạo ra một sô lượng lớn các tên miên ngâu nhiên và sau đó chon

Trang 20

một tập con nhỏ của các miền này để giao tiếp với máy chủ C&C [6] Các tên

miền tạo ra sử dụng một thuật toán DGA với cùng một nhân (seed) nhất định,

các tham số đó có thé là các hằng số, ngày hiện tại, thời gian hiện tại Hầu hết

các botnet ngày nay đều sử dụng thuật toán sinh tên miền để làm điểm kết nối

tới các may chủ điều khiển Bằng cách liên tục thay đổi các tên miền đã sử dung,

các phương pháp phát hiện dựa vào các danh sách đen của các chuyên gia đã

không hiệu quả Một ưu điểm khác của việc sử dụng các tên miền này là che

giấu được các dau vết mà chúng đã dé lại

Hãy xem xét một mau mã Python đê tạo ra các tên miên khác nhau dưới đây:

def generate_domain(year, month, day):

""" Generates a domain by considering the current date """

domain = ""

for i in range(32):

year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17) month = ((month ^ 4 * month) >> 25) ^ 16 * (month & OxFFFFFFF8) day = ((day ^ (day << 13)) >> 19) ^ ((day & OxXFFFFFFFE) << 12) domain += chr(((year ^ month ^ day) % 25) + 97)

# add our own domain domain += '.infosec' return domain

Có thé thay chức năng generate _domain, chấp nhận ba tham số: năm, tháng

và ngày Điều này có nghĩa là thuật toán tạo ra một tên miền mới mỗi ngày, sau

đó được sử dụng bởi phần mềm độc hại dé kết nối với máy chủ C&C

Chìa khóa thành công của phương pháp DGA là dựa trên một trình tạo số

ngẫu nhiên xác định Các số này có thể là ngẫu nhiên hoặc được cung cấp từ

phần mềm độc hai và kẻ tan công Sau đó các số ngẫu nhiên này sẽ được chuyên

đổi sang một ký tự và cộng với phần tên miền cấp cao và sinh ra một tên miền

độc hại mà được kẻ tấn công sử dụng dé giao tiép voi may chu diéu khién

1.2.1.3 DGA Botnet | ;

Cac bot giao tiép với các máy chu C&C trong một botnet có thé qua giao

thức IRC, HTTP hoặc giao thức truyền thông khác Ngày nay các bot thường sửdụng giao thức HTTP nhiều hơn [7]

Dé hoạt động được trên Internet thì các bot hay máy chủ C&C đều phải có

một địa chi IP public hoặc tên miền để có thé phân giải về một dia chỉ IP Nếu

như các C&C server sử dụng các địa chi IP thì việc bi phát hiện là rất đơn giản

Chính vì vậy các C&C server thường sử dụng tên miền (dịch vụ DNS) thay vì sử

dung dia chỉ IP [7]

Trang 21

Cơ chế botnet sử dụng DGA tự động sinh và đăng kí tên miền cho máy chủ

C&C của chúng được lặp lại qua các quá trình: botmaster và các bot sẽ cùng sử

dụng một thuật toán DGA để tạo một tập các tên miền giống nhau Botmaster séđịnh kì tao ra và đăng kí tên miền qua hệ thong DNS cho máy chủ C&C Dé cácbot kết nối đến máy chủ C&C, chúng dùng một thuật toán DGA cùng nhângiống như máy chủ đã dùng dé tạo ra cùng tập tên miền Sau đó chúng gửi truy

van đến hệ thống DNS dé phân giải tên miền thành địa chỉ IP Nếu quá trình

phân giải thành công, bot sẽ kết nối được đến máy chủ C&C và tải mã lệnh hay

bản cập nhật của mã độc Nếu quá trình không thành công, chúng tiếp tục sẽ tạo

ra các tập tên miền mới và gửi truy vấn đến khi quá trình được kết nối thành

Hình 1 6: Cơ chế tự động sinh và đăng kí tên miễn cho

máy chủ của mang botnet

Đề cập đến việc các bot và botmaster dùng chung thuật toán DGA cùngnhân dé tạo những tập tên miền giống nhau Nhân là yếu tố cơ bản của DGA va

đóng vai trò như một bí mật được chia sẻ giữa kẻ tấn công và phần mềm độc

hại Nhân là một tập tổng hợp các thông số đưa ra để tạo tên miền giả ngẫu

nhiên Nhân có thê truy cập được đối với cả kẻ tan công và các bot trong mạng

Không những vậy, DGA hỗ trợ kỹ thuật cho phép tên miền có thể được

đăng ký và hủy đăng ký nhanh chóng Nhờ vậy, địa chỉ IP của nhiều tên miền

9

Trang 22

sinh tự động được thường xuyên thay đôi bởi kẻ tấn công đề tránh bị nằm trong

IP Blacklist [4].

1.2.1.4 Phân loại DGA botnet

Dựa vào tập các kí tự tự động sinh tên miền, có thể chia DGA botnet thành

ba dạng chính là [4]: character-based DGA botnet, word-based DGA botnet và

mixed DGA botnet.

Character-based DGA botnet: Character-based DGA là một trong những

cách triển khai cơ bản trong đó sử dụng tô hợp ngẫu nhiên các kí tự và số

trong bảng tiếng anh dé tạo nên các chuỗi giả ngẫu nhiên kết hợp với tên

miền cấp cao nhất (TLD) dé tạo thành một tên miền hợp pháp Các tên miền

được tạo bởi character-based DGA có một mức độ ngẫu nhiên nhất định,chúng không có đặc điểm ngôn ngữ nào Tên miền dựa trên character-based

có thành phan ký tự lớn hơn, điều này có thé làm giảm đáng kể xung đột vớitên miền thông thường

Word-based DGA botnet: thường sử dụng dựa trên từ điển (có thể là danh

từ, động từ hay tính từ) hoặc mô hình tạo ngôn ngữ để tạo tên miễn, đáp ứng

các đặc điểm ngôn ngữ nhất định dé tránh bị phát hiện Tuy nhiên, các tênmiền tao ra có tỷ lệ xung đột cao với các tên miền thông thường

Mixed DGA botnet: Kĩ thuật mixed DGA botnet sử dụng kết hợp cả hai kỹthuật trên dé tạo thành tổ hợp tên miền Như vậy tên miền sẽ có một phan là

kí tự bất kì, còn phần còn lại sẽ là từ nào đó

Bảng 1 1: Một số dạng DGA botnet và các mẫu tên miễn

Họ botnet Kiểu kĩ thuật Ví dụ

Bigviktor word-based DGA support.showremote-conclusion.fans

turntruebreakfast.futbol Suppobox word-based DGA sharmainewestbrook.net(fromwordlist 3)

tablethirteen.net (from wordlist 2)

childrencatch.net (from wordlist 1) Bazardoor character-based DGA aceijlahgijp.bazar

acfiimahhiiq.bazar efhijkekjijo.bazar

Chinad character-based DGA qowhi8 1jvoid4j0m.biz

Trang 23

1.2.2 Giới thiệu về Word-based DGA Botnet

1.2.2.1 Khái niệm ; ;

Việc sử dụng word-based DGA trong các cuộc tân công phân mém độc hại

đang gia tăng nhanh chóng trên toàn cầu Những kẻ tan công đã tạo ra danh sách

từ dựa trên các ho botnet như Matsnu, Gozi va Suppobox, có khả năng chống lại

kỹ thuật phát hiện vì chúng gần như tên miễn thật

Với word-based DGA, hai hoặc nhiều từ được chọn ngẫu nhiên từ mộthoặc nhiều từ điển dé tạo thành một tên miền, các tên miền được tạo tự động và

thường xuyên này bắt chước các đặc điểm của một tên miền hợp pháp nhằm

mục đích vượt qua các kĩ thuật phát hiện chúng Các word-based DGA có thé dédàng làm giả hơn khi các thành phần của nó là các từ tiếng Anh hợp pháp Vìvậy, việc phát hiện word-based DGA vẫn là một công việc đầy thách thức trong

lĩnh vực phát hiện botnet.

Bang 1 2: Cac ho botnet sử dụng word-based DGA.

Ho botnet Kĩ thuật Mẫu tên miền

Gozi word-based DGA williamseasily.com printingthatlabel.com

Matsnu word-based DGA shoulderracerecognizeblue.com

emergencyadaptselectdoubt.com

Suppobox word-based DGA windowtherefore.net severadifference.net

1.2.2.2 Đặc trưng cua một số họ word-based DGA bonet

Dưới đây là đặc trưng của một so họ su dung word-based DGA: Gozi,

Bigviktor, Suppobox, Pizd [8]

Bang 1 3: Đặc trưng cua một số họ word-based DGA bonet

Họ Đặc điểm TLD Mẫu tên miền

Gozi Nồi 3-4 từ trong com, ru exprdecadeincprcoundeep.ru

4 từ điển violationfashionorder.ru

divisiondevordecisionca.com

Bigviktor | Nôi 3-4 từ trong | art, click, club, support.showremoteconclusion.fans

4 từ điển com, fans, futbol, turntruebreakfast.futbol

in, info, link, net, speakoriginalworld.one

nl, observer, one,

org, pictures,

realty, rocks, tel,

lãi

Trang 24

1.3 Cac phuong phap phat hién Botnet

1.3.1 Phat hiện dựa trên chữ ky

-Chữ ký (signature) sử dụng trong phát hiện botnet là các mâu hoặc đặc

trưng của các botnet đã biết Kỹ thuật này dựa trên việc so sánh các thông tin thu

thập được với các chữ ký đã được xác định từ trước của các botnet, từ đó có thể

phân biệt va phát hiện ra các hành vi độc hại so với các hành vi bình thường

khác [4].

Có thé thấy, phương pháp này xác định hành vi của bot dựa trên các mô

hình đã được định nghĩa trước đó hoặc các chữ ký của các bot phổ biến, do vậy,

độ chính xác của kỹ thuật này khá cao.

Tuy nhiên, phương pháp này cũng có nhược điểm là không thê phát hiệncác loại Bots mới, hay các loại Bots biến thé mà tin tặc cố tinh tạo ra dé qua mặt

sự kiểm duyệt của các luật Bên cạnh đó, phương pháp này cần liên tục cập nhật

cơ sở đữ liệu chữ ký, luật dé không bi lỗi thời trước các loại Bots mới được tao

ra ngày càng nhiều

1.3.2 Phát hién dựa trên bắt thường

Phát hiện dựa trên bât thường là kỹ thuật xác định botnet dựa trên các dữ

liệu không bình thường ví dụ như: độ trễ cao bất thường, lưu lượng cao bất

thường, cổng dịch vụ khác thường, hành vi khác thường, từ đó có thé xác

định được sự hiện diện của mã độc bot trong mạng.

Ưu điểm của phát hiện botnet dựa trên bat thường là có tiềm năng phát hiện

các bot, botnet mới mà không cần biết trước thông tin về chúng Tuy vậy, phát

hiện botnet dựa trên bất thường thường có tỷ lệ cảnh báo sai cao hơn so với phát

hiện botnet dựa trên chữ ký [4].

Phát hiện dựa trên bất thường được chia làm 4 loại chính: khai phá dữ liệu

(data mining), phân tích hành vi (behavioral analysis), DNS, thống kê (statistical

approaches) [9].

12

Trang 25

1.3.2.1 Khai pha dit liệu (data mining)

-Là quá trình phân loại, săp xêp các tập hợp dữ liệu lớn đê xác định các mâu

và thiết lập các mối liên hệ nhằm giải quyết các van đề nhờ phân tích dit liệu

Data mining có thé được sử dụng trong xác định Botnet Điểm mạnh là các

thuật toán data mining cho phép việc tự động phát hiện các đặc tính từ một bộ

dữ liệu lớn Kỹ thuật này có tính tương tác, trực quan và làm việc trực tiếp VỚI

kho dir liệu [9].

Data mining vẫn có một số hạn chế trong xác định Botnet Kỹ thuật này hỗ

trợ trong việc khai phá khuôn mẫu và mdi liên hệ trong di liệu, nhưng nó không

thê đảm bảo một kết quả hoàn hảo, không thể giải thích nguyên nhân dẫn tới kết

quả, cũng như không thé sửa nếu dit liệu gặp van đề [9]

1.3.2.2 Phân tích hành vi (behavioral analysis)

Ky thuật phân tích hành vi có thé áp dụng vào trong phát hiện Botnet thông

qua các hành vi của lưu lượng mạng Một trong những ưu điểm quan trọng nhất

của kỹ thuật phân tích hành vi là khả năng phát hiện những mối nguy từ Botnetchưa biết Phân tích hành vi trong lưu lượng mạng hoạt động dựa trên đặc tính

cơ bản được tìm ra bởi các chủng loại Botnet khác nhau và không quan hệ tới

kiến trúc (ví dụ: centralized, P2P) cũng như giao thức liên lạc (ví dụ: IRC,

HTTP) được sử dụng bởi các loại Botnet [9].

Phương pháp phân tích hành vi lưu lượng mạng không phụ thuộc vào nội

dung mà packet chứa đựng, điều này có nghĩa nó hoạt động ngay cả trên lưu

lượng bị mã hóa Rất nhiều nghiên cứu đã chỉ ra rằng, việc xác định lưu lượng

mạng có thể được phân biệt một cách hiệu quả đối với các loại lưu lượng ứngdụng mạng Phan lớn những nghiên cứu này sử dụng các kỹ thuật học máy tinh

vi va đưa ra báo cáo với độ chính xác hơn 90% [9].

Phân tích hành vi lưu lượng mạng có thể là một công cụ rất mạnh trong

việc xác định Botnet, nhưng về thời gian xử lý, yêu cầu đối với môi trường phù

hợp dé quan sát hành vi của máy tính, hay nguy cơ dương tính giả có thé làm

cho việc chan đoán gặp nhiều khó khan [9]

1.3.2.3 DNS

Ky thuật phát hiện Botnet dựa trên DNS là một trong các kỹ thuật

anomaly-based sử dụng trên lưu lượng DNS Cơ chế phát hiện Botnet được phát triển nên

với 4 bước [9].

- Bước đầu: Tìm ra các đặc tính của lưu lượng DNS của Botnet mà khác biệt

với lưu lượng DNS thông thường [9].

13

Trang 26

- Bước hai: Tim ra một đặc tính khóa của lưu lượng DNS và gọi là “hành vi

nhóm” [9].

- Bước 3: Phát trién thuật toán dé phân biệt truy van DNS của Botnet bằng

cách sử dụng đặc tính “hành vi nhóm” [9].

- _ Bước cuối: Phân tích thuật toán dé chứng minh tính khả thi của cơ chế phát

hiện Do nó là cơ chế phát hiện anomaly-based, nên việc phát hiện Botnet sẽ

không phụ thuộc vào chủng loại bot, Botnet [9].

1.3.2.4 Thống kê (statistical approaches)

Ky thuật thông kê chủ yêu dựa trên việc mô hình hóa dữ liệu, cu thê là các

thuộc tính thống kê, sử dụng những thông tin này để tiến hành đánh giá liệu mẫu

thử là bot hay không [9].

Điểm mạnh của kỹ thuật thống kê nằm ở khả năng phân tích dữ liệu nhanh

chóng, hơn nữa, kỹ thuật này thường đơn giản và minh bạch [9].

Trong thực tế, Botnet rất linh hoạt và thay đổi vô cùng nhanh chóng, dẫn

tới việc kỹ thuật dựa trên thống kê sẽ không hiệu quả Có thê tốn nhiều thời gian

trong việc xử lý, thu thập dữ liệu [9].

1.3.3 Phát hiện dựa trên Honeypot

Honeynet là một hệ thông tai nguyên thông tin được xây dựng với mục

đích giả dang và đánh lừa những kẻ xâm nhập bat hợp pháp, thu hút sự chú ýcủa chúng ngăn không cho chúng tiếp xúc với hệ thống thật [10] Honeypot sẽtiến hành lưu, thu thập các loại thông tin như: chữ ký của bot, cơ chế hoạt động

của C&C Server, chỉ tiết về Botnet, kỹ thuật sử dụng bởi attacker, mục tiêu của

attacker, và quan trọng nhất, lỗ hong của hệ thong ma bot khai thác

Mặc dù Honeynet hữu ích trong việc phát hiện sự ton tại nhưng lại bị hạnchế về khả năng truy vết, do đó nó không cung cấp được thông tin về kích

thước, phạm vi lây lan của Botnet, điều này khiến cho việc triệt phá Botnet gặpnhiều khó khăn Với những hạn chế như vậy, nên Honeynet thường chỉ được sửdung dé "bẫy" các Bots, phục vụ cho quá trình phân tích để có được nhữngthông tin ban đầu

Có thê thấy, công cụ này thường chỉ đóng vai trò như bước đầu trong kếhoạch phát hiện, thăm dò Botnet, nó cần phải kết hợp với các phương pháp khác

đề đạt được hiệu quả tốt hơn

1.4 Kết chương

Trong chương 1, đô án đã giới thiệu về khái niệm về botnet, DGA botnet,

đồng thời cũng trình bày về các kiến trúc của botnet, phương thức hoạt động của

botnet và một số phương pháp có thé dùng dé phát hiện botnet Ở chương tiếp

14

Trang 27

theo, đồ án sẽ trình bày về học máy (Khái niệm, quy trình hoạt động và phân

loại) Và cũng trình bày về các thuật toán trong học máy sử dụng trong phần cài

đặt và thử nghiệm: Naive Bayes, kNN, Rừng ngẫu nhiên, SVM, Logistics

15

Trang 28

CHƯƠNG 2: PHÁT HIỆN WORD-BASED DGA BOTNET

DỰA TRÊN HỌC MÁY

2.1 Khái quát về học máy

2.1.1 Giới thiệu về học máy

-Học máy (machine learning) hiện nay đã không còn xa lạ với môi người.Machine learning được ứng dụng trong nhiều lĩnh vực và ngành công nghiệp Vi

dụ: chân đoán trong y học, xử lý ảnh, dự đoán tài chính, phân loại, học kết hợp,

hôi quy

Học máy là một trường của trí tuệ nhân tạo (AI) cho phép máy tính tự học

từ những đữ liệu và cải thiện độ chính xác theo thời gian thông qua những thuật

toán học máy mà không cần lập trình rõ ràng

Một chương trình máy tính được cho là học từ kinh nghiệm E đối với một

số loại nhiệm vụ T và thước đo hiệu suất P, nếu hiệu suất của nó ở nhiệm vụ T,

được đo bằng P, sẽ cải thiện theo kinh nghiệm E [11]

Ví dụ: Vấn đề học lái xe robot;

® Nhiệm vụ T: Lái xe trên đường cao tốc sử dụng cảm biến tầm nhìn

e Hiệu suất P : Khoảng cách trung bình đã di chuyền trước khi xảy ra

lỗi

e Trai nghiệm đào tạo E : Chuỗi hình ảnh và lệnh lái được ghi lại khi

quan sát người lái xe.

Hiện nay, học máy là một thành phần không thê thiếu trong lĩnh vực khoa

hoc di liệu dang phát triển Thông qua việc sử dụng các phương pháp thống kê,các thuật toán được huấn luyện để đưa ra phân loại hoặc dự đoán, khám phá

những hiểu biết quan trọng trong các dự án khai phá dit liệu

2.1.2 Quy trình làm việc

16

Trang 29

Machine Learning Workflow

Data Improve

collection model

Hình 2 1: Quy trình làm việc cua học máy

Quy trình làm việc của học máy bao gồm 5 bước: Thu thập dữ liệu, Xử lý

dữ liệu, Huấn luyện mô hình, Đánh giá mô hình, Cải thiện mô hình [12]

Bước 1: Data collection (Thu thập dữ liệu)

Bước đầu tiên trong học máy chính là thu thập dữ liệu Dữ liệu có thể tự

thu thập hoặc lay từ các nguồn khác nhau, các định dạng khác nhau, và phù hợpvới van dé nêu ra

Bước 2: Preprocessing (Tiền xử lý)

Tại bước này, cần xử lý lại dữ liệu đã thu thập được (chuẩn hóa, vector

hóa, loại bỏ các thuộc tính không quan trọng, gán nhãn dữ liệu, mã hóa một sé

dac trung, trich xuất đặc trưng, rút gọn dữ liệu ) nhưng vẫn đảm bảo kết quả

đầu ra Quy trình này giúp tối đa hóa thông tin về tập dữ liệu, đồng thời giúp

hiểu rõ hơn về các mối liên hệ của dữ liệu và đảm bảo độ chính xác của mô hình

học máy Dữ liệu sau đó được chia thành các tập, bao gồm huấn luyện và đánh

giá.

Bước 3: Training model (Huan luyện mô hình)

Đây được coi là bước quan trọng nhất trong quy trình làm việc của học

máy Ở bước này, tập dữ liệu sẽ được huấn luyện bằng một hoặc nhiều thuậttoán học may dé tìm hiểu đưa ra được mô hình hoc máy tối ưu nhất Từ mô hìnhnày dé dự đoán các kết qua mà đồ án cần dự đoán

Bước 4: Evaluating model (Đánh giá mô hình)

Sau khi trải qua quá trình huấn luyện, cần đánh giá dé xem mô hình củamình có tốt hay không Với tập dữ liệu dùng để đánh giá (được đưa ra ở quátrình xử lý dữ liệu), sẽ được đưa vào mô hình dé thực hiện dự đoán, và so sánh

kết quả đầu ra của mô hình với kết quả dữ liệu thực Từ đó đưa ra đánh giá qua

17

Trang 30

các thông số khác nhau, từ đó kết luận được mô hình có đủ độ chính xác hay

không Độ chính xác của mô hình trên 80% được cho là tốt

Bước 5: Improve model (Cải thiện mô hình)

Cuối cùng, sau khi đã đánh giá mô hình, nếu mô hình có độ chính xác

chưa đạt thì cần huấn luyện lại mô hình, lặp lại từ bước 3 Có thể điều chỉnh lại

các thuật toán, hoặc các dữ liệu đầu vào, nhằm tăng độ chính xác của mô hình

học máy.

2.1.3 Phan loại

Dựa trên đặc tính của dữ liệu dau vào và mục tiêu của các bài toán học máy

chăng hạn như: phân lớp đữ liệu thành các nhãn, tìm kiếm các tương quan giữa

các nhóm đữ liệu, có thể phân các mô hình thành một số loại sau:

- M6 hình học có giám sat (supervised learning)

- M6 hình hoc không giám sat (unsupervised learning)

- M6 hình học ban giám sát (Semi-supervised learning)

- Mô hình học tự giám sát (Self-supervised learning)

- M6 hình học tăng cường (reinforcement learning)

- M6 hình học theo nhóm (Multi-Instance Learning)

Dưới đây là tổng quát của ba nhóm ki thuật học máy cơ ban: học máy có

giám sát, học máy không giám sát và học máy bán giám sát.

2.1.3.1 Học máy có giảm sát

Học máy có giám sát là thuật toán dự đoán đâu ra của một tap dữ liệu với

tập dữ liệu đầu vào (dữ liệu huấn luyện) là tập đã được gán nhãn

Cu thé hơn, học máy có giám sát là đưa bộ dữ liệu đã được gán nhãn vào

máy tính, tiến hành huấn luyện (training) theo một thuật toán nào đó từ đó đưa

ra được mô hình của bài toán Sau khi tìm hiểu cách tốt nhất dé mô hình hóa các

mối quan hệ cho đữ liệu được gắn nhãn, các thuật toán được huấn luyện sẽ được

sử dụng cho các bộ dữ liệu mới (không được gán nhãn) Công việc của máy tính

lúc này là dựa vào mô hình đã xây dựng tiễn hành đánh nhãn phân loại hoặc dự

đoán nhãn cho bộ dữ liệu mới.

Học máy có giám sát có thé được phân loại thành hai nhánh chính: phânloại và hồi quy

e Phan loại: bài toán phân loại với tập dữ liệu có các nhãn không được

phân thành từng nhóm Đầu ra bài toán này có thé là một nhãn mới Ví

dụ như việc dự đoán tuổi của một người, dự đoán giá nhà

18

Trang 31

e - Hỏi quy: bài toán phân loại có đầu vào là dữ liệu đã được gắn với một số

hữu hạn nhãn Ví dụ như việc phân loại email có phải là spam hay không, hoặc phân loại một người là nam hay nữ.

Couto)

{Algorithm ] [Processing ]

Hình 2 2: Mô hình hoc máy có giảm sát

2.1.3.2 Học máy không giám sát

Học máy không giám sát là thuật toán cho máy tính học trên bộ dữ liệu mà không được gan nhãn, các thuật toán học máy sẽ tìm ra sự tương quan dữ liệu,

mô hình hóa dữ liệu hay chính là làm cho máy tính có kiến thức, hiểu về dit liệu,

từ đó chúng có thé phân loại các dit liệu về sau thành các nhóm, lớp giống nhau

mà chúng đã được học.

Học không giám sát sẽ không đưa ra kết qua cu thé cho câu trả lời có hay

không, hoặc một nhãn cụ thê nào đó

Phương pháp học máy không giám sát được chia thành 2 loại: Phân cụm và

không phân cụm.

e Phan cụm: Có một tập dữ liệu X, công việc của máy tính là dựa vào đặc

điểm của thông tin trong tập dir liệu tìm ra sự tương đồng hay sự liênquan để phân nhóm ( ví dụ: phân loại gen thành các nhóm về màu da,mau mắt, màu tóc giống nhau)

® Không phân cụm: Bài toán tìm ra một quy luật dựa vào tập dữ liệu có

trước.

19

Trang 32

Hình 2 3: Mô hình học may không giảm sát

2.1.3.3 Hoc máy ban giám sat

Kỹ thuật nay sẽ bao gdm cả 2 kỹ thuật hoc may có giám sat va học máy

không giám sát Nó sử dụng cả dit liệu được gắn nhãn và không được gắn nhãn

dé huấn luyện — thường thi một lượng nhỏ dữ liệu được gan nhãn với một lượng

lớn dữ liệu không được gắn nhãn (vì dit liệu không được gắn nhãn ít tốn kémhơn và mất ít công sức hơn đề thu thập)

2.1.4 Một số thuật toán trong học máy

2.1.4.1 SVM (Support Vector Machine)

a Gidi thiéu

SVM (Support Vector Machine - Máy véc tơ hỗ trợ) là một thuật toán được

sử dụng phổ biến trong các bài toán phân lớp dit liệu do Vladimir N Vapnik đề

xuất [13] Đây là phương thức học máy có giám sát, có thể được sử dụng cho cả

bài toán phân lớp hay bài toán hồi quy Tuy nhiên, thuật toán này chủ yếu được

sử dụng trong việc việc phân loại [12].

Mục tiêu của thuật toán SVM sẽ tìm kiếm một siêu mặt phang (hyperplane)

dé phân tách tập dữ liệu Từ siêu mặt phăng này, sẽ phân chia không gian thànhcác miền khác nhau, mỗi miền sẽ chứa 1 loại di liệu/ một nhãn khác nhau

Siêu phăng (hyperplane) định nghĩa trong một chiều được gọi là điểm.Trong hai chiều, nó là một đường Trong không gian ba chiều, nó là một mặt

phẳng Và ở nhiều chiều hơn, nó được gọi là siêu phẳng

20

Trang 33

Hình 2 4: Mặt phân cách 2 lớp dữ liệu bằng 1 hàm tuyến tínhSVM hoạt động dựa trên hai nguyên tắc chính:

e Thứ nhất: SVM tìm cách phân chia các mẫu đữ liệu có nhãn khác nhau

băng một siêu phăng sao cho khoảng cách từ siêu phẳng tới các mẫu dữ

liệu có nhãn khác nhau là lớn nhất Nguyên tắc này được gọi là nguyên

tắc lề cực đại (max margin)

©_ Thứ hai: Dé giải quyết trường hợp các ví dụ không thé phân chia bằng

một siêu phăng, phương pháp SVM sẽ ánh xạ không gian ban đầu của

các ví dụ sang một không gian khác thường là có số chiều cao hơn, sau

đó tìm siêu phăng với lề cực đại trong không gian này

b Phân loại

SVM được chia thành 2 loại: SVM tuyến tính và SVM phi tuyến tính:

- SVM tuyến tính: SVM tuyến tính được sử dụng cho dit liệu có thé phân

tách tuyến tính, có nghĩa là nếu một tập dữ liệu có thể được phân loạithành hai lớp bang cách sử dụng một đường thang duy nhất, thi dit liệu

đó được gọi là dữ liệu có thể phân tách tuyến tính và bộ phân loại được

sử dụng gọi là Bộ phân loại SVM tuyến tính

- SVM phi tuyến tính: SVM phi tuyến tính được sử dụng cho dit liệu được

phân tách không theo tuyến tính, có nghĩa là nếu tập dữ liệu không thê

được phân loại băng cách sử dụng một đường thăng, thì dữ liệu đó được

gọi là dữ liệu phi tuyến tính và bộ phân loại được sử dụng được gọi là

bộ phân loại SVM không tuyến tính

c Nguyên lý hoạt động của thuật toán SVM

21

Trang 34

Như đã nói ở trên, SVM tìm cách phân chia các mẫu dữ liệu có nhãn khác

nhau băng một siêu phăng Tuy nhiên, sẽ có vô sô siêu phăng , vay làm thê nao

đê chọn một siêu phăng tôi ưu nhât.

x

Hình 2 5: Các siêu phẳng dé phân lop

Nhận thấy có rất nhiều siêu phăng nên sẽ có phương pháp chọn siêu phẳng

tối ưu nhất chính là: xác định khoảng cách lớn nhất từ điều gần nhất của một lớp

nào đó đến siêu phăng Khoảng cách này được gọi là "Margin" Nhìn hình 2.5 cóthé thay, khoảng cách margin lớn nhất day là đường C

Tuy nhiên, trong nhiều trường hợp không thé dé dàng phân tách các lớp bởi

có nhiều dữ liệu gây nhiễu Vi vậy việc xác đỉnh siêu phang là rất khó Trong

trường hợp này, SVM có tính năng cho phép bỏ qua các ngoại lệ và tìm ra siêu

phẳng có biên giới tối đa Do đó, có thé nói, SVM có khả năng mạnh trong việc

Ngày đăng: 08/03/2024, 13:52

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

TÀI LIỆU LIÊN QUAN

w