arrow
返回

Yama: Precise Opcode-Based Data Flow Analysis for Detecting PHP Applications Vulnerabilities

delete2025-01-01
delete0
delete
OA
AI
J
Jiazhen Zhao
K
Kailong Zhu
Y
Yu Lu
H
Hui Huang
Y
Yuliang Lu
DOI:10.1109/TIFS.2025.3592537delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Web应用程序涵盖日常生活的各个方面,包括在线购物、电子学习和互联网银行。一旦存在漏洞,它可能导致严重的社会和经济损害。由于PHP的易用性,它已成为Web应用程序的首选服务器端编程语言,使得PHP应用程序成为攻击者的主要目标。由于数据流分析在部署Web应用程序之前被广泛用于漏洞检测,因为它效率高。然而,PHP语言的高复杂性使得精确的数据流分析难以实现,导致漏洞检测中较高的误报率和漏报率。在本文中,我们提出了Yama,一种上下文敏感和路径敏感的跨过程数据流分析方法,用于检测PHP应用程序中的污点风格漏洞。我们发现,PHP操作码的精确语义和清晰的流程控制使数据流分析更加精确和高效。利用这一观察结果,我们为PHP操作码建立了解析规则,并在Yama中实现了对PHP程序语义的精确理解。这使得Yama能够精确解决PHP语言的高复杂性,包括类型推断、动态特性和内置函数。我们从三个维度对Yama进行了评估:基本数据流分析能力、复杂语义分析能力和在真实应用程序中发现漏洞的能力,证明了Yama在漏洞检测方面的进步。具体来说,Yama具有上下文敏感和路径敏感的跨过程分析能力,在涉及类型推断、动态特性和内置函数的复杂语义分析实验中,实现了99.1%的真阳性率。它在GitHub上的24个拥有超过1000颗星的项目中发现了并报告了38个零日漏洞,分配了34个新的CVE ID。我们已经发布了原型实现的源代码和PHP操作码的解析规则,以促进未来的研究。
Keyword:
Web security
PHP applications vulnerability
data flow analysis
opcode-based

期刊

IEEE Transactions on Information Forensics and Security 封面图
IEEE Transactions on Information Forensics and Security
IF:
8
论文数:
5.3K
被引数:
2.3W

机构

N
National University of Defense Technology
学者数:
3.3K
论文数: 1.0K
被引数: 8.2K
引用论文

引用论文

Toss a Fault to Your Witcher: Applying Grey-box Coverage-Guided Mutational Fuzzing to Detect SQL and Command Injection Vulnerabilities
err2023-05-01
err0
PREAI
errErik Trickel; Fabio Pagani; Chang Zhu; Lukas Dresel; Giovanni Vigna; Christopher Kruegel; Ruoyu Wang; Tiffany Bao; Yan Shoshitaishvili; Adam Doupé
err分享
err收藏
RecurScan: Detecting Recurring Vulnerabilities in PHP Web Applications
err
IF0
err2024-05-13
err0
PREAI
errYoukun Shi; Yuan Zhang; Tianhao Bai; Lei Zhang; Xin Tan; Min Yang
err分享
err收藏
Testability Tarpits: the Impact of Code Patterns on the Security Testing of Web Applications
err
IF0
err2022-01-01
err0
PREAI
errFeras Al Kassar; Giulia Clerici; Luca Compagna; Davide Balzarotti; Fabian Yamaguchi
err分享
err收藏
Efficient and Flexible Discovery of PHP Application Vulnerabilities
err2017-04-01
err0
PREAI
errMichael Backes; Konrad Rieck; Malte Skoruppa; Ben Stock; Fabian Yamaguchi
err分享
err收藏
webFuzz: Grey-Box Fuzzing for Web Applications
err
IF0
err2021-09-30
err0
PREAI
errOrpheas van Rooij; Marcos Antonios Charalambous; Demetris Kaizer; Michalis Papaevripides; Elias Athanasopoulos
err分享
err收藏
Variable Feature Usage Patterns in PHP (T)
err
IF0
err2015-11-01
err0
PREAI
errMark Hills
err分享
err收藏
Learning Type Inference for Enhanced Dataflow Analysis
err
IF0
err2024-01-11
err0
PREAI
errLukas Seidel; Sedick David Baker Effendi; Xavier Pinho; Konrad Rieck; Brink van der Merwe; Fabian Yamaguchi
err分享
err收藏
学者 查看更多内容