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: Xây dựng hệ thống phát hiện xâm nhập hai tầng hiệu quả

99 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 đề Xây dựng hệ thống phát hiện xâm nhập hai tầng hiệu quả
Tác giả Thai Hoang Nhan, Nguyen Duc Phu
Người hướng dẫn ThS. Le Minh Khanh Hoi
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 2022
Thành phố TP. HCM
Định dạng
Số trang 99
Dung lượng 54,49 MB

Nội dung

Thông qua khóa luận này, chúng em mong muốn sẽ tiếp tục cải thiện được hiệunăng của hệ thống tốt hơn, mang đến những cảnh báo chính xác hơn đối với các cuộc tan công mang trong môi trườn

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

THAI HOANG NHAN

NGUYEN DUC PHU

KHOA LUAN TOT NGHIEP

HAI TANG HIEU QUA

BUILDING AN EFFECTIVE TWO-STAGE

INTRUSION DETECTION SYSTEM

KY SU NGANH AN TOAN THONG TIN

TP Hồ Chí Minh — Tháng 07/2022

Trang 2

ĐẠ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

THAI HOANG NHAN - 18520326

NGUYEN DUC PHU - 18520333

KHÓA LUẬN TOT NGHIỆP

XÂY DỰNG HỆ THÓNG PHÁT HIỆN XÂM NHẬP

HAI TANG HIỆU QUA

BUILDING AN EFFECTIVE TWO-STAGE

INTRUSION DETECTION SYSTEM

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN THS LE MINH KHANH HOI

Trang 3

DANH SÁCH HỘI ĐÒNG BẢO VỆ KHÓA LUẬN

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.

1 CHU tC ee

px

3 Ủy VIÊN SH ky

Trang 4

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH CỘNG HÒA XÃ HỘI CHU NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm 2022

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CUA CÁN BO HUONG DAN)

Tên khóa luận:

XÂY DUNG HE THONG PHAT HIỆN XÂM NHAP

HAI TANG HIEU QUA

BUILDING AN EFFECTIVE TWO-STAGE

INTRUSION DETECTION SYSTEM

Nhóm SV thực hién: Cán bộ hướng dan:

Thái Hoàng Nhân 18520326 ThS Lê Minh Khánh Hội

Nguyễn Đức Phú 18520333

Đánh giá Khóa luận

Về cuôn báo cáo:

Số trang: Số chương:

Số bảng số liệu: - Số hình vẽ:

Số tài liệu tham khảo: Sản phẩm:

Một sô nhận xét vê hình thức cuôn báo cáo:

<Nhận xét về định dạng, cách thức viết báo cáo, phân bổ nội dung, chương mục có

hop ly không?>

Trang 5

Về nội dung nghiên cứu:

< Nhận xét về kiến thức, phương pháp mà sinh viên đã tim hiểu, nghiên cứu nhận xét

ưu điểm và hạn ché>

Về chương trình ứng dụng:

<Nhận xét về việc xây dựng ứng dụng/mô hình thực nghiệm, nhận xét ưu điểm và hạn

Vệ thái độ làm việc của sinh viên:

<Nhận xét về thai độ, wu khuyết diém cua từng sinh viên tham gia>

Đánh gia chung:

<Khóa luận dat/khong đạt yêu câu của một khóa luận tốt nghiệp Kỹ sư/cử nhân, xếploại Gidi/Kha/Trung bình>

Điểm từng sinh viên:

Thái Hoàng Nhân: 19

Nguyễn Đức Phú: 19

Người nhận xét

ThS Lê Minh Khánh Hội

Trang 6

ĐẠI HỌC QUỐC GIA TP HO CHÍ MINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM

Tên khóa luân:

XÂY DUNG HE THONG PHAT HIỆN XÂM NHAP

HAI TANG HIEU QUA

BUILDING AN EFFECTIVE TWO-STAGE

INTRUSION DETECTION SYSTEM

Nhóm SV thực hiện: Cán bộ phản biện:

Thái Hoàng Nhân 18520326

Nguyễn Đức Phú 18520333

Đánh gia Khóa luận

Vé cuôn bao cáo:

Số trang: -. Số chương:

Số bảng số liệu: - Số hình vẽ:

Số tài liệu tham khảo: Sản phẩm:

Một sô nhận xét vê hình thức cuôn bao cáo:

<Nhận xét về định dạng, cách thức viết bdo cáo, phân bổ nội dụng, chương mục có

hợp lý không?>

Trang 7

Về nội dung nghiên cứu:

<Nhận xét về kiến thức, phương pháp mà sinh viên đã tìm hiểu, nghiên cứu nhận xét

ưu điểm và hạn chế>

Về chương trình ứng dụng:

<Nhận xét về việc xây dựng ứng dụng/mô hình thực nghiệm, nhận xét ưu điểm và hạn

Vệ thái độ làm việc của sinh viên:

<Nhận xét về thai độ, wu khuyết diém của từng sinh viên tham gia>

Đánh giá chung:

<Khóa luận đạt/không đạt yêu cau của một khóa luận tốt nghiệp kỹ sư/cử nhân, xếploại Gidi/Kha/Trung bình>

Điểm từng sinh viên:

Thái Hoàng Nhân: 0

Nguyễn Đức Phú: /10

Người nhận xét

Trang 8

LOI CẢM ON

Lời đầu tiên, chúng em xin trân trọng cảm ơn quý Thay, Cô đang công tác vàgiảng dạy tại khoa Mạng máy tính và Truyền thông, cũng như toàn thể Thầy, Cô kháccông tác tại trường Dai học Công nghệ Thông tin— ĐHQG HCM đã truyền đạt nhữngkiến thức, bài học, kinh nghiệm quý báu cho chúng em trong suốt quãng thời gian

bốn năm vừa qua Và đã sắp xếp thời gian, chương trình hợp lý để chúng em có cơ

hội hoàn thành khóa luận tốt nghiệp tốt nhất Chúng em xin kính chúc khoa Mạngmáy tính và Truyền thông nói riêng và trường Đại học Công nghệ Thông tin nói chung

luôn thành công rực rỡ trên con đường giảng dạy đào tạo nhân tài, sẽ mãi là niềm tinvững chắc cho các thế hệ sinh viên trên con đường giáo dục

Chúng em xin chân thành cảm ơn giảng viên, TS Lê Kim Hùng và nhóm nghiên

cứu đã tận tâm hỗ trợ, đóng góp ý kiến và nhận xét trong suốt quá trình làm khóa luận

để chúng em có thể hoàn thiện tốt khóa luận này Những kinh nghiệm, nhận xét vàgóp ý của Thầy và nhóm đã giúp chúng em hoàn thiện khóa luận một cách tốt hơn

Đặc biệt, chúng em xin gửi lời cảm ơn chân thành nhất đến giảng viên, ThS Lê

Minh Khánh Hội Nhờ những kinh nghiệm, bài học quý báu được chia sẻ từ Cô, Cô

đã luôn quan tâm và giúp đỡ chúng em giải quyết những vấn đề phát sinh, khó khăn

trong quá trình thực hiện Nhờ có Cô, chúng em đã có cơ hội hoàn thành tốt khóa luận

tốt nghiệp này

Từ tận đáy lòng, chúng em xin cảm ơn gia đình đã luôn là hậu phương vững

chắc, luôn luôn tin tưởng, động viên chúng em trong suốt quá trình học tập tại trường

Đại học Công nghệ Thông tin - ĐHQG HCM, giúp chúng em có thêm nguồn nănglượng để đi đến được như ngày hôm nay

Cuối cùng, nhóm chúng em xin gửi lời cảm ơn đến các anh, chị và các bạn sinh

viên tại trường Dai học Công nghệ Thông tin - ĐHQG HCM đã luôn nhiệt tình hỗ

trợ, chia sẻ ý kiến và góp ý cho chúng em trong quãng thời gian thực hiện khóa luận

Mặc dù chúng em đã cô gang hết sức dé hoàn thành khóa luận trong phạm vi vàkhả năng có thé, tuy nhiên sẽ không thé tránh khỏi những thiếu sót Chúng em rất

mong nhận được sự cảm thông và tận tinh chỉ bảo của quý Thay Cô

TP Hồ Chí Minh, ngày tháng năm 2022

Nhóm sinh viên

Trang 9

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH CONG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

XÂY DỰNG HE THONG PHAT HIỆN XÂM NHẬP HAI TANG HIỆU QUA

