防止篡改ActiveX控件用途的方法和系统技术方案

技术编号:8633422 阅读:223 留言:0更新日期:2013-04-27 17:27
本申请提供了一种防止篡改ActiveX控件用途的方法,包括以下步骤:ActiveX控件将接口的预置结果返回给宿主容器;ActiveX控件获取宿主容器的当前页面地址;ActiveX控件将获取的当前页面地址向验证服务器发送验证请求;验证服务器验证当前页面是否可信,并将结果返回给ActiveX控件;ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用,若当前页面可信,则允许当前页面继续使用,反之,则不允许被当前页面继续使用。本申请还提供了一种实现前述方法的防止篡改ActiveX控件用途的系统。本申请的防止篡改ActiveX控件用途的方法及系统,能够识别恶意网页,解决ActiveX控件因为被恶意篡改用途而给用户计算机带来安全威胁的问题。

【技术实现步骤摘要】

本申请涉及计算机网络安全
,特别是涉及一种防止篡改ActiveX控件用途的方法及系统。
技术介绍
ActiveX是一个用于定义与编程语言无关的组件重用的架构,由此,软件就可以由这些与编程语言无关的组件所构成。ActiveX是微软(Microsoft)于1996年提出的,它是对组建对象模型(Component Object Model, COM)和链接嵌入对象(Object Linking andEmbedding, OLE)技术的一个发展。ActiveX控件(ActiveX Controls)作为一个用于定义与编程语言无关的组件重用的架构,可用于创建可通过web浏览器工作在互联网上的分布式应用程序。ActiveX控件日益成为开发应用于多种容器的可编程软件组件(programmable software components)的主流架构。ActiveX控件可以在本地计算机中以当前用户权限做任何的事情,比如读写注册表、访问文件系统等。另外,ActiveX控件可以嵌入到脚本容器中并且可被脚本驱动。在比如IE浏览器(Internet Explorer)中的宿主容器中,驱动控件的脚本的来源是未知的、不可信任的。因此,如果ActiveX控件被恶意来源的站点使用恶意脚本调用,恶意篡改其用途(Repurposing),而插件又具有无限制的运行权限,这将给用户的计算机系统带来极大的安全威胁。
技术实现思路
本申请所要解决的技术问题是提供一种防止篡改ActiveX控件用途的方法及系统,能够识别恶意网页,解决 ActiveX控件因为被恶意篡改用途而给用户计算机带来安全威胁的问题。为了解决上述问题,本申请公开了一种防止篡改ActiveX控件用途的方法,包括以下步骤ActiveX控件将接口的预置结果返回给宿主容器;ActiveX控件获取宿主容器的当前页面地址;ActiveX控件将获取的当前页面地址向验证服务器发送验证请求;验证服务器验证当前页面是否可信,并将结果返回给ActiveX控件;ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用,若当前页面可信,则允许当前页面继续使用,反之,则不允许被当前页面继续使用。进一步地,所述ActiveX控件不允许被当前页面继续使用包括ActiveX控件中断宿主容器创建ActiveX对象的操作;或ActiveX控件拒绝当前页面访问ActiveX控件提供的接口。进一步地,所述ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用包括ActiveX控件通过接口方法的返回值控制ActiveX对象的创建过程;若当前页面可信,则接口方法返回预设的正确代码,允许ActiveX对象完成创建;若当前页面不可信,则接口方法返回预设的错误代码,宿主容器根据接收到的接口方法返回值中断创建ActiveX 对象。进一步地,所述ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用包括ActiveX控件将结果存储在ActiveX控件内部的成员变量中;在ActiveX的所有接口实现中首先检查该成员变量,若当前页面不可信,则ActiveX控件提供的接口拒绝当前页面脚本对接口的调用。进一步地,所述ActiveX控件获取宿主容器发送的当前页面地址包括宿主容器调用ActiveX控件的IOb jectWithSite接口的SetSite方法将容器指针传递给ActiveX控件;ActiveX控件根据获取的容器指针取得当前页面的地址HostUrl。进一步地,所述ActiveX控件通过https向验证服务器发送验证请求。进一步地,所述验证服务器验证当前页面是否可信包括验证服务器将获取的当前页面地址根据一定的逻辑与预先存储的可信列表中的地址进行查找,若包含在可信列表中,则认为当前页面是可信的,反之,则认为当前页面是不可信的,所述查找逻辑包括域匹配、站点匹配、地址参数匹配、整个页面地址匹配。进一步地,所述方法还包括 自动或人工更新所述验证服务器中预先存储的可信列表。为了解决上述问题,本申请还公开了一种防止篡改ActiveX控件用途的系统,包括ActiveX控件,用于将IobjectSafety的预置结果返回给宿主容器,从而获取当前页面地址,并将当前页面地址传送给验证服务器;验证服务器,用于验证ActiveX控件传送的宿主容器的当前页面地址,并将结果返回给ActiveX控件;所述ActiveX控件根据验证服务器的结果确定是否允许自己被当前页面继续使用,若当前页面可信,则允许被当前页面继续使用,反之,则不允许被当前页面继续使用。进一步地,所述ActiveX控件包括操作确定模块,用于确定是否中断宿主容器创建ActiveX对象的操作;或访问确定模块,用于确定是否允许当前页面访问ActiveX控件提供的接口。进一步地,所述ActiveX控件包括验证模块,用于根据宿主容器传送的容器指针取得当前页面的地址HostUrl。进一步地,所述验证模块包括发送单元,用于通过https向验证服务器发送验证请求。进一步地,所述系统还包括列表管理器,用于维护更新验证服务器中存储的可信列表,可信列表的记录形式可以是以下所列中的一种或多种域名、站点、页面地址、页面地址的中参数、匹配模式。与现有技术相比,本申请包括以下优点本申请的防止篡改ActiveX控件用途的方法及系统通过在ActiveX控件预设返回结果,当宿主容器(JavaScript和VBScript引擎)调用IobjectSafety接口时,ActiveX控件首先返回预置结果,使得ActiveX对象的创建过程能够继续进行;然后,在宿主容器调用IObjectSafety接口的SetSite方法时,ActiveX控件获取当前页面地址(HostUrl),并发送网页到验证服务器进行验证,通过验证服务器的返回结果判断当前页面是否合法,并采取相应的处理办法。由于宿主容器(JavaScript和VBScript引擎)是在调用IObjectSafety接口并得到“本ActiveX控件安全”的回复后才会调用SetSite方法,因此,通过控制IObjectSafety接口的返回值的传统验证方法不能适用于这类宿主容器。通过本方法,一方面,预置的安全回复结果能使宿主容器创建ActiveX对象的过程继续;另一方面,在后续的创建过程(即调用SetSite方法获取到HostUrl后)会被截断以验证HostUrl的合法性,以此为凭据来决定创建过程是否中止,或者决定宿主容器是否可以使用控件接口提供的功能。以此来阻止恶意脚本对控件接口的非法调用,从而避免ActiveX控件被非法篡改用途。另外,通过将网页地址发送给验证服务器来进行验证,可以只在服务器端维护可信列表,并可以及时的维护更新。这就突破了传统方法中可信列表编译在控件内部,当可信列表变化时必须重新发布插件的限制,也就省去了用户端浏览器在可信站点变化时必须重新升级插件的步骤。进一步地,使用https进行ActiveX控件与验证服务器的通信,保证了验证过程的保密性和完整性。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。附图说明图1是本申请的 防止篡改ActiveX控件用途的方法实施例一的流程图;图2是本申请的防止篡改ActiveX控件本文档来自技高网...

