Nothing Special   »   [go: up one dir, main page]

You seem to have javascript disabled. Please note that many of the page functionalities won't work as expected without javascript enabled.
 
 
Sign in to use this feature.

Years

Between: -

Subjects

remove_circle_outline
remove_circle_outline
remove_circle_outline
remove_circle_outline
remove_circle_outline
remove_circle_outline
remove_circle_outline
remove_circle_outline
remove_circle_outline

Journals

Article Types

Countries / Regions

Search Results (95)

Search Parameters:
Keywords = fuzzing

Order results
Result details
Results per page
Select all
Export citation of selected articles as:
25 pages, 683 KiB  
Article
DynER: Optimized Test Case Generation for Representational State Transfer (REST)ful Application Programming Interface (API) Fuzzers Guided by Dynamic Error Responses
by Juxing Chen, Yuanchao Chen, Zulie Pan, Yu Chen, Yuwei Li, Yang Li, Min Zhang and Yi Shen
Electronics 2024, 13(17), 3476; https://doi.org/10.3390/electronics13173476 - 1 Sep 2024
Viewed by 676
Abstract
Modern web services widely provide RESTful APIs for clients to access their functionality programmatically. Fuzzing is an emerging technique for ensuring the reliability of RESTful APIs. However, the existing RESTful API fuzzers repeatedly generate invalid requests due to unawareness of errors in the [...] Read more.
Modern web services widely provide RESTful APIs for clients to access their functionality programmatically. Fuzzing is an emerging technique for ensuring the reliability of RESTful APIs. However, the existing RESTful API fuzzers repeatedly generate invalid requests due to unawareness of errors in the invalid tested requests and lack of effective strategy to generate legal value for the incorrect parameters. Such limitations severely hinder the fuzzing performance. In this paper, we propose DynER, a new test case generation method guided by dynamic error responses during fuzzing. DynER designs two strategies of parameter value generation for purposefully revising the incorrect parameters of invalid tested requests to generate new test requests. The strategies are, respectively, based on prompting Large Language Model (LLM) to understand the semantics information in error responses and actively accessing API-related resources. We apply DynER to the state-of-the-art fuzzer RESTler and implement DynER-RESTler. DynER-RESTler outperforms foREST on two real-world RESTful services, WordPress and GitLab with a 41.21% and 26.33% higher average pass rate for test requests and a 12.50% and 22.80% higher average number of unique request types successfully tested, respectively. The experimental results demonstrate that DynER significantly improves the effectiveness of test cases and fuzzing performance. Additionally, DynER-RESTler finds three new bugs. Full article
Show Figures

Figure 1

Figure 1
<p>Motivation example of revising an invalid tested request to generate new test requests. (<b>a</b>) An invalid tested request and its error response. (<b>b</b>) A new test request generated by revising incorrect parameters according to the semantic information in the error response and the new error response. (<b>c</b>) Constructing a GET request to access the API-related resource information containing the legitimate values for incorrect parameters from SUTs. (<b>d</b>) A new test request generated by revising incorrect parameters according to the API-related resource information and the new success response.</p>
Full article ">Figure 2
<p>Framework of DynER-RESTler: the RESTful API fuzzer optimized with DynER.</p>
Full article ">Figure 3
<p>Framework of DynER.</p>
Full article ">Figure 4
<p>Prompt template for revising incorrect content of an invalid request.</p>
Full article ">Figure 5
<p>Prompt template for finding out the incorrect parameters of an invalid request.</p>
Full article ">Figure 6
<p>The code coverage over time when fuzzing WordPress with DynER-RESTler and foREST, respectively.</p>
Full article ">Figure 7
<p>The code coverage over the number of sent test requests when fuzzing WordPress with DynER-RESTler and foREST, respectively.</p>
Full article ">Figure 8
<p>The code coverage for RESTler, RESTler+Semantics, RESTler+Resource and DynER-RESTler, respectively, over the number of tested requests during fuzzing.</p>
Full article ">Figure 9
<p>The code coverage of RESTler, RESTler+Semantics, RESTler+Resource and DynER-RESTler, respectively, over time during fuzzing.</p>
Full article ">Figure 10
<p>A new interesting bug detected in WordPress <span class="html-italic">Media</span> API. The test request triggering the bug should be in the message format of “multipart/form-data”.</p>
Full article ">Figure 11
<p>Two new interesting bugs detected in GitLab <span class="html-italic">Issues</span> API and <span class="html-italic">Projects API</span>. The test request triggering the first bug should contain the two parameters “project_iid” and “issue_iid”, whose value must be the corresponding <span class="html-italic">existing resource IDs</span>. The second bug is caused by the “use_custom_template” parameter. The test request triggering this bug must assign a valid value for other parameters with format constraints.</p>
Full article ">
20 pages, 723 KiB  
Article
sqlFuzz: Directed Fuzzing for SQL Injection Vulnerability
by Ye Yuan, Yuliang Lu, Kailong Zhu, Hui Huang, Yuanchao Chen and Yifan Zhang
Electronics 2024, 13(15), 2946; https://doi.org/10.3390/electronics13152946 - 26 Jul 2024
Viewed by 602
Abstract
Fuzz testing technology is an important approach to detecting SQL injection vulnerabilities. Among them, coverage-guided gray-box fuzz testing technology is the current research focus, and has been proved to be an effective method. However, for SQL injection vulnerability, coverage-guided gray-box fuzz testing as [...] Read more.
Fuzz testing technology is an important approach to detecting SQL injection vulnerabilities. Among them, coverage-guided gray-box fuzz testing technology is the current research focus, and has been proved to be an effective method. However, for SQL injection vulnerability, coverage-guided gray-box fuzz testing as a detection method has the problems of low efficiency and high false positives. In order to solve the above problems, we propose a potentially vulnerable code-guided gray-box fuzz testing technology. Firstly, taint analysis technology is used to locate all the taint propagation paths containing potential vulnerabilities as potentially vulnerable codes. Then, the source code of the application program is instrumented according to the location of the potentially vulnerable code. Finally, the feedback of seeds during the run is used to guide seed selection and seed mutation, and a large number of test cases are generated. Based on the above techniques, we implement the sqlFuzz prototype system, and use this system to analyze eight modern PHP applications. The experimental results show that sqlFuzz can not only detect more SQL injection vulnerabilities than the existing coverage-guided gray box fuzz testing technology, but also significantly improve the efficiency, in terms of time efficiency increased by 80 percent. Full article
Show Figures

