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 IDS sử dụng thuật toán học sâu có khả năng hoạt động thời gian thực

120 1 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 đề Hệ thống đánh giá các thuật toán IDS trong thời gian thực
Tác giả Nguyễn Khắc Minh Quân
Người hướng dẫn ThS. Trần Thị Dung
Trường học Đại học Khoa học Tự nhiên
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2020
Thành phố TP. HCM
Định dạng
Số trang 120
Dung lượng 56,96 MB

Nội dung

Do đó, trong luận văn lần này nhóm chúng em muốn hướng tới việc xây dựng một hệ thống đánh giá nhỏ gọn, với lượng tiêu thụ tài nguyên thấp và hệ thống này có thể đánh giá cả thuật toán h

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

NGUYEN KHAC MINH QUAN

KHOA LUAN TOT NGHIEP

HE THONG DANH GIA CAC THUAT TOAN IDS

TRONG THỜI GIAN THỰC

REAL-TIME EVALUATION SYSTEM FOR IDS ALGORITHMS

KY SU NGANH AN TOAN THONG TIN

TP HO CHÍ MINH, 2020

Trang 2

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

NGUYEN KHAC MINH QUAN 17520137

KHOA LUAN TOT NGHIEP

HE THONG DANH GIA CAC THUAT TOAN IDS

TRONG THỜI GIAN THỰC

REAL-TIME EVALUATION SYSTEM FOR IDS ALGORITHMS

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

ThS TRAN THI DUNG

TP HO CHÍ MINH, 2020

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ố

" — eee nese eeeeee của Hiệu trưởng Trường Dai hoc Công nghệ Thông tin.

¬ ee eee ences reece nee ee — Chủ tịch.

PA ¬ˆ EET OSTEO SEOTIOETOSSSTOTIOOT — Thư ký.

3 — Ủy viên.

4 .— Ủy viên.

Trang 4

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

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN

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

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

(CUA CÁN BỘ HƯỚNG DAN)

Tên khóa luận:

HỆ THÓNG ĐÁNH GIÁ CÁC THUẬT TOÁN IDS

TRONG THỜI GIAN THỰC

BUILDING A REAL-TIME AI BASED IDS

Nhóm SV thực hiện: Cán bộ hướng dẫn:

Nguyễn Khắc Minh Quân 17520137 ThS Trần Thị Dung

Đánh giá Khóa luận

1 Vé cuôn báo cáo:

Số trang - Số chương

Số bang so 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:

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

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

Trang 5

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

Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp

kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình.

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

Nguyễn Khắc Minh Quân /10

Người nhận xét

ThS Trần Thị Dung

Trang 6

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

TRUONG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN

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

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

