Cargando…

A systematic review of fuzzing based on machine learning techniques

Security vulnerabilities play a vital role in network security system. Fuzzing technology is widely used as a vulnerability discovery technology to reduce damage in advance. However, traditional fuzz testing faces many challenges, such as how to mutate input seed files, how to increase code coverage...

Descripción completa

Detalles Bibliográficos
Autores principales: Wang, Yan, Jia, Peng, Liu, Luping, Huang, Cheng, Liu, Zhonglin
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7433880/
https://www.ncbi.nlm.nih.gov/pubmed/32810156
http://dx.doi.org/10.1371/journal.pone.0237749
_version_ 1783572039580254208
author Wang, Yan
Jia, Peng
Liu, Luping
Huang, Cheng
Liu, Zhonglin
author_facet Wang, Yan
Jia, Peng
Liu, Luping
Huang, Cheng
Liu, Zhonglin
author_sort Wang, Yan
collection PubMed
description Security vulnerabilities play a vital role in network security system. Fuzzing technology is widely used as a vulnerability discovery technology to reduce damage in advance. However, traditional fuzz testing faces many challenges, such as how to mutate input seed files, how to increase code coverage, and how to bypass the format verification effectively. Therefore machine learning techniques have been introduced as a new method into fuzz testing to alleviate these challenges. This paper reviews the research progress of using machine learning techniques for fuzz testing in recent years, analyzes how machine learning improves the fuzzing process and results, and sheds light on future work in fuzzing. Firstly, this paper discusses the reasons why machine learning techniques can be used for fuzzing scenarios and identifies five different stages in which machine learning has been used. Then this paper systematically studies machine learning-based fuzzing models from five dimensions of selection of machine learning algorithms, pre-processing methods, datasets, evaluation metrics, and hyperparameters setting. Secondly, this paper assesses the performance of the machine learning techniques in existing research for fuzz testing. The results of the evaluation prove that machine learning techniques have an acceptable capability of prediction for fuzzing. Finally, the capability of discovering vulnerabilities both traditional fuzzers and machine learning-based fuzzers is analyzed. The results depict that the introduction of machine learning techniques can improve the performance of fuzzing. We hope to provide researchers with a systematic and more in-depth understanding of fuzzing based on machine learning techniques and provide some references for this field through analysis and summarization of multiple dimensions.
format Online
Article
Text
id pubmed-7433880
institution National Center for Biotechnology Information
language English
publishDate 2020
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-74338802020-08-25 A systematic review of fuzzing based on machine learning techniques Wang, Yan Jia, Peng Liu, Luping Huang, Cheng Liu, Zhonglin PLoS One Research Article Security vulnerabilities play a vital role in network security system. Fuzzing technology is widely used as a vulnerability discovery technology to reduce damage in advance. However, traditional fuzz testing faces many challenges, such as how to mutate input seed files, how to increase code coverage, and how to bypass the format verification effectively. Therefore machine learning techniques have been introduced as a new method into fuzz testing to alleviate these challenges. This paper reviews the research progress of using machine learning techniques for fuzz testing in recent years, analyzes how machine learning improves the fuzzing process and results, and sheds light on future work in fuzzing. Firstly, this paper discusses the reasons why machine learning techniques can be used for fuzzing scenarios and identifies five different stages in which machine learning has been used. Then this paper systematically studies machine learning-based fuzzing models from five dimensions of selection of machine learning algorithms, pre-processing methods, datasets, evaluation metrics, and hyperparameters setting. Secondly, this paper assesses the performance of the machine learning techniques in existing research for fuzz testing. The results of the evaluation prove that machine learning techniques have an acceptable capability of prediction for fuzzing. Finally, the capability of discovering vulnerabilities both traditional fuzzers and machine learning-based fuzzers is analyzed. The results depict that the introduction of machine learning techniques can improve the performance of fuzzing. We hope to provide researchers with a systematic and more in-depth understanding of fuzzing based on machine learning techniques and provide some references for this field through analysis and summarization of multiple dimensions. Public Library of Science 2020-08-18 /pmc/articles/PMC7433880/ /pubmed/32810156 http://dx.doi.org/10.1371/journal.pone.0237749 Text en © 2020 Wang et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Wang, Yan
Jia, Peng
Liu, Luping
Huang, Cheng
Liu, Zhonglin
A systematic review of fuzzing based on machine learning techniques
title A systematic review of fuzzing based on machine learning techniques
title_full A systematic review of fuzzing based on machine learning techniques
title_fullStr A systematic review of fuzzing based on machine learning techniques
title_full_unstemmed A systematic review of fuzzing based on machine learning techniques
title_short A systematic review of fuzzing based on machine learning techniques
title_sort systematic review of fuzzing based on machine learning techniques
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7433880/
https://www.ncbi.nlm.nih.gov/pubmed/32810156
http://dx.doi.org/10.1371/journal.pone.0237749
work_keys_str_mv AT wangyan asystematicreviewoffuzzingbasedonmachinelearningtechniques
AT jiapeng asystematicreviewoffuzzingbasedonmachinelearningtechniques
AT liuluping asystematicreviewoffuzzingbasedonmachinelearningtechniques
AT huangcheng asystematicreviewoffuzzingbasedonmachinelearningtechniques
AT liuzhonglin asystematicreviewoffuzzingbasedonmachinelearningtechniques
AT wangyan systematicreviewoffuzzingbasedonmachinelearningtechniques
AT jiapeng systematicreviewoffuzzingbasedonmachinelearningtechniques
AT liuluping systematicreviewoffuzzingbasedonmachinelearningtechniques
AT huangcheng systematicreviewoffuzzingbasedonmachinelearningtechniques
AT liuzhonglin systematicreviewoffuzzingbasedonmachinelearningtechniques