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

Khóa luận tốt nghiệp An toàn thông tin: Trình phát hiện xâm nhập trong mạng khả lập trình dựa trên mạng đối sinh

109 0 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 đề Trình phát hiện xâm nhập trong mạng khả lập trình dựa trên mạng đối sinh
Tác giả Vo Van Minh, Nguyen Huy Thuat
Người hướng dẫn THS. Phan The Duy, THS. Vo Duy Nguyen
Trường học Trường Đại học Cộng nghệ Thông tin
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 109
Dung lượng 59,36 MB

Nội dung

Mục tiêu của khoá luận là sử dung mang đối sinh - Generative AdversarialNetwork GAN vào việc phát sinh dữ liệu phục vụ huấn luyện NIDS nhằm tăngkhả năng phát hiện tấn công của NIDS.. Cụ

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

VO VAN MINH NGUYEN HUY THUAT

INTRUSION DETECTION SYSTEM IN SDN-ENABLED

NETWORK USING GENERATIVE ADVERSARIAL

NETWORKS

KY SU NGANH AN TOAN THONG TIN

TP HO CHÍ MINH, 2021

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

VÕ VAN MINH - 17520766 NGUYEN HUY THUAT - 17521114

KHÓA LUẬN TÓT NGHIỆP TRÌNH PHÁT HIỆN XÂM NHẬP TRONG MẠNG KHẢ

LAP TRÌNH DUA TREN MẠNG DOI SINH

INTRUSION DETECTION SYSTEM IN SDN-ENABLED

NETWORK USING GENERATIVE ADVERSARIAL

NETWORKS

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

THS PHAN THE DUY

THS VO DUY NGUYEN

TP HO CHÍ MINH, 2021

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

¬—— ngày của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

LOI CAM ON

Lời đầu tiên, chúng em xin gửi lời tri ân sâu sắc đến thầy ThS Phan ThếDuy và thầy ThS Võ Duy Nguyên đã hướng dẫn, quan tâm, hỗ trợ tận tình để

chúng em có thé hoàn thành khóa luận một cách tốt nhất

Chúng em cũng gửi lời cảm ơn chân thành đến toàn thể quý thầy cô trườngĐại học Công nghệ thông tin, đặc biệt là các thầy cô khoa Mạng máy tính &Truyền thông, phòng thí nghiệm An toàn thông tin đã truyền đạt những kiến thức

và kinh nghiệm quý báu trong suốt quãng thời gian học tập tại trường

Chúng em xin chân thành cảm ơn!

Thành phó Hồ Chí Minh, tháng 07 năm 2021

Trang 5

MỤC LỤC

TOM TAT KHOA LUAN 1 |

Chương 1 GIGI THIỆU TONG QUAN 5-5 5S t2E‡E£E£EEEEEEEErkrkerrrrree 2

1.1 - Đặt vấn đỀ cu th Hee 2

1.2 Tinh hinh nghién ctu o 3

1.3 Tinh khoa học va tính mới của đề ti eeceeceeseeeeeeeseeeeeenneeseenees 41.4 Mục tiêu của đề tài c 2c tt HH HH2 51.5 _ Đối tượng nghiên Cu c.eecceccccccscsessscscscscsesessesesescsvsssssseseseseseseeseees 5

2.1.3 Cơ chế hoạt động của SDN HS ng khu 10

2.2 Giới thiệu về phương pháp học sâu (Deep Learning) - 12

2.2.1 _ Khái niệm học sâU 1S 1S 1S SH re 12 2.2.2 Phân loại học sâu - 5 <1 1111113222111 EEEEEsesszexe 12

2.3 Mang nơ-ron tích chap CNN (Convolutional Neural Network) 13

2.3.1 _ Kiến trúc chung của mang nơ-ron tích chập - - -: 14

2.3.2 Mô hình hoạt động của CNN 2Ăc TS se Hireg 17

2.3.3 Giới thiệu các kiến trúc CNN hiện đại - 55c se s£ecsxz 18

2.4 Mạng nơ-ron hỏi quy (RNN - Recurrent Neural Network) 20

2.4.1 Giới thiệu về RNN ccc ri hherrrerererrie 20

2.4.2 M6 hình hoạt động của RNN ccc c sseseiseeerres 21 2.4.3 Mô hình hoạt động của LSTM (Long short-term memory) 22

2.5 Generative Adversarial Network (GAN) che, 23

2.5.1 Giới thiệu về GAN c2 E2EthHHgrrree 23 2.5.2 Cau trúc mạng GAN -c-c+ St E2 2111211121111 tke 23

2.6 Mô hình AdvGAN TH HH ng kh 25

2.6.1 Giới thiệu về AdvGAN -ccccccrttrrhrrrreeerrrree 25

2.6.2 Nguyên lý hoạt động của AdvGAN cà eeeee 26

Trang 6

2.7 Ky thuật học chuyền tiếp (Transfer Learning) - - +se<es+ 27

2.8 Cac phép đo đánh giá mô hình - - S32 ssvrserrerresrresee 29

2.9 _ Hệ thống phát hiện xâm nhập NIDS - - 22 +c+E+Eezzxererxee 32

Chương 3 PHƯƠNG PHÁP LUẬN VÀ THIET KE HỆ THÓNG 33

3.1 _ Giới thiệu chung .-c SH vn kg ket 33

3.2 Phuong pháp phát hiện tấn công -¿-:- ¿55+ ++c+cxczzxrxerees 34

3.2.1 Phuong pháp binary cÏaSSIÍI€T - + <5 3+ vseseeerseeses 34

3.2.2 Phuong pháp multiclass €ÏaSSIÍT€T - 5< ++<<++x+seeseee 35

3.3 Mô hình phát hiện tấn công :- ¿5+ +22 x2E2EEEEEkerxrrrrkerves 35

3.3.1 Mô hình phát hiện tan công sử dụng thuật toán MLP 35

3.3.2 Mô hình phát hiện tan công sử dụng thuật toán LSTM 36

3.3.3 Mô hình phát hiện tan công sử dụng thuật toán VGG-19 áp dung kỹ

I0nìì8/19ã901i8/270515) 20020777 37

3.4 Mô hình phát sinh tan công đối kháng - 2©s+cccs+c+ccxez 39

3.4.1 Mô hình phát sinh tan công đối kháng sử dụng AdvGAN 39

3.42 M6 hình phát sinh tấn công đối kháng sử dụng Conditional

Gà 600 nẽnẽốnếẲđ éđ “nh 40

3.5 Phương pháp tái huấn luyện -¿+©E+E+E£EE£E+EzEeEererersrkreee 41

Chương 4 KET QUA THUC NGHIEM, PHAN TÍCH - ĐÁNH GIÁ 43

4.1 Các tập dữ liệu sử dung on ccc ccceccccccesseceeseseeeeseseeeeesseeeessseeeesseaes 43

4.2 Tao tập dữ liệu tan công InSecLab2021 - ¿2 +-z+s+£ezs+x+xecsez 44

4.2.1 _ Xây dựng mô hình mạng bị tan công -¿-s+-=s+x+s+ 45

4.2.1.1 Triển khai ONOS Controller - s52 s+2++xez+xzxezszei 45 4.2.1.2 Giới thiệu về CICFlowMeter -ccccccccrreerrierrrree 46

4.2.1.3 Tạo các Docker Image c St sisirsrrirrerke 47

4.2.1.4 Dựng mô hình với Containernet - «+ cee cree 48

4.2.2 _ Xây dựng mô hình mạng tan công ¿2s s+s+s+czxzes 51

4.2.2.1 Cài dat Docker Swarm va POFfalner -<csc+c<<<scxsss 51

4.2.2.2 Dựng mang Botnet Mira cccccceccssecceseseeceseseeeeesseeessesaeees 52

4.2.3 Thu thập - tan công và gắn nhãn dit liệu - s52 54

4.2.3.1 Thu thập — tấn công -¿-+- + +:+k+EEE2EE E112 re 54

4.2.3.2 Gắn nhãn dữ liệu c:-cccccttstetkietriertrrrrrrrirrrierrieo 54

4.2.4 KẾtquả ĂĂ 2.2 n2 n2 rrey 55

Trang 7

4.3 Tiền xử lý dit liệu c.Sc St tt 1E 1212151111111 1111 xe, 55

4.3.1 _ Xử lý dữ liệu dau vào cho mô hình MLP và LSTM 55 4.3.2 Xử lý dữ liệu dau vào cho mô hình VGG-19 -. :-5: 57

9i na nh ae 58

4.5 Cac tiêu chí đánh giá mô hìnhh - <5 3+2 x*svEksrseeereereekre 58

4.6 Môi trường huấn luyện mô hình 2-5: +25++s+z++s+zx+z+zxezxez+e2 59

4.6.1 Máy tính huấn 1Uy6@te cccccccccccccsscsesseseseesssessesssessesesessssesesssscesesees 59

4.6.2 Framework SỬ ỤnG SH TH TH re 59

4.7 Huan luyện IDS - +5: ©++S+2E22E‡EE2EEEEEEEEEEEEEEEEErrkrrkerrea s9

4.7.1 Huấn luyện mô hình MILP - - - 2 2 2+ E+E+E£E£Ee£EzEzErrerers 59