(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:

HỆ THÓNG ĐÁNH GIÁ CÁC THUẬT TOÁN IDS

TRONG THỜI GIAN THỰC

REAL-TIME EVALUATION SYSTEM

FOR IDS ALGORITHMS

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

Nguyễn Khắc Minh Quân 17520137

Đánh giá Khóa luận

1 Về cuốn báo cáo:

Trang 7

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

Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp

kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình.

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

Nguyễn Khắc Minh Quân /10

Người nhận xét

Trang 8

Lời Cảm Ơn

Lời đầu tiên, chúng em xin trân trọng cảm ơn quý thầy, cô đang công tác và giảng dạy tại khoa

Mang máy tinh và Truyền thông, cũng như toàn thé thầy, cô khác công tác tại trường Dai học Công nghệ Thông tin - ĐHQG HCM đã truyền đạt những kiế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ạng má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 day dao tạo nhân tài, sẽ mãi là niềm tin vững chắc cho các thế hệ sinh viên trên con

đường giáo dục.

Đặ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 Trần Thị Dung 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.

Tiếp theo, chúng em xin cảm ơn về phía gia đình đã 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ăng lượng dé đ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.

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

Tác giả

Trang 9

ĐÈ CƯƠNG CHI TIẾT

TÊN ĐÈ TÀI:

HỆ THÓNG ĐÁNH GIÁ CÁC THUẬT TOÁN IDS TRONG THỜI GIAN THỰC

BUILDING A REAL-TIME AI BASED IDS

Cán bộ hướng dẫn: ThS Trần Thị Dung

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

Sinh viên thực hiện:

Nguyễn Khắc Minh Quân - 17521019

Trang 10

Nội dung đề tài:

Với sự phát triển của các cuộc tan công mạng trong và ngoài mạng, các biện pháp đảm bảo an ninh mạng là vô cùng cần thiết Hệ thống phát hiện xâm nhập trong hệ thống mang (IDS) là một giải pháp và là một thành phận quan trong trong một hệ thống an ninh

thông tin Ngày nay có nhiêu thuật toán học máy (Machine Learning) và học sâu (Deep

Learning đã được áp dụng vào IDS để giúp chúng có thể phát hiện thêm nhiều cuộc tân

công hơn Tuy nhiên việc: triển khai một hệ thống IDS khá phức tạp, vì vậy cần sự kiểm

thử trước khi đưa vào triển khai dé tối ưu thời gian Ngoài ra, việc phát triển và tạo ra

những model giúp IDS hoạt động hiệu quả cần phải có nguồn dữ liệu chất lượng dùng

dé huấn luyện và kiểm thử model Việc xây dựng một hệ thống kiêm thử mà không ca

dữ liệu nhiều có thể là một cách đề nâng cao hiệu quả của việc đánh giá các thuật toán Vấn đề ở đây là việc xây dựng một hệ thống đánh giá IDS như vậy sẽ tốn rất nhiều tài

nguyên Do đó, trong luận văn lần này nhóm chúng em muốn hướng tới việc xây dựng

một hệ thống đánh giá nhỏ gọn, với lượng tiêu thụ tài nguyên thấp và hệ thống này có

thể đánh giá cả thuật toán học máy hay học sâu nhờ việc đưa các luồng dữ liệu mạng vào

để các model này có thể đánh giá.

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

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

Phạm vi nghiên cứu:

Đưa ra một hệ thông đánh giá các thuật toán IDS

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

Xây dựng một hệ thống botnet đề có thể tạo ra những luồng network flow

Tìm kiếm công cụ dé bắt và xuất các network flow thành các feature dé đưa vào model

xử lý

Xử lý các feature và tìm cách đề đưa vào dé model xử lý

Xây dựng giao diện, nâng cấp và thêm một số tính năng khác dé người dùng dé dàng

tùy chỉnh

Kết quả mong đợi:

Báo cáo độ chính xác của các thuật toán IDS khi áp dụng hệ thống đánh giá

Bộ dữ liệu được thu thập riêng cho hệ thống, hỗ trợ các nghiên cứu sau này.

Xây dựng và thử nghiệm hệ thống đánh giá thuật toán IDS hoạt động thời gian thực

Công nghệ liên quan đến đề tài:

Sử dụng các công cy tạo ra các gói tin như: Bonesi, TrafficGenerator, drdos, kết hợp

cùng với docker đê mô phỏng lưu lượng Botnet đê thu thập tập dữ liệu

Sử dụng các framework Tensorflow, Scikit-Learn, để huấn luyện dữ liệu cho các

thuật toán IDS

Sử dụng CICFlowMeter dé bắt và xuất các network flow thành các features

Trang 11

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

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

09/03/2020 — 26/03/2020

Cai đặt môi trường Anaconda Tim

hiéu python, pandas, framework

scikit-learn và công nghệ trí tuệ nhân tạo.

Nguyễn Khắc Minh Quân

- 17520137

26/03/2020 — 31/03/2020

Chạy thử các model dựa trên các

dataset phô biên như KDD và đưa

Tiến hành huấn luyện mô hình với

dữ liệu được tạo từ hệ thông botnet

và kiêm thử hệ model

Nguyễn Khắc Minh Quân

- 17520137

15/05/2020 — 20/05/2020

Tién hanh tich hợp CICFlowMeter

vào hệ thống dé bat và chiết xuất

Hoan thién hé thống và luận văn.

Chuẩn bị bảo vệ khóa luận.

Hoàn thành khóa luận.

Nguyễn Khắc Minh Quân

- 17520137

Trang 13

MỤC LỤC

)0908092 1 HAAR ,ÔỎ 13

DANH MỤC HÌNH VẼ 5522 c2 2E tt riirre 18 DANH MỤC BẢNG -22222 2c 2222222111112 110.2211111 ce 22 DANH MỤC TỪ VIET TẮTT -22¿¿£22VEVE22++2222EEEEEYE+t22EEEEEEEerttrrrkrrrrrrree 23 TOM TAT KHÓA LUẬN ::::-:-£2222222EEEEEEvttttrrrrrriiriirrrrrrrrrrrrriii 27

Chương 1 MỞ ĐẦU 2222222222222222E22 22211 crrrrrrrrree 28 I.I Tên để tài 5522222 vn re 28

12 Đặt vẫn đề 6⁄2 ẦẶEẶằ-GCl-eeeiie 28

1.3 Mục tiêu của đề tài cccctt 22H22 rriee 29

1.4 Đối tượng và phạm vi nghiên cứu -2+c+z+222vvvvverrtrrrrrrree 29 1.4.1 Đối tượng nghiên cứu 5222cvcvrvrrtrrrrrrreerrrrrrer 29

1.4.2 _ Phạm vi nghiên CỨU - ¿+ c5 S 3k eEeEekekrkrkrrkrerere 29 Chương2 CO SO LÝ THUYẾT -cccvcvvsvvsssccccccccrc -20 2.1 Các giao thức và phương pháp tân công của botnet: 3Ù

13

Trang 14

2.2 Intrusion Detection System (IDS) 55 <5 Sc2c+ctrsrrkekrrerrrrrke 34

2.2.1 Téng quan

2.2.2 IDS dựa trên phương pháp học máy -.- - <2 ++x+c+x+xcrcxe 35

2.3 Bonesi

2.3.1 _ Giới thiệu CHUN cece cece cseeeeeseseeeeneneseseseeseneseseseeeesensseseeeeeee 36

2.3.2 Cai đặt Bonesi trên Ubuntu 16.04

2.3.3 Thur nghiệm oo csescseseseesesesescseeescsssssesssscsesesssnseseseesenen DO 2.4 TrafficGemerator c.cceceeceseesesesseseseseeneseseseseeseseseassessesesessessneneasseeseneneacae 40 2.4.1 Giới thiệu ChUN oo eee ees eeseereeseaesestessseseststenessseeneeneseee 40 2.4.2 Thử nghiệm SH, 40

2.8.2 Các thuật toán Machine Learning -¿-5-5-5cc<++<xe 48 2.8.2.1 Supervised Learning (Học có giám sát) . - - 48 2.8.2.2 Unsupervised Learning (Hoc không giám sát) -. 53

14

Trang 15

2.8.2.3 Reinforcement Learning (Học tăng cường) - -‹- 53 2.8.3 Các thuật toán Deep Learning (Hoc sau) „54 2.8.3.1 Artificial neural networks (ANN) ccccccccceeerereereee 54

2.8.3.2 Multilayer Perception (MLP)

2.8.3.3 Convulutional Neural Network (CNN) c-c-cc<xe 59

2.8.3.4 Recurrent Neural Network.

2.8.3.5 Long Short Term Memory ccccceecseseseseeeeeeeseeeseseseteneeeeeseeees 63 2.8.3.6 GRU Error! Bookmark not defined.

2.8.3.7 CNN Long Short-Term Memory Networks (CNN LSTM) 70

Chuong3 | XAY DUNG MO HINH TAN CONG THU THẬP DU LIBU 71 3.1 Kiến trúc hệ thong cscccccsssecscssssecscssssecssssseeecssssececssssseessssssccsssuseeessseescessseees 71 3.2 Giao diện của hệ thống -:2222¿222E222222231112222112 227111 ecrre 72

3.3 Tính năng của Ứng dụng - 5+ 5+S+2+++tsrtreexerererekerererree 75

3.3.1 Có thể tự thêm mô hình Machine Learning với đuôi sav hoặc Deep

Learning với đuôi tflite để đánh giá -c2-:++22222vvvccertrrrrrrrrrrrrrrrrr 75

BBD 3›3534343 75

3.3.1.2 Cách xây dựng tính năng - chen 76

3.3.2 Tùy chỉnh số lượng bot và kiểu tấn công cho từng loại bot 76

3.3.2.1 Tổng quan -c¿-522++++22E+++ttEEEEEvtEEEEEEretrEkrrrtrrkrrrrrrr 76

3.3.2.2 Cách xây dựng tinh năng - ¿+ + +xesEkrkrkekererrkrke T7

3.3.3 Tùy chỉnh thời gian để tạo ra hay ngừng tao traffic cho từng loại bot

78

3.3.3.1 Tổng quan -c¿-5222++++22E+++tEEEEEEvtEEEEEEtErEkrrrerrrkrrrrer 78

3.3.3.2 Cách xây dựng .Sc chien 78

15

Trang 16

3.3.4 Có thé tự tao traffic như user muốn 2 + ++s+txerxerxerxzrez 78

3.4.1 Các host liên quan trong mô hình - + «+ ++s<+++sex+se+esess 81

3.4.2 Xây dựng mô hình - «+ + kh HH ng nh ngư 32

3.4.2.1 Hệ thong botnet (Network Traffic GenerafOr) - - 82

3.4.2.2 Traffic SchedUl€r - 6 s1 ren 84 3.4.2.3 Packet Cap(UTG Gv 87

3.4.2.4 Feature Extractor và Model EvaluafIng -«« «=+<<«++ 88

Chương 4 THỰC NGHIEM VÀ ĐÁNH GIA o c.ecccecssscsssesssessessseessecssssstesseessecs 92

4.1 Tổng Quan coceccccceeccsscsssessessssssessessecsssssessessecsssssessesssssessessessesssessessessesseeseesess 92

4.2 Thử nghiệm trên các thuật toán Machine Learning - s «+ 94

4.2.1 Thử nghiệm trên các thuật toán Machine Learning với 78 feaures 94

422, Thử nghiệm trên các thuật toán Machine Learning với 26 feaures I02

4.3 Thử nghiệm trên các thuật toán Deep Learning ‹ -««++-«<+ 105

4.3.1 Tổng quan các thuật toán và kỹ thuật dùng dé đánh giá và thực

nghiệm 105 4.3.2 Thử nghiệm trên các thuật toán Deep Learning với 26 feaures 108

16

Trang 17

4.3.3 Thử nghiệm trên các thuật toán Deep Learning 78 features áp dụng

I@.Vui02o5i ì0 107 112

Chương5 TÔNG KET VÀ HƯỚNG PHÁT TRIÉN - 2-2525: 117

5.I Kết quả đạt được -csct2E2E2E11717121121121121211211.11 1e cre 117

5.2 Hướng phát triỂn - + 2+ +E£EESEkEEEEEEEE12112112171717111 1.1 re 117TÀI LIEU THAM KHẢO 2-52 5E2E£2EE£EE£EEEEEEEEEEEEEEEEEEEEEEEEErkrrkkrrrrrkee 119

17

Trang 18

DANH MỤC HÌNH VE

Hình 2.1 Sử dụng wireshark bắt gói tin giao thức portmap .: -: -s- 30Hình 2.2 Tan công DNS Flooding - + ¿+ £+2+EE+EE£EE2EESEEeEEerEkrrkrrkerkrrex 31

Hình 2.3 SYN Flood DDos Attack - c6 5 SH HH HH HH rưệt 34

Hình 2.4 Kiến trúc của IDS dựa trên AI cc¿+c2+csccxerrrrrtrrrrrtrrrrrrrrrre 36Hình 2.5 Clone repo của bonesi VỀ - 2 ¿5£ +E+EE£EE+EEEEEEEEEEEEEEEerkerkrrkrree 37

Hinh 2.6 1600:0011 1 37 Hình 2.7 Chạy lệnh COnẨTE UT€ 6 11 3 931 1191199111 vn ngàng Hưng nh rệt 37 Hình 2.8 Chạy 2 lệnh và cài xong bOn€Si - - 5 +22 tk Estseerreeerrrerrre 38

Hình 2.9 Các option của ÐOII€SI - c1 31911 1 191191111111 11 11H ng ngưng 38

Hinh 2.10 Chay lénh Donesi ooo a 39

Hình 2.11 Sử dung tcpdump <6 5 31 2511113111931 911 91191 2v gu ky 39

Hình 2.12 Kết qua sau khi sử dung tepdump bắt bonesi 2 ¿52 52 52552552 39

Hình 2.13 Nội dung file client_ config.txt sử dụng trong thử nghiệm 40

Hình 2.14 Chay thử Traffic G€TI€TAfOT - - c5 + 1H ng ng gưệp 41

Hình 2.15 Các giao thức mà drdos-framework hỗ tO cssescesessesessessssesseseeseeesseeees 41

Hình 2.16 Script dé yêu cầu botnet tạo giao thức n{p - ¿2s x+cx+zs+zszse2 42Hình 2.17 Clone Repository của CICFlowMeter VỀ 2-2 s2sz+zs+zx+zxzsz 44

Hình 2.18 Cài đặt JnefpCap vn TT HH HH Hà HH ngư 44

Hình 2.19 Giao diện của CICFlowÌMeI€r - <2 1132122231111 1x sexy 45

Hình 2.20 Lỗi khi cài CICFlowMeter - 2 52 Sx+S£+x+E£EeEzEerxrrerxererrrrs 45

Hình 2.21 Liệt kê danh sách interface - -. - 2+ 2+ +22 1 s21 +2 vs eeezree 46

Hình 2.22 Bắt gói tin từ inf€TFaCe - - + 2-52 2E SE E9 121122121121121 7111111 cxe 41

Hình 2.23 Sự khác nhau giữa Linear Regression va Logistic Regression [15] 48 Is0i1i0285)0i0312ii0 000107 49

Hình 2.25 K-Nearest Neighbors với K=3 và K7 c-Scssssiseieeirrrrree 49

Hình 2.26 Bản đồ của INN [17] - -2¿225<+2E+2E2EE2EEEEEEEEEEEEEEEEEErkrrkerkerkrrex 50

Hình 2.27 Thuật toán Decision “TTr€€ - - c5 2 3332111129211 19911 221 ng ng 51

Hình 2.28 Mã giả của quá trình huấn luyện Decision Tree [19] - 52

18

Trang 19

Hình 2.29 Kiến trúc mạng ANN [20] - ¿2© E+EE+EE2EE2E£EEEEEEEEEEerkrrkrrerree 54Hình 2.30 Cấu trúc của một neuron [23] ¿- - + s+x+s+Eetk+E+EeEt+E+EeEtzxzxerezxsxee 55Hình 2.31 Minh họa về độ lệch khi áp dung Biases [24] -«c<+<c<<x 56Hình 2.32 Biểu đồ giá trị của hàm ReLu [25] 2-5 2 2 2+££E+zEe£xerxerxzse2 56Hình 2.33 Kiến trúc mạng MLP [29] | 5 E1 113119119 v9 vn vn rưy 58Hình 2.34 Kiến trúc của CNN [30] ccsccssessesscsssessesssssessessessssssessessecsssssessessesesesseeseees 59Hình 2.35 Ví dụ về convolutional E0 1P 59Hình 2.36 Chi tiết về pooling layer [33] ¿2-5 +5 £+E£+EzEezEerkerxerxerxrree 60Hình 2.37 Kiến trúc mạng RNN [35] -¿- ¿- ¿5£ +E+EE£EE+EE£EE+EEZEEEerkerkerkrrkrree 62

Hình 2.38 Các trạng thái của RNN [3Š] - Ă S2 S2 + He, 62

Hình 2.39 Kiến trúc LSTM [36] ¿2 25 2E2E£2EE£EEEEEEEEEEEEEEEEEErrkrrkrrkcrex 64Hình 2.40 Chi tiết các thành phan bên trong 1 cell [36] . ¿-¿-z=5+ 64

Hình 2.41 Các kí hiệu trong cell [36|] - - c5 +23 * +21 £*2EE*EEeEseerseerreeeersrerrre 65

Hình 2.42 Kiến trúc 3 phần của LSTM [37] - 2-2 s2 £+££+££+££+Eezxerxerxersxez 65

Hình 2.43 VỊ trí của Long Term Memory và Short Term Memory 66 Hình 2.44 Hai trường hợp xảy ra khi áp dung Forget Gate -«++<«<<+ 67

Hình 2.45 Sự khác nhau giữa LSTM va GRU [38] -<<+<<<<+<<ss+ 69

Hình 2.46 Kiến trúc CNN LSTM [39] - 2-2: £252+EE+EE£EE££EE+EEEEEtEEerEeerkerkerex 70Hình 3.1 Kiến trúc của hệ thống -2 2 5¿+2+¿2EE+EEE+EE+EEEtEEEEEEESEkerrkrrrerree 71

Hinh 3.2 Chay lénh /start.sh 1 šnn› 72

Hình 3.3 Giao diện của hệ thống ¬—— 73Hình 3.4 Giao diện khi nhắn nút config - 2 25x x+2E++E£+EE+zxezxezreerxerxeres 74Hình 3.5 Giao diện của ứng dụng khi an nút “Config” -s-©¿©csz+zx+zsesrsz 75Hình 3.6 Tải model simple_rnn_final lên hệ thống - 252 5z: 75Hình 3.7 Sau khi tải xong ta có thé chọn model trong 6 '“Model” -. - 76Hình 3.8 Chon từng loại giao thức mà người dùng muốn từng bot tạo - 77

Hình 3.9 Thực hiện lên lịch khởi chạy và dừng cho các bot -«++-<«>+ 78

Hình 3.10 Loại bot có tên ““niyDOV” - - c s11 11 111 111911191111 H1 HH ng 78

Hình 3.11 Giao diện dé chon dit liệu mà người dùng muốn chọn 79

19

Trang 20

Hình 3.12 Chọn gen label_3.csv dé tạo dit liệu -¿©+++x+£x++z+rxcrez 79

Hình 3.13 Upload thành cơng - - c +1 3211191111911 1191119 1 1 ng ng ng 79

Hình 3.14 Lịch sử mới nhất về đồ chính xác của từng model - 80Hình 3.15 Log của hệ thống ¿- 2 2 2 SEE£+E£SE£EEEEEEEEEEEEEEEEEEEEEEEEEErEerkrrkrree 81Hình 3.16 Thơng tin về máy d0 c.ccccccssessesssessessessssssessessecsssssessessessssssessessessneeseeseess 82

Hình 3.17 Nội dung ví du trong file Docker-compOse - «+ +<<<x+se+se+ 83

Hinh 3.18 Hé thống botnet được tạo ra khi nhấn nút ““StaFE” -cccccscssesrsrsreseee 84

Hình 3.19 Command line báo hiệu đã tạo bot thành cơng - ‹++-+++s+ 84

Hình 3.20 Giao diện dé người dùng cĩ thé cấu hình thời gian biểu cho hệ thống bot

— 85

Hình 3.21 Vai trị Traffic Scheduler trong hệ thống - 2 25c s£x+£sz£s2 s2 86

Hình 3.22 Nội dung của script chạy Đbọ€SI - «5 + £se£seeeseeseeseesee 86

Hình 3.23 Vai trị của Packet Capture trong hệ thống -¿- ¿52 5+ s+5s552 87 Hình 3.24 CICFlowMeter dang bắt các flOW ccscsescssessessessessessessessesssessessesseesesseess 88

Hình 3.25 File csv chứa traffic flOW - .c- 0 0 112019 HH ng tr, 88

luyện mO(e] - ĩc 6E E23 9911 2301 910 11c TH HH HH Hư 89

Hình 3.27 Giao diện đề người dùng cĩ thé áp dụng PCA .¿ -¿ =5+ 89Hình 3.28 Phía bên phải là kết quả đối mà hệ thong đánh giá đối với từng bot 90Hình 3.29 Workflow day đủ của hệ thống -:- 25+ ++E£+E+E£Eerkerxerxrrsrree 91

In) 4.1 Kich ban 01088 -‹-1 94

Hình 4.2 Kết quả khi đánh giá 4 thuật tốn với 78 features sử dụng các thư viện AI

Hình 4.5 Biéu đồ cột độ chính xác của 4 thuật tốn với số lượng features là 26 105

Hình 4.6 Các layer cĩ trong thuật tốn CNN LSTM 5-55 + sskcsereres 106

20

Trang 21

Hình 4.7 Các layer có trong thuật toán LS”TÏM +5 + *skssseseerese 106 Hình 4.8 Các layer có trong thuật toán GR 55 +5 + E+sEeeeeerserersee 107

Hình 4.9 Các layer có trong thuật toán RNN - Sc St ssnrrrrey 107

Hình 4.10 Biểu đồ độ chính xác của các thuật toán sau 400 epochs 108

Hình 4.11 Độ chính xác của các thuật toán Deep Learning sau 400 epochs 109

Hình 4.12 Độ chính xác của RNN khi triển khai trên hệ thống - 110

Hình 4.13 Độ chính xác của CNN LSTM khi triển khai trên hệ thống 110

Hình 4.14 File logs khi tạo ra 2 bot là portmap và Idap dé đánh giá thuật toán RNN —— 111

Hình 4.15 Biểu đồ độ chính xác của các thuật toán Deep Learning sau 400 epochs —— 112

Hình 4.16 Độ chính xác của các thuật toán Deep Learning sau 400 epochs 113

Hình 4.17 Độ chính xác của LSTM PCA khi triển khai trên hệ thống 114

Hình 4.18 Độ chính xác của CNN LSTM PCA khi triển khai trên hệ thống 114

Hình 4.19 Logs khi tạo traffic có giao thức portmap kiểm thử thuật toán LSTM áp

dụng PCA đ ĐI F Bie oS BỘ Jj_ ‹ ÔÚ S55 1 ng ren 116

21

Trang 22

DANH MỤC BANG

Bang 3-1 Bảng thông tin các Host trong mô hình của chúng tôi 81

Bang 3-2 Giao thức và kiểu tấn công mà các botnet hỗ trợ - ¿s2 82

Bang 4-1 Số lượng của các loại traffic trong dữ liệu huấn luyện 92

Bang 4-2 Số lượng của các loại traffic trong dữ liệu đánh giá - . - 93

Bảng 4-3 78 feature dùng trong các thuật toán - + Scs + xsseeeserereers 94

Bang 4-4 Số lượng các loại tan công dùng dé kiểm thử trên hệ thống thực 100Bảng 4-5 Kết quả chỉ tiết khi sử dụng hệ thống dé đánh giá thuật toán DecisionTree

"D ỐốỐỔỐỔỐỔỐ 101

Bảng 4-6 26 features dùng trong thuật tOán - St se eriệg 102

Bảng 4-7 Độ chính xác của các thuật toán Deep Learning sau 400 epochs 109

Bang 4-8 Kết qua chỉ tiết khi áp dụng hệ thống dé đánh giá 2 thuật toán RNN va

90)0)85.50.01 7 4 111 Bang 4-9 Độ chính xác cua các thuật toán Deep Learning áp dung PCA sau 400

