论文部分内容阅读
SQL注入已成为数据库严重的威胁之一,目前主流的防御SQL注入的方式是采取预编译SQL以及基于特征库的过滤,但是这两种方式在实际的应用中缺乏部署的灵活性和识别的准确性。本文在研究国内外先进渗透技术的基础上,结合目前主流的防范策略,提出了一种系统模型,该模型不仅弥补了现有系统防御方式单一,而且解决了传统的SQL注入防御系统通用性不强的缺点,并最终设计开发出一种融合各种主流防范策略并添加独创功能的防SQL注入系统,系统通过关键字过滤,将匹配SQL执行语句中谓语中的敏感字符,阻断通过参数拼接方式进行的攻击;同时进行扫描工具特征匹配,识别不同于手工攻击的机器攻击,内置扫描攻击特征库,以IP阻断的形式组织扫描工具对系统的扫描;同时添加权限管理,将数据库中复杂的权限控制集中到业务层进行管理,从权限上阻隔越权操作的发生;并通过预执行结果分析,调用数据库执行计划部分的功能,通过比对的方式判断攻击行为;同时整合SQL执行日志监管,通过集中采集和管理SQL执行日志,采用分级提醒的方式来告知管理员攻击事件的发生。关键字过滤,权限控制和日志管理防御策略已经在现有的SQL注入防御系统中有所涉及,但没有系统将这三者整合在一起,而后预执行结果分析和扫描工具防御这两种策略是本文所独创的注入分析防御方式。本系统实现的平台是将要成为JDK7的标准的OSGI(Open Service Gateway Initiative)平台,整个系统中大量涉及到AOP(Aspect Oriental Programming)的编程设计思想。在论文的最后提供了一个部署和模拟攻击的测试,用来验证本系统的准确性、可靠性和性能。