用于ACTIVEX控件的零日验证的系统和方法.pdf

上传人:b*** 文档编号:4429312 上传时间:2018-10-01 格式:PDF 页数:18 大小:531.72KB
返回 下载 相关 举报
用于ACTIVEX控件的零日验证的系统和方法.pdf_第1页
第1页 / 共18页
用于ACTIVEX控件的零日验证的系统和方法.pdf_第2页
第2页 / 共18页
用于ACTIVEX控件的零日验证的系统和方法.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《用于ACTIVEX控件的零日验证的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于ACTIVEX控件的零日验证的系统和方法.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103988208 A (43)申请公布日 2014.08.13 C N 1 0 3 9 8 8 2 0 8 A (21)申请号 201280041118.8 (22)申请日 2012.08.24 13/216388 2011.08.24 US G06F 21/57(2013.01) G06F 9/44(2006.01) (71)申请人迈可菲公司 地址美国加利福尼亚州 (72)发明人 P.库马 R.古普塔 M.巴多拉 (74)专利代理机构中国专利代理(香港)有限公 司 72001 代理人张金金 马永利 (54) 发明名称 用于ACTIVEX控件的零日验证的系统和方法 。

2、(57) 摘要 在一个实施例中系统和方法包括用于证实 Microsoft ActiveX 控件的数字签名、识别该 ActiveX控件的可执行文件、授权该可执行文件 作为配置成启用信任传播的更新器(如果数字签 名来自被授权的发行者)以及安装ActiveX控件 的模块。更特定的实施例包括在可执行文件中使 导出函数挂接并且将调用导出函数的线程标记为 更新器。使导出函数挂接包括修补可执行函数使 得当在可执行文件的执行期间调用导出函数时在 执行导出函数之前执行第二函数。其他实施例 包括提取包装ActiveX控件的柜文件、解析柜文 件中的信息文件以及下载额外的组件用于安装 ActiveX控件。 (30)优。

3、先权数据 (85)PCT国际申请进入国家阶段日 2014.02.24 (86)PCT国际申请的申请数据 PCT/US2012/052282 2012.08.24 (87)PCT国际申请的公布数据 WO2013/028978 EN 2013.02.28 (51)Int.Cl. 权利要求书2页 说明书11页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图4页 (10)申请公布号 CN 103988208 A CN 103988208 A 1/2页 2 1.一种方法,其包括: 证实ActiveX控件的数字签名; 识别所述ActiveX控件的至。

4、少一个可执行文件; 如果所述数字签名来自被授权的发行者则授权所述至少一个可执行文件作为更新器; 以及 安装所述ActiveX控件。 2.如权利要求1所述的方法,其中授权所述至少一个可执行文件作为更新器包括: 在所述至少一个可执行文件中使至少一个导出函数挂接;以及 向调用所述至少一个导出函数的线程提供更新特权。 3.如权利要求2所述的方法,其中所述挂接包括修补所述至少一个可执行文件使得当 所述至少一个导出函数在所述至少一个可执行文件的执行期间被调用时,在执行所述至少 一个导出函数之前执行第二函数。 4.如权利要求2所述的方法,其进一步包括在未加载所述至少一个可执行文件时从所 述线程撤销更新特权。。

5、 5.如权利要求1所述的方法,其中所述ActiveX控件在柜文件中包装。 6.如权利要求5所述的方法,其进一步包括提取所述柜文件。 7.如权利要求5所述的方法,其中所述柜文件包括信息文件。 8.如权利要求7所述的方法,其进一步包括解析所述信息文件。 9.如权利要求1所述的方法,其进一步包括下载额外的组件用于安装所述ActiveX控 件。 10.如权利要求1所述的方法,其进一步包括如果所述数字签名不来自被授权的发行 者则阻断所述ActiveX控件的执行。 11.如权利要求1所述的方法,其中所述至少一个可执行文件从包括采用EXE、DLL和 脚本格式的文件的组中选择。 12.如权利要求1所述的方法,。

6、其中证实数字签名包括: 检查与所述数字签名耦合的数字证书是否在证书库中存在以及是否与所述被授权的 发行者关联;以及 证实所述ActiveX控件的完整性,其包括执行函数来返回至少柜文件的哈希。 13.在包括用于执行的代码的非暂时性介质中编码的逻辑,所述逻辑在被处理器执行 时能操作成执行操作,所述操作包括: 证实ActiveX控件的数字签名; 识别所述ActiveX控件的至少一个可执行文件; 如果所述数字签名来自被授权的发行者则授权所述至少一个可执行文件作为更新器; 以及 安装所述ActiveX控件。 14.如权利要求13所述的逻辑,其中授权所述至少一个可执行文件作为更新器包括: 在所述至少一个可。

