返回
Yama: Precise Opcode-Based Data Flow Analysis for Detecting PHP Applications Vulnerabilities
DOI:10.1109/TIFS.2025.3592537.png)
摘要
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
期刊
IF:
8
论文数:
5.3K
被引数:
2.3W