BUILDING AN EFFECTIVE TWO-STAGE INTRUSION DETECTION

SYSTEM

Cán bộ hướng dẫn: ThS Lê Minh Khánh Hội

Thời gian thực hiện: Từ ngày 09/03/2022 đến ngày 11/07/2022

Sinh viên thực hiện:

Thái Hoàng Nhân - 18520326

Nguyễn Đức Phú - 18520333

Nội dung đề tài:

— Tổng quan tình hình nghiên cứu:

Sự phát triển mạnh mẽ của internet đã đây nhanh quá trình trao đổi của các tài

sản đữ liệu số Đặc biệt, Internet vạn vật (IoT) với nhiều thiết bị khác nhau được

kết nối với nhau đã thúc đây sự bùng nỗ về trao đồi dữ liệu Sự thay đổi này không

chỉ mang đến sự tiện lợi cho người dân mà còn an chứa nhiều nguy cơ đối với dữ

liệu người dùng Do đó, việc bảo vệ dữ liệu khỏi bị xâm phạm hoặc đánh cắp là

một thách thức lớn đôi với các nhà bảo mật Có vô sô cuộc tân công nham vào lợi

ích cá nhân hoặc các công ty thương mại trên Internet Một sô cuộc tân công có

Trang 10

thê điểm qua:

e Năm 2013, một cuộc tấn công từ chối dich vụ nhắm vào tô chức Spamhaus,

đây có thể được xem là một cuộc tấn công từ chối dịch vụ có quy mô lớnvới lưu lượng trung bình vượt hơn 100Gbps và đạt đỉnh điểm là 300Gbps

e Vào 09/2017, BlueBorne - một lỗ hồng bảo mật bluetooth được phát hiện

Kẻ tan công khai thác lỗ hồng này có thể đánh cắp thông tin nhạy cảm và

thực thi các đoạn mã độc từ xa nhằm mục đích phá hoại Lỗ hồng này hiện

hữu ở các hệ điều hành như Android, iOS, Linux và Windows, độ ảnhhưởng được ước tính lên 8 tỷ thiết bị điện tử như máy tính xách tay, điện

thoại thông minh, xe thông minh.

Trong những năm gan đây, cả phương thức tan công và số lượng các cuộc tancông đều tăng đột biến Điều này mang đến những rủi ro khó lường đối với quátrình hoạt động và sự 6n định của hệ thống Vì vậy, giải pháp dé xác định hiệu quacác mối đe dọa an ninh mạng khác nhau và chống lại các cuộc tấn công này là cấp

thiết Hệ thống phát hiện xâm nhập (IDS) chính là giải pháp lúc này Tuy nhiên,

trong ngữ cảnh dé liệu lớn như hiện nay, các mô hình IDS một tang (one-stageIDS) ngày càng trở nên ít hiệu quả, làm ảnh hưởng đến sự an toàn thông tin củatoàn bộ hệ thống mạng Do đó, mô hình one-stage IDS không thể đáp ứng được

các yêu cầu trong ngữ cảnh đữ liệu lớn như hiện nay

Trước vấn đề đó, chúng em xây dựng một hệ thống IDS hai tầng (Two-stage

IDS) dé góp phần giảm tải áp lực cho hệ thống IDS, cải thiện hiệu năng và tối ưutài nguyên cho toàn bộ hệ thống

— Mục tiêu nghién cứu:

Xây dựng một hệ thống Two-stage IDS với hai giai đoạn phân loại: giai đoạn

đầu đảm nhận vai trò sàng lọc các lưu lượng mạng bất thường và giai đoạn hai

chịu trách nhiệm phân loại cụ thể loại tấn công từ những lưu lượng bat thường ở

Trang 11

giai đoạn thứ nhất Giai đoạn thứ nhất được xây dựng dựa trên thuật toán học máy,

thuật toán học máy có ưu điểm là tốc độ xử lý nhanh và có độ tin cậy cao trong

việc phân loại nhị phân, phù hợp trong việc sàng lọc lưu lượng mạng bất thường.

Thuật toán học sâu được áp dung cho giai đoạn thứ hai nhằm tận dụng ưu điểm là

khả năng tự học theo thời gian cùng với khả năng đưa ra các dự đoán có tỉ lệ chính

xác cao đề tiền hành phân loại đa lớp nhằm phát hiện cụ thể loại tan công Nghiên

cứu và áp dụng phương pháp phát hiện mẫu đối kháng để nâng cao hiệu suất của

mô hình.

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

+ Sử dụng TensorFlow2, Keras và ScikitLearn dé xây dựng mô hình

+ Ngôn ngữ Python được sử dụng trong việc xây dựng và hoàn thiện mô hình.

— Pham vi nghién cứu:

+ Hệ thống IDS có áp dụng tích hợp thuật toán học máy va học sâu

+ Phương pháp phát hiện mẫu đối kháng (A dversarial samples detector)

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

+ Tìm hiểu các bài báo nghiên cứu từ các kho tài liệu hướng dẫn chính thức về tri

tuệ nhân tạo, các thuật toán học máy, học sâu.

+ Tìm hiểu các phương pháp xử lí, biến đổi và chuẩn hóa dữ liệu bao gồm: trích

lọc đặc trưng, lựa chọn thuộc tính, sinh/giam mẫu đữ liệu

+ Xác định điểm mạnh, điểm yếu giữa việc kết hợp các thuật toán học máy và học

sâu thông qua các bài báo khoa học tại các hội nghị uy tín Tiến hành xây dựng

và thử nghiệm nhiều lần dé xác định mô hình chính thức

+ Tìm hiểu các kỹ thuật sinh mẫu đối kháng thông qua các bài nghiên cứu được

công bồ

— Kết quả mong đợi:

+ Xây dựng hệ thống phát hiện xâm nhập hai tầng với hiệu suất phân loại cao

Trang 12

+ Tối ưu hóa mô hình dé tiết kiệm tài nguyên hệ thống và giảm thiêu thời gian xử

lý và huấn luyện

+ Tích hợp phương pháp phát hiện mẫu đối kháng để nâng cao khả năng, hiệu

suất mô hình tông thé

— Kế hoạch thực hiện:

Thời gian Công việc Phân công

Thái Hoàng Nhân —

01/03/2022 — | Tìm hiểu, lựa chọn dé tài và xây dựng | 18520326

07/03/2022 | dé cương khóa luận Nguyễn Đức Phú —

18520333

Nghiên cứu về Machine Learning, Deep | Thái Hoàng Nhân —

08/03/2022 — | Learning và thư viện Keras, | 18520326

15/03/2022 | TensorFlow Tham khảo các mô hình | Nguyễn Đức Phú —

NIDS từ các nguôn trên Internet 18520333

Tìm hiểu xây dựng mô hình Deep

Learning cho mục đích phát hiện xâm | Thái Hoàng Nhân —

nhập sử dụng thư viện Keras dưới định | 18520326

16/03/2022 — | dạng TensorFlow 2.

16/04/2022 :

Chuan hoá, xử lý mât cân bang, trich Nguyễn Đức Phú

-xuât đặc trưng từ bộ dữ liệu thông qua

, rar 18520333

các thư viện hô trợ.

¬ - ¬ _ | Thái Hoàng Nhân —

17/04/2022 — | Nghiên cứu và tham khảo mô hình của | 13599396

30/04/2022 các bai báo đã công bô, tìm hiệu các tiêu XS, „

chí đánh giá hiệu năng của mô hình — | Nguyễn Đức Phú —

18520333

Trang 13

, ¬ ĐA xà „ Thái Hoàng Nhân —

15/05/2022 | Kp ¬ liên quan Nguyên Đức Phú

18520333

Nghiên cứu về mẫu đối kháng, tìm hiểu

và áp dụng Adversarial Robustness Nguyễn Đức Phú —

15/05/2022 — Toolbox và ML-LOO Tiến hành đánh | 18520333

12/06/2022 giá hiệu suât theo kịch bản đê ra.

Thiết kế kịch bản chứng minh khả năng | Thái Hoàng Nhân —

của ML-LOO 18520326

Nguyễn Đức Phú —

12/06/2022 — | Tổng hợp kết quả nghiên cứu và viết báo | 18520333

26/06/2022 _ | cáo khóa luận tốt nghiệp Thái Hoàng Nhân —

18520326

23/00/2022 | Phản biện với giảng viên phản biện.

06/07/2022- |}, ,„, a3

07/07/2022 Bao cáo với hội đông.

Xác nhận của CBHD TP HCM, ngày tháng năm 2022

