对输入输出装置内容的基于平台的验证的制作方法

文档序号:6601306阅读:136来源:国知局
专利名称:对输入输出装置内容的基于平台的验证的制作方法
技术领域
本发明涉及对输入输出装置内容的基于平台的验证。
背景技术
诸如通用串行总线(USB)闪存驱动器、光盘只读存储器(⑶-ROM)、笔驱动器等输 入输出装置很遗憾地用作了在企业网络和基于因特网的网络上传播恶意软件/蠕虫/病毒 的常见介质。例如,诸如“Ravmon”、“0rkutis banned”、“New Folder, exe”等常见的病毒都是 通过USB驱动器传播的。在市场上可买到的大部分防病毒程序都无法检测到它们,并且即便 检测到了病毒,防病毒程序也无法删除被感染的文件。防病毒程序只可隔离被感染的文件。

发明内容
本发明的第一方面在于一种在计算系统中验证输入输出(I/O)装置内容的方法, 包括在所述I/O装置的所述内容暴露于操作系统进行自动播放之前,使用硬件部件验证 所述I/O装置的所述内容。本发明的第二方面在于一种验证输入输出(I/O)装置内容的设备,包括耦合到 所述I/O装置的平台硬件,其中在所述I/O装置的所述内容暴露于操作系统进行自动播放 之前,所述平台硬件验证所述I/O装置的所述内容。


