cid 5547ddc33ea390b2711ac38011efd8b5b47d418a8902a66ab93141997c549e88 · original · open access · via openalex
Title: Att Utnyttja djupinlärning för att Förbättra Fuzzing i Linux-kärnan : Vägledning för Syzkallers mutationer Authors: Dimosthenis Vasilakis, Emmanouil Venue: KTH Publication Database DiVA (KTH Royal Institute of Technology) Year: 2025 Canonical: openalex:https://openalex.org/W7112993322 URL: https://openalex.org/W7112993322 Collector: openalex OA: true ABSTRACT Fuzzing is a widely used security testing technique which is effective in discovering software security bugs, including kernel bugs. Coverage-guided fuzzers, such as Syzkaller, have shown strong results. However improving code coverage and critical bug detection remains challenging. Syzkaller’s empirical mutation strategy can be improved by blending deep learning with coverage-guided fuzzing. To address the challenges of low code coverage and limited critical bug detection, this project integrates a datadriven mutation strategy into Syzkaller, using a multi-scale one-dimensional convolutional neural network (1D-CNN) trained to detect crash-inducing programs. The architecture includes an embedding layer for detecting semantic combinations and two parallel convolutional layers. It is trained with a balanced dataset of crash and non-crash inputs from Syzbot. The model achieves an F1-score of 82% and an accuracy of 81% in predicting crash-inducing programs. The system is integrated into Syzkaller to provide additional insight, communicating via HTTP. It is evaluated on Linux kernel 6.12 in three 4-hour experiments and one 96-hour experiment for both the original and integrated versions, which both use identical resources and default configurations. Even though the model demonstrates good learning capabilities, overfitting limits its ability to generalize. During the campaigns, the fuzzer experiences crashes requiring manual restarts. Deep learning shows potential for guiding mutations against critical vulnerabilities. Future work includes testing LSTMs or attention mechanisms, with native integration into Syzkaller, and experimenting with different tokenization techniques.