Figure 1

Figure 1
<p>A code control flow graph containing a sink.</p>
Full article ">Figure 2
<p>The overall framework of sqlFuzz.</p>
Full article ">Figure 3
<p>Sample of an instrumented function test for measuring edge coverage.</p>
Full article ">Figure 4
<p>A sample program’s control flow graph.</p>
Full article ">Figure 5
<p>Experimental results graph for efficiency improvement assessment.</p>
Full article ">
15 pages, 518 KiB  
Article
On the Analysis of Coverage Feedback in a Fuzzing Proprietary System
by Daehee Jang, Jaemin Kim, Jiho Kim, Woohyeop Im, Minwoo Jeong, Byeongcheol Choi and Chongkyung Kil
Appl. Sci. 2024, 14(13), 5939; https://doi.org/10.3390/app14135939 - 8 Jul 2024
Viewed by 852
Abstract
Coverage feedback is one of the key mechanisms for improving the effectiveness of fuzzers by measuring and comparing the executed code regions while processing input data. In general, such guidance should always improve the performance of fuzzers to better find unexplored code regions. [...] Read more.
Coverage feedback is one of the key mechanisms for improving the effectiveness of fuzzers by measuring and comparing the executed code regions while processing input data. In general, such guidance should always improve the performance of fuzzers to better find unexplored code regions. However, proprietary systems with uncommon I/O interfaces (e.g., UAV system, IoT devices, satellite firmware) require extensive engineering/porting efforts to apply coverage feedback support in developing their fuzzing platform. In this paper, we evaluate the detailed efficacy of coverage feedback in fuzzing based on 44 real-world bugs we found using OSS-Fuzz. Our analysis uncovered when and how code coverage information can be helpful, and our experiment demonstrates that although coverage guidance is always helpful to some extent, its effectiveness depends on various external factors. Therefore, such factors should be carefully considered for optimizing the cost and efficiency in designing the fuzzing architecture of proprietary systems. Full article
(This article belongs to the Special Issue Advances in Unmanned Aerial Vehicle (UAV) System)
Show Figures

Figure 1

Figure 1
<p>Overall workflow for the experimentation environment setup and analysis. First, we ran OSS-Fuzz for 2 years and found 44 unique crashes based on libFuzzer. Second, we recompiled all libFuzzer source codes based on our customized Clang (no-coverage, partial-coverage, full-coverage) for comparison. Finally, we ran recompiled fuzzers until they reproduced previous crashes and compared/analyzed the detailed contribution of the coverage feedback feature for each application type.</p>
Full article ">Figure 2
<p>The key patch for <tt>libFuzzer</tt> to optionally discard coverage feedback. We modified <tt>RunOne</tt> and its dependent code appropriately, considering compiler optimization, and confirmed the resulting binary to double-check correctness.</p>
Full article ">
19 pages, 587 KiB  
Article
MSFuzz: Augmenting Protocol Fuzzing with Message Syntax Comprehension via Large Language Models
by Mingjie Cheng, Kailong Zhu, Yuanchao Chen, Guozheng Yang, Yuliang Lu and Canju Lu
Electronics 2024, 13(13), 2632; https://doi.org/10.3390/electronics13132632 - 4 Jul 2024
Cited by 1 | Viewed by 641
Abstract
Network protocol implementations, as integral components of information communication, are critically important for security. Due to its efficiency and automation, fuzzing has become a popular method for protocol security detection. However, the existing protocol-fuzzing techniques face the critical problem of generating high-quality inputs. [...] Read more.
Network protocol implementations, as integral components of information communication, are critically important for security. Due to its efficiency and automation, fuzzing has become a popular method for protocol security detection. However, the existing protocol-fuzzing techniques face the critical problem of generating high-quality inputs. To address the problem, in this paper, we propose MSFuzz, which is a protocol-fuzzing method with message syntax comprehension. The core observation of MSFuzz is that the source code of protocol implementations contains detailed and comprehensive knowledge of the message syntax. Specifically, we leveraged the code-understanding capabilities of large language models to extract the message syntax from the source code and construct message syntax trees. Then, using these syntax trees, we expanded the initial seed corpus and designed a novel syntax-aware mutation strategy to guide the fuzzing. To evaluate the performance of MSFuzz, we compared it with the state-of-the-art (SOTA) protocol fuzzers, namely, AFLNET and CHATAFL. Experimental results showed that compared with AFLNET and CHATAFL, MSFuzz achieved average improvements of 22.53% and 10.04% in the number of states, 60.62% and 19.52% improvements in the number of state transitions, and 29.30% and 23.13% improvements in branch coverage. Additionally, MSFuzz discovered more vulnerabilities than the SOTA fuzzers. Full article
(This article belongs to the Special Issue Machine Learning for Cybersecurity: Threat Detection and Mitigation)
Show Figures

