Connect with us

Hi, what are you looking for?

Tech & Science

Microsoft uses ‘neural fuzzing’ technique to find software bugs

Fuzz testing, or fuzzing, is a way of analysing a program to find inputs likely to result in exploitable errors. These typically cause some kind of vulnerability that a malicious attacker could utilise, such as a buffer overflow or memory access violation.
Testing software is a time-consuming and difficult process. As the scale and complexity grows, it becomes more difficult to account for every possible form of input. Microsoft tried to improve the accuracy and performance of fuzz testing by adding a neural network to the procedure.
The neural network learns over time as it observes the output of previous fuzz test runs. It then acts on its own data to uncover otherwise overlooked vulnerabilities. In tests of the technique, Microsoft said the AI offered “significant improvements” over regular testing. It resulted in improved code coverage and a lower crash rate for the program.
READ NEXT: AI chatbot used to combat phishing by wasting scammers’ time
The research is still experimental and Microsoft said it’s optimistic that performance can be further improved. The neural network currently operates on a subset of fuzzing operations. As more parameters are added to the model, the AI will increase its accuracy and uncover additional potential bugs.
Giving the AI access to more training data will be important as it expands its scope, so Microsoft’s considering an online version where anyone could upload code to have it fuzzed. The AI could then learn from all its ongoing fuzzing runs, accelerating its rate of training.
“We believe our neural fuzzing research project is just scratching the surface of what can be achieved using deep neural networks for fuzzing,” said Microsoft. “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. We are also considering online versions of our machine learning model, in which the fuzzer constantly learns from ongoing fuzzing iterations.”
The technology has the potential to create more resilient programs that are less susceptible to hijacking. It could also help software proactively respond to emerging threats and lead to the development of new threat detection tools. Microsoft said it’s a “simple” way to achieve efficient software testing.

Written By

You may also like:

Tech & Science

Since the human brain is five orders of magnitude more energy efficient than a digital computer, it makes sense to look to the brain...

Business

Supporting women in business isn't a women's issue. Men hold the keys, and the small, specific things they do next are what close the...

Entertainment

Country artist Wes McClelland chatted about his latest single "Ask for Help," which raises awareness on mental health.

Tech & Science

Artificial Intelligence pioneer Geoffrey Hinton insisted Tuesday on the need to strictly regulate the technology.