启动前进程漏洞评估的制作方法

文档序号:12071270阅读:245来源:国知局
启动前进程漏洞评估的制作方法与工艺

本申请要求2014年9月22日提交的题为“Pre-Launch Process Vulnerability Assessment(启动前进程漏洞评估)”的美国实用新型申请号14/493,293的优先权,所述申请通过引用结合在此。

技术领域

本申请涉及计算机安全领域,并且更具体地涉及对可执行对象的潜在漏洞进行评估。



背景技术:

计算机安全是一项重要问题,并且其重要性随着计算设备之间的互联性的提高而提高。在传统安全架构的一个示例中,反病毒或反恶意软件代理周期性地扫描计算机硬盘驱动器来确定机器上是否安装有与已知恶意对象的配置文件匹配的可执行对象。用户还可以在更新变得可用时手动地为可执行对象安装这些更新,或者安全管理员可以在这些更新变得可用时“推(push)”出更新。

附图说明

当与附图一起阅读时,将从以下详细描述中更好地理解本公开。强调的是,根据行业中的标准实践,不同特征未按比例绘制,并且仅用于说明性目的。实际上,为了讨论清楚,不同特征的尺寸可以被任意放大或减小。

图1是根据本说明书的一个或多个示例的分布式计算网络的网络图。

图2是根据本说明书的一个或多个示例的计算设备的框图。

图3是根据本说明书的一个或多个示例的服务器计算设备的框图。

图4是根据本说明书的一个或多个示例的操作栈的框图。

图5是根据本说明书的一个或多个示例的一种安全方法的信号流程图。

图6是根据本说明书的一个或多个示例的由计算设备执行的方法的流程图。

图7是根据本说明书的一个或多个示例的由服务器计算设备执行的方法的流程图。

具体实施方式

综述

在示例中,公开了一种漏洞评估引擎。所述漏洞评估引擎可以包括Shim应用程序和Shim代理。所述Shim应用程序在操作栈中位于相对较低层次,比如恰好在操作系统本身之上。它可以通过操作系统Hook(挂钩)或其他手段拦截系统调用,以便确定是否应该允许可执行对象所采取的行动。所述漏洞评估引擎向服务器发送标识符,比如通用平台列举类(CPE)字符串,所述服务器查询数据库以确定针对所述动作的响应码。所述响应码可以指示所述行动应当被允许、阻止、利用警告而被允许、或其他有用动作。还可以安装Shim代理以便从所述服务器接收通知或向所述服务器查询用于所述可执行对象的可用更新或补丁。

本公开的示例实施例

以下公开内容提供了用于实施本公开的不同特征的许多不同实施例或示例。以下描述了部件和安排的具体示例以便简化本公开。当然,这些仅是示例并且并不旨在是限制性的。另外,本公开在不同示例中可以重复参考标号和/或字母。这种重复是出于简明性和清楚性的目的,并且本身并不决定所讨论的不同实施例和/或配置之间的关系。

不同实施例可以具有不同优点,并且不一定需要任何实施例的任何特定优点。。

本说明书描述了一种漏洞评估引擎,所述漏洞评估引擎可操作用于:拦截可执行对象所进行的或与其相关联的任何动作,比如启动、读取、写入、存储器访问;更新系统文件;删除系统文件;读取属于另一应用程序的文件;更改属于另一应用程序的文件;访问、读取、写入、更新、或删除注册表项或配置文件;周期性地联系远程服务器;向远程服务器提供系统相关信息;从远程服务器下载文件;对从远程服务器下载的文件进行安装;预加载;预取等。

在对动作进行拦截时,漏洞评估引擎可以为所述动作指定执行所述动作的可执行对象特定的信誉。因而,例如,命名为“process.exe”的可执行对象可能未被指定允许所有动作或者阻止所有动作的单个整体信誉。相反,“process.exe”所执行的每个动作可以具有独立的信誉。

如果“process.exe”是仅执行它被授权执行的动作的享有信誉的文件,漏洞评估引擎对最终用户无缝地且不可见地运行。允许可执行对象完成其任务,并且不需要打扰用户。另一方面,如果“process.exe”是执行一些合法功能而且禁止不期望行为的“灰色软件”应用程序,可以阻止某些动作。例如,如果“process.exe”是移动电话的闪光灯应用程序,则它可以具有访问硬件和软件(比如闪光)合法利益,并甚至可能合法地下载并显示广告以支持开发。但如果所述进程还禁止更加易出故障的行为,比如剔除移动电话上的联系人和个人信息并试图将所述信息上传至远程服务器,漏洞评估引擎会进行干预。

每个行为可以具有以适合上下文的粒度落在光谱上的信誉,比如,对于黑名单项的“红色”(总是阻止)、对于灰名单项的“黄色”(只有在用户许可下才允许)、对于白名单项的“绿色”(总是允许),或具有表示不同变量(比如,“阻止”、“允许”、“寻求用户输入”、“寻求管理员输入”等)的多个维度的多方面数字评分。

白名单对应用程序安装会特别有用,其中,用户空间应用程序安装在机器上。更一般地,如果已知一定的动作集合(在可接受的确定度内)对于某些应用程序是安全的,则可以将那些动作对那些应用程序列入白名单。这有助于避免对用户输入的不必要征求。相反,可以将更低层次的操作“列入灰名单”。例如,固件更新可能需要来自管理员的特别许可,从而使得甚至用户不能够单独进行固件更新。

在前述灰色软件应用程序中,漏洞评估引擎可以拦截进程从用户剔除联系人和个人信息的尝试,并将所尝试动作标记为“黄色”。然后,漏洞评估引擎可以征求用户输入。如果用户对所述动作进行验证,则允许进程继续进行。如果用户不允许所述动作,则可以将其阻止。在这种情况下,可以采取适当的行动,比如仅针对所述进程暂时地或永久地使网络连接失能,或建立模仿后端服务器的圆形缓冲器,从而使得进程不被通知已经阻止了所尝试动作。

通过非限制性示例,对于已安装的应用程序或新下载的文件两者,行动可以包括访问、读取、更新、删除系统文件或其他应用程序文件,访问、读取、更新、或删除Windows机上的注册表项或类Unix机上的配置文件,周期地使远程服务器联系HTTP POST或发送系统相关信息,或下载并安装来自远程服务器的文件。可以将任何这种动作报告给后端服务器。然后,后端服务器可以咨询全球威胁情报(GTI)或类似数据库或将可执行对象提供给研究小组以进行更加深入的分析。