Sinh viên 1

ThS Lê Minh Khánh Hội Thái Hoàng Nhân

Sinh viên 2

Nguyễn Đức Phú

Trang 14

DANH MỤC TU VIET TÁẮTT 2-2 s°ssss£SsEssEss£SeEseEsvssessesserssrssese 12

TOM TAT KHÓA LUẬN 5- 5-5 << S22 2£ 9 s£EsESsESsEsEsEseEsersersersessee 1CHUONG 1 TONG QUAN DE TAL 5- 5s ssssssesessessessessesses 2

LL Tên đềtài - ĂĂ St HE HH ng Hung non 2

12 Từ khóa Ê đ>.@ Ì / 2

1.3 Tổng quan tình hình nghiên CỨU -2- 2 2 s2 £+E£+E£+E££EeEE+E++Ezrszrezez 2Tan ha ›šÁÁIÁIiỪỒằỶỪWỪỒẴẰÄẰ Ò 5

1.5 _ Đối tượng và phạm vi nghiên cứu -: 2 ©+++++zx+2x++zx++zxzzxerseees 5

1.5.1 Đối tượng nghiên cứu -¿- 2 52+ z+EE£EE£EE2EE2EEE7E 21221121212 erkrrei 5

1.5.2 Pham ¿bi 3 2u 7 5

1.6 Cấu trúc khóa luận: - tt v3 EEEESkEEEEESEEEEEESEEEEEEEEEEEEEEkTkrErrkrkrrrre 5

CHƯƠNG2_ CƠ SỞ LÝ THUYÊTT se seess+ssevsevseesserssesse 7

2.1 Tổng quan về hệ thống phát hiện xâm nhập (IDS) - 7

2.1.1 Khái niệm hệ thống phát hiện xâm nhập ¿ 5c +5 s+ss+s+sesss2 72.1.2 Phan loại hệ thống phát hiện xâm nhập 0 eesesseeseeseesesseeseeseesseesees 7

2.2 Ngôn ngữ lập trình và các thư viện hỗ trợy sssse<sessessess 9

2.2.1 Ngôn ngữ lập trình Python - óc c1 313 1311151111121 Eerrkrrke 9

Trang 15

