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 3DANH 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 5Về 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 7Về 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 8LOI 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 10thê đ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 11giai đ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 14DANH 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 152.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 164.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 17DANH 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 18Hì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 19DANH 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 20DANH 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 21TÓ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 22CHUONG1 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 27CHƯƠ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)