有利的是,在此公开的漏洞评估引擎可以避免否则可能发生的某些误报。例如,如果将可执行对象预取至存储器中但尚未尝试任何有用工作,追求用户许可可能没有好处。由于漏洞评估引擎向任务而非进程en grosse指定信誉,可以推迟干预,直到进程采取可疑行动。

图1是根据本说明书的一个或多个示例的分布式安全网络100的网络层次图。在图1的示例中,多个用户120操作多个计算设备110。具体地,用户120-1操作台式计算机110-1。用户120-2操作膝上型计算机110-2。最终用户120-3操作移动设备110-3。每台计算设备可以包括适当的操作系统,比如微软Windows、Linux、安卓、Mac OSX、苹果iOS、Unix等。相比一种类型的设备,可能在另一种类型的设备上更经常地使用前述项中的一些项。例如,台式计算机(也可以是工程工作站)可能更有可能使用微软Windows、Linux、Unix或者Mac OSX之一。膝上型计算机110-2(通常是具有最小定制化的更便携的现成设备)更有可能运行微软Windows或者Mac OSX。移动设备110-3更有可能运行安卓或者iOS。然而,这些示例并不旨在是限制性的。

计算设备110可以经由网络170而彼此通信地耦合以及耦合到其他网络资源。网络170可以是任何适当的网络或网络的组合,通过非限制性示例的方式,包括例如局域网、广域网、无线网络、蜂窝网络或互联网。同样与网络170连接的是一个或多个服务器140、应用程序储存库160、以及通过各设备连接的人类参与者,包括例如安全管理员150、攻击者190、和开发者180。

服务器140可以被配置成用于提供适当的网络服务,包括在本说明书的一个或多个示例中公开的某些服务。在某些实施例中,服务器140还可以包括通过一个或多个媒介连接的远程或“云”服务。

用户120的目标可以是在没有来自攻击者190和开发者180的干扰的情况下成功地操作他们各自的计算设备110。在一个示例中,攻击者190是恶意软件作者,其目的是造成恶意伤害或损害。恶意伤害或损害可以采取以下形式:在计算设备110上安装Rootkit或其他恶意软件以便篡改系统、安装间谍软件或广告软件以便收集个人和商用数据、丑化网站、操作僵尸网络、操作垃圾邮件服务器或仅打搅和骚扰用户120。为了实现这些目标,攻击者190可能期望将恶意软件安装在一个或多个计算设备110上。如贯穿本说明书所使用的,恶意的软件(“恶意软件(malware)”)包括被设计成用于采取潜在不想要的行动的任何病毒、木马、僵尸、Rootkit、后门、蠕虫、间谍软件、广告软件、勒索软件、拨号器、有效载荷、恶意浏览器辅助对象、Cookie、登陆器等,通过非限制性示例包括数据销毁、隐匿数据采集、浏览器劫持、网络代理或重定向、隐匿追踪、数据记录、密钥登陆、对移除的过度或蓄意阻碍、联系收获、以及未授权自传播。

开发者180也可以在网络170上进行操作。开发者180可能没有特定的恶意,但可能有对用户120不利的利益,或者可能开发造成安全风险的软件。例如,众所周知的且经常被利用的安全缺陷是所谓的缓冲器溢出,其中,恶意用户(比如攻击者190)能够将过长的字符串输入输入表中并且由此获得执行任意指令或者使用提升的特权来操作计算设备110的能力。缓冲器溢出可以是例如不良输入验证或未完成的垃圾收集的结果,并且在许多情况下,在非显而易见的情境中出现。因此,尽管开发者180本身不是恶意的,但是其可能为攻击者190提供攻击向量。开发者180所开发的应用也可以引起固有问题,比如崩溃、数据丢失或其他非期望的行为。在另一示例中,开发者180开发可以灰色软件资格的软件,其中,所述软件本身提供有用的功能,但同样例如对使来自用户120的信息货币化过度侵入。

开发者180可以自己托管软件,或者可以将他的软件上传到应用程序储存库160。因为来自开发者180的软件本身可能是期望的,所以开发者180在漏洞变得已知时偶尔提供修复漏洞的更新或补丁是有益的。

应用程序储存库160可以表示“app商店”、软件储存库(比如一般用于Unix和Linux环境的那些)、或为用户120提供交互地或自动地下载并将应用程序安装在计算设备110上的能力的其他网络服务。在更广泛的意义上,互联网可以被视为非常大型的分布式应用程序储存库160。因而,在一些实施例中,应用程序储存库160可以被集中控制,在其他实施例中,所述应用程序储存库可以是非集中式的,或所述应用程序储存库可以是两者的组合。开发者180和攻击者190都可以经由应用程序储存库160提供软件。如果应用程序储存库160具有适当的使攻击者190难以分散明显恶意的软件的安全措施,那么攻击者190反而可以暗中将漏洞插入到显然有益的应用中。

在一些情况下,一个或多个用户120可以属于企业,所述企业可以包括企业服务器140。一个或多个安全管理员150可以管理企业服务器140,并且还可以负责通过网络和软件策略定义和/或实施企业计算策略。例如,所述企业可以提供策略指示,所述策略指示限制可以安装在企业计算设备110上的应用程序类型,并且可以禁止或限制来自应用程序储存库160的应用程序的安装。因而,应用程序储存库160可以包括并非无意被发开且并非恶意软件,但虽然如此仍违反策略的软件。例如,一些企业限制对娱乐软件(如媒体播放器和游戏)的安装。因此,甚至安全的媒体播放器或游戏也可能不适合企业计算机。

在另一示例中,用户120可以是小孩子的父母,并且希望保护小孩子不受非期望内容(通过非限制性示例的方式,比如,色情作品、广告软件、间谍软件、不符合年龄的内容、对某些政治、宗教或社会运动的倡导、以及用于讨论非法或者危险活动的论坛)的影响。在这种情况下,父母可以承担安全管理员150的角色,并且可以为家庭定义并实施计算策略。

总的来说,恶意软件、灰色软件、违反策略的软件、和上文所描述的其他内容可以被称为“潜在不想要的内容”(PUC)。在示例中,用户120的目的是在限制或去除PUC的同时配置并操作计算设备110,并且安全管理员150的目的是制作并实施防止PUC侵染网络170并对其起作用的策略。为了这个目的,计算设备110可以包括用于标识和去除PUC的服务,并且服务器140可以提供基于附加网络的服务,这些服务被配置成用于实施策略并另外辅助计算设备110排除PUC。

