I. Giới thiệu và đặt vấn đề
Khóa luận tập trung vào việc ứng dụng kỹ thuật học sâu trong phát hiện tấn công ứng dụng web, đặc biệt là các cuộc tấn công SQL Injection và Cross-site Scripting (XSS). Các ứng dụng web thường là mục tiêu dễ dàng cho tin tặc do chứa nhiều lỗ hổng bảo mật. Các phương pháp truyền thống như hệ thống phát hiện xâm nhập (IDS) và tường lửa ứng dụng web (WAF) có nhiều hạn chế, đặc biệt là khả năng phát hiện các cuộc tấn công mới hoặc biến thể. Học sâu được xem là giải pháp tiềm năng nhờ khả năng tự động hóa và hiệu quả cao trong việc phát hiện các mối đe dọa.
1.1. Bối cảnh và thách thức
Theo báo cáo của Gartner, 75% các cuộc tấn công mạng nhắm vào lớp ứng dụng và máy chủ web. Các cuộc tấn công này không chỉ gây thiệt hại về dữ liệu mà còn ảnh hưởng đến uy tín của doanh nghiệp. SQL Injection và XSS là hai trong số các loại tấn công phổ biến nhất, chiếm vị trí cao trong danh sách OWASP Top Ten. Mặc dù số lượng tấn công đã giảm 24.7% trong năm 2020, việc phát triển các phương pháp phát hiện hiệu quả vẫn là ưu tiên hàng đầu.
1.2. Mục tiêu nghiên cứu
Khóa luận nhằm mục đích nghiên cứu và áp dụng các kỹ thuật học sâu, đặc biệt là mạng nơ-ron tích chập (CNN), để phát hiện các cuộc tấn công SQL Injection và XSS. Ngoài ra, nghiên cứu cũng hướng đến việc đánh giá hiệu quả của mô hình và đề xuất các hướng phát triển trong tương lai.
II. Cơ sở lý thuyết và nghiên cứu liên quan
Chương này trình bày các khái niệm cơ bản về học sâu, mạng nơ-ron nhân tạo (ANN), và mạng nơ-ron tích chập (CNN). Học sâu là một nhánh của học máy (ML) và trí tuệ nhân tạo (AI), được phát triển mạnh nhờ sự gia tăng của dữ liệu lớn và sức mạnh tính toán. ANN là nền tảng của học sâu, mô phỏng hoạt động của não người. CNN là một biến thể của ANN, được sử dụng rộng rãi trong xử lý hình ảnh và phát hiện bất thường.
2.1. Mạng nơ ron nhân tạo ANN
ANN bao gồm các lớp đầu vào, lớp ẩn và lớp đầu ra. Mỗi node trong mạng hoạt động như một perceptron, sử dụng các hàm kích hoạt như Sigmoid, Tanh, và ReLU để tính toán đầu ra. Quá trình lan truyền tiến và lan truyền ngược được sử dụng để huấn luyện mô hình, giúp tối ưu hóa các trọng số và giảm thiểu sai số.
2.2. Mạng nơ ron tích chập CNN
CNN là một mô hình tiên tiến của học sâu, được thiết kế để xử lý dữ liệu có cấu trúc lưới như hình ảnh. CNN sử dụng các lớp tích chập và lớp gộp để trích xuất đặc trưng từ dữ liệu. Trong bối cảnh phát hiện tấn công web, CNN được áp dụng để phân tích các đoạn mã độc và phát hiện các mẫu bất thường.
III. Phân tích và thiết kế mô hình
Chương này tập trung vào việc thiết kế mô hình CNN để phát hiện các cuộc tấn công SQL Injection và XSS. Các tiêu chí đánh giá mô hình bao gồm độ chính xác, tỷ lệ dương tính giả (False Positive Rate), và F1-score. Mô hình được huấn luyện trên các tập dữ liệu công khai và được tích hợp vào một ứng dụng web thử nghiệm để đánh giá hiệu quả thực tế.
3.1. Thiết kế mô hình
Mô hình CNN được thiết kế với các lớp tích chập, lớp gộp và lớp kết nối đầy đủ. Dữ liệu đầu vào là các đoạn mã độc được biểu diễn dưới dạng vector. Quá trình huấn luyện sử dụng thuật toán Adam để tối ưu hóa các trọng số và giảm thiểu sai số.
3.2. Tiêu chí đánh giá
Các tiêu chí đánh giá bao gồm Precision, Recall, và F1-score. Precision đo lường tỷ lệ dự đoán đúng trong các dự đoán dương tính, trong khi Recall đo lường khả năng phát hiện các mẫu tích cực. F1-score là trung bình điều hòa của Precision và Recall, được sử dụng để đánh giá tổng thể hiệu quả của mô hình.
IV. Thực nghiệm và đánh giá kết quả
Chương này trình bày quá trình thực nghiệm và kết quả đạt được. Mô hình CNN được huấn luyện trên tập dữ liệu gồm các mẫu tấn công SQL Injection và XSS. Kết quả cho thấy mô hình đạt độ chính xác cao với micro F1-score là 0.9964 và macro F1-score là 0.9962. Mô hình cũng được triển khai trong môi trường Docker và tích hợp vào một ứng dụng web thử nghiệm, cho thấy khả năng ứng dụng thực tế cao.
4.1. Chuẩn bị dữ liệu
Dữ liệu được thu thập từ các nguồn công khai và được xử lý để loại bỏ nhiễu. Các mẫu tấn công được mã hóa thành vector và chia thành tập huấn luyện và tập kiểm tra.
4.2. Kết quả thực nghiệm
Mô hình CNN đạt hiệu suất cao trong việc phát hiện các cuộc tấn công SQL Injection và XSS. Kết quả được so sánh với các nghiên cứu khác, cho thấy sự vượt trội của mô hình trong việc phát hiện các mẫu tấn công mới và biến thể.
V. Kết luận và hướng phát triển
Khóa luận đã chứng minh hiệu quả của kỹ thuật học sâu, đặc biệt là CNN, trong việc phát hiện các cuộc tấn công SQL Injection và XSS. Mô hình đạt độ chính xác cao và có khả năng tích hợp dễ dàng vào các ứng dụng web. Trong tương lai, nghiên cứu có thể mở rộng bằng cách áp dụng các kỹ thuật học sâu khác như LSTM hoặc RNN để cải thiện hiệu suất và phát hiện các loại tấn công mới.
5.1. Kết luận
Nghiên cứu đã thành công trong việc áp dụng CNN để phát hiện các cuộc tấn công SQL Injection và XSS. Mô hình đạt hiệu suất cao và có tiềm năng ứng dụng thực tế trong việc bảo vệ các ứng dụng web.
5.2. Hướng phát triển
Trong tương lai, nghiên cứu có thể tập trung vào việc cải thiện mô hình bằng cách sử dụng các kỹ thuật học sâu tiên tiến hơn như LSTM hoặc RNN. Ngoài ra, việc mở rộng tập dữ liệu và tích hợp mô hình vào các hệ thống thực tế cũng là hướng phát triển tiềm năng.