Open-source Project

FuzzingPapers

Literature Review and Summary, Github,

This is a repository for collecting, summizing, and grouping Fuzzing related Papers. We have examined, comb, and summarized hundreds of recently published papers on fuzz testing located by perusing top-conference proceedings and other quality venues. This web is only used for collecting and group related paper. If there are any paper need to be updated, you can contribute PR.


MemLock

January 08, 2020

Artifact Evaluation of ICSE'2020, Github,

MemLock is a fuzzing tool that gudied by memory usage. As we know, uncontrolled memory consumption is a kind of critical software security weaknesses. It can also become a security-critical vulnerability when attackers can take control of the input to consume a large amount of memory and launch a Denial-of-Service attack. However, detecting such vulnerability is challenging, as the state-of-the-art fuzzing techniques focus on the code coverage but not memory consumption. To this end, we propose a memory usage guided fuzzing technique, named MemLock, to generate the excessive memory consumption inputs and trigger uncontrolled memory consumption bugs. The fuzzing process is guided with memory consumption information so that our approach is general and does not require any domain knowledge. We perform a thorough evaluation for MemLock on 14 widely-used real-world programs. Our experiment results show that MemLock substantially outperforms the state-of-the-art fuzzing techniques, including AFL, AFLfast, PerfFuzz, FairFuzz, Angora and QSYM, in discovering memory consumption bugs. During the experiments, we discovered many previously unknown memory consumption bugs and received 15 new CVEs.


MemLock’s Benchmark

December 30, 2019

Artifact Evaluation of ICSE'2020, Github,

This Benchmark collect some vulnerabilities related to “excessive memory consumption”, which are used in MemLock’s experiment. To trigger these vulnerabilities, the testcase should consume lost of stack memory or heap memory, which can test the ability of fuzzer for generating inputs that consume lost of memory.


UAF-Fuzzer-TestSuite

August 29, 2019

Benchmark, Github,

This Benchmark collect some vulnerabilities related to “use-after-free”, which are used in UAFL’s experiment.


WasmFuzz

May 24, 2019

Two-dimensional Input Space Fuzzing Driver, Github,

A driver to perform fuzz testing on JavaScriptCore and WebAssembly in WebKit.


Fuzzer Scrpit

January 16, 2019

Script, Github,

Fuzzing Experimental Data Processing Script.


BITY

September 01, 2018

Artifact of ICFEM 2017 and IEEE Transactions on Reliability 2019, Github,

BITY is a technique that recover the type information from Binary via machine learning. First, we present our approach to recovering type information in binary code. The idea is motivated by “duck typing”, where the type of a variable is determined by its features and properties. Our approach uses a combination of machine learning and program analysis. In detail, we first extract critical information form instruction-flow and data-flow, namely behaviors and features of variables in binary code. According to these behaviors and features, we learn a classifier with basic types as levels, using various machine learning methods, and then use this classifier to predict types for new, unseen binaries. For composite types, such as pointer and struct, we perform a point-to analysis to recover the target variables and use the classifier to recover the base type for these target variables, base on which, composite types are recovered.



Active Automata Learning

May 20, 2018

Lecture Notes, Github,

This is a quick research of Active Automata Learning. At present, this repository has stopped maintenance.


PC-Malware-Sklearner

December 21, 2017

Artifact of SmartCom 2017, Github,

This is a learning based malware detection tool. As we know, malware is one of the most serious security threats on the Internet today. Unfortunately, the number of new malware samples has explosively increased: anti-malware vendors are now confronted with millions of potential malware samples per year. Consequently, many studies have been reported on using data mining and machine learning techniques to develop intelligent malware detection systems. Lots of works use different feature and different data set to train a classification model. Although they show a high percent of accuracy on their own test data, most of model become rapidly antiquated as malware continues to evolve. When using the obfuscation techniques or polymorphism techniques, they can not work very well. In this work, we propose a effective malware detection approach using data-mining techniques based on opcode, data structure and the imported libraries. We also use different classifiers and conduct some experiments to evaluate our approach. In addition, we provide empirical validation that our method is capable of detecting new unknown malware, also fresh malware collected in 2017. In addition, we use obfuscation on malware to test our model.