Figure 1

Figure 1
<p>Syntax for the RTSP PLAY message.</p>
Full article ">Figure 2
<p>Overview of MSFuzz.</p>
Full article ">Figure 3
<p>General message syntax structure.</p>
Full article ">Figure 4
<p>Prompt templates used for extracting message syntax.</p>
Full article ">Figure 5
<p>The message syntax tree for the motivating example.</p>
Full article ">Figure 6
<p>Prompt template used for expanding the initial seed corpus.</p>
Full article ">Figure 7
<p>The average number of code branches explored by different fuzzers during 5 times of 24 h.</p>
Full article ">
18 pages, 4662 KiB  
Article
Genetic Analysis of an F2 Population Derived from the Cotton Landrace Hopi Identified Novel Loci for Boll Glanding
by Avinash Shrestha, Junghyun Shim, Puneet Kaur Mangat, Lakhvir Kaur Dhaliwal, Megan Sweeney and Rosalyn B. Angeles-Shim
Int. J. Mol. Sci. 2024, 25(13), 7080; https://doi.org/10.3390/ijms25137080 - 27 Jun 2024
Viewed by 710
Abstract
Landraces are an important reservoir of genetic variation that can expand the narrow genetic base of cultivated cotton. In this study, quantitative trait loci (QTL) analysis was conducted using an F2 population developed from crosses between the landrace Hopi and inbred TM-1. [...] Read more.
Landraces are an important reservoir of genetic variation that can expand the narrow genetic base of cultivated cotton. In this study, quantitative trait loci (QTL) analysis was conducted using an F2 population developed from crosses between the landrace Hopi and inbred TM-1. A high-density genetic map spanning 2253.11 and 1932.21 cM for the A and D sub-genomes, respectively, with an average marker interval of 1.14 cM, was generated using the CottonSNP63K array. The linkage map showed a strong co-linearity with the physical map of cotton. A total of 21 QTLs were identified, controlling plant height (1), bract type (1), boll number (1), stem color (2), boll pitting (2), fuzz fiber development (2), boll shape (3), boll point (4), and boll glanding (5). In silico analysis of the novel QTLs for boll glanding identified a total of 13 candidate genes. Analysis of tissue-specific expression of the candidate genes suggests roles for the transcription factors bHLH1, MYB2, and ZF1 in gland formation. Comparative sequencing of open reading frames identified early stop codons in all three transcription factors in Hopi. Functional validation of these genes offers avenues to reduce glanding and, consequently, lower gossypol levels in cottonseeds without compromising the defense mechanisms of the plant against biotic stresses. Full article
(This article belongs to the Collection Genetics and Molecular Breeding in Plants)
Show Figures

Figure 1

Figure 1
<p>Distribution of glands in the ovules and leaves of Hopi and TM-1. (<b>a</b>,<b>b</b>) Representative microscopic images at 4.1X magnification showing the distribution of the glands in the ovules and leaves of Hopi and TM-1, respectively. (<b>c</b>) Number of glands observed in the ovules and leaves of Hopi and TM-1; asterisks (*) indicate significant differences in glanding density at <span class="html-italic">p</span> &lt; 0.05 confidence. bar = 100 µm in (<b>a</b>,<b>b</b>).</p>
Full article ">Figure 2
<p>Circos map showing co-linearity between the genetic map and physical map. P01–P13 and G01–G13 represent marker locations in the physical and genetic map, respectively.</p>
Full article ">Figure 3
<p>Map position of the 21 QTLs regulating various traits in Hopi. Chromosomes are represented by blue bars, and black lines are markers based on the genetic map.</p>
Full article ">Figure 4
<p>In silico analysis of the transcripts present within the novel QTLs. (<b>a</b>) Gene ontology classification of genes present within the novel QTLs regulating gland formation. (<b>b</b>) InterPro classification of genes within the novel QTLs regulating glanding; the pink, yellow, red, and green bars represent IPR groups containing genes involved in gland formation or terpenoid synthesis in cotton and other plant species.</p>
Full article ">Figure 5
<p>Comparative expression and sequence analysis for the candidate genes. (<b>a</b>,<b>b</b>) Relative expression profiling of candidate genes in tissue samples from ovules and leaves of TM-1 and Hopi, respectively. Asterisks (*) indicate statistically significant differential expression of the candidate genes between Hopi and TM-1. (<b>c</b>) Representative comparative amino acid sequence analysis of the candidates <span class="html-italic">MYB2</span>, <span class="html-italic">bHLH1</span>, and <span class="html-italic">ZF1</span>. Numbers on the <b>right</b> represent the amino acid residues. Red boxes highlight the mutation events that lead to early stop codons in the Hopi.</p>
Full article ">Figure 6
<p>Variations in morphology of the parental genotypes. (<b>a</b>) Plant height, stem color, and growth habit; (<b>b</b>) Fuzz characteristics; (<b>c</b>) Leaf glanding; (<b>d</b>–<b>f</b>) Boll and bract characteristics; and (<b>g</b>) Boll glanding of TM-1 and Hopi. bar = 10 cm in (<b>a</b>) and 1 cm in (<b>b</b>–<b>e</b>).</p>
Full article ">
26 pages, 3675 KiB  
Article
StructuredFuzzer: Fuzzing Structured Text-Based Control Logic Applications
by Koffi Anderson Koffi, Vyron Kampourakis, Jia Song, Constantinos Kolias and Robert C. Ivans
Electronics 2024, 13(13), 2475; https://doi.org/10.3390/electronics13132475 - 25 Jun 2024
Viewed by 864
Abstract
Rigorous testing methods are essential for ensuring the security and reliability of industrial controller software. Fuzzing, a technique that automatically discovers software bugs, has also proven effective in finding software vulnerabilities. Unsurprisingly, fuzzing has been applied to a wide range of platforms, including [...] Read more.
Rigorous testing methods are essential for ensuring the security and reliability of industrial controller software. Fuzzing, a technique that automatically discovers software bugs, has also proven effective in finding software vulnerabilities. Unsurprisingly, fuzzing has been applied to a wide range of platforms, including programmable logic controllers (PLCs). However, current approaches, such as coverage-guided evolutionary fuzzing implemented in the popular fuzzer American Fuzzy Lop Plus Plus (AFL++), are often inadequate for finding logical errors and bugs in PLC control logic applications. They primarily target generic programming languages like C/C++, Java, and Python, and do not consider the unique characteristics and behaviors of PLCs, which are often programmed using specialized programming languages like Structured Text (ST). Furthermore, these fuzzers are ill suited to deal with complex input structures encapsulated in ST, as they are not specifically designed to generate appropriate input sequences. This renders the application of traditional fuzzing techniques less efficient on these platforms. To address this issue, this paper presents a fuzzing framework designed explicitly for PLC software to discover logic bugs in applications written in ST specified by the IEC 61131-3 standard. The proposed framework incorporates a custom-tailored PLC runtime and a fuzzer designed for the purpose. We demonstrate its effectiveness by fuzzing a collection of ST programs that were crafted for evaluation purposes. We compare the performance against a popular fuzzer, namely, AFL++. The proposed fuzzing framework demonstrated its capabilities in our experiments, successfully detecting logic bugs in the tested PLC control logic applications written in ST. On average, it was at least 83 times faster than AFL++, and in certain cases, for example, it was more than 23,000 times faster. Full article
(This article belongs to the Special Issue Information Retrieval and Cyber Forensics with Data Science)
Show Figures

