关于ActiveX控件应用安全的研究论文范文

发布时间:2012-03-13 10:12:36 论文编辑:第一代写网
计算机论文范文—关于ActiveX控件应用安全的研究论文范文
  
  ActiveX是微软公司提出的基于COM和OLE的一种通用开放程序接口,它被广泛应用于第三方应用程序(即控件)开发。但由于第三方开发人员编程方面的原因,控件出现越来越多的漏洞,容易被恶意网站利用后进行破坏及窃取信息等活动,给个人和企业带来很大损失。因此,对ActiveX控件的应用安全进行研究具有现实意义。
  1、ActiveX控件的概念
  ActiveX是以微软COM模型(ComponentObjectModel)为理论基础建立起来的技术,通过建立带有接口的对象,ActiveX控件能被其他COM组件或者程序调用,为代码的重用提供一种简化途径。
  ActiveX控件技术提供了一个集成平台,为开发人员、用户提供了一个快速简便的在Internet或Intranet程序集成的方法。使用ActiveX控件可以轻松方便的在Web页中插入多媒体、交互式对象、各种文档格式以及复杂程序。
  ActiveX控件由三大要素组成:属性、方法、事件。
  属性:描述控件的特征信息。
  方法:是控件提供给外界的接口,ActiveX控件是通过开放函数名称及参数,为用户使用控件提供便利。
  事件:是控件响应用户控制、执行相应方法的触发条件,如鼠标单击、双击、悬浮等。
  ActiveX控件是嵌入在一个称为Container(容器)的软件(如IE、Word等)中,以组件的方式进行工作的。要调用ActiveX控件,首先要创建控件实例对象,通过实例对象,来设置和操作ActiveX控件的属性和方法。
  以浏览器为容器举例:当Web服务器向浏览器回传内嵌ActiveX控件的页面时,浏览器先在本地注册表中查询是否含有该控件的CLSID(ClassIdentifier)值或名称,若找到则说明该控件已经安装,可直接使用;若找不到,则会根据页面中提供的该控件所在服务器的地址,下载并完成本地安装注册后,即可使用。
  2、ActiveX控件的安全问题
  ActiveX控件多由第三方开发,受开发水平和安全意识等方面的影响,致使所提供的ActiveX控件存在很大的安全隐患。
  由于使用ActiveX控件时,需要下载到本地进行安装并且对外开放接口,因此ActiveX控件的安全问题多出现在以下四个方面:一是其导出函数可能具有隐蔽的逻辑功能,如操作注册表、读写本地文件等;二是通过控件可以获取本地私密信息,如用户名、密码、IP地址等;三是控件本身一些函数在处理参数时由于未对参数长度进行检查而导致字符串缓冲区溢出、整数溢出、格式化字符串漏洞导致浏览器或系统异常;四是一些恶意控件可以通过欺骗行为使用户访问恶意网页、下载恶意程序等。
  这些安全问题一般都是在用户毫不知情的情况下存在和被利用的。因此,如何对ActiveX控件的安全性进行检测,及时发现它所存在的漏洞是避免损失的前提。
  3、ActiveX控件漏洞的检测与发现
  对于ActiveX控件漏洞的检测与发现,主要有两种方式:
  (1)使用Fuzz测试工具。Fuzz测试是一种软件测试技术,通常用来发现软件或者协议存在的安全漏洞。这种测试属于黑盒测试,其测试基本思路就是先通过系统调用获取控件的属性和方法,利用自动化测试工具,根据控件的参数情况,给程序自动输入随机或者异常数据,观察程序的反应,如果程序发生异常中止或显示警告信息等非正常情况,则说明程序可能存在安全漏洞。
  较为常用的Fuzz测试工具是ComRaider。ComRaider可以根据接口所提供的参数类型构造不同的Fuzz脚本,并且此脚本还可通过调试器来进行调试。可以根据参数类型的不同,构造字符串溢出漏洞、整数溢出漏洞、格式化字符串漏洞等。但对于控件中存在的逻辑漏洞,Fuzz工具则无法判断,这需要通过人工的方式来进行分析和挖掘。
  下面以对Flash10o.ocx进行Fuzz测试为例简要说明测试过程:
  (2)人工分析方法。先通过控件解析器(如ComRaider)解析出控件的方法和属性,再根据每个方法的参数和返回值来手工构造测试用例,依次对各个属性和方法进行逻辑覆盖和基本路径测试,根据页面的返回结果,确定是否存在安全漏洞。这种方法属于白盒测试,其测试的目标是查找ActiveX控件是否存在恶意修改注册表、操作本地文件、泄漏本地文件信息,是否访问恶意网页、下载恶意程序等逻辑漏洞。
  人工分析的一般步骤:
  首先,通过工具解析出ActiveX控件的属性和方法,查看控件中提供的变量、函数、函数参数、返回值、ProgID、CLSID等信息,根据获取的这些信息,可大致判断函数的功能。表1列出了函数名和函数功能的暗示关系,可供参考:
  其次,根据以上信息来构造相应的测试用例,编写漏洞利用网页,通过浏览器运行该网页,检验控件是否存在安全漏洞。
  人工分析方法除可以测试逻辑漏洞外,也可以检测和发现溢出类漏洞,此时应重点关注函数中的参数,根据参数的类型,分别进行溢出测试。虽然人工分析方法的投入一般比较大,不如自动测试工具快捷,但这种测试方式目标性强,结果准确,灵活性高,可能挖掘出软件工具无法发现的更深层次漏洞。
  综合以上两种方法的特点,笔者建议将这两种方法进行融合。先采用自动化的测试方式,重点关注自动测试中检测出有异常的控件,再通过人工分析方式进行测试和调试,进一步确诊控件是否存在漏洞,以及漏洞产生的原因和危害性,为漏洞的消除提供依据。
