论文部分内容阅读
随着计算机网络的发展,网络应用软件为人们提供了各式各样的服务,但软件中存在的脆弱性给人们带来了安全隐患,由于网络应用软件的使用率飞速上升,使得网络应用程序脆弱性检测和修补工作尤为重要。而当前最严重的三种网络应用程序脆弱性:跨站脚本、注入攻击和执行恶意文件都是由于字符串处理不当引起的,程序传播和使用不经过处理或者经过不正确处理的恶意字符串,使程序遭受这些普遍存在的攻击的破坏。基于自动机的字符串分析方法作为一种静态分析方法,通过实现基于语言的自动机操作,在基于确定的有限自动机的结构之上分析程序执行到给定程序点时字符串变量的取值集合,按照给定的判定标准分析字符串分析的结果集合在给定程序点中是否经过了适当的过滤,对程序错误和安全脆弱性进行检测。基于字符串分析的脆弱性检测方法是在污点分析方法利用程序切片方法构造出的污点依赖图基础上,通过基于自动机的字符串分析方法计算字符串变量的取值集合,与攻击模式进行匹配后,判断程序是否存在脆弱性,如果程序存在脆弱性则自动生成脆弱性特征以便有针对性的对用户输入进行特征过滤,从而完成对字符串操作程序的脆弱性自动检测。程序脆弱性自动检测系统的实际应用效果表明了基于字符串分析的脆弱性检测方法的可行性与有效性。