论文部分内容阅读
WEB技术发展至今不过二十几年的时间,但已然成为当前互联网最热门的应用架构,同时WEB应用系统的安全问题也一直是信息安全、网络安全关注的重点。随着WEB技术的飞速发展,传统的WEB应用系统安全检测技术已经不能完全满足当前的检测需求,这主要表现在:第一,现有的WEB应用系统安全检测普遍采用全系统扫描的方法,其收益率和效率已经不能适应WEB应用系统的规模逐渐增大的趋势;第二,传统检测中的自动交互仅对简单的WEB应用系统比较有效,而对目前WEB新技术和新应用中出现的复杂、多类型的接口传统检测技术不能有效实现自动交互,从而导致检测过程对WEB应用系统安全缺陷的漏报;第三,现有的安全检测多采用结果驱动的方法,忽视了检测过程对被检系统的不良影响,导致在对现网WEB应用系统进行安全检测时存在局限性。此外针对目前WEB技术飞速发展和WEB应用系统安全威胁多样化的现状,已有的WEB应用系统安全检测平台和工具在扩展性等方面还存在一些不足。本文的研究工作从四个方面出发,解决上述问题。首先,针对传统检测方法由于采用索引爬虫而造成的收益率和效率低下的问题,本文提出了一种基于强化学习的WEB信息抓取模型。该模型的基本思想是将海量的WEB信息依据其接口相关特征进行分类,根据WEB应用系统安全检测的特殊需求对WEB信息进行选择性抓取,使信息收集过程有的放矢。在该模型中,根据WEB应用系统中链接和接口间关系的特点,基于Q学习设计了“综合回报评价算法”。该算法将学习器的立即回报与未来回报进行加权,综合评价WEB信息与接口的相关性,分别在学习阶段和利用阶段赋予立即回报与未来回报不同的权值。在检测之前,首先根据Q学习算法对爬虫引擎进行训练学习,生成丰富的Q值表。在检测的过程中,爬虫根据学习的经验结果,对应用程序中的表单进行综合Q值的计算并选择性的进行WEB信息抓取,同时根据抓取的情况对学习规则进行优化。此外,为了方便对WEB信息特征的抽取和分析,该模型中采用了一种基于聚类分析的页面结构化方法,该方法从WEB应用系统中页而的标签结构、内容信息、区域结构等多个角度出发,对页面进行结构化分析并初步生成结构化标签树(TAG_TREE),然后通过聚类分析的方法,对页面内容信息和结构进行区域划分,利用区块结构对TAG_TREE进行压缩和简化,并最终形成WEB页面的压缩结构化标签树,为页面特征抽取做准备。第二,论文中提出了基于信息反馈的WEB应用系统自动交互方法,以解决通过WEB应用系统中复杂、多类型接口进行交互的问题。该方法首先根据WEB应用系统中公共接口的特点对接口特征进行了建模,采用一种统一的方式对接口进行形式化描述,同时构建了接口赋值数据集合,用来存储不同特征接口的赋值数据。在交互过程中根据WEB应用系统的响应消息调整数据集合中的数据存储结构,以提高数据利用的准确率。为了实现对多类型接口的准确赋值,采用了有限集逻辑单元默认赋值、无限集逻辑单元D-BPM-BM模糊匹配赋值的分类处理方法,这种方法利用接口赋值数据集合对无限集进行了有限化,通过逻辑单元特征的模糊匹配选取赋值数据集合中相似度最高的数据进行逻辑单元赋值,从而提高了自动交互的成功率。第三,论文针对WEB应用系统中注入型漏洞安全缺陷,提出了一科,基于模拟攻击的检测策略。在该策略中,采用了“请求策略选择”机制,解决了结果驱动的检测方法中存在的“检测副作用”的问题。“请求策略选择”机制通过完全策略、常规策略和安全策略对模拟攻击过程进行了区分,以适用不同的检测需求。此外,论文还重点研究了模拟攻击检测策略在XSS攻击漏洞和SQL注入漏洞两类主要注入型漏洞检测方面的应用。为了保证检测的效果,一方面针对WEB应用系统的新特点采用了过滤机制逃逸技术并构建丰富的测试数据库;另一方面提出了SQL注入漏洞确认模型,通过该模型进行了多过程的错误响应分析。第四,论文以适应快速发展的WEB应用技术、应对多样化的WEB应用系统威胁为目标,在以上模型和理论研究的基础上,提出了基于“三层两面”设计思想的WEB应用系统安全检测平台架构。该架构将检测、分析与管理进行了严格的区分,丰富的公共接口保障了模块间的数据交互,极大的提高了检测平台的可扩展性。论文通过实验验证了以上模型方法的可行性,并通过在实际WEB应用系统检测中的应用验证了它们在提升检测效果方面的有效性。