【技术保护点】
一种防止篡改ActiveX控件用途的方法,其特征在于,包括以下步骤:ActiveX控件将接口的预置结果返回给宿主容器;ActiveX控件获取宿主容器的当前页面地址;ActiveX控件将获取的当前页面地址向验证服务器发送验证请求;验证服务器验证当前页面是否可信,并将结果返回给ActiveX控件;ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用,若当前页面可信,则允许当前页面继续使用,反之,则不允许被当前页面继续使用。

【技术特征摘要】
1.一种防止篡改ActiveX控件用途的方法,其特征在于,包括以下步骤 ActiveX控件将接口的预置结果返回给宿主容器; ActiveX控件获取宿主容器的当前页面地址; ActiveX控件将获取的当前页面地址向验证服务器发送验证请求; 验证服务器验证当前页面是否可信,并将结果返回给ActiveX控件; ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用,若当前页面可信,则允许当前页面继续使用,反之,则不允许被当前页面继续使用。2.如权利要求1所述的防止篡改ActiveX控件用途的方法,其特征在于,所述ActiveX控件不允许被当前页面继续使用包括 ActiveX控件中断宿主容器创建ActiveX对象的操作;或 ActiveX控件拒绝当前页面访问ActiveX控件提供的接口。3.如权利要求2所述的防止篡改ActiveX控件用途的方法,其特征在于,所述ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用包括 ActiveX控件通过接口方法的返回值控制ActiveX对象的创建过程;若当前页面可信,则接口方法返回预设的正确代码,允许ActiveX对象完成创建;若当前页面不可信,则接口方法返回预设的错误代码,宿主容器根据接收到的接口方法返回值中断创建ActiveX对象。4.如权利要求2所述的防止篡改ActiveX控件用途的方法,其特征在于,所述ActiveX控件根据返回结果确定是否允许自己被当前页面继续使用包括 ActiveX控件将结果存储在ActiveX控件内部的成员变量中;在ActiveX的所有接口实现中首先检查该成员变量,若当前页面不可信,则ActiveX控件提供的接口拒绝当前页面脚本对接口的调用。5.如权利要求1所述的防止篡改ActiveX控件用途的方法,其特征在于,所述ActiveX控件获取宿主容器发送的当前页面地址包括 宿主容器调用ActiveX控件的IObjectWithSite接口的SetSite方法将容器指针传递给ActiveX控件; ActiveX控件根据获取的容器指针取得当前页面的地址HostUrl。6.如权利要求1所述的防止篡改Activ...

【专利技术属性】
技术研发人员:邱武松
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1