©pOCHs 4Ð 0050000 Nic, TE LH Ấk HH HH." gu ko 113

Bảng 4-10 Kết quả chỉ tiết khi triển khai hệ thống vào hai thuật toán LSTM va CNN

LSTM khi áp dung ki thuật PCA .- 12c S232 31 3111E1EErrrrrrxee 115

22

Trang 23

DANH MỤC TU VIET TAT

TU NOI DUNG DIEN GIAI

pos _| Penial Of Service Tắn công từ chối dich vy phân tán

dịch vụ

TCP Transmission Control Protocol Giao thức điều khién truyén nhân

UDP User Datagram Protocol Giao thức dữ liệu người dùng

HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn bản

DNs — | Domain Name System Hệ thống phân giải tên miền

NTP Network Time Protocol Giao thức đồng bộ thời gian mạng

Portmap Portmap Dich vụ quan lý kết nối RPC

SNMP Simple NG/Jƒ€ JWÿPpcment Giao thức tầng ứng dụng được sử

Protocol Ẩ 3 1 aks 1

dụng đê quản lý thiệt bị mạng

LDAP Lightweigh@Pirec as Giao thức sử dung để truy cập một

Protocol

dich vu thu muc

sspp Pimple Service Discovery Giao thức khám phá dich vụ