7、执行文件中使至少一个导出函数挂接;以及 向调用所述至少一个导出函数的线程提供更新特权。 15.如权利要求14所述的逻辑,其中所述挂接包括修补所述至少一个可执行文件使得 权 利 要 求 书CN 103988208 A 2/2页 3 当所述至少一个导出函数在所述至少一个可执行文件的执行期间被调用时,在执行所述至 少一个导出函数之前执行第二函数。 16.如权利要求13所述的逻辑,其中证实数字签名包括: 检查与所述数字签名耦合的数字证书是否在证书库中存在以及是否与所述被授权的 发行者关联;以及 证实所述ActiveX控件的完整性,其包括执行函数来返回至少柜文件的哈希。 17.一种设备,其包括: 存储器。

8、元件;以及 处理器,其能操作成执行与电子代码关联的指令使得所述设备配置成: 证实ActiveX控件的数字签名; 识别所述ActiveX控件的至少一个可执行文件; 如果所述数字签名来自被授权的发行者则授权所述至少一个可执行文件作为更新器; 以及 安装所述ActiveX控件。 18.如权利要求17所述的设备,其中授权所述至少一个可执行文件作为更新器包括: 在所述至少一个可执行文件中使至少一个导出函数挂接;以及 向调用所述至少一个导出函数的线程提供更新特权。 19.如权利要求18所述的设备,其中所述挂接包括修补所述至少一个可执行文件使得 当所述至少一个导出函数在所述至少一个可执行文件的执行期间被调用。

9、时,在执行所述至 少一个导出函数之前执行第二函数。 20.如权利要求17所述的设备,其中证实数字签名包括: 检查与所述数字签名耦合的数字证书是否在证书库中存在以及是否与所述被授权的 发行者关联;以及 证实所述ActiveX控件的完整性,其包括执行函数来返回至少柜文件的哈希。 权 利 要 求 书CN 103988208 A 1/11页 4 用于 ACTIVEX 控件的零日验证的系统和方法 技术领域 0001 本公开一般涉及计算机网络的领域,并且更特定地,涉及ActiveX控件的零日验 证的系统和方法。 背景技术 0002 计算机网络管理和支持的领域在现今的社会已变得日益重要和复杂。对于几乎每 个。

