Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security

11/15/2017
07:30 AM
Connect Directly
Twitter
LinkedIn
RSS
E-Mail
50%
50%

Microsoft Uses Neural Networks to Make Fuzz Tests Smarter

Neural fuzzing can help uncover bugs in software better than traditional tools, company says.

Microsoft has developed a new technique to test software for security flaws that uses deep neural networks and machine learning techniques to improve upon current testing approaches.

Early experiments with the new "neural fuzzing" method show that it can help organizations uncover bugs in software better than traditional fuzzing tests, according to Microsoft.

Fuzzing is an approach where security testers try to uncover commonly exploitable flaws in applications by targeting the software with deliberately malformed data—or inputs—to see if it will crash so they can investigate and fix the cause.

The effectiveness of these tests depends to a large extent on how well the malicious inputs are crafted. Generally, the more input you find to trigger a crash, the more application vulnerabilities you are likely going to be able to identify and close.

Security testers can use a few different methods to generate the malicious or malformed input.

Microsoft's approach improves on one method that uses data from previous fuzz tests as feedback for creating new mutations or tests. The approach involves a "learning technique that uses neural networks to learn patterns in the input files from past fuzzing explorations to guide future fuzzing explorations," according to Microsoft.

"The neural models learn a function to predict good (and bad) locations in input files to perform fuzzing mutations based on the past mutations and corresponding code coverage information," the company said.

Neural networks are computing systems loosely modeled on the human brain that can autonomously learn from observed data. Many modern applications such as face and voice recognition and weather prediction use such networks.

Microsoft has implemented the new technique in American Fuzzy Lop (AFL), an open-source fuzzer that uses observed behavior from previous fuzzing executions to guide future tests. Researchers from the company tested the method on four target programs using parsers for the ELF, XML, PNG and PDF file formats.

The results were "very encouraging," Microsoft Development Lead William Blum said in a blog Monday. "We saw significant improvements over traditional AFL in terms of code coverage, unique code paths and crashes for the four input formats, " he said.

For instance, for the ELF parser, the neural AFL reported more than 20 crashes compared to zero with the traditional AFL fuzzer. Similarly, the neural AFL found 38% more crashes than traditional AFL for text-based file formats such as XML.

"This is astonishing given that neural AFL was trained on AFL itself," Blum said. The only area where the neural AFL did not perform as well was with PDF format, likely because of the large size of the files.

"AFL is essentially a mutational fuzzer that uses feedback from the target software to determine how the test cases are mutated," says Jonathan Knudsen, Security Strategist at Synopsys.  "Microsoft has modified the feedback mechanism with a neural network."

The challenge with any fuzzing lies in finding the finite set of malformed inputs that are most likely to trigger bugs, Knudsen says. "Microsoft has modified how AFL chooses its inputs in a way that gave them better code coverage and more bugs for a couple of applications."

Moreno Carullo, co-founder and chief technical officer of Nozomi Networks says Microsoft has broken new ground with this technique. "It is absolutely a new [and] innovative approach," Carullo says.

"Neural fuzzing increases the speed of fuzzing as a test method and also finds more issues that cause a crash," he notes. The automation behind the approach can drastically reduce the time organizations require to test their software for security vulnerabilities. "Without this, it would take a team of heuristics experts a lot more time to discover the issues."

According to Blum, the capability that Microsoft has demonstrated only scratches the surface of what can be achieved using neural networks in fuzzing. "Right now, our model only learns fuzzing locations, but we could also use it to learn other fuzzing parameters such as the type of mutation or strategy to apply," he said.

Related content:

Join Dark Reading LIVE for two days of practical cyber defense discussions. Learn from the industry’s most knowledgeable IT security experts. Check out the INsecurity agenda here.

Jai Vijayan is a seasoned technology reporter with over 20 years of experience in IT trade journalism. He was most recently a Senior Editor at Computerworld, where he covered information security and data privacy issues for the publication. Over the course of his 20-year ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 7/2/2020
Ripple20 Threatens Increasingly Connected Medical Devices
Kelly Sheridan, Staff Editor, Dark Reading,  6/30/2020
DDoS Attacks Jump 542% from Q4 2019 to Q1 2020
Dark Reading Staff 6/30/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
How Cybersecurity Incident Response Programs Work (and Why Some Don't)
This Tech Digest takes a look at the vital role cybersecurity incident response (IR) plays in managing cyber-risk within organizations. Download the Tech Digest today to find out how well-planned IR programs can detect intrusions, contain breaches, and help an organization restore normal operations.
Flash Poll
The Threat from the Internetand What Your Organization Can Do About It
The Threat from the Internetand What Your Organization Can Do About It
This report describes some of the latest attacks and threats emanating from the Internet, as well as advice and tips on how your organization can mitigate those threats before they affect your business. Download it today!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-9498
PUBLISHED: 2020-07-02
Apache Guacamole 1.1.0 and older may mishandle pointers involved inprocessing data received via RDP static virtual channels. If a userconnects to a malicious or compromised RDP server, a series ofspecially-crafted PDUs could result in memory corruption, possiblyallowing arbitrary code to be executed...
CVE-2020-3282
PUBLISHED: 2020-07-02
A vulnerability in the web-based management interface of Cisco Unified Communications Manager, Cisco Unified Communications Manager Session Management Edition, Cisco Unified Communications Manager IM & Presence Service, and Cisco Unity Connection could allow an unauthenticated, remote attack...
CVE-2020-5909
PUBLISHED: 2020-07-02
In versions 3.0.0-3.5.0, 2.0.0-2.9.0, and 1.0.1, when users run the command displayed in NGINX Controller user interface (UI) to fetch the agent installer, the server TLS certificate is not verified.
CVE-2020-5910
PUBLISHED: 2020-07-02
In versions 3.0.0-3.5.0, 2.0.0-2.9.0, and 1.0.1, the Neural Autonomic Transport System (NATS) messaging services in use by the NGINX Controller do not require any form of authentication, so any successful connection would be authorized.
CVE-2020-5911
PUBLISHED: 2020-07-02
In versions 3.0.0-3.5.0, 2.0.0-2.9.0, and 1.0.1, the NGINX Controller installer starts the download of Kubernetes packages from an HTTP URL On Debian/Ubuntu system.