Môi trường thực nghiệm

Một phần của tài liệu ĐỒ ÁN CHUYÊN NGÀNH ĐẦU ĐỘC HỆ THỐNG PHÁT HIỆN XÂM NHẬP BẰNG MÔ HÌNH MẠNG SINH ĐỐI KHÁNG TRONG MÔI TRƯỜNG HỌC CỘNG TÁC (Trang 28 - 33)

CHƯƠNG 4. KẾT QUẢ THỰC NGHIỆM, PHÂN TÍCH – ĐÁNH GIÁ 20

4.1 Môi trường thực nghiệm

4.1.1. Tài nguyên

Máy ảo InSecLab Virtual Lab:

• CPU: Intel® Xeon® E5-2660 v4 (16 cores – 2.0 Ghz)

• RAM: 64GB

• Hệ điều hành: Ubuntu 18.04

• Ổ cứng: HDD 100GB Môi trường phát triển:

• Trình soạn thảo: Visual Studio Code.

• Ngôn ngữ lập trình: Python3.

• Nền tảng Federated Learning: Keras Tensorflow.

• Nền tảng IDSGAN: Pytorch.

• Thư viện sử dụng: numpy, pandas, mathplotlib, sklearn, ...

4.1.2. Tập dữ liệu

Trong phần thực nghiệm, nhóm chúng tôi chọn một trong số các bộ dữ liệu mới nhất dùng để huấn luyện các mô hình IDS học máy, có tên là CIC-ToN-IoT.

Đây là tập các lưu lượng mạng được trích xuất từ bộ ToN-IoT bằng công cụ CICFlowMeter-v4, có chứa 85 thuộc tính với tổng cộng hơn 5.3 triệu bản ghi.

Trong đó, số bản ghi chứa lưu lượng mạng tấn công (attack) chiếm gần 53% và 47% còn lại là các mẫu lành tính (benign). Các mẫu lưu lượng mạng độc hại trên được thu thập dựa trên 9 loại tấn công khác nhau như: Backdoor, DoS, DDoS, Injection, Man-In-The-Middle, Password, Ransomware, Scanning and XSS.

4.1.3. Tiền xử lý dữ liệu

Chúng tôi tiến hành thực nghiệm trên việc huấn luyện IDS cộng tác có chức năng phân loại nhị phân, do đó cột Attack bao gồm các loại tấn công sẽ bị bỏ đi, chỉ sử dụng cột Label chứa nhãn 0 dành cho các mẫu lành tính (Benign) và nhãn 1 dành cho mẫu độc hại (Attack). Bên cạnh đó, các thuộc tính chỉ chứa 1 giá trị duy nhất cũng bị loại bỏ. Những missing values, infinite values tương tự cũng sẽ bị triệt tiêu. Ngoài ra, để loại bỏ tác động về chiều giữa các giá trị đối tượng trong vectơ đầu vào, đại lượng vô hướng tiêu chuẩn được sử dụng để chuẩn hóa các đối tượng số gốc và được chuyển đổi thành một phạm vi cụ thể. Trong trường hợp này, các giá trị được chuẩn hóa về khoảng [0,1] qua hàm Min-Max-Scaler có công thức như sau:

xscaled= x−xmin xmax−xmin

Trong đó:

• x: giá trị hiện tại của thuộc tính trước khi chuẩn hóa

• xmin: giá trị nhỏ nhất trong các giá trị của thuộc tính trước khi chuẩn hóa

Bảng 4.1: Kiến trúc Generator và Discriminator trong IDSGAN Layer Input Output Activation

Generator

Linear input_dim input_dim//2 ReLU Linear input_dim//2 input_dim//2 ReLU Linear input_dim//2 input_dim//2 ReLU Linear input_dim//2 input_dim//2 ReLU Linear input_dim//2 output_dim

Discriminator

Linear input_dim input_dim*2 LeakyReLU Linear input_dim*2 input_dim*2 LeakyReLU Linear input_dim*2 input_dim*2 LeakyReLU Linear input_dim*2 input_dim//2 LeakyReLU Linear input_dim//2 output_dim

• xmax: giá trị lớn nhất trong các giá trị của thuộc tính trước khi chuẩn hóa

• xscaled: giá trị của thuộc tính sau khi chuẩn hóa

Kết thúc quá trình xử lý dữ liệu,tập CIC-ToN-IoT chúng tôi sử dụng chứa 70 thuộc tính bao gồm cả thuộc tính Label.

4.1.4. Mô hình IDSGAN

GAN: Mô hình IDSGAN sử dụng biến thể WGAN với kiến trúc của Gen- erator và Discriminator được mô tả ở Bảng 4.1 . Mô hình IDSGAN được huấn luyện với tổng cộng 20 epochs, n_critics = 5 (Huấn luyện Discriminator gấp 5 lần so với Generator), clamp= 0.01. Hàm RMSprop được dùng làm hàm tối ưu trong mô hình với learningrate = 0.0001.