Protocol

Al Artificial Intelligence Tri tué nhan tao

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

IPS Intrusion Preventation System Hệ thống ngăn ngừa xâm nhập

ML Machine Learning Machine Learning

DL Deep Learning Hoc sau

ANN Artificial Neural Networks Mang thần kinh nhân tao

CNN Convolutional Neural Network Một loại mạng học sâu

RNN Recurrent Neural Network Một loại mạng học sâu

23

Trang 24

LSTM Long Short Term Memory Một loại mạng học sâu

GRU Gated Recurrent Unit Một loại mạng học sâu

MLP Multilayer Perception Một loại mạng thần kinh nhân tạo

PCA Principle Component Analysis Phương pháp tim một hệ cơ sở mới

24

Trang 25

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

Trong những năm gần đây, các cuộc tan công trong và ngoài mạng càng ngày

càng phát triển và đã gây ra tôn thất tài chính cho các doanh nghiệp trên toàn thế giới,

như thể thông qua tiến trình phát triển của các cuộc tấn công mạng Việc xây dựngmột hệ thống đảm bảo an ninh thông tin là một phần thiết yếu Intrusion DetectionSystem (IDS) là đóng vai trò quan trọng và là một thành phan trong hệ thống đó

Ngày nay các thuật toán học sâu (Deep Learning) và máy học (Machine Learning)