4.7.2 _ Huấn luyện mô hình LSTM - - 2 2 2+E+E+E+E£Ez££EzEzEexerers 63

4.7.3 Huấn luyện mô hình VGG-l9 - 2 2 +2+E+E+E+EeEeErErkrkrrerrrs 65

4.8 _ Kết quả huấn luyện IDS +52 kSz+k+E£EE£ESEEEEEEEEEEEEEerkrkererkes 68

4.9 Huấn luyện mô hình GAN ¿2s 52 E+E2EE2E+ESEEEEEEEEEEEerkrkererkee 70

4.9.1 _ Huấn luyện mô hình AdvGAN - ¿©5+c+c£++Eerrkerersrrres 71 4.9.2 Huấn luyện mô hình Conditional AdvGAN -5-52 73

4.10 Tan công IDS sử dụng AdvGAN - ¿5 +25 2xczctcrkerrrrrxerees 76

4.10.1 Tan công IDS sử dụng AdvGAN -¿-c:ccccccccccrrxersves 76

4.10.2 Tan công IDS sử dung Conditional AdvGAN - 78

4.11 Tái huấn luyện IDS bang tập dit liệu đối kháng - 79

4.11.1 Tai huấn luyện IDS sử dụng tập dữ liệu đối kháng AdvGAN 79

4.11.2 Tái huấn luyện IDS sử dụng tập dữ liệu đối kháng Conditional

4.12 Phan tích — đánh giá 0 eee ecesscccessseeeeessneeeeseneeceseneeeeesseeeeneneeeesseaes 81

Chương 5 TONG KET occecccccccccccscsssscssesessscsesecscsesscscsusscsvsecsvsvsucscsesecsvseseceees 83

5.1 Kết yan iececcccccccccsccscsssscssessssesssssesessssvesessssesssueseesssessssussesssseeseesseeseeess 835.2 _ Thuận lợi và khó khăn - ¿2-2 ©2+E£+E+EE+E£EESEEEEEEEEEEEEEErrerkrrees 84

8 RS 10100 C0] 2x2 2EEEEEEEEEEEEererrrkerrei 84

5.2.2 Khó KWAI ee ceeececccccecccecsessesessesscsesscsecsesecsesseseesessesessesseesesseeseesees 84

5.3 _ Hướng phat trigne.c.ccccccccceccccscesscscscscscssssesescsescsssssssscscsesvssseeeeeees 84

TAI LIEU THAM KHAO woieecececcscssssessessssesssssesessssecsessssussesussessssessesussessesussesseeees 86PHU LUC 87

Trang 8

DANH MỤC HÌNH VE

Hình 2.1: Sự khác biệt giữa kiến trúc mạng truyền thống và kiến trúc SDN 8

Hình 2.2: Kiến trúc của SDN - ¿+ 22+ 2E2E22EEE12112122121712121 211.21 cLee 9 Hình 2.3: Quy trình xử lý gói tin trong mạng SDN c2 11 Hình 2.4: Mang CNN dùng dé phân loại chữ viết tay eeeeeeeeeeee 14 Hình 2.5: Mô phỏng quá trình hoạt động của lớp tích chập - - 15

Hình 2.6: Max pooling với bộ lọc 2x2, bước nhảy là 2 -.-cc+s+S<<ss2 16 Hình 2.7: Mô phỏng chuyền đữ liệu dang tensor thành vector - 17

Hình 2.8: Lớp kết nối đầy đủ dùng dé phân loại dữ liệu -5-5¿ 17 Hình 2.9: Mô hình hoạt động của CNN HH HH kg, 18 Hình 2.10: Một số cột mốc phát triển của mang ƠNN ii e 19 Hình 2.11: Mô phỏng cau trúc RNN ¿- ¿52-5 52252Sx‡2t2EESEzkerkerrrkerssee 21 Hình 2.12: Mô đun lặp lại của mô hình LSTM - 55555 SSvvsrressses 22 Hình 2.13: StyleGAN sinh ra nhiều khuôn mặt khác nhau 5- 5: 23 Hình 2.14: Mô hình GAN - - - - Sà 211212 1S S1 nghiệp 24 Hình 2.15: Cấu trúc của mô hình AdvGAN - ¿-++c2s+E+Ec£zEerrkrrerrrres 26 Hình 2.16: Transfer learning giúp cải thiện hiệu suất học training 28

Hình 2.17: Ví dụ về confusion matrix cho model gồm 2 class và 4 class 30

Hình 2.18: Confusion matrix 2X2 5 S191 nếp 30 Hình 2.19: Minh hoa unnormalized va normalized confusion matrix 31

Hình 3.1: Sơ đồ huấn luyện IDS và AdvGAN -cccccccxzkskererersree 33 Hình 3.2: Tóm tắt các bước thực hiện -c+cctttittrietrrierrrierriri 34 Hình 3.3: Phương pháp phát hiện tan công binary classifier 34

Hình 3.4: Phương pháp phát hiện tan công multiclass classifier - 35

Hình 3.5: Các lớp trong mô hình MLP binary classifier -.-‹‹ - 35

Hình 3.6: Các lớp trong mô hình MLP multiclass classifier 36

Hình 3.7: Các lớp trong mô hình LSTM binary cÌaSSIẨIer - -.-« «<+ 36 Hình 3.8: Các lớp trong mô hình LSTM multiclass clasS1fler - 37 Hình 3.9: Cau trúc mô hình VGG-l ¿+ 2+ SE+E££E£EE2EEEEEEESEerkrrrrrerrred 38

Trang 9

Hình 3.10: Tinh chỉnh mô hình VGG-]9 SG HS HH ệp 39

Hình 3.11: Kiến trúc sinh dữ liệu bằng mạng sinh đối kháng sử dụng AdvGAN

—— 40Hình 3.12: Kiến trúc sinh dữ liệu bằng mạng sinh đối kháng sử dụng Conditional

6à 600 41

Hình 3.13: Sơ đồ các bước tạo tap đữ liệu tai huấn luyện IDS 41Hình 4.1: Sơ đồ mạng bị tan công và mạng tan công -2- +5 =++s+ 45Hình 4.2: Giao điện ONOS Controller sau khi đã triển khai thành công và kíchhoạt các ứng dụng cần thiẾt ¿-:- ¿2522 2x2EE2E2212312152121121221212121 21c xe 46Hình 4.3: ONOS Controller đã nhận diện được switch kết nối tới 48

Hình 4.4: Dich vụ web đã được kích hoạt sẵn sàng -5-2555552 555552 49

Hình 4.5: User bot đã được khởi chạy c1 sgk ke, 50

Hình 4.6: Cac Docker container cùng mạng với mang máy ảo của InSecLab 50

Hình 4.7: Switch sau khi cài đặt thành công cơ chế port mirroring 51

Hình 4.8: Giao diện Portainer sau khi cài đặt thành công -. ‹ - 52

Hình 4.9: Portainer — Các mạng đã tạO -. c2 1332 1v rrerrrvee 53

Hình 4.10: Portainer — Chi tiẾt các Service cccccccccccscsscssssesessssesessesessesesesssseesesees 53Hình 4.11: Đăng nhập vào CNC dé triển khai tấn công - - 555552 54

Hình 4.12: Capturing Server dang thu thập lưu lượng -«‹+-: 54

Hình 4.13: Tinh chỉnh mô hình VGG-19 dùng trong việc phát hiện tan công 65

Trang 10

DANH MỤC BANG

Bảng 4.1: Các máy ảo được InSecLab cung cấp - 2 2 s5s+x+xsxsrscscez 44Bảng 4.2: Chi tiết các image dùng trong mô hình mạng bị tan công 47Bang 4.3: Chi tiết cấu hình mang của các Docker container . - 49Bang 4.4: Kịch bản tan công -:- 2S St S2x2212E221231212212121221212121 21c xe 54Bang 4.5: Phân bổ của các flow trong tap dtr liệu InSecLab2021 55Bảng 4.6: Số lượng record và tỷ lệ giữa các nhãn trong tập CSE-CIC-IDS2018sau khi tiền xử lý dữ liệu -¿-:- ¿5c S+25E2E22E2EE 2221232122121 21211212.21 re 57

Bang 4.7: Kết quả thực nghiệm các mô hình binary classifier trên tập dữ liệu

CSE-CIC-IDS20118 Gv HnnH n n g ọ T n nh 68Bang 4.8: Kết qua thực nghiệm các mô hình binary classifier trên tập dữ liệu

InSecLab202 | - - c +13 11111 1 1930 11111 K9 HH nọ TH net 69

Bảng 4.9: Kết quả thực nghiệm các mô hình multiclass classifier trên tập dữ liệu

CSE-CIC-IDS2018 và InSecLab202 Ì - 5E 32111 +3 + kESEekkkesikresekree 70

Bảng 4.10: Kết quả đánh giá mô hình IDS sau khi bị tắn công bằng AdvGAN trên

tập CSE-CIC-IDS20118 LH TH TH Hiệp 76

Bảng 4.11: Kết quả đánh giá mô hình IDS sau khi bị tắn công bằng AdvGAN trên

tap InSecLab2021 0232312725 Ầ 4 77

Bảng 4.12: Kết quả đánh giá mô hình sau khi tấn công sử dụng Conditional

