Thuật toán PPO giúp tối ưu hóa chính sách học của agent bằng cáchcân bằng giữa khám phá và khai thác, cho phép agent cải thiện hiệu quả trongviệc tạo ra các mẫu tấn công đối kháng.Kết qu
Bộ phát hiện tấn công . -:- St tt E2 2 E211 xe, 29 2.4.2 Bộ sinh mau tấn công XSS đối kháng -2- 2 2+cz+cz+cz+sz 29 2.4.3 Các nghiên cứu liên quan và đề xuất phương pháp mới
Bộ phát hiện tấn công XSS bao gồm các bước quan trọng: đầu tiên, thu thập dữ liệu đầu vào từ các request web, bao gồm cả request bình thường và chứa mã tấn công XSS; tiếp theo, các request sau khi được tiền xử lý sẽ được đưa vào các mô hình phân loại như MLP, LSTM, và CNN để phân loại thành hai loại: bình thường và độc hại; cuối cùng, nếu một request được xác định là độc hại, thông tin về trạng thái và phần thưởng sẽ được trả về cho mô hình học tăng cường để cải thiện khả năng phát hiện tấn công trong tương lai.
2.4.2 Bộ sinh mẫu tấn công XSS đối kháng
Bộ sinh mẫu tấn công XSS đối kháng được thiết kế để tạo ra các mẫu tấn công XSS có khả năng vượt qua hệ thống phát hiện hiện tại Trong mô hình này, agent học cách tạo ra các mẫu tấn công mới thông qua việc tương tác liên tục với hệ thống phát hiện XSS, tối ưu hóa các chiến lược nhằm tránh bị phát hiện Hình 2 minh họa quy trình này.
Hình 2.2: Mô hình thuật toán học tăng cường
1 Chọn hành động biến đồi:
Trong hệ thống học tăng cường, agent sẽ quyết định hành động trốn thoát dựa trên trạng thái hiện tại của môi trường Những hành động này bao gồm các chiến lược biến đổi mẫu tấn công như thay đổi cấu trúc mẫu XSS, mã hóa, và chèn thêm ký tự hoặc chuỗi gây nhiễu.
Trạng thái hiện tại của môi trường được xác định thông qua phản hồi từ bộ phát hiện tấn công XSS, dựa trên các mẫu tấn công đã xảy ra trước đó.
Nó bao gồm thông tin về việc mẫu tan công có bị phát hiện hay không va mức độ phát hiện.
2 Thực hiện hành động và cập nhập trạng thái:
Thực hiện hành động: Agent thực hiện hành động trốn thoát được chọn, tạo ra một mẫu tan công mới dựa trên mẫu tấn công hiện tại.
Mẫu tấn công mới đã được gửi đến bộ phát hiện tấn công để kiểm tra Kết quả kiểm tra sẽ cập nhật trạng thái của môi trường.
30 trường Nếu mau tan công mới không bi phát hiện, trạng thái sẽ phản ánh sự thành công của hành động trốn thoát.
Phản hồi phần thưởng trong quá trình đào tạo agent là yếu tố quan trọng giúp điều chỉnh hành vi của nó Khi agent thực hiện hành động trốn thoát mà không bị phát hiện, nó sẽ nhận được phần thưởng dương, khuyến khích hành động này trong tương lai Ngược lại, nếu bị phát hiện, agent sẽ nhận phần thưởng âm, tạo ra hình phạt cho hành động không thành công Phần thưởng này được sử dụng để cập nhật các tham số của mạng nơ-ron trong agent, từ đó điều chỉnh chiến lược sinh mẫu trốn thoát nhằm tối ưu hóa khả năng thành công trong các lần thử tiếp theo.
Quá trình tấn công được lặp lại liên tục, bao gồm việc chọn hành động, thực hiện và nhận phản hồi về phần thưởng Mỗi lần lặp lại, agent học hỏi từ các mẫu tấn công trước đó để điều chỉnh chiến lược Quá trình này sẽ dừng lại khi agent tạo ra một mẫu tấn công mà bộ phát hiện không thể phát hiện được Mẫu tấn công này được coi là mẫu tấn công đối kháng.
2.4.3 Các nghiên cứu liên quan và đề xuất phương pháp mới
Nghiên cứu hiện có cho thấy rằng nghiên cứu [3] đã đề xuất thuật toán MCTS-T để xây dựng các mẫu đối kháng XSS và huấn luyện mô hình phát hiện nhằm cải thiện tỷ lệ phát hiện, mặc dù chỉ sử dụng một vài chiến lược thoát đơn giản với độ phức tạp thời gian cao Trong khi đó, nghiên cứu [2] đã phát triển phương pháp tấn công đối kháng XSS dựa trên thuật toán soft Q-learning, chia quá trình thành hai giai đoạn: vòng qua HTML và vòng qua JavaScript, đạt hiệu suất tốt hơn với tỷ lệ thoát khoảng 85%.
Nhóm nghiên cứu đã đề xuất 31 kỹ thuật mới nhằm khắc phục các hạn chế của nghiên cứu hiện tại, như tỷ lệ thoát thấp và việc sử dụng mã hóa không hiệu quả Họ sử dụng các quy tắc đột biến cho các module khác nhau trong vector tấn công XSS Tiếp theo, một tác nhân thông minh được huấn luyện để áp dụng các quy tắc này, từ đó tạo ra các mẫu tấn công đối kháng nhằm nâng cao tỷ lệ không bị phát hiện.
Những cải tiến mới trong việc phát triển các chiến lược biến đổi giúp làm cho các mẫu tấn công trở nên khó phát hiện hơn Đặc biệt, thuật toán lựa chọn chiến lược đã được thay đổi; sau khi nhận phản hồi từ môi trường, nếu phát hiện XSS xảy ra, tác nhân sẽ tạm thời loại bỏ chiến lược biến đổi hiện tại và thử nghiệm các chiến lược khác để nâng cao khả năng thoát khỏi sự phát hiện.
Chương 3 PHƯƠNG PHÁP ĐÈ XUẤT
3.1 Mô hình kiến trúc hệ thống
Bộ sinh mẫu tan công đối kháng _ `, ; Bộ phát hiện Mô hình phân loại `
Hoc tang cường ' ' tan cong ' ae
' Chon chiến lược biển đỗi | MẫuX§S ¡ ' a ' ' bien doi koe van dấu | i [mm ban đầu ' Hanh déng h LSTM
Mẫu tan công đã biển đổi CNN
Bị phát hiện là XSS Có
Hình 3.1: Mô hình tổng quan
Mô hình kiến trúc được trình bày trong Hình 3.1 bao gồm hai giai đoạn chính: giai đoạn biến đổi payload và giai đoạn phát hiện tấn công.
Trong giai đoạn biến đổi payload, tác nhân lựa chọn hành động biến đổi phù hợp dựa trên trạng thái hiện tại của môi trường Sau đó, các tham số của mạng nơron được cập nhật dựa trên phản hồi phần thưởng từ mô hình phát hiện XSS.
Trong giai đoạn phát hiện tấn công, mỗi payload XSS đã biến đổi trải qua bước tiền xử lý, sau đó được chuyển đổi thành vector word2vec và cuối cùng đưa vào các mô hình phát hiện Việc phát hiện tấn công là rất quan trọng để đánh giá hiệu quả của quá trình biến đổi payload Mục tiêu chính là xác định khả năng vượt qua bộ phát hiện tấn công của các payload đã biến đổi Nếu payload được xác định là mã độc, điều này cho thấy rằng payload biến đổi vẫn chưa đạt hiệu quả bảo mật cần thiết.
Trong quá trình vượt qua bộ phát hiện tấn công, nếu payload bị phát hiện, nó sẽ trở về mô hình sinh mẫu đối kháng với phần thưởng -1 Ngược lại, nếu payload được xác định là bình thường, nó sẽ trả về mô hình sinh mẫu tấn công đối kháng với phần thưởng 10.
Theo chiến lược biến đổi của Agent, payload XSS sẽ được điều chỉnh và đưa vào mô hình phát hiện Quá trình này sẽ lặp lại cho đến khi mô hình xác định rằng payload là an toàn, nhằm tạo ra các payload đối kháng hoàn hảo.
3.2 Bộ sinh mẫu tan công
Hình 3.2: Tổng quan mô hình sinh mẫu tấn công đối kháng
PHƯƠNG PHAP DE XUẤTT -2- 2-22 ++cx++cxe+rxeerxrsrxerrxee 33 3.1 Mô hình kiến trúc hệ thống 2-2 2£ ©++EE+E£+EE+E+E++EezEzrzrerree 33 3.1.1 Tổng quan mô hình ¿ ¿-+¿+++++++2+++tx++rx+zrxesrxesree 33 3.2 Bộ sinh mẫu tấn công :- 22-22 ++2+2EE+EEEtEEEEEEEEEEESEkerrkrrrrrrrree 34 3.2.1 Mô hình tổng quan - 2-2 k+SE+EE+EE+EE+EE+EEEEErErrerreree 34 3.2.2 _ Action space (hành động chỉnh sửa payload XSS)
Mô hình phát hiện dựa trên Deep Learning
Sau khi chuyển đổi các mẫu dữ liệu sang định dạng word2vec, bước tiếp theo là áp dụng dữ liệu này vào các mô hình học máy như MLP, LSTM và CNN để thực hiện phân loại.
MLP (Multilayer Perceptron) là một loại mạng nơ-ron nhân tạo có cấu trúc nhiều lớp, hoạt động bằng cách truyền tải thông tin từ lớp đầu vào qua các lớp ẩn đến lớp đầu ra.
Mạng nơ-ron đa lớp (MLP) có khả năng bao gồm nhiều lớp ẩn giữa lớp đầu vào và lớp đầu ra, giúp cải thiện khả năng học và xử lý dữ liệu phức tạp Mô hình MLP cơ bản nhất chỉ có một lớp ẩn, nhưng khi thêm nhiều lớp ẩn, khả năng nhận diện các mẫu phức tạp và phi tuyến của nó sẽ được nâng cao đáng kể.
Lớp đầu vào Lớp an Lớp đầu ra
Hình 3.6: Cấu trúc mô hình MLP ba lớp
MLP sở hữu khả năng học mạnh mẽ, giúp nó trở thành công cụ hữu ích trong việc phân loại và mô hình hóa dữ liệu phi tuyến Vì lý do này, MLP thường được ứng dụng trong các nghiên cứu và mô hình phát hiện tấn công, bao gồm cả việc nhận diện các cuộc tấn công XSS.
Bài báo này trình bày việc sử dụng mô hình MLP với hai lớp ẩn nhằm xử lý hiệu quả các đặc điểm phức tạp của dữ liệu đầu vào Mô hình bao gồm một lớp đầu vào nhận dữ liệu từ các vector được chuyển đổi từ các request web qua mô hình Word2Vec Hai lớp ẩn, với 100 nơ-ron ở lớp đầu tiên và 20 nơ-ron ở lớp thứ hai, sử dụng hàm kích hoạt relu để biểu diễn các quan hệ phi tuyến trong dữ liệu Cuối cùng, lớp đầu ra áp dụng hàm softmax để phân loại các request web thành hai loại: độc hại (chứa mã XSS) và an toàn (không chứa mã XSS).
Việc áp dụng hàm kích hoạt ReLU trong các lớp ẩn cải thiện khả năng học của mô hình nhờ vào việc đưa tính phi tuyến vào trong cấu trúc, trong khi hàm Softmax ở lớp đầu ra chuyển đổi các giá trị đầu ra thành xác suất, giúp mô hình thực hiện phân loại dữ liệu một cách hiệu quả.
Mô hình MLP được thiết kế nhằm phát hiện các đặc điểm phức tạp của các cuộc tấn công XSS, từ đó cải thiện độ chính xác của hệ thống phát hiện và giảm thiểu tỷ lệ phát hiện sai Việc này đóng vai trò quan trọng trong việc bảo vệ các hệ thống web khỏi các cuộc tấn công XSS, đảm bảo mức độ phân loại chính xác cao.
LSTM (Long Short-Term Memory) là một loại mạng nơ-ron hồi quy (Recurrent
Mạng nơ-ron hồi tiếp (RNN) đặc biệt, được giới thiệu bởi Graves vào năm 2012, nhằm khắc phục vấn đề gradient biến mất và gradient bùng nổ thường gặp trong các RNN truyền thống Mô hình này rất hiệu quả khi xử lý các chuỗi dữ liệu dài.
LSTM được cau trúc dé mỗi nơ-ron trong mạng là một "tê bào bộ nhớ" và được điêu khiển bởi ba công chính:
1 Forget Gate (Công quên): e Ký hiệu: ƒ; e_ Chức năng: Quyết định thông tin nào từ tế bào bộ nhớ trước đó sẽ bị quên di. e Cach hoạt động: Nhận đầu vào là kết quả đầu ra của tế bao trước đó (hi -1) và thông tin đầu vào hiện tại (xr), sau đó sử dụng ham sigmoid dé cho ra giá trị từ 0 đến 1 ƒ¿ = 1 nghĩa là giữ lại hoàn toàn và f + = 0 nghĩa là quên hoàn toàn.
2 Input Gate (Công đầu vào): e Ky hiéu: i,
Chức năng của tế bào bộ nhớ là quyết định thông tin mới nào sẽ được thêm vào Quá trình này bao gồm hai phần: hàm sigmoid xác định giá trị cần cập nhật và hàm tanh tạo ra tế bào ứng viên mới (C) Kết quả của hai phần này sẽ được nhân với nhau để cập nhật tế bào bộ nhớ.
3 Output Gate (Công đầu ra): e Ký hiệu: o; e Chức năng: Quyết định phan nào của tế bào bộ nhớ sẽ được xuất ra ngoài. e Cách hoạt động: Sử dụng ham sigmoid dé xác định phần nào của tế bào bộ nhớ sẽ được đưa ra ngoài, sau đó kết hợp với hàm tanh của tế bào bộ nhớ.
Mô hình LSTM được sử dụng trong nghiên cứu: e Số lượng nơ-ron trong LSTM: 128 e Hàm kích hoạt của lớp đầu ra: softmax
Hàm softmax được áp dụng trong lớp đầu ra của các mô hình phân loại, giúp chuyển đổi đầu ra thành xác suất cho từng lớp Điều này đảm bảo rằng tổng xác suất của tất cả các lớp bằng 1, tạo điều kiện thuận lợi cho việc dự đoán chính xác.
A typical Convolutional Neural Network (CNN) model consists of convolution layers, pooling layers, and fully connected layers.
Input Layer Convulation Layer Pooling Layer Fully Connected Layer
Hình 3.8: Cấu trúc mô hình CNN
Mô hình CNN bao gồm ba loại lớp chính: lớp tích chập, lớp gộp và lớp kết nối đầy đủ Lớp tích chập (Convolution layers) chịu trách nhiệm trích xuất đặc trưng từ đầu vào thông qua các lõi tích chập, tạo ra các feature map quan trọng Trong mô hình này, có hai lớp tích chập với kích thước bộ lọc lần lượt là 64 và 128 Lớp gộp (Pooling layers) giúp tối ưu hóa tính toán và giảm kích thước của các đặc trưng, thường sử dụng phương pháp gộp tối đa hoặc gộp trung bình; trong mô hình có hai lớp gộp với kích thước gộp là 2 Cuối cùng, lớp kết nối đầy đủ (Fully connected layers) học phân bố của các đặc trưng trong không gian nhiều chiều và thực hiện phân loại dựa trên các mối quan hệ phức tạp giữa các đặc trưng.
Mô hình CNN đơn giản, được gọi là 1-CNN, bao gồm hai lớp tích chập với kích thước bộ lọc 64, hai lớp tích chập với kích thước bộ lọc 128, các lớp gộp có kích thước gộp 2 và một lớp kết nối đầy đủ Kích thước đầu vào của mô hình này là 200.
Đánh giá mô hình, kết nối với bộ sinh mẫu tấn công
Sau khi hoàn tất quá trình huấn luyện và kiểm tra các mô hình học sâu như MLP, LSTM và CNN, các mô hình đã đạt được các chỉ số tốt Bước cuối cùng trong quy trình là đánh giá và lưu trữ model Quá trình này bao gồm việc lưu trữ model sau khi hoàn thành huấn luyện và kiểm tra.
Việc tối ưu hóa MLP, LSTM và CNN cho phép lưu trữ các mô hình, giúp chúng có thể được tái sử dụng trong tương lai mà không cần huấn luyện lại từ đầu, từ đó tiết kiệm thời gian và tài nguyên.
Mỗi mô hình đã được huấn luyện sẽ được sử dụng để phân loại các yêu cầu web mới bằng cách chuyển đổi chúng thành các vector thông qua mô hình Word2Vec Các vector này sau đó sẽ được đưa vào các mô hình MLP, LSTM và CNN để thực hiện phân loại Các mô hình này sẽ dự đoán xem mỗi yêu cầu có chứa mã XSS hay không.
Dự đoán tính chất độc hại của các request được thể hiện qua các nhãn, trong đó nhãn "1" đại diện cho request độc hại và nhãn "0" cho request an toàn Để đảm bảo độ tin cậy của hệ thống, các kết quả phân loại sẽ được so sánh với các nhãn thực tế để tính toán các chỉ số hiệu suất như độ chính xác, độ nhạy và độ đặc hiệu Những chỉ số này giúp đánh giá hiệu quả của mô hình trong việc phát hiện các request độc hại và giảm thiểu các cảnh báo sai Sau khi xác nhận rằng các mô hình hoạt động hiệu quả với độ chính xác cao, chúng sẽ được triển khai trong môi trường thực tế để phát hiện các cuộc tấn công XSS trên các request web Bộ phát hiện tấn công XSS sẽ được kết nối với Bộ Sinh mẫu tấn công để trả về phần thưởng sau mỗi lần đánh giá mẫu payload là tấn công hay không.
THỰC HIỆN, THUC NGHIEM VÀ ĐÁNH GIA
Hiện thực phương pháp - - c St x2 vn HH HH rệp 55 1 Cấu hình môi trường . - 2 + ++E++E++EE+EE+EEEEEErErrerrerei 55 2 Thông số của các mô hình: . - 2 + 2+++++x++x+rzrezrszes 55 3 Dataset để xếc - N Ô ì -ee 61 4.2 Các công nghệ, framework, thư viện được sử dụng - - ô+ 61
4.1.1 Cau hình môi trường Đề đảm bảo tính nhất quán và khả năng tái hiện của các thí nghiệm, nhóm tác giả đã triển khai hệ thống trên một môi trường máy ảo được cấu hình cụ thể trong Bảng
Python module Python=3.10 gensim=4.3.2 keras=2.15.0 nltk=3.8.1 tensorflow=2.15.0 gym=0.26.2
Bang 4.1 : Môi trường thực nghiệm
4.1.2 Thông số của các mô hình: Đối với bộ phát hiện tắn công, nhốm sử dụng word2vec và ba mô hình học sâu cho việc phát hiện tan công XSS: MLP, LSTM, và CNN Dưới đây là các thông số chi tiết cho từng mô hình:
Chi tiết cấu hình cho model MLP được mô tả trong Bảng 4.2
Mô hình Word2vec Giá trị Loại mô hình Skip Gram Batch size 128
Number of Skips 4 Number Sampled 64
Bang 4.2: Cấu hình mô hình Word2vec
Chi tiết cấu hình cho model MLP được mô tả trong Bảng 4.3
Mô hình MLP Giá trị
Ham kich hoat dau ra Softmax
Ham mat mat Categorical Crossentropy
Bảng 4.3: Cấu hình mô hình MLP
Mô hình MLP (Multilayer Perceptron) trong nghiên cứu này có cấu trúc rõ ràng, với bảng dưới đây cung cấp thông tin chi tiết về các lớp và số lượng tham số của mô hình Các kết quả được thu thập từ hàm model.summary() và được minh họa trong Hình 4.1.
Layer (type) Output Shape dense (Dense) dropout (Dropout) dense 1 (Dense) dropout_1 (Dropout) flatten (Flatten)
Hình 4.1: So đồ mô ta mô hình MLP
3 LSTM (Long Short-Term Memory)
Chỉ tiết cấu hình cho model LSTM được mô tả trong Bảng 4.4
Mô hình LSTM Giá trị
Số đơn vi LSTM ở tang ân 128 Hàm kích hoạt đầu ra Softmax Dropout 0.5 ( sau tầng LSTM) Hàm mất mát Categorical Crossentropy
Bang 4.4: Cau hình mô hình LSTM
Kết quả cấu trúc của mô hình LSTM được sử dụng trong nghiên cứu in ra từ hàm model.summary() dé thé hiện trong Hình 4.2:
Hình 4.2: Sơ đồ mô tả mô hình LSTM
Chi tiết cấu hình cho model CNN được mô tả trong Bang 4.5
Mô hình CNN Giá trị
Số bộ lọc trong tang convolutional 1 64 Kích thước kernel trong tang convolutional 1 3 Ham kich hoat tang convolutional 1 ReLU
Số bộ loc trong tang convolutional 2 64 Kích thước kernel trong tầng convolutional 2 3 Hàm kích hoạt tầng convolutional 2 ReLU
Số bộ lọc trong tầng convolutional 3 128 Kích thước kernel trong tầng convolutional 3 3
Hàm kích hoạt tầng convolutional 3 ReLU
Số bộ lọc trong tang convolutional 4 128 Kích thước kernel trong tầng convolutional 4 3
Hàm kích hoạt tầng convolutional 4 ReLU
Số neuron trong tang dense 128 Ham kich hoat trong tang dense ReLU Ham kich hoat dau ra Softmax
Bang 4.5: Cấu hình mô hình CNN
Kết quả cấu trúc của mô hình CNN được sử dụng trong nghiên cứu được in ra từ hàm model.summary() dé thé hiện trong Hinh 4.3:
Layer (type) tput Shape Param convid (Conv1D) conv1d 1 (Conv1D) max poolingld (MaxPooling1
D) dropout (Dropout) convid 2 (Conv1D) convid 3 (ConviD) dropout_1 (Dropout) flatten (Flatten) 8 dense (Dense) 2138848 dropout_2 (Dropout)
Mô hình CNN được mô tả trong Hình 4.3, sử dụng bộ sinh mẫu tấn công đối kháng với mô hình học tăng cường PPO Dưới đây là các thông số chi tiết cho mô hình.
Chi tiết cấu hình cho model CNN được mô tả trong Bang 4.6
Bảng 4.6: Cấu hình mô hình PPO
Bộ phát hiện tắn công XSS: e Mẫu tấn công XSS: 40.637 mau lấy từ co sở dữ liệu XSSed
(http://www.xssed.com/) e Mau request web thông thường: 200.129 mẫu bao gồm cả request GET và
POST thu thập từ các lưu lượng mạng thông thường. e Dữ liệu huấn luyện: 70% e Dữ liệu kiểm tra: 30%
Bộ sinh mẫu tan công đối kháng: e Dữ liệu: payload XSS từ PortSwigger e Số lượng mâu: 8.566 mau
4.2 Cac công nghệ, framework, thư viện được sử dung
4.2.1 Học máy và học sâu e TensorFlow: thư viện mã nguồn mở do Google phát triển, được sử dụng rộng rãi trong các dự án liên quan đến xây dựng và huấn luyện các mô hình học máy và học sâu TensorFlow cung cấp các công cụ mạnh mẽ đề xử lý dữ liệu, xây dựng các mô hình mạng nơ-ron, và tối ưu hóa hiệu suất tính toán Nó hỗ trợ cả việc triển khai trên CPU và GPU, giúp tăng tốc quá trình huấn luyện mô hình. e Keras là một API cao cấp cho việc xây dựng và huấn luyện các mô hình học sâu, được phát triển dé chạy trên nền tảng TensorFlow Keras cung cấp giao diện đơn giản và dé sử dụng, giúp các nhà nghiên cứu va lập trình viên dé dang
4.2.3. triển khai các mô hình học sâu phức tạp mà không cần quá nhiều kiến thức chi tiết về TensorFlow.
Gensim là một thư viện mã nguồn mở chuyên dụng cho việc xử lý và phân tích văn bản lớn, với các ứng dụng nổi bật như lập mô hình chủ đề và biểu diễn từ Thư viện này hỗ trợ nhiều mô hình mạnh mẽ, bao gồm Word2Vec, giúp cải thiện khả năng hiểu và phân tích ngữ nghĩa trong văn bản.
Doc2Vec, và LDA, giúp xử lý ngôn ngữ tự nhiên một cách hiệu quả.
Xử lý ngôn ngữ tự nhiên (NLP)
NLTK (Natural Language Toolkit) là một bộ thư viện mạnh mẽ cho xử lý ngôn ngữ tự nhiên trong Python Nó cung cấp các công cụ và tài nguyên cần thiết để thực hiện các tác vụ như phân tích cú pháp, gán nhãn từ loại, phân tách câu và phân tích ngữ nghĩa, giúp người dùng dễ dàng làm việc với ngôn ngữ tự nhiên.
Xử lý và phân tích dữ liệu
NumPy là thư viện cốt lõi cho tính toán khoa học trong Python, hỗ trợ mạnh mẽ cho các mảng đa chiều và các phép toán đại số tuyến tính Đây là nền tảng thiết yếu cho hầu hết các thư viện xử lý và phân tích dữ liệu khác trong hệ sinh thái Python.
Pandas là một thư viện mã nguồn mở nổi bật trong Python, cung cấp các công cụ và cấu trúc dữ liệu mạnh mẽ cho phân tích dữ liệu Hai cấu trúc dữ liệu chính của Pandas là DataFrame và Series, cho phép người dùng dễ dàng xử lý và phân tích dữ liệu dạng bảng một cách hiệu quả.
SciPy là một thư viện mở rộng của NumPy, cung cấp các thuật toán và công cụ hữu ích cho các tính toán khoa học và kỹ thuật Thư viện này bao gồm nhiều mô-đun phục vụ cho tích phân, tối ưu hóa, đại số tuyến tính và xử lý các vấn đề liên quan đến ma trận thưa.
Matplotlib là thư viện vẽ đồ thị phổ biến trong Python, cho phép người dùng tạo ra các biểu đồ tĩnh, hoạt hình và tương tác Thư viện này cung cấp khả năng trực quan hóa dữ liệu một cách linh hoạt và có thể tùy chỉnh cao, hỗ trợ đa dạng các loại biểu đồ khác nhau.
4.2.4 Học tang cường e Gym là bộ công cụ mã nguồn mở do OpenAI phát triển, được sử dụng dé phát triển và đánh giá các thuật toán học tăng cường Gym cung cấp một loạt các môi trường mô phỏng cho việc huấn luyện các agent trong học tăng cường, từ các trò chơi đơn giản đến các bài toán phức tạp. e Stable Baselines là tập hợp các thuật toán học tăng cường được triển khai trên nền tảng Python Thư viện này cung cấp các thuật toán đã được kiểm chứng và ôn định như DỌN, A2C, PPO, và SAC, giúp các nhà nghiên cứu và phát triển dé dàng áp dụng các thuật toán học tăng cường vào các ứng dụng thực tế. e Ngoài ra, ta cần tạo một môi trường dé có thé thực hiện train các thuật toán học tăng cường Đây là một lớp Python tùy chỉnh tên CustomEny, kế thừa từ lớp Env trong thư viện OpenAI Gym Lớp này được sử dụng dé tạo ra một môi trường tùy chỉnh cho thuật toán học tăng cường Dưới đây là một số chỉ tiết về các phương thức trong lop: o Phương thức _ init_ : Khởi tao môi trường với mã ban đầu Nó định nghĩa không gian hành động và không gian quan sát, cũng như các tham số khác như số bước tối đa trong mỗi tập. o Phương thức step: Ap dụng hành động đã chọn lên mã, tính toán phan thưởng (trong trường hợp này là một giá tri cố định là 10), cập nhật trạng thái hiện tại và kiểm tra xem tập có kết thúc hay không. o Phương thức reset: Đặt lại môi trường về trạng thái ban đầu. o Phương thức render: Tùy chọn, hién thị trạng thái hiện tại cho việc trực quan hóa. o Phương thức get_observation: Trả về quan sát hiện tại dưới dạng một mảng numpy. o Phương thức apply_action: Chuyên đổi hành động thành một số nguyên nếu nó là một mảng, sau đó áp dụng hành động đã chọn lên mã và trả vé mã đã sửa đôi.
4.3 Các kịch ban thực nghiệm và các thông số đánh giá
Trong phần này, nhóm nghiên cứu trình bày các tình huống thử nghiệm nhằm đánh giá hiệu quả của phương pháp đề xuất Các chỉ số được sử dụng để đo lường hiệu suất của mô hình phát hiện tấn công XSS và mô hình sinh mẫu tấn công XSS đối kháng Các tình huống thử nghiệm bao gồm việc kiểm tra với nhiều mô hình học sâu và học tăng cường khác nhau, cùng với các môi trường kiểm tra đa dạng.
4.3.1 Các thông số đánh giá
Bộ phát hiện tắn công:
Để đánh giá hiệu quả của các mô hình và công cụ phát hiện XSS, nhóm nghiên cứu đã sử dụng các chỉ số đánh giá phổ biến, trong đó có độ chính xác (Accuracy), thể hiện tỷ lệ mẫu được dự đoán chính xác so với tổng số mẫu.
Độ chính xác của mô hình (Precision) được tính bằng tỷ lệ giữa số mẫu dương tính đúng (TP) và tổng số mẫu dương tính được dự đoán (TP + FP).
Precision = e Recall (Khả năng phát hiện): Ty lệ các mẫu dương tinh đúng được dự đoán trên tông số mẫu dương tính thực tế.
Recall = e© F1-Score: Trung bình điều hòa của Precision va Recall, cung cap một thước đo cân băng giữa Precision va Recall.