được áp dụng vào IDS để giúp chúng phát hiện thêm nhiều các cuộc tấn công khác.Nhưng việc triển khai IDS vào hệ thống khá là phức tạp vì vậy cần kiểm thử trước

khi triển khai

Van đề thứ nhất là việc tìm kiếm và tao ra dataset được dán nhãn để kiểm thử

IDS Model cực kì khó khan và tốn nhiều Bởi vì hầu như những dataset có giá trị thì

không được công bồ ra bên ngoài và một số dataset được công bé thì không phản anh

được môi trường network một cách thực tế Vấn đề thứ hai là việc xây dựng một hệthống đánh giá IDS hay tạo ra dataset chất lượng tốn rất nhiều tài nguyên

Chính vì vậy trong đề tài này tôi xin cung cấp một hệ thống tiết kiệm tàinguyên, hoạt động trên thời gian thực và có thể đánh giá các thuật toán IDS

27

Trang 26

Chương 1 MỞ ĐẦU

I.I Tên đề tài

HỆ THÓNG ĐÁNH GIÁ CÁC THUẬT TOÁN IDS TRONG THỜI GIAN THỰC

(BUILDING A REAL-TIME AI BASED- IDS)

1.2 Dat van dé

Trong những năm gan đây, các cuộc tan công trong và ngoài mang càng ngày càngphát triển và đã gây ra tôn that tài chính cho các doanh nghiệp trên toàn thé giới,

như thé thông qua tiến trình phát triển của các cuộc tan công mạng [1] Việc xây

dựng một hệ thống đảm bảo an ninh thông tin là một phần thiết yếu Intrusion

Detection System (IDS) là đóng vai trò quan trọng và là một thành phần trong hệ

thong đó [2] Ngày nay các thuật toán học sâu (Deep Learning) và máy học

(Machine Learning) được áp dụng vào IDS đề giúp chúng phát hiện thêm nhiều cáccuộc tan công khác [3] Nhưng việc triển khai IDS vào hệ thống khá là phức tap vìvậy cần kiểm thử trước khi trién khai

Vấn đề thứ nhất là việc tìm kiếm và tạo ra dataset được dán nhãn dé kiểm thử IDS

Model cực kì khó khăn và tốn nhiều thời gian Bởi vì hau như những dataset có giátrị thì không được công bố ra bên ngoài và một số dataset được công bồ thì không

phản ảnh được môi trường network một cách thực tế [4] Vấn đề thứ hai là việc xây

dựng một hệ thống đánh giá IDS hay tạo ra dataset chất lượng tốn rất nhiều tài

nguyên [5] Xuất phát từ bài báo khoa học “A Real-Time Evaluation Framework for

Machine learning-based IDS” (tác giả chính) được đăng tại hội nghị RICE 2021 và

những nghiên cứu, phát triển trong môn “Đồ án chuyên ngành” và một hệ thống

đánh giá IDS dựa trên môi trường giả lập mạng thực tế, tác giả đã tiến hành phát

triển thêm các tính năng, ngữ cảnh và tìm cách đề tích hợp thêm các thuật toán

Machine Learning và Deep Learning dé nâng cao tính hữu dung và đa dang cho hệthong đánh giá

28

Trang 27

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

e Báo cáo hiệu xuất của các thuật toán IDS khi áp dụng hệ thống đánh giá

e Bộ dữ liệu thu thập riêng cho hệ thông, hô trợ các nghiên cứu sau này

e Xây dựng và thử nghiệm hệ thống đánh giá thuật toán IDS hoạt động thời gian

thực

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

1.4.1 Doi tượng nghiên cứu

Khóa luận này hướng đến: Hệ thống phát hiện xâm nhập IDS

1.4.2 Pham vi nghiên cứu

Đưa ra một hệ thống đánh giá các thuật toán IDS

29

Trang 28

Chương 2 CƠ SỞ LÝ THUYET

2.1 Các giao thức và phương pháp tấn công của botnet:

