Cargando…

Ffuzz: Towards full system high coverage fuzz testing on binary executables

Bugs and vulnerabilities in binary executables threaten cyber security. Current discovery methods, like fuzz testing, symbolic execution and manual analysis, both have advantages and disadvantages when exercising the deeper code area in binary executables to find more bugs. In this paper, we designe...

Descripción completa

Detalles Bibliográficos
Autores principales: Zhang, Bin, Ye, Jiaxi, Bi, Xing, Feng, Chao, Tang, Chaojing
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2018
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5965842/
https://www.ncbi.nlm.nih.gov/pubmed/29791469
http://dx.doi.org/10.1371/journal.pone.0196733
_version_ 1783325383763951616
author Zhang, Bin
Ye, Jiaxi
Bi, Xing
Feng, Chao
Tang, Chaojing
author_facet Zhang, Bin
Ye, Jiaxi
Bi, Xing
Feng, Chao
Tang, Chaojing
author_sort Zhang, Bin
collection PubMed
description Bugs and vulnerabilities in binary executables threaten cyber security. Current discovery methods, like fuzz testing, symbolic execution and manual analysis, both have advantages and disadvantages when exercising the deeper code area in binary executables to find more bugs. In this paper, we designed and implemented a hybrid automatic bug finding tool—Ffuzz—on top of fuzz testing and selective symbolic execution. It targets full system software stack testing including both the user space and kernel space. Combining these two mainstream techniques enables us to achieve higher coverage and avoid getting stuck both in fuzz testing and symbolic execution. We also proposed two key optimizations to improve the efficiency of full system testing. We evaluated the efficiency and effectiveness of our method on real-world binary software and 844 memory corruption vulnerable programs in the Juliet test suite. The results show that Ffuzz can discover software bugs in the full system software stack effectively and efficiently.
format Online
Article
Text
id pubmed-5965842
institution National Center for Biotechnology Information
language English
publishDate 2018
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-59658422018-06-02 Ffuzz: Towards full system high coverage fuzz testing on binary executables Zhang, Bin Ye, Jiaxi Bi, Xing Feng, Chao Tang, Chaojing PLoS One Research Article Bugs and vulnerabilities in binary executables threaten cyber security. Current discovery methods, like fuzz testing, symbolic execution and manual analysis, both have advantages and disadvantages when exercising the deeper code area in binary executables to find more bugs. In this paper, we designed and implemented a hybrid automatic bug finding tool—Ffuzz—on top of fuzz testing and selective symbolic execution. It targets full system software stack testing including both the user space and kernel space. Combining these two mainstream techniques enables us to achieve higher coverage and avoid getting stuck both in fuzz testing and symbolic execution. We also proposed two key optimizations to improve the efficiency of full system testing. We evaluated the efficiency and effectiveness of our method on real-world binary software and 844 memory corruption vulnerable programs in the Juliet test suite. The results show that Ffuzz can discover software bugs in the full system software stack effectively and efficiently. Public Library of Science 2018-05-23 /pmc/articles/PMC5965842/ /pubmed/29791469 http://dx.doi.org/10.1371/journal.pone.0196733 Text en © 2018 Zhang 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
Zhang, Bin
Ye, Jiaxi
Bi, Xing
Feng, Chao
Tang, Chaojing
Ffuzz: Towards full system high coverage fuzz testing on binary executables
title Ffuzz: Towards full system high coverage fuzz testing on binary executables
title_full Ffuzz: Towards full system high coverage fuzz testing on binary executables
title_fullStr Ffuzz: Towards full system high coverage fuzz testing on binary executables
title_full_unstemmed Ffuzz: Towards full system high coverage fuzz testing on binary executables
title_short Ffuzz: Towards full system high coverage fuzz testing on binary executables
title_sort ffuzz: towards full system high coverage fuzz testing on binary executables
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5965842/
https://www.ncbi.nlm.nih.gov/pubmed/29791469
http://dx.doi.org/10.1371/journal.pone.0196733
work_keys_str_mv AT zhangbin ffuzztowardsfullsystemhighcoveragefuzztestingonbinaryexecutables
AT yejiaxi ffuzztowardsfullsystemhighcoveragefuzztestingonbinaryexecutables
AT bixing ffuzztowardsfullsystemhighcoveragefuzztestingonbinaryexecutables
AT fengchao ffuzztowardsfullsystemhighcoveragefuzztestingonbinaryexecutables
AT tangchaojing ffuzztowardsfullsystemhighcoveragefuzztestingonbinaryexecutables