计算机论文范文—4、ActiveX控件漏洞的安全防范
  ActiveX可以应用于各种软件开发中,但在C/S模式或单机版应用软件中,ActiveX控件的安全性问题不是很突出,因为它的控件的来源比较清楚,有些是自己开发的控件,并且所使用的控件也相对固定。ActiveX的安全性主要指的是Web中所使用的控件的安全。
  4.1使用特征安全的ActiveX控件
  ActiveX控件在发布时,开发者可使用安全设置和数字签名来保证特征安全。安全设置包括两级安全:一是初始化安全性设置,当将控件标记为设置初始化安全性后,就确保了无论在初始化时使用什么数据和脚本,都不会执行有损于最终用户计算机的操作,一个设置了初始化安全性的控件不会写入或修改任何Windows注册条目、ini文件或作为初始化参数结果的数据文件;二是脚本安全性设置,标记为设置脚本安全性的控件将不能从用户的计算机中获取未授权的信息,也不能对系统造成破坏。
  通过Microsoft的验证代码工具,可以对ActiveX控件进行签名,这告诉用户没有他人篡改过这个控件;为了使用验证代码工具对组件进行签名,必须从证书授权机构获得一个数字证书;证书包含表明特定软件程序是正版的信息,这确保了其他程序不能再使用原程序的标识。证书还记录了颁发日期,当您试图下载该软件时,InternetExplorer会验证证书中的信息。
  4.2在使用ActiveX控件前进行漏洞检测
  由于受软件开发商技术或管理方面的影响,即使对所发行的ActiveX控件加入了安全特征,也不能完全保证该控件是绝对安全的。因此,在使用ActiveX控件前运用上一节所提供的方法进行漏洞检测还是很有必要的,根据检测结果进行区别对待。
  4.3安装补丁文件
  如果所使用的操作系统和应用软件的原开发商已经发布了新补丁或升级版本,用户及时打上新补丁或更新到新版本是构建安全软件环境的首选,因为更新后的版本对已经发现的漏洞进行了有针对性的封堵。
  4.4浏览器中的安全设置
  在浏览器中使用ActiveX控件时,浏览器就是运行的容器,因此浏览器本身的安全设置是防御漏洞的第一道关口。要做好这一道安全,一是及时将浏览器升级至最新版本;二是在浏览器中进行安全设置。点击“工具”→“Internet选项”,切换到“安全”选项卡,点击“要查看区域”中的“Internet”,点击“自定义级别”按钮,拖动滚动条至“ActiveX控件和插件”位置,根据需要对相应的管理项进行设置,如图7所示。对于需要特别放行的站点可以将其加入到“可信站点”中。
  4.5屏蔽所有非主动安装的控件
  有些ActiveX控件的安装并不是用户主动安装的,而是捆绑在其他软件中悄悄在后台安装的,而在实际运行中,恰恰就是这些控件容易给用户造成很大的损失。因此,屏蔽所有不是我们主动安装的组件尤为重要。用户可以使用组策略或第三方优化工具来屏蔽或删除这些额外的控件。
  4.6使用安全软件
  通常,ActiveX控件漏洞的利用都是以木马的形式出现的,因此,选择一款能有效检测和阻止木马的安全软件也是很有必要的。对于安全软件所拦截的操作,用户可以人为地作出判断,对于已确认安全且必须执行的控件,可以选择“放行”或“添加到信任区域”,其余的不明操作可以选择全部阻止,这将为我们的网络应用提供一道安全的屏障。
  5、结语
  针对越来越多的ActiveX控件应用安全问题,本文给出了ActiveX控件漏洞检测和发现的理论和方法,通过这些方法,可以提高AtitvcX控件漏洞挖掘的效率和准确性,及时发现控件中存在的安全问题并给出防御措施,减少黑客使用存在漏洞的ActiveX控件进行攻击的可能性,降低用户因使用此类控件所蕴藏的风险和损失。

  参考文献
  [1]李永成,黄曙光等.ActiveX控件中不安全方法漏洞的检测技术[J].微型机与应用,2010(6):61-62.
  [2]Warlord.ActiceX-ActiveExploitation[EB/OL],
  packetstormsecurity.org/papers/attack/activex.pdf.
  [3]吴毓书,周安民等.基于Fuzzing的ActiveX控件漏洞发掘技术[J].计算机应用,2008(9):2252-2253.
  [4]程红蓉,秦志光等.缓冲区溢出攻击模式及其防御的研究[J].电子科技大学学报,2007(6):867.