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: Kỹ thuật lừa dối và tăng cường dữ liệu dựa trên CycleGAN cho phát hiện tấn công trong mạng khả lập trình

92 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 đề Kỹ Thuật Lừa Dối Và Tăng Cường Dữ Liệu Dựa Trên CycleGAN Cho Phát Hiện Tấn Công Trong Mạng Khả Lập Trình
Tác giả Cao Ba Kiet, Pham Lam Khe
Người hướng dẫn TS. Pham Van Hau, ThS. Phan The Duy
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ sư 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 92
Dung lượng 53,18 MB

Nội dung

Cụ thé, để giúp thu thập thêm dữ liệu một cách hiệu quả, tiết kiệm, trên mạng SDN chúng tôi xây dựng hệ thống bẫy áp dụng kỹ thuật Cyber Deception nhằmthiết lập phòng thủ chủ động trước

Trang 1

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

CAO BA KIET PHAM LAM KHE

KHOA LUAN TOT NGHIEP

KY THUAT LUA DOI VA TANG CUONG DU LIEU

DUA TREN CYCLEGAN CHO PHAT HIEN TAN

CYBER DECEPTION AND CYCLEGAN-BASED DATA AUGMENTATION FOR INTRUSION DETECTION IN SDN-

ENABLED NETWORK

KY SU NGANH AN TOAN THONG TIN

TP HO CHÍ MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG

CAO BA KIET - 17520659 PHAM LAM KHE - 17520007

KHOA LUAN TOT NGHIEP

KY THUAT LUA DOI VA TANG CUONG DU LIEU DUA TREN CYCLEGAN CHO PHAT HIEN TAN

CONG TRONG MANG KHA LAP TRINH

CYBER DECEPTION AND CYCLEGAN-BASED DATA AUGMENTATION FOR INTRUSION DETECTION IN SDN-

ENABLED NETWORK

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

TS PHAM VAN HAU ThS PHAN THE DUY

TP HO CHI MINH, 2021

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

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

Lee de ede ene ene eneenennes ngày của Hiệu trưởng Trường Dai hoc Công

nghệ Thông tin.

Trang 4

LOI CAM ON

Dau tiên, chúng tôi xin gửi lời cảm on chân thành đến Ban giám hiệu Trường Daihọc Công nghệ Thông tin — Dai học Quốc Gia Thành Phố Hồ Chí Minh vì đã tạo điềukiện về cơ sở vật chất thuận lợi cho quá trình học tập và nghiên cứu tại trường Xintrân trọng cảm ơn quý thầy cô giảng dạy tại trường vì đã truyền đạt những kiến thứcchuyên ngành bồ ích và những kinh nghiệm thực tế quý báu thông qua những tiết học

lý thuyết và thực hành lôi cuốn, hấp dẫn

Chúng tôi xin trân trọng cảm ơn TS Phạm Văn Hậu đã hướng dẫn trong quá trình

thực hiện đề tài Đặc biệt, chúng tôi xin bay tỏ lòng biết ơn sâu sắc đến Ths PhanThế Duy, người đã trực tiếp hướng dẫn, đồng hành không chỉ trong khóa luận này mà

cả trong các môn học và đồ án khác tại trường

Ngoài ra, chúng tôi xin cảm ơn tập thể quí thầy cô và anh chị đang công tác tạiPhòng thí nghiệm An toàn thông tin — InSecLab vì đã luôn quan tâm và hướng dẫntan tình dé giúp chúng tôi thực hiện những dé tài nghiên cứu khoa học và khóa luận

Cuối cùng, do kiến thức còn nhiều hạn chế nên khóa luận chắc chắn không tránhkhỏi những thiếu sót Chúng tôi rất mong nhận được những nhận xét, ý kiến đónggóp, phê bình từ quý thầy cô trong hội đồng dé khóa luận được hoàn thiện hơn

Nhóm thực hiện

Trang 5

MỤC LỤC

Chương 1 TONG QUAN DE TÀI -2-©2225222E+EE+EECEEEEEE2EEEEEerkerkerreee 2

1.1 Ly do chon dé taieececcecececcccessesscsseessessessessesssesucssessessessessessssneeseeseeaes 2

1⁄2 Mục tiêu của để tai ecccseecssseesesseeecsneeeessneeessneeessneessneessnecssneesses 3

1.3 Pham vi nghién WU cố 4

1.4 Đối tượng nghiên COU o.ceccecccssessesssesssesssesseessecsesssecsseesecssecsesseesesseeasees 4

1.5 Phuong pháp thực hiỆn - -ó- 5 5 + vn ng nh rưy 4

1.6 Cấu trúc khóa luận -.++c+tttEEktrrirttttiirrrrriiirirrriio 4Chương 2 CAC CÔNG TRÌNH NGHIÊN CỨU LIEN QUAN 6

2.1 Cac công trình nghiên cứu liên quan - s5 s+++s++seexseeexzsess 6

22 Ý nghĩa khoa học và thực tiễn của đỀ tài -.-:-ccccctcteksrerrxrksrvee 7

2.2.1 Ý nghĩa khoa hỌc 2¿©2++2+++cxt2E++Ekt+Ekerkkerkerrxerkeerxee 7

2.2.2 Ý nghĩa thực tiễn -:- c++E2E2EEEEEEEEEEEEEEEEEEEEerkerkrrei 8Chương 3 CO SỞ LÝ THUYYÊT - ¿2+ 2+EE+EE+EE+EE£EEE2EE+EEerEerkerveee 9

3.1 Mang khả lập trình (SIDN) - 2c S21 St veeseirerirrsrrrsrrree 9

3.1.1 Tổng quan :-©+2E++EE+EEEEEEEEEEEEEEEEEEEErrkerkerkrrei 93.1.2 Kiến trúc mạng khả lập trình -:¿-¿s+x++zxzz+erxze 10

3.1.3 Cơ chế hoạt động của mang khả lập trình - 2-5: 113.2 Kỹ thuật lừa dối (Cyber Deception) ¿- 2 s+cx+rxerxzxzrszrxees 13

3.2.1 Tổng quan - ¿2c ++SE+EE+E+ESEEEEESEEEEE2EEEEEEEEEE1EEkrree 13

SN ši 02/0 5 14

3.2.3 HoneyfOK€nS - - 5s HH ngư 15

3.2.4 Moving Target Defense (MTD) sex sssssrsirerrke 16

3.3 Học may (Machine Learning) «000 eee eeseeescceeneeeeeeesaeeessecesneeeseeeeeeees 17

3.3.1 Tổng Quanie cecceecccccsessessessessesssssesecsessessesssscsessessesscsessessesscsssseesvess 17

Trang 6

3.3.2 Phân loại các thuật toán học MAY - «+ c+sscx+sseessee 18

3.3.3 Phương pháp huấn luyện, đánh giá mô hình học máy 183.3.4 Tiền xử lý dữ liệu, và feature engineering -: 18

3.3.5 Overfitting và underfitting - se ssekeseesek 19

3.4 Học sâu (Deep Learning) - -s xsssnHnHnHngng nnnriệt 19

3.4.1 Tổng quan ©2++2++2EE+2ESEEEEEEEEECEEEEEEEEkrrrrerkree 19

3.4.2 Mang than kinh nhan 0 ai 20

3.4.3 Multilayer Perceptron (MILIP) - s5 s + seireesrerree 22

3.5 Generative Adversarial Networks (GAN§) -.ẶẶẶcccccce 22

3.5.1 Tổng quaniic.ccccccccscessescssessessesescsstsstsscsscssssesssssesscsesssssseesssssssenene 223.5.2 Kiến trúc của GAN cvcicrriiirrririrriiriririrrirrie 24

3.5.3 Hàm chi phi (Cost function) của GAN -c.cc+ecrsexee 25

3.5.4 Quá trình huấn luyện của GAN - - che, 26

3.6.2 Kiến trúc của CyeleGAN -¿-c¿©c++cx+rxerkeerkrrreersree 28

3.6.3 Các giá trị mat mát (loss) của CyeleGAN -csccse¿ 29

3.7 Hệ thống phát hiện xâm nhập (IDS) dựa trên phương pháp học máy 31

