Biểu đồ trên cho thấy rằng tỉ lệ dữ liệu Benign từ 77% xuống cịn 60% và tỉ lệ dữ liệu DDoS tăng từ 23% lên đến 40%. Tỉ lệ mới giữa 2 dạng dữ liệu giúp cho các thuật tốn AI tập trung hơn vào việc tìm kiếm đặc điểm của các dạng dữ liệu tấn cơng, giảm được sự mất cân bằng dữ liệu so với bộ dữ liệu ban đầu. Đồng thời tỉ lệ này vẫn phản ánh được dữ liệu mạng trong thực tế khi mà đa số các lưu lượng chảy trong mạng đều là dữ liệu truy cập hợp lệ. Đáng chú ý hơn, việc tăng giảm tỉ lệ này đến từ việc tăng số lượng lưu lượng tấn cơng DDoS trong bộ dữ liệu vì vậy bộ dữ liệu mới khơng gây lên trình trạng mất mát dữ liệu training.
Ngồi ra, phân bố dữ liệu giữa các loại tấn cơng cũng được cải thiện, gom nhĩm tấn cơng tránh việc chênh lệch giữa các loại tấn cơng. Ví dụ các hình thức tấn cơng HTTP Slow như (Slowloris, slowhttptest) được gĩm nhĩm chung là HTTP Slow. Sự đa dạng các loại tấn cơng tăng từ 7 (2017) và 13(2019) lên 24, đồng thời giảm sự mất cân bằng về số lượng của các loại tấn cơng. Như vậy, các thuật tốn sử dụng sẽ khơng tập trung hồn tồn vào một loại tấn cơng mà sẽ phân bố ra các dạng tấn cơng khác nhau. Điều này cĩ thể khiến cho hiệu năng trên từng loại tấn cơng giảm xuống vì thuật tốn phải traning dữ liệu với nhiều nhãn hơn nhưng đảm bảo được việc model AI sẽ thay đổi theo mong muốn của người quản trị mạng theo từng đặc điểm của hệ thống mạng cụ thể.
4.2 Mơ hình kiểm thử với các thuật tốn học máy 4.2.1 Tiền xử lý dữ liệu 4.2.1 Tiền xử lý dữ liệu
Trong phần này, tác giả rà sốt lại các nghiên cứu của các nhà nghiên cứu để quyết định thuật tốn học máy được sử dụng phổ biến trong việc phát hiện tấn cơng DoS/DDOS. Sau đĩ tác giả sẽ đề xuất ra một mơ hình học máy để so sánh với các thuật tốn học máy khác. Tiếp theo, tác giả sử dụng các bộ dữ liệu như CIC-IDS-
DDoS 40%
Benign 60%
62
2017 và CICDDoS2019 làm tập dữ liệu luyện tập và tập dữ liệu kiểm thử. Sau khi hồn thành xong quá trình xử lý dữ liệu và chọn thuật tốn phù hợp, tác giả tiến hành kiểm tra đánh giá, sau đĩ chọn ra các trường dữ liệu cĩ mức độ ảnh hưởng cao trong việc phát hiện tấn cơng DoS/DDOS của mơ hình luyện tập.
Quá trình xử lý dữ liệu
Bộ dữ liệu CIC-IDS-2017 và CICDDoS2019 cĩ dung lượng tương đối lớn và cần sự xử lý cẩn thận và chính xác để mơ hình đạt được hiệu quả tốt nhất; Việc đầu tiên cần xử lý là loại bỏ đi một số trường khơng cần thiết, cĩ mức độ ảnh hưởng thấp trong việc phán đốn và giữ lại các trường cĩ mức độ ảnh hưởng quan trọng. Để thực hiện được việc này, luận văn cĩ nghiên cứu, phân tích từ các nghiên cứu trước đĩ về đánh giá dataset [18] cũng như các nghiên cứu ứng dụng học máy cho các dataset này.
Trong nghiên cứu, luận văn sử dụng thư viện Pandas, Scikit-Learn, Numpy để phục vụ cho quá trình xử lý dữ liệu cả 3 bộ dữ liệu. Quá trình xử lý dữ liệu cĩ thể được viết vắn tắt như sau:
• Các feature như flow-id, src-ip, src-port, dst-ip và timestamp bị loại bỏ vì
chúng khơng liên quan đến nhãn luồng trong thiết lập này. Các mẫu dữ liệu chứa NaN, Inf val-ues cũng bị loại bỏ.
• Do vấn đề tính tốn sai các feature [18] một số feature luơn bị null cũng
được loại bỏ (‘Bwd PSH Flags’, ‘BwdURG Flags’, ‘Fwd Avg Bytes/Bulk’, ‘Fwd Avg Pack-ets/Bulk’, ‘Fwd Avg Bulk Rate’, ‘Bwd Avg Bytes-/Bulk’, ‘Bwd Avg Packets/Bulk’, ‘Bwd Avg BulkRate’).
• Loại bỏ 4 feature bị trùng lặp trong file: Aver-age Packet Size" and "Packet Length Mean; FwdPacket Length Mean and Fwd Segment Size Avg
• Các mẫu dữ liệu được gắn nhãn là lành tính hoặc kiểu tấn cơng tương ứng
• Tồn bộ tập dữ liệu được chia thành tập huấn luyện và thử nghiệm theo tỷ
lệ 8 đến 2.
Từ những dữ liệu đặc trưng trích xuất, tác giả tiến hành kết hợp để tạo ra bộ dữ liệu mới.
1. Dữ liệu được làm sạch, loại bỏ các cột chứa những thơng tin khơng quan trọng như “ flow id”, “src ip”, “ src port”, “dst ip” , “ timestamp”. Sau đĩ loại bỏ tiếp các hàng chứa các kí tự NaN, Inf. Đĩ là các lưu lượng bị lỗi trong khi thu thập thơng tin
2. Sau đĩ dữ liệu được gán lại nhãn. Với bài tốn anomaly, các lưu lượng benign giữ nguyên nhãn, các lưu lượng tấn cơng khác nhau được gán chung một nhãn là DoS/DDOS. với bài tốn multiple DoS/DDOS detection, các nhãn của dữ liệu được giữ nguyên cho việc training model.
4. Chia dữ liệu thành 2 tập training data và testing data. Tập trainning data chiếm 80% dữ liệu và testing data chiếm 20% dữ liệu
63
4.2.2 Huấn luyện model AI