Machine Learning & Security
Bonjour! This post aims to collect several interesting research papers using machine learning for security. I am too lazy and noob in ML to write a summary for each paper. Note that all links are found on the Internet. Please ping me for an update or pull request.
TODO: Add summaries (at least for some fuzzing-related papers).
Survey
- [arxiv] Using Deep Learning to Solve Computer Security Challenges: A Survey (paper)
Binary-related machine learning
- [SEC’14] Byteweight: Learning to recognize functions in binary code (paper, project, slides, talk)
- [SEC’15] Recognizing Functions in Binaries with Neural Networks (paper, talk)
- [POPL’16] Estimating Types in Binaries using Predictive Modeling (paper, talk)
- [SEC’17] Neural Nets Can Learn Function Type Signatures From Binaries (paper, project, talk)
- [EUROSP’17] Compiler-Agnostic Function Detection in Binaries (paper, project, slides)
- [CCS’17] Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection (paper, slides)
Vulnerabilities detection
- [CODASPY’16] Toward large-scale vulnerability discovery using Machine Learning (paper, slides, talk)
- [ACSAC’17] Machine-Learning-Guided Typestate Analysis for Static Use-After-Free Detection (paper)
Symbolic execution
- [NDSS’19] Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints (paper)
Taint analysis
- [arxiv] Neutaint: Efficient Dynamic Taint Analysis with Neural Networks (paper)
- [arxiv] Fine Grained Dataflow Tracking with Proximal Gradients (paper)
Testing deep learning system
- [SOSP’17] DeepXplore: Automated Whitebox Testing of Deep Learning Systems (paper)
- [ASE’18] DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems (paper, project)
- [ASE’18] Concolic Testing for Deep Neural Networks (paper, project)
- [FSE’18] DLFuzz: Differential Fuzzing Testing of Deep Learning Systems (paper)
- [PLMR’19] TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing (paper, project)
- [ISSTA’19] DeepHunter: Hunting Deep Neural Network Defects via Coverage-Guided Fuzzing (paper)
- [TSE] Grammar Based Directed Testing of Machine Learning Systems (paper)
- [arxiv] Machine Learning Testing: Survey, Landscapes and Horizons (paper)
Fuzzing
- [ASE’17] Learn&Fuzz: Machine Learning for Input Fuzzing (paper)
- [PAC’17] ExploitMeter: Combining Fuzzing with Machine Learning for Automated Evaluation of Software Exploitability (paper)
- [arxiv] Not all bytes are equal: Neural byte sieve for fuzzing (paper)
- [arxiv] Deep Reinforcement Fuzzing (paper)
- [arxiv] FuzzerGym: A Competitive Framework for Fuzzing and Learning (paper)
- [ISSTA’18] Compiler Fuzzing through Deep Learning (paper)
- [SP’19] NEUZZ: Efficient Fuzzing with Neural Program Smoothing (paper, project, slides, talk)
- [arxiv] A Review of Machine Learning Applications in Fuzzing (paper)
- [SEC’19] EnFuzz: Ensemble Fuzzing with Seed Synchronization among Diverse Fuzzers (paper, project, talk)
- [CCS’19] Learning to Fuzz from Symbolic Execution with Application to Smart Contracts (paper, project, slides)
- [ICST’19] Directing a Search Towards Execution Properties with a Learned Fitness Function (paper)
- [SEC’20] FuzzGuard: Filtering out Unreachable Inputs in Directed Grey-box Fuzzing through Deep Learning (paper, project)