在附图中作为示例而非作为限制例示了本文描述的发明。为了例示的简单和清楚 起见,图中例示的元素不一定按比例绘制。例如,为了清楚起见,一些元素的尺寸可能相对 于其它元素放大了。另外,在认为适当的情况下,附图标记在这些图中重复使用,以指示对 应或类似的元素。图1例示了平台100,其根据一个实施例支持在内容暴露于操作系统(OS)之前用 硬件验证I/O装置内容的技术。图2是例示根据一个实施例在内容暴露于OS之前用硬件验证I/O装置内容的技 术的流程图。图3例示了基于平台的体系结构,其根据一个实施例可支持在内容暴露于OS之前 用硬件验证1/0装置内容的技术。图4是例示根据一个实施例在内容暴露于0S之前图3的部件一起验证1/0装置 内容的技术的流程图。图5例示了系统500,其根据一个实施例支持在内容暴露于0S之前验证1/0装置 的内容。
具体实施例方式以下说明描述了对1/0装置内容的基于平台的验证的实施例。在以下说明中,阐述了许多具体细节,诸如逻辑实现、资源划分或共享,或者复制实现、系统部件的类型和相 互关系以及逻辑划分或集成选项,以便提供本发明的更透彻理解。然而,本领域的普通技术 人员会认识到,没有这些具体细节也可以实施本发明。在其它情况下,未详细示出控制结 构、门级电路和全软件指令序列,以免模糊了本发明。本领域的普通技术人员用所包含的描 述将能够实现适当的功能性,无需过多的实验。在说明书中提到“ 一个实施例”、“实施例”、“示例实施例,,是指所描述的实施例可 包含特定特征、结构或特性,但是每个实施例不一定都会包含该特定特征、结构或特性。此 外,这种短语不一定指的是同一实施例。另外,当结合实施例描述特定特征、结构或特性时, 建议它在本领域普通技术人员的知识范围内,以结合无论是否明确描述的其它实施例影响 这种特征、结构或特性。可用硬件、固件、软件或它们的任何组合来实现本发明的实施例。本发明的实施例 也可实现为存储在机器可读介质上的指令,其可由一个或多个处理器读取和运行。机器可 读介质可包含用于存储或传输机器(例如计算装置)可读形式的信息的任何机构。例如,机器可读介质可包含只读存储器(ROM);随机存取存储器(RAM);磁盘存储 介质;光存储介质;闪存装置;电、光、声或其它类似信号。另外,固件、软件、例程和指令在 本文可描述为执行某些动作。然而,应该认识到,这种描述只是出于便利,并且这种动作实 际上由计算装置、处理器、控制器和运行固件、软件、例程和指令的其它装置引起。在一个实施例中,平台100可包括应用110、主机操作系统(hostoperating system) (OS) 120、平台硬件150和I/O装置190。在一个实施例中,应用110可包括主机OS 120和平台硬件150所支持的一个或多个应用。在一个实施例中,平台硬件150可包括一个或多个处理核、芯片组、存储器和 这种其它类似硬件部件。在一个实施例中,平台硬件150可支持诸如固件、管理引擎 (manageability engine) (ME)和虚拟机引擎(virtualizer engine) (VE)等部件。在一个 实施例中,甚至在响应于从1/0装置190-N接收到中断而将内容暴露于主机0S 120之前, 平台硬件150也可验证1/0装置190-N的内容。在一个实施例中,独立于0S、基于硬件的验 证过程可避免平台100受恶意软件或病毒的感染。在一个实施例中,1/0装置内容的验证 可应用于传统1/0装置,并且验证过程也可提供更好的用户体验。图2的流程图例示了平台100操作的实施例,其可在内容暴露给主机0S 120之前 验证1/0装置的内容。在块210,平台硬件150可从诸如1/0装置190-N等1/0装置接收中断,并响应于 接收到中断而控制到块250的传递。在一个实施例中,可响应于诸如USB驱动器或笔驱动 器等输入输出装置190-N插入到平台100中而生成中断。在块250,甚至在1/0装置190-N的内容暴露于主机0S 120之前,平台硬件150就 可验证1/0装置190-N的内容。在一个实施例中,如果1/0装置190-N内容包括感染部分, 则平台硬件150可检测到这些内容的感染部分。在块280,如果有的话,甚至在感染部分影响平台100之前,平台硬件150就可警告 用户或删除1/0装置190-N内容的感染部分。图3例示了平台体系结构300的实施例,其包括在内容暴露于主机0S之前能够验 证1/0装置内容的硬件或固件部件。在一个实施例中,主机0S 120可支持本地AV代理315
5和主机接口 316。在一个实施例中,平台硬件150可包含中央处理单元320和芯片组325, 其可支持平台控制中心(PCH)330。在其它实施例中,芯片组325可支持本地AV接口 315, 在这种情况下,主机OS 120可能不包括本地AV接口 315。在一个实施例中,CPU 320可支持主机OS 120。在一个实施例中,平台控制器中心 PCH 330可包括管理引擎ME 340、虚拟机引擎VE 350和I/O控制器360。在一个实施例中,在I/O装置190-N耦合到平台300之后,I/O控制器360可接收 中断信号。在一个实施例中,I/O控制器360可向虚拟机引擎VE 350提供中断信息。在一 个实施例中,I/O控制器360可从基于USB的I/O装置接收中断,并且例如可基于扩展主机 命令接口(extended hostcommand interface) (EHCI)标准提供中断信息。在一个实施例中,虚拟机引擎VE 350可包括虚拟机引擎(VE)控制器354和虚拟 机引擎(VE)接口 355。在一个实施例中,VE接口 355可支持VE 350与I/O控制器360之 间的信息交换。在一个实施例中,VE接口 355可从I/O控制器360接收中断信号,并可将中 断信号的信息传递给VE控制器354。在一个实施例中,VE接口 355可响应于发送中断信号 而从VE控制器354接收扫描请求,并可向ME 340转发扫描请求。在一个实施例中,VE接 口 355可使用诸如管理引擎命令接口(MECI)等接口来支持到ME 340的MECI连接,以及使 用扩展主机命令接口(EHCI)来支持到I/O控制器360的EHCI连接。在一个实施例中,VE控制器354可支持允许VE控制器354生成用于发起用于对 I/O装置190-N内容的基于硬件的扫描的扫描请求的驱动器。在一个实施例中,VE控制器 354可基于从VE接口 355接收的中断信号生成基于硬件的扫描请求。在一个实施例中,扫 描请求可允许平台用户提供有关是否要执行I/O装置190-N内容扫描的输入。在一个实施 例中,VE控制器354可向VE接口 355发送扫描请求。在一个实施例中,管理引擎ME 340可包括ME接口 341、ME控制器342、压缩块343、 文件系统块345和带外(00B)348。在一个实施例中,ME接口 341可支持与VE 350和本地 AV代理315的信息交换,其可设置在主机OS 120中或平台硬件130内。在一个实施例中, ME接口 341可接收扫描请求并向ME控制器342转发扫描请求。在一个实施例中,在ME控 制器342发出检索内容的命令之后,ME接口 341可接收1/0装置190-N的内容,并可将内容 传递到ME控制器342。在一个实施例中,ME接口 341可支持诸如管理引擎命令接口(MECI) 等接口来支持到VE 350的MECI连接,以及支持主机嵌入式控制接口(HECI)来支持到主机 0S 120的HECI连接。在一个实施例中,如果本地AV代理315设置在平台硬件130内,则 ME接口 341还可支持专用协议以支持本地AV代理315与ME 340之间的通信。在一个实施例中,ME控制器342可经用户接口 UI 305向用户转发扫描请求。在 一个实施例中,ME控制器342可使用UI 305从用户接收响应于扫描请求的用户输入,诸如 1/0装置190-N内容验证的准许信号。在一个实施例中,ME控制器342可基于用户输入来 检索1/0装置190-N的内容以便进行验证。在一个实施例中,ME控制器342可使用VE控制 器354所支持的EHCI驱动器来检索USB类型1/0装置190-N的内容。在一个实施例中,ME 控制器342可将1/0装置190-N的内容存储在文件系统块345中。在一个实施例中,文件 系统块345可支持文件分配表(FAT-32)格式,并且1/0装置190-N的内容可以每个文件为 基础被存储。在一个实施例中,ME控制器342可生成1/0装置190-N的每个文件的散列。在一个实施例中,ME控制器342可将1/0装置190-N的内容发送到本地AV代理315或发送到远程控制台390进行验证。在一个实施例中,如果ME控制器342使用本地AV 代理315验证I/O装置190-N的内容,则ME控制器342可将散列值发送到本地AV代理315。 在一个实施例中虽然使用远程验证过程,但是ME控制器342可使用压缩块343压缩I/O装 置190-N的内容以节省网络带宽。在一个实施例中,压缩块343例如可使用诸如Lempel-ziv LZULZ2算法或任何其它有损或无损算法等压缩算法。在一个实施例中,ME控制器342可 经ME接口 341将压缩内容发送到带外通信块00B 348。在一个实施例中,00B 348可使用 带外信令机制将压缩内容发送到远程控制台390所支持的AV应用/服务395。在一个实施例中,ME控制器342可接收验证结果并可在验证结果指示在I/O装置 190-N的内容中存在感染部分时警告用户。在一个实施例中,ME控制器342可从本地AV代 理315或AV应用/服务395之一接收内容感染部分的日志。在一个实施例中,ME控制器 342可发起其中可删除I/O装置190-N内容的感染部分的删除过程。在一个实施例中,ME 控制器342可向用户或主机OS 120提供感染部分的信息。在一个实施例中,主机OS 120可支持本地防病毒(AV)代理315和主机接口 316。 在一个实施例中,主机接口 316例如可支持HECI接口来提供到平台硬件130的HECI连接。 在一个实施例中,本地AV代理315可通过HECI连接从平台控制器中心PCH 330接收I/O 装置190-N的内容,并且可处理I/O装置190-N的内容以检测感染部分的存在。在一个实 施例中,本地AV代理315可检测内容中病毒、恶意软件或蠕虫(感染部分)的存在,并且可 通过HECI连接向ME 340提供感染部分的这种信息。在一个实施例中,本地AV代理315可 扫描内容,并向PCH 330提供结果,之后PCH 330可将诸如USB装置等I/O装置190-N暴露 于主机OS 120进行自动播放。在其它实施例中,设置在平台硬件130内的芯片组可支持本地AV代理315。在这 种情况下,本地AV代理315可通过专用通信介质接收I/O装置190-N的内容,并检测感染 部分的存在。在一个实施例中,本地AV代理315可检测内容中病毒、恶意软件或蠕虫(感 染部分)的存在,并且可通过专用连接向ME 340提供感染部分的这种信息。在一个实施例 中,PCH 330所支持的本地AV代理315可扫描内容并向ME 340提供结果。在一个实施例 中,这种方法可避免通过HECI连接传送I/O装置190-N的内容。在一个实施例中,远程控制台390可包括AV应用/服务395,其可对压缩内容进行 解压缩,之后执行防病毒扫描。在一个实施例中,如果AV应用/服务395检测到存在感染 部分,则AV应用/服务395可验证内容,并向ME 340发送感染部分的日志。图4的流程图例示了例示内容暴露于主机OS 120之前验证I/O装置190-N内容 的图3的平台部件的操作的流程图。在块410,I/O控制器360可从诸如I/O装置190-N等I/O装置接收中断,并可向 VE 350传递中断信号。在块420,VE控制器354可使用UI 305向主机OS 120或用户发送用于对1/0装 置190-N的内容的基于硬件的扫描的请求。在块430,如果用户选择扫描1/0装置190-N的 内容,则ME控制器342可使用VE控制器354所支持的驱动器检索1/0装置190-N的内容。在块450,ME控制器342可将1/0装置190-N的内容发送到本地AV代理315或远 程控制台390的AV应用/服务395。在块460,本地AV代理315或AV应用/服务395可验证1/0装置190-N的内容存
7在感染部分。在一个实施例中,本地AV代理315或AV应用/服务395可生成信息(或日 志),其可包括I/O装置190-N内容感染部分的指示。在块470,本地AV代理315或AV应用/服务395可向ME 340提供信息(或日
) o在块480,甚至在感染部分暴露于操作系统之前,ME控制器342就可警告用户,然 后删除感染部分。在一个实施例中,ME控制器342可在接收到可指示I/O装置190-N的内 容中存在感染部分的信息之后删除感染部分。参考图5,计算机系统500可包含包括单指令多数据(SIMD)处理器和图形处理器 单元(GPU)505的通用处理器502。在一个实施例中,处理器502除了执行各种其它任务或 存储指令序列之外还可执行增强操作,以在机器可读存储介质525中提供增强操作。然而, 指令序列还可存储在存储器520中,或者任何其它适当的存储介质中。虽然在图5中描绘了独立的图形处理器单元505,但是在一些实施例中,作为另一 个示例,图形处理器单元505可用于执行增强操作。操作计算机系统500的处理器502可 以是耦合到逻辑530的一个或多个处理器核。逻辑530可耦合到一个或多个I/O装置560, 其可提供到计算机系统500的接口。逻辑530在一个实施例中例如可以是芯片组逻辑。逻 辑530耦合到存储器520,其可以是任何种类的存储装置,包括光、磁或半导体存储装置。图 形处理器单元505通过帧缓冲器510耦合到显示器540。逻辑530可支持管理引擎ME 532和虚拟机引擎VE 536。在一个实施例中,ME 532 可类似于上面参考图3描述的ME 342,而VE 536可类似于上面参考图3描述的VE 354。 在一个实施例中,逻辑530可从诸如I/O装置550-2等I/O装置接收中断,并启动VE 536。 在一个实施例中,可响应于诸如USB驱动器或笔驱动器等I/O装置550-2插入到计算机系 统500中而生成中断。在一个实施例中,甚至在I/O装置550-2的内容暴露于处理器502所支持的主机 OS 503之前,ME 532和VE 536可引起验证I/O装置550-2的内容。在一个实施例中,如果 内容被感染了,则本地AV代理504或远程控制台580所支持的代理可检测内容感染部分。 在一个实施例中,可通过使用网络570向代理发送内容来使用远程控制台580的代理。在 一个实施例中,计算机系统500可使用网络接口 560耦合到网络570。在一个实施例中,在 内容中检测到任何感染部分之后,ME 532可警告用户或删除I/O装置550-2内容的感染部 分。已经参考示例实施例描述了本发明的某些特征。然而,该描述不是要被视为限制 意义。对于本领域普通技术人员显而易见的示例实施例的各种修改以及本发明的其它实施 例被认为是在本发明的精神和范围内。
8
权利要求
一种在计算系统中验证输入输出(I/O)装置内容的方法,包括在所述I/O装置的所述内容暴露于操作系统进行自动播放之前,使用硬件部件验证所述I/O装置的所述内容。
2.如权利要求1所述的方法,包括响应于从所述I/O装置接收到中断而发送用于对 所述I/O装置所述内容的基于硬件的扫描的请求。
3.如权利要求2所述的方法,其中在接收到对所述请求的准许信号之后,将所述I/O装 置的所述内容提供给本地防病毒代理,其中所述操作系统支持所述本地防病毒代理。
4.如权利要求2所述的方法,其中在接收到对所述请求的准许信号之后,将所述I/O装 置的所述内容提供给本地防病毒代理,其中所述硬件部件支持所述本地防病毒代理。
5.如权利要求3所述的方法,进一步包括基于文件分配表FAT-32格式存储所述I/O 装置的所述内容。
6.如权利要求2所述的方法,进一步包括从所述本地防病毒代理接收信息,其中所述 信息指示所述I/O装置的所述内容的感染部分。
7.如权利要求6所述的方法,进一步包括甚至在所述感染部分暴露于所述操作系统 之前删除所述感染部分。
8.如权利要求2所述的方法,其中将所述I/O装置的所述内容提供给远程控制台所支 持的代理,其中使用带外通信技术将所述内容提供给所述远程控制台所支持的所述代理。
9.如权利要求6所述的方法,包括基于文件分配表FAT-32格式存储所述I/O装置的所述内容,及压缩以所述FAT-32格式存储的所述I/O装置的所述内容。
10.如权利要求8所述的方法,进一步包括从所述远程控制台所支持的所述代理接收 信息,其中所述信息指示所述I/O装置的所述内容的感染部分。
11.如权利要求10所述的方法,进一步包括甚至在所述感染部分暴露于所述操作系 统之前删除所述感染部分。
12.—种验证输入输出(I/O)装置内容的设备,包括耦合到所述I/O装置的平台硬件,其中在所述I/O装置的所述内容暴露于操作系统进 行自动播放之前,所述平台硬件验证所述I/O装置的所述内容。
13.如权利要求12所述的设备,所述平台硬件进一步包括耦合到所述I/O装置的输入输出控制器,其中所述输入输出控制器响应于对所述I/O 装置正在插入作出响应接收中断而提供中断信号,以及耦合到所述输入输出控制器的虚拟机引擎,其中所述虚拟机引擎响应于接收到所述中 断信号而发送用于对所述I/O装置的所述内容的基于硬件的扫描的请求。
14.如权利要求13所述的设备,所述平台硬件进一步包括耦合到所述虚拟机引擎的管 理引擎,其中所述管理引擎包含管理引擎控制器,其中所述管理引擎控制器响应于接收到 对所述请求的准许信号而将所述I/O装置的所述内容提供给所述操作系统所支持的本地 防病毒代理。
15.如权利要求13所述的设备,所述平台硬件进一步包括耦合到所述虚拟机引擎的管 理引擎,其中所述管理引擎包含管理引擎控制器,其中所述管理引擎控制器响应于接收到 对所述请求的准许信号而将所述I/O装置的所述内容提供给所述平台硬件所支持的本地防病毒代理。
16.如权利要求14所述的设备,其中所述管理引擎控制器基于文件分配表FAT-32格式 存储所述I/O装置的所述内容。
17.如权利要求14所述的设备,其中所述管理引擎控制器从所述本地防病毒代理接收 信息,其中所述信息指示所述I/O装置的所述内容的感染部分。
18.如权利要求17所述的设备,其中甚至在所述感染部分暴露于所述操作系统之前, 所述管理引擎控制器就删除所述感染部分。
19.如权利要求14所述的设备,其中所述管理引擎控制器向远程控制台所支持的代理 提供所述I/O装置的所述内容,其中所述管理引擎控制器使用带外通信技术将所述内容提 供给所述远程控制台所支持的所述代理。
20.如权利要求17所述的设备,其中所述管理引擎控制器基于文件分配表FAT-32格式存储所述I/O装置的所述内容,及发起以所述FAT-32格式存储的所述I/O装置的所述内容的压缩。
21.如权利要求19所述的设备,其中所述管理引擎控制器从所述远程控制台所支持的 所述代理接收信息,其中所述信息指示所述I/O装置的所述内容的感染部分。
22.如权利要求21所述的设备,其中甚至在所述感染部分暴露于所述操作系统之前, 所述管理引擎控制器就从所述内容中删除所述感染部分。
全文摘要
本发明的名称为对输入输出装置内容的基于平台的验证,一种支持对输入输出装置内容的验证的平台。该平台包含可验证I/O装置内容的平台硬件。该平台硬件可包括诸如用于甚至在I/O装置的内容暴露于主机所支持的操作系统之前验证I/O装置内容的管理引擎和验证引擎等部件。如果验证过程指示I/O装置的内容包含感染部分,则平台部件可删除I/O装置内容的感染部分。
文档编号G06F21/00GK101853344SQ20101015622
公开日2010年10月6日 申请日期2010年3月30日 优先权日2009年3月31日
发明者H·M·霍斯拉维, M·龙, V·R·戈库尔兰根, Y·拉希德 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1