在当前架构的示例中,计算设备110被规定具有与服务器140通信的Shim应用程序。所述Shim应用程序可以被特定地配置成用于通过拦截可执行对象所做的API调用和系统调用来拦截新进程的执行以及具体新应用程序的安装。所述Shim应用程序可以例如通过操作系统Hook而被嵌入操作栈,从而使得它对在应用程序层次执行的应用程序或进程无缝地且不可见地运行。当用户尝试启动应用程序(并且具体地安装程序)时,Shim应用程序可以收集适当的度量来确定是否应该允许所述应用程序。在一些情况下,那些度量还可以使得Shim应用程序查询服务器140来确定对应用程序是否存在任何限制,比如企业策略限制、家庭限制、或基于被标记为潜在不想要的内容的应用程序的限制。取决于对象的信誉,同一应用程序可以无缝地允许执行,可以默默地阻止执行,可以利用对用户的警告来阻止执行,或可以在许可继续进行执行之前请求来自用户的附加验证。Shim应用程序还可以开始监控可执行对象的活动,(通过非限制性示例)像访问/读取/更新/删除系统文件或其他应用程序文件或访问/读取/更新/删除Windows机上的注册表项或类Unix机上的系统文件,或它是否周期性地使远程服务器与POST联系/发送系统相关信息或下载并安装来自远程服务器的文件。将认识到的是,还可以采取其他潜在行动,并且所有此类适当行动旨在被涵盖在本说明书的广泛范围内。

图2是根据本说明书的一个或多个示例的客户端设备110的框图。客户端设备110可以是任何适当的计算设备。在各种实施例中,通过非限制性示例的方式,“计算设备”可以是或可以包括:计算机、嵌入式计算机、嵌入式控制器、嵌入式传感器、个人数字助理(PDA)、膝上型计算机、蜂窝电话、IP电话、智能电话、平板计算机、可转换平板计算机、手持计算器或者用于处理和传达数据的任何其他电子、微电子或者微机电设备。

客户端设备110包括连接至存储器220的处理器210,所述存储器具有存储在其中的用于提供操作系统222和漏洞评估引擎224的可执行指令。客户端设备110的其他部件包括存储设备250、网络接口260以及外围接口240。

在示例中,处理器210经由存储器总线270-3通信地耦合至存储器220,所述存储器总线可以是例如直接存储器访问(DMA)总线。处理器210可以经由系统总线270-1通信地耦合至其他设备。如贯穿本说明书所使用的,“总线”包括任何有线或无线互连线、网络、连接、束、单条总线、多条总线、交叉式网络、单级网络、多级网络或可操作用于在计算设备的各个部分之间或计算设备之间承载数据、信号或功率的其他传导介质。应当注意的是,这些使用仅仅通过非限制性示例的方式公开,并且一些实施例可以省略前述总线中的一种或多种总线,而其他实施例可以采用附加或不同总线。

在各个示例中,“处理器”可以包括硬件、软件或提供可编程逻辑的固件的任何组合,通过非限制性示例的方式,包括微处理器、数字信号处理器、现场可编程门阵列、可编程逻辑阵列、专用集成电路或虚拟机处理器。

处理器210可以经由DMA总线270-3连接至DMA配置中的存储器220。为了简化本公开,存储器220被公开为单个逻辑块,但是在物理实施例中可以包括任何合适的易失性或非易失性存储器技术(或多项技术)的一个或多个块,包括例如DDR RAM、SRAM、DRAM、缓存、L1或L2存储器、片上存储器、寄存器、闪存、ROM、光介质、虚拟存储器区域、磁或磁带存储器或类似的存储设备。在某些实施例中,存储器220可以包括相对低延迟易失性主存储器,而存储设备250可以包括相对较高延迟非易失性存储器。然而,存储器220和存储设备250不需要是物理上独立的设备,并且在一些示例中,可能仅表示功能的逻辑分离。还应注意的是,尽管通过非限制性示例的方式公开了DMA,但是DMA不是与本说明书相一致的唯一协议,并且其他存储器架构是可用的。

存储设备250可以是任何种类的存储器220,或者可以是分离的设备,如硬盘驱动器、固态驱动器、外部存储设备、独立磁盘冗余阵列(RAID)、网络附接存储设备、光学存储设备、磁带驱动器、备份系统、云存储设备、或前述任何组合。存储设备250可以是或其中可以包括一个或多个数据库或存储在其他配置中的数据,并且可以包括操作软件的存储副本,如操作系统222和漏洞评估引擎224的软件部分。许多其他配置也是可能的,并且旨在被涵盖在本说明书的广义范围内。

可以提供网络接口260来将客户端设备110与有线或无线网络通信地耦合。如贯穿本说明书所使用的“网络”可以包括可操作用于在计算设备内或在计算设备之间交换数据或信息的任何通信平台,通过非限制性示例的方式包括自组织本地网、提供具有电交互能力的通信设备的互联网架构、简易老式电话系统(POTS)(计算设备可以使用所述简易老式电话系统来执行交易,在所述交易中它们可以由人类操作员来帮助或在所述交易中它们可以自动地将数据键入到电话或其他合适的电子设备中)、提供通信接口或在系统中的任何两个节点之间进行交换的任何分组数据网络(PDN)、或任何局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟专用网(VPN)、内联网、或促进网络或电话环境中的通信的任何其他适当的架构或系统。

在一个示例中,漏洞评估引擎224是执行方法(比如图4的方法400)或根据本说明书的其他方法的工具或程序。在各个实施例中,漏洞评估引擎224可以在硬件、软件、固件或其一些组合中被具体化。例如,在一些情况下,漏洞评估引擎224可以包括被设计成用于执行方法或其一部分的专用集成电路,并且还可以包括可操作用于指示处理器执行所述方法的软件指令。在一些情况下,漏洞评估引擎224可以作为具有提高的系统权限的“守护”进程运行。“守护进程”可以包括任何程序或一系列可执行指令,无论在硬件、软件、固件或其任何组合中实施与否,那些可执行指令都作为后台进程、终止并驻留程序、服务、系统扩展、控制面板、启动程序、BIOS子程序、或没有直接用户交互操作的任何类似程序的运行。还应注意的是,漏洞评估引擎224仅通过非限制性示例的方式被提供,并且包括交互式或用户模式软件的其他硬件和软件还可以结合、除了或替代漏洞评估引擎224而被提供,以便执行根据本说明书的方法。