AdvGAN trên tập CSE-CIC-IDS2018 và InSecLab2021 -‹ «<: 78

Bảng 4.13: Kết quả đánh giá mô hình sau khi tái huấn luyện bang tập đối sinh tạo

bởi AdvGAN trên tập CSE-CIC-IDS2018 cư 79

Bảng 4.14: Kết quả đánh giá mô hình sau khi tái huấn luyện bằng tập đối sinh tạo

bởi AdvGAN trên tập InSecLab202 ] - eeseceseceseeesneessneeseneeseseeessneeess 80

Bảng 4.15: Kết quả đánh giá mô hình sau khi tái huấn luyện bang tập đối sinh tạo

bởi Conditional AdvGAN trên tập CSE-CIC-IDS2018 và InSecLab2021 81

Trang 11

DANH MỤC TỪ VIET TAT

SDN: Software-Defined Networking

IDS: Intrusion Detection System

NIDS: Network-based Intrusion Detection System AI: Artificial Intelligence

CNN: Convolutional Neural Network

RNN: Recurrent Neural Network

LSTM: Long short-term memory

GAN: Generative Adversarial Network

DNN: Deep Neural Network

MLP: Multi-layer Perceptron

Trang 12

TÓM TẮT KHOÁ LUẬN

Trong bối cảnh Software-Defined Networking (SDN) — mang cấu hình bangphan mềm ngày càng nhận được sự được quan tâm khi cung cấp kha năng đơngiản hóa việc quản lý bằng cách phân tách luéng điều khién và luồng dữ liệu, việcđảm bảo an toan mang nói chung và SDN nói riêng trước các cuộc tan công mạngluôn là vấn đề quan trọng thiết yếu Các hệ thống phát hiện xâm nhập mạng -

Network-based Intrusion Detection System (NIDS) ra đời với mục đích phát hiện

các hành vi bất thường gây ton hại đến hệ thống mạng NIDS được phan làm 2

loại là NIDS dựa trên dấu hiệu (signature-based) và NIDS dựa trên hành vi bat

thường (anomaly-based) Anomaly-based NIDS ngày càng trở nên vượt trội hon

khi áp dụng kỹ thuật học sâu để phát hiện không chỉ các tấn công đã được huấn

luyện mà còn có khả năng phát hiện các tấn công mới, đây chính là loại NIDSđược nghiên cứu trong khoá luận nay Song dé loại NIDS này hoạt động hiệu qua,yêu cầu thiết yếu là phải có các tập dữ liệu chất lượng — dam bảo về số lượng và

tính đa dạng phục vụ cho việc huấn luyện dé NIDS có thé phát hiện các xâm nhậpmột cách chuẩn xác nhất có thể, hạn chế việc bị đánh lừa bởi các hành động tấn

công tinh vi.

Mục tiêu của khoá luận là sử dung mang đối sinh - Generative AdversarialNetwork (GAN) vào việc phát sinh dữ liệu phục vụ huấn luyện NIDS nhằm tăngkhả năng phát hiện tấn công của NIDS Cụ thể hơn, chúng tôi tiến hành huấnluyện NIDS từ tập đữ liệu ban đầu và đánh giá mức độ phát hiện tấn công trên

mô hình đã huấn luyện, dùng GAN sinh dữ liệu từ tập dữ liệu ban đầu và đánhgiá mức độ phát hiện tan công đối với dữ liệu mới được sinh ra từ GAN, tái huấnluyện NIDS bằng dữ liệu mới được sinh ra từ GAN kết hợp với dt liệu gốc và

đánh giá lại mức độ phát hiện Chúng tôi áp dụng phương pháp này trên 2 tập dữ

liệu là CSE-CIC-IDS2018 (tập dữ liệu tiêu biểu) và InSecLab2021 (tập dữ liệu tự

tạo).

Trang 13

Chương 1 GIỚI THIỆU TONG QUAN

1.1 Đặt vấn đề

Công nghệ thông tin ngày càng phát triển cùng với sự bùng nồ của Internetkèm theo nhiều rủi ro về an ninh mạng Trên thế giới luôn có những cuộc tan công

mạng gây nhiều mat mát và thiệt hại Vì vậy đã có rất nhiều nghiên cứu và giải

pháp ra đời nhằm phòng chống, giảm thiểu rủi ro cho việc mat an toàn mạng, các

nguy cơ về bảo mật hệ thống mạng cho các tổ chức và doanh nghiệp

Khi mà Internet đang hướng tới kết nối vạn vật, số lượng thiết bị kết nốimạng ngày càng gia tăng kéo theo sự phức tạp của hệ thống mạng Nhu cầu cần

có một kiến trúc mạng hiện đại có thé don giản hoa việc quan ly hệ thống mạng,

và mạng định nghĩa bằng phần mềm (SDN) ra đời SDN cung cấp khả năng đơngiản hóa việc quản lý bang cách phân tách luồng điều khiển và luồng dữ liệu Trai

qua thời gian, SDN ngày càng nhận được sự quan tâm và được xem là tương lai

của mạng máy tính Cũng như mạng truyền thống, SDN cũng phải hứng chịu rấtnhiều rủi ro về mat an toàn mạng

Dé giải quyết van đề nói trên, các chuyên gia đã cho ra đời các hệ thống pháthiện xâm nhập mạng (NIDS) nhằm kiểm tra và phát hiện các hành vi bat thường

gây mat an toàn hệ thong mạng Cùng với nỗ lực bảo vệ là hành động phá hoại,các kẻ tan công luôn nghiên cứu những hình thức tan công mới cũng như các thủthuật để vượt mặt NIDS Đề NIDS (cụ thể là Anomaly-based NIDS như đã đề cập

ở phần tóm tắt khoá luận) hoạt động hiệu quả, yêu cầu thiết yếu là phải có các tập

dữ liệu chất lượng — đảm bảo về số lượng và tính đa dạng Các tập dữ liệu nàyphục vụ cho việc huấn luyện NIDS dé NIDS có thé phát hiện tấn công một cáchchuẩn xác nhất có thể, hạn chế bị đánh lừa bởi các hành động tấn công tinh vi Để

tạo ra được các tập dữ liệu đảm bảo về số lượng và tính đa dạng, các tô chức

nghiên cứu cần bỏ ra nhiều tài nguyên, công sức và thời gian trong việc dựng môhình, thu thập lưu lượng mạng, thực hiện các tấn công, gắn nhãn dữ liệu,

Xuất phát từ tình hình trên, chúng tôi nghiên cứu phương pháp sử dụng mạngđối sinh (GAN) trong việc sinh dữ liệu từ tập dit liệu ban đầu phục vụ cho huấn

Trang 14

luyện NIDS nhằm tăng cường khả năng phát hiện tắn công cho NIDS Chúng tôinghiên cứu và sử dụng các mô hình thuật toán khác nhau nhằm tối ưu độ hiệu quả

và củng có tính tin cậy cho phương pháp này

1.2 Tình hình nghiên cứu

Một số nghiên cứu liên quan đến phương pháp sử dụng mạng sinh đối kháng

(GAN) trong việc sinh dit liệu dùng trong hệ thống phát hiện xâm nhập có thé kế

đến như:

e Công trình nghiên cứu của Dan Li và các cộng sự [1] đã đề xuất mô hình

phát hiện bat thường đa biến thể (MAD-GAN), sử dụng mạng thần kinh

tái tạo bộ nhớ (LSTM-RNN) làm mô hình cơ sở cho bộ phát sinh và bộ

phân biệt Khai thác triệt dé cả bộ tạo và bộ phân biệt do GAN tạo ra, sửdụng một điểm số bat thường mới được gọi là điểm DR dé phát hiện các

điểm bắt thường thông qua phân biệt và tái tạo

e Công trình nghiên cứu của Paulo Freitas de Araujo-Filho và các cộng su

[2] đã đề xuất cải thiện kiến trúc của [1] bang cách thay thé việc huấnluyện GAN lặp đi lặp lại thành huấn luyện Encoder sau khi huấn luyệnGAN Sự thay thé này giúp cải thiện tốc độ phát sinh dit liệu so với việc

chỉ sử dụng GAN.

e Nhóm tác giả Tram Trong-Huu và các cộng sự [3] đã thực nghiệm va

chứng minh rang GAN có thé phát hiện xem một mẫu dữ liệu có dị thườngbằng cách sử dụng phương pháp dựa trên tái cấu trúc Nhóm tác giả lậpluận răng nếu trình tạo đã học thành công việc phân phối dữ liệu (tức làcác hoạt động mạng bình thường), thì có thê giả định rằng, trình tạo cóthé tạo ra các mẫu tương tự như trong tập huấn luyện từ các điểm trongtiềm không gian (không gian ân), dẫn đến sai số tái tạo nhỏ giữa mẫu thực

và mẫu được tạo Tác giả áp dụng hai kiến tric GAN: AnoGAN dựa trênkiến trúc GAN tiêu chuẩn và ALAD được xây dựng dựa trên GAN haichiều với nhiều cải tiến giúp ổn định quá trình huấn luyện GAN và cho

phép phát hiện nhanh chóng.

Trang 15

e Nhóm tác giả Chaowei Xiao và các cộng sự trong nghiên cứu [4] cho thay