2.2.2 Thư viện TensorFlow Ă +32 11223111923 1n ng ng ng re 10 2.2.3 Thư viện SCIKI{-Ï€aTT - - 5 - 2 E221 11223111 253111 23311 18311 c2 kg re 10

2.2.4 Các thư viện hỗ trợ liên quan - ¿2 5£ Ss+E+E£££E+EeEe£EzEeEerxzeercrs 10

2.3 Học máy và học SÂU 0G G 5< 9 9.99 90 0.0 00.0000.0600 650 11

2.3.1 Tổng quan về học máyy -2- 2 +¿++++++Ex++£x+EEEtEE++Ex+zrxerxeerxesrxee 11

2.3.2 Decision tree và các thuật toán học MAY . - + ssss* + +ssesseerss 13

2.3.3 Tổng quan về học sâu - 2 ©2¿+++2++E+++EE++EEtEEEEEEESEESExerrrerkesrvee 20

2.3.4 Convolutional Neural Network va các kiến trúc mang hoc sâu 21

2.3.5 Tập dữ liệu lưu lượng mang ee eesceeseceseeeseeeeseeseeeeeseeeeeeneaeenenees 32 2.4 Mạng sinh đối kháng - Generative Adversarial Network (GAN) 33

2.4.1 Học có giám sát và học không g1ảm sáắt 555555 S*£+*ss++sexs+ 33 2.4.2 Mô hình phân biệt và mô hình tạo sinh - 555555 s*++ss+sss+seexss 34 2.4.3 Mạng sinh đối kháng (Generative Adversarial NÑetwork) 36

2.4.4 Huan luyện GAN 5 222221 21 2122112112117121121121111211 2111111 42 2.4.5 Mẫu đối kháng -2- 2:52: ©5222E2x E2 2212212121121 43

2.4.6 Kỹ thuật sinh mẫu đối kháng Carlini & Wagner attack - 44

2.4.7 Kỹ thuật sinh mẫu đối kháng Decision Tree attaek - 46

CHƯƠNG3 MÔ HÌNH HE THONG TWO-STAGE IDS 48

3.1 Tống quát hóa mô hình triển khai Two-stage IDS -.- 48

3.2 Phát hiện tấn công với trí tuệ nhân tạO . -s-s<sscssessscscssese 49 3.2.1 Tiền xử lí đữ liệu lưu lui 001117 .- 50

3.2.2 Phan loại nhị phân với Decision “ÏT€€ - + sc* + srssreeresersre 56

3.2.3 Phân loại đa lớp với CNÌN - Ăn HH TH ng HH HH êy 56 3.3 Phát hiện mẫu đối kháng với ML-LOO [32] . -s s° << 59

CHƯƠNG4_ THỰC NGHIỆM VÀ ĐÁNH GIÁ 2 s° se ssecsse 62

4.1 Tập dữ liệu CIC-IDS-2017 -ccccc22©t222vvvszzseerrire 62

Trang 16

4.2 Cac thông số đánh giá -s-sscs©cs©csecssvssessersersstsserserserssrse 63

4.3 Đánh giá hiệu năng mô hình đề xuất -s-s<ssssesscssessess 65

4.3.1 Sang lọc mẫu đối kháng với ML-LOO 2-2 2+s+x+cx+rxerxsreee 654.3.2 Hiệu suất phân loại của Two-stage IDS -¿- 2 ccccckerxererxereee 66

CHUONG5 TONG KET VA HƯỚNG PHAT TRIEN 70

5.1 Tổng kết -s-csccesceserseEssEesEtetrserserketrserssrssrsserssrssrssree 70

5.2 _ Hướng phát triỄn - -s-s-se©ss©sseesstsseseevserssrserssesserssrssrse 71

PHU LLỤC o- 5 G5 <9 9.9.9.9 0 000.000 00010000 72

Hướng dẫn sử dụng Google ColaborafOTY -2- ¿+52 +x+S++x+£+zxeExzxezxerezxers 72

Phương pháp nhân tử Lagrange [39] s6 22+ 332113 ESeEEeeerreerersrere 74 Phương pháp phạm vi tứ phân vi - Interquartile Range (IQR) -. - 75

TÀI LIEU THAM KHẢO - <2 5° ©5252 s£Es£ES2ESsEEseEseEssesserserssrssse 76

Trang 17

DANH MỤC HINH ANH

Hình 2—1 Mô hình mạng cơ bản có lắp đặt IDS [1] - 25555 S25<<c<<ssseceseeees 7Hình 2—2 Sơ đồ phân loại IDS [2] - 2 £ £©E+SE+EE#EE2EE+EE£EEEEEEeEEeEkerxrrxrrerei 8Hình 2-3 Kiến trúc của thuật toán Decision Tree [6] - - 2 2+s+c+£s+x+Ezzzszeez 14

Hình 2-4 Thuật toán Logistic Regression trong phân loại nhị phân va da lớp [12].16

Hình 2-5 Kiến trúc của thuật toán Random Forest [ I3] -++<<<<<<=++++ 17Hình 2-6 Kiến trúc cơ bản của mạng nơ-ron nhân tạo [14] - . -««+<-«« 19

Hình 2-7 Sự tương quan giữa nơ-ron thần kinh sinh học và mạng nơ-ron nhân tao

HA 20

Hình 2-8 Cơ chế nhân tích chập trong mô hình CNN ¿ ¿«¿++=++ 22Hình 2-9 Cơ chế Stride và Padding ở lớp tích chập -. -:-¿©z2s+cs+zxz=sz 23

Hình 2-10 Cơ chế ở lớp tông hợp trong mô hình CNN -.¿- ¿5 s2 s+cs2 +2 24

Hình 2-11 Các hàm kích hoạt phố biến [16] - 2-5 222+££+£££E£E+£x+zezrszse2 25Hình 2—12 Cơ chế làm phẳng trong CNN [18] 2-2 2+c2+£££xezkezxerxerszxez 27

Hình 2—13 Lớp Fully Connected trong CNN - St re, 28

Hình 2—14 Kiến trúc ResNet gồm hai khối đặc trưng là Conv block và Identity block

¬— ỄỄ ` `“ é<é 28

Hình 2—15 Một số kiến trúc mạng nơ-ron nhân tạO . -««++sss++s++sesssexs 31

Hình 2-16 Kiến trúc của mạng RNN truyền thống -¿- ¿5c + + s+c+s+2 31Hình 2-17 Quá trình huấn luyện mô hình của phương thức học có giám sát [19] 33Hình 2—18 Quá trình huấn luyện mô hình của phương thức học phi giám sát [19] 34

Hình 2—19 Mô hình phân biệt (discriminative model) [20] - -‹ -«++<+ 35

Hình 2-20 Mô hình tạo sinh (generative model) [20] -« -«<++<ec+sss++ 36

Hình 2-21 Tổng quan về kiến trúc GAN ¿2 + x+EE+E£+E£+EtzE£EEerEerxerxrrsrree 37Hình 2-22 Mô phỏng quá trình huấn luyện Generator và Discriminator 38Hình 2-23 Quá trình lan truyền ngược trong huấn luyện Generator 39Hình 2-24 Quá trình lan truyền ngược trong huấn luyện Discriminator 41Hình 2-25 Một đầu vào được chèn thêm phan nhiễu dé đánh lừa bộ phân loại [22]

Trang 18

Hình 2-26 Quá trình tạo mẫu đối kháng từ Decision Tree aftack - 46Hình 3-1 Luồng hoạt động của two-staged IDS -2¿22cxccxczxzreerxerkcres 48

Hình 3-2 Trước và sau khi áp dụng kỹ thuật sinh mẫu SMOTE [26] 55 Hình 3-3 Trước và sau khi áp dụng kỹ thuật giảm mau ENN [29] 55 Hình 3-4 Trước và sau khi áp dung kỹ thuật giảm mẫu OSS [29] + 56

Hình 3-5 Kiến trúc ML-LOO -©2+c++EkttttEkkrttErkrtttriirrrrrirrrrirrirrii 60Hình 4—1 Ma trận hỗn loạn từ kết quả dự đoán của ML-LOO -.««+- 66Hình 4-2 Ma trận hỗn loạn ở giai đoạn đầu của CIC-IDS2017 - s2 67Hình 4-3 Tổng quan cấu hình của mô hình CNN đề xuất -: -: 5+ 67

Hình 4-4 Ma tran hỗn loại ở giai đoạn hai của CIC-IDS2017 - - 69

Trang 19

DANH MỤC BANG

Bang 3-1 Tổng hợp quá trình gom nhãn - 2 2 S2 ££S£+E£+E££E£Eezxerxerszsez 52

Bang 3-2 Cấu hình của mô hình CNN đề xuất - 2-2 2 2+x+x+£x+zzrszse2 58Bảng 4-1 Thông tin phân bố bản ghi của tập dữ liệu CIC-IDS-2017 62

Bảng 4-2 Confusion Matrix (Ma trận hỗn loạn), ¿5-5255 s+s+cx+xzxvzezxczs 63

Bang 4-3 So sánh kết qua TPR của các nhãn tấn công trên bộ dit liệu

Trang 20

DANH MỤC TỪ VIET TAT

TỪ NOI DUNG DIEN GIAI

Al Artificial Intelligence Tri tué nhan tao

ML Machine Learning Hoc may

DL Deep Learning Hoc sau

CNN_ | Convolutional Neural Network Mang no-ron tich chap

DT Decision Tree Cay quyét dinh

IDS Intrusion Detection System Hệ thống phát hiện xâm nhập

NIDS Network-based IDS k thông phát hiện xâm nhập

dựa trên lưu lượng mạng

GANSs |Generative Adversarial Networks Mạng sinh đối kháng

Trang 21

TÓM TAT KHÓA LUẬN

Trong những năm gần đây, cả phương thức tan công và số lượng các cuộc tancông mạng đều tăng đột biến Điều này mang đến những rủi ro khó lường đối vớihoạt động an toan va ồn định của Internet và các thiết bị IoT Việc cảnh báo ngay lập

tức bat kỳ hoạt động xâm phạm bat hợp pháp dé giảm thiểu tối đa mat mát thông tinđang trở thành thách thức to lớn Do đó, chúng em đề xuất một hệ thống phát hiện

xâm nhập hai tầng nhằm hỗ trợ phát hiện các cuộc xâm nhập trái phép vào hệ thống

Trong khóa luận này, ở bước đầu, chúng em tìm hiểu và thử nghiệm các kỹthuật sang lọc và xử lí dir liệu Song song đó, xây dung một hệ thống tích hợp ML và

DL nhằm học tập và hỗ trợ đưa ra các dự đoán về các cuộc tấn công mạng Tiếp theo,chúng em so sánh hiệu năng và độ chính xác của hệ thông đối với các bài báo nghiên

cứu khoa học có liên quan Quá trình này được lặp đi lặp lại, tinh chỉnh đến khi đạt

được hiệu suất tối ưu nhất Sau cùng, mô hình sẽ được thử nghiệm và tích hợp cácphương pháp phát hiện mẫu đối kháng dé phát hiện, sàng lọc và loại bỏ các lưu lượnggiả mạo, được sản sinh nhằm có tình đánh lừa hệ thong phat hiện xâm nhập

Thông qua khóa luận này, chúng em mong muốn sẽ tiếp tục cải thiện được hiệunăng của hệ thống tốt hơn, mang đến những cảnh báo chính xác hơn đối với các cuộc

tan công mang trong môi trường lưu lượng mạng thật, gop phan trong việc giảm thiểu

những mối đe doa từ các cuộc xâm nhập bat hợp pháp đối với các hệ thống mạng hiện

nay.

Trang 22

CHUONG1 TONG QUAN ĐÈ TÀI

1.1 Tên đề tài

XÂY DỰNG HE THONG PHAT HIỆN XÂM NHẬP HAI TANG HIỆU QUA

(BUILDING AN EFFECTIVE TWO-STAGE INTRUSION DETECTION SYSTEM)

1.2 Từ khóa

Intrusion Detection System (IDS), Machine Learning (ML), Deep Learning

(DL), Decision Tree (DT), Convolutional Neural Network (CNN).

1.3 Tổng quan tình hình nghiên cứu

Sự phát triển của internet nói chung và IoT nói riêng luôn trên đà tăng trưởngvới mục tiêu là sự kết nối và giao tiếp giữa các thiết bị hiện hữu trong cuộc sống hăngngày như điện thoại thông minh, nha thông minh, camera thông qua Internet loTphát triển mang đến nhiều sự tiện lợi cho con người trong các lĩnh vực khác nhau nhưnông nghiệp, công nghiệp, tự động hoá, y tế nhưng cũng mang đến những tháchthức to lớn trong việc kiểm soát lưu lượng mạng Đặc biệt, một lượng lớn các thiết bị

IoT kết nối với nhau đã thúc đây sự bùng nô về trao đôi dữ liệu, tạo nên một tháchthức khong 16 trong việc duy tri và đảm bảo an toàn cho dữ liệu của người dùng Bên

cạnh đó, việc hướng đến mục tiêu tối giản các giao thức kết nối nhằm tối ưu hiệunăng làm việc khiến cho việc xây dựng các cơ chế bảo vệ trở nên khó khăn, dẫn đếnviệc các thiết bị IoT trở thành mục tiêu của nhiều cuộc tấn công mạng Một số cuộctan công có thé diém qua:

e Năm 2013, một cuộc tan công từ chối dịch vụ nhăm vào tổ chức Spamhaus, đây

có thể được xem là một cuộc tấn công từ chối dịch vụ có quy mô lớn với lưulượng vượt hơn 100Gbps và đạt đỉnh điểm là 300Gbps

e Vào 09/2017, BlueBorne - một lỗ hồng bảo mật bluetooth được phát hiện Kẻ

tan công khai thác lỗ hồng này có thể đánh cắp thông tin nhạy cảm và thực theac

đoạn mã độc từ xa nhăm mục đích phá hoại L6 hông này hiện hữu ở các hệ điêu

(2 }

Trang 23

| CHƯƠNG 1 — TONG QUAN ĐÈ TÀI

hành như Android, iOS, Linux va Windows, độ ảnh hưởng được ước tính lên 8

tỷ thiết bị điện tử như máy tính xách tay, điện thoại thông minh, xe thông minh

e Thang 06/2021, một lỗ hổng nghiêm trọng anh hưởng đến gần 80 mẫu camera

IP của hãng Hikvision được phát hiện, băng cách khai thác 16 hồng này trên cáccamera chưa cập nhật bản vá, kẻ tấn công có thể gửi các đoạn mã độc hại dé

thực hiện hành vi pha hoại.

Dé đối phó với những cuộc tan công tiềm tang thì một hệ thống IDS (Intrusion

Detection System - Hệ thống phát hiện xâm nhập), cụ thể là NIDS (Network-basedIDS - IDS hoạt động dựa trên lưu lượng mạng), là một giải pháp tiềm năng dé giảiquyết vấn đề này IDS sẽ tự động theo dõi lưu lượng mạng trong hệ thống và phântích các dit liệu trích xuất được trong các gói tin dé đưa ra kết quả đánh giá, từ đó đưa

ra các hành động phù hợp, hỗ trợ đề xuất các giải pháp hợp lý để ngăn chặn các dấuhiệu khả nghi của một cuộc tấn công mạng NIDS hoạt động dựa trên 2 phương pháp:

+ Chi ngăn chặn được những cuộc tan công đã xảy ra Nếu kẻ phá hoại khai thác

băng một kỹ thuật hoàn toàn mới chưa từng được phát hiện, báo cáo từ trước thìphương pháp nay sẽ không hoạt động do không có thông tin gì về kiểu tan công

này trong cơ sở đữ liệu chữ ký.

+ Quá nhiều chữ ký trong cơ sở đữ liệu khiến cho việc so sánh các dấu hiệu sẽ

mat nhiều thời gian Trong một vài trường hợp sẽ trở thành nút nghẽn trong hệthống mạng, gây ra sự trì trệ cho hệ thống mạng

Vì thế, việc ứng dụng machine learning hay deep learning vào phương phápAnomaly-based IDS là một hướng tiếp cận tiềm năng để dự đoán những cuộc tấncông tiêm tang chưa biét đên và tôi ưu hiệu suat dự đoán của IDS.

(2 }

Trang 24

| CHƯƠNG 1 — TONG QUAN ĐÈ TÀI

Đã có rat nhiều các bai nghiên cứu của các học gia nỗi tiếng sử dung các thuậttoán machine learning như Decision Tree, SVM, K-means dé phát hiện các lưulượng bất thường đem lại kết quả rất tích cực nhưng tỉ lệ dự đoán chính xác vẫn cần

phải được cải thiện [AK] Các thuật toán deep learning, được triển khai bằng cách bắtchước hành vi phân biệt, cách tư duy não bộ của con người thông qua các tế bào thần

kinh, đã được áp dụng thành công trong các lĩnh vực như nhận dạng hình ảnh, phântích chuyển động, xử lý ngôn ngữ tự nhiên cũng đã được sử dung trong việc phat

hiện xâm nhập trái phép Tuy nhiên, những thuật toán như Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM)

