ML4Sec-papers icon indicating copy to clipboard operation
ML4Sec-papers copied to clipboard

Research papers on ML for security

I collect several interesting research papers using machine learning for security.

Survey

  1. [arxiv] Using Deep Learning to Solve Computer Security Challenges: A Survey (paper)

Binary-related machine learning

  1. [SEC'14] Byteweight: Learning to recognize functions in binary code (paper, project, slides, talk)
  2. [SEC'15] Recognizing Functions in Binaries with Neural Networks (paper, talk)
  3. [POPL'16] Estimating Types in Binaries using Predictive Modeling (paper, talk)
  4. [SEC'17] Neural Nets Can Learn Function Type Signatures From Binaries (paper, project, talk)
  5. [EUROSP'17] Compiler-Agnostic Function Detection in Binaries (paper, project, slides)
  6. [CCS'17] Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection (paper, slides)
  7. [NDSS'20] DeepBinDiff: Learning Program-Wide Code Representations for Binary Diffing (paper, project)

Vulnerabilities detection

  1. [CODASPY'16] Toward large-scale vulnerability discovery using Machine Learning (paper, slides, talk)
  2. [ACSAC'17] Machine-Learning-Guided Typestate Analysis for Static Use-After-Free Detection (paper)

Symbolic execution

  1. [NDSS'19] Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints (paper)

Taint analysis

  1. [arxiv] Fine Grained Dataflow Tracking with Proximal Gradients (paper)
  2. [S&P'20] Neutaint: Efficient Dynamic Taint Analysis with Neural Networks (paper, talk)

Testing deep learning system

  1. [SOSP'17] DeepXplore: Automated Whitebox Testing of Deep Learning Systems (paper)
  2. [ASE'18] DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems (paper, project)
  3. [ASE'18] Concolic Testing for Deep Neural Networks (paper, project)
  4. [FSE'18] DLFuzz: Differential Fuzzing Testing of Deep Learning Systems (paper)
  5. [PLMR'19] TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing (paper, project)
  6. [ISSTA'19] DeepHunter: Hunting Deep Neural Network Defects via Coverage-Guided Fuzzing (paper)
  7. [TSE] Grammar Based Directed Testing of Machine Learning Systems (paper)
  8. [arxiv] Machine Learning Testing: Survey, Landscapes and Horizons (paper)

Search-based Software Testing

  1. [arxiv'20] A Generative Neural Network Framework for Automated Software Testing (paper)

Fuzzing

  1. [ASE'17] Learn&Fuzz: Machine Learning for Input Fuzzing (paper)
  2. [PAC'17] ExploitMeter: Combining Fuzzing with Machine Learning for Automated Evaluation of Software Exploitability (paper)
  3. [arxiv] Not all bytes are equal: Neural byte sieve for fuzzing (paper)
  4. [arxiv] Deep Reinforcement Fuzzing (paper)
  5. [arxiv] FuzzerGym: A Competitive Framework for Fuzzing and Learning (paper)
  6. [ISSTA'18] Compiler Fuzzing through Deep Learning (paper)
  7. [SP'19] NEUZZ: Efficient Fuzzing with Neural Program Smoothing (paper, project, slides, talk)
  8. [arxiv] A Review of Machine Learning Applications in Fuzzing (paper)
  9. [SEC'19] EnFuzz: Ensemble Fuzzing with Seed Synchronization among Diverse Fuzzers (paper, project, talk)
  10. [CCS'19] Learning to Fuzz from Symbolic Execution with Application to Smart Contracts (paper, project, slides)
  11. [ICST'19] Directing a Search Towards Execution Properties with a Learned Fitness Function (paper)
  12. [SEC'20] FuzzGuard: Filtering out Unreachable Inputs in Directed Grey-box Fuzzing through Deep Learning (paper, project)
  13. [arxiv] MEUZZ: Smart Seed Scheduling for Hybrid Fuzzing (paper)
  14. [FSE'20] MTFuzz: Fuzzing with a Multi-Task Neural Network (paper, project)

Program analysis

  1. [Keynote-CAV'19] Machine Learning as Program Synthesis (slides, blog: AI Safety as a PL problem)
  2. [SEC'19] DEEPVSA: Facilitating Value-set Analysis with Deep Learning for Postmortem Program Analysis (paper, project, talk)
  3. [arxiv] MCPA: Program Analysis as Machine Learning (paper)