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...
Autores principales: | , , , , |
---|---|
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 |