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 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ố
" — 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 54 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 74 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 8Lờ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 10Nộ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 13MỤ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 142.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 152.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 163.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 174.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 18DANH 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 19Hì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 20Hì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 21Hì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 22DANH 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 23DANH 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 24LSTM 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 25TÓ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 26Chươ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 271.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 28Chươ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 292.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 302.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 31Gử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 32SYN 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 33Trong 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 34dụ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 35Hì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 36make[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 37user@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 382.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 39fl 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