在一个示例中,漏洞评估引擎224包括存储在可操作用于执行图4的方法400、或根据本说明书的类似方法的非瞬态介质上的可执行指令。在适当时间(如根据启动客户端设备110或根据来自操作系统222或用户120的命令),处理器210可以从存储设备250中检索漏洞评估引擎224(或其软件部分)的副本并将其加载到存储器220中。然后,处理器210可以迭代地执行漏洞评估引擎224的指令。

外围接口240可以被配置成用于与连接至客户端设备110但不一定是客户端设备110的核心架构的一部分的任何辅助设备接合。外围设备可以可操作用于向客户端设备110提供扩展功能,并且可以或可以不完全依赖于客户端设备110。在一些情况下,外围设备可以是其自身的计算设备。通过非限制性示例的方式,外围设备可以包括输入和输出设备,如显示器、终端、打印机、键盘、鼠标、调制解调器、网络控制器、传感器、换能器、致动器、控制器、数据采集总线、照相机、麦克风、扬声器、或外部存储设备。

图3是根据本说明书的一个或多个示例的服务器140的框图。服务器140可以是任何合适的计算设备,如联系图2所描述的。一般地,图2的定义和示例可以被视为同等地适用于图3,除非另外特别声明。

服务器140包括连接至存储器320的处理器310,所述存储器具有存储在其中的用于提供操作系统322和漏洞评估服务器引擎324的可执行指令。服务器140的其他部件包括存储设备350、网络接口360和外围设备接口340。

在示例中,处理器310经由存储器总线370-3通信地耦合至存储器320,所述存储器总线可以是例如直接存储器访问(DMA)总线。处理器310可以经由系统总线370-1通信地耦合至其他设备。

处理器310可以经由DMA总线370-3连接至DMA配置中的存储器320。为了简化本公开,存储器320被公开为单个逻辑块,但是在物理实施例中可以包括任何合适的易失性或非易失性存储器技术(或多项技术)的一个或多个块,如联系图2的存储器220所描述的。在某些实施例中,存储器320可以包括相对低延迟易失性主存储器,而存储设备350可以包括相对较高延迟非易失性存储器。然而,存储器320和存储设备350不需要是物理上独立的设备,如联系图2进一步描述的。

存储设备350可以是任何种类的存储器220,或者可以是分离的设备,如联系图2的存储设备250所描述的。存储设备350可以是或者其中可以包括一个或多个数据库或者存储在其他配置中的数据,并且可以包括操作软件的存储副本,如操作系统322以及漏洞评估服务器引擎324的软件部分。许多其他配置也是可能的,并且旨在被涵盖在本说明书的广义范围内。

可以提供网络接口360来将服务器140与有线或无线网络通信地耦合。如贯穿本说明书所使用的“网络”可以包括可操作用于在计算设备内或在计算设备之间交换数据或信息的任何通信平台,通过非限制性示例的方式包括自组织本地网、提供具有电交互能力的通信设备的互联网架构、简易老式电话系统(POTS)(计算设备可以使用所述简易老式电话系统来执行交易,在所述交易中它们可以由人类操作员来帮助或在所述交易中它们可以自动地将数据键入到电话或其他合适的电子设备中)、提供通信接口或在系统中的任何两个节点之间进行交换的任何分组数据网络(PDN)、或任何局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟专用网(VPN)、内联网、或促进网络或电话环境中的通信的任何其他适当的架构或系统。

在一个示例中,漏洞评估服务器引擎324是执行方法(比如图5的方法500)或根据本说明书的其他方法的工具或程序。在各个实施例中,漏洞评估服务器引擎324可以在硬件、软件、固件或其一些组合中被具体化。例如,在一些情况下,漏洞评估服务器引擎324可以包括被设计成用于执行方法或其一部分的专用集成电路,并且还可以包括可操作用于指示处理器执行所述方法的软件指令。在一些情况下,漏洞评估服务器引擎324可以作为守护进程运行,如上文所述。还应注意的是,漏洞评估服务器引擎324仅通过非限制性示例的方式被提供,并且包括交互式或用户模式软件的其他硬件和软件还可以结合、除了或替代漏洞评估服务器引擎324而被提供,以便执行根据本说明书的方法。

在一个示例中,漏洞评估服务器引擎324包括存储在可操作用于执行图5的方法500、或根据本说明书的类似方法的非瞬态介质上的可执行指令。在适当时间上(如根据启动服务器140或根据来自操作系统322或用户120的命令),处理器310可以从存储设备350中检索漏洞评估服务器引擎324(或其软件部分)的副本并将其加载到存储器320中。然后,处理器310可以迭代地执行漏洞评估服务器引擎324的指令。

外围接口340可以被配置成用于与连接至服务器140但不一定是服务器140的核心架构的一部分的任何辅助设备接合。外围设备可以可操作用于向服务器140提供扩展功能,并且可以或可以不完全依赖于服务器140。在一些情况下,外围设备可以是其自身的计算设备。通过非限制性示例的方式,外围设备可以包括联系图2的外围接口240所讨论的设备中的任何一个。

图4是公开了根据本说明书的一个或多个示例的示例操作栈400的框图。根据图4的示例,操作栈400被划分成多个分离的层,在本示例中,七个。应当注意的是,这七层仅仅是举例提供的,并且在一些实施例中,可以提供多个附加层,同时在其他实施例中,可以移除多个层。还应当注意的是,所公开的层仅提供了便于对计算机进行编程和管理的功能逻辑分层。这些层不需要被设置在独立地硬件和软件中,并且在一些情况下,层之间的边界多少会有些模糊。层之间还可以存在一些重叠并且在非连续层之间还可以存在互连。因而,应该理解的是,此架构仅出于便于讨论的目的提供的,并且不旨在限制本说明书或所附权利要求书的范围。