mạng nơ-ron sâu (DNN - Deep Neural Network) dé bị tan công bởi các

dữ liệu đối kháng bằng cách thêm vào input các nhiễu ở cường độ nhỏ

Những dữ liệu đối kháng này có thể đánh lừa DNN để thay đổi kết quả

output theo mong muốn của kẻ tan công Trong nghiên cứu [4], tác giả đã

đề xuất AdvGAN có khả năng tạo dữ liệu đối kháng bằng mô hình GAN

Các đữ liệu đối kháng do AdvGAN tạo ra trên các mô hình mục tiêu khắcnhau có tỷ lệ tấn công thành công cao

e Công trình nghiên cứu của nhóm tác giả Phan The Duy và các cộng sự [Š]

cho thấy các IDS dựa trên máy học có thể bị tan công và đánh lừa bởi dirliệu đối kháng bằng cách gây một số nhiễu loạn nhỏ so với đữ liệu gốc

Việc bổ sung dữ liệu gốc theo cách thủ công là không thể sánh được sovới sự đa dạng của các thé loại tan cong Chinh vi thé, công trình nghiêncứu việc sử dụng mạng sinh đối kháng GAN sinh dữ liệu từ dữ liệu gốc

để đánh lừa IDS Nhóm tác giả đề xuất sử dụng framework DIGFuPAS

với sự thay thế Vanilla GAN bằng Wassertein GAN để tăng hội tụ của

GAN Phương pháp này được triển khai trên tập dit liệu NSL-KDD va tập

dữ liệu CICIDS2018, tỷ lệ phát hiện đúng của IDS giảm xuống đáng ké

đối với dữ liệu được sinh ra từ DIGFuPAS

Bên cạnh đó, một số nghiên cứu khác liên quan cũng cho thấy được tính khảthi và hợp lý của phương pháp này Như vậy, việc nghiên cứ sử dụng mạng đốisinh GAN trong việc phát sinh thêm dữ liệu từ tập dữ liệu ban đầu phục vụ cho

việc huân luyện NIDS là rât có cơ sở, tiêm năng và tin cậy.

1.3 Tính khoa học và tính mới của đề tài

Ở thời điểm hiện tại, mạng sinh đối kháng GAN vẫn còn là một chủ đềnghiên cứu khá mới mẻ và tiềm năng GAN không chỉ được nghiên cứu để phục

vụ cho bai toán xử lý ảnh mà còn được ứng dung trong nhiều lĩnh vực, trong đó

có lĩnh vực an toàn thông tin Đặc biệt trong bối cảnh an ninh mạng phải đối mặt

với nhiêu môi đe doạ, các cuộc tân công mạng ngày càng phức tạp và khó đoán,

Trang 16

các nghiên cứu về việc sử dụng GAN dé sinh đữ liệu nhằm nâng cao hiệu suấtcủa các hệ thống phát hiện xâm nhập là rất có ý nghĩa thực tiễn.

Tính khoa học của dé tài được thé hiện thông qua việc nghiên cứu về kiến

trúc và hoạt động của các mô hình phát hiện tan công, các mô hình sinh đối kháng

Từ đó, đề xuất việc sử dụng các mô hình sinh đối kháng dé sinh dữ liệu từ tập dữliệu ban đầu và tái huấn luyện mô hình phát hiện tấn công giúp nâng cao hiệusuất của các trình phát hiện tấn công dựa trên học máy

Tính mới của đề tài được thê hiện ở việc sau khi nghiên cứu và thực nghiệm

mô hình sinh dữ liệu AdvGAN, chúng tôi nhận ra nhược điểm là nếu muốn phátsinh dữ liệu đối kháng của nhiều loại tan công khác nhau thi cần phải huấn luyệnnhiều mô hình, mỗi mô hình chỉ sinh ra một loại dữ liệu đối kháng tương ứng vớiloại tan công đó Chính vi thế, chúng tôi đề xuất sử dụng Conditional AdvGAN.Mục tiêu của mô hình này là có khả năng sinh ra dữ liệu tấn công theo loại tancông mong muốn, thay vì phải huấn luyện các mô hình riêng rẽ dé sinh dit liệu

đối kháng cho từng loại tấn công Đề đạt được mục tiêu nay, chúng tôi huấn luyện

mô hình phát hiện tấn công sử dụng multiclass classifier Sau đó, mạng G và mạng

D của AdvGAN sẽ được tinh chỉnh lại thành Conditional GAN có khả năng sinh

dữ liệu đối kháng theo điều kiện cho trước

1.4 Mục tiêu của đề tài

Nghiên cứu các phương pháp huấn luyện NIDS bang các tập dữ liệu dé pháthiện các tấn công trong mạng khả lập trình SDN Nghiên cứu sử dụng mạng đốisinh GAN dé phát sinh thêm dữ liệu từ dữ liệu ban đầu phục vụ việc tái huấnluyện nhằm tăng cường khả năng phát hiện tan công của NIDS

1.5 Đối tượng nghiên cứu

Hệ thống mạng định nghĩa bằng phần mềm SDN

Hệ thống phát hiện xâm nhập mạng NIDS

Phương pháp học sâu sử dụng mạng nơ-ron tích chập CNN và mạng nơ-ron

hồi quy RNN

Trang 17

Mạng sinh đối kháng GAN.

1.6 Phạm vi nghiên cứu

Nghiên cứu phương pháp phát sinh dữ liệu sử dụng GAN và huấn luyện IDS

có khả năng nhận diện các tấn công thực hiện trên tập dữ liệu CSE-CIC-IDS2018

và tập dữ liệu InSecLab2021 tự thu thập.

1.7 Cấu trúc khoá luận

Chương 1 Giới thiệu tông quan về đề tài nghiên cứu, mục đích, đối tượng

Trang 18

Chương2 KIÊN THUC NEN TANG

Thêm vào đó sự phát trién của các công nghệ ảo hóa cũng làm cho các côngnghệ mạng truyền thống trở lên lỗi thời Do hệ thống các thiết bị mạng truyềnthống thường là các thiết bi đóng kin đắt tiền, trong đó phần mềm điều khiển vàcau hình được gắn liền với phần cứng và mỗi hãng sản xuất lại cung cap một giaodiện kết nối riêng làm cho độ phức tạp của mạng và khả năng tích hợp ngày càngtrở lên khó kiểm soát Việc ảo hóa do đó phục thuộc vào công nghệ và làm chokết câu hệ thống mạng càng trở lên phức tạp, thiếu đồng bộ

Việc độc quyền các công nghệ mạng làm cho việc thay thé và sửa đổi, bổsung các tính năng mới cho thiết bị cũng gặp nhiều hạn chế Các thiết bị cũng trởnên phức tạp và có nguy cơ chứa nhiều lỗ hồng, chang hạn như các phần mềm

điều khiến routers có kích thước hơn 20 triệu dòng code với nguy cơ chứa daynhững lỗ hồng bao mật nghiêm trọng Nhưng dé thay thế hoặc update các bản vá

mới cho thiết bị đòi hỏi phải làm trên từng thiết bị một gây ra rất nhiều khó khăn

cho các quản tri viên và trong trường hợp xâu nao đó, quản tri viên hoàn toàn có

Trang 19

thé bỏ quên một vài thiết bị có lỗ héng chang hạn, điều này làm tăng các điểmyếu và nguy cơ an toàn cho mạng.

Tóm lại các công nghệ mạng truyền thống đang gặp nhiều vấn đề trong việc

quản lý và vận hành Vì vậy sự ra đời của SDN được xem là một đột phá về kiến

trúc mạng, tuy chưa được sử dụng rộng rãi nhưng SDN được kỳ vọng là tương lai

của mạng máy tính với nhiều ưu điểm Sự khác biệt giữa kiến trúc mạng truyềnthống và SDN được mô tả trong Hình 2.1

Traditional Network Software-Defined Network

Hình 2.1: Sự khác biệt giữa kiến trúc mạng truyền thống và kiến trac SDN

SDN là một kiểu kiến trúc mạng cho phép việc quản lý, điều khiến và tối ưuhóa tài nguyên mạng theo thiên hướng lập trình SDN phân tách các cấu hìnhmang và việc thiết kế, lưu thông lưu lượng mạng ra khỏi phan ha tang phan cứng

để đảm bảo việc quản lý và kiểm soát khi sử dụng các API mạng (networkApplication Programming Interface) trở nên hoàn chỉnh và đồng nhất hơn Về

mặt cơ bản, đây là cách thức sử dụng các giao thức mở như OpenFlow, giao thức

mà có thé áp dụng cho mọi nơi dùng phần mềm dé quản lý việc truy cập vào cácthiết bị mạng như switch, router có firmware độc quyền (như Cisco, Jupiter, )

SDN được định nghĩa bởi việc phân tách tầng điều khiến (control plane) và tangtruyền dir liệu (data forwarding plane) trong hệ thống mạng Nó là một kiểu kiến

trúc giúp làm giảm chi phí vận hành và tăng tốc thời gian đáp ứng khi có yêu cầu

thay đổi hoặc cung cấp thêm dịch vụ SDN còn cho phép môi trường mạng kết

Trang 20

nối trực tiếp đến các ứng dụng thông qua API để nâng cao độ bảo mật và hiệusuất của ứng dụng SDN tạo ra một kiêu kiến trúc mạng linh hoạt tạo điều kiệncho sự thay đổi khi cần thiết.

