Phát hiện lỗ hổng phần mềm nhờ học sâu
Từ khóa:
học sâu, học tương phản, lỗ hổng, phần mềmTóm tắt
Việc phát triển các dự án phần mềm thành công luôn là mối quan tâm hàng đầu của các tổ chức, doanh nghiệp. Trong đó, việc đảm bảo chất lượng của phần mềm là ưu tiên cao nhất trong toàn bộ quá trình phát triển cũng như vận hành của phần mềm. Bài báo đề cập việc phát hiện các lỗ hổng của mã nguồn và tập trung vào phân tích cú pháp và ngữ nghĩa của các câu lệnh trong mã nguồn. Mô hình phát hiện lỗ hổng mã nguồn được thực hiện theo quy trình: (i) biểu diễn cú pháp và ngữ nghĩa; (ii) trích xuất đặc trưng của mã nguồn; (iii) cân bằng dữ liệu; (iv) phân loại mã nguồn. Đầu ra của mô hình cho biết mã nguồn đó hoặc bình thường, hoặc có lỗ hổng. Mô hình sử dụng bộ dữ liệu SART để huấn luyện mô hình học sâu. Mạng học sâu sử dụng mô hình BERT, mô hình Word2Vec kết hợp LSTM và mô hình Word2Vec với BiLSTM theo ba kịch bản. Kết quả phân loại được đưa qua một hàm softmax để trả về một vector chứa dự đoán xác suất xảy ra của từng loại lỗ hổng. Với tỷ lệ phát hiện lỗ hổng mã nguồn cho kết quả chính xác lên đến 82,63%, tương ứng với tỷ lệ bỏ sót chỉ còn 17,37%. Đây là một kết quả có thể chấp nhận được, chứng minh hiệu quả vượt trội đối với bài toán phát hiện lỗ hổng mã nguồn.
DOI:
https://doi.org/10.31276/VJST.2024.0019Chỉ số phân loại
1.2, 2.2
Tải xuống
Đã xuất bản
Ngày nhận bài 21/10/2024; ngày chuyển phản biện 23/10/2024; ngày nhận phản biện 5/11/2024; ngày chấp nhận đăng 29/11/2024