在一个示例中,操作栈400中所显露的层次分级表示逐渐降低的操作权限级别,从底部(硬件层402,最高权限)到顶部(用户界面460,最低权限)。作为非限制性示例,每个层可以提供硬件和/或软件接口,比如应用程序编程接口,上面的层可以通过所述接口下发命令或指令。换言之,在硬件层402,设备被赋予执行它们能够执行的任何操作的权限,并提供某些指令或信号,固件410可以下发所述指令或信号以指示硬件层402执行那些功能中的一些或全部。在用户界面层460,软件仅被赋予提供某些许可的指令的权限,比如通过向应用程序层450发送信号或命令。如上文所讨论的,操作栈400的分层仅作为示例提供,并且在一些情况下,具有权限的层可以重叠,比如在用户界面460具有未授予给应用程序层450的应用程序的某些权限的情况下。

在本示例中,层402是硬件层。层402可以由物理硬件组成,比如微芯片、分离式设备、和相关互连件。硬件层402可以是模拟的、数字的、模数混合的、或任何其他适当硬件架构。

在层402以上是固件层。固件层410可以包括在非易失性存储器(比如闪速存储器、bios、或其他适当的低层次存储设备)上编码的适当的可执行指令。固件层410可以为硬件层402提供基础操作指令,从而使得硬件能够以某种灵活度执行期望功能。在一个示例中,可以仅通过特殊操作更改固件层410,比如将物理设备嵌入计算机、或使存储器闪现。

在固件层410以上的层上是操作系统420。操作系统420可以提供低层次服务,比如固件驱动器包括通用接口,从而使得用户空间程序可能不了解或关心正在执行的特定硬件。操作系统420还可以执行调度,给进程提供优先权,并另外提供有用的功能。

Shim应用程序430可以例如通过操作系统Hook、在操作系统420的正上方并以提升的系统权限被嵌入。Shim应用程序430可以利用操作系统420无缝地运行,并且可以被配置成对用户空间应用程序完全不可见。因而,用户120不需要关心Shim应用程序430的运行,并且需要来自用户120的较少直接干预,比如尽管操作可疑仍然确认应该执行操作的输入。Shim应用程序430可以进一步与被配置成用于提供与Shim应用程序430的合作的更高层次服务交互。所述高层次服务可以运行于服务层次440上。

在示例中,服务440包括作为上文所述的“守护”进程运行的程序。服务440可以提供有用操作,比如文件管理、数据库管理、网络管理、文件服务器、网站服务器、系统监测、或用于提供给计算设备110的任何其他适当背景服务。服务层次440以上是应用程序层450。应用程序层450提供用户空间应用程序,包括办公室应用程序、游戏、通信应用程序、工程应用程序、或用户120可能期望运行在计算设备110上的任何其他适当应用程序。

在应用程序层450以上是用户界面460,所述用户界面提供用于与用户120对接的交互工具。这可以包括例如图形用户界面、文本用户界面、命令行界面、或其他适当界面。在一些实施例中,人机界面设备可以通过与图2的外围设备接口240连接的外围设备与计算设备110对接。

图5是根据本说明书的一个或多个示例的Shim应用程序430、Shim代理530、与服务器140之间的交互的信号流程图500。应当注意的是,所述信号流程是联系具体操作顺序描述的。然而,在此所说明的操作顺序并不旨在为限制性的。在适当的情况下,可以按与在此所限定的不同顺序执行某些操作,并且在一些实施例中,可以酌情省略某些操作,同时其他操作可以在必要时插入。

贯穿本说明书所提供的其他流程图同样并非只在为限制性的。

还应当注意的是,Shim代理530(如联系图4所描述的)可以在服务440层次(或以其权限)、或在某些实施例中在应用程序层层次450运行。这同样旨在仅通过展示的方式提供,并且并非只在是限制性的。在本示例中,在操作1,Shim应用程序430向服务器140发送应用程序验证请求。

此应用程序验证请求可以包括如在此所述的类CPE字符串。如在本说明书中所使用的,“类CPE”字符串可以包括与工业标准CPE字符串类似、但具有适用于本说明书的变化的格式。示例类CPE字符串可以是“唯一标识符/供应商名称/(应用程序或文件或OS)名称/(应用程序或文件或OS)版本/md5/shal/文件尺寸/(数字签名细节)”形式。例如,标准CPE字符串可以包括以下内容:

cpe:/o:microsoft:windows_7:-:-:x64,cpe:/a:adobe:acrobat:9.3.3

cpe:/o:redhat:enterprise_linux:4:update5:ws,

cpe:/o:microsoft:windows_7:6.1:-:home_premium:en-us

cpe:/o:microsoft:windows_server_2008:r2:sp1:x64,

cpe:/a:microsoft:internet_explorer:9.0.8112.16421

cpe:/a:mozilla:thunderbird:0.7.3

cpe:/o:microsoft:windows_vista::sp1,cpe:/a:microsoft:internet-explorer:7.0.5730

本说明书的类CPE字符串可以包括以下内容:

(标识符:SSWS112AS/供应商:Adobe/应用程序名称:acrobat_reader/版本:10.0/md5:B01F5C6B23F5073228AA6D1E05579BE4/sha-1:4F956CE4FD4D9BC7AD7950699B01E5DD45C52A8D/文件尺寸:45056/(发布者:adobe))

(标识符:SSWS112AS/供应商:Oracle/应用程序名称:jre/版本:1.5.0:update_41/md5:B01F5C6B23F5073228AA6D1E05579BE4/sha-1:7F152BB66907E6F84BB77F0C29ClCCD12BE58C84/文件尺寸:225056/(发布者:Oracle))

前述的类CPE字符串仅仅是举例提供的,并且可以被视为属于更广类别的平台标识字符串。可以使用其他类型的标识字符串,比如软件标识(SWID)标签、或其他标识类型。此外,所述标识甚至不需要是字符串,但可以是所制作用来提供必要信息的任何的任意数据。

在操作2,服务器140从Shim应用程序430接收应用程序验证请求,并为所述应用程序构建信誉。构建所述信誉可以包括例如探测CPE和/或漏洞数据库510或520。进一步在操作二中,服务器140可以从数据库接收合适的漏洞和CPE数据。在操作三中,服务器140向Shim应用程序430返回提供响应码。可以拦截所述响应码来停止安装、执行、或有漏洞的应用程序的任何其他适当行动,允许所述行动,或警告用户和/或征求附加验证。

在操作4,服务器140确定是否有任何更新或补丁可用于所请求的应用程序。如果更新或补丁可用,则在操作4,服务器140向Shim代理530提供补丁或更新可用的通知。Shim代理530可以然后指定将补丁或更新下载并安装至另一进程的操作,或创建有待稍后执行的工作项,比如在下一次操作系统启动时间,或在选择进程之前。注意,在某些实施例中,Shim代理530还可以周期性地针对补丁或更新查询服务器140。