thường tiêu tốn quá nhiều thời gian trong việc huấn luyện mô hình Với sự phát triển

chóng mặt của công nghệ thông tin, lượng dữ liệu được trao đồi trở nên không lồ hơnbao giờ hết Các mô hình One-stage IDS phải đối mặt với lượng dit liệu lớn ngàycàng trở nên ít hiệu quả, làm ảnh hưởng đến sự an toàn thông tin của toàn bộ hệ thongmạng Do đó, mô hình One-stage IDS không thé đáp ứng được các yêu cầu trong ngữcảnh dữ liệu lớn như hiện nay.

Đề giải quyết van dé này, chúng em đề xuất một hệ thống Two-stage IDS dé cảithiện hiệu năng phân loại của IDS nhằm phân loại các cuộc tấn công một cách nhanhchóng và chính xác hơn Cụ thê ở bài nghiên cứu này, chúng em sẽ kết hợp thuật toán

Decision Tree và Convolutional Neural Network (CNN) đề xây dựng hệ thống stage IDS nhăm giải quyết những van đề mà One-stage IDS phải đối mặt Hệ thống

Two-Two-stage IDS được dé xuất bao gồm hai giai đoạn phân loại Giai đoạn thứ nhất

đảm nhận vai trò nhận dạng các lưu lượng mạng bất thường và giai đoạn thứ hai sẽ

phân loại tan công từ những lưu lượng bat thường được phân loại từ giai đoạn thứnhất Giai đoạn thứ nhất được xây dựng dựa trên thuật toán machine learning, thuật

toán machine learning có ưu điểm là tốc độ xử lý nhanh và có độ tin cậy cao trong

việc phân loại nhị phân, phù hợp trong việc sàng lọc lưu lượng mạng bất thường

Thuật toán deep learning được áp dụng cho giai đoạn hai nhằm tận dụng ưuđiểm là khả năng tự học theo thời gian cùng với khả năng đưa ra các dự đoán có tỉ lệ

(+)

Trang 25

| CHƯƠNG 1 — TONG QUAN ĐÈ TÀI

chính xác cao dé tiến hành phân loại đa lớp nhằm phát hiện cụ thể loại tan công

1.4 Mục tiêu của dé tài

e Xây dựng và triển khai hệ thống phát hiện xâm nhập hai tang áp dụng ML và

DL dé ngăn ngừa các cuộc tan công mạng

e Triển khai tích hợp hệ thống phát hiện mẫu đối kháng vào mô hình đề xuất dé

cải thiện hiệu năng, ngăn chặn sự đánh lừa IDS từ các mẫu đối kháng

1.5 Đối tượng và phạm vi nghiên cứu

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

e Ngôn ngữ Python được sử dụng trong việc xây dựng và hoàn thiện mô hình.

e Thu viện TensorFlow2 dé xây dựng mô hình hệ thống

e Kỹ thuật tấn công Carlini & Wagner dé tạo mẫu đối kháng

e Tỉnh chỉnh và trién khai tích hợp hệ thống ML-LOO vào Two-stage IDS

1.5.2 Phạm vi nghiên cứu

e Các thuật toán học máy, học sâu.

e Các kỹ thuật sàng lọc và xử lí dữ liệu lưu lượng mạng.

e_ Giải pháp tích hợp thuật toán học máy và học sâu dé xây dựng mô hình đề

xuất

e Các kỹ thuật sinh mẫu đối kháng

e Các giải pháp hiện có dé phát hiện các mẫu đối kháng

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

Khóa luận được trình bay với cấu trúc như sau:

e Chương 1 Tổng quan đề tài

Chương l sẽ giới thiệu tông quan về dé tài nghiên cứu, mục tiêu nghiên cứu, đối

tượng nghiên cứu và phạm vi nghiên cứu.

(5 }

Trang 26

| CHƯƠNG 1 — TONG QUAN ĐÈ TÀI

e Chương 2 Co sở lý thuyết

Chương 2 sẽ trình bay các kiến thức tổng quan về hệ thống phát hiện xâm nhập,

giới thiệu về ngôn ngữ lập trình được sử dụng và các thư viện hỗ trợ có liên quan,giới thiệu về học máy và học sâu, các thuật toán học máy và mô hình học sâu và cáctập di liệu lưu lượng mạng, giới thiệu về mang sinh đối kháng, các kiểu tan công phốbiến và hệ thống phát hiện mẫu đối kháng

e Chương 3 Mô hình hệ thống Two-stage IDS

Chương 3 mô tả chỉ tiết về hệ thống Two-stage IDS, các giai đoạn riêng biệt và

quá trình tích hợp hệ thống phát hiện mẫu đối kháng

e Chương 4 Thực nghiệm và đánh giá.

Chương 4 trình bày quá trình thực nghiệm hệ thống, đưa ra các thông số chỉ tiết

thé hiện độ chính xác, hiệu năng của mô hình đề xuất và đánh giá kết quả

e Chương 5 Tổng kết

Chương 5 tông kết toàn bộ quá trình nghiên cứu, xây dựng hệ thống và đề xuất

các mục tiêu phát triển trong tương lai

e Phụ lục

Phụ lục trình bày cách sử dụng môi trường Google Colab trong việc xử lí và

huấn luyện mô hình, các lỗi gặp phải trong quá trình nghiên cứu và phương pháp giải

quyết.

e Tài liệu tham khảo

Toàn bộ các công trình nghiên cứu, các bài viết chia sẻ kiến thức và hình ảnhđược sử dụng trong báo cáo sẽ được trích dẫn ở phần này

(> }

Trang 27

CHƯƠNG2 CƠ SỞ LÝ THUYET

2.1 Tổng quan về hệ thống phát hiện xâm nhập (IDS)

2.1.1 Khái niệm hệ thống phát hiện xâm nhập

IDS (Intrusion Detection System hay “Hệ thống phát hiện xâm nhập”) được cấu

