Harnessing the Power of LLM to Support Binary Taint Analysis
arXiv:2310.08275 · doi:10.1145/3711816
Abstract
This paper proposes LATTE, the first static binary taint analysis that is powered by a large language model (LLM). LATTE is superior to the state of the art (e.g., Emtaint, Arbiter, Karonte) in three aspects. First, LATTE is fully automated while prior static binary taint analyzers need rely on human expertise to manually customize taint propagation rules and vulnerability inspection rules. Second, LATTE is significantly effective in vulnerability detection, demonstrated by our comprehensive evaluations. For example, LATTE has found 37 new bugs in real-world firmware which the baselines failed to find, and 7 of them have been assigned CVE numbers. Lastly, LATTE incurs remarkably low engineering cost, making it a cost-efficient and scalable solution for security researchers and practitioners. We strongly believe that LATTE opens up a new direction to harness the recent advance in LLMs to improve vulnerability analysis for binary programs.
36 pages,16 figures
References in corpus (8)
- Do Users Write More Insecure Code with AI Assistants?
- Less Training, More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learning
- Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT
- Large Language Models for Code: Security Hardening and Adversarial Testing
- How Effective Are Neural Networks for Fixing Security Vulnerabilities
- AFL: Non-intrusive Feedback-driven Fuzzing for Microcontroller Firmware
- FuzzSlice: Pruning False Positives in Static Analysis Warnings Through Function-Level Fuzzing
- Validating Static Warnings via Testing Code Fragments