2.1.2 Kiến trúc của SDN

Kiến trúc của SDN gồm 3 tầng riêng biệt: tầng ứng dụng (ApplicationLayer), tầng điều khiển (Control Layer), và tầng dữ liệu (Data Layer) Kiến trúc

của SDN được mô tả trong Hình 2.2.

Load Traffic/Security Application Laver

e Tang ứng dụng: Các ứng dụng như cân bằng tải, giám sát mang, được

triển khai tại tang này Nhờ khả năng thu thập thông tin từ bộ điều khiến,các ứng dụng này có thé có cái nhìn tong quan về mạng và có thé đưa ra

quyết định điều khiến, thiết lập các thông số mạng cũng như tạo ra chínhsách chuyển tiếp tối ưu đựa trên toàn bộ mạng Với SDN, việc quản lý

Trang 21

mạng có thê được thực hiện thông qua một giao diện duy nhất, trái ngượcvới việc cấu hình ở mỗi thiết bị mạng riêng lẻ Việc này có thé thực hiệnnhờ tang ứng dụng liên kết với lớp điều khiển thông qua các API.

° Tang diéu khién: La noi tập trung các bộ điều khiển (Controller) thực hiện

việc điều khiển cấu hình mạng theo các yêu cau từ lớp ứng dụng và kha

năng của mạng Controller hoạt động như một loại hệ điều hành cho SDN

Tất cả thông tin liên lạc giữa các ứng dụng và các thiết bị phải đi quacontroller Controller thường sử dụng giao thức OpenFlow và cung cấpAPI để cấu hình các thiết bị mạng, quản lý kiểm soát luồng lưu lượng

trong môi trường mạng.

e Tang dữ liệu: Là các thiết bi mạng thực tế (vật lý hay ảo hóa) thực hiện

việc chuyên tiếp gói tin theo sự điều khiến của lớp điều khiển Một thiết

bị mạng có thê hoạt động theo sự điều khién của nhiều bộ điều khiển khác

nhau, điêu này giúp tăng cường khả năng ảo hóa của mạng.

2.1.3 Cơ chế hoạt động của SDN

Dữ liệu trong mang SDN được truyền đi theo hai luồng riêng biệt Luồng dữ

liệu chuyền tiếp các gói tin đi trong mạng, bao gồm tất cả các hàm và tiến trình

chịu trách nhiệm xử lý và chuyên tiếp gói tin Luồng điều khiển chuyền tiếp cácgói mang thông tin điều khiến từ thiết bị chuyển mạch đến bộ điều khiển và ngược

lại SDN hoạt động dựa trên cơ chế tách riêng việc kiểm soát luồng điều khiểnvới luồng dé liệu Luông điều khiển không nằm trong các nút như mạng truyềnthống mà được tách ra từ các thiết bị vật lý và chuyên đến quản lý tập trung tại

các bộ điều khiển Điều này giúp cho việc quản ly mạng có thé được thực hiệnthông qua một giao diện duy nhất, trái ngược với viéc cau hình ở mỗi thiết bimạng riêng lẻ Việc tương tác với các thiết bị mạng vật lý được bộ điều khiểnthực hiện thông qua một giao thức chuẩn dành riêng cho mạng SDN, phổ biếnnhất là OpenFlow

Luéng dữ liệu của SDN gồm các thiết bi mạng chứa bảng luồng, và trongbảng luồng chứa nhiều bản ghi luồng Các bản ghi luồng quy định các hành vi và

10

Trang 22

nguyên tắc về đường đi cho các gói tin đi trong mạng Luéng điều khiến trao đồicác gói tin mang thông tin về việc điều khién đường di, cau hình của gói tin, giữa bộ điều khiến và các thiết bị chuyển mạch Thông qua các gói tin truyền đi

trong luồng điều khiến, bộ diều khiến biết và quản lý sự tồn tại của các bản ghi

Entries? Packet

Departure

Hình 2.3: Quy trình xử lý gói tin trong mạng SDN

Khi có gói tin đến, thiết bị chuyển mạch tra cứu trong bảng luồng Nếu gói

tin khớp với các nguyên tắc có trong bản ghi luồng thì thiết bị chuyển mạch thực

thi các hành vi tương ứng và cập nhật các số liệu, nếu không thì chuyền thông tin

về gói tin đến bộ điều khiển Bộ điều khiển xử lý thông tin gói tin, chuyển mộtbản ghi luồng chứa nguyên tắc và hành vi mới vào bảng luỗng của thiết bị chuyênmạch Thiết bị chuyên mạch dựa vào nguyên tắc mới dé xử lý gói tin Nếu vankhông có bản ghi luồng chứa nguyên tắc thích hợp thì hủy gói tin Hướng tiếp cận

11

Trang 23

này cũng đơn giản hoá công việc triên khai các chức năng mạng Điêu này cho

phép luéng các gói dit liệu đi qua mạng được kiểm soát theo hướng lập trình

2.2 Giới thiệu về phương pháp học sâu (Deep Learning)

2.2.1 Khái niệm học sâu

Deep Learning là đào tạo một máy tính học giống như bộ não con người.Đôi khi được gọi là mạng thần kinh sâu (deep neural networking) hoặc học thầnkinh sâu (deep neural learning), nó được liên kết với trí thông minh nhân tạo vàthông qua máy tinh học sâu, "học" để nhận ra các mẫu và xác định các đôi tượng

trừu tượng Để hiểu rõ về học sâu, hãy tưởng tượng một đứa trẻ học về loài méo

Đứa trẻ học dé nhận biết đó có phải là một con mèo hay không bằng cách chỉ vào

nó và nói từ “mèo” Phụ huynh nói "Đúng rồi, đó là một con mèo" hoặc "Không

phải, đó không phải là một con mèo” Khi trẻ tiếp tục chỉ vào đồ vật, trẻ sẽ nhận

thức rõ hơn về các đặc điểm của mèo như đuôi, tai, lông và bốn chân Đứa trẻ

đang làm rõ một sự trừu tượng phức tạp - khái niệm về một con mèo - bằng cáchxây dựng một hệ thông phân cấp trong đó mỗi cấp độ trừu tượng được tạo ra với

kiến thức mà lớp trước của hệ thống phân cấp thu được Một chương trình có thể

nhận ra một loài hoa dựa trên một bức ảnh hoặc bài hat dựa trên âm thanh của ai

đó đang ngâm nga thì đó là kết quả của một mạng lưới thần kinh Ngoài nhậndạng hình ảnh và bài hát, học sâu có thê ứng dụng trong phần mềm nhận dạnggiọng nói, dịch thuật và thậm chí là cả ô tô tự lái Tuy nhiên, học sâu cũng tồn tạinhững hạn chế của nó Mô hình học sâu học thông qua quan sát và chúng chỉ biết

những gi chúng được đào tạo Mô hình học sâu được đào tạo trên một tập dữ liệu

nhỏ hoặc không liên quan sẽ học theo những cách cuối cùng không hữu ích cho

nhiệm vụ được giao.

2.2.2 Phân loại học sâu

Dựa vào cách huấn luyện Deep Learning, có thể chia thành 3 loại: học có

giảm sát, học không giảm sát, học bán giảm sát.

! Nguồn: https://searchenterpriseai.techtarget.com/definition/deep -learning-deep-neural-network

12

Trang 24

e Học có giám sát (Supervised Learning): về cơ bản, trong thuật toán giám

sát này, dữ liệu đầu vào được gọi là dữ liệu huấn luyện và có nhãn hoặckết quả đã biết như thư rác/không phải thư rác hoặc giá cổ phiếu tại mộtthời điểm Trong đó, một mô hình được chuẩn bị thông qua một quá trìnhđào tạo Ngoài ra, điều này cần thiết dé đưa ra dự đoán và được sửa chữa

khi những dự đoán đó là sai Quá trình đào tạo tiếp tục cho đến khi mô

hình đạt được mức độ mong muốn Một số thuật toán học có giám sát nồibật là Linear Regression (LR), Random Forest (RF), Support Vector Machines (SVM).

e Học không giám sat (Unsupervised Learning): trong cach học không giám

sát này, đữ liệu đầu vào không được dán nhãn và chưa biết kết quả Cầnphải chuẩn bị một mô hình bang cách suy ra các cấu trúc có trong dữ liệu

đầu vào đề trích xuất các quy tac chung, nó có thé thông qua một quá trình

toán học để giảm sự dư thừa Một số thuật toán học không giám sát là

k-Means, Apriori.

¢ Học bán giám sat (Semi-supervised Learning): dữ liệu đầu vào là một hỗn

hợp của các ví dụ được gắn nhãn và không gắn nhãn Có một van đề dự

đoán mong muốn, nhưng mô hình phải học các câu trúc dé tổ chức dit liệu

cũng như đưa ra dự đoán.

2.3 Mạng nơ-ron tích chap CNN (Convolutional Neural Network)

Mang no-ron tích chập là một lớp của mang nơ-ron nhân tạo sử dụng các

lớp convolutional để lọc các thông tin hữu ích của đầu vào Phép toán tích chậpbao gồm việc kết hợp đữ liệu đầu vào (feature map) với một nhân tích chập (filter)

