|
全面解析Web安全原理与技术(下)这里主要分析专为Web服务开发的安全产品,大概有下面几方面的产品:
本文关键字: Web安全 四、Web安全产品分析 围绕Web服务的安全,产品可以说五花八门,最基本的是接入网入口的UTM网关,其中IPS功能与防DDOS功能是Web服务器系统级入侵的直接防护,但UTM是通用的边界安全网关,非“专业的”Web入侵防护,一般作为安全的入门级防护,这里不细说。这里主要分析专为Web服务开发的安全产品,大概有下面几方面的产品: 1、网页防篡改产品: 防护未知攻击是难的,但看好我自己的“家底”是相对容易的。因此,人们最先想到的就是网页防篡改技术,保持自己的“纯洁”,起码对社会不会造成大危害。网页被篡改产品出现在Web早期,几经风雨,各厂家技术逐渐统一。网页防篡改技术的基本原理:是对Web服务器上的页面文件(目录下文件)进行监控,发现有更改及时恢复。所以该产品实际是一个“修补”的工具,不能阻止攻击者的篡改,就来个守株待兔,专人看守,减少损失是目标,防篡改属于典型的被动防护技术。 网页防篡改产品的部署:建立一台单独的管理服务器(Web服务器数量少可以省略),然后在每台Web服务器上安装一个Agent程序,负责该服务器的“网页文件看护”,管理服务器是管理这些Agent看护策略的。 我们先分析一下“页面文件看护”技术的变迁: a)第一代技术,把Web服务器主目录下的文件做一个备份,用一个定时循环进程,把备份的文件与服务使用的文件逐个进行比较,不一样的就用备份去覆盖。网站更新发布时,则同时更新主目录与备份。这种方法在网站大的情况下,网页数量巨大,扫描一遍的时间太长,并且对Web服务器性能也是挤占。 b)第二代技术,采用了Hash算法,对主目录下的每个文件做Hash,生成该文件的“指纹”,定时循环进程直接计算服务用文件的Hash指纹,然后进行指纹核对,指纹一般比较小,比较方便;指纹具有不可逆的特点,不怕仿制。 c)第三代技术,既然网站上页面太多,三级以下页面的访问量,一般使用呈指数级下降,没人访问当然也不会被篡改,在这些页面重复扫描是不划算的。改变一下思路:对文件读取应该没有危险,危险的是对文件的改写操作。若只对文件被改变时才做检查,就可以大大降低对服务器资源的占用;具体做法是:开启一个看守进程,对Web服务器的主目录文件删改操作进行监控,发现有此操作,判断是否有合法身份,是否为授权的维护操作,否则阻断其执行,文件不被改写,也就起到了网页防篡改的目的。这个技术也称为事件触发防篡改。 这种技术需要考验对服务器操作系统的熟悉程度,但黑客也是高手,你的看护进程是用户级的,黑客可以获得高级权限,绕过你的“消息钩子”,监控就成了摆设。 d)第四代技术,既然是比谁的进程权限高,让操作系统干这个活儿,应该是最合适的,黑客再牛也不可能越过操作系统自己“干活”。因此,在Windows系统中,提供系统级的目录文件修改看护进程(系统调用),防篡改产品直接调用就可以了,或者利用操作系统自身的文件安全保护功能,对主目录文件进行锁定(Windows对自己系统的重要文件也采取了类似的防篡改保护,避免病毒的侵扰),只允许网站发布系统(网页升级更新)才可以修改文件,其他系统进程也不允许删改。 这个方法应该说比较彻底,但可以看出,以后防篡改技术将成为操作系统的“专利”了,安全厂家实在是不愿意看到的。好在目前Linux还没有支持。 网页防篡改系统可以用于Web服务器,也可以用于中间件服务器,其目的都是保障网页文件的完整性。 网页防篡改对保护静态页面有很好的效果,但对于动态页面就没有办法了,因为页面是用户访问时生成的,内容与数据库相关。很多SQL注入就是利用这个漏洞,可以继续入侵Web服务器。 到目前为止,很多网页防篡改产品中都提供了一个IPS软件模块,用来阻止来针对Web服务的SQL注入、XML注入攻击。如国内厂家的WebGuard、iGuard、InforGuard等产品。 2、Web防火墙产品: 防止网页被篡改是被动的,能阻断入侵行为才是主动型的,前边提到的IPS/UTM等产品是安全通用的网关,也有专门针对Web的硬件安全网关,国内的如:绿盟的Web防火墙,启明的WIPS(web IPS),国外的有imperva的WAF(Web Application Firewall)等。 Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、XSS等。由于是应用层而非网络层的入侵,从技术角度都应该称为Web IPS,而不是Web防火墙。这里之所以叫做Web防火墙,是因为大家比较好理解,业界流行的称呼而已。由于重点是防SQL注入,也有人称为SQL防火墙。 Web防火墙产品部署在Web服务器的前面,串行接入,不仅在硬件性能上要求高,而且不能影响Web服务,所以HA功能、Bypass功能都是必须的,而且还要与负载均衡、Web Cache等Web服务器前的常见的产品协调部署。 Web防火墙的主要技术的对入侵的检测能力,尤其是对Web服务入侵的检测,不同的厂家技术差别很大,不能以厂家特征库大小来衡量,主要的还是看测试效果,从厂家技术特点来说,有下面几种方式: 代理服务:代理方式本身就是一种安全网关,基于会话的双向代理,中断了用户与服务器的直接连接,适用于各种加密协议,这也是Web的Cache应用中最常用的技术。代理方式防止了入侵者的直接进入,对DDOS攻击可以抑制,对非预料的“特别”行为也有所抑制。Netcontinuum公司的WAF就是这种技术的代表。 特征识别:识别出入侵者是防护他的前提。特征就是攻击者的“指纹”,如缓冲区溢出时的Shellcode,SQL注入中常见的“真表达(1=1)”…应用信息没有“标准”,但每个软件、行为都有自己的特有属性,病毒与蠕虫的识别就采用此方式,麻烦的就是每种攻击都自己的特征,数量比较庞大,多了也容易相象,误报的可能性也大。虽然目前恶意代码的特征指数型地增长,安全界声言要淘汰此项技术,但目前应用层的识别还没有特别好的方式。 算法识别:特征识别有缺点,人们在寻求新的方式。对攻击类型进行归类,相同类的特征进行模式化,不再是单个特征的比较,算法识别有些类似模式识别,但对攻击方式依赖性很强,如SQL注入、DDOS、XSS等都开发了相应的识别算法。算法识别是进行语义理解,而不是靠“长相”识别。 模式匹配:是IDS中“古老”的技术,把攻击行为归纳成一定模式,匹配后能确定是入侵行为,当然模式的定义有很深的学问,各厂家都隐秘为“专利”。协议模式是其中简单的,是按标准协议的规程来定义模式;行为模式就复杂一些。 “自学习”功能的发展: Imperva公司的WAF产品在提供入侵防护的同时,还提供了另外一个安全防护技术,就是对Web应用网页的自动学习功能,由于不同的网站不可能一样,所以网站自身页面的特性没有办法提前定义,所以imperva采用设备自动预学习方式,从而总结出本网站的页面的特点。具体的做法是这样的: 通过一段时间的用户访问,WAF记录了常用网页的访问模式,如一个网页中有几个输入点,输入的是什么类型的内容,通常情况的长度是多少……学习完毕后,定义出一个网页的正常使用模式,当今后有用户突破了这个模式,如一般的帐号输入不应该有特殊字符,而XML注入时需要有“<”之类的语言标记,WAF就会根据你预先定义的方式预警或阻断;再如密码长度一般不超过20位,在SQL注入时加入代码会很长,同样突破了网页访问的模式。 网页自学习技术,从Web服务自身的业务特定角度入手,不符合我的常规就是异常的,也是入侵检测技术的一种,比起单纯的Web防火墙来,不仅给入侵者“下通缉令”,而且建立进入自家的内部“规矩”,这一种双向的控制,显然比单向的要好。 Citrix公司收购了Teros后,推出的应用防火墙通过分析双向流量来学习Web服务的用户行为模式,建立了若干用户行为模型,一但匹配上你是某个行为,就按该模式行为去衡量你的行为做法,有“越轨”企图立即给予阻断。这个自适应学习引擎与Imperva公司的网页自学习有些类似,不过一个重点是学习网页特点,一个是学习用户访问的规律。 从安全角度来说,网业自学习技术与入侵防护结合使用,是理想的选择。 Web防火墙的未来出路: 有一种说法:因为Web服务器前的负载均衡设备、Web 加速设备是不可缺少的,又是Web服务器群的出口必经之路,所以Web防火墙的功能有可能与这些设备合并。这种发展趋势有些象网关UTM与单独的FW、IPS、AV、VPN等设备进化发展一样,UTM就是这些网关的集合产品。 但我有一个不同的看法:UTM部署于网络的外连接出口,一般是互联网出口,其网络安全隔离作用,这里的带宽价格昂贵,所以拥有大带宽的用户很有限,而Web服务器群是与网络主交换机连接的,提供的是应用处理能力,要求的参数常是并发用户的数量与在线用户的数量,服务器一般都是千兆接口,目前的交换机就可达到几十个TB的交换能力,在大流量链路上做多功能的安全产品,又是应用层的检测,对产品的硬件压力是巨大的,能达到“线性”流量的产品一定价格昂贵,因此Web防火墙的这种合并思路是有待商榷的。 3、Web数据库审计产品: 有效恢复是安全保障的一个很重要的理念。我们提到动态网页的防护难点是用数据库现场生成的,因此对数据库的修改就变得很关键, Web数据库审计产品的目的就是对数据的所有操作进行记录,当发现问题时,这些操作可以回溯。打个比方,你在游戏中的装备被别人给“划走”了,过了一周,你发现了,但一周中,游戏在继续,你的装备有很多新动态,合理与不合理变化交织在一起。此时,若管理人员知道确定是“某人”的篡改,就可以把他的动作进行“逆向”操作,你的游戏仍可以继续,不受影响;若通过协商,需要恢复到篡改前的某个状态,则在数据库中先取得篡改前最近一次的备份数据,再使用数据库的审计记录,一直“操作”到篡改前的状态,游戏就可以继续了。这种技术与数据库的实时同步备份技术是类似的。 当然数据库的操作量很大,全部记录需要很大的数据空间,所以,Web服务中重要数据库操作才进行详细审计,审计的目的是为了运营状态的可恢复。常见的Web审计数据: 帐户操作:涉及权限的改变 运营操作:涉及“财与物”的变化 维护操作:涉及“特殊权限”人的动作 Web数据库审计产品一般采用旁路部署,不影响数据库的业务效率。若在业务流量不很大的情况下,可以采用Agent的软件方式,但是不建议完全依靠数据库自身的日志功能,因为,入侵者破坏后一定有“抹去痕迹”的步骤,痕迹一般就是系统本身的日志,单独的审计机制保障了日志的完整性。 4、Web木马检查工具: Web安全不仅是维护网站自己安全,通过网站入侵用户电脑的危害也十分棘手。网页容易被挂上木马,或被XSS攻击利用,是否有工具可以对所有的网页进行安全检查呢?这里用到了“爬虫”技术。 “爬虫”技术最早是搜索引擎“发明”的,搜索网站放出N个小“爬虫”,在世界各地的网站上循环扫描,收集网站上的新信息,建立供世界人民查找的数据库,这样大家就可以从Google、百度等搜索门户上搜到你想要的任何东东。由于“爬虫”来自网站外部,所以可以模拟用户打开网站的实际效果,所以“爬虫”很快被网站用来测试自身性能的“用户体验”工具,比如网页打开的速度,用户互动的等待时间等。作为用户体验工具,“爬虫”很快也在企业内部网络上开始流行,关注用户感受,是08年开始IT领域内最流行的开发理念。 所谓“爬虫”就是这样一些进程,按照一定的规则(横向优先搜索、纵向优先搜索),将网站上所有的页面打开一遍,(你知道很多网站的点击率飞涨的原因了吧,是有无数的小爬虫在工作…),在对网页上关心的事情进行检查。由于是以用户的身份“浏览”网页,所以没有静态与动态页面的差别。Web木马检查工具就是基于这个原理开发的,不同于搜索爬虫的是,在网页检查时,重点查看网页是否被挂木马,或被XSS利用。因为网站内的URL链接去向应该可追溯的,所以对XSS的检查是很有效的。(“爬虫”有些象网页防篡改的文件检查进程是吧,不过一个是在Web服务器的内部,另一个是在web服务器的外部。) Web木马检查工具一般作为安全服务检查使用,也可以单独部署一台服务器,定期对网站检查,发现问题及时报警。该工具目前市场上的产品化很少,一般不销售,网上有些免费的类似软件可以试用,随着Web服务在企业内的应用增多,该工具应该象防病毒检查工具一样流行。 五、新的想法——主机Web网关 Web服务是从互联网技术发展起来,互联网是“草根”文化的集大成者。在互联网中,共享智慧是追求,简捷实用是方法。 很常见的现象,Web服务的处理能力采用集群技术、云计算技术,都是利用物美价廉的PC服务器集成在一起,而不是选用“庞大”的巨型机。P2P技术、CDN技术都是网民降低Web服务中心压力,而又能支持大用户、实时流媒体业务的“互联网Web技术”。但这也为Web业务的安全防护带来问题---网络结构问题。为了提供处理能力,众多的服务器“网”一样地接在核心交换机上,在服务器前没有汇聚点,web防火墙的部署就成了问题。 草根文化的特点就是系统避免过渡依赖某一个点(大家都是重要的)。Web服务不同于传统银行模式的集中处理,服务器是PCServer组成的群,由于加入与离开群,对群的服务没有影响,只是服务处理能力的动态变化而已,所以服务器群中的每个服务器的处理能力相对不是那么宝贵,某个服务器的异常宕机也只是对个别的用户服务有些“临时影响”,在服务器中安装Agent的“恐惧”,Web服务管理者应该是没有的。 为了与“群”或“云”等Web新型网状结构相适应,Web服务应用层的防护,可以与网页防篡改合起来(尤其是OS提供底层的文件修改监控),我们给它一个新的名字——主机Web网关(Host Web Gateway)。 主机Web网关的部署与防篡改产品一样,以Agent的形式嵌入到Web服务器中,不需要再关心Web服务的网络结构,同时,也避免了在Web服务使用加密协议时,网关安全设备对应用层攻击无能为力的弊端。 主机Web网关的主要功能: Web应用入侵防护(SQL注入、XSS等) Web网页自动学习功能 Web用户访问行为的自学习功能 至于系统级的入侵防护与DDOS防护,放在UTM/IPS中解决,Web服务的网络结构就灵活多了。主机Web网关采用软件形式,没有了串行设备的性能要求,部署的成本也会大大下降。 责编:杨雪姣 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:kaiyun体育官方人口
文章著作权分属kaiyun体育官方人口
、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 |
|