Figure 1

Figure 1
<p>Illustrative CFG of the automated temperature control example.</p>
Full article ">Figure 2
<p>Comparison of variable declarations in ST and C programming languages. Notice the presence of an explicit memory address that makes the declaration in ST non-trivial.</p>
Full article ">Figure 3
<p>ST Input structure and example of mutated inputs generated by AFL++ and our fuzzer for the <span class="html-italic">automated temperature control</span> ST program. The mutated parts of the inputs are highlighted in blue. Notice how AFL++ is free to mutate the address part of the inputs, while our fuzzer is restricted to mutating the actual values.</p>
Full article ">Figure 4
<p>Fuzzing the <span class="html-italic">automated temperature control</span> ST program in a virtual environment enables parallel fuzzing compared to a physical/controlled environment. Note that both the heating and cooling systems can be fuzzed independently.</p>
Full article ">Figure 5
<p>The proposed fuzzing framework.</p>
Full article ">Figure 6
<p>Compilation process of the ST program to the PLC runtime.</p>
Full article ">Figure 7
<p>Example of an AST generated by Tree-Sitter for the variable declaration of <tt>reactorMode</tt> in the automated reactor control program. Notice that Algorithm 1 would traverse each <span class="html-italic">variable_declaration</span> node to extract the variable name, type, and address from its children.</p>
Full article ">Figure 8
<p>Time to find the bugs for the programs with various branch depths (<b>top</b>), widths (<b>second from the top)</b>, conditions (<b>third from the top</b>), and real-world programs (<b>bottom</b>).</p>
Full article ">Figure 9
<p>Speedup of the proposed fuzzer in finding the bugs compared against AFL++ for the programs with various branch depths (<b>top</b>), widths (<b>second from the top</b>), conditions (<b>third from the top</b>), and real-world programs (<b>bottom</b>).</p>
Full article ">Figure 10
<p>Total number of executions for programs with varying branch depths (<b>top</b>), widths (<b>third from top</b>), conditions (<b>second from bottom</b>), and real-world programs (<b>bottom</b>). Lower is better.</p>
Full article ">Figure 10 Cont.
<p>Total number of executions for programs with varying branch depths (<b>top</b>), widths (<b>third from top</b>), conditions (<b>second from bottom</b>), and real-world programs (<b>bottom</b>). Lower is better.</p>
Full article ">
17 pages, 518 KiB  
Article
WolfFuzz: A Dynamic, Adaptive, and Directed Greybox Fuzzer
by Qingyao Zeng, Dapeng Xiong, Zhongwang Wu, Kechang Qian, Yu Wang and Yinghao Su
Electronics 2024, 13(11), 2096; https://doi.org/10.3390/electronics13112096 - 28 May 2024
Viewed by 651
Abstract
As the directed greybox fuzzing (DGF) technique advances, it is being extensively utilized in various fields such as defect reproduction, patch testing, and vulnerability identification. Nevertheless, current DGFs waste a significant amount of resources due to their simplistic distance definitions and overly straightforward [...] Read more.
As the directed greybox fuzzing (DGF) technique advances, it is being extensively utilized in various fields such as defect reproduction, patch testing, and vulnerability identification. Nevertheless, current DGFs waste a significant amount of resources due to their simplistic distance definitions and overly straightforward energy distribution for the seeds. To address these issues, a dynamic distance-weighting-based distance estimation strategy is proposed first, which facilitates strategies for seed distribution that take energy into consideration. Second, to overcome the limitations of current seed energy distribution strategies, the gray wolf optimizer (GWO) is improved by integrating four strategies, leading to the development of the improved gray wolf optimizer (IGWO). Lastly, an adaptive search algorithm is proposed, and the WolfFuzz prototype tool is implemented. In vulnerability recurrence scenarios, WolfFuzz is 3.2× faster on average compared with the baseline and reproduces 76.4% of existing bugs faster. WolfFuzz also discovers nine different types of bugs in seven real-world programs. Full article
Show Figures

