您现在的位置是:首页 > IT基础架构 > 网络与安全 >
程序员不应该使用SQL注入功能
摘要:那些没有安全常识的程序员把SQL注入代码作为一个功能写在一些web应用程序里,当这些应用程序开始使用或分发给在线广告网络的分支的时候就会使用户处在安全风险中。 ...
那些没有安全常识的程序员把SQL注入代码作为一个功能写在一些web应用程序里,当这些应用程序开始使用或分发给在线广告网络的分支的时候就会使用户处在安全风险中。
这种编码方式是应用程序运行的关键。这个问题很普遍,以至于一些安全厂家,包括TippingPoint,他们的入侵防御系统(IPS)出厂时默认关闭了SQL注入保护过滤功能,以避免导致应用程序不能使用。
TippingPoint的DVlabs安全研究主任Rohit Dhamankar表示公司在全球的IPS蜜罐系统都发现利用一些Web应用的SQL注入功能来进行的SQL注入攻击出现猛增。TippingPoint通过它的IPS过滤器捕捉攻击企图,进而跟踪全球性的威胁。它也匿名地跟踪客户如何配置他们的IPS。
“有时编写这些应用程序的人并没有意识到他们已经无意中在应用程序放置SQL注入作为一个功能。”Dhamankar说,“当某个广告公司利用一个漏洞,一个SQL注入来向它所有的公司分发报告时,这一攻击就出现了。”
SANS协会在本周发布的《The Top Cyber Security Risks.》报告中声称,SQL注入和跨站点脚本攻击是网上的两个最大的问题。这些错误也往往是最容易被公司忽视的。而美国史上最大的数据安全攻击的黑客们使用的就是SQL注入方法。
开源和定制的程序中的WEB应用程序漏洞,占被发现的漏洞的80%以上,SANS在报告提到。该研究细分了SQL注入错误,像“使用SELECT SQL的SQL注入”“逃避使用字符串函数的SQL注入”和“使用布尔标识的SQL注入”所有的错误,都可以在有漏洞的应用程序启用之前,在软件开发周期纠正。
Dhamankar说那些代码没有写好的在线广告,导致了那次纽约时报网站访问者所遇到的问题。一旦漏洞暴露,攻击者能在广告中下毒,并把点击它们的访问者重定向到恶意网站上去。在那些站点里的自动化脚本会检查有缺陷的浏览器插件和其它没打补丁的应用程序,从而给攻击者一个立足点来感染受害者的电脑。
纽约时报部分地使用了一个广告分发网络。前不久,一个获批的广告正常地显示出来,但是攻击者随后将其替换为一个恶意广告,它弹出一个警告窗口,声称用户的电脑已经被感染了,而且需要点击链接来清除病毒。
这个问题整变得非常普遍,但专家称,修复SQL注入错误往往很困难,并且很昂贵。漏洞扫描能发现成千上万个有SQL注入的错误。
Dhamankar,在SANS协会会议上进行报告的安全专家之一,称合法的在线广告附属公司和其他公司可以使用IPS或WEB 应用防火墙(WAPs)来停止这样的攻击,并且让程序员为他们的错误代码负责。让他们提高意识和进行教育也应该作为优先事项,Dhamankar在会后的一封email信息中写道。
“如果开发部门确保其雇员经过安全编程练习和课程,将能减少此类事件的发生,”他写道,“在公司内部或者通过第三方进行应用程序的安全测试是另一个好办法,以确保web应用程序的漏洞在投入生产之前能被发现。”
数据调查专家和SANS协会讲师,Mandiant (编者注:Mandiant是一家安全公司)的Rob Lee声称,他的研究表明,黑客正在使用钓鱼攻击以及各种各样的社会工程学技巧,来欺骗用户,诱导用户点击恶意链接。其中,三分之一的攻击者习惯使用SQL注入。特别是那些针对有公开网站的金融机构和零售商的攻击,尤其习惯于于使用SQL注入。
“他们通过面向公众的网站侵入,以获得对在后端的信用卡数据的访问能力。”Lee说,“这有点像破门入室的盗窃,不过他们要找的是信用卡数据。”
没有一个银子弹能保护组织免受攻击,InGuardians公司的创始人兼高级安全顾问Ed Skoudis说。一旦恶意代码通过SQL注入或其他方式嵌入进网站,然后受害者就会把恶意内容带入到他们公司内部的机器上,而这台机器上的客户端软件没有完全打好补丁。
这需要更深入的防御,Skoudis说。敏感数据不存储在客户机上,最终用户是否感染就无关紧要——安全专家不能陷入这样的思维。
“一旦坏人攻破了一个客户机,而在目标环境有了立锥之地,他不会到此为止,”Skoudis说。“客户机被攻破之后,攻击者会对公司展开大面积攻击……然后摸到内部网络服务器,这时候你就被全面攻破了。
(本文不涉密)
责任编辑: