Nghiên Cứu Phương Pháp Học Sâu Để Phát Hiện Lỗ Hổng Bảo Mật Phần Mềm Trong Khóa Luận Tốt Nghiệp

2023

85
0
0

Phí lưu trữ

Miễn phí

Tóm tắt

I. Phương pháp học sâu

Phương pháp học sâu là một lĩnh vực con của học máy, tập trung vào việc sử dụng các mạng nơ-ron nhân tạo để giải quyết các vấn đề phức tạp. Trong khóa luận này, học sâu được áp dụng để phát hiện lỗ hổng bảo mật trong phần mềm. Các mô hình như RNN, LSTM, và Transformer được sử dụng để xử lý dữ liệu mã nguồn, giúp tăng độ chính xác trong việc phát hiện lỗi. Học sâu đặc biệt hiệu quả trong việc xử lý ngôn ngữ tự nhiên và mã nguồn, nhờ khả năng học từ dữ liệu lớn và tự động hóa quá trình phân tích.

1.1. Mô hình RNN

Mô hình RNN (Recurrent Neural Network) là một mạng nơ-ron có khả năng xử lý chuỗi dữ liệu bằng cách tạo ra các kết nối tuần hoàn giữa các nút. Điều này cho phép mô hình ghi nhớ thông tin từ các bước trước, phù hợp để phân tích mã nguồn có cấu trúc tuần tự. Tuy nhiên, RNN thường gặp vấn đề về việc mất thông tin khi chuỗi dữ liệu dài.

1.2. Mô hình LSTM

Mô hình LSTM (Long Short-Term Memory) là một cải tiến của RNN, được thiết kế để giải quyết vấn đề mất thông tin trong chuỗi dài. LSTM sử dụng các cổng điều khiển để quyết định thông tin nào cần lưu giữ hoặc loại bỏ, giúp mô hình học được các mối quan hệ phức tạp trong mã nguồn. Điều này làm cho LSTM phù hợp hơn cho việc phát hiện lỗ hổng bảo mật.

II. Phát hiện lỗ hổng bảo mật

Phát hiện lỗ hổng bảo mật là một quá trình quan trọng trong an ninh mạng, nhằm xác định các điểm yếu trong phần mềm có thể bị khai thác. Trong khóa luận này, các kỹ thuật như Program Dependence Graph (PDG)Control Flow Graph (CFG) được sử dụng để phân tích mã nguồn. Các mô hình học sâu được huấn luyện trên các bộ dữ liệu như SySeVRVuldeepecker để phát hiện các lỗ hổng một cách tự động và chính xác.

2.1. Kỹ thuật Program Slicing

Kỹ thuật Program Slicing được sử dụng để trích xuất các đoạn mã liên quan đến lỗ hổng từ mã nguồn. Các slice này chứa cả thông tin cú pháp và ngữ nghĩa, giúp mô hình học sâu hiểu rõ hơn về cấu trúc của mã. Kỹ thuật này đặc biệt hữu ích khi làm việc với các ngôn ngữ lập trình phức tạp như C và C++.

2.2. Trích xuất mẫu từ mã nguồn

Việc trích xuất các mẫu từ mã nguồn là bước quan trọng để tạo dữ liệu huấn luyện cho mô hình. Các mẫu này được trích xuất từ cây cú pháp trừu tượng (AST) và các sơ đồ PDGCFG. Các mẫu chứa lỗ hổng được gán nhãn và chuyển đổi thành vector để làm đầu vào cho mô hình học sâu.

III. Ứng dụng trong khóa luận tốt nghiệp

Khóa luận này tập trung vào việc áp dụng phương pháp học sâu để phát hiện lỗ hổng bảo mật trong phần mềm. Các mô hình như CodeBERTGCN được sử dụng để nhúng vector và phân tích mã nguồn. Kết quả thí nghiệm cho thấy hiệu quả của các mô hình này trong việc phát hiện lỗ hổng trên các bộ dữ liệu VuldeepeckerSySeVR. Khóa luận cũng đề xuất hướng phát triển trong tương lai, bao gồm việc mở rộng sang các ngôn ngữ lập trình khác và cải thiện độ chính xác của mô hình.

3.1. Thí nghiệm và đánh giá

Các thí nghiệm được thực hiện trên hai bộ dữ liệu chính là VuldeepeckerSySeVR. Kết quả cho thấy các mô hình học sâu như LSTMBiLSTM đạt hiệu suất cao trong việc phát hiện lỗ hổng. Các chỉ số đánh giá như độ chính xác, recall và F1-score được sử dụng để so sánh hiệu quả của các mô hình.

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

Khóa luận đề xuất các hướng phát triển trong tương lai, bao gồm việc áp dụng học sâu cho các ngôn ngữ lập trình khác ngoài C và C++, cũng như cải thiện các kỹ thuật trích xuất mẫu để tăng độ chính xác của mô hình. Ngoài ra, việc tích hợp các mô hình tiên tiến như TransformerGNN cũng được khuyến nghị.

21/02/2025
Khóa luận tốt nghiệp an toàn thông tin nghiên cứu phương pháp phát hiện lỗ hổng bảo mật phần mềm bằng phương pháp học sâu
Bạn đang xem trước tài liệu : Khóa luận tốt nghiệp an toàn thông tin nghiên cứu phương pháp phát hiện lỗ hổng bảo mật phần mềm bằng phương pháp học sâu

Để xem tài liệu hoàn chỉnh bạn click vào nút

Tải xuống

Tải xuống (85 Trang - 44.53 MB)