浅谈高校网站安全中SQL注入问题
2016-02-06林金娜
◆林金娜
(河南护理职业学院 河南 455000)
浅谈高校网站安全中SQL注入问题
◆林金娜
(河南护理职业学院 河南 455000)
高校网站常常面临着系统瘫痪、信息篡改、网页挂马等安全威胁。与跨站点脚本攻击(CSS)相比,SQL注入攻击更能达到黑客的不良目的,危害更大。对此,应当从代码层防御和平台层防御两个方面对高校网站的SQL注入威胁进行应对。
高校网站;SQL注入;网站安全
0 引言
目前,越来越多的高校建立了自己网站,高校网站是对外宣传的窗口,是教学、管理和科研的重要依托,在给师生带来便利的同时也面临着严重的安全问题。根据360网站卫士数据显示:中国每个高校网站平均每天被黑客攻击113次[1]。
黑客热衷于攻击教育网站一方面因为教育网站在搜索引擎中的权重比较高,黑客利用这一点提高其赌博、游戏等网站的搜索引擎优化,另一方面黑客可以通过攻击该网站发布假文凭或更改成绩等。
1 高校网站攻击和其他各类网站攻击中SQL注入事件比重的对比
360互联网安全中心给出的《2015网站安全报告》中显示了各类网站安全漏洞被扫出次数的比例分布情况,如下图1。从图1中可以看出,跨站脚本攻击漏洞XSS(21.9%)、SQL注入漏洞(16.0%)。
图1 2015年各类网站漏洞类型分布(扫描检测)
图2 某高校2016年上半年网站漏洞类型分布
表1 某高校2016年上半年网站安全事件统计表
表1及图2是根据某高校2016年上半年其web应用防火墙所给出的数据,统计得出的网站漏洞类型分布情况。据统计,该高校2016年上半年共计发生825925个网站安全事件,其中SQL注入事件为519098个,占总事件的63%,跨站脚本攻击(XSS)事件为21807个,仅占总事件的3%。这一数据与360互联网安全中心给出的数据相比,SQL注入事件所占的比重提高了近三倍。
上述数据显示高校网站攻击类型分布与各类网站攻击类型分布有明显区别,SQL注入事件明显增加,这与高校网站的特殊性是分不开的。
高校网站与其他类型网站相比,通常面临着出于人为攻击和窃取信息两种目的的以下几类安全威胁:(1)系统瘫痪,黑客通过DoS攻击等方式使网站或网络系统瘫痪;(2)信息篡改,黑客利用网站后台弱口令、网站或系统漏洞等篡改网站内容,发布不良信息;(3)网页挂马,黑客在正常的页面中插入隐蔽的木马程序[2]。
2 SQL注入攻击的分析
SQL注入攻击主要是指攻击者通过系统的漏洞,向系统中注入不合法的SQL查询语言,来获取系统中用户的数据。SQL攻击是由于系统没有对用户的输入数据进行合法性验证所导致。
SQL注入通过网页对网站数据库进行修改,一旦在数据库中添加了具有管理员权限的用户,那么整个数据库就落入黑客手中,黑客可以通过使用扩展存储过程查看、修改整个计算机的所有资料。同时,黑客甚至可以利用管理员权限在网页上挂马,对网站和访问该网站的用户都带来巨大的危害。[3]
在其他各类网站漏洞所占比重较高的XSS又叫CSS,跨站脚本攻击,是指入侵者向web页面插入恶意html代码,当用户浏览此页的时候,恶意代码就会被执行,从而达到入侵者的特殊目的。该攻击的危害是窃取cookie、放蠕虫、网站钓鱼等。
上述两种攻击比较后,不难发现,针对高校网站,SQL注入攻击更能达到黑客的不良目的,所造成危害更大。
3 SQL注入攻击的防御
那么高校网站如何对SQL注入攻击进行防御?由清华大学出版社出版Justin Clarke等所著的《SQL注入攻击与防御》一书中给出以下策略,着重讲到代码层防御及平台层防御两个方面。
3.1 代码层防御
(1)使用参数化语句,因为动态SQL是引发SQL注入漏洞的主要原因,应该使用参数化语句而非动态SQL来安全地组装SQL查询;(2)尽可能坚持使用白名单输入验证,确保验证应用收到的所有受用户控制的输入的大小、类型、范围和内容,白名单输入验证无法使用时才可以用黑名单输入验证;(3)确保对包含用户可控制输入的查询进行正确编码以防止使用单引号或其他字符来修改查询;(4)将输入解码或者变为规范格式后才能执行输入验证过滤器和输出编码;(5)设计时应该考虑对敏感信息进行附加的控制。
3.2 平台层防御
(1)使用运行时保护,web应用防火墙可以有效检测、预防和缓和SQL注入,运行时保护可以跨越多层,多级;(2)强化数据库,可以显著降低SQL注入的影响,应该将访问局限在必须的数据库对象上;(3)强化过的web层部署和网络架构也可以降低其影响,面对攻击,最小化网络、web和应用层上的信息泄露也有助于减少被发现的机会。
4 总结
随着高校网站影响的增加,网站的安全问题日渐突出,SQL注入攻击是其中一个不容忽视的问题,应在上述技术方面加强防御。但对于整个网站安全这个艰巨的工作来说,网站安全问题的出现不仅在技术方面,还必须在思想、管理这两道防御工作上下足功夫。网站安全不仅涉及到开发、运行还涉及到设计与管理等多个方面,首先在设计时应兼顾其功能和安全两个方面,其次在网站开通前要一定要进行全方位的安全测试,最后在思想上要引起足够的重视,在管理上要足够的科学,结合高校网站多元化建设的实际,制定合理的管理制度,才能确保网站的安全。
[1]360互联网安全中心.2013年中国网站安全报告[EB/OL].北京:360互联网安全中心.[2014-10-20].http://zt.360.cn/report/.
[2]张迎,宁玉文等.高校网站信息安全威胁与对策探析[J].中国教育信息化,2010.
[3]华驰.SQL注入给网络安全带来的隐患及解决方案[J],教育信息化,2006.