Figure 1

Figure 1
<p>A simple CFG example.</p>
Full article ">Figure 2
<p>WolfFuzz overall framework: the parts covered by gray are the key approaches of WolfFuzz.</p>
Full article ">Figure 3
<p>The overall process of IGWO.</p>
Full article ">Figure 4
<p>Flow chart of adaptive search algorithm.</p>
Full article ">
19 pages, 516 KiB  
Article
MultiFuzzTOPS: A Fuzzy Multi-Criteria Decision-Making Model Using Type-2 Soft Sets and TOPSIS
by Shumaila Manzoor, Saima Mustafa, Kanza Gulzar, Asim Gulzar, Sadia Nishat Kazmi, Syed Muhammad Abrar Akber, Rasool Bukhsh, Sheraz Aslam and Syed Muhammad Mohsin
Symmetry 2024, 16(6), 655; https://doi.org/10.3390/sym16060655 - 25 May 2024
Viewed by 762
Abstract
Effective and optimal decision-making can enhance system performance, potentially leading to a positive reputation and financial gains. Multi-criteria decision-making (MCDM) is an important research topic widely applied to practical decision-making problems. Using the basic idea of symmetry to balance the arrangement where elements [...] Read more.
Effective and optimal decision-making can enhance system performance, potentially leading to a positive reputation and financial gains. Multi-criteria decision-making (MCDM) is an important research topic widely applied to practical decision-making problems. Using the basic idea of symmetry to balance the arrangement where elements or features have an equality or similarity in distribution, MCDM provides robust decisions in such multi-dimensional complex issues. This study proposes MultiFuzzTOPS, a decision-making model to deal with complexity of multi-criteria decision-making. The proposed MultiFuzzTOPS leverages the fuzzy logic and soft sets such as type-2 soft sets (T2SS) and technique for order preference by similarity to ideal solution (TOPSIS) for decision-making. We validate the proposed model by implementing it to solve the pesticide selection problem in food science by considering various criteria for the selection of pesticides. Our proposed MultiFuzzTOPS recommends the best pesticide compared with its counterparts because it covers the maximum information for the selection of the best alternative. Results are ranked on the basis of the Hamming distance and similarity coefficient. We also validate the effectiveness by performing the sensitivity analysis, and the validation shows the reliability and effectiveness of our proposed model. Full article
(This article belongs to the Section Computer)
Show Figures

Figure 1

Figure 1
<p>Flowchart of proposed MultiFuzzTOPS model using type-2 soft sets with TOPSIS.</p>
Full article ">Figure 2
<p>Ranking of pesticides.</p>
Full article ">Figure 3
<p>Scores of alternative sprays.</p>
Full article ">
12 pages, 1946 KiB  
Article
HotCFuzz: Enhancing Vulnerability Detection through Fuzzing and Hotspot Code Coverage Analysis
by Chunlai Du, Yanhui Guo, Yifan Feng and Shijie Zheng
Electronics 2024, 13(10), 1909; https://doi.org/10.3390/electronics13101909 - 13 May 2024
Viewed by 1112
Abstract
Software vulnerabilities present a significant cybersecurity threat, particularly as software code grows in size and complexity. Traditional vulnerability-mining techniques face challenges in keeping pace with this complexity. Fuzzing, a key automated vulnerability-mining approach, typically focuses on code branch coverage, overlooking syntactic and semantic [...] Read more.
Software vulnerabilities present a significant cybersecurity threat, particularly as software code grows in size and complexity. Traditional vulnerability-mining techniques face challenges in keeping pace with this complexity. Fuzzing, a key automated vulnerability-mining approach, typically focuses on code branch coverage, overlooking syntactic and semantic elements of the code. In this paper, we introduce HotCFuzz, a novel vulnerability-mining model centered on the coverage of hot code blocks. Leveraging vulnerability syntactic features to identify these hot code blocks, we devise a seed selection algorithm based on their coverage and integrate it into the established fuzzing test framework AFL. Experimental results demonstrate that HotCFuzz surpasses AFL, AFLGo, Beacon, and FairFuzz in terms of efficiency and time savings. Full article
(This article belongs to the Special Issue Machine Learning for Cybersecurity: Threat Detection and Mitigation)
Show Figures

Figure 1

