基于污点分析的Java Web程序脆弱性检测方法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:laotzu123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Web系统通常部署于开放的互联网环境,用户输入的随意性对系统的安全验证机制提出了更高的要求。因此检测程序中是否存在有效的安全验证机制成为软件测试领域的重要研究内容。基于静态的污点依赖分析可以追踪用户输入数据的流向以及分析污点数据在程序执行序列中的演变,进而发现程序对用户输入数据缺乏有效安全处理的脆弱性漏洞,值得深入研究。  基于污点分析的Java程序脆弱性检测方法通过语言识别、依赖分析、脆弱敏感点收集、污点分析与求值、攻击模式匹配等五个步骤实现程序脆弱性的检测。通过对Java源代码进行词法分析、语法分析等技术将代码转化为等价的中间表示(IR),精心设计的IR保存着代码中所有元素的信息以及代码的结构信息,可以快速地遍历、定位源代码。通过遍历IR进行前向数据流分析,提取语句间的数据依赖关系以及程序的方法调用依赖关系。在遍历IR的同时通过匹配敏感API的调用收集脆弱敏感点。利用生成的数据依赖图和方法调用依赖图对每个脆弱敏感点进行逆向污点依赖分析,构造脆弱敏感点的污点到其污染源的污点依赖图。使用有限状态自动机表示字符串污点的可能取值集合,通过自动机操作库实现对污点取值的静态求解。最后通过将脆弱敏感点的污点取值与攻击模式进行交集验证实现程序脆弱性的检测。  实验表明,基于污点依赖分析的Java程序脆弱性检测系统可以发现Web程序中由于对用户输入缺乏有效安全处理而存在的SQL注入和跨站脚本攻击漏洞。
其他文献
互联网信息过载导致人们越来越倚重搜索引擎,面向特定领域或学科的垂直搜索引擎是搜索技术的细化和拓展,它针对特定用户提供垂直搜索。当前在食品安全领域,食品安全信息的获取基
受限于单体锂电池的电压和容量,车用锂电池组常常需要将成百上千个单体锂电池串并联成组使用。但由于生产工艺的不一致性和使用过程环境的不一致性,单体电池间总是存在着无法消
人脸检测是指确定输入图像中是否存在人脸,以及存在的具体位置的过程。随着智能化的发展,人脸检测技术在智能交互、身份核验、移动社交等领域应用越来越广泛。然而非限制条件下,人脸并非总是呈现清晰完整的正面形象,因遮挡、角度、分辨率等各种因素导致的不完备信息的人脸图像,给人脸检测任务带来了巨大的挑战。当前虽然已有许多算法在人脸检测上取得了较好的效果,但在处理不完备信息人脸方面仍然存在不足。本文针对遮挡和小尺
学位
人脸识别因其重要的科学意义和实用价值而成为当前模式识别领域的一个研究热点。在过去几十年中,学者们提出了许多相关的特征提取方法,比如线性鉴别分析(LDA)、主成分分析(PCA)和保
作为传统DoS(Denialof Service)攻击的改进,LDoS(Low-rate DenialofService)攻击具有相当的危害性且更强的隐蔽性。由于LDoS攻击的高隐蔽性特征,传统的DoS攻击检测方法已无法对其进
随着各种数据来源和数据采集方式的逐渐多样化,机器学习和数据挖掘技术的应用场景日益丰富。机器学习研究的本质要解决智能化学习的基础表示和模型两大问题,前者需要对计算机可
人工智能是计算机模拟人脑的一种智能行为,它一方面对人类智能工作方法的基本步骤进行归纳,另一方面又创造了适合计算机运行的步骤,使计算机具有了与人类智能相似的能力和技
学位
模板匹配广泛应用于图像处理及信号处理领域。科学技术的飞速发展使得图像模板匹配处理的规模越来越大,更重要的是人们对实时图像处理的需求也越来越高,因此,采用通用处理器来实
云计算技术虽然是一种新兴技术,但一经提出就得到迅速发展,凭借自身的优势得到了越来越多国家企业和研究机构的关注,很多研究人员投入到云计算相关技术的研究中伴随着云计算研究