IDS: Các thuật toán ML/DL như: Decision Tree (DT), Random Forest (RF), Multi-layer Perceptron (MLP), Convolutional Neural Network (CNN), Long Short Term Memory (LSTM) được sử dụng.

4.1.5. Mô hình Federated Learning

Trong phần thực nghiệm này, chúng tôi sử dụng mô hình Federated Learning được khởi tạo với số client K và tiến hành học cộng tác trong số round R (K, R được thay đổi tuỳ theo trường hợp thực nghiệm). Trong mỗi round, mô hình được huấn luyện cục bộ với batch_size= 1024, trong vòng 5 chu kì. Thuật toán optimizer được sử dụng là Adam với learningrate = 0,0001. Thuật toán được sử dụng cho IDS trong ngữ cảnh này là CNN được minh hoạ như hình 4.1 dưới đây.

Hình 4.1: Kiến trúc mạng CNN

4.1.6. Bộ công cụ ART

Adversarial Robustness Toolbox (ART) là một thư viện Python dành cho Bảo mật học máy. ART cung cấp các công cụ cho phép các nhà phát triển bảo vệ và đánh giá các mô hình và ứng dụng Học máy chống lại các mối đe dọa như vượt mặt (evasion), đầu độc (poisoning), khai thác (extraction), và suy diễn (inference). ART hỗ trợ tất cả các framework học máy phổ biến như Tensor- Flow, Keras, PyTorch, MXNet, scikit-learning, XGBoost, LightGBM, CatBoost, GPy, ... ; tất cả các loại dữ liệu (hình ảnh, âm thanh, video, bảng,...); và các nhiệm vụ như phân loại (classification), phát hiện đối tượng (object detection),

nhận dạng giọng nói (speech recognition), phát sinh (generation), chứng nhận (certification),...

Trong phần thực nghiệm này, nhóm sử dụng bộ công cụ ART để tạo ra những mẫu đối kháng mới, nhằm mục đích so sánh hiệu năng tấn công mô hình học cộng tác so với phương pháp sử dụng IDSGAN như nhóm đã đề xuất. Cụ thể, nhóm sử dụng công cụ Poisoning using Clean Label Backdoor Attacks in ART để biến đổi bộ tập dữ liệu huấn luyện.Theo đó, công cụ sẽ thêm nhiễu vào một số thuộc tính mà không làm biến đổi quá nhiều tính chất của tập dữ liệu, sau đó tiến hành đảo nhãn của chúng để tạo backdoor trên các mô hình học máy.

4.1.7. Cơ chế phòng thủ LOF

Local Outlier Factor (LOF) là cơ chế xác thực mô hình cục bộ khi đã được cập nhật lên máy chủ nhắm bảo vệ trước các cuộc tấn công đầu độc. Ta cóT là một tập dữ liệu được lưu trong máy chủ được sử dụng trong quá trình xác thực, S là mô hình toàn cục (global model) được tổng hợp tại máy chủ. Sau mỗi i lần máy chủ tổng hợp ta sẽ có được mô tổng hợp tương đương là Si.Với mỗi một mô hình Si ở trên ta sẽ thu được 2 sai số là errT(Si)y−>X và errT(Si)X−>y, trong đó errT(Si)y−>X là số lượng nhãn y bị phân loại sai bởi mô hình Si và errT(Si)X−>y là số lượng nhãn bị phân loại sai thành nhãn y. Sau đó tính toán hai sự khác biệt về sai số giữa mô hình Si và Si+1 như sau:

vs(Si, Si+1, T, y) = errT(Si)X−>y−errT(Si+1)X−>y

vt(Si, Si+1, T, y) = errT(Si)y−>X −errT(Si+1)y−>X

Từ đó ta có tập vector bởi các nhãn Y của tập dữ liệu.

v⃗s = [vs(Si, Si+ 1, T, y)]y∈Y

v⃗t = [vs(Si, Si+ 1, T, y)]y∈Y

Có cặp vector trên ta sẽ thu được vi chính là sai số đặc trưng giữa mô hình Si và Si+1

vi= [v⃗s, v⃗t]

Với l mô hình an toàn đã được tổng hợp ta sẽ thu được tập hợp các sai số của các mô hình như sau.

v = [v1, v2, ..., vl−1]

Và với mỗi mô hình cục bộ Cik từ thành viên k tại vòng thứ i gửi lên sẽ được tính toán vi từ Si. Sau đó sẽ được đưa qua hàm LOF [1] để được tính điểm.

Điểm số này sẽ đánh giá mô hình cục bộ có được chấp nhận tham gia vào quá trình tổng hợp hay không.

Một phần của tài liệu ĐỒ ÁN CHUYÊN NGÀNH ĐẦU ĐỘC HỆ THỐNG PHÁT HIỆN XÂM NHẬP BẰNG MÔ HÌNH MẠNG SINH ĐỐI KHÁNG TRONG MÔI TRƯỜNG HỌC CỘNG TÁC (Trang 28 - 33)

Tải bản đầy đủ (PDF)

(45 trang)