Figure 1
<p>The idea behind this article.</p>
Full article ">Figure 2
<p>HotCFuzz model.</p>
Full article ">Figure 3
<p>Sample code.</p>
Full article ">Figure 4
<p>AST for the function <span class="html-italic">Value</span>.</p>
Full article ">Figure 5
<p>AST for the function <span class="html-italic">func</span>.</p>
Full article ">Figure 6
<p>PDG for the function <span class="html-italic">Value</span>.</p>
Full article ">Figure 7
<p>PDG for the function <span class="html-italic">func</span>.</p>
Full article ">
16 pages, 466 KiB  
Article
ESFuzzer: An Efficient Way to Fuzz WebAssembly Interpreter
by Jideng Han, Zhaoxin Zhang, Yuejin Du, Wei Wang and Xiuyuan Chen
Electronics 2024, 13(8), 1498; https://doi.org/10.3390/electronics13081498 - 15 Apr 2024
Viewed by 1043
Abstract
WebAssembly code is designed to run in a sandboxed environment, such as a web browser, providing a high level of security and isolation from the underlying operating system and hardware. This enables the execution of untrusted code in a web browser without compromising [...] Read more.
WebAssembly code is designed to run in a sandboxed environment, such as a web browser, providing a high level of security and isolation from the underlying operating system and hardware. This enables the execution of untrusted code in a web browser without compromising the security and integrity of the user’s system. This paper discusses the challenges associated with using fuzzing tools to identify vulnerabilities or bugs in WebAssembly interpreters. Our approach, known as ESFuzzer, introduces an efficient method for fuzzing WebAssembly interpreters using an Equivalent-Statement concept and the Stack Repair Algorithm. The samples generated by our approach successfully passed code validation. In addition, we developed effective mutation strategies to enhance the efficacy of our approach. ESFuzzer has demonstrated its ability to generate code that achieves 100% WebAssembly validation testing and achieves code coverage that is more than twice that of libFuzzer. Furthermore, the 24-h experiment results show that ESFuzzer performs ten times more efficiently than libFuzzer. Full article
(This article belongs to the Special Issue Image Processing Based on Convolution Neural Network)
Show Figures

Figure 1

Figure 1
<p>Schematic diagram of the stack operation of <math display="inline"><semantics> <mrow> <mi>i</mi> <mn>32</mn> <mo>.</mo> <mi>a</mi> <mi>d</mi> <mi>d</mi> </mrow> </semantics></math>.</p>
Full article ">Figure 2
<p>Main workflow of ESFuzzer.</p>
Full article ">Figure 3
<p>The average sample size during 24 h of fuzzing on the x-axis, with the corresponding values plotted on the y-axis. The graph displays the fitted curve with confidence limits (darker pink) and prediction limits (lighter pink) for the 24 h period.</p>
Full article ">
26 pages, 9322 KiB  
Article
DCGFuzz: An Embedded Firmware Security Analysis Method with Dynamically Co-Directional Guidance Fuzzing
by Yunzhi Wang and Yufeng Li
Electronics 2024, 13(8), 1433; https://doi.org/10.3390/electronics13081433 - 10 Apr 2024
Viewed by 1116
Abstract
Microcontroller Units (MCUs) play a vital role in embedded devices due to their energy efficiency and scalability. The firmware in MCUs contains vulnerabilities that can lead to digital and physical harm. However, testing MCU firmware faces challenges due to various tool limitations and [...] Read more.
Microcontroller Units (MCUs) play a vital role in embedded devices due to their energy efficiency and scalability. The firmware in MCUs contains vulnerabilities that can lead to digital and physical harm. However, testing MCU firmware faces challenges due to various tool limitations and unavailable firmware details. To address this problem, research is turning to fuzzing and rehosting. Due to the inherent imbalance in computational resources of the fuzzing algorithm and the lack of consideration for the computational resource requirements of rehosting methods, some hardware behavior-related paths are difficult to discover. In this work, we propose a novel Dynamically Co-directional Guidance Fuzzing (DCGFuzz) method to improve security analysis efficiency. Our method dynamically correlates computational resource allocation in both fuzzing and rehosting, computing a unified power schedule score. Using the power schedule score, we adjust test frequencies for various paths, boosting testing efficiency and aiding in the detection of hardware-related paths. We evaluated our approach on nine real-world pieces of firmware. Compared to the previous approach, we achieved a maximum increase of 47.9% in path coverage and an enhancement of 27.6% in effective model coverage during the fuzzing process within 24 h. Full article
(This article belongs to the Special Issue Cybersecurity Issues in the Internet of Things)
Show Figures

Figure 1

Figure 1
<p>Example function of CGFs fuzzing process.</p>
Full article ">Figure 2
<p>Example functions for problem definition.</p>
Full article ">Figure 3
<p>The framework diagram of our method.</p>
Full article ">Figure 4
<p>The changes in the number of paths discovered during fuzzing processes across different firmware.</p>
Full article ">Figure 5
<p>The variation in path depth during fuzzing processes across different firmware.</p>
Full article ">Figure 6
<p>The impact of the model-coverage task and related strategies on the number of discovered paths.</p>
Full article ">Figure 7
<p>Statistics on the number of models discovered during fuzzing processes in gateway and PLC firmware.</p>
Full article ">
22 pages, 1856 KiB  
Article
Windowed Hamming Distance-Based Intrusion Detection for the CAN Bus
by Siwei Fang, Guiqi Zhang, Yufeng Li and Jiangtao Li
Appl. Sci. 2024, 14(7), 2805; https://doi.org/10.3390/app14072805 - 27 Mar 2024
Cited by 1 | Viewed by 1030
Abstract
The use of a Controller Area Network (CAN) bus in the automotive industry for connecting electronic control units (ECUs) poses security vulnerabilities due to the lack of built-in security features. Intrusion Detection Systems (IDSs) have emerged as a practical solution for safeguarding the [...] Read more.
The use of a Controller Area Network (CAN) bus in the automotive industry for connecting electronic control units (ECUs) poses security vulnerabilities due to the lack of built-in security features. Intrusion Detection Systems (IDSs) have emerged as a practical solution for safeguarding the CAN bus. However, developing an effective IDS for in-vehicle CAN buses encounters challenges in achieving high precision for detecting attacks and meeting real-time requirements with limited computational resources. To address these challenges, we propose a novel method for anomaly detection on CAN data using windowed Hamming distance. Our approach utilizes sliding windows and Hamming distance to extract features from time series data. By creating benchmark windows that span at least one cycle of data, we compare newly generated windows with recorded benchmarks using the Hamming distance to identify abnormal CAN messages. During the experimental phase, we conduct extensive testing on both the public car-hack dataset and a proprietary dataset. The experimental results indicate that our method achieves an impressive accuracy of up to 99.67% in detecting Denial of Service (DoS) attacks and an accuracy of 98.66% for fuzzing attacks. In terms of two types of spoofing attacks, our method achieves detection accuracies of 99.48% and 99.61%, respectively, significantly outperforming the methods relying solely on the Hamming distance. Furthermore, in terms of detection time, our method significantly reduces the time consumption by nearly 20-fold compared to the approach using deep convolutional neural networks (DCNN), decreasing it from 6.7 ms to 0.37 ms. Full article
(This article belongs to the Special Issue Vehicle Safety and Crash Avoidance)
Show Figures

