本文提出一个结合静态分析和动态监测的缺陷定位方法检测
Java应用程序的缺陷。在静态分析部分,采用基于克隆的上下文敏感
的别名分析技术对程序进行抽象分析,并针对未验证输入漏洞编写对
应的缺陷模式规则,采用反向污点分析技术进行污点分析。在动态检
测部分,利用静态分析结果,生成攻击向量对程序进行模拟攻击,监
控程序运行信息并最终确定缺陷是否存在。
文本对Webgoat、Bodgeit等开源项目进行实验和测试,实验结
果表明,系统可以能够有效检测的目标程序的SQL注入和XSS攻击
漏洞,误报率低,验证了模型的有效性,取得了很好的效果。