dé tạo thành một feature map đã được biến đôi Các bộ lọc trong các lớp tích chập

(conv layers) được sửa đổi dựa trên các tham số đã học dé trích xuất thông tin

hữu ích nhất cho một nhiệm vụ cụ thé Các mạng tích chập tự động điều chỉnh détìm ra tính năng tốt nhất dựa trên nhiệm vụ Mạng nơ-ron tích chập sẽ lọc thôngtin về hình dang của một vật thé khi nhận dạng vật thé chung, nhưng nó sẽ trích

xuât màu sắc của con mèo khi làm nhiệm vụ nhận dạng các loài mèo khác nhau.

13

Trang 25

Điều nảy dựa trên sự hiểu biết của CNN rằng các loại vật thé khác nhau có hìnhdạng khác nhau nhưng các loại mèo khác nhau có màu sắc khác nhau thay vì khácnhau về hình dạng.

Mạng nơ-ron tích chập được ứng dụng trong các hệ thống xử lý hình ảnh

khác nhau (nhận dạng hình ảnh, phân loại hình ảnh, ghi nhãn video, phân tích văn

bản) và giọng nói (nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, phân loại văn

bản), cùng với các hệ thống AI hiện đại như robot, trợ lý ảo và ô tô tự lái.”

fc_3 fc_4

Fully-Connected Fully-Connected

Neural Network Neural Network

Conv_1 Conv_2 ReLU activation

waldpaddng MEKEelmg Vu ung - MatĐodlii luan

(2x2) p l (2x2) 2? - dropout)

INPUT n1 channels n1 channels n2 channels n2 channels ` : J @® 9

(28 x28 x 1) (24x24x n1) (12x12xn1) (8 x8 xn2) (4x4xn2) `) / ¬

n3 units

Hình 2.4: Mạng CNN dùng dé phân loại chữ viết tay?

2.3.1 Kiến trúc chung của mạng nơ-ron tích chập

Một mạng nơ-ron tích chập thường bao gồm ba thành phần chính bao gồmLớp tích chập (Convolution layer), Lớp giảm mẫu (Pooling layer) và Lớp kết nốiday đủ (Fully-Connected layer) Trong khi các lớp tích chập có thé được theo saubởi các lớp tích chập bổ sung hoặc các lớp giảm mẫu

Trang 26

Lớp tích chập là khối xây dựng cốt lõi của mạng CNN, là nơi diễn raphan lớn quá trình tính toán cũng là lớp đầu tiên của mạng tích chập Lớpnày bao gồm các thành phần là dir liệu đầu vào, bộ lọc và ma trận đặc trưng

(feature map) Giả sử đầu vào là một hình ảnh màu (RGB) được tạo thành

từ ma trận các pixel, nghĩa là đầu vào sẽ có ba kích thước là chiều cao, chiềurộng và chiều sâu Lớp tích chập có một bộ trích xuất đặc trưng (còn đượcgọi là kernel hay filter), sẽ di chuyển qua các trường tiếp nhận (receptivefield) của hình ảnh và kiểm tra xem có tồn tại đặc trưng đó hay không Quá

trình này gọi là tích chập.

Bộ trích xuất đặc trưng là một mảng trọng số 2 chiều, thể hiện một

phần của hình ảnh Kích thước của bộ lọc (filter) có thể khác nhau, nhưngthường là ma trận 3x3 Bộ lọc sẽ dịch chuyển qua toàn bộ hình ảnh từngbước một và tính toán một mảng đầu ra cuối cùng được gọi là ma trận đặc

trưng (feature map) Hình 2.5 mô phỏng quá trình hoạt động của lớp tích chập của mang CNN.

Output [0][0] = (9*0) + (4*2) + (1*4) + (1*1) + (1*0) + (1*1) + (2*0) + (1*1)

=0+8+1+4+1+0+1+0+1