在操作5,Shim代理530可以安装合适的更新或补丁,并将已更新的类CPE字符串发送给服务器140。

在操作6,服务器140可以指示Shim代理530监控某些可执行对象。响应于此指令,Shim代理530可以发起监控,或者其本身,或者通过Shim应用程序430。有利的是,如果Shim应用程序430进行监控,则它可以用提高的权限如此做。

在操作7,Shim代理530还可以执行向研究服务560的数据转储,所述研究服务可以例如雇佣人类分析师来分析可执行对象并根据分析师的经验对其进行分类。

图6是对根据本说明书的一个或多个示例的计算设备110完成的方法600的流程图。应该注意的是,可以由Shim应用程序430和Shim代理530之一或两者全部或部分地执行方法600。预期的是,在设计具体实施例时,设计者将根据应用程序的特定设计要求关于Shim应用程序430与Shim代理530之间的责任划分做出选择。因而,并不旨在Shim应用程序430与Shim代理530之间的在此所述的责任划分是限制性的。相反,这些仅仅通过展示提供。

在方框610,Shim应用程序430拦截并暂时阻止可执行对象所采取的行动,比如启动、打开、执行、或在此所公开的其他行动。同样,在方框610,计算设备110向服务器140发送针对进程的验证请求,包括类CPE字符串。

在方框620,计算设备110从服务器140接收响应码,所述响应码可以例如指示与允许、警告、停止、或监控之一相对应的信誉。此响应码与可执行对象的信誉相对应。如果所述信誉为“高”或“好”,则响应码可以为“绿色”或“允许”。如果所述信誉为“低”或“差”,则响应码可以为“红色”或“阻止”。中间响应码可以通过“警告”动作接收比如“黄色”或“橙色”的值。信誉可以基于在企业环境下于可执行对象的之前相遇。“警告”条件可以针对许多条件发生,比如服务器140是否不具有足以指定可靠信誉的数据。在这种情况下,响应码可以指示计算设备110运行动作,但指示Shim代理530使能监控,从而使得活动可以被监控和报告。在另一种情况下,服务器140报告存在漏洞,但所述漏洞不严重。在这种情况下,可以允许执行,但可以指示Shim代理530尽可能快地、或无论何时可用时下载并安装补丁。

在另一示例中,服务器140可能不具有关于具体可执行对象的信誉的足够信息从而做出对其如何处理的有用决定。在这种情况下,响应码可以是“监控”,在这种情况下,Shim代理530将开始监控可执行对象的行为。在收集关于可执行对象的行为的数据之后,Shim代理530可以将所述数据上传至研究服务560以便进一步分析和分类。在一些情况下,监控可以是不问断的,并且Shim代理530可以不止一次上传数据。

在方框630,计算设备110从服务器140接收如在此所述的可用补丁信息。

在方框640,计算设备110在必要时安装更新。

在方框650,计算设备110向服务器140发送其已更新的类CPE字符串,从而反映补丁的安装。

在方框690,所述方法完成。

图7是由根据本说明书的一个或多个示例的服务器140完成的方法700的流程图。应该注意的是,通过示例,本说明书仅描述了对服务器140作用的一种漏洞评估服务器引擎324。然而,应该注意的是,这仅仅是非限制性示例,并且其他的架构是可用的。例如,方法700的操作可以跨多个服务器分布,其中,每个服务器仅执行所述方法的一部分。预期的是,在设计时间,特定实施例的设计者将基于实施例的需求关于哪些服务器执行哪些操作做决定。还应该注意的是,仅通过示例,服务器140独立于计算设备110运行。在一些情况下,漏洞评估服务器引擎324可以与计算设备110设置在同一物理设备上。例如,漏洞评估服务器引擎324可以设置为附加硬件和/或软件。在另一示例中,服务器140可以是与提供计算设备110的虚拟机作用于相同的物理硬件的虚拟机。因而,在此应该注意的是,计算设备110与服务器140之间的责任划分仅是举例提供的,并且并非旨在为限制性的。

在方框710,服务器140从计算设备110接收验证请求和类CPE字符串。

在方框720,服务器140向合适的数据库发送漏洞和类CPE数据请求,所述数据库可以被布置在单独的计算设备上,或所述数据库可以是服务器140的一部分。

在方框730,服务器140从所述数据库接收CPE和漏洞数据。

在方框740,服务器140计算针对所述类CPE字符串的响应码,并将所述响应码发送至计算设备110。所述响应码可以包括(通过非限制性示例的方式)用于允许、警告、或停止的示例。在其示例中,所述响应码不需要清楚地限定行动,但相反可以包含信誉分数,计算设备110可以由所述信誉分数确定合适的行动。

在方框750,服务器140例如通过查询补丁或更新数据库、或通过执行针对可用补丁或更新的互联网搜索标识进程的可用补丁。

在方框760,服务器140向计算设备110发送可用补丁数据,所述可用补丁数据可以包括用于下载和安装合适补丁的指令。

在方框770,服务器140从计算设备110接收用于补丁应用程序的已更新的类CPE字符串。

在方框790,所述方法完成。

前述内容概述了若干实施例的特征,从而使得本领域的技术人员可以更好地理解本公开的方面。本领域的技术人员应该认识到,他们可以容易地将本公开用作设计或修改其他过程以及结构的基础,以便于实施相同的目的和/或实现在此介绍的实施例的相同优点。本领域的技术人员还应意识到,这些等同构造没有背离本公开的精神和范围,并且在不背离本公开的精神和范围的情况下,可在此做出各种改变、替换和替代。

本公开的特定实施例可以容易地包括片上系统(SOC)中央处理单元(CPU)封装体。SOC表示将计算机或其他电子系统的部件整合到单个芯片中的集成电路(IC)。其可以包含数字、模拟、混合信号、以及射频功能,所有这些功能都可以在单个芯片基底上提供。其他实施例可以包括多芯片模块(MCM),多个芯片位于单个电子封装体内并且被配置成用于通过电子封装体彼此密切交互。在各个其他实施例中,数字信号处理功能可以在专用集成电路(ASIC)、现场可编程门阵列(FPGA)和其他半导体芯片中的一个或多个硅核中实施。

