扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:JIY 来源:51CTO.com 2008年10月24日
关键字: Web安全
为什么你的Web不安全
在本世纪初互联网热潮时期,有一个词曾非常流行,那就是“眼球经济”,网站建好了,人们的目光自然会被吸引过来,这就是互联网的眼球经济。而在八年后的今天,看起来这句话需要加上一句注脚:骇客们的眼球也全被吸引过来了。
骇客们会将注意力集中在Web系统,原因很简单,我们先来看ISO13335的风险模型:
一个系统,当然也包括Web系统在内,其面临的风险是由三个方面决定的:威胁、弱点和价值。
对Web系统来说,由于一般的网页编码人员没有经过专业的安全培训,很难做到在所有页面中都正确的过滤了违规字符、正确的确保了访问权限,这就造成了Web系统存在各种各样的弱点,比如说SQL注入的漏洞和XSS漏洞。
Web系统作为一种对外提供服务的业务系统,注定需要面对每天无数次的用户访问,利用系统弱点的威胁无时不在。
除开这些原因之外,当前Web系统容易遭受攻击,还有一个非常重要的原因:价值。正如太史公在《史记·货殖列传》中所说的“天下熙熙,皆为利来;天下攘攘,皆为利往”,网站承载的价值,是很多骇客们对攻击网站乐此不疲的根源,除了直接从网站获利外,前些日子在江西落网的一名骇客还有新招:攻击卫生厅网站、人事考试网站、建设厅网站获得管理员权限,然后通过贩卖假证来获利。
从上面风险管理框架图中,我们还能发现一件很有意思的事:即使我们可以在代码层面经过严格的检验,杜绝一切可能的代码缺陷,在应用层面上,可以对所有访问者都进行严格的控制,避免任何威胁的可能,也无法降低系统的资产价值到零,完全避免风险的产生。相反的,随着应用系统Web化进程的推进,Web系统将承载越来越多的价值,而Web业务防御也将越来越被人们所重视。
Web威胁和防御的发展
回过头来,我们回顾一下Web威胁的发展历程,一并也回忆一下相应的解决方案。
早期的Web业务,一般仅承担信息发布的作用,常见的攻击行为就是篡改网站页面,所以其防护措施也相对简单。网页防篡改系统就是这个时期的Web防御代表产品。其工作原理是:将所有发布的信息都备份,并开启watchdog监视网页文件,一旦被修改就和备份数据进行对比,如果不同则恢复。这种方案无视攻击类型,部署也相对简单,但应用范围相对狭小,仅能适用于静态页面。
随着动态页面技术的广泛应用,Web业务进入了一个新的阶段,基于静态文件防护的网页防篡改系统的应用范围缩小了,虽然攻击者最常见的攻击手段还是替换网页,但已经很难单纯用网页防篡改系统来进行保护了,这个阶段最常见的Web防御措施就是防火墙+入侵检测产品,并设置两者的联动:入侵检测产品发现针对Web系统的攻击行为,通知防火墙进行阻断。这种方案不受Web系统的架构影响,但用户必须购买可以相互配合使用的防火墙和入侵检测产品。
到了Web2.0的时代,Web系统的交互性不断加强,出现了像SQL注入、XSS这种可实现“瞬间”攻击的方法,在这种情况下,防火墙+入侵检测联动的解决方案不起作用了,网页防篡改系统也由于Web系统的数据库处在一直不断更新的状态下而无法发挥作用。Web业务安全防御需要有一种能“实时”切断攻击的应用级解决方案。
Web安全产品
针对“实时”切断攻击的应用级解决方案需求,安全界提出了两种解决思路:
思路一:基于自动学习功能的application firewall。这种方案和网页防篡改系统有一点共通点:不关心某一个具体的攻击行为,从行为框架上防御攻击行为。application firewall通常需要一到两周的数据学习期,在这个期间需要给application firewall提供“干净”的数据流量,application firewall将记录并分析这些“干净”的数据,建立一个正常数据模型。在产品的正式工作期间,所有不在正常数据模型内的访问都将被视作异常而予以阻断,并不判断其到底属于什么攻击行为。
这种方法的好处和劣势都同样明显,好处是:由于“训练”系统的数据是“干净”的,而所有攻击行为一定是“不干净”的,所以,报警准确率极高,任何异常都无法穿透application firewall。但正是由于这个学习机制,其劣势如下:必须要保障“训练”期间的数据“干净”而全面,不够“干净”的数据将导致在正式工作期间产品漏报。而不够全面的训练数据将导致产品的误报。此外,被保护的系统如果业务发生变更,需要重新进行“训练”。
思路二:基于入侵防御技术的IPS。这种方法可以视作从防火墙+入侵检测联动的方案中转化而来,保持了对入侵行为的检测分析,增加了对数据的实时控制。其原理大致如下:
可以看出,和思路一不同的是,思路二直面系统所存在的威胁和弱点,不但能阻断对Web业务的攻击企图,还可以给用户提供展示Web业务所存在的漏洞和弱点。但考虑到方案二采用检测技术的是基于专家系统而非异常模型,所以其报警准确率将因产品而有所差异。
如何提高Web安全水平
在网络安全界,常说的一个词就是“解决方案”,很少有一个产品能独立完成对一个系统的全面防护,对Web业务也是一样,不论是application firewall还是IPS,都只能作为Web安全解决方案的一个部分,从经典的PDR模型来看,一个完整的安全解决方案,至少应当包括检测、防御、响应这三个部分。
检测,建立对网站安全检查机制,确保入侵的及时获知,通过检测,及时了解网站入侵漏洞,安全状况;
防御,结合网站主流威胁与漏洞状况,部署网站入侵防御产品,完善防护能力;
响应,确立专业支持团队的外援保障,解决及时响应问题,在网站漏洞被验证后,能确保对其漏洞进行安全代码审核修补。
启明星辰于近日推出的网站安全360解决方案,就是PDR模型的典型实践。
针对当前Web业务系统仅有简陋防护和有事件才响应的被动状态,提出了结合安星远程网站安全检查服务(实现检测的120°)、天清入侵防御产品(实现防御的120°)、M2S\ADLAB的应急响应服务(实现响应的120°)的网站安全360解决方案。
和以往的Web安全解决方案不同,360解决方案不是简单的“防御攻击”,而是从事前检测、事中防御、事后响应三个方面,实现对Web业务的全面保护。其思想在Web业务安全防御方面,有十分值得借鉴的地方,即使不购买360安全服务,也可以按照如下思路,对Web系统的安全进行DIY:
事前检测阶段,发现Web系统存在的漏洞,包括系统漏洞和业务漏洞;了解Web系统的当前状况,是否已经被攻击挂马。
事中防御阶段,对针对Web业务的几大威胁,如SQL注入、XSS进行重点防御,同时兼顾对承载Web业务的操作系统进行安全防护。
事后响应阶段,对检测阶段的结果进行响应:修补系统漏洞,完善网页编码,清除网页木马和恶意代码。对防御阶段发现的问题进行响应:如果出现未防住的攻击行为,对被攻击网站进行恢复。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。