Figure 1

Figure 1
<p>CAN bus 2.0A structure.</p>
Full article ">Figure 2
<p>Three attack models on the in-vehicle network.</p>
Full article ">Figure 3
<p>Overview.</p>
Full article ">Figure 4
<p>Thresholds and normal data.</p>
Full article ">Figure 5
<p>DoS and fuzzy detection.</p>
Full article ">Figure 6
<p>Gear (spoofing) and rpm (spoofing) detection.</p>
Full article ">Figure 7
<p>The influence of hyperparameters <span class="html-italic">K</span> and <span class="html-italic">N</span> on the experimental results under DoS attack.</p>
Full article ">Figure 8
<p>The influence of hyperparameters <span class="html-italic">K</span> and <span class="html-italic">N</span> on the experimental results under fuzzy attack.</p>
Full article ">Figure 9
<p>The influence of hyperparameter <math display="inline"><semantics> <mi>ρ</mi> </semantics></math> on experimental results.</p>
Full article ">Figure 10
<p>All attack types of confusion matrix result in car hacking.</p>
Full article ">Figure 11
<p>DoS Attack of confusion matrix result in Xiaoyu.</p>
Full article ">
17 pages, 794 KiB  
Article
A Novel Network Protocol Syntax Extracting Method for Grammar-Based Fuzzing
by Huashan Li, Lei Zhang, Dawei Zhao, Lijuan Xu, Xin Li, Shumian Yang and Xiaohui Han
Appl. Sci. 2024, 14(6), 2409; https://doi.org/10.3390/app14062409 - 13 Mar 2024
Viewed by 1057
Abstract
Network protocol syntax information plays a crucial role in grammar-based fuzzing. Current network protocol syntax extraction methods are less versatile, inefficient, and the extracted information is not comprehensive. This paper proposes a novel method for extracting syntax information, which innovatively extracts network protocol [...] Read more.
Network protocol syntax information plays a crucial role in grammar-based fuzzing. Current network protocol syntax extraction methods are less versatile, inefficient, and the extracted information is not comprehensive. This paper proposes a novel method for extracting syntax information, which innovatively extracts network protocol syntax from Wireshark protocol dissector files. The extracted syntax information includes packet types of the protocol, the constituent fields of each packet type, and detailed attributes of each field. Based on this method, an automated system for network protocol syntax information extraction was developed. The experiment was conducted with this system on a variety of protocols including DCCP, DNP3.0, Modbus TCP, and S7COMM. The experimental results show that compared with the current methods, our method has a better performance in terms of efficiency and versatility and at the same time ensures the comprehensiveness and accuracy of the extracted syntax information. Full article
Show Figures

Figure 1