` =16

Input image Filter Output array

Hình 2.5: Mô phỏng quá trình hoạt động cua lớp tích chap

e Lớp giảm mẫu

Lớp giảm mẫu thường được xen kẽ giữa các lớp tích chập, giúp giảm

kích thước ma trận đâu ra, làm giảm sô lượng tham sô trong quá trình huân

15

Trang 27

luyện Nhờ việc lấy ra giá trị đặc trưng nhất trên từng ma trận con giúp chokích thước ma trận được giảm đáng kể, đồng thời giữ được những đặc trưngquan trọng nhất Lớp giảm mẫu có một số loại hay gặp như Max Pooling,Average Pooling và Sum Pooling Trong đó, Max Pooling được sử dụng phổbiến nhất, hàm này thực hiện lấy giá trị cao nhất trong các phần tử thuộc ma

trận con Thông thường, hàm max pooling sẽ sử dụng bộ lọc là ma trận 2x2

và bước nhảy bằng 2 (để quá trình chạy không chồng chéo lên nhau) Khi

đó chiều dài và chiều rộng đầu ra của dữ liệu giảm đi một nửa, chiều sâu

dược giữ nguyên Hình 2.6 bên dưới mô phỏng lớp giảm mẫu Max Pooling

với bộ lọc kích thước 2x2 và bước nhảy bằng 2 giúp giảm kích thước matrận 4x4 thành ma trận 2x2.

Single depth slice

1|11214]

max pool with 2x2 filters

5 | 64ge7 FÁ and stride 2 [6 | 8 | 3|2| t/o 3 | 4 |

1|2|814

y

Hình 2.6: Max pooling với bộ lọc 2x2, bước nhảy là 24

e Lớp kết nối đầy đủ

Khi ảnh được truyền qua nhiều lớp tích chập và lớp giảm mẫu thì model

đã học được tương đối các đặc điểm của ảnh (ví dụ mắt, mũi, khung mặt,

) thì lớp cuối cùng sẽ chuyển dit liệu ở dang tensor kích thước H x W x D

thành một vector có kích thước H x W x D.

4 Nguồn: https://www.doc.ic.ac.uk/~jce317/introduction-cnns.html

16

Trang 28

HH Flattening

DEE ——————

of 2] a

Pooled Feature Map

Hình 2.7: Mô phỏng chuyên đữ liệu dang tensor thành vector

Sau đó, sử dụng các lớp kết nối đầy đủ để kết hợp các đặc điểm củaảnh dé ra được output của model

Output Volume output Volume

588x1 20x1

Output Nodes

Output Volume14x14x3 BreO O_*

ReLU Activation Fn ae.

Volume-28x28x3 C) C>

Class 1

=

Convolution layer Stride 1 Ụ

/

Max Pool kí š

layer Stride 2 C ee

Fully connected Soft-Max

Input Volume Flatten layer Layer ReLU Activation Activation Fn

32x32x1 Fn.

Hình 2.8: Lớp kết nối đầy đủ dùng dé phân loại dữ liệu?

Hình 2.8 mô phỏng cấu trúc CNN có các lớp kết nối đầy đủ ở cuối,

giúp chuyên dữ liệu tensor 588x1 thành đầu ra gồm 5 class

2.3.2 Mô hình hoạt động của CNN

Mô hình hoạt động của CNN được mô tả như sau:

5 Nguồn:

https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53

17

Trang 29

Feature Maps Feature Maps Feature Maps

Hình 2.9: Mô hình hoạt động của CNN®

Trong sơ đồ trên, ảnh đầu vào được xử lý qua các lớp tích chập và lớp giảmmẫu xen kẽ nhau, giúp chắt lọc các đặc trưng quan trọng nhất Số lượng lớp tíchchập và lớp giảm mẫu hay vị trí của các lớp có thé thay đôi tuỳ theo mục dich của

người thiết kế model Trước khi tới lớp kết nói đầy đủ, ma trận đặc trưng sẽ được

chuyển đôi thành dạng vector Cuối cùng, một hàm kích hoạt như softmax hoặcsigmoid được sử dung dé phân loại đầu ra là con thuyền, ngôi nha, cây cối, conmẻo,

2.3.3 Giới thiệu các kiến trúc CNN hiện đại

Trong nhiều thập kỷ trở lại đây, hàng loạt kiến trúc CNN hiện đại được

những nhà nghiên cứu thiết kế ra và đã chứng minh được tính hiệu quả của nó

Hơn nữa, nhiều kiến trúc CNN còn là mô hình cơ sở cho nhiều dự án nghiên cứu

khác nhau Mỗi mạng này trong thời gian ngắn là một kiến trúc thống trị và đã

giành chiến thắng hoặc á quân trong cuộc thi ImageNet, cuộc thi này đóng vai trò

là thước đo về sự tiễn bộ trong lĩnh vực thị giác máy tính ké từ năm 2010

6 Nguồn:

https://neptune.ai/blog/image-processing-in-python-algorithms-tools-and-methods-you-should-know

18

Trang 30

Năm 2012, mạng AlexNet sử dụng tích chập CNN lần đầu tiên vượt qua các

phương pháp tạo đặc trưng thủ công truyền thống như HOG, SHIFT và đạt độchính xác cách biệt trong cuộc thi ImageNet Dấu mốc đó đã khởi đầu cho xu

hướng ứng dụng CNN trong computer vision thay thế cho những thuật toán họcmáy truyền thống trước kia Liên tiếp vào những năm sau đó, ngày càng xuất hiệnnhiều các kiến trúc CNN mới Chúng được hình thành, phát triển và cải tiến về

độ sâu, cách thiết kế block, cách kết nối giữa các block Lần lượt từ VGG Net,GoogleNet, ResNet, DenseNet, được ra đời dựa trên sự kế thừa những ý tưởng

cũ và phát trién những ý tưởng mới Qua trình phát triển của các kiến tric mạngsong hành cùng với sự phát triển phần cứng máy tính như các GPU có tốc độnhanh hơn Kỹ thuật huấn luyện phân tán và song song trên nhiều GPU cho phép

một model huân luyện chỉ trong vòng một vải tiêng so với việc huân luyện kéo

7 Nguôn: https://phamdinhkhanh github.io/2020/05/31/CNNHistory.html

19

Trang 31

dài qua nhiều ngày và tốn kém như trước đây Các mạng CNN tiêu biêu (từ năm

2010 trở di) là:

e AlexNet (2012): La mạng áp dụng CNN đầu tiên chiến thang trong cuộc

thi ImageNet Phá vỡ lối mòn sử dụng các đặc trưng thủ công từ các thuật

toán truyền thống như HOG, SHIFT, SURF thay cho các đặc trưng được

huấn luyện trong các tác vụ học có giám sát của thị giác máy tính

e VGG-16 (2014): Hình thành một xu hướng cải thiện độ chính xác của các

mạng học sâu thông qua gia tăng độ sâu của chúng.

e_ GoogleNet - InceptionV1 (2014): Kết hợp nhiều bộ lọc có kích thước khác

biệt vào cùng một khối Định hình kiến trúc khối cho các kiến trúc mạngCNN chuẩn sau này

e ResNet-50 (2015): Sử dụng kết nối tắt dé ánh xạ các đầu vào từ những

layer trước đó tới những layer sau Là kiến trúc mạng rất sâu nhưng có số

tham số nhỏ hơn nhờ kế thừa những kỹ thuật từ GoogleNet

e DenseNet (2016): Là bước phát triển tiếp theo cua ResNet khi kế thừa

kiến trúc khối và phát triển kết nối tắt theo một mạng dày đặc

2.4 Mạng nơ-ron hồi quy (RNN - Recurrent Neural Network)

2.4.1 Giới thiệu về RNN

Mạng nơ-ron hồi quy hay gọi tắt là RNN, là một mô hình mang học sâu phố

biến Mạng RNN có kiến trúc hơi khác so với mang CNN ở trên RNN có các đặctính giúp xử lý các tác vụ mà đữ liệu phải được xử lý tuần tự chăng hạn như xử

lý ngôn ngữ tự nhiên (NLP — Natural Language Processing) Nhờ việc có sử dụng

bộ nhớ nên mạng RNN có thê ghi nhớ những thông tin quan trọng về đữ liệu đầuvào, điều này giúp RNN dự đoán rất chính xác điều gì sẽ xảy ra tiếp theo Đây là

lý do tại sao RNN là thuật toán phù hợp cho dữ liệu dạng tuần tự như chuỗi thờigian, giọng nói, văn ban, dtr liệu tài chính, âm thanh, video, thời tiét, Mangno-ron lap lại có thé giup no hiểu sâu hơn về trình tự va ngữ cảnh so với các thuật

thuật toán khác.

20

Trang 32

2.4.2 Mô hình hoạt động của RNN

Trong mạng nơ-ron Feed Forward (ví dụ CNN), thông tin chỉ đi chuyên theomột hướng từ lớp đầu vào, qua các lớp ân, đến lớp đầu ra Thông tin di chuyên

thăng qua mạng và không bao giờ chạm vào nút hai lần Trong mạng RNN, thông

tin xoay vòng qua một vòng lặp Khi nó đưa ra quyết định, nó sẽ xem xét đầu vàohiện tại và cả những gì nó đã học được từ những đầu vào mà nó nhận được trước

Hình 2.11 minh hoạ cấu trúc của mạng RNN cơ bản, việc tính toán bên trong

RNN được thực hiện như sau:

e x, là đầu vào tại bước £

e s¿ là trạng thai ấn tại bước t, chính là bộ nhớ của mạng s¿ được tính toán

dựa trên cả các trạng thái an phía trước va đầu vào tại bước đó:

St = ƒ(Ux¿ + WS;_¡).

Hàm ƒ thường là một hàm phi tuyến tính như tanh hoặc ReLu Dé làmphép toán cho phan tử ân đầu tiên, ta cần khởi tạo thêm s_,, thường giátrị khởi tạo được gán bằng 0

8 Nguồn: https://dominhhai.github.io/vi/2017/10/what-is-rnn/

21

Trang 33

e o, là đầu ra tại bước t Vi du nếu muốn dự đoán kết quả tiếp theo thi o;

chính là một vector xác xuất: o¿ = softmax(Vs;)

2.4.3 Mô hình hoạt động của LSTM (Long short-term memory)

Nhược điểm của RNN là thông tin quan trọng đến từ các trạng thái ấn(hidden state) ở xa không được bảo tồn và cập nhật, chỉ thông tin của các hiddenstate gần kề được giữ lại, làm cho hiệu suất mô hình không đạt hiệu quả tốt khi

có số lượng lớn hidden state Dé khắc phục điều này, mô hình cải tiến của RNNtên là LSTM đã ra đời.

&) _ 9 | @ :

Hình 2.12: Mô dun lặp lại của mô hình LSTM?

@) (n) @)

Về cơ bản mô hình LSTM cũng có cấu trúc tương tu RNN, nhưng LSTM sử

dụng hàm tính toán khác ở các hidden state Bộ nhớ của LSTM được gọi Cell, nó

giống như một hộp den (black box) lay input từ trạng thái phía trước (h;_;) va

đầu vào hiện tại (x¿) Bên trong hộp den này sẽ quyết định cái gì cần nhớ và cái

gì sẽ xoá đi Sau đó, chúng sẽ kết hợp với state phía trước, bộ nhớ hiện tại và dữliệu đầu vào Vì thế, mô hình này đạt được mục đích có thé phân ích thông tintheo tuần tự và giữ được thông tin từ các state ở xa

? Nguỗn: https://colah.github.io/posts/2015-08-Understanding-LSTMs/

22

Trang 34

2.5 Generative Adversarial Network (GAN)

2.5.1 Giới thiệu về GAN

Generative Adversarial Network (GAN) là mang dùng dé sinh dữ liệu mớigiống với dit liệu trong dataset có săn GAN được cấu thành từ 2 mạng gọi là Bộ

sinh (Generator) và Bộ phân biệt (Discriminator) luôn đối nghịch nhau trong quá

trình huấn luyện Vi dụ những khuôn mặt người trong Hình 2.13 là do GAN sinh

Hình 2.13: StyleGAN sinh ra nhiều khuôn mặt khác nhau!9

2.5.2 Cấu trúc mang GAN

GAN cấu tao gồm 2 mang là Generator va Discriminator Trong khiGenerator sinh ra các dữ liệu giống như thật thi Discriminator cố gắng phan biệt

đâu là dữ liệu được sinh ra từ Generator và đâu là đữ liệu thật có Ý tưởng củaGAN bắt nguồn từ zero-sum non-cooperative game!!, hiểu đơn giản như trò chơi

đôi kháng 2 người (cờ vua, cờ tướng), nêu một người thăng thì người còn lại sẽ

I0 Nguồn: https://github.com/N Vlabs/stylegan

!1 https://cs.stanford.edu/people/eroberts/courses/soco/projects/1998 -99/game-theory/nonzero.html

23

Trang 35

thua Ở mỗi lượt, cả hai đều muốn tối đa cơ hội thắng của mình và tối thiểu cơhội thang của đối phương Discriminator va Generator trong mang GAN giốngnhư hai đối thủ trong trò chơi Trong lý thuyết trò chơi thì GAN model sẽ hội tụ

khi cả Generator và Discriminator đạt tới trạng thái cân bằng Nash, tức là 2 người

chơi đạt trạng thái cân bằng và đi tiếp các bước không làm tăng cơ hội thắng “A

strategy profile is a Nash equilibrium if no player can do better by unilaterally

changing his or her strategy””!.

liệu ?zz¿„ của dữ liệu that x Mạng còn lại là D (Discriminator) có nhiệm vụ phân

biệt một sample xem đâu là thật đâu là sample gia được sinh ra bởi mạng G Cả

hai mạng G và D đều thực hiện ánh xạ phi tuyến tính (non-linear) bằng cách sử

dụng cau trúc mạng như multi-layer perceptron

Nói một cách dễ hiểu, G muốn đánh lừa D và tối đa xác suất D mắc lỗi bằngcách tạo ra các mẫu có chất lượng cao, và D muốn phân biệt tốt nhất giữa các mẫu

thực x và các mẫu được sinh ra G(z) Việc tối ưu hoá GAN được thực hiện bằng

cách tìm điểm cân bang Nash giữa G và D thông qua ham giá trị V(D, G)

mrarmaeV' (D,G) = Ez.p„„(«) LogD (#)] + E„.„ (2) llog(1 = D(G(z)))]

!2 https://medium.com/cantors-paradise/the-nash-equilibrium-explained-c9ad7e97633a

13 https://www.mdpi.com/2072-4292/12/7/1149/htm

24

Trang 36

Trong đó p,(z) đại diện cho sự phân bố của noise z E đại điện cho ướclượng thực nghiệm của phân phối xác suất chung Khi đầu vào là mẫu thật x, đầu

ra của D được biéu thị bang D(x) Tương tự, các đầu ra D(G(z)) của D tương ứng

với các dau vào từ các mau được tạo ra G(z).

Trong quá trình tối ưu hoá mạng, bộ tạo G và bộ phân biệt D được tối ưu

hoá theo cách xen kẽ Cụ thé, cho trước G thì D sẽ được tối ưu hoá bằng cách tối

đa hoá Ex.paz„œ)[logD(Œ)] + Ez~p„œ¡[log (1 — D(G(z)))] Sau khi đạt đến mộtgiá trị D nhất định, G được tối ưu hoá bằng cách tối ưu hoá Ez.„ (z[log (1 —

D(6(2)))] Sau nhiều lần lặp đi lặp lại, toàn bộ mang sẽ đạt tới trạng thái cân

bằng Thông qua sự cạnh tranh nhau của hai mạng, D có khả năng phân biệt tốt

và G có thé sinh ra dữ liệu giống thật nhất có thé

2.6 Mô hình AdvGAN

2.6.1 Giới thiệu về AdvGAN

Theo nghiên cứu của Chaowei Xiao và các cộng sự [4], mạng nơ-ron sâu

(DNN - Deep Neural Network) dé bị tan công bởi các dữ liệu đối kháng bằngcách thêm vào input các nhiễu ở cường độ nhỏ Những dữ liệu đối kháng này cóthể đánh lừa DNN dé thay đồi kết quả output theo mong muốn của kẻ tan công.Trong nghiên cứu [4], tác giả đã đề xuất AdvGAN có khả năng tạo dữ liệu đốikháng bằng mô hình GAN Mô hình này có thê học và ước lượng phân phối của

tập dữ liệu ban đầu, giúp dữ liệu đối kháng được sinh ra giống thật hơn Tác gia

sử dụng AdvGAN để tan công và phòng thủ semi-whitebox và black-box, các tancông này hoàn toàn không cần phải biết cau trúc của mô hình mục tiêu như cáchtan công whitebox truyền thống Các dit liệu đối kháng do AdvGAN tạo ra trên

các mô hình mục tiêu khác nhau có tỷ lệ tân công thành công cao.

25

Trang 37

2.6.2 Nguyên lý hoạt động của AdvGAN

/distilled black-box>— — - =

Hình 2.15: Cấu trúc của mô hình AdvGAN"4

Hình trên minh hoạ kiến trúc tông thê của AdvGAN, mô hình gồm 3 thànhphần chính là bộ sinh G (Generator), bộ phân biệt D (Discriminator) va mạng no-

ron mục tiêu ƒ.

G lay input gốc x làm đầu vào và tạo ra nhiễu G(x) Sau đó x + G(x) sẽ đượcđưa đến bộ phân biệt D, dùng dé phân biệt dữ liệu được tạo ra từ G va dữ liệu gốc

ban dau x Mục tiêu của D là giúp dit liệu được tạo ra G(x) không thé phân biệt

được với dữ liệu ban đầu x Để thực hiện mục tiêu đánh lừa một mô hình Deep

Learning, trước tiên tác giả thực hiện tấn công whitebox, trong đó ƒ là mô hìnhmục tiêu ƒ sẽ lấy x + G(x) làm đầu vào và dau ra là L„„„ là giá trị loss, đại điệncho khoảng cách giữa nhãn dự đoán và nhãn mục tiêu muốn tấn công (targeted

attack), hoặc ngược lại với khoảng cách giữa nhãn dự đoán với nhãn thực sự

(untarget attack).

Giá tri loss đối kháng có thé tính bằng công thức:

Loan = E, log D(x) + E, log(1 — D(a + 6(3))).

! Nguồn: https://feedforward.github.io/blog/advgan/

26

Trang 38

Giá trị loss khi đánh lừa model mục tiêu ƒ trong tấn công có chủ đích

(targeted attack) là:

CÁ v= E„£z( + G(a),t),

adv

trong đó £ là nhãn mục tiêu.

Để ràng buộc độ nhiễu ở mức nhỏ, tác gia đã thêm vào một giá tri soft hinge

loss theo công thức:

Lhinge = Ez max(0, ||đ()||a — ©),

trong đó c là giá trị ràng buộc do người dùng chọn.

Cuối cùng, giá trị loss được biéu diễn bang công thức:

£ = Đa + a£Lgan + ninge›

trong đó « và B giúp kiểm soát tầm quan trọng của mỗi mục tiêu LGAN ở đây

ƒ

được sử dụng dé giúp dữ liệu có thêm nhiễu giống với dữ liệu gốc x, còn Tay

được sử dung đê tạo ra các dữ liệu đôi khang, tôi ưu hoá tỉ lệ tân công thành công.

Sau đó, G và D được train giỗng như GAN thông thường.!

2.7 Kỹ thuật học chuyển tiếp (Transfer Learning)

Quá trình huấn luyện một mô hình Deep Learning trên bộ dữ liệu của mình

ngay từ đầu với các trọng số ngẫu nhiên đôi khi dẫn tới kết quả không thực sự tốt

và lãng phí tài nguyên tính toán Đề cải thiện độ chính xác và tiết kiệm thời gian

huấn luyện, một phương pháp được xây dựng dựa trên ý tưởng chuyền giao trithức đã được học từ những mô hình tốt trước đó đã ra đời Phương pháp sử dụng

pre-trained model như trên gọi là transfer learning Hình 2.16 minh hoạ hiệu suấthuấn luyện trong trường hợp không dùng transfer learning và có sử dụng transferlearning Sử dụng kỹ thuật transfer learning sẽ đạt được hiệu suất huấn luyện caongay từ đầu

!5 Nguồn: https://arxiv.org/abs/1801.02610

27

Trang 39

higher slope higher asymptote

Hình 2.16: Transfer learning giúp cải thiện hiệu suất hoc training!®

Các pre-trained model được sử dụng thường là các bài toán được train với

dữ liệu lớn ví dụ ImageNet, dữ liệu chứa 1.2 triệu ảnh với 1000 thé loại khácnhau.

Có 2 loại transfer learning là Feature extractor và Fine tuning.

e Feature extractor: Sử dụng các ConvNet của pre-trained model dé lay ra

các đặc điểm của ảnh Mô hình dạng này chỉ cần thêm một bộ phân loại

(classifier) mới và huấn luyện bộ phân loại từ đầu Nghia là không cần

huấn luyện lai tat cả các lớp của mô hình, chi cần huấn luyện lớp classifiercuối cùng mà vừa được thay thế, các lớp ConvNet ở trước sẽ bị đóng

băng.

e Fine tuning: Ngoài việc thay thé lớp classifier ở cuối, một số lớp bên trên

của mô hình đã bị đóng băng sẽ được giải phóng để cùng huấn luyện vớilớp classifier cuối cùng Điều này cho phép mô hình được tinh chỉnh cho

phù hợp hơn với mục đích mong muốn

Tuỳ vào mức độ tương đồng của tập dữ liệu được sử dụng và tập dữ liệuhuấn luyện trước đó mà phương pháp Feature extractor hoặc Fine-tuning sẽ đạt

hiệu quả tốt hơn

'6 Nguồn: https://machinelearningmastery.com/transfer-learning-for-deep-learning/

28

Trang 40

2.8 Các phép đo đánh giá mô hình

Khi xây dựng một mô hình Deep Learning, cần có một phép đánh giá đểxem mô hình có thật sự hiệu quả hay không, đồng thời có thé dùng nó dé so sánh

với các mô hình khác Có rất nhiều cách dé đánh giá một mô hình, tuỳ vào bài

toán khác nhau mà các phương pháp khác nhau sẽ được sử dụng Một số phươngpháp thường được sử dụng là: Độ chính xác (Accuracy), Ma trận nhằm lẫn

(Confusion matrix), Precision va Recall, F1 score,

e Độ chính xác (Accuracy)

Đây là cách đơn giản và hay được sử dụng nhất, cách này sẽ tính tỉ lệ

giữa số điểm được dự đoán đúng và tông số điểm trong tập dữ liệu kiêm thử

true samples Accuracy score = ———_— _—

total samples

Độ chính xác thường được biéu diễn dưới dạng phan trăm (%), giá tri

độ chính xác càng cao chứng tỏ mô hình càng hiệu quả và đáng tin cậy,

ngược lại độ chính xác thấp chứng tỏ mô hình hoạt động kém hiệu quả

e Ma trận nhằm lẫn (Confusion matrix)

Cách tính độ chính xác ở trên chỉ cho biết bao nhiêu phần trăm lượng

dữ liệu được phân loại đúng mà không chỉ ra được cụ thé mỗi loại được phân

loại như thế nảo, lớp nào được phân loại đúng nhiều nhất va dữ liệu thuộclớp nào thường bi phân loại nhằm vào lớp khác Dé có thể đánh giá được

các gia tri này, cân sử dụng một ma trận gọi là confusion matrix.

29

Ngày đăng: 02/10/2024, 04:55

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN