Khóa Luận Tốt Nghiệp: Phát Hiện Tấn Công Ứng Dụng Web Bằng Kỹ Thuật Học Sâu

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp an toàn thông tin sử dụng kỹ thuật học sâu trong phát hiện tấn công ứng dụng web, điều tra thực trạng, phân tích số liệu, đề

Trường đại học

Đại học Công nghệ Thông tin

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2021

90
19
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CÁM ƠN

1. CHƯƠNG 1: MỞ ĐẦU

1.1. Đặt vấn đề

1.2. Đối tượng nghiên cứu

1.3. Phạm vi nghiên cứu

1.4. Cấu trúc của khóa luận

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN

2.1. Học sâu và mạng nơ-ron nhân tạo

2.1.1. Giới thiệu

2.2. Mạng nơ-ron nhân tạo

2.3. Mạng nơ-ron tích chập

2.4. Các loại tấn công ứng dụng web phổ biến

2.5. Các kỹ thuật phát hiện tấn công web

2.6. Các nghiên cứu liên quan

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. Thiết kế mô hình để huấn luyện

3.2. Các tiêu chí đánh giá mô hình

3.2.1. False positive rate và False negative rate

3.2.2. Precision, Recall và F1 score

3.2.3. Tiêu chí đánh giá trong phân loại nhiều lớp

3.3. Thiết kế mô-đun ứng dụng web để tích hợp với mô hình đã huấn luyện

4. CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

4.1. Chuẩn bị tập dữ liệu

4.2. Môi trường huấn luyện mô hình

4.3. Kết quả thực nghiệm và đánh giá

4.4. Triển khai mô-đun tích hợp mô hình đã huấn luyện vào ứng dụng web

4.4.1. Xây dựng website minh họa

4.4.2. Tích hợp mô-đun phát hiện tấn công đã huấn luyện

4.4.3. Đánh giá hoạt động của mô-đun phát hiện tấn công

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết luận

5.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

PHỤ LỤC A

A.1. Nội dung tập tin check

A.2. Nội dung tập tnmô hình lớp

PHỤ LỤC B

B.1. Danh sách hình vẽ

Tóm tắt

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 InjectionCross-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)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 InjectionXSS 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 InjectionXSS. 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)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ếnlan 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 InjectionXSS. 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 InjectionXSS. 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 InjectionXSS. 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 InjectionXSS. 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 InjectionXSS. 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.

21/02/2025
Khóa luận tốt nghiệp an toàn thông tin sử dụng kỹ thuật học sâu trong phát hiện tấn công ứng dụng web

Trích đoạn nội dung tài liệu

Đặt vấn đề và trình bày sơ lược về mục đích, đối tượng và phạm vi nghiên cứu. Chương2 - Cở sở lý thuyết và các nghiên cứu liên quan Trình bày và giải thích các cơ sở lý thuyết liên quan đến học sâu, mạng nơ-ron nhân tạo, mạng nơ-ron tích chập. Trình bày khái niệm một số tấn công ứng dụng web phổ biến và nguy cơ của chúng. Trình bày một số phương pháp phát hiện và ngăn chặn tan công ứng dụng web truyền thống.

Bên cạnh đó, trình bày về tình hình nghiên cứu về phát hiện tan công ứng dụng web có sử dung học sâu. Chương3 - Phân tích và thiết kế mô hình Tiến hành phân tích và xây dựng mô hình để huấn luyện. Giải thích các tiêu chí đánh giá một mô hình. Cách tính toán đánh giá một mô hình.

Thực hiện thiết kế và triển khai môi trường thực nghiệm. Chương 4 - Thực nghiệm Trinh bày về các nguồn thu thập tập dữ liệu và cách xử lý dữ liệu. Triển khai môi trường huấn luyện mô hình. Dua ra đánh giá kết quả của mô hình đã huấn luyện với các tiêu chí đã trình bày.

So sánh mô hình của nhóm tác giả với mô hình của nghiên cứu khác bằng cách sử dụng cùng tập dữ liệu để huấn luyện và thực nghiệm. Chương5 - Kết luận và hướng phát triển Tổng kết các nội dung đã nghiên cứu trong đề tài. Từ đó đề xuất các hướng phát triển của đề tài có thể tiếp tục thực hiện trong tương lai. Chương 2 CƠ SỞ LÝ THUYET VA CÁC NGHIÊN CỨU LIÊN QUAN 2.1 Học sâu và mang nơ-ron nhân tạo 2.1 Giới thiệu Học sâu (Deep Learning - DL) là một phương pháp trong học máy (Machine Learning - ML) và (Artificial Intelligence - AI).

Trong những năm gần đây học sâu phát triển mạnh vì sự phát triển của dữ liệu lớn (Big data) và GPU cho phép giải quyết nhiều bài toán phức tạp và nhanh. Họ đặt tên cho kỹ thuật này là “Deep Learning”. Bài báo này thu hút sự quan tâm của cộng đồng khoa học và trước đó không lâu, nhiều bài báo mới đã chứng minh rằng học sâu có khả năng đạt được những thành tựu đáng kinh ngạc mà không có kỹ thuật học máy nào khác có thể đạt được (với sự trợ giúp của sức mạnh tính toán to lớn và một lượng lớn dữ liệu). Shallow ` Example: Example: Example: autoencoders MLPs Logistic Knowledge regression bases Representation learning Machine learning Hình 2.1: Hình thể hiện học sâu là một nhánh của ML va DL [5].

Học sâu không chỉ giải quyết được những bài toán của toán học truyền thống trong học máy như phân lớp (Classification), hồi quy (Regression), học tăng cường (Reinforcement Learning) mà còn có khả năng: «Biểu diễn dữ liệu dưới dang vector (Representation Learning): Ví du ta có hai từ gần nghĩa với nhau khi biểu diễn ra vector thì hai vector phải gần nhau. Đối với phương pháp học máy truyền thống khó làm được điều này. * Có thể huấn luyện trên dữ liệu không được gán nhãn (Data Synthesis): Ví dụ đưa vào một tập dữ liệu mặt người và mô hình sau khi huấn luyện có thể tự sinh ra những hình ảnh mặt người khác. ¢ Dùng mô hình đã huấn luyện của bài toán này giải quyết bài toán khác (Tranfer Learning).

Ban đầu hoc sâu chính là mạng nơ-ron nhân tao (Artificial Neural Network - ANN) hay còn gọi ngắn gọn là mang nơ-ron (Neural Network - NN), sau đó được phat triển thêm và có nhiều loại cải tiến như mạng nơ-ron tích chập (Convolutional Neural Network - CNN), mạng nơ-ron hồi quy (Recurrent Neural Network - RNN), mạng bộ nhớ dài ngắn (Long Short-Term Memory - LSTM), .2 Mang nơ ron nhân tao Mang nơ-ron nhân tao (Artificial Neural Network - ANN) là các hệ thông thần kinh nhân tạo được lấy cảm hứng từ các quá trình hoạt động của não người [6]. Theo [4], ANN đã tổn tại khá lâu và lần đầu tiên chúng được giới thiệu trở lại năm 1943 bởi Warren McCulloch và nhà toán hoc Walter Pitts. Trong bài báo "A Logical Calculus of Ideas Immanent in Nervous Activity", McCulloch va Pitts đã trình bày một mô hình tinh toán đơn giản về cách các tế bao nơ-ron sinh hoc có thể hoạt động cùng nhau trong não động vật để thực hiện tính toán sử dung propositional logic. Đây là kiến trúc mạng nơ-ron nhân tạo đầu tiên.

Tuy nhiên ANN đã bị lãng quên trong một thời gian dài và ngày nay, sự phát triển của lượng dif liệu lớn và sự gia tăng mạnh mẽ về sức mạnh tính toán, các thuật toán huấn luyện được cải thiện đã khiến cho ANN được quan tâm trở lại và ngày càng tạo ra nhiều sản phẩm tuyệt vời. Mô hình ANN Một mô hình ANN gồm có lớp đầu vào (input layer), lớp ẩn (hidden layer) và lớp đầu ra (output layer) như hình 2. Lớp input và output chỉ có một lớp nhưng có thể có nhiều lớp ẩn. Mỗi hình tròn trong hình 2.2 được gọi là một node.

eat Input Layer Hidden Layer Output Layer Hình 2.2: Các lớp của mô hình ANN. Perceptron Hoạt động của mỗi node trong lớp ẩn còn được gọi là perceptron. Perceptron là một trong những kiến trúc ANN đơn giản nhất, được phát minh vào năm 1957 bởi Frank Rosenblatt [4]. Mạng nơ-ron một lớp cũng được gọi là perceptron.

Trong một perceptron sẽ cho một đầu ra duy nhất. Hoạt động của một perceptron được thể hiện trong hình 2. 10 n ẩ : a a >» MiXi i=0 ƒ@) = Py " Hình 2.3: Hoạt động trong một perceptron. Một mẫu dữ liệu đầu vào là một vector có n chiều gồm từ x; đến x, và 1.

Các dữ liệu đầu vào của một mô hình luôn có vector bằng nhau. Một mẫu dé liệu có n chiều thì perceptron có n trọng sô (weight) là các wo, w\,. Chú ý đầu vào còn có thêm một hệ số 1. Tiếp theo ta tính tổng các weight và x tương ứng.

Nhận thấy 1 x wo luôn bằng wo, giá trị wo này được gọi là bias. Giả sử giá trị đầu ra của ta là y, rõ ràng y = w.x luôn đi qua gốc tọa độ nên việc cộng thêm bias giúp mô hình linh hoạt hơn. Sau đó ta cho kết quả đó vào hàm kích hoạt (activation function). Ham này để giả lập kích hoạt điện nơ-ron trong não người.

Khi cho kết quả đầu ra qua hàm này sẽ giúp khống chế đầu ra trong khoảng [0,1] hay [-1, 1], tùy theo hàm kích hoạt mà ta sử dung. Nếu không có activation function thì mô hình rất lâu mới có thể hội tu. Activation function trong ví dụ hình 2.3 là hàm binary. Có một số hàm kích hoạt thông dung: * Binary function: là một hàm kích hoạt dựa trên ngưỡng.

Nếu giá trị đầu vào cao hơn hoặc thấp hơn một ngưỡng nhất định, tế bào thần kinh sẽ được kích hoạt và gửi chính xác cùng một tín hiệu đến lớp tiếp theo. ¢ Sigmoid: là một hàm toán học có đường cong hình chữ “S” đặc trưng, đường cong này nằm trong khoảng từ 0 đến 1. ¢ Tanh: có phạm vi trong khoảng [-1,1]. ReLU đã trở nên rất phổ biến trong vài năm gần đây, nó thường được triển khai trong các lớp ẩn của ANN, đặc biệt là trong hầu hết các mạng nơ-ron tích chập [7].

Sigmoid Tanh ReLU “¿50 2)=+ = 74s HW) -== = aes (2) = 9(z) = max(0, max(0,z)z + + 0 1 Hình 2.5: Sigmoid, Tanh, ReLu activation function’.com/getting-started/150450 12 * Softmax: là hàm kích hoạt thường thấy trong bài toán phân loại nhiều lớp trong học sâu. Softmax thường được dùng ở lớp output của mạng nơ-ron. Hàm softmax tính giá trị đầu ra là xác xuất của các lớp [8]. Hàm softmax được định nghĩa như sau [9]: es P(y = jx) = ,Với zj = w¿x, K là số lớp, z € R* ve, c* Mô hình tổng quát của ANN được thể hiện trong hình 2.

Mỗi node trong lớp ẩn (màu tim) và node trong lớp đầu ra (màu đỏ) được tính như cách hoạt động trong một perceptron. Kết quả đầu ra của lớp này lại là đầu vào của lớp tiếp theo. Như vậy, mỗi node trong lớp ẩn và lớp đầu ra đều liên kết với tất cả các node ở lớp phía trước đó với các hệ so weight va bias riêng. input values a! eEv output values igh Hình 2.6: Mô hình tổng quát ANN [10].

13 Lan truyền tiễn (Forward Propagation) Đầu tiên ta bat đầu với một số kí hiệu để đề cập đến các trọng số một cách rõ ràng. Gọi wit là weight từ nơ-ron thứ k ở lớp (1-1) đến nơ-ron thứ j của lớp 1. Bias kí hiệu là bi là vi tri bias để tính giá trị của node thứ j tại lớp 1. Giá trị tai một node tại vi trí thứ k ở lớp I là dị.

Cách tính giá trị này đã được mô tả trong phần percepfron ở trên.7 là ví dụ về các kí hiệu trên. Ta có công thức tổng quát tinh output cho node tại lớp | vị trí thứ j là: l I I-14 pl Ví du tai node thứ 1 của lớp thứ 2 của hình 2.7 ta thực hiện tinh như tính một perceptron đã trình bay ở trên. Ta tính tổng các weight và a (giá trị của một node) tương ứng rồi cộng bias. 14 Zi =} _w7iai + bƒ = wir xa] + w1a X 42 + WTa x a3 + bị 2 2 2 2 2 1 2 1 2 1 2 k Sau đó cho kết quả tính được qua hàm kích hoạt: aj = Ø(21) = GÖỒ w,a + b7) 2 2 2 2 k Quá trình lần lượt tính ra các giá tri a và Z của các node trong lớp ẩn lần lượt từ trái qua phải cho đến node output được gọi là quá trình lan tryén tiến.

Output cuối cùng của mô hình chính là giá trị dự đoán. Ban dau ta chỉ cần nhập số lớp, số node trong một lớp và máy tính sé random weight và bias. Dé máy tự tìm được weight va bias tốt cần sử dụng thuật toán lan truyền ngược. Lan truyền ngược (Back Propagation) Cần một ham để đánh giá độ tốt của mô hình tức là giá tri dự đoán càng gần giá tri thực tế càng tốt.

Sau khi có giá trị dự đoán của một đối tượng ta cần kiểm tra giá trị dự đoán sai số bao nhiêu so với giá trị thực tế. Dé làm điều này ta sử dụng hàm mat mát (lost function) hay còn được gọi là hàm lỗi (error function) để kiểm tra. Hàm mất mát trong bài này sẽ kí hiệu C là tổng giá trị hàm lỗi của các output. Một ví dụ về hàm lỗi là lỗi bình phương trung bình ( mean squared error cost function) [9].

C= 2 giá trị dự đoán — giá trị thực tế)” Để dự đoán chính xác, người ta cần giảm thiểu sai số tính toán. Rõ ràng giá trị lỗi hay giá trị của loss function càng nhỏ càng tốt.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Ứng Dụng Kỹ Thuật Học Sâu Trong Phát Hiện Tấn Công Ứng Dụng Web | Khóa Luận Tốt Nghiệp là một tài liệu chuyên sâu tập trung vào việc áp dụng các phương pháp học sâu (deep learning) để phát hiện và ngăn chặn các cuộc tấn công mạng nhắm vào ứng dụng web. Tài liệu này cung cấp cái nhìn toàn diện về cách thức các mô hình học sâu có thể được huấn luyện để nhận diện các mẫu tấn công phức tạp, từ đó nâng cao khả năng bảo mật cho hệ thống web. Độc giả sẽ được tiếp cận với các kỹ thuật tiên tiến, case study thực tế, và lợi ích của việc tích hợp AI vào quy trình bảo mật.

Nếu bạn quan tâm đến chủ đề này, hãy khám phá thêm Luận văn thạc sĩ nghiên cứu các kỹ thuật kiểm thử bảo mật ứng dụng web, một tài liệu chuyên sâu khác về các phương pháp kiểm thử bảo mật, giúp bạn hiểu rõ hơn về cách thức đánh giá và cải thiện an ninh cho các ứng dụng web. Cả hai tài liệu đều mang lại giá trị lớn cho những ai đang tìm hiểu hoặc làm việc trong lĩnh vực bảo mật công nghệ thông tin.