Figure 1
<p>Overview of Wireshark’s function blocks (<a href="https://www.wireshark.org/docs/wsdg_html_chunked/ChWorksOverview.html" target="_blank">https://www.wireshark.org/docs/wsdg_html_chunked/ChWorksOverview.html</a>, accessed on 10 March 2024).</p>
Full article ">Figure 2
<p>Wireshark protocol dissector framework. (<a href="https://github.com/wireshark/wireshark/tree/master/" target="_blank">https://github.com/wireshark/wireshark/tree/master/</a>, accessed on 10 March 2024).</p>
Full article ">Figure 3
<p>Overall system architecture.</p>
Full article ">Figure 4
<p>Flowchart of the main parsing module. Where (<b>a</b>–<b>c</b>) represent its three components.</p>
Full article ">Figure 5
<p>Sample code for basic block partitioning.</p>
Full article ">Figure 6
<p>Basic path set structure.</p>
Full article ">Figure 7
<p>Expanding and concatenating of basic blocks.</p>
Full article ">Figure 8
<p>Partial output results of Modbus TCP protocol.</p>
Full article ">Figure 9
<p>Comparison of extraction accuracy and coverage on DCCP protocol.</p>
Full article ">
13 pages, 3444 KiB  
Article
Comparative Transcriptome Analysis Provides Insights into Fruit Trichome Development in Peach
by Yihua Liu, Meng Xu, Jian Guo and Yinbo Gan
Agriculture 2024, 14(3), 427; https://doi.org/10.3390/agriculture14030427 - 6 Mar 2024
Viewed by 997
Abstract
Fruit pubescence (trichome) is an important characteristic and is controlled by a single dominant gene (G/g), resulting in peaches and nectarines. The length and/or density of fruit fuzz varies greatly among different peach cultivars. However, little is known about fruit trichome development in [...] Read more.
Fruit pubescence (trichome) is an important characteristic and is controlled by a single dominant gene (G/g), resulting in peaches and nectarines. The length and/or density of fruit fuzz varies greatly among different peach cultivars. However, little is known about fruit trichome development in peaches. In this study, significant differences in fruit trichome length and density were identified between ‘XT1’ and its bud mutation ‘BM’, showing much higher values for ‘BM’. Comparative transcriptome analysis was performed, and 987 differentially expressed genes (DEGs) were identified, which were confirmed by qRT-PCR. GO (Gene Ontology) and KEGG (Kyoto Encyclopedia of Genes and Genomes) analyses showed that genes involved in defense response, secondary metabolites and plant hormone signal transduction may also be related to the development of peach fruit trichomes. By integrating other transcriptome data, we finally determined 47 DEGs that might participate in peach trichome development, including five plant-hormone-related genes. The promoter analysis showed that one abscisic-acid-related gene, Prupe.6G072400 (abscisic acid 8′-hydroxylase 2), and one auxin-related gene, Prupe.3G074900 (auxin-responsive protein IAA1), have obvious differences in the cis-acting elements of the promoters between ‘XT1’ and ‘BM’. The results of this study will provide a valuable resource illustrating the mechanism of fruit trichome development in peaches and benefit future genomic research. Full article
(This article belongs to the Section Crop Genetics, Genomics and Breeding)
Show Figures

Figure 1

Figure 1
<p>Fruit morphology of peaches at different growth stages. (<b>A</b>): ‘XT1’ and its bud mutation variety ‘BM’ at different growth stages, Bar = 2 cm. (<b>B</b>): The fruit trichomes of ‘XT1’ and ‘BM’ at different growth stages; red arrows indicate the fruit trichome; a single photo is 2 mm × 2 mm, Bar = 1 mm. (<b>C</b>): The lengths of fruit trichomes of ‘XT1’ and ‘BM’ at different growth stages. (<b>D</b>): The number of fruit trichomes per unit area of ‘XT 1’ and ‘BM’ peaches at different growth stages; stars on error bars represent ± SE, *: <span class="html-italic">p</span> &lt; 0.05; **: <span class="html-italic">p</span> &lt; 0.01.</p>
Full article ">Figure 2
<p>GO enrichment analysis and KEGG enrichment analysis of DEGs. (<b>A</b>): GO enrichment analysis of DEGs; (<b>B</b>): KEGG enrichment analysis of DEGs.</p>
Full article ">Figure 3
<p>Selecting the candidate genes that are related to trichome development.</p>
Full article ">Figure 4
<p>Gene expression heatmap of 47 candidate genes for peach fruit trichome development.</p>
Full article ">Figure 5
<p>The phytohormone-responsive element analysis in the promoters of 47 candidate genes for peach fruit trichome development.</p>
Full article ">Figure 6
<p>Expression analysis of DEGs. (<b>A</b>): Expression analysis of DEGs by qRT-PCR; stars on error bars represent ± SE, *: <span class="html-italic">p</span> &lt; 0.05; **: <span class="html-italic">p</span> &lt; 0.01. (<b>B</b>): Correlation analysis of the qRT-PCR and transcriptome sequencing.</p>
Full article ">
16 pages, 1471 KiB  
Article
A Novel Seed Generation Approach for Vulnerability Mining Based on Generative Adversarial Networks and Attention Mechanisms
by Chunlai Du, Guizhi Xu, Yanhui Guo, Zhongru Wang and Weiqiang Yu
Mathematics 2024, 12(5), 745; https://doi.org/10.3390/math12050745 - 1 Mar 2024
Viewed by 1079
Abstract
Coverage-guided fuzzing has been widely applied in software error and security vulnerability detection. The fuzzing technique based on AFL (American Fuzzy Loop) is a common coverage-guided fuzzing method. The code coverage during AFL fuzzing is highly dependent on the quality of the initial [...] Read more.
Coverage-guided fuzzing has been widely applied in software error and security vulnerability detection. The fuzzing technique based on AFL (American Fuzzy Loop) is a common coverage-guided fuzzing method. The code coverage during AFL fuzzing is highly dependent on the quality of the initial seeds. If the selected seeds’ quality is poor, the AFL may not be able to detect program paths in a targeted manner, resulting in wasted time and computational resources. To solve the problems that the seed selection strategy in traditional AFL fuzzing cannot quickly and effectively generate high-quality seed sets and the mutated test cases cannot reach deeper paths and trigger security vulnerabilities, this paper proposes an attention mechanism-based generative adversarial network (GAN) seed generation approach for vulnerability mining, which can learn the characteristics and distribution of high-quality test samples during the testing process and generate high-quality seeds for fuzzing. The proposed method improves the GAN by introducing fully connected neural networks to balance the competitive adversarial process between discriminators and generators and incorporating attention mechanisms, greatly improving the quality of generated seeds. Our experimental results show that the seeds generated by the proposed method have significant improvements in coverage, triggering unique crashes and other indicators and improving the efficiency of AFL fuzzing. Full article
(This article belongs to the Special Issue Frontiers in Network Security and Cryptography)
Show Figures

Figure 1

Figure 1
<p>A GAN based on an attention mechanism for vulnerability mining.</p>
Full article ">Figure 2
<p>Specific Implementation Process of Fuzzing Seed Generation.</p>
Full article ">Figure 3
<p>Training Process of Generative Adversarial Network.</p>
Full article ">Figure 4
<p>Principle of attention mechanism.</p>
Full article ">Figure 5
<p>Specific Calculation Process of Attention Mechanism where * means multiplication.</p>
Full article ">
Back to TopTop