We have been doing a survey on published research papers which is trying to detect security vulnerabilities in programs or applications using dynamic analysis. Our work is mainly focused on mainly four domains – desktop based binary applications, Android applications, embedded or firmware binaries and web related scripting language based applications. This blog post is a high level overview of our upcoming survey paper.
Before going to the details of our findings, we would like to discuss some of the questions which we had in our mind when we started this project
- When is a bug a security vulnerability?
A defect in a program which causes the violation of at least one of the basic goals of security – confidentiality, integrity and availability (CIA).
A piece of code, application or the input that takes the advantage of a security bug present in the vulnerable program to gain some information or cause some abnormality in its behavior.
- How do we differentiate static and dynamic analysis?
Static analysis evaluates code without executing it while dynamic analysis tests the behavior of code during execution. Dynamic analysis enables monitoring of the code during the program execution.
- Which all are the dynamic analysis techniques we are going to survey?
We are surveying the following techniques:
Dynamic taint analysis runs a program and observes which computations are affected by predefined taint sources such as user input.
Symbolic execution automatically builds a logical formula describing a program execution path, which reduces the problem of reasoning about the execution to the domain of logic.
Concolic testing uses symbolic execution in conjunction with an automated theorem proving or constraint solver to generate concrete inputs with the aim of maximizing code in-order to find new bugs. It is also known as hybrid testing.
Fuzzing involves generation of various – expected, unexpected and random inputs to the program to observe its behavior – mainly crash.
Guided fuzzing uses fuzzing in conjunction with symbolic execution or concolic testing or dynamic taint analysis with an aim to improve the efficiency in finding crashes in the program under testing
-
- Which are the various vulnerabilities commonly discovered using these analysis
Vulnerability type | Description | CIA triad violation |
Program crash | Could be due to various reasons including logic errors, critical exceptions, segfault etc. | A & I |
EIP overwrite | Extended Instruction Pointer (EIP) points to the next instruction to be executed. If it is overwritten with an arbitrary value, the program can be crashed or can be diverted to take different execution path which is not intended by the developer of the application. | A & I |
Integer overflow | The result of an arithmetic operation exceeds the maximum or minimum limit of the integer data type used to store the resulting value and hence it resets to zero. An overflow condition may give results leading to crash or unintended behavior. | A & I |
Out-of-bound read | This vulnerability allows to read the data past the end or beginning of the buffer/array. | C |
NULL pointer dereference | The application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit | A |
Double free | The program tries to call free() twice on the same memory address causes crash | A |
Use after free | This bug occurs when the program tries to read the memory which is already freed. This causes program crash. In certain circumstances doubly freeing memory may result in a write-what-where condition, allowing an attacker to execute arbitrary code. | CIA |
Race condition | The program is concurrently executed by different processes using a shared resource with improper synchronization leading to data inconsistency | I |
Stack based buffer overflow | A condition where the buffer being written is full and the adjacent memory locations on the stack are also overwritten. Buffer overflow often leads to crash, execution of arbitrary code execution and subversion of program execution | CIA |
Format string vulnerability | The program uses a function that accepts a format string as an argument, but the format string originates from an external source. Using this vulnerability, an attacker can either crash the program, execute arbitrary code by changing the value of EIP register or read unauthorized information | CIA |
Code injection | If an application allows user input to contain code segment, there is a possibility that artibitary commands can be executed if the input is not properly sanitized | CIA |
Cross site scripting | The web application incorrectly sanitizes the input and result of the injected script is visible when page is generated. XSS is most commonly used for information disclosure. It can be also used to execute arbitrary code | CIA |
SQL injection | The SQL queries used in the server side of the web application includes an incorrectly sanitized user input. Using this vulnerability, the attacker will be able to read/update/delete the information in the database. | C & I |
Denial of Service attack | The application could not limit the amount or size of resources requested by user, ending up consuming more resources than intended. This would prevent valid users from accessing the application as the entire system resource is consumed by the attacker | A |
Privilege escalation | An act of exploiting a bug in the application to gain elevated access to resources | C |
Authentication bypass | The presence of backdoors in the form of hardcoded credentials and intentionally hidden authentication interfaces. | C |
The tabular form of our findings:
# | Domain | Technique | Mindmap Title | Paper title | Vulnerabilities detected | Exploits generated | Google Link |
1 | Android | Fuzzing | Automated security testing of Android applications on the cloud | A whitebox approach for automated security testing of Android applications on the cloud | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=A+whitebox+approach+for+automated+security+testing+of+Android+applications+on+the+cloud&btnG= |
2 | Android | Fuzzing | DroidFuzzer | DroidFuzzer: Fuzzing the Android Apps withIntent-Filter Tag | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=DroidFuzzer%3A+Fuzzing+the+Android+Apps+withIntent-Filter+Tag&btnG= |
3 | Android | Fuzzing | Intent fuzzer | Intent fuzzer: crafting intents of death | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Intent+fuzzer%3A+crafting+intents+of+death&btnG= |
4 | Binary | Concolic testing | Autiomatic Exploit Generator | AEG: Automatic Exploit Generation | Stack based buffer overflow, format string | Return-to-libc | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=AEG%3A+Automatic+Exploit+Generation&btnG= |
5 | Binary | Concolic testing | BORG | The BORG: Nanoprobing Binaries for Buffer Overreads | NULL Pointer dereference | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=The+BORG%3A+Nanoprobing+Binaries+for+Buffer+Overreads&btnG= |
6 | Binary | Concolic testing | CAB-Fuzz | CAB-FUZZ: Practical Concolic Testing Techniques for COTS OperatingSystems | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=CAB-FUZZ%3A+Practical+Concolic+Testing+Techniques+for+COTS+OperatingSystems&btnG= |
7 | Binary | Concolic testing | CRAX | CRAX: Software Crash Analysis for Automatic Exploit Generation by Modeling Attacks as Symbolic Continuations | EIP Overflow | Shellcode, return-to-libc | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=CRAX%3A+Software+Crash+Analysis+for+Automatic+Exploit+Generation+by+Modeling+Attacks+as+Symbolic+Continuations&btnG= |
8 | Binary | Concolic testing | MACE | MACE: Model-inference-Assisted Concolic Explorationfor Protocol and Vulnerability Discovery | EIP Overflow, Out-of-bound read, NULL pointer dereference | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=MACE%3A+Model-inference-Assisted+Concolic+Explorationfor+Protocol+and+Vulnerability+Discovery&btnG= |
9 | Binary | Dynamic Taint Analysis | AXGEN | Automatic Generation of Control Flow Hijacking Exploits for Software Vulnerabilities | EIP Overflow | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Automatic+Generation+of+Control+Flow+Hijacking+Exploits+for+Software+Vulnerabilities&btnG= |
10 | Binary | Dynamic Taint Analysis | Q: Exploit Hardening | Q: Exploit Hardening Made Easy | EIP Overflow | ROP-exploit | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Q%3A+Exploit+Hardening+Made+Easy&btnG= |
11 | Binary | Guided Fuzzing | A Hybrid Symbolic Execution Assisted FuzzingMethod | A Hybrid Symbolic Execution Assisted FuzzingMethod | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=A+Hybrid+Symbolic+Execution+Assisted+FuzzingMethod&btnG= |
12 | Binary | Guided Fuzzing | Automated whitebox fuzztesting | Automated whitebox fuzztesting | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Automated+whitebox+fuzztesting&btnG= |
13 | Binary | Guided Fuzzing | Buzzfuzz | Taint-based directed whitebox fuzzing | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Taint-based+directed+whitebox+fuzzing&btnG= |
14 | Binary | Guided Fuzzing | Dowser | Dowsing for overflows: A guided fuzzer to find buffer boundary violations | EIP Overflow | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Dowsing+for+overflows%3A+A+guided+fuzzer+to+find+buffer+boundary+violations&btnG= |
15 | Binary | Guided Fuzzing | Driller | Driller: AugmentingFuzzing Through Selective Symbolic Execution | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Driller%3A+AugmentingFuzzing+Through+Selective+Symbolic+Execution&btnG= |
16 | Binary | Guided Fuzzing | Taintscope | TaintScope: A checksum-aware directed fuzzing tool for automatic software vulnerability detection | EIP overflow, Integer overflow, NULL pointer derference | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=TaintScope%3A+A+checksum-aware+directed+fuzzing+tool+for+automatic+software+vulnerability+detection&btnG= |
17 | Binary | Guided Fuzzing | VUzzer | VUzzer: Application-aware Evolutionary Fuzzing | Out-of-bound read, NULL pointer dereference, Double free | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=VUzzer%3A+Application-aware+Evolutionary+Fuzzing&btnG= |
18 | Binary | Symbolic Execution | DART | DART: directed automated random testing | EIP overflow | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=DART%3A+directed+automated+random+testing&btnG= |
19 | Binary | Symbolic Execution | PEX: White Box Test Generation for .NET | Pex–White Box Test Generation for .NET | Program crash, NULL pointer dereferenec | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Pex%E2%80%93White+Box+Test+Generation+for+.NET&btnG= |
20 | Binary | Symbolic Execution | Replayer | Replayer: automatic protocol replay by binary analysis | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Replayer%3A+automatic+protocol+replay+by+binary+analysis&btnG= |
21 | Binary | Symbolic Execution | SoK (state of) the art of war offensive binary | SoK (state of) the art of war offensive binary | EIP Overflow | ROP exploit, Shellcode | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Replayer%3A+automatic+protocol+replay+by+binary+analysisSoK+%28state+of%29+the+art+of+war+offensive+binary&btnG= |
22 | Binary | Symbolic Execution | Symbolic cross checking of data parallel FP code | Symbolic cross checking of data parallel FP code | Use after free | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Symbolic+cross+checking+of+data+parallel+FP+code&btnG= |
23 | Binary | Symbolic Execution | UC-Symbolic Execution | Under-Constrained Symbolic Execution: Correctness Checking for Real Code | Out-of-bound read, NULL pointer dereference, use after free | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Under-Constrained+Symbolic+Execution%3A+Correctness+Checking+for+Real+Code&btnG= |
24 | Binary | Symbolic Execution | Veritesting | Enhancing Symbolic Execution with Veritesting | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Enhancing+Symbolic+Execution+with+Veritesting&btnG= |
25 | Embedded | Concolic testing | Avatar | A Framework to Support Dynamic Security Analysis of Embedded Systems’ Firmwares | Authentication bypass | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=%22A+Framework+to+Support+Dynamic+Security+Analysis+of+Embedded+Systems%E2%80%99+Firmwares%22&btnG= |
26 | Embedded | Symbolic Execution | FIRMADYNE | Towards Automated Dynamic Analysis for Linux-based Embedded Firmware | EIP overwrite, code injection | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=%22Towards+Automated+Dynamic+Analysis+for+Linux-based+Embedded+Firmware%22&btnG= |
27 | Embedded | Symbolic Execution | Firmalice | Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware | Authentication bypass | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=%22Firmalice+-+Automatic+Detection+of+Authentication+Bypass+Vulnerabilities+in+Binary+Firmware%22&btnG= |
28 | Scripting | Fuzzing | Enemy of the State:A State-Aware Black-Box Web Vulnerability Scanner | Enemy of the State:A State-Aware Black-Box Web Vulnerability Scanner | XSS, SQLi | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Enemy+of+the+State%3AA+State-Aware+Black-Box+Web+Vulnerability+Scanner&btnG= |
29 | Scripting | Symbolic Execution | A Symbolic Execution Framework for JavaScript | A Symbolic Execution Framework for JavaScript | Code injection | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=A+Symbolic+Execution+Framework+for+JavaScript&btnG= |
30 | Scripting | Symbolic Execution | Finding bugs in dynamic web apps | Finding bugs in dynamic web apps | Program crash | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Finding+bugs+in+dynamic+web+apps&btnG= |
31 | Scripting | Symbolic Execution | Waler | Toward Automated Detection ofLogic Vulnerabilities in Web Applications | XSS, SQLi | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=Toward+Automated+Detection+ofLogic+Vulnerabilities+in+Web+Applications&btnG= |
32 | Scripting | Symbolic Execution | WAPTEC | WAPTEC: whitebox analysis of web applications for parameter tampering exploit construction | XSS, SQLi, DoS | | https://scholar.google.com/scholar?hl=en&as_sdt=0%2C19&q=WAPTEC%3A+whitebox+analysis+of+web+applications+for+parameter+tampering+exploit+construction&btnG= |
This is the link to the mindmap version of the table: http://app.mindmapmaker.org/#m:mmc88ebaf011214664b5ccbf67cc6179b7. Once the diagram is loaded, you can click on the techniques to expand the papers published under that domain.
The aforementioned mindmap diagram is a visual representation of the hierarchical information of our findings. The central idea of our survey is the vulnerability detection using dynamic analysis. As mentioned earlier, we have only considered 4 domains: binary, web/scripting, embedded/firmware and Android, mainly because these are the main areas where some significant amount of work is done in finding vulnerabilities. Each domain is further branched to various sub-branched based on various dynamic analysis techniques.
The pink colour nodes in the diagram represent a publication. It is usually the framework developed by the publishers or the title of the research paper to detect vulnerability using the dynamic analysis technique class mentioned in the parent node. The publication node is always branched into two 1) outcome and 2) framework.
Outcome describes the type of vulnerabilities they were able to discover using their approach and sometimes their system may generate exploit scripts automatically. In most cases, the exploit scripts are generated for:
- Return-to-libc attack: when there is a buffer overflow vulnerability and the stack is WX protected, the processor will refuse to execute code at certain memory locations where program can write, failing to execute the user loaded shellcode in the stack. The attacker can circumvent this protection by combing the address of the system calls code (libc) present in memory which is executable.
- Return oriented programming is an advanced version of stack-smashing attack where the attacker gains the control over the call stack and uses the sequence of machine code already present in the memory to change the control-flow to perform arbitrary operations.
The sub branches of the framework describes the details of :
- The novel path prioritization techniques introduced in the paper in-order to reduce the search space. It could be for avoiding loops and path explosion, target code blocks which are more likely to be vulnerable due to the presence of system calls etc.
- The reuse or modification of any existing tools like concolic testing or symbolic execution frameworks, fuzzers, constraint solvers, automatic theorem solvers, previously published approaches etc
- Inputs from the static analysis techniques to construct call graph, extract plausible vulnerable components using data flow analysis etc
- Test execution environment: whether the application is run on embedded/mobile hardware directly or on emulator
- Vulnerability analysis module to verify whether the critical exceptions or program crash can be classified as a true positive
- Exploit development module in the framework
This is a high level overview of our ongoing work, stay tuned for the comprehensive study of the survey on vulnerability detection using dynamic analysis.
100502
98JCN4Y5
apa
50
1113
http://ulsrl.org/wp-content/plugins/zotpress/
%7B%22status%22%3A%22success%22%2C%22updateneeded%22%3Afalse%2C%22instance%22%3A%22zotpress-89c4cc4d266eb23ebc4b86b430196870%22%2C%22meta%22%3A%7B%22request_last%22%3A150%2C%22request_next%22%3A50%2C%22used_cache%22%3Atrue%7D%2C%22data%22%3A%5B%7B%22key%22%3A%22G4PQWAY5%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Chen%20et%20al.%22%2C%22parsedDate%22%3A%222012-12%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EChen%2C%20Z.%2C%20Guo%2C%20S.%2C%20%26amp%3B%20Fu%2C%20D.%20%282012%29.%20A%20Directed%20Fuzzing%20Based%20on%20the%20Dynamic%20Symbolic%20Execution%20and%20Extended%20Program%20Behavior%20Model.%20In%20%3Ci%3E2012%20Second%20International%20Conference%20on%20Instrumentation%2C%20Measurement%2C%20Computer%2C%20Communication%20and%20Control%3C%5C%2Fi%3E%20%28pp.%201641%26%23x2013%3B1644%29.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FIMCCC.2012.382%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FIMCCC.2012.382%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22A%20Directed%20Fuzzing%20Based%20on%20the%20Dynamic%20Symbolic%20Execution%20and%20Extended%20Program%20Behavior%20Model%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Zhe%22%2C%22lastName%22%3A%22Chen%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Shize%22%2C%22lastName%22%3A%22Guo%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Damao%22%2C%22lastName%22%3A%22Fu%22%7D%5D%2C%22abstractNote%22%3A%22This%20paper%20presents%20a%20new%20automated%20directed%20fuzzing%20technique.%20First%2C%20the%20behavior%20information%20is%20extracted%20from%20the%20original%20complex%20Control%20Flow%20Graph%20%28CFG%29%20by%20using%20the%20dynamic%20symbolic%20execution.%20Then%2C%20the%20case%20theory%20is%20used%20to%20establish%20the%20access%20control%20model%20for%20the%20access%20objects.%20Subsequently%2C%20to%20describe%20some%20access%20properties%20of%20the%20objects%20while%20a%20program%20is%20running%2C%20we%20present%20a%20control%20flow%20based%20Extended%20Program%20Behavior%20model%20with%20Finite-State%20Machine%20controlled%20parameters%20%28EPBFSM%29%20by%20adding%20constraints%20to%20the%20control%20flow%20model.%20Finally%2C%20the%20new%20fuzzed%20inputs%20are%20generated%20by%20resolving%20the%20constraints%20resulting%20from%20the%20EPBFSM.%20By%20combining%20the%20program%20behavior%20with%20the%20security%20model%2C%20we%20can%20find%20not%20only%20the%20possible%20path-aware%20vulnerabilities%20but%20also%20the%20possible%20access%20control%20objects-aware%20vulnerabilities.%22%2C%22date%22%3A%22December%202012%22%2C%22proceedingsTitle%22%3A%222012%20Second%20International%20Conference%20on%20Instrumentation%2C%20Measurement%2C%20Computer%2C%20Communication%20and%20Control%22%2C%22conferenceName%22%3A%222012%20Second%20International%20Conference%20on%20Instrumentation%2C%20Measurement%2C%20Computer%2C%20Communication%20and%20Control%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1109%5C%2FIMCCC.2012.382%22%2C%22ISBN%22%3A%22%22%2C%22url%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-11-14T21%3A39%3A50Z%22%7D%7D%2C%7B%22key%22%3A%22CTF6K4UF%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Pham%20et%20al.%22%2C%22parsedDate%22%3A%222018-11-23%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EPham%2C%20V.-T.%2C%20B%26%23xF6%3Bhme%2C%20M.%2C%20Santosa%2C%20A.%20E.%2C%20C%26%23x103%3Bciulescu%2C%20A.%20R.%2C%20%26amp%3B%20Roychoudhury%2C%20A.%20%282018%29.%20Smart%20Greybox%20Fuzzing.%20%3Ci%3EArXiv%3A1811.09447%20%5BCs%5D%3C%5C%2Fi%3E.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1811.09447%27%3Ehttp%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1811.09447%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22Smart%20Greybox%20Fuzzing%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Van-Thuan%22%2C%22lastName%22%3A%22Pham%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Marcel%22%2C%22lastName%22%3A%22B%5Cu00f6hme%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Andrew%20E.%22%2C%22lastName%22%3A%22Santosa%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Alexandru%20R%5Cu0103zvan%22%2C%22lastName%22%3A%22C%5Cu0103ciulescu%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Abhik%22%2C%22lastName%22%3A%22Roychoudhury%22%7D%5D%2C%22abstractNote%22%3A%22Coverage-based%20greybox%20fuzzing%20%28CGF%29%20is%20one%20of%20the%20most%20successful%20methods%20for%20automated%20vulnerability%20detection.%20Given%20a%20seed%20%5Cufb01le%20%28as%20a%20sequence%20of%20bits%29%2C%20CGF%20randomly%20%5Cufb02ips%2C%20deletes%20or%20bits%20to%20generate%20new%20%5Cufb01les.%20CGF%20iteratively%20constructs%20%28and%20fuzzes%29%20a%20seed%20corpus%20by%20retaining%20those%20generated%20%5Cufb01les%20which%20enhance%20coverage.%20However%2C%20random%20bit%5Cufb02ips%20are%20unlikely%20to%20produce%20valid%20%5Cufb01les%20%28or%20valid%20chunks%20in%20%5Cufb01les%29%2C%20for%20applications%20processing%20complex%20%5Cufb01le%20formats.%22%2C%22date%22%3A%222018-11-23%22%2C%22language%22%3A%22en%22%2C%22DOI%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1811.09447%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-11-14T17%3A14%3A29Z%22%7D%7D%2C%7B%22key%22%3A%22EPAGJ8S2%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Padhye%20et%20al.%22%2C%22parsedDate%22%3A%222019%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EPadhye%2C%20R.%2C%20Lemieux%2C%20C.%2C%20Sen%2C%20K.%2C%20Papadakis%2C%20M.%2C%20%26amp%3B%20Le%20Traon%2C%20Y.%20%282019%29.%20Semantic%20fuzzing%20with%20zest.%20In%20%3Ci%3EProceedings%20of%20the%2028th%20ACM%20SIGSOFT%20International%20Symposium%20on%20Software%20Testing%20and%20Analysis%26%23xA0%3B%20-%20ISSTA%202019%3C%5C%2Fi%3E%20%28pp.%20329%26%23x2013%3B340%29.%20Beijing%2C%20China%3A%20ACM%20Press.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3293882.3330576%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3293882.3330576%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Semantic%20fuzzing%20with%20zest%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Rohan%22%2C%22lastName%22%3A%22Padhye%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Caroline%22%2C%22lastName%22%3A%22Lemieux%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Koushik%22%2C%22lastName%22%3A%22Sen%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Mike%22%2C%22lastName%22%3A%22Papadakis%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Yves%22%2C%22lastName%22%3A%22Le%20Traon%22%7D%5D%2C%22abstractNote%22%3A%22Programs%20expecting%20structured%20inputs%20often%20consist%20of%20both%20a%20syntactic%20analysis%20stage%2C%20which%20parses%20raw%20input%2C%20and%20a%20semantic%20analysis%20stage%2C%20which%20conducts%20checks%20on%20the%20parsed%20input%20and%20executes%20the%20core%20logic%20of%20the%20program.%20Generator-based%20testing%20tools%20in%20the%20lineage%20of%20QuickCheck%20are%20a%20promising%20way%20to%20generate%20random%20syntactically%20valid%20test%20inputs%20for%20these%20programs.%20We%20present%20Zest%2C%20a%20technique%20which%20automatically%20guides%20QuickCheck-like%20randominput%20generators%20to%20better%20explore%20the%20semantic%20analysis%20stage%20of%20test%20programs.%20Zest%20converts%20random-input%20generators%20into%20deterministic%20parametric%20generators.%20We%20present%20the%20key%20insight%20that%20mutations%20in%20the%20untyped%20parameter%20domain%20map%20to%20structural%20mutations%20in%20the%20input%20domain.%20Zest%20leverages%20program%20feedback%20in%20the%20form%20of%20code%20coverage%20and%20input%20validity%20to%20perform%20feedback-directed%20parameter%20search.%20We%20evaluate%20Zest%20against%20AFL%20and%20QuickCheck%20on%20five%20Java%20programs%3A%20Maven%2C%20Ant%2C%20BCEL%2C%20Closure%2C%20and%20Rhino.%20Zest%20covers%201.03%5Cu00d7%5Cu015b2.81%5Cu00d7%20as%20many%20branches%20within%20the%20benchmarks%5Cu2019%20semantic%20analysis%20stages%20as%20baseline%20techniques.%20Further%2C%20we%20find%2010%20new%20bugs%20in%20the%20semantic%20analysis%20stages%20of%20these%20benchmarks.%20Zest%20is%20the%20most%20effective%20technique%20in%20finding%20these%20bugs%20reliably%20and%20quickly%2C%20requiring%20at%20most%2010%20minutes%20on%20average%20to%20find%20each%20bug.%22%2C%22date%22%3A%222019%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2028th%20ACM%20SIGSOFT%20International%20Symposium%20on%20Software%20Testing%20and%20Analysis%20%20-%20ISSTA%202019%22%2C%22conferenceName%22%3A%22the%2028th%20ACM%20SIGSOFT%20International%20Symposium%22%2C%22language%22%3A%22en%22%2C%22DOI%22%3A%2210.1145%5C%2F3293882.3330576%22%2C%22ISBN%22%3A%22978-1-4503-6224-5%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fdoid%3D3293882.3330576%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-11-14T17%3A14%3A21Z%22%7D%7D%2C%7B%22key%22%3A%22CD3F46IM%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22aflgo%22%2C%22parsedDate%22%3A%222019-11-06%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3Eaflgo.%20%282019%29.%20%3Ci%3Eaflgo%5C%2Faflgo%3C%5C%2Fi%3E.%20Retrieved%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fgithub.com%5C%2Faflgo%5C%2Faflgo%27%3Ehttps%3A%5C%2F%5C%2Fgithub.com%5C%2Faflgo%5C%2Faflgo%3C%5C%2Fa%3E%20%28Original%20work%20published%202017%29%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22computerProgram%22%2C%22title%22%3A%22aflgo%5C%2Faflgo%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22programmer%22%2C%22firstName%22%3A%22%22%2C%22lastName%22%3A%22aflgo%22%7D%5D%2C%22abstractNote%22%3A%22Directed%20Greybox%20Fuzzing%20with%20AFL.%20Contribute%20to%20aflgo%5C%2Faflgo%20development%20by%20creating%20an%20account%20on%20GitHub.%22%2C%22versionNumber%22%3A%22%22%2C%22date%22%3A%222019-11-06T03%3A17%3A44Z%22%2C%22system%22%3A%22%22%2C%22company%22%3A%22%22%2C%22programmingLanguage%22%3A%22C%22%2C%22ISBN%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fgithub.com%5C%2Faflgo%5C%2Faflgo%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-11-14T16%3A59%3A10Z%22%7D%7D%2C%7B%22key%22%3A%22RL43LQM5%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Secunia%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ESecunia%2C%20S.%20%28n.d.%29.%20Vulnerability%20Review%202018.%20Flexera.%20Retrieved%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fwww.flexera.com%5C%2Fmedia%5C%2Fpdfs%5C%2Fresearch-svm-vulnerability-review-2018.pdf%27%3Ehttps%3A%5C%2F%5C%2Fwww.flexera.com%5C%2Fmedia%5C%2Fpdfs%5C%2Fresearch-svm-vulnerability-review-2018.pdf%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22document%22%2C%22title%22%3A%22Vulnerability%20Review%202018%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Secunia%22%2C%22lastName%22%3A%22Secunia%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22language%22%3A%22English%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fwww.flexera.com%5C%2Fmedia%5C%2Fpdfs%5C%2Fresearch-svm-vulnerability-review-2018.pdf%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-11-09T16%3A57%3A55Z%22%7D%7D%2C%7B%22key%22%3A%22KTJC9BAJ%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22parsedDate%22%3A%222019%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%282019%29.%20Vulnerability%20distribution%20of%20cve%20security%20vulnerabilities%20by%20types.%20Retrieved%20September%2023%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fwww.cvedetails.com%5C%2Fvulnerabilities-by-types.php%27%3Ehttps%3A%5C%2F%5C%2Fwww.cvedetails.com%5C%2Fvulnerabilities-by-types.php%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22Vulnerability%20distribution%20of%20cve%20security%20vulnerabilities%20by%20types%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%222019%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fwww.cvedetails.com%5C%2Fvulnerabilities-by-types.php%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-02-02T23%3A19%3A29Z%22%7D%7D%2C%7B%22key%22%3A%22UJ3UXGA3%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Wichmann%20et%20al.%22%2C%22parsedDate%22%3A%221995-03%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EWichmann%2C%20B.%20A.%2C%20Canning%2C%20A.%20A.%2C%20Clutterbuck%2C%20D.%20L.%2C%20Winsborrow%2C%20L.%20A.%2C%20Ward%2C%20N.%20J.%2C%20%26amp%3B%20Marsh%2C%20D.%20W.%20R.%20%281995%29.%20Industrial%20perspective%20on%20static%20analysis.%20%3Ci%3ESoftware%20Engineering%20Journal%3C%5C%2Fi%3E%2C%20%3Ci%3E10%3C%5C%2Fi%3E%282%29%2C%2069%26%23x2013%3B75.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1049%5C%2Fsej.1995.0010%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1049%5C%2Fsej.1995.0010%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22Industrial%20perspective%20on%20static%20analysis%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22B.%20A.%22%2C%22lastName%22%3A%22Wichmann%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22A.%20A.%22%2C%22lastName%22%3A%22Canning%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22D.%20L.%22%2C%22lastName%22%3A%22Clutterbuck%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22L.%20A.%22%2C%22lastName%22%3A%22Winsborrow%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22N.%20J.%22%2C%22lastName%22%3A%22Ward%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22D.%20W.%20R.%22%2C%22lastName%22%3A%22Marsh%22%7D%5D%2C%22abstractNote%22%3A%22Static%20analysis%20within%20industrial%20applications%20provides%20a%20means%20of%20gaining%20higher%20assurance%20for%20critical%20software.%20This%20survey%20notes%20several%20problems%2C%20such%20as%20the%20lack%20of%20adequate%20standards%2C%20difficulty%20in%20assessing%20benefits%2C%20validation%20of%20the%20model%20used%20and%20acceptance%20by%20regulatory%20bodies.%20It%20concludes%20by%20outlining%20potential%20solutions%20and%20future%20directions.%3C%3CETX%3E%3E%22%2C%22date%22%3A%22March%201995%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1049%5C%2Fsej.1995.0010%22%2C%22ISSN%22%3A%220268-6961%22%2C%22url%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-01-31T21%3A23%3A13Z%22%7D%7D%2C%7B%22key%22%3A%22CRZSCRTA%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Molnar%20et%20al.%22%2C%22parsedDate%22%3A%222009%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMolnar%2C%20D.%2C%20Li%2C%20X.%20C.%2C%20%26amp%3B%20Wagner%2C%20D.%20A.%20%282009%29.%20Dynamic%20Test%20Generation%20to%20Find%20Integer%20Bugs%20in%20x86%20Binary%20Linux%20Programs.%20In%20%3Ci%3EProceedings%20of%20the%2018th%20Conference%20on%20USENIX%20Security%20Symposium%3C%5C%2Fi%3E%20%28pp.%2067%26%23x2013%3B82%29.%20Berkeley%2C%20CA%2C%20USA%3A%20USENIX%20Association.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D1855768.1855773%27%3Ehttp%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D1855768.1855773%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Dynamic%20Test%20Generation%20to%20Find%20Integer%20Bugs%20in%20x86%20Binary%20Linux%20Programs%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22David%22%2C%22lastName%22%3A%22Molnar%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Xue%20Cong%22%2C%22lastName%22%3A%22Li%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22David%20A.%22%2C%22lastName%22%3A%22Wagner%22%7D%5D%2C%22abstractNote%22%3A%22Recently%2C%20integer%20bugs%2C%20including%20integer%20overflow%2C%20width%20conversion%2C%20and%20signed%5C%2Funsigned%20conversion%20errors%2C%20have%20risen%20to%20become%20a%20common%20root%20cause%20for%20serious%20security%20vulnerabilities.%20We%20introduce%20new%20methods%20for%20discovering%20integer%20bugs%20using%20dynamic%20test%20generation%20on%20x86%20binaries%2C%20and%20we%20describe%20key%20design%20choices%20in%20efficient%20symbolic%20execution%20of%20such%20programs.%20We%20implemented%20our%20methods%20in%20a%20prototype%20tool%20SmartFuzz%2C%20which%20we%20use%20to%20analyze%20Linux%20x86%20binary%20executables.%20We%20also%20created%20a%20reporting%20service%2C%20metafuzz.com%2C%20to%20aid%20in%20triaging%20and%20reporting%20bugs%20found%20by%20SmartFuzz%20and%20the%20black-box%20fuzz%20testing%20tool%20zzuf.%20We%20report%20on%20experiments%20applying%20these%20tools%20to%20a%20range%20of%20software%20applications%2C%20including%20the%20mplayer%20media%20player%2C%20the%20exiv2%20image%20metadata%20library%2C%20and%20ImageMagick%20convert.%20We%20also%20report%20on%20our%20experience%20using%20SmartFuzz%2C%20zzuf%2C%20and%20metafuzz.com%20to%20perform%20testing%20at%20scale%20with%20the%20Amazon%20Elastic%20Compute%20Cloud%20%28EC2%29.%20To%20date%2C%20the%20metafuzz.com%20site%20has%20recorded%20more%20than%202%3B%20614%20test%20runs%2C%20comprising%202%3B%20361%3B%20595%20test%20cases.%20Our%20experiments%20found%20approximately%2077%20total%20distinct%20bugs%20in%20864%20compute%20hours%2C%20costing%20us%20an%20average%20of%20%242%3A24%20per%20bug%20at%20current%20EC2%20rates.%20We%20quantify%20the%20overlap%20in%20bugs%20found%20by%20the%20two%20tools%2C%20and%20we%20show%20that%20SmartFuzz%20finds%20bugs%20missed%20by%20zzuf%2C%20including%20one%20program%20where%20Smart-Fuzz%20finds%20bugs%20but%20zzuf%20does%20not.%22%2C%22date%22%3A%222009%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2018th%20Conference%20on%20USENIX%20Security%20Symposium%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISBN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D1855768.1855773%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-01-28T16%3A23%3A41Z%22%7D%7D%2C%7B%22key%22%3A%226YT7B38N%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Chen%20et%20al.%22%2C%22parsedDate%22%3A%222013%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EChen%2C%20Y.%2C%20Groce%2C%20A.%2C%20Zhang%2C%20C.%2C%20Wong%2C%20W.-K.%2C%20Fern%2C%20X.%2C%20Eide%2C%20E.%2C%20%26amp%3B%20Regehr%2C%20J.%20%282013%29.%20Taming%20Compiler%20Fuzzers.%20In%20%3Ci%3EProceedings%20of%20the%2034th%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20and%20Implementation%3C%5C%2Fi%3E%20%28pp.%20197%26%23x2013%3B208%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F2491956.2462173%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F2491956.2462173%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Taming%20Compiler%20Fuzzers%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Yang%22%2C%22lastName%22%3A%22Chen%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Alex%22%2C%22lastName%22%3A%22Groce%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Chaoqiang%22%2C%22lastName%22%3A%22Zhang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Weng-Keen%22%2C%22lastName%22%3A%22Wong%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Xiaoli%22%2C%22lastName%22%3A%22Fern%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Eric%22%2C%22lastName%22%3A%22Eide%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22John%22%2C%22lastName%22%3A%22Regehr%22%7D%5D%2C%22abstractNote%22%3A%22Aggressive%20random%20testing%20tools%20%28%5C%22fuzzers%5C%22%29%20are%20impressively%20effective%20at%20finding%20compiler%20bugs.%20For%20example%2C%20a%20single%20test-case%20generator%20has%20resulted%20in%20more%20than%201%2C700%20bugs%20reported%20for%20a%20single%20JavaScript%20engine.%20However%2C%20fuzzers%20can%20be%20frustrating%20to%20use%3A%20they%20indiscriminately%20and%20repeatedly%20find%20bugs%20that%20may%20not%20be%20severe%20enough%20to%20fix%20right%20away.%20Currently%2C%20users%20filter%20out%20undesirable%20test%20cases%20using%20ad%20hoc%20methods%20such%20as%20disallowing%20problematic%20features%20in%20tests%20and%20grepping%20test%20results.%20This%20paper%20formulates%20and%20addresses%20the%20fuzzer%20taming%20problem%3A%20given%20a%20potentially%20large%20number%20of%20random%20test%20cases%20that%20trigger%20failures%2C%20order%20them%20such%20that%20diverse%2C%20interesting%20test%20cases%20are%20highly%20ranked.%20Our%20evaluation%20shows%20our%20ability%20to%20solve%20the%20fuzzer%20taming%20problem%20for%203%2C799%20test%20cases%20triggering%2046%20bugs%20in%20a%20C%20compiler%20and%202%2C603%20test%20cases%20triggering%2028%20bugs%20in%20a%20JavaScript%20engine.%22%2C%22date%22%3A%222013%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2034th%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20and%20Implementation%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F2491956.2462173%22%2C%22ISBN%22%3A%22978-1-4503-2014-6%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F2491956.2462173%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222019-01-27T21%3A56%3A33Z%22%7D%7D%2C%7B%22key%22%3A%22KC2V5TA4%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Zhang%20et%20al.%22%2C%22parsedDate%22%3A%222014%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EZhang%2C%20C.%2C%20Groce%2C%20A.%2C%20%26amp%3B%20Alipour%2C%20M.%20A.%20%282014%29.%20Using%20Test%20Case%20Reduction%20and%20Prioritization%20to%20Improve%20Symbolic%20Execution.%20In%20%3Ci%3EProceedings%20of%20the%202014%20International%20Symposium%20on%20Software%20Testing%20and%20Analysis%3C%5C%2Fi%3E%20%28pp.%20160%26%23x2013%3B170%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F2610384.2610392%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F2610384.2610392%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Using%20Test%20Case%20Reduction%20and%20Prioritization%20to%20Improve%20Symbolic%20Execution%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Chaoqiang%22%2C%22lastName%22%3A%22Zhang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Alex%22%2C%22lastName%22%3A%22Groce%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Mohammad%20Amin%22%2C%22lastName%22%3A%22Alipour%22%7D%5D%2C%22abstractNote%22%3A%22Scaling%20symbolic%20execution%20to%20large%20programs%20or%20programs%20with%20complex%20inputs%20remains%20difficult%20due%20to%20path%20explosion%20and%20complex%20constraints%2C%20as%20well%20as%20external%20method%20calls.%20Additionally%2C%20creating%20an%20effective%20test%20structure%20with%20symbolic%20inputs%20can%20be%20difficult.%20A%20popular%20symbolic%20execution%20strategy%20in%20practice%20is%20to%20perform%20symbolic%20execution%20not%20%5Cu201cfrom%20scratch%5Cu201d%20but%20based%20on%20existing%20test%20cases.%20This%20paper%20proposes%20that%20the%20effectiveness%20of%20this%20approach%20to%20symbolic%20execution%20can%20be%20enhanced%20by%20%281%29%20reducing%20the%20size%20of%20seed%20test%20cases%20and%20%282%29%20prioritizing%20seed%20test%20cases%20to%20maximize%20exploration%20efficiency.%20The%20proposed%20test%20case%20reduction%20strategy%20is%20based%20on%20a%20recently%20introduced%20generalization%20of%20delta%20debugging%2C%20and%20our%20prioritization%20techniques%20include%20novel%20methods%20that%2C%20for%20this%20purpose%2C%20can%20outperform%20some%20traditional%20regression%20testing%20algorithms.%20We%20show%20that%20applying%20these%20methods%20can%20significantly%20improve%20the%20effectiveness%20of%20symbolic%20execution%20based%20on%20existing%20test%20cases.%22%2C%22date%22%3A%222014%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%202014%20International%20Symposium%20on%20Software%20Testing%20and%20Analysis%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F2610384.2610392%22%2C%22ISBN%22%3A%22978-1-4503-2645-2%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F2610384.2610392%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-12-03T15%3A36%3A20Z%22%7D%7D%2C%7B%22key%22%3A%22N2AU58HF%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Ognawala%20et%20al.%22%2C%22parsedDate%22%3A%222018%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EOgnawala%2C%20S.%2C%20Hutzelmann%2C%20T.%2C%20Psallida%2C%20E.%2C%20%26amp%3B%20Pretschner%2C%20A.%20%282018%29.%20Improving%20Function%20Coverage%20with%20Munch%3A%20A%20Hybrid%20Fuzzing%20and%20Directed%20Symbolic%20Execution%20Approach.%20In%20%3Ci%3EProceedings%20of%20the%2033rd%20Annual%20ACM%20Symposium%20on%20Applied%20Computing%3C%5C%2Fi%3E%20%28pp.%201475%26%23x2013%3B1482%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3167132.3167289%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3167132.3167289%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Improving%20Function%20Coverage%20with%20Munch%3A%20A%20Hybrid%20Fuzzing%20and%20Directed%20Symbolic%20Execution%20Approach%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Saahil%22%2C%22lastName%22%3A%22Ognawala%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Thomas%22%2C%22lastName%22%3A%22Hutzelmann%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Eirini%22%2C%22lastName%22%3A%22Psallida%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Alexander%22%2C%22lastName%22%3A%22Pretschner%22%7D%5D%2C%22abstractNote%22%3A%22Fuzzing%20and%20symbolic%20execution%20are%20popular%20techniques%20for%20finding%20vulnerabilities%20and%20generating%20test-cases%20for%20programs.%20Fuzzing%2C%20a%20blackbox%20method%20that%20mutates%20seed%20input%20values%2C%20is%20generally%20incapable%20of%20generating%20diverse%20inputs%20that%20exercise%20all%20paths%20in%20the%20program.%20Due%20to%20the%20path-explosion%20problem%20and%20dependence%20on%20SMT%20solvers%2C%20symbolic%20execution%20may%20also%20not%20achieve%20high%20path%20coverage.%20A%20hybrid%20technique%20involving%20fuzzing%20and%20symbolic%20execution%20may%20achieve%20better%20function%20coverage%20than%20fuzzing%20or%20symbolic%20execution%20alone.%20In%20this%20paper%2C%20we%20present%20Munch%2C%20an%20open-source%20framework%20implementing%20two%20hybrid%20techniques%20based%20on%20fuzzing%20and%20symbolic%20execution.%20We%20empirically%20show%20using%20nine%20large%20open-source%20programs%20that%20overall%2C%20Munch%20achieves%20higher%20%28in-depth%29%20function%20coverage%20than%20symbolic%20execution%20or%20fuzzing%20alone.%20Using%20metrics%20based%20on%20total%20analyses%20time%20and%20number%20of%20queries%20issued%20to%20the%20SMT%20solver%2C%20we%20also%20show%20that%20Munch%20is%20more%20efficient%20at%20achieving%20better%20function%20coverage.%22%2C%22date%22%3A%222018%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2033rd%20Annual%20ACM%20Symposium%20on%20Applied%20Computing%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F3167132.3167289%22%2C%22ISBN%22%3A%22978-1-4503-5191-1%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F3167132.3167289%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-12-03T15%3A32%3A25Z%22%7D%7D%2C%7B%22key%22%3A%22EZVZ5549%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Person%20et%20al.%22%2C%22parsedDate%22%3A%222011%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EPerson%2C%20S.%2C%20Yang%2C%20G.%2C%20Rungta%2C%20N.%2C%20%26amp%3B%20Khurshid%2C%20S.%20%282011%29.%20Directed%20Incremental%20Symbolic%20Execution.%20In%20%3Ci%3EProceedings%20of%20the%2032Nd%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20and%20Implementation%3C%5C%2Fi%3E%20%28pp.%20504%26%23x2013%3B515%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1993498.1993558%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1993498.1993558%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Directed%20Incremental%20Symbolic%20Execution%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Suzette%22%2C%22lastName%22%3A%22Person%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Guowei%22%2C%22lastName%22%3A%22Yang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Neha%22%2C%22lastName%22%3A%22Rungta%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Sarfraz%22%2C%22lastName%22%3A%22Khurshid%22%7D%5D%2C%22abstractNote%22%3A%22The%20last%20few%20years%20have%20seen%20a%20resurgence%20of%20interest%20in%20the%20use%20of%20symbolic%20execution%20--%20a%20program%20analysis%20technique%20developed%20more%20than%20three%20decades%20ago%20to%20analyze%20program%20execution%20paths.%20Scaling%20symbolic%20execution%20and%20other%20path-sensitive%20analysis%20techniques%20to%20large%20systems%20remains%20challenging%20despite%20recent%20algorithmic%20and%20technological%20advances.%20An%20alternative%20to%20solving%20the%20problem%20of%20scalability%20is%20to%20reduce%20the%20scope%20of%20the%20analysis.%20One%20approach%20that%20is%20widely%20studied%20in%20the%20context%20of%20regression%20analysis%20is%20to%20analyze%20the%20differences%20between%20two%20related%20program%20versions.%20While%20such%20an%20approach%20is%20intuitive%20in%20theory%2C%20finding%20efficient%20and%20precise%20ways%20to%20identify%20program%20differences%2C%20and%20characterize%20their%20effects%20on%20how%20the%20program%20executes%20has%20proved%20challenging%20in%20practice.%20In%20this%20paper%2C%20we%20present%20Directed%20Incremental%20Symbolic%20Execution%20%28DiSE%29%2C%20a%20novel%20technique%20for%20detecting%20and%20characterizing%20the%20effects%20of%20program%20changes.%20The%20novelty%20of%20DiSE%20is%20to%20combine%20the%20efficiencies%20of%20static%20analysis%20techniques%20to%20compute%20program%20difference%20information%20with%20the%20precision%20of%20symbolic%20execution%20to%20explore%20program%20execution%20paths%20and%20generate%20path%20conditions%20affected%20by%20the%20differences.%20DiSE%20is%20a%20complementary%20technique%20to%20other%20reduction%20or%20bounding%20techniques%20developed%20to%20improve%20symbolic%20execution.%20Furthermore%2C%20DiSE%20does%20not%20require%20analysis%20results%20to%20be%20carried%20forward%20as%20the%20software%20evolves%20--%20only%20the%20source%20code%20for%20two%20related%20program%20versions%20is%20required.%20A%20case-study%20of%20our%20implementation%20of%20DiSE%20illustrates%20its%20effectiveness%20at%20detecting%20and%20characterizing%20the%20effects%20of%20program%20changes.%22%2C%22date%22%3A%222011%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2032Nd%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20and%20Implementation%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F1993498.1993558%22%2C%22ISBN%22%3A%22978-1-4503-0663-8%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F1993498.1993558%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-12-03T15%3A30%3A52Z%22%7D%7D%2C%7B%22key%22%3A%22PI5K8VKL%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Li%20et%20al.%22%2C%22parsedDate%22%3A%222013%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ELi%2C%20Y.%2C%20Su%2C%20Z.%2C%20Wang%2C%20L.%2C%20%26amp%3B%20Li%2C%20X.%20%282013%29.%20Steering%20Symbolic%20Execution%20to%20Less%20Traveled%20Paths.%20In%20%3Ci%3EProceedings%20of%20the%202013%20ACM%20SIGPLAN%20International%20Conference%20on%20Object%20Oriented%20Programming%20Systems%20Languages%20%26amp%3B%20Applications%3C%5C%2Fi%3E%20%28pp.%2019%26%23x2013%3B32%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F2509136.2509553%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F2509136.2509553%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Steering%20Symbolic%20Execution%20to%20Less%20Traveled%20Paths%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22You%22%2C%22lastName%22%3A%22Li%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Zhendong%22%2C%22lastName%22%3A%22Su%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Linzhang%22%2C%22lastName%22%3A%22Wang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Xuandong%22%2C%22lastName%22%3A%22Li%22%7D%5D%2C%22abstractNote%22%3A%22Symbolic%20execution%20is%20a%20promising%20testing%20and%20analysis%20methodology.%20It%20systematically%20explores%20a%20program%27s%20execution%20space%20and%20can%20generate%20test%20cases%20with%20high%20coverage.%20One%20significant%20practical%20challenge%20for%20symbolic%20execution%20is%20how%20to%20effectively%20explore%20the%20enormous%20number%20of%20program%20paths%20in%20real-world%20programs.%20Various%20heuristics%20have%20been%20proposed%20for%20guiding%20symbolic%20execution%2C%20but%20they%20are%20generally%20inefficient%20and%20ad-hoc.%20In%20this%20paper%2C%20we%20introduce%20a%20novel%2C%20unified%20strategy%20to%20guide%20symbolic%20execution%20to%20less%20explored%20parts%20of%20a%20program.%20Our%20key%20idea%20is%20to%20exploit%20a%20specific%20type%20of%20path%20spectra%2C%20namely%20the%20length-n%20subpath%20program%20spectra%2C%20to%20systematically%20approximate%20full%20path%20information%20for%20guiding%20path%20exploration.%20In%20particular%2C%20we%20use%20frequency%20distributions%20of%20explored%20length-n%20subpaths%20to%20prioritize%20%5C%22less%20traveled%5C%22%20parts%20of%20the%20program%20to%20improve%20test%20coverage%20and%20error%20detection.%20We%20have%20implemented%20our%20general%20strategy%20in%20KLEE%2C%20a%20state-of-the-art%20symbolic%20execution%20engine.%20Evaluation%20results%20on%20the%20GNU%20Coreutils%20programs%20show%20that%20%281%29%20varying%20the%20length%20n%20captures%20program-specific%20information%20and%20exhibits%20different%20degrees%20of%20effectiveness%2C%20and%20%282%29%20our%20general%20approach%20outperforms%20traditional%20strategies%20in%20both%20coverage%20and%20error%20detection.%22%2C%22date%22%3A%222013%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%202013%20ACM%20SIGPLAN%20International%20Conference%20on%20Object%20Oriented%20Programming%20Systems%20Languages%20%26%20Applications%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F2509136.2509553%22%2C%22ISBN%22%3A%22978-1-4503-2374-1%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F2509136.2509553%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-12-03T15%3A24%3A31Z%22%7D%7D%2C%7B%22key%22%3A%22AKC5QLAX%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Qin%20et%20al.%22%2C%22parsedDate%22%3A%222006%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EQin%2C%20F.%2C%20Wang%2C%20C.%2C%20Li%2C%20Z.%2C%20Kim%2C%20H.%2C%20Zhou%2C%20Y.%2C%20%26amp%3B%20Wu%2C%20Y.%20%282006%29.%20LIFT%3A%20A%20Low-Overhead%20Practical%20Information%20Flow%20Tracking%20System%20for%20Detecting%20Security%20Attacks.%20In%20%3Ci%3EProceedings%20of%20the%2039th%20Annual%20IEEE%5C%2FACM%20International%20Symposium%20on%20Microarchitecture%3C%5C%2Fi%3E%20%28pp.%20135%26%23x2013%3B148%29.%20Washington%2C%20DC%2C%20USA%3A%20IEEE%20Computer%20Society.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FMICRO.2006.29%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FMICRO.2006.29%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22LIFT%3A%20A%20Low-Overhead%20Practical%20Information%20Flow%20Tracking%20System%20for%20Detecting%20Security%20Attacks%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Feng%22%2C%22lastName%22%3A%22Qin%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Cheng%22%2C%22lastName%22%3A%22Wang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Zhenmin%22%2C%22lastName%22%3A%22Li%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Ho-seop%22%2C%22lastName%22%3A%22Kim%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Yuanyuan%22%2C%22lastName%22%3A%22Zhou%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Youfeng%22%2C%22lastName%22%3A%22Wu%22%7D%5D%2C%22abstractNote%22%3A%22Computer%20security%20is%20severely%20threatened%20by%20software%20vulnerabilities.%20Prior%20work%20shows%20that%20information%20flow%20tracking%20%28also%20referred%20to%20as%20taint%20analysis%29%20is%20a%20promising%20technique%20to%20detect%20a%20wide%20range%20of%20security%20attacks.%20However%2C%20current%20information%20flow%20tracking%20systems%20are%20not%20very%20practical%2C%20because%20they%20either%20require%20program%20annotations%2C%20source%20code%2C%20non-trivial%20hardware%20extensions%2C%20or%20incur%20prohibitive%20runtime%20overheads.%20This%20paper%20proposes%20a%20low%20overhead%2C%20software-only%20information%20flow%20tracking%20system%2C%20called%20LIFT%2C%20which%20minimizes%20run-time%20overhead%20by%20exploiting%20dynamic%20binary%20instrumentation%20and%20optimizations%20for%20detecting%20various%20types%20of%20security%20attacks%20without%20requiring%20any%20hardware%20changes.%20More%20specifically%2C%20LIFT%20aggressively%20eliminates%20unnecessary%20dynamic%20information%20flow%20tracking%2C%20coalesces%20information%20checks%2C%20and%20efficiently%20switches%20between%20target%20programs%20and%20instrumented%20information%20flow%20tracking%20code.%20We%20have%20implemented%20LIFT%20on%20a%20dynamic%20binary%20instrumentation%20framework%20on%20Windows.%20Our%20real-system%20experiments%20with%20two%20real-world%20server%20applications%2C%20one%20client%20application%20and%20eighteen%20attack%20benchmarks%20show%20that%20LIFT%20can%20effectively%20detect%20various%20types%20of%20security%20attacks.%20LIFT%20also%20incurs%20very%20low%20overhead%2C%20only%206.2%25%20for%20server%20applications%2C%20and%203.6%20times%20on%20average%20for%20seven%20SPEC%20INT2000%20applications.%20Our%20dynamic%20optimizations%20are%20very%20effective%20in%20reducing%20the%20overhead%20by%20a%20factor%20of%205-12%20times.%22%2C%22date%22%3A%222006%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2039th%20Annual%20IEEE%5C%2FACM%20International%20Symposium%20on%20Microarchitecture%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1109%5C%2FMICRO.2006.29%22%2C%22ISBN%22%3A%22978-0-7695-2732-1%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FMICRO.2006.29%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-11-19T18%3A14%3A43Z%22%7D%7D%2C%7B%22key%22%3A%222EMUVGTR%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Cheng%20et%20al.%22%2C%22parsedDate%22%3A%222006-06%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ECheng%2C%20W.%2C%20Zhao%2C%20Q.%2C%20Yu%2C%20B.%2C%20%26amp%3B%20Hiroshige%2C%20S.%20%282006%29.%20TaintTrace%3A%20Efficient%20Flow%20Tracing%20with%20Dynamic%20Binary%20Rewriting.%20In%20%3Ci%3E11th%20IEEE%20Symposium%20on%20Computers%20and%20Communications%20%28ISCC%26%23x2019%3B06%29%3C%5C%2Fi%3E%20%28pp.%20749%26%23x2013%3B754%29.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FISCC.2006.158%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FISCC.2006.158%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22TaintTrace%3A%20Efficient%20Flow%20Tracing%20with%20Dynamic%20Binary%20Rewriting%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22W.%22%2C%22lastName%22%3A%22Cheng%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Qin%22%2C%22lastName%22%3A%22Zhao%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Bei%22%2C%22lastName%22%3A%22Yu%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22S.%22%2C%22lastName%22%3A%22Hiroshige%22%7D%5D%2C%22abstractNote%22%3A%22TaintTrace%20is%20a%20high%20performance%20flow%20tracing%20tool%20that%20protects%20systems%20against%20security%20exploits.%20It%20is%20based%20on%20dynamic%20execution%20binary%20rewriting%20empowering%20our%20tool%20with%20fine-grained%20monitoring%20of%20system%20activities%20such%20as%20the%20tracking%20of%20the%20usage%20and%20propagation%20of%20data%20originated%20from%20the%20network.%20The%20challenge%20lies%20in%20minimizing%20the%20run-time%20overhead%20of%20the%20tool.%20TaintTrace%20uses%20a%20number%20of%20techniques%20such%20as%20direct%20memory%20mapping%20to%20optimize%20performance.%20In%20this%20paper%2C%20we%20demonstrate%20that%20TaintTrace%20is%20effective%20in%20protecting%20against%20various%20attacks%20while%20maintaining%20a%20modest%20slowdown%20of%205.5%20times%2C%20offering%20significant%20improvements%20over%20similar%20tools.%22%2C%22date%22%3A%22June%202006%22%2C%22proceedingsTitle%22%3A%2211th%20IEEE%20Symposium%20on%20Computers%20and%20Communications%20%28ISCC%2706%29%22%2C%22conferenceName%22%3A%2211th%20IEEE%20Symposium%20on%20Computers%20and%20Communications%20%28ISCC%2706%29%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1109%5C%2FISCC.2006.158%22%2C%22ISBN%22%3A%22%22%2C%22url%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-11-19T17%3A32%3A25Z%22%7D%7D%2C%7B%22key%22%3A%226B6DXBAF%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Newsome%22%2C%22parsedDate%22%3A%222005-02%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ENewsome%2C%20J.%20%282005%29.%20Dynamic%20Taint%20Analysis%20for%20Automatic%20Detection%2C%20Analysis%2C%20and%20Signature%20Generation%20of%20Exploits%20on%20Commodity%20Software.%20In%20%3Ci%3ENetwork%20and%20Distributed%20System%20Security%20Symposium%3C%5C%2Fi%3E.%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Dynamic%20Taint%20Analysis%20for%20Automatic%20Detection%2C%20Analysis%2C%20and%20Signature%20Generation%20of%20Exploits%20on%20Commodity%20Software%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22James%22%2C%22lastName%22%3A%22Newsome%22%7D%5D%2C%22abstractNote%22%3A%22Software%20vulnerabilities%20have%20had%20a%20devastating%20effect%20on%20the%20Internet.%20Worms%20such%20as%20CodeRed%20and%20Slammer%20can%20compromise%20hundreds%20of%20thousands%20of%20hosts%20within%20hours%20or%20even%20minutes%2C%20and%20cause%20millions%20of%20dollars%20of%20damage%20%5B25%2C%2042%5D.%20To%20successfully%20combat%20these%20fast%20automatic%20Internet%20attacks%2C%20we%20need%20fast%20automatic%20attack%20detection%20and%20filtering%20mechanisms.%20In%20this%20paper%20we%20propose%20dynamic%20taint%20analysis%20for%20automatic%20detection%20of%20overwrite%20attacks%2C%20which%20include%20most%20types%20of%20exploits.%20This%20approach%20does%20not%20need%20source%20code%20or%20special%20compilation%20for%20the%20monitored%20program%2C%20and%20hence%20works%20on%20commodity%20software.%20To%20demonstrate%20this%20idea%2C%20we%20have%20implemented%20TaintCheck%2C%20a%20mechanism%20that%20can%20perform%20dynamic%20taint%20analysis%20by%20performing%20binary%20rewriting%20at%20run%20time.%20We%20show%20that%20TaintCheck%20reliably%20detects%20most%20types%20of%20exploits.%20We%20found%20that%20TaintCheck%20produced%20no%20false%20positives%20for%20any%20of%20the%20many%20different%20programs%20that%20we%20tested.%20Further%2C%20we%20describe%20how%20Taint-Check%20could%20improve%20automatic%20signature%20generation%20in%20several%20ways.%201.%22%2C%22date%22%3A%22February%202005%22%2C%22proceedingsTitle%22%3A%22Network%20and%20Distributed%20System%20Security%20Symposium%22%2C%22conferenceName%22%3A%22NDSS%20Symposium%202005%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISBN%22%3A%22%22%2C%22url%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-11-19T17%3A12%3A52Z%22%7D%7D%2C%7B%22key%22%3A%227HPVWLCY%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22parsedDate%22%3A%222018-07-13%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EEffective%20File%20Format%20Fuzzing%20%26%23x2013%3B%20Thoughts%2C%20Techniques%20and%20Results%20%28Black%20Hat%20Europe%202016%29.%20%282018%2C%20July%2013%29.%20Retrieved%20November%201%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fj00ru.vexillium.org%5C%2Ftalks%5C%2Fblackhat-eu-effective-file-format-fuzzing-thoughts-techniques-and-results%5C%2F%27%3Ehttps%3A%5C%2F%5C%2Fj00ru.vexillium.org%5C%2Ftalks%5C%2Fblackhat-eu-effective-file-format-fuzzing-thoughts-techniques-and-results%5C%2F%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22blogPost%22%2C%22title%22%3A%22Effective%20File%20Format%20Fuzzing%20%5Cu2013%20Thoughts%2C%20Techniques%20and%20Results%20%28Black%20Hat%20Europe%202016%29%22%2C%22creators%22%3A%5B%5D%2C%22abstractNote%22%3A%22Information%20Language%3A%20English%20Conference%3A%20Black%20Hat%20Europe%20Location%3A%20London%2C%20United%20Kingdom%20Date%3A%20November%202016%20Speaker%28s%29%3A%20Mateusz%20%27j00ru%27%20Jurczyk%20Slides%20Download%3A%20Video%20Abstract%20Fuzzing%2C%20as%20a%20native%20software%20testing%20technique%2C%20is%20an%20extremely%20popular%20approach%20to%20vulnerability%20hunting%20in%20today%27s%20security%20field.%20The%20reasons%20are%20plenty%3A%20it%20is%20relatively%20easy%20to%20start%20with%2C%20features%20out-of-the-box%20tools%20which%20can%20be%20used%20with%20little%20to%20no%20development%2C%20only%20requires%20an%20initial%20time%20to%20set%20up%2C%20scales%20extremely%20well%2C%20and%20most%20importantly%20%5Cu2013%20often%20achieves%20good%20results%20against%20modern%20software.%20All%20of%20the%20qualities%20make%20fuzzing%20complementary%20to%20manual%20security%20reviews%2C%20if%20not%20replacing%20them%20altogether%20in%20some%20cases.%20However%2C%20fuzzing%20also%20follows%20Bushnell%27s%20law%2C%20as%20it%20is%20%5C%22easy%20to%20learn%2C%20but%20hard%20to%20master%5C%22.%20While%20it%20is%20trivial%20to%20flip%20bits%20in%20the%20input%20data%20and%20wait%20for%20programs%20to%20crash%2C%20it%20is%20similarly%20easy%20to%20forget%20that%20there%20is%20much%22%2C%22blogTitle%22%3A%22j00ru%5C%2F%5C%2Fvx%20tech%20blog%22%2C%22date%22%3A%222018-07-13T13%3A53%3A50Z%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fj00ru.vexillium.org%5C%2Ftalks%5C%2Fblackhat-eu-effective-file-format-fuzzing-thoughts-techniques-and-results%5C%2F%22%2C%22language%22%3A%22en-US%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-11-01T22%3A38%3A10Z%22%7D%7D%2C%7B%22key%22%3A%226UQPR5WK%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Zalewski%22%2C%22parsedDate%22%3A%222014-11-07%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EZalewski%2C%20M.%20%282014%2C%20November%207%29.%20Pulling%20JPEGs%20out%20of%20thin%20air.%20Retrieved%20November%201%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Flcamtuf.blogspot.com%5C%2F2014%5C%2F11%5C%2Fpulling-jpegs-out-of-thin-air.html%27%3Ehttps%3A%5C%2F%5C%2Flcamtuf.blogspot.com%5C%2F2014%5C%2F11%5C%2Fpulling-jpegs-out-of-thin-air.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22blogPost%22%2C%22title%22%3A%22Pulling%20JPEGs%20out%20of%20thin%20air%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Michael%22%2C%22lastName%22%3A%22Zalewski%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22blogTitle%22%3A%22lcamtuf%27s%20blog%22%2C%22date%22%3A%22November%2007%2C%202014%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Flcamtuf.blogspot.com%5C%2F2014%5C%2F11%5C%2Fpulling-jpegs-out-of-thin-air.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-11-01T14%3A12%3A21Z%22%7D%7D%2C%7B%22key%22%3A%22QGVDXZW5%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-787%3A%20Out-of-bounds%20Write%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F787.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F787.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-787%3A%20Out-of-bounds%20Write%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F787.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T19%3A42%3A42Z%22%7D%7D%2C%7B%22key%22%3A%22WPXE2CSB%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-200%3A%20Information%20Exposure%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F200.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F200.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-200%3A%20Information%20Exposure%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F200.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T19%3A00%3A13Z%22%7D%7D%2C%7B%22key%22%3A%22E5LC6KMW%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-369%3A%20Divide%20By%20Zero%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F369.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F369.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-369%3A%20Divide%20By%20Zero%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F369.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T18%3A59%3A13Z%22%7D%7D%2C%7B%22key%22%3A%22VL5KWCZY%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-401%3A%20Improper%20Release%20of%20Memory%20Before%20Removing%20Last%20Reference%20%28%27Memory%20Leak%26%23x2019%3B%29%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F401.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F401.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-401%3A%20Improper%20Release%20of%20Memory%20Before%20Removing%20Last%20Reference%20%28%27Memory%20Leak%27%29%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F401.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T18%3A59%3A06Z%22%7D%7D%2C%7B%22key%22%3A%22M4GEP87Q%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Lee%20et%20al.%22%2C%22parsedDate%22%3A%222009%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ELee%2C%20H.%2C%20Grosse%2C%20R.%2C%20Ranganath%2C%20R.%2C%20%26amp%3B%20Ng%2C%20A.%20Y.%20%282009%29.%20Convolutional%20Deep%20Belief%20Networks%20for%20Scalable%20Unsupervised%20Learning%20of%20Hierarchical%20Representations.%20In%20%3Ci%3EProceedings%20of%20the%2026th%20Annual%20International%20Conference%20on%20Machine%20Learning%3C%5C%2Fi%3E%20%28pp.%20609%26%23x2013%3B616%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1553374.1553453%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1553374.1553453%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Convolutional%20Deep%20Belief%20Networks%20for%20Scalable%20Unsupervised%20Learning%20of%20Hierarchical%20Representations%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Honglak%22%2C%22lastName%22%3A%22Lee%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Roger%22%2C%22lastName%22%3A%22Grosse%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Rajesh%22%2C%22lastName%22%3A%22Ranganath%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Andrew%20Y.%22%2C%22lastName%22%3A%22Ng%22%7D%5D%2C%22abstractNote%22%3A%22There%20has%20been%20much%20interest%20in%20unsupervised%20learning%20of%20hierarchical%20generative%20models%20such%20as%20deep%20belief%20networks.%20Scaling%20such%20models%20to%20full-sized%2C%20high-dimensional%20images%20remains%20a%20difficult%20problem.%20To%20address%20this%20problem%2C%20we%20present%20the%20convolutional%20deep%20belief%20network%2C%20a%20hierarchical%20generative%20model%20which%20scales%20to%20realistic%20image%20sizes.%20This%20model%20is%20translation-invariant%20and%20supports%20efficient%20bottom-up%20and%20top-down%20probabilistic%20inference.%20Key%20to%20our%20approach%20is%20probabilistic%20max-pooling%2C%20a%20novel%20technique%20which%20shrinks%20the%20representations%20of%20higher%20layers%20in%20a%20probabilistically%20sound%20way.%20Our%20experiments%20show%20that%20the%20algorithm%20learns%20useful%20high-level%20visual%20features%2C%20such%20as%20object%20parts%2C%20from%20unlabeled%20images%20of%20objects%20and%20natural%20scenes.%20We%20demonstrate%20excellent%20performance%20on%20several%20visual%20recognition%20tasks%20and%20show%20that%20our%20model%20can%20perform%20hierarchical%20%28bottom-up%20and%20top-down%29%20inference%20over%20full-sized%20images.%22%2C%22date%22%3A%222009%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2026th%20Annual%20International%20Conference%20on%20Machine%20Learning%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F1553374.1553453%22%2C%22ISBN%22%3A%22978-1-60558-516-1%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F1553374.1553453%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T17%3A06%3A16Z%22%7D%7D%2C%7B%22key%22%3A%228JCAMRY6%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Arjovsky%20et%20al.%22%2C%22parsedDate%22%3A%222017-01-26%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EArjovsky%2C%20M.%2C%20Chintala%2C%20S.%2C%20%26amp%3B%20Bottou%2C%20L.%20%282017%29.%20Wasserstein%20GAN.%20Retrieved%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1701.07875%27%3Ehttps%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1701.07875%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22Wasserstein%20GAN%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Martin%22%2C%22lastName%22%3A%22Arjovsky%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Soumith%22%2C%22lastName%22%3A%22Chintala%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22L%5Cu00e9on%22%2C%22lastName%22%3A%22Bottou%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%222017%5C%2F01%5C%2F26%22%2C%22language%22%3A%22en%22%2C%22DOI%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1701.07875%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T17%3A04%3A20Z%22%7D%7D%2C%7B%22key%22%3A%22JNRXEUCP%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Goodfellow%20et%20al.%22%2C%22parsedDate%22%3A%222014%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EGoodfellow%2C%20I.%20J.%2C%20Pouget-Abadie%2C%20J.%2C%20Mirza%2C%20M.%2C%20Xu%2C%20B.%2C%20Warde-Farley%2C%20D.%2C%20Ozair%2C%20S.%2C%20%26%23x2026%3B%20Bengio%2C%20Y.%20%282014%29.%20Generative%20Adversarial%20Nets.%20In%20%3Ci%3EProceedings%20of%20the%2027th%20International%20Conference%20on%20Neural%20Information%20Processing%20Systems%20-%20Volume%202%3C%5C%2Fi%3E%20%28pp.%202672%26%23x2013%3B2680%29.%20Cambridge%2C%20MA%2C%20USA%3A%20MIT%20Press.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D2969033.2969125%27%3Ehttp%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D2969033.2969125%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Generative%20Adversarial%20Nets%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Ian%20J.%22%2C%22lastName%22%3A%22Goodfellow%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Jean%22%2C%22lastName%22%3A%22Pouget-Abadie%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Mehdi%22%2C%22lastName%22%3A%22Mirza%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Bing%22%2C%22lastName%22%3A%22Xu%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22David%22%2C%22lastName%22%3A%22Warde-Farley%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Sherjil%22%2C%22lastName%22%3A%22Ozair%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Aaron%22%2C%22lastName%22%3A%22Courville%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Yoshua%22%2C%22lastName%22%3A%22Bengio%22%7D%5D%2C%22abstractNote%22%3A%22We%20propose%20a%20new%20framework%20for%20estimating%20generative%20models%20via%20an%20adversarial%20process%2C%20in%20which%20we%20simultaneously%20train%20two%20models%3A%20a%20generative%20model%20G%20that%20captures%20the%20data%20distribution%2C%20and%20a%20discriminative%20model%20D%20that%20estimates%20the%20probability%20that%20a%20sample%20came%20from%20the%20training%20data%20rather%20than%20G.%20The%20training%20procedure%20for%20G%20is%20to%20maximize%20the%20probability%20of%20D%20making%20a%20mistake.%20This%20framework%20corresponds%20to%20a%20minimax%20two-player%20game.%20In%20the%20space%20of%20arbitrary%20functions%20G%20and%20D%2C%20a%20unique%20solution%20exists%2C%20with%20G%20recovering%20the%20training%20data%20distribution%20and%20D%20equal%20to%20%5Cu00bd%20everywhere.%20In%20the%20case%20where%20G%20and%20D%20are%20defined%20by%20multilayer%20perceptrons%2C%20the%20entire%20system%20can%20be%20trained%20with%20backpropagation.%20There%20is%20no%20need%20for%20any%20Markov%20chains%20or%20unrolled%20approximate%20inference%20networks%20during%20either%20training%20or%20generation%20of%20samples.%20Experiments%20demonstrate%20the%20potential%20of%20the%20framework%20through%20qualitative%20and%20quantitative%20evaluation%20of%20the%20generated%20samples.%22%2C%22date%22%3A%222014%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2027th%20International%20Conference%20on%20Neural%20Information%20Processing%20Systems%20-%20Volume%202%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISBN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D2969033.2969125%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T17%3A02%3A19Z%22%7D%7D%2C%7B%22key%22%3A%22WYC9Q3ZJ%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Hu%20et%20al.%22%2C%22parsedDate%22%3A%222018%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EHu%2C%20Z.%2C%20Shi%2C%20J.%2C%20Huang%2C%20Y.%2C%20Xiong%2C%20J.%2C%20%26amp%3B%20Bu%2C%20X.%20%282018%29.%20GANFuzz%3A%20A%20GAN-based%20Industrial%20Network%20Protocol%20Fuzzing%20Framework.%20In%20%3Ci%3EProceedings%20of%20the%2015th%20ACM%20International%20Conference%20on%20Computing%20Frontiers%3C%5C%2Fi%3E%20%28pp.%20138%26%23x2013%3B145%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3203217.3203241%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3203217.3203241%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22GANFuzz%3A%20A%20GAN-based%20Industrial%20Network%20Protocol%20Fuzzing%20Framework%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Zhicheng%22%2C%22lastName%22%3A%22Hu%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Jianqi%22%2C%22lastName%22%3A%22Shi%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22YanHong%22%2C%22lastName%22%3A%22Huang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Jiawen%22%2C%22lastName%22%3A%22Xiong%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Xiangxing%22%2C%22lastName%22%3A%22Bu%22%7D%5D%2C%22abstractNote%22%3A%22In%20this%20paper%2C%20we%20attempt%20to%20improve%20industrial%20safety%20from%20the%20perspective%20of%20communication%20security.%20We%20leverage%20the%20protocol%20fuzzing%20technology%20to%20reveal%20errors%20and%20vulnerabilities%20inside%20implementations%20of%20industrial%20network%20protocols%28INPs%29.%20Traditionally%2C%20to%20effectively%20conduct%20protocol%20fuzzing%2C%20the%20test%20data%20has%20to%20be%20generated%20under%20the%20guidance%20of%20protocol%20grammar%2C%20which%20is%20built%20either%20by%20interpreting%20the%20protocol%20specifications%20or%20reverse%20engineering%20from%20network%20traces.%20In%20this%20study%2C%20we%20propose%20an%20automated%20test%20case%20generation%20method%2C%20in%20which%20the%20protocol%20grammar%20is%20learned%20by%20deep%20learning.%20Generative%20adversarial%20network%28GAN%29%20is%20employed%20to%20train%20a%20generative%20model%20over%20real-world%20protocol%20messages%20to%20enable%20us%20to%20learn%20the%20protocol%20grammar.%20Then%20we%20can%20use%20the%20trained%20generative%20model%20to%20produce%20fake%20but%20plausible%20messages%2C%20which%20are%20promising%20test%20cases.%20Based%20on%20this%20approach%2C%20we%20present%20an%20automatical%20and%20intelligent%20fuzzing%20framework%28GANFuzz%29%20for%20testing%20implementations%20of%20INPs.%20Compared%20to%20prior%20work%2C%20GANFuzz%20offers%20a%20new%20way%20for%20this%20problem.%20Moreover%2C%20GANFuzz%20does%20not%20rely%20on%20protocol%20specification%2C%20so%20that%20it%20can%20be%20applied%20to%20both%20public%20and%20proprietary%20protocols%2C%20which%20outperforms%20many%20previous%20frameworks.%20We%20use%20GANFuzz%20to%20test%20several%20simulators%20of%20the%20Modbus-TCP%20protocol%20and%20find%20some%20errors%20and%20vulnerabilities.%22%2C%22date%22%3A%222018%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2015th%20ACM%20International%20Conference%20on%20Computing%20Frontiers%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F3203217.3203241%22%2C%22ISBN%22%3A%22978-1-4503-5761-6%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F3203217.3203241%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T17%3A01%3A09Z%22%7D%7D%2C%7B%22key%22%3A%22W3RPKH4M%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22She%20et%20al.%22%2C%22parsedDate%22%3A%222018-07-15%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EShe%2C%20D.%2C%20Pei%2C%20K.%2C%20Epstein%2C%20D.%2C%20Yang%2C%20J.%2C%20Ray%2C%20B.%2C%20%26amp%3B%20Jana%2C%20S.%20%282018%29.%20NEUZZ%3A%20Efficient%20Fuzzing%20with%20Neural%20Program%20Learning.%20%3Ci%3EArXiv%3A1807.05620%20%5BCs%5D%3C%5C%2Fi%3E.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1807.05620%27%3Ehttp%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1807.05620%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22NEUZZ%3A%20Efficient%20Fuzzing%20with%20Neural%20Program%20Learning%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Dongdong%22%2C%22lastName%22%3A%22She%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Kexin%22%2C%22lastName%22%3A%22Pei%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Dave%22%2C%22lastName%22%3A%22Epstein%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Junfeng%22%2C%22lastName%22%3A%22Yang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Baishakhi%22%2C%22lastName%22%3A%22Ray%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Suman%22%2C%22lastName%22%3A%22Jana%22%7D%5D%2C%22abstractNote%22%3A%22Fuzzing%20has%20become%20the%20de%20facto%20standard%20technique%20for%20finding%20software%20vulnerabilities.%20However%2C%20even%20the%20state-of-the-art%20fuzzers%20are%20not%20very%20efficient%20at%20finding%20hard-to-trigger%20software%20bugs.%20Coverage-guided%20evolutionary%20fuzzers%2C%20while%20fast%20and%20scalable%2C%20often%20get%20stuck%20at%20fruitless%20sequences%20of%20random%20mutations.%20By%20contrast%2C%20more%20systematic%20techniques%20like%20symbolic%20and%20concolic%20execution%20incur%20significant%20performance%20overhead%20and%20struggle%20to%20scale%20to%20larger%20programs.%20We%20design%2C%20implement%2C%20and%20evaluate%20NEUZZ%2C%20an%20efficient%20fuzzer%20that%20guides%20the%20fuzzing%20input%20generation%20process%20using%20deep%20neural%20networks.%20NEUZZ%20efficiently%20learns%20a%20differentiable%20neural%20approximation%20of%20the%20target%20program%20logic.%20The%20differentiability%20of%20the%20surrogate%20neural%20program%2C%20unlike%20the%20original%20target%20program%2C%20allows%20us%20to%20use%20efficient%20optimization%20techniques%20like%20gradient%20descent%20to%20identify%20promising%20mutations%20that%20are%20more%20likely%20to%20trigger%20hard-to-reach%20code%20in%20the%20target%20program.%20We%20evaluate%20NEUZZ%20on%2010%20popular%20real-world%20programs%20and%20demonstrate%20that%20NEUZZ%20consistently%20outperforms%20AFL%2C%20a%20state-of-the-art%20evolutionary%20fuzzer%2C%20both%20at%20finding%20new%20bugs%20and%20achieving%20higher%20edge%20coverage.%20In%20total%2C%20NEUZZ%20found%2036%20previously%20unknown%20bugs%20that%20AFL%20failed%20to%20find%20and%20achieved%2C%20on%20average%2C%2070%20more%20edge%20coverage%20than%20AFL.%20Our%20results%20also%20demonstrate%20that%20NEUZZ%20can%20achieve%20average%209%20more%20edge%20coverage%20while%20taking%2016%20less%20training%20time%20than%20other%20learning-enabled%20fuzzers.%22%2C%22date%22%3A%222018-07-15%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1807.05620%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A59%3A53Z%22%7D%7D%2C%7B%22key%22%3A%225VDK8B49%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Lv%20et%20al.%22%2C%22parsedDate%22%3A%222018-07-06%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ELv%2C%20C.%2C%20Ji%2C%20S.%2C%20Li%2C%20Y.%2C%20Zhou%2C%20J.%2C%20Chen%2C%20J.%2C%20Zhou%2C%20P.%2C%20%26amp%3B%20Chen%2C%20J.%20%282018%29.%20SmartSeed%3A%20Smart%20Seed%20Generation%20for%20Efficient%20Fuzzing.%20%3Ci%3EArXiv%3A1807.02606%20%5BCs%5D%3C%5C%2Fi%3E.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1807.02606%27%3Ehttp%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1807.02606%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22SmartSeed%3A%20Smart%20Seed%20Generation%20for%20Efficient%20Fuzzing%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Chenyang%22%2C%22lastName%22%3A%22Lv%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Shouling%22%2C%22lastName%22%3A%22Ji%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Yuwei%22%2C%22lastName%22%3A%22Li%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Junfeng%22%2C%22lastName%22%3A%22Zhou%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Jianhai%22%2C%22lastName%22%3A%22Chen%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Pan%22%2C%22lastName%22%3A%22Zhou%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Jing%22%2C%22lastName%22%3A%22Chen%22%7D%5D%2C%22abstractNote%22%3A%22Fuzzing%20is%20an%20automated%20application%20vulnerability%20detection%20method.%20For%20genetic%20algorithm-based%20fuzzing%2C%20it%20can%20mutate%20the%20seed%20files%20provided%20by%20users%20to%20obtain%20a%20number%20of%20inputs%2C%20which%20are%20then%20used%20to%20test%20the%20objective%20application%20in%20order%20to%20trigger%20potential%20crashes.%20As%20shown%20in%20existing%20literature%2C%20the%20seed%20file%20selection%20is%20crucial%20for%20the%20efficiency%20of%20fuzzing.%20However%2C%20current%20seed%20selection%20strategies%20do%20not%20seem%20to%20be%20better%20than%20randomly%20picking%20seed%20files.%20Therefore%2C%20in%20this%20paper%2C%20we%20propose%20a%20novel%20and%20generic%20system%2C%20named%20SmartSeed%2C%20to%20generate%20seed%20files%20towards%20efficient%20fuzzing.%20Specifically%2C%20SmartSeed%20is%20designed%20based%20on%20a%20machine%20learning%20model%20to%20learn%20and%20generate%20high-value%20binary%20seeds.%20We%20evaluate%20SmartSeed%20along%20with%20American%20Fuzzy%20Lop%20%28AFL%29%20on%2012%20open-source%20applications%20with%20the%20input%20formats%20of%20mp3%2C%20bmp%20or%20flv.%20We%20also%20combine%20SmartSeed%20with%20different%20fuzzing%20tools%20to%20examine%20its%20compatibility.%20From%20extensive%20experiments%2C%20we%20find%20that%20SmartSeed%20has%20the%20following%20advantages%3A%20First%2C%20it%20only%20requires%20tens%20of%20seconds%20to%20generate%20sufficient%20high-value%20seeds.%20Second%2C%20it%20can%20generate%20seeds%20with%20multiple%20kinds%20of%20input%20formats%20and%20significantly%20improves%20the%20fuzzing%20performance%20for%20most%20applications%20with%20the%20same%20input%20format.%20Third%2C%20SmartSeed%20is%20compatible%20to%20different%20fuzzing%20tools.%20In%20total%2C%20our%20system%20discovers%20more%20than%20twice%20unique%20crashes%20and%205%2C040%20extra%20unique%20paths%20than%20the%20existing%20best%20seed%20selection%20strategy%20for%20the%20evaluated%2012%20applications.%20From%20the%20crashes%20found%20by%20SmartSeed%2C%20we%20discover%2016%20new%20vulnerabilities%20and%20have%20received%20their%20CVE%20IDs.%22%2C%22date%22%3A%222018-07-06%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1807.02606%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A58%3A52Z%22%7D%7D%2C%7B%22key%22%3A%22WGFJ36MG%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Nichols%20et%20al.%22%2C%22parsedDate%22%3A%222017-11-07%22%2C%22numChildren%22%3A2%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ENichols%2C%20N.%2C%20Raugas%2C%20M.%2C%20Jasper%2C%20R.%2C%20%26amp%3B%20Hilliard%2C%20N.%20%282017%29.%20Faster%20Fuzzing%3A%20Reinitialization%20with%20Deep%20Neural%20Models.%20%3Ci%3EArXiv%3A1711.02807%20%5BCs%5D%3C%5C%2Fi%3E.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1711.02807%27%3Ehttp%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1711.02807%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22Faster%20Fuzzing%3A%20Reinitialization%20with%20Deep%20Neural%20Models%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Nicole%22%2C%22lastName%22%3A%22Nichols%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Mark%22%2C%22lastName%22%3A%22Raugas%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Robert%22%2C%22lastName%22%3A%22Jasper%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Nathan%22%2C%22lastName%22%3A%22Hilliard%22%7D%5D%2C%22abstractNote%22%3A%22We%20improve%20the%20performance%20of%20the%20American%20Fuzzy%20Lop%20%28AFL%29%20fuzz%20testing%20framework%20by%20using%20Generative%20Adversarial%20Network%20%28GAN%29%20models%20to%20reinitialize%20the%20system%20with%20novel%20seed%20files.%20We%20assess%20performance%20based%20on%20the%20temporal%20rate%20at%20which%20we%20produce%20novel%20and%20unseen%20code%20paths.%20We%20compare%20this%20approach%20to%20seed%20file%20generation%20from%20a%20random%20draw%20of%20bytes%20observed%20in%20the%20training%20seed%20files.%20The%20code%20path%20lengths%20and%20variations%20were%20not%20sufficiently%20diverse%20to%20fully%20replace%20AFL%20input%20generation.%20However%2C%20augmenting%20native%20AFL%20with%20these%20additional%20code%20paths%20demonstrated%20improvements%20over%20AFL%20alone.%20Specifically%2C%20experiments%20showed%20the%20GAN%20was%20faster%20and%20more%20effective%20than%20the%20LSTM%20and%20out-performed%20a%20random%20augmentation%20strategy%2C%20as%20measured%20by%20the%20number%20of%20unique%20code%20paths%20discovered.%20GAN%20helps%20AFL%20discover%2014.23%25%20more%20code%20paths%20than%20the%20random%20strategy%20in%20the%20same%20amount%20of%20CPU%20time%2C%20finds%206.16%25%20more%20unique%20code%20paths%2C%20and%20finds%20paths%20that%20are%20on%20average%2013.84%25%20longer.%20Using%20GAN%20shows%20promise%20as%20a%20reinitialization%20strategy%20for%20AFL%20to%20help%20the%20fuzzer%20exercise%20deep%20paths%20in%20software.%22%2C%22date%22%3A%222017-11-07%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1711.02807%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A56%3A15Z%22%7D%7D%2C%7B%22key%22%3A%22YDS6NAGE%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-476%3A%20NULL%20Pointer%20Dereference%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F476.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F476.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-476%3A%20NULL%20Pointer%20Dereference%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F476.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A12%3A30Z%22%7D%7D%2C%7B%22key%22%3A%22WKX8ZK2B%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-416%3A%20Use%20After%20Free%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F416.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F416.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-416%3A%20Use%20After%20Free%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F416.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A12%3A26Z%22%7D%7D%2C%7B%22key%22%3A%22DWP4JZZF%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-415%3A%20Double%20Free%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F415.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F415.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-415%3A%20Double%20Free%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F415.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A12%3A22Z%22%7D%7D%2C%7B%22key%22%3A%22XKJARMWQ%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-288%3A%20Authentication%20Bypass%20Using%20an%20Alternate%20Path%20or%20Channel%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F288.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F288.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-288%3A%20Authentication%20Bypass%20Using%20an%20Alternate%20Path%20or%20Channel%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F288.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A12%3A14Z%22%7D%7D%2C%7B%22key%22%3A%22FP4LA4EB%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-190%3A%20Integer%20Overflow%20or%20Wraparound%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F190.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F190.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-190%3A%20Integer%20Overflow%20or%20Wraparound%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F190.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A12%3A10Z%22%7D%7D%2C%7B%22key%22%3A%22CS6IMKGG%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-134%3A%20Use%20of%20Externally-Controlled%20Format%20String%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F134.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F134.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-134%3A%20Use%20of%20Externally-Controlled%20Format%20String%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F134.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A12%3A05Z%22%7D%7D%2C%7B%22key%22%3A%22WJNDS95P%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-122%3A%20Heap-based%20Buffer%20Overflow%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F122.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F122.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-122%3A%20Heap-based%20Buffer%20Overflow%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F122.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A11%3A57Z%22%7D%7D%2C%7B%22key%22%3A%22FRA2JLCQ%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-125%3A%20Out-of-bounds%20Read%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F125.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F125.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-125%3A%20Out-of-bounds%20Read%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F125.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A11%3A51Z%22%7D%7D%2C%7B%22key%22%3A%22BV7PJDMG%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mitre%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMitre%2C%20C.%20%28n.d.%29.%20CWE%20-%20CWE-121%3A%20Stack-based%20Buffer%20Overflow%20%283.1%29.%20Retrieved%20October%2031%2C%202018%2C%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F121.html%27%3Ehttps%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F121.html%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22webpage%22%2C%22title%22%3A%22CWE%20-%20CWE-121%3A%20Stack-based%20Buffer%20Overflow%20%283.1%29%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22CWE%22%2C%22lastName%22%3A%22Mitre%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fcwe.mitre.org%5C%2Fdata%5C%2Fdefinitions%5C%2F121.html%22%2C%22language%22%3A%22%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T16%3A11%3A13Z%22%7D%7D%2C%7B%22key%22%3A%22DFCSCCC2%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Cho%20et%20al.%22%2C%22parsedDate%22%3A%222014-06-03%22%2C%22numChildren%22%3A3%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ECho%2C%20K.%2C%20van%20Merrienboer%2C%20B.%2C%20Gulcehre%2C%20C.%2C%20Bahdanau%2C%20D.%2C%20Bougares%2C%20F.%2C%20Schwenk%2C%20H.%2C%20%26amp%3B%20Bengio%2C%20Y.%20%282014%29.%20Learning%20Phrase%20Representations%20using%20RNN%20Encoder-Decoder%20for%20Statistical%20Machine%20Translation.%20%3Ci%3EArXiv%3A1406.1078%20%5BCs%2C%20Stat%5D%3C%5C%2Fi%3E.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1406.1078%27%3Ehttp%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1406.1078%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22Learning%20Phrase%20Representations%20using%20RNN%20Encoder-Decoder%20for%20Statistical%20Machine%20Translation%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Kyunghyun%22%2C%22lastName%22%3A%22Cho%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Bart%22%2C%22lastName%22%3A%22van%20Merrienboer%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Caglar%22%2C%22lastName%22%3A%22Gulcehre%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Dzmitry%22%2C%22lastName%22%3A%22Bahdanau%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Fethi%22%2C%22lastName%22%3A%22Bougares%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Holger%22%2C%22lastName%22%3A%22Schwenk%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Yoshua%22%2C%22lastName%22%3A%22Bengio%22%7D%5D%2C%22abstractNote%22%3A%22In%20this%20paper%2C%20we%20propose%20a%20novel%20neural%20network%20model%20called%20RNN%20Encoder-Decoder%20that%20consists%20of%20two%20recurrent%20neural%20networks%20%28RNN%29.%20One%20RNN%20encodes%20a%20sequence%20of%20symbols%20into%20a%20fixed-length%20vector%20representation%2C%20and%20the%20other%20decodes%20the%20representation%20into%20another%20sequence%20of%20symbols.%20The%20encoder%20and%20decoder%20of%20the%20proposed%20model%20are%20jointly%20trained%20to%20maximize%20the%20conditional%20probability%20of%20a%20target%20sequence%20given%20a%20source%20sequence.%20The%20performance%20of%20a%20statistical%20machine%20translation%20system%20is%20empirically%20found%20to%20improve%20by%20using%20the%20conditional%20probabilities%20of%20phrase%20pairs%20computed%20by%20the%20RNN%20Encoder-Decoder%20as%20an%20additional%20feature%20in%20the%20existing%20log-linear%20model.%20Qualitatively%2C%20we%20show%20that%20the%20proposed%20model%20learns%20a%20semantically%20and%20syntactically%20meaningful%20representation%20of%20linguistic%20phrases.%22%2C%22date%22%3A%222014-06-03%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Farxiv.org%5C%2Fabs%5C%2F1406.1078%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T14%3A57%3A58Z%22%7D%7D%2C%7B%22key%22%3A%22RRW7DXZT%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Hochreiter%20and%20Schmidhuber%22%2C%22parsedDate%22%3A%221997-11%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EHochreiter%2C%20S.%2C%20%26amp%3B%20Schmidhuber%2C%20J.%20%281997%29.%20Long%20Short-term%20Memory.%20%3Ci%3ENeural%20Comput.%3C%5C%2Fi%3E%2C%20%3Ci%3E9%3C%5C%2Fi%3E%289%29%2C%201735%26%23x2013%3B1780.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1162%5C%2Fneco.1997.9.8.1735%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1162%5C%2Fneco.1997.9.8.1735%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22Long%20Short-term%20Memory%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Sepp%22%2C%22lastName%22%3A%22Hochreiter%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22J%5Cu00fcrgen%22%2C%22lastName%22%3A%22Schmidhuber%22%7D%5D%2C%22abstractNote%22%3A%22An%20abstract%20is%20not%20available.%22%2C%22date%22%3A%22November%201997%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1162%5C%2Fneco.1997.9.8.1735%22%2C%22ISSN%22%3A%220899-7667%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdx.doi.org%5C%2F10.1162%5C%2Fneco.1997.9.8.1735%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T14%3A45%3A30Z%22%7D%7D%2C%7B%22key%22%3A%22XXQ6JMG4%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Systems%22%2C%22parsedDate%22%3A%222006-11%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ESystems%2C%20A.%20%282006%2C%20November%29.%20PDF%20Reference%3A%20Adobe%20portable%20document%20format.%20Version%201.7.%20Retrieved%20from%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fwww.adobe.com%5C%2Fcontent%5C%2Fdam%5C%2Facom%5C%2Fen%5C%2Fdevnet%5C%2Facrobat%5C%2Fpdfs%5C%2Fpdf_reference_1-7.pdf%27%3Ehttps%3A%5C%2F%5C%2Fwww.adobe.com%5C%2Fcontent%5C%2Fdam%5C%2Facom%5C%2Fen%5C%2Fdevnet%5C%2Facrobat%5C%2Fpdfs%5C%2Fpdf_reference_1-7.pdf%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22document%22%2C%22title%22%3A%22PDF%20Reference%3A%20Adobe%20portable%20document%20format.%20Version%201.7%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Adobe%22%2C%22lastName%22%3A%22Systems%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%22November%202006%22%2C%22language%22%3A%22English%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fwww.adobe.com%5C%2Fcontent%5C%2Fdam%5C%2Facom%5C%2Fen%5C%2Fdevnet%5C%2Facrobat%5C%2Fpdfs%5C%2Fpdf_reference_1-7.pdf%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T14%3A31%3A40Z%22%7D%7D%2C%7B%22key%22%3A%2246VNK3TD%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Godefroid%20et%20al.%22%2C%22parsedDate%22%3A%222008%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EGodefroid%2C%20P.%2C%20Kiezun%2C%20A.%2C%20%26amp%3B%20Levin%2C%20M.%20Y.%20%282008%29.%20Grammar-based%20Whitebox%20Fuzzing.%20In%20%3Ci%3EProceedings%20of%20the%2029th%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20and%20Implementation%3C%5C%2Fi%3E%20%28pp.%20206%26%23x2013%3B215%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1375581.1375607%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1375581.1375607%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Grammar-based%20Whitebox%20Fuzzing%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Patrice%22%2C%22lastName%22%3A%22Godefroid%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Adam%22%2C%22lastName%22%3A%22Kiezun%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Michael%20Y.%22%2C%22lastName%22%3A%22Levin%22%7D%5D%2C%22abstractNote%22%3A%22Whitebox%20fuzzing%20is%20a%20form%20of%20automatic%20dynamic%20test%20generation%2C%20based%20on%20symbolic%20execution%20and%20constraint%20solving%2C%20designed%20for%20security%20testing%20of%20large%20applications.%20Unfortunately%2C%20the%20current%20effectiveness%20of%20whitebox%20fuzzing%20is%20limited%20when%20testing%20applications%20with%20highly-structured%20inputs%2C%20such%20as%20compilers%20and%20interpreters.%20These%20applications%20process%20their%20inputs%20in%20stages%2C%20such%20as%20lexing%2C%20parsing%20and%20evaluation.%20Due%20to%20the%20enormous%20number%20of%20control%20paths%20in%20early%20processing%20stages%2C%20whitebox%20fuzzing%20rarely%20reaches%20parts%20of%20the%20application%20beyond%20those%20first%20stages.%20In%20this%20paper%2C%20we%20study%20how%20to%20enhance%20whitebox%20fuzzing%20of%20complex%20structured-input%20applications%20with%20a%20grammar-based%20specification%20of%20their%20valid%20inputs.%20We%20present%20a%20novel%20dynamic%20test%20generation%20algorithm%20where%20symbolic%20execution%20directly%20generates%20grammar-based%20constraints%20whose%20satisfiability%20is%20checked%20using%20a%20custom%20grammar-based%20constraint%20solver.%20We%20have%20implemented%20this%20algorithm%20and%20evaluated%20it%20on%20a%20large%20security-critical%20application%2C%20the%20JavaScript%20interpreter%20of%20Internet%20Explorer%207%20%28IE7%29.%20Results%20of%20our%20experiments%20show%20that%20grammar-based%20whitebox%20fuzzing%20explores%20deeper%20program%20paths%20and%20avoids%20dead-ends%20due%20to%20non-parsable%20inputs.%20Compared%20to%20regular%20whitebox%20fuzzing%2C%20grammar-based%20whitebox%20fuzzing%20increased%20coverage%20of%20the%20code%20generation%20module%20of%20the%20IE7%20JavaScript%20interpreter%20from%2053%25%20to%2081%25%20while%20using%20three%20times%20fewer%20tests.%22%2C%22date%22%3A%222008%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2029th%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20and%20Implementation%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F1375581.1375607%22%2C%22ISBN%22%3A%22978-1-59593-860-2%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F1375581.1375607%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-31T14%3A29%3A07Z%22%7D%7D%2C%7B%22key%22%3A%22FL59LR6G%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Zhang%20et%20al.%22%2C%22parsedDate%22%3A%222017%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EZhang%2C%20B.%2C%20Ye%2C%20J.%2C%20Feng%2C%20C.%2C%20%26amp%3B%20Tang%2C%20C.%20%282017%29.%20S2F%3A%20Discover%20Hard-to-Reach%20Vulnerabilities%20by%20Semi-Symbolic%20Fuzz%20Testing.%20In%20%3Ci%3E2017%2013th%20International%20Conference%20on%20Computational%20Intelligence%20and%20Security%20%28CIS%29%3C%5C%2Fi%3E%20%28pp.%20548%26%23x2013%3B552%29.%20Hong%20Kong%3A%20IEEE.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FCIS.2017.00127%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FCIS.2017.00127%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22S2F%3A%20Discover%20Hard-to-Reach%20Vulnerabilities%20by%20Semi-Symbolic%20Fuzz%20Testing%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Bin%22%2C%22lastName%22%3A%22Zhang%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Jiaxi%22%2C%22lastName%22%3A%22Ye%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Chao%22%2C%22lastName%22%3A%22Feng%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Chaojing%22%2C%22lastName%22%3A%22Tang%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%2212%5C%2F2017%22%2C%22proceedingsTitle%22%3A%222017%2013th%20International%20Conference%20on%20Computational%20Intelligence%20and%20Security%20%28CIS%29%22%2C%22conferenceName%22%3A%222017%2013th%20International%20Conference%20on%20Computational%20Intelligence%20and%20Security%20%28CIS%29%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1109%5C%2FCIS.2017.00127%22%2C%22ISBN%22%3A%22978-1-5386-4822-3%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fieeexplore.ieee.org%5C%2Fdocument%5C%2F8288549%5C%2F%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T18%3A16%3A04Z%22%7D%7D%2C%7B%22key%22%3A%22ZHK5HTP8%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Xu%20et%20al.%22%2C%22parsedDate%22%3A%222017%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EXu%2C%20W.%2C%20Kashyap%2C%20S.%2C%20Min%2C%20C.%2C%20%26amp%3B%20Kim%2C%20T.%20%282017%29.%20Designing%20New%20Operating%20Primitives%20to%20Improve%20Fuzzing%20Performance.%20In%20%3Ci%3EProceedings%20of%20the%202017%20ACM%20SIGSAC%20Conference%20on%20Computer%20and%20Communications%20Security%3C%5C%2Fi%3E%20%28pp.%202313%26%23x2013%3B2328%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3133956.3134046%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3133956.3134046%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Designing%20New%20Operating%20Primitives%20to%20Improve%20Fuzzing%20Performance%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Wen%22%2C%22lastName%22%3A%22Xu%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Sanidhya%22%2C%22lastName%22%3A%22Kashyap%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Changwoo%22%2C%22lastName%22%3A%22Min%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Taesoo%22%2C%22lastName%22%3A%22Kim%22%7D%5D%2C%22abstractNote%22%3A%22Fuzzing%20is%20a%20software%20testing%20technique%20that%20finds%20bugs%20by%20repeatedly%20injecting%20mutated%20inputs%20to%20a%20target%20program.%20Known%20to%20be%20a%20highly%20practical%20approach%2C%20fuzzing%20is%20gaining%20more%20popularity%20than%20ever%20before.%20Current%20research%20on%20fuzzing%20has%20focused%20on%20producing%20an%20input%20that%20is%20more%20likely%20to%20trigger%20a%20vulnerability.%20In%20this%20paper%2C%20we%20tackle%20another%20way%20to%20improve%20the%20performance%20of%20fuzzing%2C%20which%20is%20to%20shorten%20the%20execution%20time%20of%20each%20iteration.%20We%20observe%20that%20AFL%2C%20a%20state-of-the-art%20fuzzer%2C%20slows%20down%20by%2024x%20because%20of%20file%20system%20contention%20and%20the%20scalability%20of%20fork%28%29%20system%20call%20when%20it%20runs%20on%20120%20cores%20in%20parallel.%20Other%20fuzzers%20are%20expected%20to%20suffer%20from%20the%20same%20scalability%20bottlenecks%20in%20that%20they%20follow%20a%20similar%20design%20pattern.%20To%20improve%20the%20fuzzing%20performance%2C%20we%20design%20and%20implement%20three%20new%20operating%20primitives%20specialized%20for%20fuzzing%20that%20solve%20these%20performance%20bottlenecks%20and%20achieve%20scalable%20performance%20on%20multi-core%20machines.%20Our%20experiment%20shows%20that%20the%20proposed%20primitives%20speed%20up%20AFL%20and%20LibFuzzer%20by%206.1%20to%2028.9x%20and%201.1%20to%20735.7x%2C%20respectively%2C%20on%20the%20overall%20number%20of%20executions%20per%20second%20when%20targeting%20Google%27s%20fuzzer%20test%20suite%20with%20120%20cores.%20In%20addition%2C%20the%20primitives%20improve%20AFL%27s%20throughput%20up%20to%207.7x%20with%2030%20cores%2C%20which%20is%20a%20more%20common%20setting%20in%20data%20centers.%20Our%20fuzzer-agnostic%20primitives%20can%20be%20easily%20applied%20to%20any%20fuzzer%20with%20fundamental%20performance%20improvement%20and%20directly%20benefit%20large-scale%20fuzzing%20and%20cloud-based%20fuzzing%20services.%22%2C%22date%22%3A%222017%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%202017%20ACM%20SIGSAC%20Conference%20on%20Computer%20and%20Communications%20Security%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F3133956.3134046%22%2C%22ISBN%22%3A%22978-1-4503-4946-8%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F3133956.3134046%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T18%3A09%3A42Z%22%7D%7D%2C%7B%22key%22%3A%2222UVDSTN%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Han%20and%20Cha%22%2C%22parsedDate%22%3A%222017%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EHan%2C%20H.%2C%20%26amp%3B%20Cha%2C%20S.%20K.%20%282017%29.%20IMF%3A%20Inferred%20Model-based%20Fuzzer.%20In%20%3Ci%3EProceedings%20of%20the%202017%20ACM%20SIGSAC%20Conference%20on%20Computer%20and%20Communications%20Security%3C%5C%2Fi%3E%20%28pp.%202345%26%23x2013%3B2358%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3133956.3134103%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F3133956.3134103%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22IMF%3A%20Inferred%20Model-based%20Fuzzer%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22HyungSeok%22%2C%22lastName%22%3A%22Han%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Sang%20Kil%22%2C%22lastName%22%3A%22Cha%22%7D%5D%2C%22abstractNote%22%3A%22Kernel%20vulnerabilities%20are%20critical%20in%20security%20because%20they%20naturally%20allow%20attackers%20to%20gain%20unprivileged%20root%20access.%20Although%20there%20has%20been%20much%20research%20on%20finding%20kernel%20vulnerabilities%20from%20source%20code%2C%20there%20are%20relatively%20few%20research%20on%20kernel%20fuzzing%2C%20which%20is%20a%20practical%20bug%20finding%20technique%20that%20does%20not%20require%20any%20source%20code.%20Existing%20kernel%20fuzzing%20techniques%20involve%20feeding%20in%20random%20input%20values%20to%20kernel%20API%20functions.%20However%2C%20such%20a%20simple%20approach%20does%20not%20reveal%20latent%20bugs%20deep%20in%20the%20kernel%20code%2C%20because%20many%20API%20functions%20are%20dependent%20on%20each%20other%2C%20and%20they%20can%20quickly%20reject%20arbitrary%20parameter%20values%20based%20on%20their%20calling%20context.%20In%20this%20paper%2C%20we%20propose%20a%20novel%20fuzzing%20technique%20for%20commodity%20OS%20kernels%20that%20leverages%20inferred%20dependence%20model%20between%20API%20function%20calls%20to%20discover%20deep%20kernel%20bugs.%20We%20implement%20our%20technique%20on%20a%20fuzzing%20system%2C%20called%20IMF.%20IMF%20has%20already%20found%2032%20previously%20unknown%20kernel%20vulnerabilities%20on%20the%20latest%20macOS%20version%2010.12.3%20%2816D32%29%20at%20the%20time%20of%20this%20writing.%22%2C%22date%22%3A%222017%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%202017%20ACM%20SIGSAC%20Conference%20on%20Computer%20and%20Communications%20Security%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F3133956.3134103%22%2C%22ISBN%22%3A%22978-1-4503-4946-8%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F3133956.3134103%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T18%3A07%3A11Z%22%7D%7D%2C%7B%22key%22%3A%22UT5IZXSR%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Sim%20et%20al.%22%2C%22parsedDate%22%3A%222011%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3ESim%2C%20K.%20Y.%2C%20Kuo%2C%20F.-C.%2C%20%26amp%3B%20Merkel%2C%20R.%20%282011%29.%20Fuzzing%20the%20Out-of-memory%20Killer%20on%20Embedded%20Linux%3A%20An%20Adaptive%20Random%20Approach.%20In%20%3Ci%3EProceedings%20of%20the%202011%20ACM%20Symposium%20on%20Applied%20Computing%3C%5C%2Fi%3E%20%28pp.%20387%26%23x2013%3B392%29.%20New%20York%2C%20NY%2C%20USA%3A%20ACM.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1982185.1982268%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1145%5C%2F1982185.1982268%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Fuzzing%20the%20Out-of-memory%20Killer%20on%20Embedded%20Linux%3A%20An%20Adaptive%20Random%20Approach%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22K.%20Y.%22%2C%22lastName%22%3A%22Sim%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22F.-C.%22%2C%22lastName%22%3A%22Kuo%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22R.%22%2C%22lastName%22%3A%22Merkel%22%7D%5D%2C%22abstractNote%22%3A%22Fuzzing%20is%20an%20automated%20black-box%20testing%20technique%20conducted%20with%20a%20destructive%20aim%20to%20crash%20%28that%20is%2C%20to%20reveal%20failures%20in%29%20the%20software%20under%20test.%20In%20this%20paper%2C%20we%20propose%20an%20adaptive%20random%20approach%20to%20fuzz%20the%20Out-Of-Memory%20%28OOM%29%20Killer%20on%20an%20embedded%20Linux%20distribution.%20The%20fuzzing%20process%20has%20revealed%20OOM%20Killer%20failures%20that%20cause%20the%20Linux%20kernel%20to%20remain%20in%20the%20OOM%20condition%20and%20become%20non-responsive.%20We%20have%20also%20found%20that%20the%20OOM%20Killer%20failures%20are%20more%20likely%20to%20occur%20when%20the%20Linux%20kernel%20has%20a%20higher%20over-commitment%20of%20memory%20requests.%20Finally%2C%20we%20have%20shown%20that%20the%20proposed%20adaptive%20random%20approach%20for%20fuzzing%20can%20reveal%20an%20OOM%20Killer%20failure%20with%20significantly%20fewer%20test%20inputs%20compared%20to%20the%20pure%20random%20approach.%22%2C%22date%22%3A%222011%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%202011%20ACM%20Symposium%20on%20Applied%20Computing%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1145%5C%2F1982185.1982268%22%2C%22ISBN%22%3A%22978-1-4503-0113-8%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdoi.acm.org%5C%2F10.1145%5C%2F1982185.1982268%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T18%3A03%3A26Z%22%7D%7D%2C%7B%22key%22%3A%229LVVR5XW%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Mendon%5Cu00e7a%20and%20Neves%22%2C%22parsedDate%22%3A%222008%22%2C%22numChildren%22%3A1%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EMendon%26%23xE7%3Ba%2C%20M.%2C%20%26amp%3B%20Neves%2C%20N.%20%282008%29.%20Fuzzing%20Wi-Fi%20Drivers%20to%20Locate%20Security%20Vulnerabilities.%20In%20%3Ci%3E2008%20Seventh%20European%20Dependable%20Computing%20Conference%3C%5C%2Fi%3E%20%28pp.%20110%26%23x2013%3B119%29.%20Kaunas%2C%20Lithuania%3A%20IEEE.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FEDCC-7.2008.22%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1109%5C%2FEDCC-7.2008.22%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Fuzzing%20Wi-Fi%20Drivers%20to%20Locate%20Security%20Vulnerabilities%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Manuel%22%2C%22lastName%22%3A%22Mendon%5Cu00e7a%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Nuno%22%2C%22lastName%22%3A%22Neves%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%2205%5C%2F2008%22%2C%22proceedingsTitle%22%3A%222008%20Seventh%20European%20Dependable%20Computing%20Conference%22%2C%22conferenceName%22%3A%222008%20Seventh%20European%20Dependable%20Computing%20Conference%20EDCC%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1109%5C%2FEDCC-7.2008.22%22%2C%22ISBN%22%3A%22978-0-7695-3138-0%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fieeexplore.ieee.org%5C%2Fdocument%5C%2F4555996%5C%2F%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T17%3A54%3A33Z%22%7D%7D%2C%7B%22key%22%3A%226PB6TA9M%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Hodov%5Cu00e1n%20and%20Kiss%22%2C%22parsedDate%22%3A%222016%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EHodov%26%23xE1%3Bn%2C%20R.%2C%20%26amp%3B%20Kiss%2C%20%26%23xC1%3B.%20%282016%29.%20Fuzzing%20JavaScript%20Engine%20APIs.%20In%20%3Ci%3EProceedings%20of%20the%2012th%20International%20Conference%20on%20Integrated%20Formal%20Methods%20-%20Volume%209681%3C%5C%2Fi%3E%20%28pp.%20425%26%23x2013%3B438%29.%20Berlin%2C%20Heidelberg%3A%20Springer-Verlag.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1007%5C%2F978-3-319-33693-0_27%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1007%5C%2F978-3-319-33693-0_27%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Fuzzing%20JavaScript%20Engine%20APIs%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Ren%5Cu00e1ta%22%2C%22lastName%22%3A%22Hodov%5Cu00e1n%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22%5Cu00c1kos%22%2C%22lastName%22%3A%22Kiss%22%7D%5D%2C%22abstractNote%22%3A%22JavaScript%20is%20one%20of%20the%20most%20wide-spread%20programming%20languages%3A%20it%20drives%20the%20web%20applications%20in%20browsers%2C%20it%20runs%20on%20server%20side%2C%20and%20it%20gets%20to%20the%20embedded%20world%20as%20well.%20Because%20of%20its%20prevalence%2C%20ensuring%20the%20correctness%20of%20its%20execution%20engines%20is%20highly%20important.%20One%20of%20the%20hardest%20parts%20to%20test%20in%20an%20execution%20environment%20is%20the%20API%20exposed%20by%20the%20engine.%20Thus%2C%20we%20focus%20on%20fuzz%20testing%20of%20JavaScript%20engine%20APIs%20in%20this%20paper.%20We%20formally%20define%20a%20graph%20representation%20that%20is%20suited%20to%20describe%20type%20information%20in%20an%20engine%2C%20explain%20how%20to%20build%20such%20graphs%2C%20and%20describe%20how%20to%20use%20them%20for%20API%20fuzz%20testing.%20Our%20experimental%20evaluation%20of%20the%20techniques%20on%20a%20real-life%20in-use%20JavaScript%20engine%20shows%20that%20the%20introduced%20approach%20gives%20better%20coverage%20than%20available%20existing%20fuzzing%20techniques%20and%20could%20also%20find%20valid%20issues%20in%20the%20tested%20system.%22%2C%22date%22%3A%222016%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2012th%20International%20Conference%20on%20Integrated%20Formal%20Methods%20-%20Volume%209681%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1007%5C%2F978-3-319-33693-0_27%22%2C%22ISBN%22%3A%22978-3-319-33692-3%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1007%5C%2F978-3-319-33693-0_27%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T17%3A28%3A57Z%22%7D%7D%2C%7B%22key%22%3A%22SICEF3IT%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Godefroid%20et%20al.%22%2C%22parsedDate%22%3A%222017%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EGodefroid%2C%20P.%2C%20Peleg%2C%20H.%2C%20%26amp%3B%20Singh%2C%20R.%20%282017%29.%20Learn%26amp%3BFuzz%3A%20Machine%20Learning%20for%20Input%20Fuzzing.%20In%20%3Ci%3EProceedings%20of%20the%2032Nd%20IEEE%5C%2FACM%20International%20Conference%20on%20Automated%20Software%20Engineering%3C%5C%2Fi%3E%20%28pp.%2050%26%23x2013%3B59%29.%20Piscataway%2C%20NJ%2C%20USA%3A%20IEEE%20Press.%20Retrieved%20from%20%3Ca%20href%3D%27http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D3155562.3155573%27%3Ehttp%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D3155562.3155573%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22conferencePaper%22%2C%22title%22%3A%22Learn%26Fuzz%3A%20Machine%20Learning%20for%20Input%20Fuzzing%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Patrice%22%2C%22lastName%22%3A%22Godefroid%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Hila%22%2C%22lastName%22%3A%22Peleg%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Rishabh%22%2C%22lastName%22%3A%22Singh%22%7D%5D%2C%22abstractNote%22%3A%22Fuzzing%20consists%20of%20repeatedly%20testing%20an%20application%20with%20modified%2C%20or%20fuzzed%2C%20inputs%20with%20the%20goal%20of%20finding%20security%20vulnerabilities%20in%20input-parsing%20code.%20In%20this%20paper%2C%20we%20show%20how%20to%20automate%20the%20generation%20of%20an%20input%20grammar%20suitable%20for%20input%20fuzzing%20using%20sample%20inputs%20and%20neural-network-based%20statistical%20machine-learning%20techniques.%20We%20present%20a%20detailed%20case%20study%20with%20a%20complex%20input%20format%2C%20namely%20PDF%2C%20and%20a%20large%20complex%20security-critical%20parser%20for%20this%20format%2C%20namely%2C%20the%20PDF%20parser%20embedded%20in%20Microsoft%27s%20new%20Edge%20browser.%20We%20discuss%20and%20measure%20the%20tension%20between%20conflicting%20learning%20and%20fuzzing%20goals%3A%20learning%20wants%20to%20capture%20the%20structure%20of%20well-formed%20inputs%2C%20while%20fuzzing%20wants%20to%20break%20that%20structure%20in%20order%20to%20cover%20unexpected%20code%20paths%20and%20find%20bugs.%20We%20also%20present%20a%20new%20algorithm%20for%20this%20learn%26fuzz%20challenge%20which%20uses%20a%20learnt%20input%20probability%20distribution%20to%20intelligently%20guide%20where%20to%20fuzz%20inputs.%22%2C%22date%22%3A%222017%22%2C%22proceedingsTitle%22%3A%22Proceedings%20of%20the%2032Nd%20IEEE%5C%2FACM%20International%20Conference%20on%20Automated%20Software%20Engineering%22%2C%22conferenceName%22%3A%22%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%22%22%2C%22ISBN%22%3A%22978-1-5386-2684-9%22%2C%22url%22%3A%22http%3A%5C%2F%5C%2Fdl.acm.org%5C%2Fcitation.cfm%3Fid%3D3155562.3155573%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T17%3A17%3A07Z%22%7D%7D%2C%7B%22key%22%3A%22PCXGMJJY%22%2C%22library%22%3A%7B%22id%22%3A100502%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22Grieco%20et%20al.%22%2C%22parsedDate%22%3A%222017-12%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%3Cdiv%20class%3D%5C%22csl-bib-body%5C%22%20style%3D%5C%22line-height%3A%202%3B%20padding-left%3A%202em%3B%20text-indent%3A-2em%3B%5C%22%3E%5Cn%20%20%3Cdiv%20class%3D%5C%22csl-entry%5C%22%3EGrieco%2C%20G.%2C%20Ceresa%2C%20M.%2C%20Mista%2C%20A.%2C%20%26amp%3B%20Buiras%2C%20P.%20%282017%29.%20QuickFuzz%20Testing%20for%20Fun%20and%20Profit.%20%3Ci%3EJ.%20Syst.%20Softw.%3C%5C%2Fi%3E%2C%20%3Ci%3E134%3C%5C%2Fi%3E%28C%29%2C%20340%26%23x2013%3B354.%20%3Ca%20href%3D%27https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1016%5C%2Fj.jss.2017.09.018%27%3Ehttps%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1016%5C%2Fj.jss.2017.09.018%3C%5C%2Fa%3E%3C%5C%2Fdiv%3E%5Cn%3C%5C%2Fdiv%3E%22%2C%22data%22%3A%7B%22itemType%22%3A%22journalArticle%22%2C%22title%22%3A%22QuickFuzz%20Testing%20for%20Fun%20and%20Profit%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Gustavo%22%2C%22lastName%22%3A%22Grieco%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Martn%22%2C%22lastName%22%3A%22Ceresa%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Agustn%22%2C%22lastName%22%3A%22Mista%22%7D%2C%7B%22creatorType%22%3A%22author%22%2C%22firstName%22%3A%22Pablo%22%2C%22lastName%22%3A%22Buiras%22%7D%5D%2C%22abstractNote%22%3A%22It%20presents%20QuickFuzz%2C%20an%20open%20source%20tool%20for%20input%20generation%20and%20testing.It%20shows%20how%20to%20generate%20random%20test%20cases%20using%20types%20as%20lightweight%20specifications.It%20shows%20a%20list%20of%20security-related%20bugs%20discovered%20complex%20real-world%20applications.%20Fuzzing%20is%20a%20popular%20technique%20to%20find%20flaws%20in%20programs%20using%20invalid%20or%20erroneous%20inputs%20but%20not%20without%20its%20drawbacks.%20At%20one%20hand%2C%20mutational%20fuzzers%20require%20a%20set%20of%20valid%20inputs%20as%20a%20starting%20point%2C%20in%20which%20modifications%20are%20then%20introduced.%20On%20the%20other%20hand%2C%20generational%20fuzzing%20allows%20to%20synthesize%20somehow%20valid%20inputs%20according%20to%20a%20specification.%20Unfortunately%2C%20this%20requires%20to%20have%20a%20deep%20knowledge%20of%20the%20file%20formats%20under%20test%20to%20write%20specifications%20of%20them%20to%20guide%20the%20test%20case%20generation%20process.In%20this%20paper%20we%20introduce%20an%20extended%20and%20improved%20version%20of%20QuickFuzz%2C%20a%20tool%20written%20in%20Haskell%20designed%20for%20testing%20unexpected%20inputs%20of%20common%20file%20formats%20on%20third-party%20software%2C%20taking%20advantage%20of%20off-the-self%20well%20known%20fuzzers.Unlike%20other%20generational%20fuzzers%2C%20QuickFuzz%20does%20not%20require%20to%20write%20specifications%20for%20the%20file%20formats%20in%20question%20since%20it%20relies%20on%20existing%20file-format-handling%20libraries%20available%20on%20the%20Haskell%20code%20repository.%20It%20supports%20almost%2040%20different%20complex%20file-types%20including%20images%2C%20documents%2C%20source%20code%20and%20digital%20certificates.In%20particular%2C%20we%20found%20QuickFuzz%20useful%20enough%20to%20discover%20many%20previously%20unknown%20vulnerabilities%20on%20real-world%20implementations%20of%20web%20browsers%20and%20image%20processing%20libraries%20among%20others.%22%2C%22date%22%3A%22December%202017%22%2C%22language%22%3A%22%22%2C%22DOI%22%3A%2210.1016%5C%2Fj.jss.2017.09.018%22%2C%22ISSN%22%3A%220164-1212%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Fdoi.org%5C%2F10.1016%5C%2Fj.jss.2017.09.018%22%2C%22collections%22%3A%5B%2298JCN4Y5%22%5D%2C%22dateModified%22%3A%222018-10-29T17%3A11%3A44Z%22%7D%7D%5D%7D
Chen, Z., Guo, S., & Fu, D. (2012). A Directed Fuzzing Based on the Dynamic Symbolic Execution and Extended Program Behavior Model. In
2012 Second International Conference on Instrumentation, Measurement, Computer, Communication and Control (pp. 1641–1644).
https://doi.org/10.1109/IMCCC.2012.382
Pham, V.-T., Böhme, M., Santosa, A. E., Căciulescu, A. R., & Roychoudhury, A. (2018). Smart Greybox Fuzzing.
ArXiv:1811.09447 [Cs]. Retrieved from
http://arxiv.org/abs/1811.09447
Padhye, R., Lemieux, C., Sen, K., Papadakis, M., & Le Traon, Y. (2019). Semantic fuzzing with zest. In
Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis - ISSTA 2019 (pp. 329–340). Beijing, China: ACM Press.
https://doi.org/10.1145/3293882.3330576
aflgo. (2019).
aflgo/aflgo. Retrieved from
https://github.com/aflgo/aflgo (Original work published 2017)
Mitre, C. (2019). Vulnerability distribution of cve security vulnerabilities by types. Retrieved September 23, 2018, from
https://www.cvedetails.com/vulnerabilities-by-types.php
Wichmann, B. A., Canning, A. A., Clutterbuck, D. L., Winsborrow, L. A., Ward, N. J., & Marsh, D. W. R. (1995). Industrial perspective on static analysis.
Software Engineering Journal,
10(2), 69–75.
https://doi.org/10.1049/sej.1995.0010
Molnar, D., Li, X. C., & Wagner, D. A. (2009). Dynamic Test Generation to Find Integer Bugs in x86 Binary Linux Programs. In
Proceedings of the 18th Conference on USENIX Security Symposium (pp. 67–82). Berkeley, CA, USA: USENIX Association. Retrieved from
http://dl.acm.org/citation.cfm?id=1855768.1855773
Chen, Y., Groce, A., Zhang, C., Wong, W.-K., Fern, X., Eide, E., & Regehr, J. (2013). Taming Compiler Fuzzers. In
Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 197–208). New York, NY, USA: ACM.
https://doi.org/10.1145/2491956.2462173
Zhang, C., Groce, A., & Alipour, M. A. (2014). Using Test Case Reduction and Prioritization to Improve Symbolic Execution. In
Proceedings of the 2014 International Symposium on Software Testing and Analysis (pp. 160–170). New York, NY, USA: ACM.
https://doi.org/10.1145/2610384.2610392
Ognawala, S., Hutzelmann, T., Psallida, E., & Pretschner, A. (2018). Improving Function Coverage with Munch: A Hybrid Fuzzing and Directed Symbolic Execution Approach. In
Proceedings of the 33rd Annual ACM Symposium on Applied Computing (pp. 1475–1482). New York, NY, USA: ACM.
https://doi.org/10.1145/3167132.3167289
Person, S., Yang, G., Rungta, N., & Khurshid, S. (2011). Directed Incremental Symbolic Execution. In
Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 504–515). New York, NY, USA: ACM.
https://doi.org/10.1145/1993498.1993558
Li, Y., Su, Z., Wang, L., & Li, X. (2013). Steering Symbolic Execution to Less Traveled Paths. In
Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications (pp. 19–32). New York, NY, USA: ACM.
https://doi.org/10.1145/2509136.2509553
Qin, F., Wang, C., Li, Z., Kim, H., Zhou, Y., & Wu, Y. (2006). LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In
Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture (pp. 135–148). Washington, DC, USA: IEEE Computer Society.
https://doi.org/10.1109/MICRO.2006.29
Cheng, W., Zhao, Q., Yu, B., & Hiroshige, S. (2006). TaintTrace: Efficient Flow Tracing with Dynamic Binary Rewriting. In
11th IEEE Symposium on Computers and Communications (ISCC’06) (pp. 749–754).
https://doi.org/10.1109/ISCC.2006.158
Newsome, J. (2005). Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software. In Network and Distributed System Security Symposium.
Effective File Format Fuzzing – Thoughts, Techniques and Results (Black Hat Europe 2016). (2018, July 13). Retrieved November 1, 2018, from
https://j00ru.vexillium.org/talks/blackhat-eu-effective-file-format-fuzzing-thoughts-techniques-and-results/
Zalewski, M. (2014, November 7). Pulling JPEGs out of thin air. Retrieved November 1, 2018, from
https://lcamtuf.blogspot.com/2014/11/pulling-jpegs-out-of-thin-air.html
Mitre, C. (n.d.). CWE - CWE-787: Out-of-bounds Write (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/787.html
Mitre, C. (n.d.). CWE - CWE-200: Information Exposure (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/200.html
Mitre, C. (n.d.). CWE - CWE-369: Divide By Zero (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/369.html
Mitre, C. (n.d.). CWE - CWE-401: Improper Release of Memory Before Removing Last Reference ('Memory Leak’) (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/401.html
Lee, H., Grosse, R., Ranganath, R., & Ng, A. Y. (2009). Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations. In
Proceedings of the 26th Annual International Conference on Machine Learning (pp. 609–616). New York, NY, USA: ACM.
https://doi.org/10.1145/1553374.1553453
Arjovsky, M., Chintala, S., & Bottou, L. (2017). Wasserstein GAN. Retrieved from
https://arxiv.org/abs/1701.07875
Goodfellow, I. J., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., … Bengio, Y. (2014). Generative Adversarial Nets. In
Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2 (pp. 2672–2680). Cambridge, MA, USA: MIT Press. Retrieved from
http://dl.acm.org/citation.cfm?id=2969033.2969125
Hu, Z., Shi, J., Huang, Y., Xiong, J., & Bu, X. (2018). GANFuzz: A GAN-based Industrial Network Protocol Fuzzing Framework. In
Proceedings of the 15th ACM International Conference on Computing Frontiers (pp. 138–145). New York, NY, USA: ACM.
https://doi.org/10.1145/3203217.3203241
She, D., Pei, K., Epstein, D., Yang, J., Ray, B., & Jana, S. (2018). NEUZZ: Efficient Fuzzing with Neural Program Learning.
ArXiv:1807.05620 [Cs]. Retrieved from
http://arxiv.org/abs/1807.05620
Lv, C., Ji, S., Li, Y., Zhou, J., Chen, J., Zhou, P., & Chen, J. (2018). SmartSeed: Smart Seed Generation for Efficient Fuzzing.
ArXiv:1807.02606 [Cs]. Retrieved from
http://arxiv.org/abs/1807.02606
Nichols, N., Raugas, M., Jasper, R., & Hilliard, N. (2017). Faster Fuzzing: Reinitialization with Deep Neural Models.
ArXiv:1711.02807 [Cs]. Retrieved from
http://arxiv.org/abs/1711.02807
Mitre, C. (n.d.). CWE - CWE-476: NULL Pointer Dereference (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/476.html
Mitre, C. (n.d.). CWE - CWE-416: Use After Free (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/416.html
Mitre, C. (n.d.). CWE - CWE-415: Double Free (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/415.html
Mitre, C. (n.d.). CWE - CWE-288: Authentication Bypass Using an Alternate Path or Channel (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/288.html
Mitre, C. (n.d.). CWE - CWE-190: Integer Overflow or Wraparound (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/190.html
Mitre, C. (n.d.). CWE - CWE-134: Use of Externally-Controlled Format String (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/134.html
Mitre, C. (n.d.). CWE - CWE-122: Heap-based Buffer Overflow (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/122.html
Mitre, C. (n.d.). CWE - CWE-125: Out-of-bounds Read (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/125.html
Mitre, C. (n.d.). CWE - CWE-121: Stack-based Buffer Overflow (3.1). Retrieved October 31, 2018, from
https://cwe.mitre.org/data/definitions/121.html
Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation.
ArXiv:1406.1078 [Cs, Stat]. Retrieved from
http://arxiv.org/abs/1406.1078
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-term Memory.
Neural Comput.,
9(9), 1735–1780.
https://doi.org/10.1162/neco.1997.9.8.1735
Systems, A. (2006, November). PDF Reference: Adobe portable document format. Version 1.7. Retrieved from
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf
Godefroid, P., Kiezun, A., & Levin, M. Y. (2008). Grammar-based Whitebox Fuzzing. In
Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 206–215). New York, NY, USA: ACM.
https://doi.org/10.1145/1375581.1375607
Zhang, B., Ye, J., Feng, C., & Tang, C. (2017). S2F: Discover Hard-to-Reach Vulnerabilities by Semi-Symbolic Fuzz Testing. In
2017 13th International Conference on Computational Intelligence and Security (CIS) (pp. 548–552). Hong Kong: IEEE.
https://doi.org/10.1109/CIS.2017.00127
Xu, W., Kashyap, S., Min, C., & Kim, T. (2017). Designing New Operating Primitives to Improve Fuzzing Performance. In
Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (pp. 2313–2328). New York, NY, USA: ACM.
https://doi.org/10.1145/3133956.3134046
Han, H., & Cha, S. K. (2017). IMF: Inferred Model-based Fuzzer. In
Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (pp. 2345–2358). New York, NY, USA: ACM.
https://doi.org/10.1145/3133956.3134103
Sim, K. Y., Kuo, F.-C., & Merkel, R. (2011). Fuzzing the Out-of-memory Killer on Embedded Linux: An Adaptive Random Approach. In
Proceedings of the 2011 ACM Symposium on Applied Computing (pp. 387–392). New York, NY, USA: ACM.
https://doi.org/10.1145/1982185.1982268
Mendonça, M., & Neves, N. (2008). Fuzzing Wi-Fi Drivers to Locate Security Vulnerabilities. In
2008 Seventh European Dependable Computing Conference (pp. 110–119). Kaunas, Lithuania: IEEE.
https://doi.org/10.1109/EDCC-7.2008.22
Hodován, R., & Kiss, Á. (2016). Fuzzing JavaScript Engine APIs. In
Proceedings of the 12th International Conference on Integrated Formal Methods - Volume 9681 (pp. 425–438). Berlin, Heidelberg: Springer-Verlag.
https://doi.org/10.1007/978-3-319-33693-0_27
Godefroid, P., Peleg, H., & Singh, R. (2017). Learn&Fuzz: Machine Learning for Input Fuzzing. In
Proceedings of the 32Nd IEEE/ACM International Conference on Automated Software Engineering (pp. 50–59). Piscataway, NJ, USA: IEEE Press. Retrieved from
http://dl.acm.org/citation.cfm?id=3155562.3155573
Grieco, G., Ceresa, M., Mista, A., & Buiras, P. (2017). QuickFuzz Testing for Fun and Profit.
J. Syst. Softw.,
134(C), 340–354.
https://doi.org/10.1016/j.jss.2017.09.018