安全漏洞的起因:ActiveX技术安全报告络安
今年年初至今,多款著名软件相继爆出安全漏洞,这些安全漏洞都和ActiveX技术有紧密的关系。那么到底是ActiveX技术本身存在问题,还是这些应用软件自身在编写时就先天不足呢?下文将给你详尽的解答。
西汉的萧何是汉高祖刘邦的重要谋臣,他曾向刘邦推荐了善于用兵打仗的韩信,使之为汉朝的建立立下汗马功劳。后来有人向刘邦的妻子吕后告发韩信谋反,吕后与萧何设计骗韩信进宫,被吕后杀死。因此民间有“成也萧何(韩信成为大将军是萧何推荐的),败也萧何(韩信被杀是萧何出的计谋)”的说法。也就是说事情的成败、好坏都由一个人造成的。
在计算机技术里,ActiveX控件可以算得上是一个“萧何”,由于ActiveX控件与开发平台无关,因此一种编程语言上开发的ActiveX控件无须修改,就能在另一种编程语言的开发平台中使用。因此各大软件公司都热衷于推出ActiveX控件,ActiveX控件更是得到一般开发者的喜爱。ActiveX控件一旦被成功开发出来,使用者无需知道该控件的开发过程,只需要将其作为程序开发中的一个普通组件使用。正因为如此,也带来了极大的安全隐患——ActiveX控件不但可以被程序员利用,也可以被黑客攻击者利用,通过它黑客可以很轻松的写出一个可利用的网页木马。目前,利用ActiveX技术漏洞的网页木马越来越多,这已成为系统安全不可回避的一个问题。
从年初的腾讯QQ、新浪UC,到最近的百度搜霸、暴风影音Ⅱ,这些漏洞的起因都和ActiveX控件相关。而且它们常常都是以0day漏洞的面目出现,并且漏洞的运用方法也出奇地一致——网页木马。一时间互联网中网马横风,整个互联网也危机四伏。
ActiveX漏洞分析
以下对今年几个有名的ActiveX漏洞进行分析,看看ActiveX技术在该软件扮演的是什么角色,以便对ActiveX技术的安全性有更深的了解。
腾讯QQ漏洞
今年年初,腾讯QQ连续出现了几个安全漏洞,这些安全漏洞均是由ActiveX创建的,造成这些漏洞的主要原因是由于腾讯程序员的粗心,使得QQ目录中的vqqplayer.ocx文件的第一个参数没有进行长度检查,当出现超长字符串时就会造成一个栈溢出漏洞。
虽然这个漏洞看上去和ActiveX技术没什么关系,但是因为vqqplayer.ocx文件是注册到系统的ActiveX插件,因此黑客通过构建恶意代码的网页诱骗用户浏览,即可打开本地系统端口并远程植入木马到用户系统中,这样黑客就可以轻而易举的远程控制用户电脑。
卡巴斯基漏洞
杀毒软件在进行病毒清除时都会调用某个程序接口,让那些正在使用的病毒文件从磁盘中彻底删除。卡巴斯基在安装时,有一个名为“AxKLProd60.dll”的库文件注册为ActiveX组件,这个组件提供了一个名为DeleteFile的接口函数,该接口函数正是卡巴斯基在删除病毒文件时使用的。
该组件在正常情况下使用是没有问题的,但是该组件在被调用的时候没有进行严格的限制。也就是说除了卡巴斯基本身以外,其他程序代码也可以通过某种方式来调用这个接口函数,这样非法用户就可以删除系统中的任意文件。这个漏洞虽然不是ActiveX技术造成的,但是它同样为漏洞的传播起到了推波助澜的作用。
雅虎通漏洞
雅虎的IM软件雅虎通,也发现其ActiveX控件存在漏洞,黑客可能利用此漏洞向用户系统上传任意文件。
漏洞的主要原因是ActiveX控件的GetFile()方式,没有对用户提交的参数做充分的检查过滤,黑客可通过提供畸形参数向远程系统上传任意文件。虽然相关的控件不能进行远程调用,但黑客完全可以通过恶意代码,在用户本地执行后再调用该组件。这样就可以轻而易举地突破软件的限制,使用户系统沦落为黑客手中的一只肉鸡,进而被黑客远程控制。
查缺补漏
通过对ActiveX漏洞的分析可以发现,虽然问题都出在程序的内部文件中,但是由于这些功能组件都是通过ActiveX进行调用,因此加强ActiveX组件的使用限制尤其重要。
那么用户应该如何防范这些通过ActiveX调用的漏洞呢?下面提供四种常见的防范方法供用户根据自己的实际情况选择使用。
安装补丁文件
安装相关的漏洞补丁文件是上上之选。如果官方网站已经推出了相关的补丁程序,或者推出了最新的程序版本,用户应该及时更新以免被黑客所利用。但是这种方法对于现在大量出现的0day漏洞不起作用。