thành từ hai từ “xâm nhập” và “hệ thống phát hiện” Xâm nhập đề cập đến việc truy

cập trái phép vào thông tin hoặc hệ thống mang làm ảnh hưởng đến ba yếu tố gồm:bao mật (Confidentiality), toàn ven (Integrity) và khả dụng (Availability) Hệ thong

phát hiện là cơ chế bảo mật phát hiện các xâm nhập bat hợp pháp Vì vậy IDS là một

hệ thông hoạt động thường trực với nhiệm vụ là giảm sát hệ thong mang va kiém tra

lưu lượng mạng, kiểm tra sự tồn tại của các hoạt động đáng nghi ngờ có khả năng làm

ảnh hưởng đến ba yếu tố C-I-A đã nêu trên Hình 2-1 thê hiện một hệ thống mạng cơbản có lắp đặt các IDS

AI-IDS là áp dụng trí tuệ nhân tạo vào IDS giúp IDS có khả năng phát hiện tốt

hơn, học hỏi được các loại tan công mới trong lưu lượng mạng và tự động phát hiện

được lưu lượng bắt thường nhằm tăng khả năng phát hiện xâm nhập tốt hơn

MIDS NIDS management

Read-only

The Internet Firewall Trusted network

Hình 2-1 Mô hình mạng cơ bản có lắp đặt IDS [1]

2.1.2 Phan loại hệ thống phát hiện xâm nhập

IDS có thể được phân loại theo phạm vi giám sat và theo kĩ thuật thực hiện Việc

(7 }

Trang 28

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

phân loại IDS được thé hiện rõ ở Hình 2-2:

Intrusion Detection System (IDS)

| Deployment Method based IDS | Detection Method based IDS |

:?_ E ¥ ¥

Host based Network based Signature based Anomaly based

IDS IDS IDS IDS

Deep Learning Models

Hình 2-2 Sơ đô phân loại IDS [2]

2.1.2.1 IDS dựa trên phạm vi giám sát

Dựa vào phạm vi giảm sát thì IDS được chia thành hai loại: dựa trên Host

(HIDS) va dựa trên Network (NIDS) HIDS được triển khai trên host với nhiệm vụ

giám sát hoạt động của host được triển khai đề phát hiện những hành vi vi phạm tớichính sách và những hành vi bất thường NIDS được triển khai trên hệ thống mạng

với mục đích bảo vệ hệ thống mạng khỏi sự xâm nhập trái phép NIDS giám sát liêntục lưu lượng mạng và xem xét các packet trong mạng để phát hiện xâm nhập trái

phép.

2.1.2.2 IDS dựa trên kỹ thuật thực hiện

IDS dựa trên kỹ thuật thực hiện được chia làm hai loại: dựa trên dấu hiệu nhậnbiết (Signature-based IDS) và dựa trên sự bất thường (Anomoly-based IDS)

Signature-based IDS hay còn gọi là phát hiện xâm nhập dựa trên những dấuhiệu, ý tưởng đã biết dé xác định dấu hiệu nhận biết cho các loại tan công Các dấuhiệu nhận biết này được lưu trữ trong cơ sở dữ liệu các dấu hiệu nhận biết và các mẫu

dữ liệu được khớp với các dâu hiệu được lưu trữ này đê phát hiện các cuộc tân công.

(+ }

Trang 29

| CHƯƠNG 2- CƠ SỞ LÝ THUYET

Ưu điểm của Signature-based IDS là cực kì hiệu quả khi phát hiện các cuộc tấn công

đã biết từ trước Mặt khác, phương pháp này thiếu khả năng phát hiện các cuộc tấn

công biến thé và mới do không có các mẫu dấu hiệu có sẵn trong cơ sở dữ liệu Việc

dé phát hiện được nhiều dau hiệu mới đòi hỏi cơ sở dit liệu phải lưu trữ rất nhiều dấuhiệu và khi một cuộc tấn công có ý định xâm nhập vao hệ thống thì việc kiểm tra các

mau dé xác định kiểu tan công cũng sẽ làm tiêu tốn tài nguyên

Anomoly-based IDS hay còn gọi là hệ thống phát hiện xâm nhập dựa trên sự

bat thường dựa trên ý tưởng xác định ngưỡng hoạt động nao là bình thường, ngưỡng

nao là bat thường Bat kì sai lệch nào so với ngưỡng bình thường sẽ được coi là hành

vi bất thường Ưu điểm của Anomoly-based IDS là khả năng phát hiện các cuộc tấn

công mới chưa biết và khả năng điều chỉnh các ngưỡng bình thường cho các mạng vàứng dụng khác nhau Tuy nhiên, nhược điểm chính là tỉ lệ báo động giả cao vì khótìm ra ranh giới giữa ngưỡng bình thường và bất thường đề phát hiện xâm nhập

2.2 Ngôn ngữ lập trình và các thư viện hỗ trợ

Di cùng với sự phát triển của lĩnh vực trí tuệ nhân tạo là sự trợ giúp của cáccông cụ, thư viện, framework đặc thù, được xây dựng dé hỗ trợ trong việc nghiên cứu

và phát triển mô hình/ứng dụng một các thuận tiện

2.2.1 Ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình rất phổ biến hiện nay, nó được tạo ra bởi Guidovan Rossum vào năm 1991 Với khả năng mạnh mẽ của minh, Python được dùng délập trình ra các ứng dụng web, xử lý các tính toán khoa học, tao ra các sản pham phânmềm chất lượng Python hỗ trợ nhiều nền tảng khác nhau như Windows, Mac,Linux Ngôn ngữ này có cú pháp đơn giản, dễ hiểu và dễ tiếp cận Python sử dụngtrình thông dịch đề thực thi nên có thê thực thì ngay mà không cần biến dịch toàn bộchương trình Với khả năng xử lý các phép toán phức tạp cùng việc có nhiều thư viện

hỗ trợ tốt như scipy, numpy, sklearn, tensorflow, pytorch, pandas nên Pythen được

sử dụng rât nhiêu trong lĩnh vực học máy, học sâu nói riêng và nghiên cứu trí tuệ

(> }

Trang 30

| CHƯƠNG 2- CƠ SỞ LÝ THUYET

nhân tạo nói chung.

2.2.2 Thu viện TensorFlow

Tensorflow là một thư viện miễn phí và mã nguồn mở phục vụ cho machinelearning (học máy) được phát triển bởi đội ngũ Google Brain vào năm 2015 Thư viện

này hỗ trợ mạnh mẽ các phép toán học đề tính toán trong machine learning, cung cấp

khả năng xử lý tính toán dựa trên biểu đồ mô tả sự thay đôi của dit liệu Bên cạnh đó,TensorFlow cho phép thực hiện các tác vụ liên quan đến học máy như huấn luyện(training) mô hình, dự đoán/phân loại dựa trên dữ liệu đầu vào bằng cách tận dụng

sức mạnh của GPU Tensorflow chủ yếu sử dụng ngôn ngữ lập trình Python (ngoài

ra còn có C++) và có thể chạy trên hệ điều hành nhân Linux, Windows, macOS,

Raspbian

2.2.3 Thư viện Scikit-learn

Scikit-learn (sklearn) là thư viện Python mã nguồn mở, được triển khai sẵn một

loạt các thuật toán học máy, tiền xử ly (pre-processing), xác nhận chéo validation) và trực quan hóa (visualization) được dùng trong quá trình xây dựng mô hình machine learning Sklearn được xây dựng dựa trên hai thư viện mạnh mẽ làNumPy và SciPy Thư viện nay cho phép giải quyết các loại bài toán học máy như