3.7.1 Tổng quan - c5 +k+Sk+EE+EEEEEEEEEEEEEEEEEEEEEEEErrrrrrrred 313.7.2 Các thông số (metrics) thường được sử dụng để đánh giá IDS học

máy 31

3.7.3 Vấn đề của IDS học máy -¿++++++2x++zxerxeerxrzrxersere 323.7.4 Phương pháp huấn luyện IDS trên các tập dữ liệu mat cân bằng 33Chương 4 PHƯƠNG PHÁP THỰC HIỆN -2 2-©2z©2x+5csc+e 34

4.1 _ Ý tưởng cho việc sử dung Cyber Deception va CycleGAN 34

Trang 7

4.2 Thiết kế, phân tích qui trình hoạt động của mô hình kết hợp Cyber

Deception va CycleGAN 0n 443 35

4.3 Cyber deception trong mang khả lập trình «+ +-«<++s<++ 36

4.3.1 Phân tích thiết kế hệ thống -¿- 2 ++++Ex+rE+E+Ezrxrrxee 364.3.2 Ứng dụng quản lý mang (Controller application) 39

4.3.3 Công cụ giả lap mạng - 5 5 HH HH ngư 40

4.3.4 Lưu trữ bẫy - +5 StSt 22t 221 2121121121111 re 40

4.4 Mô hình CycleGAN - Ăn HH HH ng ghi 40

4.4.1 Phân tích thiết kế mô hình ¿-++©++++tvxxrrrrerrrrees 404.4.2 Biến đổi và chia nhỏ tập dữ liệu thô -ccccccxccsrcxee 4I

4.4.3 Phương pháp đánh giá - 5 SE Hi, 42

Chương 5 HIỆN THỰC VÀ ĐÁNH GIÁ -¿-2- 5¿©c+2x++zxzzeecss 43

5.1 _ Hiện thực hệ thống Cyber Deception trên mạng kha lập trình 43

5.1.1 Sơ đồ triển khai hệ thống - 2 2 2+c++rE+rEzEzrrrserxee 43

5.1.2 Xây dựng mô hình mạng với Conftainernet - ‹ s« s 43

5.1.3 Xây dựng mô-đun trích xuất thuộc tính -:¿+: 455.1.4 Xây dựng IDS và đọc cảnh báo dé gửi về controller 45

5.1.5 Xây dựng hệ thống SOC (EL/K) ¿ -¿©¿©-++2s++cx+zecres 47

5.1.6 Xây dựng ứng dụng Controller «+ +- «<< sex 50

5.1.7 Đánh giá mô hình c3 Sc 33x33 E*EEssEreeeersrrrrrrreree 51

5.2 Triển khai mô hình CycleGAN để tăng cường dữ liệu cho tập huấn luyện

IDS 55

5.2.1 Môi trường thực nghiỆm - 5 St see 55

5.2.2 Tổng quan về tập dữ liệu CICIDS2017 -¿-sz=52 565.2.3 Tiền xử lý tập dit liệu CICIDS2017 - ¿-z©sz5cs+: 57

Trang 8

5.2.4 Chia nhỏ tập dữ liệu hậu tiền xử lý -cc-ccccccrxveeeered 57

5.2.5 Huấn luyện CycleGAN bằng tập huấn luyện - 595.2.6 Can bằng tập huấn luyện ban đầu - 2-2 2 s2 x+zxezxezse2 61

5.2.7 Tai huấn luyện cho IDS và đánh giá 2 252 x+csscs2 625.2.8 CycleGAN IDS qua 80 epoch huấn luyện của CycleGAN 63

5.2.9 Đánh giá các IDS với các kích thước tập huấn luyện khác nhau 65

Chương 6 _ KẾT LUẬN VÀ HƯỚNG PHÁT TRIEN -. - 67

6.1 Kếtluận 22:272+22EE2EEEEEEEEEEEEErEEkrerkrrrrrrrrrrerrree 67

6.2 Hướng phát triỀn :- + ©5¿+2£+EE+EEtEEEEEEEEEEEEEEEEEerkrrkrrreee 67TÀI LIEU THAM KHẢO 2¿©2+¿©525+22E+‡EEE2EEtEEEEEEtrExerkesrkrrkrerkee 68

