Mục đích khóa luận này là xây dựng mô hình đánh giá dựa trên kiến trúcDIGFuPAS dé đưa ra đánh giá kha năng của IDS trước các loại tan công sử dụng các mẫu đối kháng cũng như dựa vào các
Thách thức với IDS máy hoe - ¿5252222 S*S*2xt#Errkekekerrrrrrerree 5 2.3 Các thông số đánh giá IDS máy học -+z++2E++++£22++ze+rrrxzrrrrrxee 6 2.4 Mô hình đối kháng tạo sinh (Generative Adversarial Network — GAN)
Học giám sát (Supervised Learning) và học không giám sát (Unsupervised Learning) aime Sagem, sta đới Q.Q.Qà LH Hee 9 2.4.2 Mô hình phân biệt (Discriminative Modeling) và mô hình tạo sinh (Generative Modeling) - ¿+ + 522x222 12191 2121711111111 xe 11 2.4.3 Mạng đối kháng tạo sinh (Generative Adversarial Network)
Một mô hình máy học căn bản liên quan đến việc sử dụng môt mô hình để đưa ra dự đoán Mô hình này cần có một bộ dữ liệu để huấn luyện Bộ huấn luyện này gồm nhiều mẫu, mỗi mẫu này có các giá tri đầu vào (X) và có lớp nhãn đầu ra (Y) [9].
Một mô hình thường được huấn luyện bằng 2 cách, được gọi là: ¢ Hoc có giám sát (Supervised Learning): Mô hình được huấn luyện bằng cách đưa các giá trị đầu vào, dự đoán giá tri đầu ra và được điều chỉnh làm sao giá trị đầu ra dự đoán của mô hình gióng với giá trị lớp nhãn đầu ra.(Hình 2.10)
Hình 2.10 Ví dụ về hoc có giám sát (Nguồn hình ảnh [9]) e Học không giám sát (Unsupervised Learning): Mô hình được huấn luyện chỉ giá các giá trị đầu vào và không có lớp nhãn đầu ra Mô hình sẽ tự thực hiện hành động ví dụ như trích xuất hoặc gom gọn các mẫu giá trị đầu vào này.(Hình 2.11)
Hinh 2.11 Vi du vé hoc không giám sat (Nguồn hình ảnh [9])
2.4.2 Mô hình phân biệt (Discriminative Modeling) và mô hình tạo sinh
Trong học có giám sát, việc một mô hình phải chọn hoặc đưa ra các quyết định dé phân loại các mẫu giá trị đầu vào thành các lớp được gọi là phân loại hay còn gọi là mô hình phân biệt (Hình 2.12).
Hình 2.12 Ví dụ về mô hình phân biệt (Nguồn hình ảnh [9])
Trong học không giám sát, mô hình thực hiện trích xuât hoặc tóm gọn lại các giá trị đầu vao nay đê tạo hoặc sản sinh ra các mau mới được gọi là mô hình tạo sinh (Hình
Hình 2.13 Ví dụ về mô hình tạo sinh (Nguồn hình ảnh [9]) 2.4.3 Mạng đối kháng tạo sinh (Generative Adversarial Network)
Mạng đối kháng tạo sinh (Generative Adversarial Network) hay GAN là một mô hình tạo sinh dựa trên hoc sâu (deep learning) Kiến trúc mô hình GAN gồm hai mô hình con: e Trinh tạo sinh (Generator): mô hình được dùng dé tao ra mẫu mới phù hợp với một bài toán đặc thù. e Trinh phân biệt (Discriminator): mô hình dé phân loại các mẫu là thật (từ bai toán) hay là giả (từ trình tạo sinh)
2.4.3.1 Mô hình trình tạo sinh (The Generator Model)
Mô hình trình tạo sinh có đầu vào là một vec-tơ có độ dài ngẫu nhiên và đầu ra là một mẫu được khởi tạo theo yêu cầu (ví dụ là hình ảnh) Vec-tơ này được lây ngẫu nhiên từ phân phối Gaussian và nó sẽ được dùng làm giống (seed) hoặc là nguồn nhiễu (source of noise) cho quá trình sinh Từ vec-tơ ngẫu nhiên này, mô hình trình tạo sinh sẽ biến đổi dé tạo ra mẫu mới (ở đây là hình anh giả) (Hình 2.14) Sau quá trình huấn luyện, mô hình trình tạo sinh sẽ được giữ lại và sinh ra các mẫu ra mới.
Hình 2.14 Ví dụ về mô hình trình tạo sinh (Nguồn hình ảnh [9])
2.4.3.2 Mô hình trình phân biệt (The Discriminator Model)
Mô hình trình phân biệt nhận đầu vào là mẫu từ bài toán (có thé là thật là giả) và đưa ra dự đoán xem mẫu này là thật hay là giả Mẫu thật là mẫu được lay từ bộ dữ liệu huấn luyện và mẫu giả là kết quả từ mô hình trình tạo sinh.(Hình 2.15) Thông thường,
Hình 2.15 Ví dụ về trình phân biệt (Nguồn hình ảnh [9])
2.4.3.3 Các hoạt động của mạng đối kháng tạo sinh (Generative Adversarial
Network) Ở trong mạng đối kháng tạo sinh, hai mô hình con là trình tạo sinh và trình phân biệt đều được huấn luyện cùng nhau Trình tạo sinh sẽ tạo ra một loạt các mẫu mới cung cấp cho trình phân biệt Trình phân biệt nhận các mẫu từ trình tạo sinh đồng thời nhận cả các mẫu từ bộ dir liệu, sau đó thực hiện quá trình phân biệt và đưa ra nhận định là thật hay giả. Ở vòng tiếp theo, trình phân biệt sẽ được cập nhật dé có thé phân biệt mẫu thật và mẫu giả tốt hơn Đồng thời, trình tạo sinh cũng sẽ được cập nhật dựa trên kết quả các mẫu tạo ra có đánh lừa được trình phân biệt hay không Hình 2.16 thé hiện ví dụ về cách hoạt động mô hình mạng đối kháng tạo sinh.
Trường hợp lý tưởng, trình tạo sinh tạo ra mẫu mới hoàn hảo và đánh lừa hoàn toàn được trình phân biệt Làm cho trình phân biệt luôn đưa ra kết quả là 50-50 cho mẫu thật lẫn mẫu giả.
Hình 2.16 Ví dụ về trình đối kháng tao sinh (Ngu6n hình anh [9]) 2.4.4 Một số biến thể của GANs
2.4.4.1 Một số vấn đề liên quan đến GAN
Giông như bao mô hình khác, mô hình GANs cũng có những vân đê riêng của mình Một trong sô các vân đê đó là vân đê liên quan đên cân băng Nash và các vân đê liên quan đến độ dốc (Gradient) [10].
Mô hình GAN được xây dung dựa trên trò choi tổng bằng không (zero-sum game) Tro chơi nay còn được gọi là minimax Giải thích đơn giản, trò chơi là một trò chơi hai người, môi bên phải cô găng thực hiện tôi đa các hành động của mình và giảm
15 tối thiểu các hành động của đối thủ Áp dụng với mô hình GAN, trình tạo sinh phải cố gắng tối đa tạo ra các mẫu đề đánh lừa trình phân biệt, và ngược lại trình phân biệt phải cô gắng dé phân biệt các mẫu đối kháng Theo lý thuyết của trò chơi, mô hình GAN sẽ hội tụ khi trình phân biệt và trình tạo sinh đạt đến điểm cân bằng Nash Điểm cân bằng Nash xảy ra khi hai bên không thé thay đổi hành động của đối phương Nghia là trình tạo sinh sinh ra mẫu như thế nào cũng không ảnh hưởng đến trình phân biệt và ngược lại Và điểm cân bằng Nash là điểm tối ưu cho hàm mat mat minimax trong GAN dưới đây (Hình 2.1). mịn max V(D,G) = Ey xằ, op [log D(x)] + E,~p, (2) [log(1 — D(G(z)))|
Hình 2.17 Công thức tính hàm mat mát minimax GAN
Với ngữ cảnh trò chơi, giả sử hai người chơi A và B nắm hai giá trị x và y Mục tiêu của A là tối đa giá trị xy ngược lại B muốn tối thiểu xy (Hình 2.18). mịn max V(A,B)=xy
Hình 2.18 Công thức tính min B, max A theo bài toán
Cân bằng Nash xảy ra khi x=y=0 Ở trạng thái này hành động của đối thủ không còn quan trọng và không ảnh hưởng đến kết quả của trò chơi Và điểm cân bằng này có thê đễ dàng tìm được bằng độ dốc gradient (gradient descent) Các phần tử của x và y có thé tính được theo độ dốc của hàm V, va a là tốc độ học.
Hình 2.19 Công thức tinh các giá tri x,y theo ham V
Giả sử với x,y và xy được huấn luyện lặp lại nhiều lần thì kết quả cho thấy phần tử x và y không hội tụ.
Hình 2.20 Hình ảnh minh họa biểu diễn vị trí x, y (Nguồn hình ảnh [11])
Ứng dụng của GAN trong lĩnh vực an toàn thông tỉn
Trong lĩnh vực an toàn thông tin, khả năng xác định phần mềm độc hại hay nhận diện tan công mạng của bat kỳ hệ thống học máy nào cũng bị giới han bởi chất lượng của bộ đào tạo của nó Do đó, tập dữ liệu mà hệ thống đào tạo phải đại diện cho tất cả các loại phần mềm độc hại khác nhau đã hoặc có thể được phát hiện Các bản cập nhật thường xuyên cho tập huấn luyện cũng là một yêu cầu bắt buộc nếu muốn đạt được hiệu quả khi ứng dụng thực tế Đây là lý do tại sao tốc độ cập nhật là bản chất, và thời gian dao tạo lại chậm có thé khiến hệ thống dé bị ton thương Đây là nơi GANs có thé giúp chúng ta giải quyết bài toán này.
GANs có khả năng tạo ra các mẫu mới theo cùng phân phối với đữ liệu ban đầu.
Do đó, trong an ninh mạng - an toàn thông tin, chúng vô cùng hữu ích trong việc giúp tìm hiểu về cau trúc phân phối dữ liệu cho các loại phan mềm độc hại mới Chúng cũng giúp cung cấp thông tin chỉ tiết về quy trình được các tác giả phần mềm độc hại sử dụng để tạo các phiên bản mới của các họ phần mềm độc hại GAN có thê thực hiện tác vụ này mà không cần phải có trước mô hình phân bố xác suất của dữ liệu một cách rõ ràng. GAN hoc bằng cách đơn giản lay mẫu dữ liệu được cung cấp.
Các mô hình có thé được tăng cường mạnh mẽ hơn và có khả năng chống lai các cuộc tan công đối kháng bang cách cung cấp các dữ liệu tan công từ GAN cho quá trình huấn luyện Băng cách này, GAN giúp các mô hình dự đoán các hành động của những kẻ tấn công ác ý Nó giúp phát triển một bộ đào tạo tốt hơn dé xây dựng các mô hình học máy trở nên tốt hơn Cudi cùng, càng có nhiều thông tin dữ liệu để đào tạo, các mô hình học máy càng trở nên tốt hơn trong việc dự đoán các dang phần mềm độc hai/tan công mạng kiểu mới và mới hơn nữa [15].
Kiến trúc DIGFuPAS, . -2222++22222YY222+22222111121122121211111 1211111 22 1 Tổng quan kiến trúc DIGFUPAS c.ccssscsssssssessssssssccsssueecsssssesessssessessseeeeess 22 2 Quy trình tạo mẫu tấn công đối kháng -:-+¿+v+z++2cvvrcrsrrrs 23 2.6 Mạng khả lập trình SDN -¿ ¿cà 1 12v TH He, 24 Chương 3 MÔ HÌNH DANH GIÁ VÀ TANG CƯỜNG IDS
2.5.1 Tổng quan kiến trúc DIGFuPAS
Kiến trúc DIGFuPAS (Deceive IDS with GAN and Function Preservation on Adversarial Samples) là một kiến trúc ứng dụng mô hình GAN trong việc phát sinh dữ liệu đối kháng chống lại IDS và vẫn dam bảo thay đổi các đặc tính chức năng của mẫu lưu lượng [16].
Kiến trúc DIGFuPAS có 2 phần chính: e IDS hộp đen: đây là các IDS được xây dựng dựa trên các thuật toán máy học và được huấn luyện dựa trên các bộ dữ liệu cho IDS IDS hộp đen trong kiến trúc có vai trò đưa ra các dự đoán của mẫu lưu lượng dé hỗ trợ cho mô hình WGAN trong quá trình huấn luyện.
22 e Mô hình Wasserstein GAN (WGAN) là một biến thé của GAN Tương tự như
GAN, mô hình này có hai mô hình còn là mô hình trình tạo sinh và mô hình trình phân biệt Điểm khác biệt ở đây là thay vì trình phân biệt đưa ra phân loại thật giả thì trình phân biệt có nhiệm vụ đưa ra đánh giá mức độ giống thật của các mâu dir liệu đâu vào.
Vì WGAN được áp dụng trong phân loại nhị phân nên các mẫu đối kháng trong kiến trúc trên chỉ áp dụng cho một loại hình tấn công Vì vậy trong thực nghiệm thì mỗi IDS hộp đen chỉ được huấn luyện để phân loại một loại tắn công và mô hình WGAN trong DIGFuPAS sẽ được huấn luyện để tạo ra mẫu tân công đối kháng ứng với loại tấn công của IDS hộp đen.
2.5.2 Quy trình tạo mẫu tan công đối kháng Ở trong mô hình DIGFuPAS, đầu vào của trình tạo sinh là giá tri cua các thuộc tính không chức năng của mẫu tan công Các giá trị này có thé là giá trị thật được lấy từ mẫu tan công (Hình 2.25) hoặc là giá trị ngẫu nhiên nằm trong phạm vi [0,1] được phân bố đồng đều theo các thuộc tính không chức năng này (Hình 2.26) Từ đây, trình tạo sinh sẽ sinh ra các mẫu tan công đối kháng, các mẫu này cùng với mẫu từ bộ dữ liệu sẽ được đưa vào IDS hộp đen dự đoán cũng như đưa vào trình phân biệt Trình phân biệt sẽ sử dụng kết quả dự đoán từ IDS hộp đen đề làm giá trị các nhãn, từ đó đưa ra các điểm đánh giá mau dit liệu Điểm đánh giá càng nhỏ thì mẫu càng giống lưu lượng bình thường, ngược lại, điểm đánh gia càng cào thì càng giống lưu lượng tan công Các thông số được dùng cập nhật cho trình phân biệt sẽ dựa vào IDS hộp đen, nghĩa là các điểm đánh giá thấp hay cao phụ thuộc vào IDS xem nó là bình thường hay là tan công Với trình tạo sinh, các thông số đánh giá được cập nhật dựa trên điểm đánh giá từ trình phân biệt về mau tân công đôi kháng mà nó tao ra.
Process of Generating Adversarial Attack Samples
Attack Samples Adversarial Attack Samples
Hình 2.25 DIGFuPAS mô hình 1, đầu vào của trình tao sinh là các đặc tinh không chức năng của lưu lượng (Nguồn hình ảnh [16])
Process of Generating Adversarial Attack Samples
Attack Samples Adversarial Attack Samples
Hình 2.26 DIGFuPAS mô hình 2, đầu vào của trình tạo sinh là véc-tơ nhiễu n-chiều
2.6 Mạng khả lập trình SDN
Mạng khả lập trình SDN (Software-Defined Networking) là một kiến trúc mạng được xây dựng với mục đích tối ưu hóa, đơn giản hóa các hoạt động mạng bằng cách
24 ràng buộc chặt chẽ sự tương tác giữa các ứng dụng, dịch vụ mạng và các thiết bị mạng, dù chúng là thiết bị thật hay là thiết bị ảo hóa SDN sử dụng một điểm điều khiển mạng tập trung, được gọi là trung tâm điều khiển SDN (SDN controller) Trung tâm điều khiển này có nhiệm vụ điều phối, sắp xếp dé các ứng dụng mang, các phan tử trong mạng tương tác, truyền tải thông tin cho nhau Sau đó trung tâm điều khiển này sẽ tóm tắt, hiển thị các thông tin hoạt động mạng thông qua một giao diện thân thiện [17].
Về chuyên sau, kiến trúc SDN được chia làm ba lớp (Hình 2.27) [18]: e Lớp ứng dung (Application Plane): Chiu trách nhiệm quy định các quy định và cung cấp các dịch vụ như tường lửa, IDS/IPS, kiểm soát truy cập, Lớp này chịu trách nhiệm trừu tượng hóa mạng SDN và kiểm soát quản lý thông qua các API. e Lớp điều khiển (Control Plane): Chịu trách nhiệm cho các liên kết trong mạng.
Trung tâm điều khiển năm trong lớp này và chịu trách nhiệm chính cho thiết lập bảng luồng dữ liệu, đồng thời thực hiện trừu tượng hóa độ phức tạp của mang và thu thập thông tin của mạng thông qua các API. e Lớp dữ liệu (Data Plane): Lớp này cung cấp các thiết bị mạng như các switch
(thật lẫn ảo), các bộ định tuyến, điểm truy cập và chịu trách nhiệm cho các hoạt động như chuyền tiếp, phân mảnh và tái thiết lập.
SLAs Application Plane i + | IDS/IPS QoS Access-Control Proxy |
* ệ = Control Plane < Ễ = 2p Controller 2 Controller 5 Controller
5 H = SAN Path Network-Manager APIs 2 4 ° oO bả © N ng - s | é , 5
| Switch/VSwitch Router Access-Point
Hinh 2.27 Vi du về mô hình kiến trúc mạng khả lập trình SDN (Nguồn hình ảnh [18]) Ở trong mô hình mang SDN, trung tâm điều khiển có khả năng đến tat cả các thiết bị trong mạng, khả năng điều khiển các luồng giữa chúng, điều này tạo điều kiện cho việc quan sát, nâng cao bảo mật một cách dễ và tốt hơn Như với các hệ thống bảo mật được triển khai trong mang SDN như IDS, trung tâm điều khiển có thé dé dang nắm được tình trạng của IDS dé triển khai các chính sách phù hợp, điều khiển các luồng lưu lượng tới IDS một cách phù hợp, tận dụng tối đa khả năng cũng như đảm bảo IDS hoạt động hiệu quả Đồng thời, ngay khi có phản hồi từ IDS, trung tâm điều khiến có thé thực hiện các biện pháp phù hợp như chặn, điều hướng các luồng lưu lượng này Điều này giúp nâng cao hiệu quả trong công việc phòng thủ.
Chương 3 MÔ HÌNH ĐÁNH GIÁ VÀ TĂNG CƯỜNG IDS
Mô hình đánh giá và tăng cường IDS 3.2 Máy chủ IDS - ch tt HH, 21211 0H21 1 Hư 29 3.3 Máy chủ đánh giá 3 Xử lý các tham số đầu vào -22222cvcrtttEEEkrtrrirtrrrrrrrrrrriie 30 3.1 Mô hình IIDS - ô¿6-6 + S2 E112 1212101 1011012121 01g rờn 30 3.2 Bộ dữ liệu -s-c tt nh tình grrrrrrưen 30 3.2.1 Tập dữ liệu huấn ID)
Thực hiện đánh giá và huấn luyện lại [DS cccceceeeeree 33 3.3.4 Cập nhật phiên bản IDS mớii - - ¿255 2 *‡*‡*‡*£££vxsEekexexerrersre 34 Chương 4 TRIEN KHAI VÀ THỰC NGHIỆM ccccccccccc‹scc-ee 36 4.1 Triển khai mô hình 2 -22©2VE++++2EEE++EEEEE112222311222213112222112222212 re 36 4.1.1 cào 00 36 4.1.2 Máy chủ đánh gid ceeceeeseseeseeseseeseeeeseesessesesssseessssseessseesssecseessseessaeseeys 4I
Sau quá trình huấn luyện tạo mau tan công đối kháng hoàn tat, tap dữ liệu kiểm tra sẽ được tách ra thành các mẫu lưu lượng bình thường và các mẫu lưu lượng tan công.
Các mẫu lưu lượng tan công này sẽ được truyền vào các mô hình tạo sinh đã được giữ lại trong quá trình huấn luyện Kết quả các mô hình tạo sinh này chính là các mẫu tan công đối kháng Các mẫu tấn công đối kháng này cùng với các mẫu lưu lượng bình thường đã được tách ra từ trước sẽ được dùng dé đánh giá mô hình IDS Dựa vào kết qua đánh giá trên, tập dữ liệu tan công đối kháng nào có tỉ lệ bị phát hiện thấp nhất sẽ được dùng để huấn luyện lại mô hình IDS Sau quá trình huấn luyện lại mô hình IDS mới sẽ được tạo thành (Hình 3.6).
Attack Traffic Generator Hl Adversarial Attack h
Model | Traffic H i '— Evaluate i IDS Model New IDS Model i F—= Retrain
Hình 3.6 Sơ đồ đánh giá và huấn luyện IDS
3.3.4 Cập nhật phiên ban IDS mới
Sau khi có được mô hình IDS mới ở bước trước, mô hình máy chủ sẽ thực hiện cập nhật mô hình IDS mới này lên cho máy chủ IDS Mô hình máy chủ sẽ thực hiện lệnh gọi REST API trên máy chu IDS và gửi mô hình IDS mới thông qua REST API này (Hình 3.7).
Hình 3.7 Sơ đồ quá trình cập nhật mô hình IDS mới cho máy chủ IDS Ở mô hình IDS, ngay khi nhận tệp mô hình IDS mới từ máy chủ đánh giá Máy chủ IDS sẽ thực hiện lưu xuống và ghi đè tệp mô hình này trên máy chủ Sau đó máy chủ IDS thực hiện lệnh nạp lại mô hình IDS dé cập nhật phiên ban mới cho hoạt động phân loại lưu lượng sau này.
Chương 4 TRIEN KHAI VÀ THUC NGHIEM
Mô hình IDS gốc sử dụng trong máy chủ IDS được huấn luyện bằng thuật toán cây quyết định (Decision Tree) với bộ dữ liệu về DDOS trong CSE-CIC-IDS2018 gồm bốn loại tấn công DoS-GoldenEye, DoS-Slowloris, DoS-SlowHTTPTest, DoS-Hulk. Đầu vào của mô hình IDS sau khi huấn luyện gồm 68 thuộc tính mạng (Bảng 4.1) thuộc các thuộc tính mạng của CICFlowMeter-V3.
Feature Name Description dst_port DestinationPort protocol Protocol fl_dur Flow duration tot_fw_pk Total packets in the forward direction tot_bw_pk Total packets in the backward direction tot_l_fw_pkt Total size of packet in forward direction tot_l_bw_pkt | Total size of packet in backward direction fw_pkt_l_max | Maximum size of packet in forward direction fw_pkt_l_min | Minimum size of packet in forward direction fw_pkt_l_avg | Average size of packet in forward direction fw_pkt_l_std Standard deviation size of packet in forward direction
Bw_pkt_l_max | Maximum size of packet in backward direction
Bw_pkt_l_min | Minimum size of packet in backward direction
Bw_pkt_l_avg Mean size of packet in backward direction
Bw_pkt_l_std | Standard deviation size of packet in backward direction fl_byt_s flow byte rate that is number of packets transferred per second fl_pkt_s flow packets rate that is number of packets transferred per second fl_iat_avg Average time between two flows fl_iat_std Standard deviation time two flows fl_iat_max Maximum time between two flows fl_iat_min Minimum time between two flows fw_iat_tot Total time between two packets sent in the forward direction fw_iat_avg Mean time between two packets sent in the forward direction fw_iat_std Standard deviation time between two packets sent in the forward direction fw_iat_max Maximum time between two packets sent in the forward direction fw_iat_min Minimum time between two packets sent in the forward direction bw_iat_tot Total time between two packets sent in the backward direction bw_iat_avg Mean time between two packets sent in the backward direction bw_iat_std Standard deviation time between two packets sent in the backward direction bw_iat_max Maximum time between two packets sent in the backward direction bw_iat_min Minimum time between two packets sent in the backward direction fw_psh_flag Number of times the PSH flag was set in packets travelling in the forward direction (0 for UDP) fw_hdr_len Total bytes used for headers in the forward direction
37 bw_hdr_len Total bytes used for headers in the forward direction fw_pkt_s Number of forward packets per second bw_pkt_s Number of backward packets per second pkt_len_min Minimum length of a flow pkt_len_max Maximum length of a flow pkt_len_avg Mean length of a flow pkt_len_std Standard deviation length of a flow pkt_len_va Minimum inter-arrival time of packet fin_cnt Number of packets with FIN syn_cnt Number of packets with SYN rst_cnt Number of packets with RST pst_cnt Number of packets with PUSH ack_cnt Number of packets with ACK urg_cnt Number of packets with URG ece_cnt Number of packets with ECE down_up_ratio Download and upload ratio pkt_size_avg Average size of packet fw_seg_avg Average size observed in the forward direction bw_seg_avg Average size observed in the backward direction subfl_fw_pk The average number of packets in a sub flow in the forward direction subfl_fw_byt | The average number of bytes in a sub flow in the forward direction subfl_bw_pkt | The average number of packets in a sub flow in the backward direction
38 subfl_bw_byt | The average number of bytes in a sub flow in the backward direction fw_win_byt Number of bytes sent in initial window in the forward direction bw_win_byt # of bytes sent in initial window in the backward direction
Fw_act_pkt # of packets with at least 1 byte of TCP data payload in the forward direction fw_seg_min Minimum segment size observed in the forward direction atv_avg Mean time a flow was active before becoming idle atv_std Standard deviation time a flow was active before becoming idle atv_max Maximum time a flow was active before becoming idle atv_min Minimum time a flow was active before becoming idle idl_avg Mean time a flow was idle before becoming active idl_std Standard deviation time a flow was idle before becoming active
1dl_max Maximum time a flow was idle before becoming active idl_min Minimum time a flow was idle before becoming active
Bảng 4.1 Các thuộc tính đầu vào của mô hình IDS ban dau
Máy chủ IDS sẽ sử dụng mô hình IDS này và được xây dựng thành máy chủ ứng dụng web với bộ khung (framework) Flask Máy chủ IDS sẽ được triển khai với các
REST API (Bảng 4.2). e Api/isAlive: Trả về thông tin kiểm tra xem máy chủ có đang hoạt động hay không Nếu máy chủ hoạt động bình thường, kết quả sẽ trả về là “True”, nếu không máy chủ sẽ thông báo lỗi. e Api/prediction: nhận đầu vào là mẫu lưu lượng mạng với các thuộc tính mạng theo CICFlowMeter Mẫu lưu lượng khi được đưa vào sẽ được xử lý để giữ
39 lại 68 thuộc tính đầu vào cho mô hình IDS Đầu ra của REST API là kết quả phân loại lưu lượng với giá trị 1 nghĩa là lưu lượng tan công và giá trị 0 ứng với lưu lượng bình thường. e Api/update-ids: Nhận dau vào là mô hình IDS Sau đó mô hình IDS mới nhận được sẽ lưu lại và thay thế cho mô hình IDS ban đầu Sau khi cập nhật thành công, thông báo cập nhật thành công sẽ được trả về. e Api/evaluating: Api này nhận đầu vào là tên bộ dữ liệu dùng để đánh giá mô hình IDS Sau đó, bộ dữ liệu sẽ được xử lý dé giữ lại các thuộc tính đầu vào theo mô hình IDS và loại bỏ các dòng chứa giá trị không hợp lệ (chứa giá trị inf) Sau đó api sẽ thực hiện thực hiện quy trình giao tiếp với máy chủ đánh giá Ở đây, máy chủ IDS sẽ lần lượt gửi mô hình IDS đang chạy và bộ đữ liệu đã được xử lý tới máy chủ đánh giá.
REST API Method | Request Response : Process
Api/isAlive GET Khong | True hoặc Error Không
Api/prediction POST Mẫu lưu lượng | 1 hoac 0 Xử lý dữ liệu mạng đầu vào.
Api/update- POST | Méhinh IDS Thông báo cập nhật | Luu mô hình ids thành công IDS
Api/evaluating GET Tênbộdữliệu Thôngbáođãgửi Xử lý bộ dữ thành công liệu.
Gửi bộ dữ liệu đã xử lý.
Bảng 4.2 Các REST API của máy chủ IDS Ở hạ tang, máy chủ IDS được triển khai dưới dang là một container trong mạng
SDN Controller được sử dụng ở đây là Onos controller.
Trong khóa luận này, máy chủ đánh giá sử dụng mô hình DIGFuPAS làm mô hình chính để tạo các mẫu tấn công đối kháng, mô hình này sử dụng PyTorch làm bộ khung (framework) Deeplearning dé triển khai Ngoài ra máy chủ đánh giá được triển khai dưới dạng máy chủ web với bộ khung (framework) là Flask và có các REST API như sau (Bảng 4.3): e©_ Api/update-ids: Api này nhận đầu vào là mô hình IDS được gửi tới từ máy chủ IDS Sau khi nhận mô hình IDS, máy chủ đánh giá sẽ lưu mô hình này lại đê sử dụng cho các quá trình sau. e Api/evaluating: Api này nhận đầu vào là bộ dữ liệu đã được xử lý ở máy chủ
IDS Sau đó bộ dữ liệu này sẽ được kiểm tra, phân tách và đem đi huấn luyện tạo mẫu đối kháng Mẫu đối kháng được sinh ra sẽ sử dung dé đánh giá IDS và huấn luyện lại IDS.
REST API Method | Request Response Process
Api/update- POST Mô hinh Thong bao cap Luu mô hình IDS ids IDS nhật thành công
Api/evaluating POST Bộ dữliệu Thông báo đã Kiểm tra, phân tách bộ đã xử lý gửi thành công dữ liệu.
Huấn luyện tạo mẫu đối kháng. Đánh giá mô hình IDS trước tấn công mẫu đối kháng.
Huấn luyện lại mô hình IDS.
Bảng 4.3 Các REST API của máy chủ đánh giá
Giải thích rõ hơn các bước được thực hiện khi API api/evaluating được gọi