✨✨ CHÚC MỪNG NGUYỄN PHÚC CHƯƠNG & PHẠM THÀNH THÁI – SINH VIÊN NGÀNH ATTT, KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG ĐÃ CÓ BÀI NGHIÊN CỨU ĐẦU TIÊN ĐƯỢC ĐĂNG TRÊN TẠP CHÍ IEEE ACCESS (Q1).
Vừa qua, tạp chí IEEE Access (tạp chí thuộc nhóm Q1 – top 25% tạp chí danh giá nhất trong lĩnh vực Kỹ thuật và Khoa học máy tính) đã đăng bài nghiên cứu “𝐀 𝐂𝐨𝐯𝐞𝐫𝐚𝐠𝐞-𝐠𝐮𝐢𝐝𝐞𝐝 𝐅𝐮𝐳𝐳𝐢𝐧𝐠 𝐌𝐞𝐭𝐡𝐨𝐝 𝐟𝐨𝐫 𝐀𝐮𝐭𝐨𝐦𝐚𝐭𝐢𝐜 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐕𝐮𝐥𝐧𝐞𝐫𝐚𝐛𝐢𝐥𝐢𝐭𝐲 𝐃𝐞𝐭𝐞𝐜𝐭𝐢𝐨𝐧 𝐮𝐬𝐢𝐧𝐠 𝐑𝐞𝐢𝐧𝐟𝐨𝐫𝐜𝐞𝐦𝐞𝐧𝐭 𝐋𝐞𝐚𝐫𝐧𝐢𝐧𝐠-𝐞𝐧𝐚𝐛𝐥𝐞𝐝 𝐌𝐮𝐥𝐭𝐢-𝐋𝐞𝐯𝐞𝐥 𝐈𝐧𝐩𝐮𝐭 𝐌𝐮𝐭𝐚𝐭𝐢𝐨𝐧” của nhóm sinh viên chuyên ngành An toàn thông tin, Khoa MMT-TT, Trường ĐH CNTT. Đây là công trình khoa học về lĩnh vực Phát hiện và khai thác lỗ hổng bảo mật phần mềm được nhóm sinh viên thực hiện tại PTN ATTT trong quá trình thực hiện Khóa luận tốt nghiệp (KLTN) trong năm vừa qua.
Thông tin chung về nhóm SV:
- Nguyễn Phúc Chương - Lớp Tài năng ngành ATTT 2019
- Phạm Thành Thái - Lớp Tài năng ngành ATTT 2019
Tên bài báo:
- A Coverage-guided Fuzzing Method for Automatic Software Vulnerability Detection using Reinforcement Learning-enabled Multi-Level Input Mutation.
Giảng viên hướng dẫn:
- ThS. Phan Thế Duy
- TS. Phạm Văn Hậu
Abstract:
Fuzzing is a popular and effective software testing technique that automatically generates or modifies inputs to test the stability and vulnerabilities of a software system, which has been widely applied and improved by security researchers and experts. The goal of fuzzing is to uncover potential weaknesses in software by providing unexpected and invalid inputs to the target program to monitor its behavior and identify errors or unintended outcomes. Recently, researchers have also integrated promising machine learning algorithms, such as reinforcement learning, to enhance the fuzzing process. Reinforcement learning (RL) has been proven to be able to improve the effectiveness of fuzzing by selecting and prioritizing transformation actions with higher coverage, which reduces the required effort to uncover vulnerabilities. However, RL-based fuzzing models also encounter certain limitations, including an imbalance between exploitation and exploration. In this study, we propose a coverage-guided RL-based fuzzing model that enhances grey-box fuzzing, in which we leverage deep Q-learning to predict and select input variations to maximize code coverage and use code coverage as a reward signal. This model is complemented by simple input selection and scheduling algorithms that promote a more balanced approach to exploiting and exploring software. Furthermore, we introduce a multi-level input mutation model combined with RL to create a sequence of actions for comprehensive input variation. The proposed model is compared to other fuzzing tools in testing various real-world programs, where the results indicate a notable enhancement in terms of code coverage, discovered paths, and execution speed of our solution.