2.1.1.1 Portmap

e RPC (Remote Procedure Call), Thu tục gọi ham từ xa là một kỹ thuật

tiễn bộ cho quá trình kết nối từ Client đến Server để sử dụng các ứng

dụng và dịch vụ RPC cho phép client có thể kết nối tới 1 dịch vụ sử

dung dynamic port nam ở một máy tính khác

e Portmap là dịch vụ quản lý các kết nối RPC Nhiệm vụ chính là chuyên

dynamic port của các chương trình RPC sang số hiệu công của giao thứcTCP/IP (hoặc UDP/IP) Những ứng dụng phô biến nhất sử dụng portmap

là NFS và NIS.

e Server Portmap cung cấp các tiện ích cho người sử dụng có thé tra cứu

nhiều thông tin của các kết nối RPC do server đó quản lý Trong đó có

1 lệnh cho phép client gửi 1 gói tin udp yêu cầu server cung cấp 1 danh

sách ngắn gon của tất cả các chương trình RPC đã đăng ký.

Time No Source Destination Protecol Length Info

1.478260 95 182 59 Portmap 82 [RPC 1.481671 100 192 59 Portmap 82 [RPC

1.485069 105 192 Pus Portmap 82 [RPC 1.488581 110 192 18 Portmap 82 [RPC 1.492110 117 192 59 Portmap 82 [RPC 1.495196 121 192 59 Portmap 82 [RPC 1.498291 125 192 59 Portmap 82 [RPC 1.501962 129 192 59 Portmap 82 [RPC 1.505065 133 192 59 Portmap 82 [RPC 1.508253 137 192 oe Portmap 82 [RPC 1.511239 141 192 59 Portmap 82 [RPC 1.514761 148 192 59 Portmap 82 [RPC 1.517908 152 192 59 Portmap 82 [RPC 1.520572 153 192 59 Portmap 82 [RPC 1.524325 160 192 59 Portmap 82 [RPC 1.527390 164 192 59 Portmap 82 [RPC 1.530921 171 192 oe Portmap 82 [RPC

Hình 2.1 Sử dung wireshark bắt gói tin giao thức portmap(Nguồn htfps://whitehat.vn/threads/port-map-ddos-amplification.6 144/) [6]

30

Trang 29

2.1.1.2 DNS

DNS là các “danh bạ” điện tử của Internet; chúng là con đường thông qua đó

các thiết bị Internet có thé tra cứu các máy chủ web cụ thé dé truy cập nội dung

Internet.DNS flood là một kiểu tấn công từ chối dich vụ phân tan (DDoS) trong đó

kẻ tan công quá tải máy chủ DNS của một tên miền cụ thé nhằm phá vỡ độ phân

giải DNS cho miền đó Nếu người dùng không thê tìm thấy trong “danh bạ”, nó

không thê tra cứu địa chỉ đề thực hiện cuộc gọi cho một tài nguyên cụ thê Bằng

cách phá vỡ phân giải DNS, cuộc tan công DNS flood sẽ làm tổn hại đến khả năng

đáp ứng lưu lượng truy cập hợp pháp của trang website, API hoặc ứng dụng web.

Các cuộc tan công DNS flood có thé khó phân biệt với lưu lượng truy cập lớn thôngthường vì lưu lớn truy cập thường đến từ vô số vị trí, truy vấn các hồ sơ thực trên

miền, bắt chước lưu lượng truy cập hợp pháp [7]

Trang 30

2.1.1.3 NTP

e NTP (Network Time Protocol - Giao thức đồng bộ thời gian mạng) là

một giao thức đề đồng bộ đồng hồ của các hệ thống máy tính thông qua

mạng dữ liệu chuyền mach gói với độ trễ biến đổi Giao thức này đượcthiết kế dé tránh ảnh hưởng của độ trễ biến đổi bằng cách sử dụng bộđệm jitter NTP cũng là tên gọi của phần mềm được triển khai trong dự

án Dịch vu NTP Công cộng (NTP Public Services Project).

e NTP Flooding là một loại tan công UDP flood với mục dich là khiến

cho NTP Server quá tai.

(Nguồn: https://vi.wikipedia.org/wiki/NTP)

2.1.1.4 SNMP

Simple Network Management Protocol (SNMP) là giao thức tang ứng

dụng được sử dung dé quan lý va giám sát các thiết bi mang cũng như chức năng

của chúng SNMP cung cấp ngôn ngữ chung cho các thiết bi mạng dé chuyền tiếp

thông tin quan lý trong cả môi trường single-vendor và multi-vendor trong mạng

cục bộ (LAN) hoặc mạng diện rộng (WAN) Phiên ban gần đây nhất của SNMP,

version 3, bao gồm các cải tiến bao mật dé xác thực và mã hóa tin nhắn SNMP cũng

như bảo vệ các gói trong khi truyền [8]

với hệ thong internet và kết nối với nhau dựa vào thiết lập kết nối trên dịch vụ

SSDP Nói một cách đơn giản thì SSDP làm nhiệm vụ cung cấp các thông tin cần

thiết dé tạo ra các kết nối giữa các thiết bị có kết nối mạng internet [9]

Đặc tính cua SSDP DOS:

32

Trang 31

Gửi các gói tin về các thông số cơ bản của thiết bị thông qua việc giả

mạo IP của server mục tiêu làm tràn ngập các kết nối tới server dẫn tới

tình trạng DDOS.

SSDP sử dung cả 2 giao thức mạng là IPv4 và IPv6.

Sử dụng giao thức HTTP với các hàm NOTIFY và M-SEARCH để tìmkiếm và lay thông tin của các thiết bị sử dụng giao thức UPnP có kết nối

LDAP hoạt động theo mô hình client-server Một hoặc nhiều LDAP

server chứa thông tin về cây thư mục (Directory Information Tree —

DIT) Client kết nối đến server và gửi yêu cầu Server phản hồi bằng thông tin trên chính nó hoặc trỏ tới LDAP server khác dé client lay thông

tin.

Trình tự khi có kết nối với LDAP:

o Connect (kết nối với LDAP): client mở kết nối tới LDAP server

o Bind (kiểu kết nói: nặc danh hoặc đăng nhập xác thực): client gửi

thông tin xác thực

Search (tim kiếm): client gửi yêu cầu tìm kiếm

Interpret search (xử lý tìm kiếm): server thực hiện xử lý tìm kiếm

Result (kết quả): server trả lại kết quả cho client

Unbind: client gửi yêu cầu đóng kết nối tới server

o Close connection (đóng kết nối): đóng kết nối từ server

Seo

(Nguồn:https://bizflycloud.vn/tin-tuc/Idap-la-gi-Idap-hoat-dong-nhu-the-nao-20200617105658612.htm) [10]

2.1.2 TCP, UDP, ICMP Flooding Attack (Bonesi tạo ra)

Mục tiêu của cuộc tan công DdoS dựa trên giao thức mang là khiên cho máy nạn

nhân mục tiêu không thê truy cập, bằng cách khai thác điểm yếu của các giao thức

Thường là ở Layer 3 hoặc Layer 4.

Điều này được thực hiện bằng nhiều kỹ thuật:

33

Trang 32

SYN Flood: dành riêng cho TCP Các giao thức TCP cho phép các ứng dụng

truyền dữ liệu bằng cách sử dụng một quá trình gọi là quá trình bắt tay ba

bước Trước khi truyền dữ liệu diễn ra, lệnh SYN cần được gửi bởi client,

sau đó được trả lời bằng SYN Acknowlegement (SYN-ACK) từ máy chủ,

và cuối cùng được trả lời lại bằng Acknowledgement (ACK) từ máy client

Attacker có thê khai thác quá trình này bằng cách gửi một số lượng lớn gói

SYN đến máy chủ Điều này lấn áp khả năng của máy chủ, dẫn đến hàng

đợi tồn đọng lại, nếu các gói SYN tiếp tục xuất hiện và quá tải Thông

thường, kẻ tân công sẽ sử dụng SYN Flood đề đánh giá khả năng của máy

chủ mục tiêu trước khi tiễn hành một cuộc tắn công [11].

Ping Attack: Phuong phap nay tuong tu phuong phap SYN Flood, nhung

trong trường hợp này là một lượng lớn các echo request Internet Control

Method Protocol (ICMP), được gọi là ping, được sử dụng dé làm tràn ngập

mạng mục tiêu [11]

UDP Flood: Với UDP Flood, attacker gửi một lượng lớn số lượng các gói tin, trong đó chứa các UDP datagram, đến các port ngẫu nhiên Bởi vì các

port sẽ gửi một phan hồi trở lại cho mọi gói mà nó nhận được, từ đó mà nó

có thể nhanh chóng bị quá tải.[12]

2.2 Intrusion Detection System (IDS)

IDS (Intrusion Detection Systems - Hệ thong phát hiện xâm nhập) là thiết bị hoặc

phân mêm có nhiệm vụ giám sát traffic mạng, các hành vi đáng ngờ và cảnh báo

cho admin hệ thống Mục đích của IDS là phát hiện và ngăn ngừa các hành động

phá hoại bảo mật hệ thống, hoặc những hành động trong tiễn trình tan công như dò

tìm, quét các công IDS cũng có thé phân biệt giữa những cuộ tan công nội bộ (từ

chính nhân viên hoặc khách hàng trong tô chức) và tan công bên ngoài (từ hacker)

34

Trang 33

Trong một số trường hợp, IDS có thể phản ứng lại với các traffic bất thường/độc hạibang cách chặn người dùng hoặc địa chỉ IP nguồn truy cập mạng.

IDS có nhiều loại và tiếp cận các traffic đáng ngờ theo nhiều cách khác nhau Có

IDS dựa trên mạng (NIDS) và dựa trên máy chủ (HIDS) Có IDS phát hiện dựa trên

việc tìm kiếm các chữ ký cụ thể của những mối đe dọa đã biết (tương tự như cách

các phần mềm diệt virus phát hiện và ngăn chặn malware) va IDS phát hiện bang

cách so sánh các mẫu traffic với baseline rồi xem có sự bất thường nào không Có

những IDS chỉ theo dõi và cảnh báo, có IDS sẽ thực hiện hành động khi phát hiện

xâm nhập [2, 3] Chúng ta sẽ xem xét cụ thể dưới đây :

e NIDS: Network Intrusion Detection Systems được đặt tại một diém chién

lược hoặc những diém giám sat traffic đên va di từ tat ca các thiệt bi trên

mang Lý tưởng nhât là bạn có thê quét tat cả traffic inbound và outbound,

nhưng việc này có thê tạo ra nút that cô chai làm giảm toc độ chung của mạng [13].

e HIDS: Host Intrusion Detection Systems, hệ thông phát hiện xâm nhập nay

chạy trên máy chủ riêng hoặc một thiệt bị đặc biệt trên mạng HIDS chỉ giám

sát các gói dữ liệu inbound và outbound từ thiét bi và cảnh báo người dùng

hoặc quản tri viên vê những hoạt động đáng ngờ được phát hiện [13].

e Signature-Based: Là các IDS hoạt động dựa trên chữ ký, giám sát các gói

tin trên mạng và so sánh chúng với cơ sở dữ liệu chữ ký, thuộc tính từ những

môi đe dọa đã biệt, tương tự như cách phân mêm diệt virus hoạt động Van

đề đối với hệ thống IDS này là có thê không phát hiện ra mối đe dọa mới,

khi chữ ký đê nhận biệt nó chưa được IDS kip cập nhật [13].

2.2.2 IDS dựa trên phương pháp học máy

Các IDS truyền thống phát hiện xâm nhập dựa trên dấu hiệu (Signature-Based

IDS) thực hiện so sánh lưu lượng truy cập với cơ sở dữ liệu chứa các mẫu tan công(gọi là dấu hiệu/chữ ký) Kiểu phát hiện này có hạn chế đó là khó phát hiện ra

những dạng tân công bị giới hạn bởi số lượng chữ ký cũng như không có khả năng

nhận diện các cuộc tấn công chưa được biết trước

Đề khắc phục các nhược điểm của IDS truyền thống, gần đây các thuật toán

Machine Learning (ML) được áp dung trong IDS dé xác định và phân loại các mối

đe dọa bao mật vi vậy giúp phát hiện ra những hành vi đáng ngờ Dang IDS này sử

35

Trang 34

dụng các kỹ thuật học máy đề tạo ra một mô hình mô phỏng việc truy cập thông

thường của người dùng mạng Do đó nếu có một truy cập bất thường, ML IDS sẽ

Attack detection and response |

Hình 2.4 Kiến trúc của IDS dựa trên AT [14]

2.3 Bonesi

2.3.1.

23.2.

Giới thiệu chung

BoNeSi! là công cụ giả lập tan công DDos bằng các tạo ra các traffic botnet

ảo vào hệ thống Được dùng đề nghiên cứu các cuộc tắn công DDos

BoNeSi sinh ra các gói tin ICMP, UDP va TCP (http) gây tràn hệ thống

Cũng có nhiều công cụ khác có chức năng tương tự nhưng BoNeŠi là công

cụ có thể giả lập được cả tan công HTTP-GET đến từng một mạng lưới lớn

Botnet BoNeSi cũng cô gang sinh ra các gói tin dé tránh việc bị lọc

BoNeSi được khuyến nghị sử dụng trong môi trường ảo để test Tuy nhiên,

UDP va TCP vẫn có thê hoạt động trên môi trường Internet nên cần phải cần

thận khi sử dụng những công cụ này Tan công tràn HTTP không thé giả lập

được Internet bởi vì webserver cần phải trả về mọi thứ ngược lại máy đang

chạy BoNeSi.

BoNeSi bắt các gói tin TCP thông qua network interface và phản hoi tất cả

các gói tin đó thông qua kết nối TCP Tính năng này cần thiết trong việc bị các webserver phản hồi các request đến từ BoNeSi.

Chip AMD Opteron 2Ghz, BoNeSi có thể tạo lên đến 150,000 gói tin trên

giây.

Cai đặt Bonesi trên Ubuntu 16.04

Đâu tiên, ta clone repo về

! Tham khảo thêm về Bonesi tại: https://github.com/Markus-Go/bonesi

36

Trang 35

Hình 2.5 Clone repo của bonesi về

Cài đặt các thư viện cần thiết:

sudo apt-get install libnet-dev sudo apt-get install build-essential sudo apt-get install libpcap0.8-dev

Cai dat autoconf:

sudo apt-get install autoconf

Reading state information Done

The following packages were automatically installed and are

oost- filesyste em1.54 0 11bbo ost- progr an- opttons1 54.0

Trang 36

make[1]: Leaving directory `/home/user/bonest'user@ubuntu: “/bonests, make tnstalt |

Making install in sre make[1]: Entering directory `/home/user/bonesi/src' make[2]: Entering directory `/home/user/bonest/src'

/bin/mkdir -p '/usr/local/bin'

/usr/btn/tnstaLL -c bonesi '/usr/local/bin'

/usr/bin/install: cannot create regular file ‘/usr/loca

denied

make[2]: *** [tnstaLL-binPROGRAMS] Error 1 make[2]: Leaving directory `/home/user/bonest/src' make[1]: *** [install-am] Error 2

make[1]: Leaving directory `/home/user/bonest/src' make: *** [install-recursive] Error 1

user@ubuntu:~/bonesi§ sudo make install

Making install in sr

make[1]: Entering directory `/home/user/bonest/src'

make[2]: Entering directory `/home/user/bonest/src'

viz a 2 eee eee eee

Hinh 2.8 Chay 2 lénh va cai xong bonesi

user@ubuntu:~/bonest$ bonest

Usage: bonesi [OPTION ] <dst_ip:port=

Options:

-i, ips=FILENAME filename with ip list

-p, protocol=PROTO udp (default), icmp or tcp

send_rate=NUM packets per second, 6 = infinite (default) payload_size=SIZE size of the paylod, (default: 32)

stats_file=FILENAME filename for the statistics, (default: 'stats

-c, max_packets=NUM maximum number of packets (requests at tcp/ht

-U, UrL=URL the url (default: '/') (only for tcp/http)

-L, url_lList=FILENAME filename with url list (only for tcp/http)

-b, useragent_list=FILENAME filename with useragent list (only for tcp/ht

Trang 37

user@ubuntu:~/bonesi$ sudo bonesi 127.0.0.1:80

Warning: There is noch File with useragent names! Th

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.

in

in in

1.000001

1.000003

1.000002 1.000003 1.000001 1.000001 1.000002 1.000004 1.000000

seconds seconds seconds

user@ubuntu:~$ sudo tcpdunp -i Lo

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

Listening on lo, Link-type EN10MB (Ethernet), capture size 65535 bytes

localhost udp por

Hình 2.12 Kết quả sau khi sử dung tcpdump bắt bonesi

39

Trang 38

2.4 TrafficGenerator

Chúng tôi sử dụng HKUST-SING/TrafficGenerator 7dé tạo những ludng traffic bình

thường Đề cài đặt thì ta cứ clone repo và thực hiện lệnh sudo make và cài những thưviện cần thiết

2.4.1 Giới thiệu chung

e Một trình tạo lưu lượng truy cập đơn giản cho các thử nghiệm mang

° Máy khách thiết lập các kết nối TCP liên tục đến một danh sách các máy

chủ và tạo ngau nhiên các yêu cầu qua các kết nối TCP theo tp, cau hinh

may khach Nếu không có kết nối TCP khả dung, máy khách sé thiết lập một

kết nối mới

e Trong file configuration cua client, _nguồn dùng chỉ định danh sách các

destination servers, kích thước yêu cau, tốc độc gửi,

server 172.28.8.1 5001 server 172.28.8.1 5001

server 172.28.8.1 5001

req size dist conf/DCTCP_CDF.txt

rate @Mbps 18 rate 5@@Mbps 38 rate 80@Mbps 608

dscp @ 25

dscp 1 25

dscp 2 25 dscp 3 25

Hình 2.13 Nội dung file client_config.txt sử dung trong thử nghiệm 2.4.2 Thử nghiệm

Trong thư mục chính, thực hiện những dòng lệnh sau

Trang 39

fl quan1999nt @quan1999nt-virtual-machine: ~/Desktop/ Traffic Q =

base) § /bin/c

e generate 5000 reque

-168.1.51:5001 1657 requests -168.1.52:5001 1666 requests

168.1.53:5001 1677 requests

average request arrival interval is 16288 us

e average request size is 1727136 bytes

e average DSCP value is 1.52

average flow sending rate is 627 Mbps expected experiment duration is 81 s

Hình 2.14 Chay thử Traffic Generator

Tham khảo thêm về các option va command line tai:

Trang 40

Để chạy tấn công thì ta vào thư mục đã clone về và chạy lệnh sau:

go run main.go -m a -f input.txt -t $ip4 -p 631 -timeout 3699 type ntp

Trong đó có các option như sau:

-m: chọn chế độ trong đó “a” là thực hiện tấn công

-f: file chứa các địa chỉ dich để gửi gói tin

-t: địa chỉ ip mà sau khi thực hiện gửi thì những gói reply sẽ được trả về địa

chỉ này

-p: port cua địa chi ip mà có trong option —f

-timeout: thời lượng thực hiện gửi gói tin

type: loại gói tin đã được đề cập ở Hình 2.15

* Lưu ý: Công cụ này chủ yếu dùng dé thực hiện tan công drdos nhưng ta có thé áp

dụng nó dé thực hiện trao đôi gói tin giữa hai máy bang cách sử dung option -t là

# run portmap dos

echo “date +"%H:2M:#5"" - Run ntp dos

củ /home/ensemble_ 1ds/drdos-framework

ip4=$(/shin/in -o -4 addr list eth8 | awk '{print $4}' | cut -d/ -f1)

go run main.go -m a -f input.txt -t $ip4 -p 631 -timeout 3688 type ntp

Hinh 2.16 Script dé yéu cau botnet tao giao thire ntp

Tham khao thém tai:

https://github.com/chriskaliX/drdos-framework/blob/master/README-EN.md

42

Ngày đăng: 02/10/2024, 05:23

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

TÀI LIỆU LIÊN QUAN