面向PHP应用程序的SQL注入行为检测
2018-03-20周颖,方勇,黄诚,刘亮
周 颖,方 勇,黄 诚,刘 亮
(1.四川大学 电子信息学院,成都 610065; 2.四川大学 网络空间安全学院,成都 610207)(*通信作者电子邮箱opcodesec@gmail.com)
0 引言
随着互联网技术的高速发展,Web应用程序在人类生活发展中起到重要的媒介和资产管理作用。然而由于开发人员安全意识不足,全球大部分网站遭受了不同程度的Web攻击。据2016年中国网站安全漏洞形势分析报告[1],SQL(Structured Query Language)注入[2]攻击占据漏洞类型的44.9%,占网站卫士拦截攻击类型的39.8%;而且Web应用一旦被发现SQL注入漏洞,容易形成通用漏洞,威胁范围广泛,影响巨大。所以,为保护互联网信息安全,SQL注入行为检测是至关重要的一个环节。PHP(Hypertext Preprocessor)作为一个优秀的脚本语言,由于其开发周期短、成本低和丰富的扩展资源等优秀特性,在Web技术上已成为主流。据2016年Web漏洞统计[3],87%的漏洞对应的开发语言为PHP,那么,在PHP应用程序中,检测SQL注入行为愈显重要。
对于SQL注入行为检测技术,国内外学者进行了如下研究。Kar等[4]提出基于文档相似性匹配的检测方法,在最常发生SQL注入的位置提取子句,建立恶意子句的哈希库;由于在实际应用中发生SQL注入的位置较多,难以建立起覆盖面较全的恶意子句库。赵宇飞等[5]以网络流量作为数据源,从网络环境中提取恶意请求较正常请求流量中有较大区别的特征检测SQL注入;但该检测方法缺乏SQL注入行为的针对性,容易将其他攻击行为误判为SQL注入行为。由于SQL语句的上下文无关性,恶意语句和正常语句在语义和语法上有较明显的区别,因此,语法分析技术被应用在SQL注入行为的检测中。……