(cross-phân loại, hồi quy, gom cụm và hỗ trợ hầu hết các thuật toán của machine leamingmột cách thuận tiện, hiệu quả Bên cạnh đó, sklearn còn cung cấp các tiêu chí đánh

giá hiệu năng của các thành phan liên quan Với sự phổ biến, sự mạnh mẽ và có cộngđồng phát triển đông đảo thì Scikit-learn vẫn là sự lựa chọn hàng đầu của các nhà

nghiên cứu.

2.2.4 Các thư viện hỗ trợ liên quan

2.2.4.1 Thư viện Keras

Keras là thư viện deep learning cực kì mạnh mẽ, dễ tiếp cận và dễ sử dụng dànhcho Theano và TensorFlow, cung cấp API mạng no-ron cấp cao dé phát triển và đánhgiá các mô hình học sâu như layers, loss function, activation function, optimizer

(9)

Trang 31

| CHƯƠNG 2- CƠ SỞ LÝ THUYET

2.2.4.2 Thư viện Numpy

Numpy là thư viện toán học nền tảng, phô biến và mạnh mẽ của Python Numpyphục vụ cho quá trình tính toán khoa học và xử lý dữ liệu mảng và ma trận một cáchhiệu quả Bên cạnh đó, Numpy còn cung cấp đối tượng mảng đa chiều hiệu suất cao

và các công cụ dé tương tác và xử lý chúng.

2.2.4.3 Thư viện Pandas

Pandas là thư viện mã nguồn mở được xây dựng dựa trên thư viện Numpy.Pandas được xem như một công cụ phân tích và xử lý dữ liệu mạnh mẽ của ngôn ngữ

lập trình Python Thư viện này được sử dụng rộng rãi trong cả nghiên cứu lẫn phát

triên các ứng dụng vê khoa học dữ liệu.

2.2.4.4 Thư viện Matplotlib

Matplotlib là một trong những thư viện Python phổ biến nhất được sử dung détrực quan hóa dữ liệu Nó là một thư viện đa nền tảng dé tạo các đồ thị 2D từ dữ liệu

trong các mảng, ma trận.

2.3 Hoc máy va học sâu

2.3.1 Tổng quan về học máy

2.3.1.1 Khái niệm học máy

AI - Trí tuệ nhân tạo (Artificial Intelligence) là các kỹ thuật giúp cho máy tính thực hiện được những công việc của con người Trong lĩnh vực AI có một nhánh

nghiên cứu về khả năng tự học của máy tính được gọi là học máy (Machine Learning).Hiện nay không có 1 định nghĩa chính thức nào về học máy nhưng có thê hiểu rằng

nó là các kỹ thuật giúp cho máy tính có thé tự học mà không cần phải cài đặt các luậtquyết định hoặc lập trình một cách rõ ràng [3]

2.3.1.2 Ung dung của hoc máy

Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất, đặc biệt nhữngngành cần phân tích khối lượng dữ liệu không lồ Một số ứng dụng thường thấy trong

(")

Trang 32

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

thực tế như

e Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử lý văn ban, giao

tiếp người — máy

e Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thi

giác máy (Computer Vision)

e Tìm kiếm (Search Engine)

e Chan đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chân đoán tự

động

e Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein

e Vật lý: phân tích ảnh thiên văn, tác động giữa các hat

e Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tin dụng.

e Phân tích thị trường chứng khoán (stock market analysis).

e Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo

2.3.1.3 Phân loại phương thức học máy

Các phương thức học máy được phân ra làm ba loại, bao gồm học có giám sát(Supervised Learning), học phi giám sát (Unsupervised Learning) va học tăng cường

(Reinforcement Learning) Trong đó, học có giám sát va hoc phi giám sát thường

được áp dụng nhiều nhất Chúng em sẽ dé cập chi tiết hơn đến hai phương thức học

có giám sát và học phi giám sát ở phần sau dé cung cấp cái nhìn rõ nét về vai trò củamang sinh đối kháng trong hệ thống đề xuất

e Học có giám sát (Supervised Learning) Học có giám sát (Supervised Learning) là phương pháp sử dụng những dữ liệu

đã được gan nhãn từ trước dé suy luận ra quan hệ giữa đầu vao và đầu ra [3] Cac dirliệu này được gọi là dữ liệu huấn luyện và chúng là cặp các đầu vào-đầu ra Học cógiám sát sẽ xem xét các tập huấn luyện này dé từ đó có thé đưa ra dự đoán đầu ra cho

1 đầu vào mới chưa gặp bao giờ Học có giám sát thường được áp dụng cho 2 nhómbài toán chính là bài toán hồi quy (regression) và bài toán phân loại (classification)

(2)

Trang 33

| CHƯƠNG 2- CƠ SỞ LÝ THUYET

e Hoc phi giám sát (Unsupervised Learning) Hoc phi giám sat (Unsupervised Learning) khác với hoc có giám sat, hoc phi

giám sát sử dung những dữ liệu chưa được gan nhãn từ trước dé suy luận Phương

pháp này thường được sử dung dé xác định cau trúc của tập dir liệu Tuy nhiên hầunhư không có phương pháp đề đánh giá cấu trúc tìm ra thông qua phương pháp học

phi giám sát là đúng hay sai.

e Hoc tăng cường (Reinforcement Learning)

Học tăng cường (Reinforcement Learning) là phương pháp học tăng cường tập

trung vào việc làm sao dé cho 1 tác tử trong môi trường có thé hành động sao cho lay

được phần thưởng nhiều nhất có thể Khác với học có giám sát nó không có cặp dữliệu gán nhãn trước làm đầu vào và cũng không có đánh giá các hành động là đúng

hay sai.

Trên thực tế, có rat nhiều thuật toán hoc máy nôi tiếng như Decision Tree,

Support Vector Machine, K-Nearest Neighbor (KNN) đã được ứng dung rộng rãi

không chỉ trong các lĩnh vực khoa học công nghệ mà còn trong y tế, giáo dục, tài

chính

2.3.2 Decision tree và các thuật toán học máy

2.3.2.1 Thuật toán Decision Tree — DT

Decision Tree (cây quyết định) là một thuật toán học máy có giám sát dựa trên

mô hình cây nhị phân và được sử dụng rộng rãi cho các bài toán phân loại và hồi quy

[4] Cơ chế hoạt động của thuật toán này là học từ những quy luật rút ra được trong

các đặc trưng đữ liệu để đưa ra dự đoán Trong cây quyết định, các nút (node) của

cây chứa phép so sánh trên một thuộc tính của dữ liệu và kết quả của phép so sánh

này dẫn tới các nhánh (branch) hệ quả khác nhau Kết quả cuối cùng của một nhánhđược gọi là nút lá (leaf) Nut lá biểu thị cho lớp đầu ra của bài toán phân loại hoặcmột giá trị số trong bài toán hồi quy [5]

Trang 34

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

Leaf Node Leaf Node

Hình 2-3 Kiến trúc của thuật toán Decision Tree [6]

Mục tiêu của cây quyết định là xây dựng một mô hình cây quyết định dựa trên

tập dữ liệu sẵn có dé phục vụ cho mục đính chính là phân loại các đối tượng một cách

chính xác Hiện nay thuật toán cây quyết định có khá nhiều biến thể khác nhau như

ID3 [7], C4.5 [8], C5.0 [9] và CART (Classifcation and Regression Trees) Những

biểu thức toán học nền tảng xây dựng nên thuật toán Decision Tree được thé hiệndưới đây [10].

Với bộ dữ liệu D có n bản ghi và k thuộc tính:

X; là dữ liệu đầu vào đại điện cho một bản ghi lưu lượng mạng trong tập dữ liệu D

Mỗi X; bao gồm k thuộc tính, mỗi thuộc tinh x; € X; phản ánh trang thái và thông

tin cơ bản của gói tin.

vị€{1, 2, 3, „ k— 1} @)

y; là giá trị phản ánh hành vi của một bản ghi lưu lượng mang cụ thé; nói cách khác

(“)

Trang 35

| CHƯƠNG 2- CƠ SỞ LÝ THUYET

y; đại diện cho từng loại cuộc tan công tồn tại trong tập dữ liệu D Bước đầu xây dựng

cây quyết định là từ nút gốc Đề tìm ra nút gốc cần phải tìm ra thuộc tính có sức quyếtđịnh nhất dé tính toán ra một giá trị ngưỡng rồi lay đó làm nút gốc dé tìm tiếp các giátrị ngưỡng của những thuộc tính khác, tiếp tục xây dựng các nút nhánh và nút con

như vậy dé tao một cay hoan chinh Dé biết được thuộc tinh nao phù hợp dé chọn làm

nút gốc, thuật toán sẽ xét tất cả các thuộc tính và mỗi thuộc tính lại chọn ra những giá

trị ngưỡng, với từng ngưỡng thi tập dữ liệu sẽ được chia ra hai phan, giá trị ngưỡng

lý tưởng là khi hai phần dữ liệu được chia ra có sự phân bố rõ ràng giữa các lớp vàcác lớp của mỗi phan ít khi sai phạm vào phan còn lại

Giả sử W đại điện cho dit liệu ở nút m, lúc này X„„ là dữ liệu huấn luyện và „„

là lớp đầu ra Dữ liệu được chia thành 2 phan là WI(f) và W2(f) sau mỗi phép phân

tách f = (j, tm) Trong đó, 7 là một thuộc tinh đặc trưng của df liệu, t„ đại diện cho

một ngưỡng nhất định, giá trị này quyết định ranh giới phân tách giữa các thuộc tính

có giá tri cao, tác động trực tiếp đến quá trình dự đoán của mô hình Quá trình xácđịnh chỉ số ngưỡng đặc biệt quan trọng, đóng vai trò quyết định đến hiệu năng của

mô hình cây quyết định hoàn chỉnh

(5)

Trang 36

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

2.3.2.2 Thuật toán Logistic Regression — LR

Logistic Regression là một loại thuật toán supervised learning tinh toán mốiquan hệ giữa các feature trong input va output dựa trên hàm logistic/sigmoid Mặc dù

gọi là Logistic Regression nhưng thuật toán này không dự đoán ra giá trị thực như

các thuật toán Regression khác, Logistic Regression được dùng dé dự đoán ra một

kết quả nhị phân (với giá trị 0/1 hay -1/1 hay True/False) dựa vào input của nó [11]

Multi Class Classification

Hình 2—4 Thuật toán Logistic Regression trong phân loại nhị phân và da lớp [12]

Trong quá trình phát triển hệ thống Two-stage IDS, chúng em áp dụng thuật

(8)

Trang 37

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

toán Logistic Regression cho ML-LOO, một giải pháp phát hiện các mẫu đối kháng

với mục đích đánh lừa giai đoạn một của hệ thống đề xuất, dé huấn luyện các dữ liệuthật với các dữ liệu đối kháng phục vụ cho mục đích phân loại nhị phân

2.3.2.3 Thuật toán Random Forest — RF

Rừng ngẫu nhiên - Random Forest (RF) là thuật toán hoc máy có giám sát và có

khả năng giải quyết cả bài toán phân loại và hồi quy RF được xây dựng dựa trên một

tập hợp các cây quyết định Khi tổng hợp kết quả, RF dùng phương pháp bỏ phiếu(voting) cho bài toán phân loại và lấy giá trị trung bình (average) cho bài toán hồiquy Trong những năm gan đây, RF được sử dụng khá phổ biến bởi những điểm vượt

trội của nó so với các thuật toán khác: xử lý được với dữ liệu có SỐ lượng các thuộc

tính lớn, có khả năng ước lượng được độ quan trọng của các thuộc tính, thường có độchính xác cao trong phân loại (hoặc hồi quy) và đặc biệt là quá trình học nhanh

DECISION TREE-1 DECISION TREE-1 DECISION TREE-1

RESULT-1 RESULT-2 RESULT-N

| _ MAJORITY VOTING / AVERAGING |

FINAL RESULT

Hình 2-5 Kiến trúc của thuật toán Random Forest [13]

2.3.2.4 Thuật toán K-Nearest Neighbor — KNN

Thuật toán K Nearest Neighbor (K-NN) là một thuật toán hoc máy có giám sátdùng dé phân loại một điểm dữ liệu mới vào lớp đích, tùy thuộc vào các tính năng

của các điểm dit liệu lân cận của nó K-NN là nền tảng của phương pháp học phi tham

(0)

Trang 38

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

số Do tính đơn giản và linh hoạt, thuật toán này đã trở thành phương pháp được lựachọn trong nhiều tình huống học máy, đặc biệt là trong các cài đặt mô hình phức tạp

Các ứng dụng hiện đại của thuật toán K-NN bao gồm hệ thống khuyến nghị, phân

loại văn bản, phân loại bệnh tim, dự đoán thị trường tài chính và một số lĩnh vực khác

Thuật toán phân loại K- Nearest Neighbor có thé dự đoán nhãn dich bằng cách

tìm lớp láng giềng gần nhất Lớp gần nhất sẽ được xác định bằng cách sử dụng khoảngcách Euclidean được thé hiện dưới đây:

d(x,y) =

2.3.2.5 Thuật toán Artificial Neural Network — ANN

Hé thống mạng nơ-ron nhân tạo (Artificial Neural Network — ANN), hay gọi tắt

là mạng nơ-ron, cũng là một thuật toán học máy có giám sát và được lấy cảm hứngdựa trên cơ chế hoạt động hệ thong thần kinh Cấu trúc của một mô hình mạng nơ-

ron bao gồm nhiều nút nơ-ron được kết nói với nhau dé xử lý thông tin thông quaviệc truyền dẫn và tính toán các giá trị mới tại các nơ-ron đó Nhờ có cơ chế tương tự

não người, mô hình mạng nơ-ron cũng có thể học hỏi thông qua huấn luyện các kiến

thức chưa biết và ứng dụng nó dé dự đoán các dit liệu chưa biết đến Hình 2-6 thé

hiện kiên trúc tông quan của một mô hình mạng nơ-ron nhân tạo.

Trang 39

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

Output Layer

Input Layer

Hidden Layer 1 Hidden Layer 2

Hình 2-6 Kiến trúc co ban của mạng no-ron nhân tạo [14]

Trong một hệ thống mạng nơ-ron, các nơ-ron được phân làm 3 lớp chính khácnhau, bao gồm: Input Layer, Hidden Layer và Output Layer Input Layer là lớp tiếpnhận các dit liệu đầu vào va tiền xử ly đữ liệu Lớp Hidden Layer thực hiện các bướcrút trích, phân tích và tính toán các luồng đữ liệu nhận từ Input Layer, và có thé cómột hoặc nhiều lớp khác nhau trong một hệ thống mạng nơ-ron Cuối cùng, lớp Ouput

Layer có nhiệm vụ xuất dữ liệu đầu ra của hệ thống, ví dụ như kết quả phân loại của

một mô hình phân loại dữ liệu Thông thường quá trình suy luận từ Input Layer cho

đến tới Output Layer của mô hình mạng nơ-ron là quá trình lan truyền tiến

(feedforward), tức là đầu vào các nơ-ron tại một lớp đều lay từ kết qua các no-ron lớptrước đó mà không có quá trình suy luận ngược lại Ngoài ra, những kết nối giữa cácnơ-ron còn được liên kết với một trọng số dé thé hiện mức độ quan trọng của dữ liệuđầu vào trong quá trình xử lý thông tin cũng như quá trình chuyền đổi đữ liệu từ lớp

này đến lớp khác Thực chất, quá trình học của mạng nơ-ron chính là quá trình cân

chỉnh trọng số liên kết giữa các kết nối cũng như từ dit liệu đầu vào dé đưa ra kết qua

mong muôn.

Trang 40

| CHƯƠNG 2 - CƠ SỞ LÝ THUYET

impulses carried #0 wo

ee

nen pat Opdy branches axon from a neuron `

dendrit yf Tế of axon uelendri “NY : Ỹ J dendrite

4 Ậ \ impulses carried INS activation

away from cell body function

cell body

Hình 2-7 Sự tương quan giữa no-ron than kinh sinh học và mạng no-ron nhân tạo [15]

Câu trúc của một nơ-ron như thé hiện ở Hình 2-7 bao gồm một hàm tổng(Summation Function) có vai trò tính toán các dữ liệu đầu vào cùng với trọng số cósan dé đưa ra dữ liệu kết quả của no-ron đó Kết quả nay sẽ được đưa qua một hàm

kích hoạt (Activation Function) dé quyét định xem nơ-ron đó có được phép hoạt động

và cập nhập dữ liệu mới trên mô hình mạng hay không Hàm kích hoạt giúp mô hìnhmạng nơ-ron có thé học hỏi được các mối quan hệ của đữ liệu hay thực hiện các tác

vụ phức tạp khác, mà đa phần không phải là tuyến tính Chính vì vậy, các hàm kíchhoạt đều là hàm phi tuyến Tùy thuộc vào hàm kích hoạt khác nhau sẽ có các công

thức hàm khác nhau, ví dụ như hàm kích hoạt Sigmoid có công thức như sau:

Học sâu hay Deep Learning được bắt nguồn từ thuật toán Artificial Neural

Network — ANN vốn là một thuật toán của học máy Học sâu được xây dựng dựa trên

một tập hợp các thuật toán dé cố gắng mô hình dữ liệu trừu tượng hóa ở mức caobang cách sử dụng nhiều lớp ân xử lý với cau trúc phức tạp di cùng với các phép biếnđổi phi tuyến tính Tat cả được thực hiện nhờ các lớp của thuật toán ANN Khác biệt

(2z)

Ngày đăng: 03/11/2024, 18:28