随着Web应用系统在实际环境中部署的增多,由于Web漏洞而导致的攻击事件所占比例越来越大,迫切需要提高Web系统的安全性。现有的Web系统的安全保护方法主要是动态检测、通信协议的改进等等,而静态分析方法应用较少。本课题拟研究一系列基于程序分析方法的Web安全问题设计一个脚本语言静态分析框架,构造各种静态分析算法;研究针对安全漏洞的基于全局污染数据跟踪的静态分析算法,综合考虑Web应用所包含的所有模块,实现更全面的分析和灵活的算法设计;在此基础上,提出安全漏洞的特征码生成方法,其特征基于安全漏洞本身的特征,而不是某个具体攻击的特征;最后,研究一种基于版本差异化的攻击自动生成方法,自动生成攻击实例可用于测试。本研究将促进Web安全领域特征码生成、程序代码静态分析等关键技术的深入研究,为Web应用的快速开发和安全部署奠定基础,具有十分重要的意义。
Web Security;Static Analysis;Content Analysis;Network Traffic Analysis;
随着Web应用的普及,针对其漏洞的攻击也越来越多,本课题研究一套Web系统的安全检测与防御方法。在程序分析方面,提出了一种从Web日志中挖掘攻击频繁序列模式的方法,使用序列模式挖掘方法,对攻击数据进行挖掘,可以探索漏洞扫描器的扫描路径,从网站安全考虑有助于发现和分析攻击行为;结合污点追踪和信息流分析术,设计了一种基于污点分析的Web安全检测系统,对javascript代码进行语义抽象结合污点追踪模型,记录敏感数据的信息流,保证信息机密性和完整性;设计了一种针对 JVM 运行时库安全策略的全自动检测方法,扫描Java标准类库字节码文件,将类的成员方法生成控制流图,通过定义检验模型,结合污点分析计算出方法摘要,自动检测出风险方法;针对Web应用的克隆代码带来的维护和安全问题,设计了一种基于kd森林的克隆代码检测方案,通过建立特征向量和降维得到克隆代码。在安全漏洞的特征码生成方面,设计了一种基于符号执行自动生成输入数据的方法,该方法将符号执行应用于网页的程序片段,提取出代码的静态和动态路径约束并求解,生成精确的攻击参数;通过分析基于ROP和JOP技术的代码复用攻击特性,设计并实现了检测和防御代码复用攻击的系统,该系统基于二进制翻译框架,引入影子栈机制处理返回地址被篡改的问题,保证程序的正常运行。在网页内容分析方面,针对以往隐藏页面(Cloaking)准确度不高的缺点,提出了一种基于网页特征的相似性检测优化算法检测隐藏页面,分别判别User Agent隐藏、IP隐藏、Referrer隐藏和JavaScript隐藏类型的页面;利用静态分析,提出了一种基于网页源代码和网址属性的特征提取方法,并实现一个恶意网页检测系统。在网络流量方面,随着网络流量的急剧增长,离线网络数据分析时大量冗余数据造成了存储空间的严重浪费,我们在GPU上实现了Rabin纹识别算法,加速网络数据去冗余过程中的关键算法;移动App的数量正在急速增长,为了方便安全管理,需要识别移动流量的各个应用类型,设计了一个使用聚类生成应用指纹,从移动网络流量中自动识别App流量的系统;为了从海量网络数据报中快速检索出特定的数据报,提出了一种基于Wavelet Tree的网络数据检索方法,并设计实现了网络数据索引系统Pi,为网络安全和监控提供支持。本课题的研究成果为Web应用开发和安全部署奠定基础,具有重要意义。