10、企业或组织配置计算机网络环境,其中典型地利用多个互连的计算机(例如,最终用户计 算机、便携式计算机、服务器、打印装置,等)。在许多这样的企业中,信息技术(IT)管理员 的任务可以是管理和保护网络环境(包括主机、服务器和其他网络计算机上的可执行软件 文件(例如,web应用文件)。然而,有效保护并且维护稳定的计算机和系统而不中断或妨 碍正当业务或个人活动的能力对于组件制造商、系统设计者和网络运营商而言呈现出明显 障碍。该障碍由于恶意操作者所利用的不断演进的策略阵列而变得甚至更复杂。在一个示 例中,来自不可信赖的源(即,已知的恶意源或未知源)的可下载Microsoft ActiveX 控件 可潜在地。

11、包含恶意软件。(Microsoft和ActiveX是Microsoft集团公司的注册商标。)然 而,一旦更新的或新的ActiveX控件可用,则用户可需要访问这些更新的或新的ActiveX控 件(甚至在这样的控件已经被确定为可信赖之前也如此)。从而,需要创新工具以在计算机 网络环境内的计算机上的可执行软件文件的有效控制和管理方面帮助IT管理员。 发明内容 0003 综览 在一个实施例中,方法包括证实ActiveX控件的数字签名、识别该ActiveX控件的可 执行文件、如果数字签名来自被授权发行者则授权该可执行文件作为配置成启用信任传播 的更新器(updator)以及安装ActiveX控件。证实数。

12、字签名包括:检查与数字签名耦合的 数字证书是否在证书库中存在以及是否与被授权发行者关联;以及例如通过执行功能来返 回至少柜文件的哈希来证实ActiveX控件的完整性。更特定的实施例包括在可执行文件中 使导出函数挂接并且将调用导出函数的线程标记为更新器。使导出函数挂接包括修补可执 行函数使得当在可执行文件的执行期间调用导出函数时,在执行导出函数之前执行第二函 数。其他实施例包括提取包装ActiveX控件的柜文件、解析柜文件中的信息文件以及下载 额外的组件用于安装ActiveX控件。 附图说明 0004 为了提供对本公开及其特征和优势的更完整理解,结合附图参照下面的描述,其 中类似的标号代表类似的。

13、部件,其中: 图1是图示根据示例实施例用于ActiveX控件的零日验证的系统的组件的简化框图; 图2是图示与本公开的实施例关联的示例操作步骤的简化流程图; 图3是图示与本公开的实施例关联的额外细节的简化流程图;以及 说 明 书CN 103988208 A 2/11页 5 图4是图示与本公开的实施例关联的示例操作步骤的简化流程图。 具体实施方式 0005 图1是图示对于可下载控件的零日验证的系统10的示例实现的简化框图。 Microsoft ActiveX 控件特别适合于在本公开中描述的零日验证活动并且将因此在本文 被引用。示范性网络环境图示计算机网络12,其包括连接到互联网云14的验证引擎20。

14、和 数据库16a(其包括白名单解决方案)和数据库16b(其包括数字签名)。数字签名可对于 特定网络(或组织)而本地创建或被全局定义或其任何适合的组合。相似地,白名单解决方 案可以是本地白名单解决方案或全局白名单解决方案或其任何组合。验证引擎20可包括: 下载模块22,能操作成下载文件,包括来自互联网云14的ActiveX控件;证实模块24,其 能操作成证实可下载文件的数字签名;提取模块26,其能操作成提取下载的文件中的压缩 文件;解析模块28,其能操作成解析下载的文件;更新器模块30,其能操作成授权下载的文 件;挂接模块32,其能操作成使下载的文件中的某些函数挂接;和安装模块34,其能操作成 。

15、安装ActiveX控件。验证引擎20还可包括一个或多个处理器36和一个或多个存储器元件 38。 0006 如本文使用的,“数字证书”是数据集,其可以大致上识别实体。数字证书典型地在 证书机构(“CA”)已经证实请求者的身份后由CA发行给请求者(例如,实体或个体)。数字 证书可以包含不同类型的数据,例如,用于对数字证书签名的算法、发行证书的CA的名称、 请求者的名称和公钥以及CA的数字签名。如本文使用的,“数字签名”是用于证明数字数 据(例如,数字消息或文件)的真实性的数学方案,并且被设计成向接收者确保数据由已知 发送者创建并且它在传送中不会改变。使用一组规则或算法以及一组参数来计算数字签名 使。

16、得签名者的身份以及数据的完整性能够被证实。一般,数字签名算法(DSA)可在软件、固 件、硬件或其任何组合中实现。哈希函数可在签名生成进程中使用来获得数据的浓缩版本, 叫作消息摘要。一般,哈希是通过将数学函数(叫作哈希算法)应用于任意数量的数据使得 对数据的改变改变了哈希值而获得的固定大小的结果。生成具有给定哈希的消息、修改消 息而不改变哈希以及找到具有相同的哈希的另一个消息可全部是不可行的。因此,哈希通 常在信息安全应用中使用。包含哈希的消息摘要被输入DSA来生成数字签名。数字签名连 同签名的数据发送给接收者。相同的哈希函数也在证实进程中使用。DSA验证签名的数据 的完整性和签名者的身份。 0。

17、007 在示例实施例中,文件(例如,ActiveX控件)可通过请求或购买来自CA的数字证 书而被数字签名。该数字证书从而可耦合于数字签名。为了对ActiveX控件数字签名,可 使用私有加密密钥。该私有加密密钥可包含在从CA(例如,VeriSign Inc.)购买的数字证 书中。ActiveX控件(例如,CAB文件)可使用包含在数字证书中的私有加密密钥而被数字 签名。数字签名进程(例如,SignCode.exe)可生成对象,其包含各种信息,例如文件的签名 加密摘要、用于创建签名的CA的身份、数字证书,等。 0008 根据本公开的实施例,验证引擎20可配置成提供从互联网14下载的ActiveX控 。

18、件(如果根据它的数字签名,它来自可信源)的零日验证。一般,ActiveX控件可包装在柜 文件(例如,CAB格式)中,该柜文件已经被该柜文件的发行机构数字签名。如本文使用的, “柜文件”或“CAB文件”是用于封装可执行文件用于交付的文件,并且可以包括CAB文件、 说 明 书CN 103988208 A 3/11页 6 ZIP文件和任何其他相似的文件(包括一个或多个可执行文件的包)。一般,柜文件采用本 地压缩归档格式呈现,从而支持压缩和数字签名。通常,CAB文件可在文件头中保留空白空 间用于一些特定用途,像放置数字签名或任意数据。CAB文件也经常附连到自提取程序,其 中可执行程序提取附连的CAB文。

19、件。CAB文件有时也嵌入其他文件内。在示例情景中,当 Adobe 软件生成包装ActiveX控件的柜文件时,该柜文件被Adobe System, Inc.数字签 名。ActiveX控件可包括采用各种格式的压缩或未压缩可执行文件(在本文也称为二进制 (binary),这些格式包括可执行(*.EXE)、动态链接库(*.DLL)和脚本格式。不管包含在 ActiveX控件中的可执行文件的类型如何,验证引擎20可证实并且授权由ActiveX控件下 载的一个或多个文件并且将这样的被授权文件添加到数据库16。 0009 为了图示系统10的技术的目的,重要是要理解可在给定网络(例如在图1中示出 的网络12)中。

20、存在的文件、活动和安全问题。下面的基本信息可视为本公开可从其中正确 解释的基础。这样的信息仅为了解释目的而切实提供,并且因此不应采用任何方式解释来 限制本公开和它的潜在应用的广泛范围。 0010 在组织(例如,企业、学校、政府组织,等)和家庭中的典型的网络环境包括许多计 算机,例如最终用户台式机、便携式电脑、服务器、网络电器及类似物,其中每个计算机具有 安装的可执行软件集。在大的组织中,网络环境可包括数百或数千个计算机,其可以跨越不 同的建筑、城市和/或世界各地的地理区域。IT管理员通常任务是采用使对组织活动的破 坏最小化或消除这样的破坏的方式维护这些计算机和它们的软件的非凡责任。 0011 。

21、IT管理员在管理网络环境时面临的一个困难是确保仅可信且被批准的可执行软 件文件存在。尽管网络中的计算机初始可配置有仅可信且被批准的可执行软件,通常需要 不断努力(电子和手动两者)来预防未知和/或恶意软件。例如,传统的防病毒解决方案搜 索恶意(即,黑名单)的数据库并且防止在黑名单上所识别的任何软件被执行。然而,黑名单 仅包含已知的威胁,并且因此针对新的malware或有针对性的攻击是低效的。此外,恶意用 户不断地想出新的方案来用恶意软件渗透安全网络。一旦已经创建新的恶意软件块,传统 的黑名单在该新软件被识别为可能威胁、被评估并且确定为恶意的之前不包括这样的新软 件,从而通常给予新的软件块时间来遍。

22、布多个网络传播和散布。 0012 其他保护系统包括白名单解决方案,其搜索已知的可信软件(即,白名单)的数据 库并且仅允许执行软件(如果该软件在白名单上识别)。评估且确定为可信赖(例如,未被感 染的、没有恶意代码,等)的软件程序文件可包括在所谓的“白名单”中。在示例白名单系统 中,软件可由被授权的个体或实体(例如,本地管理员、软件安全组织或企业,等)鉴定为安 全且可信的。白名单可使用校验和(其中存储对于每个程序文件的唯一校验和)来实现,该 校验和可容易与试图被评估的程序文件的计算的校验和进行比较。校验和可以是通过将算 法应用于软件程序文件而推导的数学值或哈希和(例如,固定的数值数字串)。如果算法。

23、应 用于与第一软件程序文件相同的第二软件程序文件,则校验和应该匹配。然而,如果第二软 件程序文件不同(例如,它已经采用某种方式更改,它是第一软件程序文件的不同版本,它 是完全不同类型的软件,等),则校验和几乎不可能匹配。 0013 尽管这些系统在防止未知和/或恶意软件被执行方面提供完全的保护,这样的解 决方案仍遭受若干缺点。特别地,白名单解决方案可以是不灵活的,从而潜在地在需要新软 件时产生延迟和破坏并且对管理工作流程添加额外的步骤。例如,任何软件或它的漏洞补 说 明 书CN 103988208 A 4/11页 7 丁的新鲜发布将不执行,除非它们已经添加到白名单。这可导致较大的问题,因为用户可。

24、被 迫使用现有的不安全软件,直到漏洞补丁已经被白名单管理员在白名单上列出。 0014 特别地,当用户在互联网上从未知源下载ActiveX控件时,这样的ActiveX控件可 必须被筛选来确保它们来自可信源。然而,即使ActiveX控件来自可信源,如果ActiveX控 件文件不在白名单上,它可能不会被允许执行。此外,创建并且执行来安装ActiveX控件的 每个二进制组件如果也未在白名单中识别则它可能不会被允许执行。 0015 ActiveX控件是组件对象模型(COM)兼容二进制代码组件并且它们可以在浏览器 中下载和执行。一般,ActiveX控件是小的程序,其被定制以便在互联网上下载以在web页 面。

25、上提供特定功能性或它关联的内容。例如,ActiveX控件可允许用户快速将特定功能性 添加到他的浏览器而不依赖精细的下载-安装进程。因为ActiveX控件典型地在大小上是 小的,它们可仅仅花几秒来安装。 0016 典型地,Microsoft Windows 操作系统的所有版本允许ActiveX控件在IE中执 行。例如,当用户访问web站点(其具有到Adobe Flash播放器的嵌入式链接)时,并且如果 播放器还未安装在用户的系统上,IE可提示用户下载Flash ActiveX控件,其可以在IE内 显示动画。建议将ActiveX控件包装在柜文件(CAB文件)中,该柜文件包含信息文件(INF 文件)。

26、并且用ActiveX控件的创建者(例如,在它们相应的flash播放器的情况下是Adobe 或Macromedia)的私钥来签名。私钥可以是CAB文件的数字签名的部分。柜格式提供高效 地将多个文件封装在单个柜中的方法;并且跨文件边界执行数据压缩,从而明显提高压缩 速率。注意柜文件整体上被数字签名而柜文件内部的个体组件可未被签名。 0017 当浏览器(例如,Internet Explorer (IE)浏览器)在web页面(例如,超文本标 记语言(HTML)中遇到嵌入式OBJET标签时,浏览器下载并且执行在OBJECT标签中规定的 统一资源定位符(URL)处存在的ActiveX控件。这可呈现明显的安。

27、全风险(例如,ActiveX 控件是malware)并且因此大多数的安全解决方案阻断这样的ActiveX控件的执行。然而, 用户可希望控件中的一些例如因为它们的有用性而运行。自动阻断对于白名单解决方案因 此呈现问题。 0018 白名单解决方案大体上基于任何未知的代码块潜在地不安全并且从而不应被允 许执行这样的前提。从而,如果用户希望安装ActiveX控件或在它发布日(即,零日)更新已 经安装的ActiveX控件,这可不被白名单所允许。不断地了解所有有用/被允许ActiveX 控件的最新情况(包括任何更新)并且将适当的签名添加到白名单对于IT可能是耗时的做 法并且导致资源的低效使用。 0019 。

28、尝试解决这样的问题的一个解决方案基于URL白名单。域管理员可以将给定URL 添加到可信列表并且然后任何域用户被允许从该位点下载并且安装ActiveX控件。然而, 允许URL添加到白名单因为URL可能被“欺骗”而呈现安全风险。欺骗的URL代表伪装成 另一个网站的网站。例如,URL可旨在定位,而ActiveX控件从其下载的实际 位点是,其可包含恶意代码或其他安全风险。此外,每个ActiveX控件需要 单独列出的对应的URL。 0020 对于ActiveX控件的零日验证的系统(由图1概述)可以解决这些问题中的许多。 本公开的实施例可以安全地允许新鲜发布的软件自动在白名单上列出用于在计算机上执 行而不。

29、牵涉管理员对白名单的任何手动添加。本公开的实施例还可以允许未在白名单中列 说 明 书CN 103988208 A 5/11页 8 出的软件自动添加到白名单(如果软件根据它的数字签名来自可信源)。可信源可以是软件 的预选发行者,并且在一个实施例中,可被存储在例如数据库16b等证书库中的它们的数 字证书来识别。 0021 注意在该说明书中,对包括在“一个实施例”、“示例实施例”、“实施例”、“另一个实 施例”、“一些实施例”、“各种实施例”、“其他实施例”、“备选实施例”及类似物中的各种特征 (例如,元件、结构、模块、组件、步骤、操作、特性,等)的引用意在表示任何这样的特征被包 括在本公开的一个或。

30、多个实施例中,但可能或可不一定在相同的实施例中组合。 0022 转向图1的基础设施,验证引擎20中的下载模块22可从在用户访问的互联网14 上的web站点下载柜文件。证实模块24可以使用任何适合的方法来证实下载的柜文件的 数字签名。在示例实施例中,白名单数据库16a和数字签名数据库16b可组合到单个数据 库16内。证实模块24可以证实下载的CAB文件的数字证书是匹配还是用别的方式而适当 地对应于数据库16b中之前存储的证书。数据库16b可预先配置有对应于被授权发行者的 数字证书。备选地或另外,用户可配置应用控制政策来手动添加数字证书。确定CAB文件 的证书和哈希可以通过任何适合的手段(包括执行。

31、功能来返回至少柜文件的哈希)来进行。 例如,可执行Microsoft的MsiGetFileSignatureInformation ()函数来返回柜文件的签 名者证书和哈希。 0023 如果柜文件被证实,提取模块26可以提取柜文件的内容。在示例实施例中,提取 模块26可使用Microsoft提供的作为Microsoft柜软件开发工具包(cadSDK)的部分的柜 文件处理库。柜文件可包含信息文件(.INF),其提供安装指令。INF文件典型地是文本文 件,其规定对于要安装的ActiveX控件所必须呈现或下载的其他文件。例如,INF文件可规 定要下载的文件并且指向这样的文件的URL。解析模块28解析。

32、信息文件并且识别其中的任 何可执行文件(例如,EXE、DLL和脚本)。更新器模块30可通过将适当的可执行文件标记为 更新器而授权它们。 0024 如本文使用的,“更新器”是具有将其他可执行文件和二进制在白名单列表上列出 的特殊特权(即,“更新特权”)的文件。例如,如果EXAMPLEA.DLL在白名单上列出并且变成 更新器,它可以下载EXAMPLEB.DLL,其可以自动在白名单上列出并且标记为更新器,该更新 器然后可以下载EXAMPLEC.DLL等等。在示例实施例中,更新器模块30可使用挂接模块32 来识别可执行文件中的某些导出函数并且适当地修补可执行文件以授权调用这些导出函 数的线程。如本文使。

33、用的,“修补”可执行文件指更新文件、修改文件或运行补丁文件来更新 和/或修改文件。一般,补丁文件是文本文件,其由原始元件与更新元件之间的差异的列表 组成。 0025 授权的可执行文件可由更新器模块30自动添加到数据库16中的白名单解决方案 中。授权的可执行文件可通过下载模块22下载额外的组件用于安装ActiveX控件。这样 的额外组件还可根据情况而自动被授权。因为所有适当的组件可以在白名单数据库已经由 被授权的管理员或实体更新之前而被下载,安装模块34可安装ActiveX控件。 0026 未在图1的系统10中示出这样的硬件,其可采用控制台、用户界面、存储器管理单 元(MMU)、额外的对称多处理。

34、(SMP)元件、外围组件互连(PCI)总线和对应的桥、小的计算机 系统接口(SCSI)/集成驱动电子器件(IDE)元件等而适当地耦合于验证引擎20。另外,还 可包括适合的调制解调器和/或网络适配器用于允许通过系统10的组件的网络访问。任 说 明 书CN 103988208 A 6/11页 9 何适合的操作系统还可在系统10的组件中配置来适当地管理其中的硬件组件的操作。系 统10的组件可包括促进其操作的任何其他适合的硬件、软件、组件、模块、接口或对象。这 可包括促进本文详述的ActiveX控件操作的零日验证的适当的算法和通信协议。 0027 这些元件(参照系统10示出和/或描述)意在为说明性目的。

35、并且并不意味着暗指 架构限制。另外,在适当的情况下并且基于特定要求,每个装置可包括更多或更少的组件。 如在本文在该说明书中使用的,术语“计算机”意味着包含任何个人计算机、便携式电脑、网 络电器、路由器、交换机、网关、处理器、服务器、负载平衡器、防火墙或能操作成影响或处理 网络环境中的电子信息的任何其他适合的装置、组件、元件或对象。 0028 系统10可适于提供对于电子数据的ActiveX控件相关活动的零日验证,该电子数 据可以驻存在计算机的存储器或其他电子存储装置中。与ActiveX控件相关活动的零日验 证有关的信息可以适当地被呈现或发送到特定位点,或简单地存储或归档(例如,在数据库 16a或。

36、16b中)和/或采用任何适当的格式而正确地显示。 0029 转向图2,图2是图示根据本公开可与方法50关联的示例操作步骤的流程图。当 用户激活计算机上的浏览器时,方法50在步骤52中开始。在步骤54中,用户可用链接来 访问网站来下载ActiveX控件。当用户访问需要该ActiveX控件的web页面时,下载模块 22可在该计算机上下载该ActiveX控件。ActiveX控件可采用柜文件包的形式。在步骤56 中,证实模块24检查发行者是否被授权(例如,针对数据库16中的可信证书库中之前存储 的证书来证实CAB文件的数字签名)。可使用任何适合的提取工具从CAB文件提取数字签 名。如果在数据库16的可。

37、信证书库中找到数字签名,则包的完整性也可被证实(例如通过 使用Microsoft的MsiGetFileSignatureInformation ()API)。如果发行者未被授权(例 如,证实失败、证书在证书库中不存在),在步骤58中阻断执行ActiveX控件(例如,经由现 有的白名单解决方案)并且过程在步骤70中终止。 0030 如果发行者被授权(例如,柜文件的数字签名和包的完整性都被成功证实),在步 骤60中提取模块26将柜文件提取到临时目录中。柜文件可包含INF文件,例如,FOO.INF 文件,其可以在临时目录中识别。在步骤62中,解析模块28解析FOO.INF并且可以识别需 要被授权用于。

38、执行以成功安装ActiveX控件的所有二进制。从而,识别的二进制可在白名 单上列出并且标记为更新器。在该示例情景中,FOO.DLL识别为需要这样的授权的二进制。 更新器模块30可授权FOO.DLL用于执行并且配置FOO.DLL来实现“信任传播”。在运行时 对其他二进制的信任特权的授予在本文称作“信任传播”。 0031 当任何可信或更新器程序(例如FOO.DLL)安装新的二进制时,这些新的二进制因 为它们已经被可信程序安装而自动添加到数据库16中的白名单;此外,更新器程序可将它 的信任特权授予新的二进制使得它们也被标记为更新器,并且也有资格安装任何新的二进 制,其也能被添加到白名单并且变成更新器。

39、。从而,信任特权可被继承。FOO.DLL可进一步 在运行时下载其他DLL文件和/或EXE文件(例如,EXAMPLEB.DLL和EXAMPLEB.EXE),其进而 配置成进一步下载更多的二进制(例如,EXAMPLEC.DLL和EXAMPLEC.EXE)。如果信任特权未 从FOO.DLL传播到EXAMPLEB.EXE/EXAMPLEB.DLL,则EXAMPLEB.EXE/EXAMPLEB.DLL可以下载 EXAMPLEC.EXE/EXAMPLEC.DLL,但如果EXAMPLEB. DLL/EXAMPLEB.EXE不在白名单上则可不 允许EXAMPLEB.EXE/EXAMPLEB.DLL执行EXAM。

40、PLEC.EXE/EXAMPLEC.DLL。如果EXAMPLEB.EXE/ EXAMPLEB.DLL在白名单上,则EXAMPLEC.EXE/EXAMPLEC.DLL可仍未被执行,除非EXAMPLEC. 说 明 书CN 103988208 A 7/11页 10 EXE/EXAMPLEC.DLL也在白名单上。 0032 表格示出三个不同类型的程序之间的比较:(1)正常白名单程序;(2)没有启用信 任传播的可信程序;以及(3)启用信任传播的可信程序。在正常白名单程序的情况下,如果 新的二进制或DLL文件在白名单中不存在,由白名单程序调用的该新的二进制或DLL文件 的执行未被许可。如果程序可信,由该程。

41、序调用的新的二进制或DLL文件的执行被许可,即 使新的二进制或DLL文件在白名单中不存在也如此。如果信任传播未被启用,另一个二进 制或DLL(其不在白名单中存在)被新二进制的执行甚至通过可信程序也不被许可。如果 启用信任传播,新的二进制可被标记为可信的并且被允许执行可能不在白名单中存在的其 他二进制或DLL文件。 0033 正常白名单程序没有启用可信传播的可信程序启用可信传播的可信程序 不在白名单中存在的新的二进制或DLL的执行(通过程序)否是是 授予信任特权否否是 不在白名单中存在的二进制或DLL的执行(通过新的二进制)否否是 在步骤64中,FOO.DLL(其已经被授权用于执行)促使下载模块。

42、22下载另一个DLL文 件,例如BAR.DLL。因为FOO.DLL配置成启用可信传播,更新器模块30将BAR.DLL也标记为 可信的和更新器。在步骤66中,BAR.DLL被授权根据情况进一步下载并且执行额外的组件 (例如,二进制)用于安装ActiveX控件。当已经下载所有适当的组件时,在步骤68中安装 模块34安装ActiveX控件。过程在步骤70中结束。 0034 转向图3,图3是图示根据本公开可与实施例关联的额外的细节的简化流程图。当 激活信任传播时,方法80在步骤82中开始。在示例实施例中,由下载模块22下载的二进 制文件可以是便携的可执行32位(PE32)文件。在步骤84中,做出二进制。

43、文件类型的确 定。如果二进制文件(例如,PE32)采用可执行格式(例如,EXE格式),可在步骤86中监视被 PE32.EXE下载并且执行的新的二进制。在步骤88中,信任传播到新近下载的二进制使得它 们被启用以在运行期间下载额外的二进制。这些新的二进制被允许在步骤90中执行。 0035 另一方面,如果二进制文件(例如,PE32)被确定是DLL或对象链接和嵌入控件扩 展(OCX)文件(其可在步骤84中在浏览器(例如,IE)的上下文中加载),在步骤92中关于调 用DLL/OCX文件的线程的数量做出确定。如果DLL/OCX文件可以从仅一个线程调用,可在 步骤94中追踪从线程的上下文的文件下载。另一方面。

44、,如果DLL/OCX文件可以从多个线程 调用,在步骤96中某些函数(例如,与在DLL导入表中的文件创建有关的函数)可挂接来识 别促使下载的文件。从而,被DLL/OCX文件下载的新文件可被追踪并且添加到数据库16a 中的白名单。在步骤88中,信任被传播到新近下载的二进制,使得它们被启用以在运行期 间下载额外的二进制。这些新的二进制被允许在步骤90中执行。过程在步骤98中结束。 0036 在示例实施例中,ActiveX控件可安装如下。浏览器(例如,IE)可下载相关的CAB 文件(例如,ieatgpc.cab)。IE可将CAB文件提取(例如,解开)到一个或多个文件内,例如, ieatgpc.inf和。

45、ieatgpc.dll。IE可解析ieatgpc.inf来找到DLL文件的名称来加载例如 ieatgpc.dll。IE可加载ieatgpc.dll。新近下载的文件(即,ieatgpc.dll)可建立到服务 器的安全连接并且下载额外的DLL文件,例如atgpcdec.dll和atgpcext.dll。信任可被传 播到atgpcdec.dll和atgpcext.dll以使它们能够下载并且执行额外的文件。新的DLL文 件(例如,ieatgpc.dll、atgpcdec.dll和atgpcext.dll)然后可下载额外的二进制(例如, 说 明 书CN 103988208 A 10 8/11页 11 超。

46、过40个DLL文件和EXE文件)并且执行它们来完成ActiveX控件的安装。 0037 转向图4,图4是图示根据本公开在方法100中的示例操作步骤的简化流程图。更 新器模块30在具有下载文件并且将任何相关下载的文件标记为更新器的特殊特权的情况 下可将可执行文件(例如,EXE、DLL和脚本)标记为更新器。一般,当文件正在由进程下载和 /或创建时,(例如,执行下载的计算机的)操作系统可以识别执行该下载的进程。然而,因 为进程可在执行期间调用多个文件(其中的一个执行下载),操作系统可能不能识别在进程 中执行下载的实际文件(例如,DLL文件)。 0038 在ActiveX控件的情况下,浏览器(例如,I。

47、nternet Explorer(IE)是下载并且执 行ActiveX控件的进程,但被IE调用的可执行文件可以是促使下载的实际文件。为了许可 ActiveX控件的下载和执行,促使下载的程序(除IE外)可必须被识别并且标记为更新器。 例如,如果IE被标记为更新器,则ActiveX控件也可在白名单上列出并且被允许执行。然 而,如果IE变成更新器,从互联网下载的任何(并且潜在地全部)文件也可被允许执行并且 变成更新器,从而潜在地造成安全风险。因此,根据本公开,通过识别要变成更新器的适当 的可执行文件,更新器模块30可以选择性地允许执行具有证实的数字签名的可信ActiveX 控件。 0039 具有.E。

48、XE扩展的可执行文件大体上在浏览器的进程上下文外部执行。因此,具 有.EXE扩展的文件可被更新器模块30标记为更新器而未引起浏览器自身变成更新器。然 而,采用DLL格式的文件大体上在浏览器进程的上下文中加载并且因此无法不加区分地变 成更新器。不是所有的DLL文件可执行下载动作,并且因此,可不能不加区分地标记为更新 器。典型地,采用DLL格式的文件在单线程上下文中安装ActiveX控件。执行的线程是可以 被操作系统调度的最小处理单元。多个线程可以在相同进程内存在并且共享资源,例如存 储器。更新器模块30可以识别促使ActiveX控件下载的单线程,并且在特定时间窗口(在 其期间DLL安装可信Act。

49、iveX控件)中将线程变成更新器。 0040 在图4中,更新器模块30使DLL文件(例如,要变成更新器的文件)的一个或多个 导出函数(例如,Original_Func())挂接,使得在运行时,当加载DLL文件的时候,更新器模 块30获得在执行中的特定点处的控制并且可以将其中调用这些导出函数的线程标记为更 新器。如本文使用的,“导出函数”是DLL文件中的模块暴露于其他模块和/或其他文件的 函数。DLL文件包含列出DLL文件导出到其他可执行文件的每一个函数(即,导出函数)的 名称的导出表格。这些函数是到DLL文件内的进入点;仅导出表格中的函数可以被其他可 执行文件访问。DLL文件中的任何其他函数是DLL文件私有的。例如,DLL文件中的导出表 格可包含Createfile()函数,其可被DLL文件和访问DLL文件的其他文件调用。当DLL文 件未被加载时,更新器模块30可从线程撤消更新器特权。 0041 如本文使用的,术语“挂接”涵盖用于通过拦截软件组件之间传递的函数调用或消 息或事件而更改或增广软件组件(例如,可执行文件)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1