在示例实施方式中,在此概述的处理活动的至少一些部分也可以在软件中实施。在一些实施例中,这些特征中的一个或多个特征可以在所公开的附图的元件外部提供的或者采用任何适当方式合并的硬件中实施,以便实现预期功能。各个元件可以包括可以协调以便实现如在此概述的操作的软件(或往复式软件)。在仍其他实施例中,这些元件可以包括促进其操作的任何适合的算法、硬件、软件、部件、模块、接口或对象。

此外,可以移除或者以其他方式合并与所描述的微处理器相关联的部件中的一些部件。在一般意义上,在附图中描绘的安排在其表示上可以更合逻辑,而物理架构可以包括各种排列、组合和/或这些元件的混合。必须注意,可以使用无数可能的设计配置来实现在此概述的操作目标。相应地,相关联的基础设施具有大量替代安排、设计选择、设备可能性、硬件配置、软件实施方式、设备选项等。

任何适当配置的处理器部件可以执行与数据相关联的任何类型的指令以便实现在此详细说明的操作。在此公开的任何处理器可以将元件或物品(例如,数据)从一个状态或一种东西转换为另一个状态或另一种东西。在另一个示例中,在此概述的一些活动可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件和/或计算机指令)实现,并且在此标识的元件可以是某种类型的可编程处理器;可编程数字逻辑(例如,现场可编程门阵列(FPGA);可擦除可编程只读存储器(EPROM);电可擦除可编程只读存储器(EEPROM);包括数字逻辑、软件、代码、电子指令、闪速存储器、光盘、CD-ROM、DVD ROM、磁性或光学卡、适合于存储电子指令的其他类型的机器可读介质、或其任何合适组合的ASIC。在操作中,处理器可以将信息存储在任何合适类型的非瞬态存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等)、软件、硬件中或者在适当情况下并基于特定需要存储在任何其他合适的部件、设备、元件或物体中。进一步地,基于特定需要和实施方式,可以在任何数据库、寄存器、表格、缓存器、队列、控制列表、或存储结构(所有这些可以在任何合适的时间帧被引用)中提供在处理器中被跟踪、发送、接收或存储的信息。在此所讨论的存储器项中的任何存储器项应当被解释为涵盖在宽泛术语‘存储器’内。类似地,在此所描述的可能的处理元件、模块、和机器中的任何一者应当被解释为涵盖在宽泛术语‘微处理器’或‘处理器’内。此外,在各个实施例中,在此描述的处理器、存储器、网卡、总线、存储设备、相关外围设备、以及其他硬件元件可由软件或固件配置来模仿或虚拟化这些硬件元件的功能的处理器、存储器和其他相关设备来实现。

采用各种形式来具体化实施在此描述的功能中的所有或部分功能的计算机程序逻辑,包括但决不限于源代码形式、计算机可执行的形式、以及各种中间形式(例如,由汇编器、编辑器、链接器或定位器生成的形式)。在示例中,源代码包括以各种编程语言实施的一系列计算机程序指令,如目标代码、汇编语言、或高级语言(比如,与各种操作系统或操作环境一起使用的OpenCL、Fortran、C、C++、JAVA或HTML)。源代码可以限定并使用各种数据结构和通信消息。源代码可以采用计算机可执行的形式(例如,经由解释器),或者源代码可以被转换(例如,经由转换器、汇编器、或编译器)成计算机可执行的形式。

在对以上实施例的讨论中,可以容易地替换、替代或以其他方式修改电容器、缓冲器、图形元件、互连板、时钟、DDR、相机传感器、除法器、电感器、电阻器、放大器、开关、数字核、晶体管和/或其他部件,以便满足特定电路需要。此外,应当注意的是,对互补电子设备、硬件、非瞬态软件等的使用提供了同等可行的选项,以便实施本公开的教导。

在一个示例实施例中,可以在相关联的电子设备的板上实施附图的任何数量的电路。所述板可以是能够容纳电子设备的内部电子系统的各个部件并进一步为其他外围设备提供连接器的一般电路板。更具体地,所述板可以提供电连接,系统的其他部件可以通过这些电连接来进行电通信。可以基于特定配置需要、处理需求、计算机设计等来将任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、存储器元件等适当地耦合至所述板。如外部存储设备、附加传感器、用于音频/视频显示的控制器、以及外围设备等其他部件可以作为插入卡而经由线缆附接至所述板,或者整合到所述板本身中。在另一个示例实施例中,附图的电路可以被实施为独立的模块(例如,具有相关联的部件的设备和被配置成用于执行特定应用程序或功能的电路),或者被实施为到电子设备的专用硬件的插入模块。

注意,使用在此所提供的许多示例,可以关于两个、三个、四个或更多个电气部件来对交互进行描述。然而,这样做只是出于清楚和示例的目的。应理解的是,可以采用任何合适方式来合并所述系统。根据类似的设计替代方案,可以在各个可能的配置中组合附图中所展示的部件、模块和元件中的任一者,所有这些配置在本说明书的广泛范围内。在某些情况下,通过仅参照有限数量的电气元件,可能更容易描述一组给定流程的功能中的一个或多个功能。应当理解的是,附图的电路及其教导是可容易扩展的,并且可以容纳大量部件以及更复杂/成熟的安排和配置。相应地,所提供的示例不应限制如潜在地应用到无数其他架构上的电路的范围或抑制其宽泛教导。

许多其他的改变、替代、变更、改变、和修改对本领域技术人员来说是确定的,并且旨在本公开包含了落在所附权利要求书的范围内的所有的改变、替代、变更、改变、和修改。为了帮助美国专利及商标局(USPTO)以及另外本申请发布的任何专利的任何读者理解本申请所附权利要求书,申请人希望注意本申请人:(a)并不旨在所附权利要求中的任一项因为在本申请的申请日存在而援引35U.S.C.第112章第(6)段,除非在特定权利要求中确切地使用了字词“用于......的装置”或“用于......的步骤”;并且(b)并不旨在通过本说明书中未在所附权利要求书中反映出的任何陈述以任何方式限制本公开。

示例实施例

示例1中公开了一种被配置成用于对可执行对象进行启动前漏洞评估的计算设备,所述计算设备包括:网络接口,所述网络接口可操作用于将所述计算设备通信地耦合至服务器;以及漏洞评估引擎,可操作用于:通过所述网络接口发送针对可由可执行对象执行的操作的验证请求;接收针对所述验证请求的响应码;以及根据所述响应码而行动,其中,行动可操作用于影响可由所述可执行对象执行的所述操作。