PHU LUC ⁄⁄⁄7.„ ` À 70

Chương trình triển khai mô hình với Containernet : s-s¿- s25+ 70

Chương trình ứng dụng quản lý mạng .- 5 + + *++s£+++sex+eexesexes 72

pigreplay: Chương trình lắng nghe cảnh báo IDS và gửi đến Controller 77

Trang 9

DANH MỤC HÌNH ẢNH

Hình 3.1 Mô hình mạng truyền thống - 2-2-2 2+EE+EE+EE+EE£EEE+EEzEEerxerxerxee 9

Hình 3.2 Kiến trúc mạng SDN -¿- ¿- - ESE+E£+E£EE£EEEEEEEEEEEEEEEEEEEEEEEErkerkrree 11Hinh 3.3 Co ché hoat động của mang SDN -. + series 11Hình 3.4 Kiến trúc Switch trong SDN - 2-52 ©cSE‡EE2EE2EEEEEEEEEEEErErkerkrree 12

Hình 3.5 Web server Honeypatch - - - < +11 v1 HH ng net 14

Hình 3.6 Các honeytokens được triển khai ở nhiều nơi -2- ¿©2522 16Hình 3.7 Nguyên lý của lập trình cổ điển và học máyy - ¿s25 17Hình 3.8 Mạng thần kinh nhân tạo phân loại các chữ SỐ cà 0 tt 2t 2trrkerrrkrrees 20Hình 3.9 Quá trình huấn luyện mạng thần kinh nhân tạo -. sex xe: 21

Hình 3.10 Multilayer PerC€pfTON <6 + E131 9911 19 1112 1 1 ng ng net 22

Hình 3.11 Ảnh được sinh ra bởi Progressive GAN -¿- 5+ ©5¿+cxe2zsccsz 23Hình 3.12 Ứng dụng CycleGAN chuyên đổi ảnh ngựa thường sang ngựa van và

0140109001010 24

Hình 3.13 Mô hình GAN cơ bản - - - 25 + 1v 9v 9 9 ng ng ngư 24

Hình 3.14 Quá trình một vòng lặp huấn luyện của GAN .: - 26

Hình 3.19 CycleGAN và Cycle-consistency ÌÏOSS s5 ssc+s+ssksssersesee 29

Hình 3.20 So sánh hình ảnh chuyền đổi khi không và có áp dung identity loss (giúp

GIT QUOC MAU) oo 335 31

Hình 4.1 Mô hình thiết kế kết hop Cyber Deception với CyeleGAN 35Hình 4.2 Mô hình hệ thong -2- 2 2 £+SEEE+EE£EE£EEE2EE2EEEEEEEEEEEEEEEEErrrrrrkerg 37Hình 4.3 Luồng hoạt động của mô hình hệ thống -2- ¿2 ¿+25 38

Hinh 4.4 M6 hinh CycleGAN 11 40

Hình 4.5 Kiến trúc MLP của IDS ceecceccescsscessessessesssssssssessessessessesssessesseesecsecsessessseess 42Hình 5.1 Mô hình hệ thống - 2-22 2£ 5£2EE2E++EEE2EEEEEEEEEEEEEEvSrkrrrrrrkree 43

Trang 10

Hình 5.2 Các image được lưu trữ trên dockerhub «+ «£+s£+sx+svxseeeeess 44

Hinh 5.3 Snort i05 46

Hình 5.4 Thay đổi IP va Port thích hop cho chương trình pigreplay.py 47Hình 5.5 Cơ chế hoạt động của ELK S†aCĂ - - c1 + vs rkrierirrske 48Hình 5.6 Luồng hoạt động của ELK -2¿ + 5222+2+++£x++ExtzE+erxezreersrrr 49

Hình 5.7 Kiểm tra trạng thái của elasticsearch -s¿ + x++z++cx++zxezrssrser 50

Hình 5.8 Kiểm tra trạng thái kibana -2-©5¿©2++2++2Exc2EEEEESEEerkrerkrrrrerkree 50Hình 5.9 Kiểm tra trạng thái logtash -2- 2¿2+©222Ext2EEvEE2EEeEErerkerrrerkree 50Hình 5.10 Kiểm tra trạng thái filebeat 2- 22 2 5222+2E++£x+2ExvzEterxezrxersrrr 50Hình 5.11 Sơ đồ mạng minh họa cho kịch bản - -.- 5 25+ £+ecseesseesses 51Hình 5.12 Thực hiện tan cơng bằng hping23 ¿- 2 5¿c+2++zx2zxccszze 52Hình 5.13 Mơ-dun trích xuất thuộc tính từ traffic tấn cơng - -: - 53Hình 5.14 Tép CSV được trích xuat tir cơng cụ CICFlowMeter 53Hình 5.15 Log snort gửi vé €ontfỌÏTr -¿- - 2 2 2 +EE£E£EE+EE£E££E£EE£EEeEEzEerkerxsree 54

Hình 5.16 log hoạt động CỦa STIOTẨ - G213 22113311 18 111 111 8111 111 ren 54

Hình 5.17 log snort được gửi về ELK weccecccceccecccscesessesseseescssessessessesssessessesecseeseeseese 54

Hình 5.18 Mơ hình CycleGAN và IDS SH SH HH HH ng kg 56

Hình 5.19 Trực quan hĩa dữ liệu huấn 00 —- :.:‹£*£* 58Hình 5.20 Trực quan hĩa dữ liệu KiỂm tTa St SE EEEEEEEEEEErkerkrkerkekrrees 59Hình 5.21 Huan luyện CycleGAN 2-©5¿5222222E‡EEEEEEEEEEEEEEEEEEEEErkrrkrrkrrex 59Hình 5.22 Giá trị mat mát (loss) của G, F, Dx, DY 4s 60Hình 5.23 Tổng giá trị mat mát (Total lOSS) - 2 ¿5£ ++££+E££E+£xzEszrzrered 60Hình 5.24 Chuyên đổi dịng chảy mạng bình thường trong tập dữ liệu khuơn mẫu

(Template Data) sang dịng chảy mạng độc hai giả (Generated data) 61

Hình 5.25 Trực quan hĩa tập huấn luyện cân băng 2-2 + +s+£z+£zzcxze 62Hình 5.26 Tái huấn luyện cho IDS với tập dữ liệu cân bằng - 62

Hình 5.27 Metric AUPRC (bên trái) và F1 (bên phải) biến đồi qua 80 epoch 64Hình 5.28 Fl-score và AUPRC của Imb-IDS và Cycle-IDS biến đổi với các kích

thước tập huấn luyện khác nhau - 2-2-2 + +E+E£+E£+EE+EE+EEeEE££EzzEzzExerxee 65

Trang 11

Hình 5.29 Recall của Imb-IDS và Cycle-IDS biến đổi với các kích thước tập huấn

luyện khác nhau << 1E 1E * nh Hk

Trang 12

DANH MỤC BANG

Bang 800309) 00)000))0017 32

Bảng 5.1 Thông tin tài nguyên sử dụng Ăn 1v HH ng ren 43

Bảng 5.2 Thông tin các thiết bi trong sơ đỒ ¿- ¿+ s+c++E+Eerkerkerxrrerrree 52Bảng 5.3 Thống kê tập dữ liệu CICIDS2017 -¿ 2 2+5++cxz£x+zxzxzzszrxees 56Bang 5.4 Thống kê dữ liệu thực nghiệm -2- 2 2+52+E£+EE+EEeEEeEEzErrxerxees 58

Bang 5.5 Kết quả đánh giá qua các metrics cscceecessesseessessessessesssessessesseeseesesesses 63

Bang 5.6 Thống kê TP, FP, TN, EN ¿22-52 2+SE‡EE2EE2EE2E12E127171212211 2E xe 63

Bang 5.7 Metrics của Cycle-IDS có AUPRC và Fl-score cao nhất 64

Bang 5.8 Thống kê TP, FP, TN, FNou csccssessssscssessssssessessessessssssssessessesseeseesesessen 64

Trang 13

DANH MỤC TU VIET TAT

STT Thuật ngữ Mô tả

1 IDS Intrusion Detection System

2 ML Machine Learning

3 SDN Software-Defined Networking

4 API Application Programming Interface

5 GAN Generative Adversarial Network

6 DOS Denial-of-Service

7 DDOS Distributed Denial-of-Service

8 IOC Indicator of Compromise

9 MTD Moving Target Defense

10 SOC Security Operation Center

11 DL Deep Learning

12 MLP Multilayer perceptron

Trang 14

TÓM TẮT KHÓA LUẬN

Cùng với sự phát triển của vượt bậc của trí tuệ nhân tạo, học máy được ứng dụng

để xây dựng các hệ thống phát hiện xâm nhập (IDS) có khả năng phát hiện các cuộctấn công chưa từng được biết tới với độ chính xác khá cao Tuy nhiên, khả năng củaIDS học máy lại bị giới hạn bởi tình trạng thiếu dữ liệu huấn luyện Hơn nữa, các tập

dữ liệu huấn luyện thường bị mắt cân bằng do số lượng dữ liệu bình thường lớn hơn

nhiêu lân so với dữ liệu độc hại.

Trong phạm vi khóa luận, dé tăng cường dữ liệu độc hại huấn luyện cho IDS,

chúng tôi sử dụng hai phương pháp trong học máy là thu thập thêm dữ liệu và tạo ra

dữ liệu giả Cụ thé, để giúp thu thập thêm dữ liệu một cách hiệu quả, tiết kiệm, trên

mạng SDN chúng tôi xây dựng hệ thống bẫy áp dụng kỹ thuật Cyber Deception nhằmthiết lập phòng thủ chủ động trước các cuộc tấn công mạng và thu thập lưu lượng độchại của kẻ tấn công Dé tạo ra dữ liệu giả, chúng tôi thực nghiệm trên tập dữ liệuCICIDS2017 và mô hình CycleGAN Để phục vụ cho việc đánh giá, một IDS (Imb-IDS) được huấn luyện trên tập dữ liệu mat cân bang ban đầu làm co sở dé so sánh vớimột IDS khác (Cycle-IDS) được huấn luyện trên tập dữ liệu cân bằng có bé sung ditliệu tạo ra bởi CycleGAN Kiến trúc Multilayer perceptron được sử dung cho các

IDS.

Với hệ thống bẫy được xây dựng trên mạng SDN, chúng tôi đã chuyên hướngđược lưu lượng độc hại của cuộc tấn công, góp phần giảm rủi ro cho hệ thống mạng,đồng thời thu thập được lưu lượng độc hại và trích xuất các thuộc tính quan trọng lưuthành file csv dé tăng cường dữ liệu cho IDS học máy Còn việc sử dụng CycleGANcũng đem lại kết quả khả quan trong việc cải thiện khả năng phát hiện dữ liệu độc hại

của IDS học máy.

Ngoài ra, chúng tôi cũng đưa ra một sô hướng phát triên cho việc mở rộng nghiên

cứu trong tương lai.

Trang 15

Chuong1 TONG QUAN ĐÈ TÀI

1.1 Ly do chọn đề tai

Ngày nay, Internet đã trở thành một phan mật thiết, sống còn đối với hoạt dongthương mại điện tử và đời sông của mỗi cá nhân Bên cạnh việc được tận hưởng rấtnhiều lợi ích do Internet đem lại, người dùng luôn phải đối mặt với những mỗi đe doaliên quan đến an toàn thông tin như các cuộc tấn công mạng nhằm đánh cắp dữ liệu

và phá hoại hoạt động bình thường của doanh nghiệp.

Dé bảo vệ cho hệ thống công nghệ thông tin của mình, các doanh nghiệp sử dụngcác giải pháp phòng thủ khác nhau trong đó có hệ thống phát hiện xâm nhập (IDS)

IDS là một phần mềm hoặc thiết bị được sử dụng dé giám sát, phân tích lưu lượngmang trong thời gian thực, qua đó phát hiện các cuộc tan công và cảnh báo cho quan

trị viên.

Gần đây, với sự phát triển bùng no của trí tuệ nhân tạo, hoc máy đã được ứngdụng dé xây dựng các IDS học máy So với IDS truyền thống, IDS học máy có khanăng phát hiện các tan công chưa từng được biết đến và các bất thường (anomalies)

với độ chính xác khá cao Tuy nhiên, khả năng của chúng lại bị giới hạn bởi tình trạng

thiếu hụt dữ liệu huấn luyện Hơn nữa, các tập dữ liệu huấn luyện thường bị mất cânbằng do các lưu lượng tấn công (độc hại) thường ít hơn nhiều so với lưu lượng bình

thường.

Dé giải quyết tình trạng thiếu hụt dữ liệu, trong học máy người ta thường sử dụng

các cách như: thu thập thêm dữ liệu, tạo dữ liệu giả hoặc xử lý dữ liệu sẵn có bằngcác phép tuyến tính hay phi tuyến (Augmentation) Đề tài này hướng đến việc sử

dụng kết hợp hai cách là thu thập thêm dữ liệu và tạo dữ liệu giả dé tang cường dữ

liệu huấn luyện cải thiện IDS học máy

Có thê thấy, nhược điểm của việc đi thu thập đữ liệu là khá tốn kém, có thê là tiềnbạc (mua dir liệu của người khác) hoặc công sức và thời gian (tự xây dựng hệ thongsinh dữ liệu sau đó gan nhãn thủ công cho dir liệu) Đề khắc phục nhược điểm này,

Trang 16

chúng tôi sử dụng kỹ thuật lừa dối mạng (Cyber Deception) - một giải pháp hữu ích

trong việc phòng thủ và hạn chế mức độ ảnh hưởng của các cuộc tấn công tới hệthống công nghệ thông tin trong tô chức Kỹ thuật lừa dối mạng được áp dụng đề xâydựng hệ thống bay (honeypot) hiệu quả hơn, làm cho kẻ tan công khó khăn trong việcxác định mục tiêu và giúp người quản trị có thé chủ động trong việc điều hướng lưulượng tấn công vào hệ thống bẫy đã dựng sẵn Vì vậy, chính những lưu lượng độc hạitấn công vào hệ thống sẽ được thu thập đồng thời tự động trích xuất thuộc tính và gánnhãn giúp tiết kiệm rất nhiều công sức

Trong khi đó, dé tạo dit liệu giả, mang sinh đối kháng GAN - một kỹ thuật học

máy bao gồm hai mạng thần kinh nhân tạo được huấn luyện cùng nhau là bộ sinh

(Generator) có nhiệm vụ sinh ra dữ liệu gia và bộ phân biệt (Discriminator) có nhiệm

vụ phân biệt dữ liệu giả với dữ liệu thật, được sử dụng rộng rãi Riêng đối với dữ liệu

mạng, CycleGAN - một biến thé cua GAN có khả năng chuyền đổi dữ liệu giữa haiphân phối (lĩnh vực) mà không cần các cặp dữ liệu tương ứng theo cặp cho mỗi phânphối (lĩnh vực) đặc biệt phù hợp bởi vì thông thường, dữ liệu mạng bình thường không

tương ứng theo cặp với dữ liệu mạng độc hại.

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

Xây dựng và đánh gia IDS học máy trong việc phân loại dữ liệu bình thường và

độc hại trên tập dữ liệu bi mat cân bằng CICIDS2017 (Imb-IDS)

Nghiên cứu, xây dựng và đánh giá CycleGAN trong việc chuyền đổi dữ liệu bìnhthường sang dit liệu độc hại trên tập dữ liệu CICIDS2017 nhằm bồ sung thêm dit liệuđộc hại vào tập dữ liệu ban đầu dé huấn luyện cho một IDS khác (Cycle-IDS)

So sánh hiệu năng của Cycle-IDS với Imb-IDS

Triển khai Cyber Deception trong mạng khả lập trình dé đánh lừa kẻ tắn công xâmnhập vào bay nhằm cung cấp chiến lược phòng thủ chủ động, thu thập IOCs, cácchiến thuật, chiến lược và dữ liệu tan công làm nguồn bồ sung dữ liệu tan công (độchại) để huấn luyện cải thiện thêm khả năng phát hiện các cuộc tấn công mới cho IDS

học máy.

Trang 17

1.3 Pham vi nghiên cứu

Nghiên cứu phương pháp xây dựng, huấn luyện, đánh giá IDS học máy sử dụngkiến trúc Multilayer perceptron trên tập dữ liệu CICIDS2017

Nghiên cứu phương pháp xây dựng, huấn luyện, sử dụng CycleGAN trong việcchuyển đổi dữ liệu bình thường sang dt liệu tấn công (độc hại) trong tập dữ liệu

CICIDS2017.

So sánh hiệu năng của IDS học máy được huấn luyện trên tập dữ liệu được cânbằng bởi CycleGAN đồng thời với IDS học máy cơ sở được huấn luyện trên tập dữ

liệu bị mât cân băng ban đâu.

Nghiên cứu phương pháp triển khai Cyber Deception trên mạng SDN

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

- Tap dtr liệu CICIDS2017

- IDS hoc may

- CycleGAN

- Cyber Deception

- Mang kha lap trinh (SDN)

1.5 Phương pháp thực hiện

e Tìm hiểu các kiến thức nền tảng về các đối tượng nghiên cứu trong đề tài

e Tìm hiểu các công trình nghiên cứu liên quan

e Đưa ra phương pháp xây dựng hệ thống

e_ Thực nghiệm và đánh giá kết quả

1.6 Cấu trúc khóa luận

Khóa luận được tô chức trong 6 chương như sau:

Chương 1: TONG QUAN DE TÀI

Trinh bay khái quát định hướng nghiên cứu của khóa luận mà chúng tôi muốn

hướng tới.

Trang 18

Chương 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN

Sơ lược một sô công trình liên quan có cùng hướng nghiên cứu mà đê tài có tham khảo.

Chương 3: CƠ SỞ LY THUYET

Trinh bay các định nghĩa, khái niệm cũng như những kiến thức nên tảng dé cóthé thực hiện được nghiên cứu

Chương 4: PHƯƠNG PHÁP THỰC HIỆN

Là phần trọng tâm của khóa luận, trình bày những nôi dung chính về phương

pháp thực hiện và mô hình được sử dụng.

Chương 5: HIỆN THỰC VÀ ĐÁNH GIÁ

Đề cập đến quá trình thực nghiệm cùng với kết quả thu được Đưa ra nhận xét

cho những công việc đã thực hiện ở Chương 4.

Chương 6: KET LUẬN VÀ HƯỚNG PHAT TRIEN

Đưa ra kết luận về đê tài, đê xuât một sô hướng phát triên mở rộng cho các nghiên cứu trong tương lại

Trang 19

Chuong2 CÁC CÔNG TRÌNH NGHIÊN CỨU LIEN QUAN

2.1 Cac công trình nghiên cứu liên quan

Việc sử dụng GAN dé tăng cường dữ liệu đặc biệt là dữ liệu độc hại nhằm huấn

luyện cải thiện khả năng phân loại dữ liệu cho IDS học máy đã được thực hiện ở trong

khá nhiều các công trình nghiên cứu khác nhau Trong đó, có thé kế đến GIDS [1]

-một IDS hoc máy được huấn luyện cải thiện nhờ vào việc tích hợp với -một mô hìnhGAN cơ ban dé sinh thêm dữ liệu độc hại với điều kiện chỉ giữ lại dữ liệu được sinh

ra nếu nó giúp cải thiện khả năng phân loại các tấn công mà IDS còn yếu kém Tập

dữ liệu được thực nghiệm là KDD-99 Kết qua, khả năng phân loại của G-IDS là tốthơn nhiều so với IDS độc lập (không tích hợp với GAN) ké cả khi được huấn luyệnvới ít dữ liệu hơn Tuy nhiên việc tính toán khá là tốn kém cả về tài nguyên và thờigian nên cần được nghiên cứu thêm Tương tự, IGAN-IDS [2] cũng là một bộ khunghuấn luyện cải thiện cho IDS có sử dung GAN co bản đề sinh dữ liệu tuy nhiên IGAN-IDS hướng tới việc cân băng dữ liệu cho tập dữ liệu nhiều hơn (thay vì sinh dữ liệu

có chọn lọc như G-IDS), được thực nghiệm trên ba tập dữ liệu khác nhau và so sánh

với 15 mô hình học máy khác nhau Kết quả, IGAN-IDS cho thấy hiệu quả mạnh mẽ

đối với các tập dữ liệu mắt cân băng Thay vì việc chỉ sử dụng GAN cơ bản, Milad

Salem và các cộng sự ở trường dai học Central Florida đã sử dụng CycleGAN [3] —

một biến thể của GAN, đề cân bằng tập dữ liệu ADEA-LD qua đó huấn luyện cho

một IDS học máy (CycleGAN IDS) và đánh giá hiệu năng của nó Ngoài ra hai IDS

hoc máy khác (một không sử dụng kỹ thuật gi và một sử dụng kỹ thuật SMOTE) được

huấn luyện trên tập dit liệu ban đầu để so sánh với CycleGAN IDS Kết quả làCycleGAN đã có kết quả vượt trội hơn hai IDS còn lại

Bên cạnh đó, Cyber Deception cũng rất được quan tâm trong thời gian gần đây.Tiêu biểu có thể kế đến việc xây dựng bộ khung Decepti-SCADA [4] dé giúp chủđộng hơn trong việc phòng thủ các cuộc tấn công vào các hệ thống công nghệ thông

tin Trong nhiều tình huống, người phòng thủ thường ở thế bị động vì luôn phải tìm

kiếm các 16 hồng bảo mật dé vá chúng Tuy nhiên, các lỗ héng mới xuất hiện ngày

càng đa dang và phức tap cho nên việc tìm kiếm và vá tat cả các lỗ hồng một cách

Trang 20

nhanh chóng là hoàn toàn bat khả thi Trong khi đó, kẻ tắn công chỉ cần tập trung vàokhai thác một số lỗ hông nhát định thì đã gây thiệt hại đến hệ thong Vì vậy bộ khungDecepti-SCADA cho phép chúng ta dé dàng triển khai các bay đặt trong hệ thốngmạng thật, từ đó gây ra nhằm lẫn, và khó khăn hon trong việc tan công vào hệ thống,

từ đây cũng có thê theo dõi, quan sát các chiến thuật, kỹ thuật mà kẻ tan công thực

hiện Ngoài ra, một giải pháp phát hiện và hạn chế tan công DDoS trong mạng khalập trình được đề xuất bằng cách sử dụng một IDS tự động phát hiện một số kiểu tancông DDoS và sé thông báo cho bộ điều khiển mạng (controller) Từ đó, controller

sẽ đưa ra các quyết định xử lý cho các thiết bị mạng Ngoài việc chỉ đánh lừa kẻ tancông, bộ khung DEEPDIG [5] được đề xuất dé nâng cao web IDS học máy với dữliệu tan công (threat data) bắt nguồn từ các bay lừa dối (deceptive, application-later,software traps) Các bẫy lừa dối này có khả năng thu thập các lưu lượng tấn công, tựđộng trích xuất thuộc tính (feature extraction) va gn nhãn dé làm nguồn bồ sung dữliệu huấn luyện cho IDS học máy

2.2 Ý nghĩa khoa học và thực tiễn của đề tài

2.2.1 Ý nghĩa khoa học

So với nghiên cứu của Milad Salem và các cộng sự ở trường đại học Central Florida [3], chúng tôi sử dụng bộ dữ liệu mới hơn dành cho network IDS là

CICIDS2017 thay thé cho tập dữ liệu ADFA-LD dành cho host-based IDS

Chúng tôi đánh giá độ hiệu quả trong việc sử dụng CycleGAN dé tăng cường dữliệu cho huấn luyện IDS và xây dựng hệ thống mạng sử dụng kỹ thuật CyberDeception dé đánh lừa kẻ tan công và thu thập lưu lượng tan công sau đó trích xuấtcác thuộc tính quan trọng lưu lại thành tệp dưới định dạng CSV Hệ thong mang sudung kỹ thuật Cyber Deception được triển khai trên mang SDN kết hợp với côngnghệ docker giúp cho việc triển khai nhanh chóng tiện lợi

Chúng tôi đưa ra phương pháp tái huấn luyện IDS liên tục từ chính những lưulượng độc hại mà hệ thống mang honeypot thu thập được và CycleGAN chuyền đồisang dé cung cấp giải pháp trong việc tự động kiểm thử, cập nhật cũng như giúp IDStăng cường khả năng phát hiện tắn công

Trang 21

2.2.2 Ý nghĩa thực tiễn

Mặc dù giải pháp của nhóm chi dang trong giai đoạn thử nghiệm trên môi trường

giả lập nhưng có thê cho thấy được rất tiềm năng trong việc ứng dụng vào thực tiễn

Nghiên cứu có thể triển khai thành một hệ thống phòng thủ tối ưu với khả năngvừa phát hiện, hạn chế các cuộc tan công ảnh hưởng đến hệ thống công nghệ thôngtin của tổ chức, vừa thu thập được lưu lượng tan công phục vụ cho quá trình tái huấn

luyện IDS học máy.

Trang 22

Chương3 CƠ SỞ LÝ THUYET

3.1 Mang khả lập trình (SDN)

3.1.1 Tổng quan

Sự bùng né của cuộc cách mạng công nghiệp lần thứ 4, trong đó công nghệ đóng

vai trò then chốt, các hoạt động chuyên dịch lên hạ tầng công nghệ thông tin ngàycàng lớn Cùng với sự phát triển vượt bậc của Internet đã làm cho các hệ thong mangngay cang đồ sộ, dẫn đến hệ quả là việc vận hành hệ thong trở nên khó khăn Mang

truyền thống phụ thuộc vào các giao thức định tuyến động chạy bên trong bộ định

tuyến của thiết bị hạ tang mang (router, switch) hay các dịch vụ ha tang mạng nhưVLAN, bảo mật được xây dựng riêng biệt và độc quyền bởi các hãng sản xuất phần

Mạng truyền thống hoạt động dựa trên việc triển khai các thiết bị mạng với nhau,

và mỗi hãng sản xuất lại cung cấp một giao diện quản trị riêng gây khó khăn cho việc

Trang 23

quan trị và tích hợp Ngoài ra, các công nghệ mạng độc quyên làm cho việc thay thé,

bổ sung các tinh năng mới cho thiết bị gặp nhiều khó khăn

Tất cả những điều đó dẫn đến nhu cầu tập trung hóa việc quản trị, tách biệt phầnđiều khiển và phan xử lý dit liệu Từ đó làm cho phần điều khién trở nên dé dàng hơn,

có thé lập trình được dé tự động hóa và đơn giản trong việc quản trị Cùng với sự pháttriển của các công nghệ ảo hóa, ảo hóa thiết bị mạng đang là xu hướng nhận đượcnhiều quan tâm và triển khai rộng rãi với sự ra đời của kiến trúc mạng khả lập trình

(Software-defined network — SDN).

SDN là một kiểu kiến trúc mạng mang lại hy vọng thay đôi những hạn chế của cơ

sở hạ tang mạng truyền thống, làm cho hệ thống mạng trở nên linh hoạt hon, dé dangquản lý Nó phân tách các quá trình điều khiển lưu lượng mang ra khỏi ha tang phancứng, cho phép người quan trị thông qua các API dé quan trị toàn bộ hệ thống mang

trên bộ điều khiến tập trung mà không cần phải vào từng thiết bị

3.1.2 Kiến trúc mạng khả lập trình

Kiến trúc mang SDN gồm 3 lớp riêng biệt: lớp ứng dụng (application layer), lớpđiều khiển (control layer), lớp cơ sở hạ tang (infrastructure layer)

e Application layer: là các ứng dụng hoặc các chức năng mạng như hệ thống

phát hiện xâm nhập (IPS/IDS), hệ thống cân bằng tai (load-balancing), tườnglửa (firewall) Các chức năng mạng này trong kiến trúc mạng truyền thống

cần sử dụng các thiết bị chuyên dụng Trong khi với SDN là các ứng dụng

phần mềm với các chức năng tương đương được triển khai kết hợp các API đo

bộ điều khiển cung cấp dé quản lý việc điều khiển lưu lượng mang thay thécho các thiết bị phần cứng truyền thống

¢ Control Layer: Là phần mềm điều khiến toàn bộ mạng SDN tập trung Các bộ

điều khiển này là các phần mềm được lập trình Có khả năng tiếp nhận va phảnhồi các yêu cầu từ lớp ứng dụng, cấu hình các thiết bị mạng tại lớp ứng dụng

Bộ điều khiển nằm trên máy chủ và quản lý các luồng lưu lượng mạng, và

cung cấp các API dé xây dựng các ứng dụng mạng cho hệ thống

10

Trang 24

e_ Infrastructure layer: bao gồm các thiết bị mạng, thực hiện chuyên tiếp, xử lý

các gói tin theo sự điều khiển của control layer thông qua các giao thức như

OpenFlow.

APPLICATION LAYER

CONTROL LAYER

wa

INFRASTRUCTUR LAYER

Hình 3.2 Kiến trúc mang SDN

Bộ điều khiển SDN quản lý tập trung các thiết bị vật lý cũng như các dịch vụmạng, khi phần điều khiến và xử ly logic được tách rời và quản lý tập trung ở bộ điềukhiến trung tâm

3.1.3 Cơ chế hoạt động của mạng khả lập trình

To controller

OpenFlow

Abstraction Layer

11

Trang 25

Thiết bị trong SDN sử dung Application Programming Interface (API) dé giao

tiếp voi bộ điều khiến (controller), lớp trừu tượng (Abstraction layer), chức năng xử

lý gói tin (Packet processing).

Chuan API sử dung dé giao tiếp với controller là Openflow, hoặc các giao thứcthay thế khác trong mạng SDN

Abstraction layer là một hoặc nhiều bảng chứa các luồng (flow) Thiét bi dựa vàobảng flow nay dé thực hiện các hành động thích hợp Mỗi flow trong bảng thườnggồm 2 phan: Match fields được sử dụng dé so khớp với các gói tin thiết bị nhận được

và Action hướng dẫn thiết bị xử lý khi gói tin khớp với trường Match fields nhưchuyển tiếp gói tin đến một port cụ thé, loại bỏ gói tin,

Packet-processing bao gồm các cơ chế xử lý gói dựa trên kết quả so khớp từ bảngflow Trong các thiết bị phần cứng cơ chế này được thực hiện bởi phần cứng chuyên

dụng như Ternary Content Addressable Memory (TCAM) and Content Addressable

Memory (Bảng CAM).

GUI rs Router Others

Switch ail

Northbound REST Python Java

API API API API

12

Trang 26

Controller thực hiện các chính sách kiểm soát tat cả các thiết bị trong mạng SDN

và cung cấp các northbound API cho các ứng dụng Ngoài ra controller cũng thựchiện các chính sách về định tuyến, chuyền tiếp, chuyển hướng và cân bằng tải

Controller thường đi kèm với các modules ứng dụng khác như tường lửa, bộ định

tuyến, bộ cần bang tai, IDS Chung được đóng gói chung với controller

Hình 3.3 mô ta các chức nang chính được hỗ trợ bởi controller: northbound,southbound API và một số ứng dụng southbound API được sử dụng dé giao tiếp vớicác thiết bi SDN Các tinh năng cốt lõi của bộ điều khiến là:

e End-user device discovery: Khám phá các thiết bi của người dùng cuối như

máy tính xách tay, máy tinh dé bàn, máy in, thiết bị di động

e Network device discovery: Khám phá các thiết bị cơ sở hạ tang mạng như

switch, access point, router.

e Network device topology management: quản lý thông tin chỉ tiết kết nối của

dụng một lỗ hông dé khoan lung hệ thống Cùng lúc đó, kẻ tan công có thé thu thậpthông tin về hệ thống thông qua nhiều kỹ thuật như trinh sát (reconnanaisance) vànghe lén (sniffing), còn người phòng ngự thì hầu như có thông tin gì về kẻ tan công

Ngay cả nếu người phòng thủ vận dụng kỹ thuật phòng thủ theo chiều sâu in-depth — nhiều lớp bảo mật được đặt trong hệ thong mang) thi ho van rat khó khăn

(defense-trong việc phòng chống và phát hiện các cuộc tan công có chủ dich (Advanced

13

Trang 27

Persistent Threat (APT)) bởi vì các cuộc tấn công này thường khai thác các lỗ hồng

zero-day và dé lại rất ít dấu vết Bên cạnh dó, các IDS phát hiện bất thường và cácIDS dựa và hành vi thường phát sinh rất nhiều cảnh báo tấn công giả làm đau khổ

những người phòng ngự.

Cyber Deception giúp thiết lập thế phòng thủ chủ động cùng với khả năng pháthiện các lỗ hong zero-day và tần suất cảnh báo giả thấp nhờ vào việc làm rối bề mặttấn công (attack surface) Mục tiêu là che giấu những tài nguyên quan trọng và làm

kẻ tan công bối rối và lạc lỗi khiến nâng cao rủi ro bị phát hiện, lãng phí tài nguyên,làm chậm lại các tác động lên hệ thống và làm lộ chiến thuật tan công

Các kỹ thuật quan trọng trong kỹ thuật lừa dối là honeypots, honeytokens vàmoving target defense (MTD) Honeypot bản chất là một bẫy giả lập hệ thống thật.Các tài nguyên bay (tài khoản người dùng, tệp quan trọng, cơ sở dữ liệu và mat khẩu)

có thể được triên khai dé kẻ tan công có thé thu thập gọi là honeytokens Tuy nhiên,

nếu honeypots và honeytokens chỉ được câu hình có định thì kẻ tan công sẽ dan dần

phát hiện ra và có gắng vượt qua chúng MTD có thé giải quyết van đề trên bang cách

ngẫu nhiên hóa và cấu hình lại hệ thống mạng, tài nguyên và công cụ bảo vệ.

Honeypots có thé được phân thành 2 loại chính: research honeypots va production

honeypots Mặc dù research honeypots đóng vai trong quan trọng trong nghiên cứu,

14

Trang 28

thu thập thông tin tình báo (threat intelligence) mang tính thời sự, nhưng chúng không

trực tiếp mang lại lợi ích cho một tổ chức cụ thé Ngược lai production honeypots

được đặt trong môi trường của tô chúc dé phát hiện và giảm thiểu rủi ro về an toàn

thông tin Chúng có thê được triển khai đưới dạng mỗi nhử được đặt tại các vị trí nhưtrong khu vực cách ly (dễ bị kẻ tấn công phát hiện), vành đai mạng (network

perimeter) (không có tác dụng khi kẻ tan công đã ở bên trong hệ thống mạng), khuvực điều hướng (sử dụng định tuyến và chuyển hướng port để điều hướng kẻ tấn

công) và một port trên production system (mô phỏng cách dịch vụ dé bị tôn hại trên

các port thông dụng).

Tuy nhiên, nếu kẻ tan công nhận diện được honeypot thì chúng sẽ cố gắng tránh

né làm cho honeypot trở nên vô dụng Kẻ tan công có thé phát hiện honeypot dựa vào

sự chênh lệch thời gian hoặc hành vi bất thường từ những phản hồi trong quá trình

trinh thám (probing).

3.2.3 Honeytokens

Honeytokens sử dụng các tài nguyên làm môi nhử như tài khoản, tệp người dùng,

cơ sở dữ liệu, mật khẩu Thường được kết hợp với honeypot dé tạo ra nhiều bề mặttan công giả Honeytokens rat linh hoạt dé dàng trién khai ở nhiều nơi trong hệ thốngvới chi phí triển khai thấp

15

Trang 29

Social Network Profile Social Network Profile

Name: Mike Name: John

Honey People

| Title: IT Admin Title: IT Admin

| Email: mike@company.com Email: john@company.com

Hình 3.6 Các honeytokens được triển khai ở nhiều nơi

3.2.4 Moving Target Defense (MTD)

Trong phòng thủ hệ thong mang, xây dựng một hệ thong mạng có nhiều “biénđộng”, liên tục thay đôi các bề mặt tan công cho hệ thống mang là rất hiệu quả trongviệc duy trì sự an toàn cho hệ thống Các kỹ thuật MTD tìm cách thay đôi ngẫu nhiêncác thành phần mang để liên tục thay đổi cau trúc mang làm giảm thời hạn của mộtcuộc tấn công (các cuộc tấn công APT thường kéo đài) và giảm thiệt hai của các tấn

công diện rộng.

Kỹ thuật MTD có thể được áp dụng ở 4 khía cạnh sau:

e IP Obfuscation: để ngăn những kẻ tan công lần theo dấu vết của máy chủ dựa

trên địa chỉ IP Chúng ta có thé cau hình DHCP dé thay đôi địa chỉ IP thường

xuyên Một cách khác, mỗi máy chủ sẽ có một địa chỉ ip ảo (vIP) ngẫu nhiên

sẽ tự động dịch chuyên đến địa chỉ ip thật (rIP)

16

Trang 30

e OS Obfuscation: dé bảo VỆ các cuộc tan công dựa vào khai thác các lỗi hệ

điều hành Chúng ta nên ấn các thông tin về hệ điều hành, làm ngẫu nhiên

các TCP sequence numbers trong các giao thức TCP, ICMP, UDP.

e Dynamic System

e Dynamic Software

3.3 Học may (Machine Learning)

3.3.1 Tong quan

Trong lập trình cô điển, con người đưa vào máy tinh các quy luật va dữ liệu đầu

vào sẽ được tính toán trên các quy luật đó đề sinh ra đáp án Còn trong học máy, con

người đưa vao đữ liệu và đáp án được kỳ vọng và máy tính sẽ tự suy ra quy luật Từ

đó, máy tính có thé áp dụng quy luật này với các dữ liệu mới dé sinh ra đáp án đúng

Hình 3.7 Nguyên lý của lập trình cổ điển và học máy

Trong quá khứ, học máy đi từ dạng mô hình xác suất (Probabilistic modeling)

(tiêu biểu là thuật toán Naive Bayes) tới các mạng thần kinh nhân tao thời kỳ đầu (khi

mà các thuật toán lan truyền ngược và tối ưu gradient-descent chưa được tìm ra), sau

đó tới các phương pháp hạt nhân (kernel methods) (nỗi tiếng nhất là Support Vector

Machine (SVM)) rồi mới quay lại các mang thần kinh nhân tạo hiện đại (tiêu biểu là

câc mạng thần kinh phức hợp sâu (deep convolutional neural network) được áp dụng

cho thị giác máy tính)

Học máy nhanh chóng trở nên nôi tiêng và là một trong các lĩnh vực con thành

công nhất của AI nhờ vào sự tăng trưởng về tốc độ của phần cứng (lưu trữ và xử lý)

17

Trang 31

và kích thước các các tập dữ liệu Học máy có mối liên hệ chặt chẽ với thống kê trong

toán học nhưng có khả năng xử lý các tập dữ liệu không 16 và phức tạp

3.3.2 Phân loại các thuật toán học máy

Các thuật toán học máy thường được phân thành ba loại:

e Hoc có giám sát (Supervised learning): thong dung nhất, hoc cách gán nhãn

dữ liệu đầu vào dựa trên các mẫu cho trước đã được gán nhãn

e Hoc không giám sát (Unsupervised learning): học cách biến đổi dữ liệu mà

không cần các mẫu có nhãn gán sẵn, thường dùng với mục đích trực quan

hóa, nén hoặc giảm nhiễu dữ liệu.

e Học tăng cường (Reinforcement learning): nhận thông tin từ môi trường

và học cách hành động dé tối đa hóa thành quả thu về

3.3.3 Phương pháp huấn luyện, đánh giá mô hình học máy

Phương pháp đánh giá mô hình học máy thường quy về việc chia dit liệu thành baphần:

e Tập huấn luyện (training)

e Tập thẩm định (validation)

e Tập kiểm tra (test)

Từ đó, mô hình sẽ được huấn luyện trên tập huấn luyện và đánh giá trên tập thẩmđịnh Ngoài ra, tập thấm định có thể giúp tối ưu các siêu tham số (hyperparameter)của mô hình như số lớp hay là kích thước của mỗi lớp Khi đã đạt yêu cầu, mô hình

sẽ được kiểm tra lần cuối trên tập kiểm tra để tránh overfitting trên tap tham dinh

3.3.4 Tiền xử ly dữ liệu, va feature engineering

Tiền xử lý dữ liệu có mục đích làm cho đữ liệu thô trở nên dễ dàng xử lý hơn chocác mạng thần kinh nhân tạo Tiền xử lý dữ liệu bao gồm:

e Vector hóa (Vectorization): mọi dữ liệu đầu vào của mang than kinh nhan

tao phải ở dưới dang tensors (dang tong quát hon của vector)

18

Trang 32

e Chuẩn hóa (Normalization): Giảm độ lớn của dữ liệu va đưa về cùng một

khoảng giá trị để tránh các cập nhật gradient (gradient update) lớn ngăn

cản mạng hội tụ.

e Xử lý các dữ liệu bi thiếu sót: chỉnh sửa hoặc loại bỏ các dữ liệu bi thiếu

sot.

e Feature engineering: dua vao kiến thức của ban thân về di liệu dé thực

hiện các biến đổi dữ liệu giúp mô hình giải quyết được van dé đơn giản và

dễ dàng hơn.

3.3.5 Overfitting và underfitting

Một trong những vấn đề cơ bản của học máy là ranh giới giữa tối ưu hóa(optimization) và tổng quát hóa (generalization) Tối ưu hóa là quá trình thay đổi môhình dé đạt hiệu suất tốt nhất có thê trên dữ liệu huấn luyện (“hoc”) trong khi đó tổng

quát hóa là mức độ chính xác của mô hình đã được huấn luyện thê hiện đối với những

dữ liệu mới mà nó chưa từng được gap.

Ở giai đoạn đầu của quá trình huấn luyện, tối ưu hóa và tổng quát hóa có sự tương

quan với nhau (mat mát trên dữ liệu huấn luyện càng giảm thì mat mát trên dit liệukiểm tra càng giảm) Trong lúc nay, mô hình đang underfit Nhưng sau một vài vòng

lặp huấn luyện, tổng quát hóa ngừng cải thiện, các metrics thâm định đứng lại và bắtđầu suy giảm là lúc mô hình đang chuân bị overfit

Dé tránh overfit, cách tốt nhất là tìm thêm dit liệu huấn luyện, cách tiếp theo làgiảm độ phức tạp của mô hình Quá trình chiến đấu với overfitting được gọi là

regularization.

3.4 Học sâu (Deep Learning)

3.4.1 Tong quan

Hoc sâu là một nhánh nhỏ trong học máy Hoc sâu dat trong tâm việc “học” về

cách trình bày (representation) của dữ liệu bằng cách sử dụng nhiều lớp (layer) bdsung ý nghĩa tăng dan cho di liệu Số lượng lớp của một mô hình hoc sâu cũng làchiều sâu (depth) của mô hình

19

Trang 33

Trong học sâu, những lớp trình bày đữ liệu (representation layer) hầu như luôn

luôn được học thông qua các mô hình gọi là mạng thần kinh nhân tạo (neural

network).

Layer 1 Layer 2 Layer 3

representations representations representations

Layer 4 representations (final output)

" TT] 0

Gri input 2

| :

L > 4

5 6

4

8

L_] 9

Layer 1 Layer 4

Hinh 3.8 Mang thần kinh nhân tao phân loại các chữ sỐ

Học sâu đã đạt được những kết quả đột phá trong các vấn đề liên quan đến tri giác

của con người (nhìn và nghe, ví dụ: phân loại ảnh) — những van dé tưởng như rat tự

nhiên và dé dàng đối với con người nhưng lại không hé đơn giản đối với máy móc

Những nhân tố khiến học sâu phát triển một cách vượt bậc trong thời gian ngắn

bao gồm sự phát trién mạnh mẽ về phan cứng (các GPU, TPU giúp việc huấn luyện

các mô hình trở nên nhanh chóng hơn), dữ liệu lớn và các thuật toán tốt hơn (các hàm

kích hoạt (activation function), các bộ tối ưu (optimizer) như RMSProp và Adam)

Ngoài ra, so với học máy truyền thống, học sâu giúp tự động hóa bước feature

enginneering.

3.4.2 Mạng thần kinh nhân tạo

Mạng thần kinh nhân tạo bao gồm các thành phần sau:

e Các lớp (Layers)

20

Trang 34

e Dữ liệu đầu vào (input data) và mục tiêu thực (true target) tương ứng

e Hàm mat mát (loss function): tín hiệu phản hồi cho việc học

e Optimizer: cách hoc dữ liệu

Mạng bao gồm nhiều lớp móc xích với nhau sẽ đưa ra dự đoán (prediction) dựatrên dữ liệu đầu vào Hàm mat mát sẽ so sánh những dự đoán đó với mục tiêu thực(true target) dé tính toán ra giá tri mất mát (loss score) — giá tri thể hiện độ sai kháccủa dự đoán với mục tiêu thực Optimizer có nhiệm vụ cập nhật thay đôi cách trọng

sé (weight) cua mang

y'

Loss score

Hinh 3.9 Qua trinh huan luyén mang thần kinh nhân tạo

Ban đầu các trọng số của mạng được gan các giá trị ngẫu nhiên nên mang chỉ thực

hiện những biến đối ngẫu nhiên trên dữ liệu dẫn tới đầu ra khác xa so với kỳ vọng

và giá trị mất mát sẽ rất cao Nhưng sau mỗi mẫu (example) mà mạng xử lý, trọng sốđược thay đối từng chút một một theo chiều hướng tốt lên và giá tri mat mát giảmdần Đây cũng là cách hoạt động của thuật toán lan truyền ngược (backpropagation).Sau khi được huấn luyện với sỐ vòng lặp vừa đủ, ta thu được các trọng số giúp giảm

thiêu hàm mât mát.

21

Trang 35

3.4.3 Multilayer Perceptron (MLP)

Multilayer Perceptron (MLP) là một mạng thần kinh nhân tạo bao gồm một lớp

dữ liệu đầu vào (input layer), một hay nhiều các fully connected layer (dense layer)gọi là các hidden layer và một lớp dữ liệu đầu ra (output layer) nối tiếp với nhau

Input Layer Hidden Layer Hidden Layer Output Layer

Hinh 3.10 Multilayer Perceptron

MLP được huấn luyện sử dung thuật toán lan truyền ngược (backpropagation) —tinh toán gradient của hàm mat mát trên các trọng số của mạng đồng thời thay đổitrọng số của mạng theo hướng làm giảm giá trị mat mát (gradient descent) từng chút

một cho đến khi mang hội tụ (khi giá tri mất mát đạt giá tri yêu cầu, thường là cực

biệt (Discriminator) phân biệt dữ liệu giả với dữ liệu that (dữ liệu trong tập dữ liệu).

Ví dụ nếu ta muốn GAN tạo ra các hình anh giống với tác phâm nghệ thuật của

22

Trang 36

Leonardo da Vinci, thi tap dữ liệu huấn luyện sẽ là các tác phẩm nghệ thuật của Vinci.

Từ “Adversarial” nói lên tính chất cạnh tranh, sinh động giữa bộ sinh và bộ phân biệt

Chúng liên tục cố gang vượt mặt nhau: bộ sinh càng tốt lên trong việc sinh dữ liệu

giả thì bộ phân biệt càng phải tốt hơn trong việc phân biệt thật giả

Một trong những thành công lớn của GAN là tạo ra ảnh siêu thực tế Một thành

tựu đáng ké nữa là khả năng chuyên đổi anh sang ảnh (image-to-image translation)

ví dụ chuyên đổi tam ảnh một con ngựa thường sang ngựa van Trong nghiên cứu yhoc, GAN có thé được ứng dụng dé bé sung tập dữ liệu

23

Trang 37

horse —> zebra

Hình 3.12 Ứng dụng CycleGAN chuyền đổi ảnh ngựa thường sang ngựa van va

ngược lại

3.5.2 Kiến trúc của GAN

Hình 3.13 Mô hình GAN cơ bản

Chỉ tiết các thành phần:

24

Trang 38

Tập dữ liệu huấn luyện (Training dataset): là tập dữ liệu chứa những dữ liệu

mà ta muốn bộ sinh làm giả và cung cấp dữ liệu that (input x) cho bộ phân

biệt.

Vector nhiễu ngẫu nhiên (Random noise vector): là một vector những số ngẫu

nhiên phục vụ cho việc sinh ra dữ liệu gia của bộ sinh (input z).

Bộ sinh (Generator): lay input z va xuất ra di liệu gia (output x*)

Bộ phân biệt (Discriminator): lay dữ liệu thật từ tap dữ liệu (input x) va dữliệu giả bởi bộ sinh (input x*) và phán đoán (predict) xác suất thật/giả của mỗi

dữ liệu.

Sau mỗi lần bộ phân biệt đưa ra phán đoán, kết quả phán đoán được sử dung déđiều chỉnh các trọng số trong mô hình (weight and bias) của bộ sinh và bộ phân biệtqua lan truyền ngược Vòng lặp huấn luyện này kết thúc khi bộ sinh tạo ra dữ liệu giảlàm cho bộ phân biệt chỉ có thé phán đoán xác suất thật/giả là 50/50

3.5.3 Hàm chi phí (Cost function) của GAN

Gọi J(G) là hàm chi phí của bộ sinh và J(D) là hàm chi phí của bộ phân biệt.

Các tham số có thể huấn luyện (trọng số và hệ số tự do) của hai mạng đượcbiểu diễn bang chữ cái Hy Lap theta: 0(G) cho bộ sinh và @(D) cho bộ phân

biệt.

GAN bao gồm hai mang thần kinh nhân tạo và mỗi mạng có hàm chi phí phụthuộc trên cả hai tham số của mạng:

o Hàm chi phí của bộ sinh là J(G)(6(G), 8(DÐ))

o Hàm chi phí của bộ phân biệt là J(D)(6(G), 8(D))

Đối với GAN, trong quá trình huấn luyện, mỗi mạng chỉ có thé điều chỉnhtrọng số và hệ số tự do của chính nó Vậy nên bộ sinh chỉ có thé điều chỉnh0(G) và bộ phân biệt chỉ có thê điều chỉnh 0(D) trong quá trình huấn luyện

25

Trang 39

3.5.4 Quá trình huấn luyện của GAN

1 Train the Discriminator

i——-oo ee

2 Train the Generator

Quá trình huấn luyện của bộ sinh và bộ phân biệt

e Huấn luyện bộ phân biệt:

fe) Lay ngau nhiên một ảnh that x từ bộ dữ liệu (dataset)

o Lay một random noise vector z và dùng bộ sinh dé sinh ra dữ liệu giả

x*

o Sử dụng bộ phân biệt dé phan biét x va x*

o Tinh toán các lỗi trong quá trình phân biệt và lan truyền ngược

(backpropagate) dé cập nhật các trọng số và hệ số tự do (weights andbiases) của bộ phân biệt nhằm giảm thiểu lỗi của bộ phân biệt

e Huấn luyện bộ sinh:

26

Trang 40

o Lấy một random noise vector z và dùng bộ sinh dé sinh ra dữ liệu giả

x*

o Sử dụng bộ phân biệt dé phân biệt x*

o Tính toán các lỗi trong quá trình phân biệt và lan truyền ngược

(backpropagate) để cập nhật các trọng số và hệ số tự do của bộ sinhnhằm tối đa hóa lỗi của bộ phân biệt (maximize the Discriminator’s

error).

3.6 CycleGAN

3.6.1 Tổng quan

Như đã trình bày ở trên, một trong những ứng dụng đạt thành công lớn của GAN

là chuyên đổi anh-sang-anh (image-to-image translation) Dé chuyển đổi ảnh sang

ảnh thì input của bộ sinh là một hình ảnh và output cũng là một hình ảnh nhưng ở

một mién/linh vực khác Ví dụ: Chuyên đổi ảnh trang đen sang ảnh màu, ảnh pháchoa sang ảnh quan áo thời trang,

trắng đen sang ảnh màu và ngược lại cần các cặp ảnh màu và trắng đen của cùng một

đồ vật) Tuy nhiên, trong một số trường hợp, việc thu thập các cặp ảnh này là vô cùng

khó khăn Từ đó một nhóm nghiên cứu ở UC Berkeley đã nảy ra ý tưởng đó chính là

CycleGAN.

27

Ngày đăng: 08/11/2024, 17:03

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN