paper-with-me

Papers

Learn&Fuzz: Machine Learning for Input Fuzzing

2017-01-25 · Patrice Godefroid, Hila Peleg, Rishabh Singh

Fuzzing consists of repeatedly testing an application with modified, or fuzzed, inputs with the goal of finding security vulnerabilities in input-parsing code. In this paper, we show how to automate the generation of an input grammar suitable for input fuzzing using sample inputs and neural-network-based statistical machine-learning techniques. We present a detailed case study with a complex input format, namely PDF, and a large complex security-critical parser for this format, namely, the PDF parser embedded in Microsoft's new Edge browser. We discuss (and measure) the tension between conflicting learning and fuzzing goals: learning wants to capture the structure of well-formed inputs, while fuzzing wants to break that structure in order to cover unexpected code paths and find bugs. We also present a new algorithm for this learn&fuzz challenge which uses a learnt input probability distribution to intelligently guide where to fuzz inputs.

📄 PDF Abstract BibTeX arXiv:1701.07232

Code (1)

m-zakeri/iust_deep_fuzz tf

Tasks

BIG-bench Machine Learning

Similar Papers 제목 키워드 기반

A systematic review of fuzzing based on machine learning techniques

2019-08-04 · Yan Wang, Peng Jia, Luping Liu, Jiayong Liu

Security vulnerabilities play a vital role in network security system. Fuzzing technology is widely used as a vulnerability discovery technology to reduce damage in advance. However, traditional fuzzing techniques have m…

BIG-bench Machine Learning

A Review of Machine Learning Applications in Fuzzing

2019-06-13 · Gary J Saavedra, Kathryn N. Rodhouse, Daniel M. Dunlavy, Philip W Kegelmeyer

Fuzzing has played an important role in improving software development and testing over the course of several decades. Recent research in fuzzing has focused on applications of machine learning (ML), offering useful tool…

BIG-bench Machine Learning

Deep Reinforcement Fuzzing

2018-01-14 · Konstantin Böttinger, Patrice Godefroid, Rishabh Singh

Fuzzing is the process of finding security vulnerabilities in input-processing code by repeatedly testing the code with modified inputs. In this paper, we formalize fuzzing as a reinforcement learning problem using the c…

Q-Learningreinforcement-learningReinforcement LearningReinforcement Learning (RL)

MEUZZ: Smart Seed Scheduling for Hybrid Fuzzing

2020-02-20 · Yao-Hui Chen, Mansour Ahmadi, Reza Mirzazade farkhani, Boyu Wang 외

Seed scheduling is a prominent factor in determining the yields of hybrid fuzzing. Existing hybrid fuzzers schedule seeds based on fixed heuristics that aim to predict input utilities. However, such heuristics are not ge…

BIG-bench Machine LearningScheduling

FuzzCoder: Byte-level Fuzzing Test via Large Language Model

2024-09-03 · Liqun Yang, Jian Yang, Chaoren Wei, Guanglin Niu 외

Fuzzing is an important dynamic program analysis technique designed for finding vulnerabilities in complex software. Fuzzing involves presenting a target program with crafted malicious input to cause crashes, buffer over…

Language ModelingLanguage ModellingLarge Language Modelvalid