P-Fuzz: A Parallel Grey-Box Fuzzing Framework
Fuzzing is an effective technology in software testing and security vulnerability detection. Unfortunately, fuzzing is an extremely compute-intensive job, which may cause thousands of computing hours to find a bug. Current novel works generally improve fuzzing efficiency by developing delicate algor...
Gespeichert in:
Veröffentlicht in: | Applied sciences 2019-12, Vol.9 (23), p.5100 |
---|---|
Hauptverfasser: | , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | 23 |
container_start_page | 5100 |
container_title | Applied sciences |
container_volume | 9 |
creator | Song, Congxi Zhou, Xu Yin, Qidi He, Xinglu Zhang, Hangwei Lu, Kai |
description | Fuzzing is an effective technology in software testing and security vulnerability detection. Unfortunately, fuzzing is an extremely compute-intensive job, which may cause thousands of computing hours to find a bug. Current novel works generally improve fuzzing efficiency by developing delicate algorithms. In this paper, we propose another direction of improvement in this field, i.e., leveraging parallel computing to improve fuzzing efficiency. In this way, we develop P-fuzz, a parallel fuzzing framework that can utilize massive, distributed computing resources to fuzz. P-fuzz uses a database to share the fuzzing status such as seeds, the coverage information, etc. All fuzzing nodes get tasks from the database and update their fuzzing status to the database. Also, P-fuzz handles some data races and exceptions in parallel fuzzing. We compare P-fuzz with AFL and a parallel fuzzing framework Roving in our experiment. The result shows that P-fuzz can easily speed up AFL about 2.59× and Roving about 1.66× on average by using 4 nodes. |
doi_str_mv | 10.3390/app9235100 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2533732880</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2533732880</sourcerecordid><originalsourceid>FETCH-LOGICAL-c295t-9a5f21a0c4028c55e98a69b861d980c87e4f915980bdaeb25b9bd2e7ff6b16883</originalsourceid><addsrcrecordid>eNpNUFFLwzAYDKLg2PbiLwj4JkS_JE2a-DaHncLAPehzSNpENru1Jiu6_fp1THD3cgd33MEhdEPhnnMND7ZtNeOCAlygAYNcEp7R_PJMX6NxSivooSlXFAaILEjR7fePeIIXNtq69jWeRb8jT80vPjrLzScuol37nyZ-jdBVsHXy4z8eoo_i-X36QuZvs9fpZE5KpsWWaCsCoxbKDJgqhfBaWamdkrTSCkqV-yxoKnrtKusdE067ivk8BOmoVIoP0e2pt43Nd-fT1qyaLm76ScME5zlnSkGfujulytikFH0wbVyubdwZCub4iPl_hB8AubtQvQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2533732880</pqid></control><display><type>article</type><title>P-Fuzz: A Parallel Grey-Box Fuzzing Framework</title><source>DOAJ Directory of Open Access Journals</source><source>MDPI - Multidisciplinary Digital Publishing Institute</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>Song, Congxi ; Zhou, Xu ; Yin, Qidi ; He, Xinglu ; Zhang, Hangwei ; Lu, Kai</creator><creatorcontrib>Song, Congxi ; Zhou, Xu ; Yin, Qidi ; He, Xinglu ; Zhang, Hangwei ; Lu, Kai</creatorcontrib><description>Fuzzing is an effective technology in software testing and security vulnerability detection. Unfortunately, fuzzing is an extremely compute-intensive job, which may cause thousands of computing hours to find a bug. Current novel works generally improve fuzzing efficiency by developing delicate algorithms. In this paper, we propose another direction of improvement in this field, i.e., leveraging parallel computing to improve fuzzing efficiency. In this way, we develop P-fuzz, a parallel fuzzing framework that can utilize massive, distributed computing resources to fuzz. P-fuzz uses a database to share the fuzzing status such as seeds, the coverage information, etc. All fuzzing nodes get tasks from the database and update their fuzzing status to the database. Also, P-fuzz handles some data races and exceptions in parallel fuzzing. We compare P-fuzz with AFL and a parallel fuzzing framework Roving in our experiment. The result shows that P-fuzz can easily speed up AFL about 2.59× and Roving about 1.66× on average by using 4 nodes.</description><identifier>ISSN: 2076-3417</identifier><identifier>EISSN: 2076-3417</identifier><identifier>DOI: 10.3390/app9235100</identifier><language>eng</language><publisher>Basel: MDPI AG</publisher><subject>Algorithms ; Distributed processing ; Efficiency ; Feedback ; Mutation ; Nodes ; Security ; Seeds ; Software ; Software reliability ; Software testing ; Workloads</subject><ispartof>Applied sciences, 2019-12, Vol.9 (23), p.5100</ispartof><rights>2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c295t-9a5f21a0c4028c55e98a69b861d980c87e4f915980bdaeb25b9bd2e7ff6b16883</citedby><cites>FETCH-LOGICAL-c295t-9a5f21a0c4028c55e98a69b861d980c87e4f915980bdaeb25b9bd2e7ff6b16883</cites><orcidid>0000-0002-7672-0915</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,864,27924,27925</link.rule.ids></links><search><creatorcontrib>Song, Congxi</creatorcontrib><creatorcontrib>Zhou, Xu</creatorcontrib><creatorcontrib>Yin, Qidi</creatorcontrib><creatorcontrib>He, Xinglu</creatorcontrib><creatorcontrib>Zhang, Hangwei</creatorcontrib><creatorcontrib>Lu, Kai</creatorcontrib><title>P-Fuzz: A Parallel Grey-Box Fuzzing Framework</title><title>Applied sciences</title><description>Fuzzing is an effective technology in software testing and security vulnerability detection. Unfortunately, fuzzing is an extremely compute-intensive job, which may cause thousands of computing hours to find a bug. Current novel works generally improve fuzzing efficiency by developing delicate algorithms. In this paper, we propose another direction of improvement in this field, i.e., leveraging parallel computing to improve fuzzing efficiency. In this way, we develop P-fuzz, a parallel fuzzing framework that can utilize massive, distributed computing resources to fuzz. P-fuzz uses a database to share the fuzzing status such as seeds, the coverage information, etc. All fuzzing nodes get tasks from the database and update their fuzzing status to the database. Also, P-fuzz handles some data races and exceptions in parallel fuzzing. We compare P-fuzz with AFL and a parallel fuzzing framework Roving in our experiment. The result shows that P-fuzz can easily speed up AFL about 2.59× and Roving about 1.66× on average by using 4 nodes.</description><subject>Algorithms</subject><subject>Distributed processing</subject><subject>Efficiency</subject><subject>Feedback</subject><subject>Mutation</subject><subject>Nodes</subject><subject>Security</subject><subject>Seeds</subject><subject>Software</subject><subject>Software reliability</subject><subject>Software testing</subject><subject>Workloads</subject><issn>2076-3417</issn><issn>2076-3417</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><recordid>eNpNUFFLwzAYDKLg2PbiLwj4JkS_JE2a-DaHncLAPehzSNpENru1Jiu6_fp1THD3cgd33MEhdEPhnnMND7ZtNeOCAlygAYNcEp7R_PJMX6NxSivooSlXFAaILEjR7fePeIIXNtq69jWeRb8jT80vPjrLzScuol37nyZ-jdBVsHXy4z8eoo_i-X36QuZvs9fpZE5KpsWWaCsCoxbKDJgqhfBaWamdkrTSCkqV-yxoKnrtKusdE067ivk8BOmoVIoP0e2pt43Nd-fT1qyaLm76ScME5zlnSkGfujulytikFH0wbVyubdwZCub4iPl_hB8AubtQvQ</recordid><startdate>20191201</startdate><enddate>20191201</enddate><creator>Song, Congxi</creator><creator>Zhou, Xu</creator><creator>Yin, Qidi</creator><creator>He, Xinglu</creator><creator>Zhang, Hangwei</creator><creator>Lu, Kai</creator><general>MDPI AG</general><scope>AAYXX</scope><scope>CITATION</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><orcidid>https://orcid.org/0000-0002-7672-0915</orcidid></search><sort><creationdate>20191201</creationdate><title>P-Fuzz: A Parallel Grey-Box Fuzzing Framework</title><author>Song, Congxi ; Zhou, Xu ; Yin, Qidi ; He, Xinglu ; Zhang, Hangwei ; Lu, Kai</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c295t-9a5f21a0c4028c55e98a69b861d980c87e4f915980bdaeb25b9bd2e7ff6b16883</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><topic>Algorithms</topic><topic>Distributed processing</topic><topic>Efficiency</topic><topic>Feedback</topic><topic>Mutation</topic><topic>Nodes</topic><topic>Security</topic><topic>Seeds</topic><topic>Software</topic><topic>Software reliability</topic><topic>Software testing</topic><topic>Workloads</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Song, Congxi</creatorcontrib><creatorcontrib>Zhou, Xu</creatorcontrib><creatorcontrib>Yin, Qidi</creatorcontrib><creatorcontrib>He, Xinglu</creatorcontrib><creatorcontrib>Zhang, Hangwei</creatorcontrib><creatorcontrib>Lu, Kai</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><jtitle>Applied sciences</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Song, Congxi</au><au>Zhou, Xu</au><au>Yin, Qidi</au><au>He, Xinglu</au><au>Zhang, Hangwei</au><au>Lu, Kai</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>P-Fuzz: A Parallel Grey-Box Fuzzing Framework</atitle><jtitle>Applied sciences</jtitle><date>2019-12-01</date><risdate>2019</risdate><volume>9</volume><issue>23</issue><spage>5100</spage><pages>5100-</pages><issn>2076-3417</issn><eissn>2076-3417</eissn><abstract>Fuzzing is an effective technology in software testing and security vulnerability detection. Unfortunately, fuzzing is an extremely compute-intensive job, which may cause thousands of computing hours to find a bug. Current novel works generally improve fuzzing efficiency by developing delicate algorithms. In this paper, we propose another direction of improvement in this field, i.e., leveraging parallel computing to improve fuzzing efficiency. In this way, we develop P-fuzz, a parallel fuzzing framework that can utilize massive, distributed computing resources to fuzz. P-fuzz uses a database to share the fuzzing status such as seeds, the coverage information, etc. All fuzzing nodes get tasks from the database and update their fuzzing status to the database. Also, P-fuzz handles some data races and exceptions in parallel fuzzing. We compare P-fuzz with AFL and a parallel fuzzing framework Roving in our experiment. The result shows that P-fuzz can easily speed up AFL about 2.59× and Roving about 1.66× on average by using 4 nodes.</abstract><cop>Basel</cop><pub>MDPI AG</pub><doi>10.3390/app9235100</doi><orcidid>https://orcid.org/0000-0002-7672-0915</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 2076-3417 |
ispartof | Applied sciences, 2019-12, Vol.9 (23), p.5100 |
issn | 2076-3417 2076-3417 |
language | eng |
recordid | cdi_proquest_journals_2533732880 |
source | DOAJ Directory of Open Access Journals; MDPI - Multidisciplinary Digital Publishing Institute; EZB-FREE-00999 freely available EZB journals |
subjects | Algorithms Distributed processing Efficiency Feedback Mutation Nodes Security Seeds Software Software reliability Software testing Workloads |
title | P-Fuzz: A Parallel Grey-Box Fuzzing Framework |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T15%3A11%3A09IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=P-Fuzz:%20A%20Parallel%20Grey-Box%20Fuzzing%20Framework&rft.jtitle=Applied%20sciences&rft.au=Song,%20Congxi&rft.date=2019-12-01&rft.volume=9&rft.issue=23&rft.spage=5100&rft.pages=5100-&rft.issn=2076-3417&rft.eissn=2076-3417&rft_id=info:doi/10.3390/app9235100&rft_dat=%3Cproquest_cross%3E2533732880%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2533732880&rft_id=info:pmid/&rfr_iscdi=true |