示例2中公开了如示例1所述的计算设备,其中,所述响应码包括针对允许、警告、停止、和监控之一的标记。

示例3中公开了如示例1所述的计算设备,其中,根据所述响应码而行动包括采取从由以下各项组成的组中所选择的行动:允许所述操作;利用对最终用户的警告来允许所述操作;利用对安全管理员的警告来允许所述操作;只有在从最终用户处接收到确认时才允许所述操作;只有在从安全管理员处接收到确认时才允许所述操作;允许所述操作,除非从最终用户处接收到拒绝;允许所述操作,除非从安全管理员处接收到的拒绝;阻止所述行动;向最终用户提供警告;向安全管理员提供警告;创建日志条目;更新白名单;更新黑名单;更新灰名单;监控所述可执行对象;以及报告关于所述可执行对象的行为的信息。

示例4中公开了如示例1所述的计算设备,其中,发送所述验证请求包括提供用于所述计算设备和可执行对象的标识分组。

示例5中公开了如示例4所述的计算设备,其中,所述标识分组是类通用平台列举字符串。

示例6中公开了如示例1所述的计算设备,其中,所述漏洞评估引擎包括可操作用于以提升的系统权限运行的Shim应用程序。

示例7中公开了如示例6所述计算设备,其中,所述Shim应用程序可操作用于对用户空间应用程序不可见地拦截进程启动。

示例8中公开了如示例1所述的计算设备,其中,所述漏洞评估引擎包括可操作用于以提升的权限执行并通过操作系统Hook拦截进程启动的Shim应用程序。

示例9中公开了如示例1所述的计算设备,其中,所述漏洞评估引擎包括可操作用于以基本上用户空间权限运行的Shim代理。

示例10中公开了如示例9所述的计算设备,其中,所述Shim代理可操作用于接收补丁或更新可用于所述可执行对象的通知,并且用于调度对所述补丁或更新的应用。

示例11中公开了如示例10所述的计算设备,其中,所述Shim代理可操作用于通过所述网络接口发送用于所述计算设备和可执行对象的标识分组。

示例12中公开了如示例11所述的计算设备,其中,所述标识分组是类通用平台列举字符串。

示例13中公开了如示例1所述的计算设备,其中,所述漏洞评估引擎可操作用于标识和引起用于所述可执行对象的有待安装的更新或补丁。

示例14中公开了一种或多种计算机可读介质,具有存储在其上的可执行指令,所述可执行指令可操作用于指示处理器提供漏洞评估引擎,包括:通过所述网络接口发送针对可由可执行对象执行的操作的验证请求;接收针对所述验证请求的响应码;以及根据所述响应码而行动,其中,行动可操作用于影响可由所述可执行对象执行的所述操作。

示例15中公开了如示例14所述的一种或多种计算机可读介质,其中,所述响应码包括针对允许、警告、停止、和监控之一的标记。

示例16中公开了如示例14所述的一种或多种计算机可读介质,其中,根据所述响应码而行动包括采取从由以下各项组成的组中所选择的行动:允许所述操作;利用对最终用户的警告来允许所述操作;利用对安全管理员的警告来允许所述操作;只有在从最终用户处接收到确认时才允许所述操作;只有在从安全管理员处接收到确认时才允许所述操作;允许所述操作,除非从最终用户处接收到拒绝;允许所述操作,除非从安全管理员处接收到拒绝;阻止所述行动;向最终用户提供警告;向安全管理员提供警告;创建日志条目;更新白名单;更新黑名单;更新灰名单;监控所述可执行对象;以及报告关于所述可执行对象的行为的信息。

示例17中公开了如示例14所述的一种或多种计算机可读介质,其中,发送所述验证请求包括提供用于所述计算设备和可执行对象的标识分组。

示例18中公开了如示例17所述的一种或多种计算机可读介质,其中,所述标识分组是类通用平台列举字符串。

示例19中公开了如示例14所述的一种或多种计算机可读介质,其中,所述漏洞评估引擎包括可操作用于以提升的系统权限运行的Shim应用程序。

示例20中公开了如示例19所述的一种或多种计算机可读介质,其中,所述Shim应用程序可操作用于对用户空间应用程序不可见地拦截进程启动。

示例21中公开了如示例14所述的一种或多种计算机可读介质,其中,所述漏洞评估引擎包括可操作用于以基本上用户空间权限运行的Shim代理。

示例22中公开了如示例21所述的一种或多种计算机可读介质,其中,所述Shim代理可操作用于接收补丁或更新可用于所述可执行对象的通知,并且用于调度对所述补丁或更新的应用。

示例23中公开了如示例22所述的一种或多种计算机可读介质,其中,所述Shim代理可操作用于通过所述网络接口发送用于所述计算设备和可执行对象的类通用平台列举字符串。

示例24中公开了一种漏洞评估服务器,包括:网络接口;以及漏洞评估服务器引擎,可操作用于:在所述网络接口上接收针对可执行对象的验证请求,所述验证请求包括对所述可执行对象以及发起所述验证请求的计算设备进行标识的类通用平台列举字符串;查询用于表征所述可执行对象的漏洞数据库和通用平台列举数据库;以及通过所述网络接口发送对所述验证请求的响应码,所述响应码属于从由以下各项组成的组中所选择的类:允许、停止、警告、和监控。

示例25中公开了如示例24所述的漏洞评估服务器,其中,所述漏洞评估服务器引擎进一步可操作用于:标识用于所述可执行对象的可用更新或补丁;在所述网络接口上发送所述可用更新或补丁的通知;以及接收用于所述可执行对象的已更新类通用平台列举字符串,其中,所述已更新类通用平台列举字符串包括所述更新或补丁。

示例26中公开了一种用于执行如示例1至13中任一项所述的漏洞评估引擎的操作的方法。

示例27中公开了一种用于执行如示例14至23中任一项所述的指令的操作的方法。

示例28中公开了用于指示处理器执行如示例26所述的方法中任一项的一种或多种计算机可读介质。

示例29中公开了一种装置,所述装置可操作以包括用于进行如示例26、27、和28中任一项所述的方法或执行指令的装置。

示例30中公开了如示例29所述的装置,其中,装置包括处理器和存储器。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1