CN101676876A - 受威胁计算机的自动的基于硬件的恢复 - Google Patents

受威胁计算机的自动的基于硬件的恢复 Download PDF

Info

Publication number
CN101676876A
CN101676876A CN200910173755A CN200910173755A CN101676876A CN 101676876 A CN101676876 A CN 101676876A CN 200910173755 A CN200910173755 A CN 200910173755A CN 200910173755 A CN200910173755 A CN 200910173755A CN 101676876 A CN101676876 A CN 101676876A
Authority
CN
China
Prior art keywords
directing assembly
trusted
calculation element
copy
directing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910173755A
Other languages
English (en)
Other versions
CN101676876B (zh
Inventor
史蒂芬·R·汉纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jungle Network
Juniper Networks Inc
Original Assignee
Jungle Network
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jungle Network filed Critical Jungle Network
Publication of CN101676876A publication Critical patent/CN101676876A/zh
Application granted granted Critical
Publication of CN101676876B publication Critical patent/CN101676876B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种受威胁计算机的自动的基于硬件的恢复的方法,大体上,描述了一种用于基于硬件的检测和计算装置从受损害状态自动恢复的技术。此外,本技术提供了从可信任仓库的选择性软件组件的自动的、基于硬件的恢复。基于硬件的监测和自动恢复技术可以被集成到计算装置的引导顺序中以有效且无害的仅替换任意被感染的软件组件。

Description

受威胁计算机的自动的基于硬件的恢复
技术领域
本发明涉及计算装置,以及更具体地,涉及被恶意软件威胁时的计算装置的恢复。
背景技术
计算装置包括一个或多个处理器,用于执行在处理器的操作存储器中存在的软件指令。为了提供灵活性和适用性,许多计算装置采用交错方法来加载软件指令。在这种方法下,存储在永久性存储器或存储装置中的模块化软件组件配置有需要加载并发起附加的模块化软件组件(包括操作系统)的执行的指令和参数。在装置启动操作期间,这些模块化软件组件被称为“引导组件(bootcomponent)”,其以“引导顺序(boot sequence)”执行,引导顺序以将装置操作所需的所有指令加载到操作存储器中结束。以这种方式启动执行装置允许用于多种引导组件的分散存储方法。此外,对装置的某些必需的更新可以通过简单地修改单独的引导组件或参数来完成。
更新引导组件的能力将脆弱性引入了装置。例如,在装置上运行的病毒、木马或其他恶意的软件(或“恶意软件”)可以修改或替换任意或所有的引导组件以获得对装置的控制。在恶意软件成功的情况下,装置被称为“受威胁的”或“感染的”。
典型地,一旦检测到装置的受威胁状态,则用户在装置上执行设计为识别并隔离被感染软件或数据以尝试恢复装置到其正确操作模式的软件。在一些情况下,由于恶意的软件的性质和感染所建立的防御措施,受威胁装置不能够恢复。例如,恶意的软件修改了操作系统,以防止反病毒程序执行能够修复甚至检测修改的补救例行程序。在另一个实例中,恶意的软件可以修改计算装置的引导加载,以防止操作系统完全加载,从而使装置不起作用。在不可能恢复的情况下,如在这些实例中,管理者被迫通过(例如)重新格式化装置的硬件驱动和安装整个操作系统和其它系统软件组件的无病毒版本来重新安装和/或替换装置的所有引导组件。这种大规模重新安装是耗时的且昂贵的操作。此外,这种大规模重新安装通常导致用户数据和设置的丢失。
发明内容
大体上,描述了一种用于基于硬件的检测和计算装置从受损害状态自动恢复的技术。此外,本技术提供了从可信任仓库的选择性软件组件的自动的、基于硬件的恢复。基于硬件的检测和自动恢复技术可以被集成到计算装置的引导顺序中以有效且无害的仅替换任意被感染的软件组件。
例如,与计算装置的主处理器分离的辅助硬件要求在主处理器执行引导组件之前对于每个引导组件的完整性检验,即,在将引导组件加载到装置处理器的操作存储器之前,辅助硬件在组件上执行完整性检查以检测恶意感染的存在。如果引导组件存在感染或完整性检查失败,则辅助硬件利用从可信任源获得的组件的可信任版本替换该组件。该过程继续使得引导顺序的每个软件组件的完整性可以被单独地检验并且如果受威胁被单独体替换,而不要求替换其他非感染的软件组件。
在一个实例中,一旦通知已经发起了装置的引导顺序,则计算装置中的辅助硬件识别引导顺序中的第一引导组件(典型地,基础输入/输出系统“BIOS”)。辅助硬件计算第一引导组件的密码杂凑或其他校验和。之后辅助硬件将所计算的杂凑值与可信任的、可接受的用于第一引导组件的杂凑值进行比较。如果计算的杂凑值满足,则辅助硬件允许第一引导组件被加载到操作存储器中用于计算装置的主处理器的执行。一旦成功执行第一引导组件,之后,在下一个引导组件可以被主处理器访问并调用之前在引导顺序中的下一个引导组件上执行相同的操作集。该过程继续直到所有引导组件的完整性被检验并且所有的引导组件已经被执行。
然而,当为特定引导组件计算的杂凑值不满足对于该组件的可信任的、可接受的杂凑值时,则往往指示引导组件被感染(例如利用病毒)或被破坏。因此,辅助硬件采取补救措施以确保计算装置的主处理器仅执行未被破坏的引导组件。第一,辅助(auxiliary)硬件获得对应于特定的破坏引导组件的可信任引导组件。可信任引导组件可以(例如)被存储在仅可被辅助硬件访问的计算装置的专用存储器或存储介质中。在另一个实例中,辅助硬件可以从可信任引导组件服务器中获得可信任引导组件。在其他情况下,辅助硬件利用可信任引导组件重写计算装置的被破坏组件并引导计算装置执行可信任引导组件的新拷贝或重新发起整个引导顺序。以这种方式,辅助硬件确保加载到处理器的操作存储器中的每个引导组件不是被感染或被破坏的。
在一个实施例中,本发明指向一种方法:用于利用计算装置中的辅助电路计算用于计算装置的引导组件的完整性检验值,其中引导组件包括要求计算装置的处理器执行的使计算装置进入操作模式的程序指令,确定所计算的完整性检验值是否与可接受的引导组件相关联,并在完整性检验与可接收的引导组件不相关联时,利用计算装置的辅助电路,用引导组件的可信任版本的拷贝替换引导组件。
在另一个实施例中,计算装置包含辅助电路,辅助电路包括,感染检测电路配置为计算用于计算装置的引导组件的完整性检验值,其中引导组件包括要求计算装置的处理器执行的使计算装置进入操作模式的程序指令,感染检测电路配置为确定完整性检验值是否与可接受的引导组件相关联,以及恢复电路配置为在完整性检验值与可接受的引导组件不相关联时,用引导组件的可信任版本的拷贝替换引导组件。
在另一个实施例中,一种系统包括:计算装置和存储用于所述计算装置的引导组件的可信任版本的可信任引导组件服务器。计算装置包含辅助电路,辅助电路包括完整性检验值计算器电路,计算用于计算装置的引导组件的完整性检验值,其中引导组件包括要求被计算装置的处理器执行的使计算装置进入操作模式的程序指令,感染检测电路确定完整性检验值是否与可接受的引导组件相关联,以及恢复电路在完整性检验值与可接受的引导组件不相关联时,利用从可信任引导组件服务器接收的引导组件的可信任版本的拷贝替换引导组件。
这里描述的技术可提供一种或多种优点。例如,由于恶意软件或感染软件不能访问存储可信任引导组件的原始拷贝的辅助硬件或可信任仓库的控制逻辑,使用装置上的辅助硬件执行完整性检验和替换动作防止感染阻止其自身的移除。通过增加成功检测和感染移除的可能性,使用这里描述的技术减少了要求装置的整个操作系统和其他非感染引导组件重新安装的可能性。
本发明的一个或多个实施例的细节将在附图和下列说明中阐述。本发明的其他特征、目的和优点将从说明和附图以及权利要求中变得显而易见。
附图说明
图1是示出了执行本公开中描述的被破坏引导组件的检测和替换技术的示例性系统的框图。
图2是示出了图1的系统的用户端装置的示例性细节的框图。
图3是示出了图2的用户端装置的装置体系结构的示例性细节的框图。
图4A是示出了用于图2装置的引导顺序的示例性引导组件的框图。图4B是示出了对应于图4A的示例性引导组件的示例性可信任引导组件的框图。
图5A和5B是示出了对于图2装置的用于根据这里描述的技术检测和替换被破坏引导组件的操作的示例性模式的流程图。
具体实施方式
图1是示出了执行本公开描述的被感染引导组件检测和选择性替换技术的示例性系统2的框图。在图1的实例中,系统2包括连接至企业网6的装置4。此外,在该实例中,装置4是计算装置,诸如个人计算机、膝上电脑、移动电话、网络电话、电视机顶盒、视频游戏系统、销售点装置、个人数字助理、中间网络装置、网络设施、超级计算机、大型计算机、嵌入式控制器、工业机器人、或能够与企业网6交互并在该企业网上通信的其他类型的装置。装置4可以提供接口(例如,显示器、话筒、键盘、鼠标等),用户10与该接口交互以执行装置4提供的软件应用程序并访问企业网6和公共网络12提供的资源。在一些实施例中,装置4是自动的并且不能与用户交互。
公共网络12连接至企业网6。企业网6和公共网络12可以包括有助于通过装置4访问内容的多个网络装置(图1中未示出)。多个网络装置中的每一个可以包括以下各项之一:路由器、交换机、服务器、数据库、集线器、防火墙、检测入侵/防御(IDP)装置和/或有助于数据转移到装置4并从该装置转移出的任意其他类型的网络设备或装置。
企业网6和公共网络12可以经由一个或多个基于数据包的协议(诸如因特网协议(IP)/传输控制协议(TCP))将内容传输到装置4。在这方面,企业网6和公共网络12可以经由离散的数据单元(通常被称为“数据包”)来支持数据的传输。因此,企业网6和公共网络12被称为“基于数据包的”或“数据包交换的”网络。虽然在本公开中描述为传输、传达、或支持数据包,但是企业网6和公共网络12可以传输根据由任意其他协议定义的任意其他离散的数据单元的数据,诸如由异步传输模式(ATM)协议定义的单元。
此外,企业网6和公共网络12可以每一个均为局域网(“LAN”),诸如令牌环或以太网、虚拟局域网(“VLAN”)、或其他类型的网络。企业网6和公共网络12可以包括一个或多个有线或无线链接。例如,企业网6可以是包括一个或多个以太网线缆的以太网。在另一实例中,公共网络12可以是使用无线射频传输来通信信息的无线保真(“Wi-Fi”)网络。
企业网6和公共网络12提供装置4期望访问的多种资源。在图1的实例中,企业网6包括质量控制服务器14和可信任引导组件8;典型地,企业网6还将连接至多种其他类型的装置(例如,文件服务器、打印机、电话、和电子邮件及其他类型的应用服务器)。公共网络12可以提供对网页服务器、应用程序服务器、公共数据库、媒体服务器、用户端装置、以及多种其他类型的网络资源装置和内容的访问。
企业网6在企业边界5之下操作,企业边界可以用防火墙装置、中间网络装置、入侵检测装置、因特网协议安全网关装置、或控制对一个或多个网络的访问的任意其他类型的装置来执行。典型地,在从企业边界5接收到许可之后,公共网络12经由企业网6向装置4提供内容。
在一些情况中,公共网络12提供的内容可以包括诸如病毒或其他木马、或蠕虫的恶意的软件(或“恶意软件”)。此外,包括在公共网络12中的装置可以突破企业边界5并使用企业网络6以用恶意软件感染装置4。感染装置4的恶意软件可以具有改变装置上的关键软件组件的能力。在许多情况下,恶意软件能够擦除、感染或改变负责加载装置4进入正常操作条件所必需的软件的软件引导组件。例如,装置4上呈现的病毒可以改变操作系统内核以阻止用户10与装置交互。在另一个实例中,病毒可以感染装置4的引导分区以在启动时得到对装置的控制。由于改变装置上的任何引导组件的用户错误或装置4组件(硬件或软件)错误,装置4还可以被迫坏,从而经历不理想操作。
根据本公开的技术,装置4包括可信任平台模块(“TPM”)电路20、在装置的引导顺序期间用于检测和替换的辅助硬件、具有可信任引导组件的感染引导组件。TPM电路20是与装置4的任意主处理器分离的硬件单元,并且可以是专用集成电路(ASIC)、域可编程门阵列(FPGA)、联合可编程逻辑装置(CPLD)、可编程逻辑阵列(PLA)、这些元件的任意组合、或能够执行感染检测和替换功能并且能够与装置4的特定其他硬件组件交互的任意其他类型的硬件。在一些实施例中,TPM电路20可以是能够运行来自装置4内部的可信任存储介质的专用软件或固件指令的单独的微处理器或微控制器,诸如不可访问由装置的主处理器执行的软件指令的只读存储器(ROM)。在一些实施例中,TPM电路20是修改的可信任平台模块芯片,该芯片基本上与可信任计算组织发布的“TPM MainPart 1 Design Principles Specification Version 1.2,”中描述的可信任平台模块芯片的说明书(其结合于此作为参考)一致。
大体上,在允许任意引导组件被加载到处理器的操作存储器并且被执行之前,TMP电路20检验组件的完整性以检测感染的存在。如果该组件出现感染或者完整性检验失败,则TPM电路20利用从可信任源获得的可信任引导组件的拷贝来仅选择性地替换被感染的组件。作为在本公开中使用的术语的可信任引导组件是已知没有感染和破坏的引导组件软件的版本。典型地,可信任源是被包括在装置4中的非易失性存储器装置。在一些实施例中,可信任源是不能被装置4的主处理器写或修改的知识库。通过利用从可信任源获得的可信任引导组件的拷贝来替换被感染组件,TPM电路20确保加载到操作存储器中的由装置4的处理器执行的引导组件是没有被感染和破坏的并且不会被引导进不期望的装置操作。
更具体地,在一个实施例中,装置4的硬件体系结构要求主处理器调用TPM电路20以加载并顺序执行每个引导组件。即,在加载并执行了一个给定引导组件之后,主处理器必须再次调用TPM电路20,并且TPM电路20必须输出一个或多个信号以允许主处理器加载并顺序执行下一个引导组件。如果要加载并执行的引导组件出现感染或完整性检验失败,则TPM电路20在输出这种信号之前,利用从可信任源获得的可信任引导组件的拷贝来仅选择性地替换被感染组件。例如,在利用对应的可信任引导组件拷贝替换特定的被感染引导组件(例如操作系统内核)之后,TPM电路20可以输出必需的信号以允许主处理器以引导顺序继续。以这种方式,利用可信任组件的拷贝替换破坏的组件对主处理器可以是无缝的和透明的。可选地,TPM电路20可以输出一个信号来引导主处理器以引导顺序重新运行一个或多个之前的引导组件。例如,如果TPM电路20由于操作系统内核组件感染而替换该操作系统内核,则TPM电路20之后可以引导装置4来重新运行用于将内核加载到操作存储器中的引导加载器。此外,在替换被感染引导组件之后,TPM电路20可以发起引起主处理器重新开始整个引导顺序的硬件复位。
在一些实施例中,在TPM电路20检验顺序中第一引导组件的完整性并且该第一引导组件被加载到存储器中之后,CPU 44和TPM电路20可以合作执行如上所述的完整性检验和选择性替换技术。CPU 44的协助可以在某些情况下增加引导组件被检验和加载的速度。
不是在检测到感染时发起重新启动或采取补救动作,TPM电路20可以在执行本公开技术之前简单地等待用户10发起的重新启动。(例如)非常迫切地需要装置4进行到操作模式中可以引起这种情况。在这种情况中,TPM电路20可以向用户10提供装置4在受威胁状态中操作的指示,因此使用户10在方便的时候重新启动装置4。该指示可以呈现为(例如)显示器上的消息、指示灯、鸣声或嘟嘟响、语音消息、电子邮件的形式、或用于通知用户10装置4受威胁的任意其他方法。
除了引导时(boot-time)检查和自动恢复,装置4可以周期性地对感染的指示进行自身检查。检查可以通过(例如)反病毒软件、性能监控软件、或TPM电路20来执行。在TPM电路20负责检查装置的情况下,其可以通过周期性地执行引导组件的完整性检验而自动地动作,或者是响应于来自装置4操作系统的请求(可能地由用户10发起的)、装置4上运行的程序的请求、或连接至企业网6的诸如质量控制服务器14的其他装置的请求而动作。在装置4怀疑一个或多个引导组件中存在感染的情况下,该装置可以根据本公开的技术发起重新启动来重新运行引导顺序。可选地,装置4可以停止操作,例如通过卸载操作系统,并引导TPM电路20执行当前引导组件的完整性检查并选择性地替换那些包含感染的组件。
在图1的实例中,可以选择企业系统管理者利用系统2附加地或可选地配置质量控制服务器14,以主动监控装置行为并补救连接至企业网6的装置上的感染。质量控制服务器14可以是高端服务器、工作站、数据中心、中间网络装置、网络设施、超级计算机、大型计算机、或能够监控网络上的其他装置行为的另一类型的装置。
例如,质量控制服务器14可以观察从装置4发送的网络通信并可以指示装置已被感染威胁并且(例如)在不期望的状态中操作的其他动作。在另一个实例中,质量控制服务器14可以使用端口扫描技术来识别装置4上不正常的打开端口,从而指出装置4上可能存在恶意软件。在另一实例中,质量控制服务器14监控来自装置4的详细描述装置4的生产率的电子报告,诸如连接工具的运行速度、数据产生或分析的速度、或其他生产率度量。质量控制服务器14可以确定装置4的不正常的低生产率是受威胁的指示。如另一附加实例,装置4可以直接向质量控制服务器14发送描述其状态和软件结构的信息,并连同发送一个请求,该请求要求服务器根据信息确定装置4是否受威胁。
在质量控制服务器14确定装置4受威胁的情况下,其可以引导装置4采取补救措施。例如,响应于来自质量控制服务器14的其受损威胁的信号或其他消息,装置4可以根据本公开的技术发起重新启动以重新运行引导顺序。在另一个实例中,装置4可以停止操作并引导TPM电路20采取补救措施,诸如用可信任版本替换被感染引导组件。一旦通知了感染,TPM电路20可以在重新运行引导顺序之前简单地等待用户10发起的重新启动。在这种情况下,TPM电路20可以向用户10提供装置4在受威胁状态中操作的指示。
在图1的实例中,网络系统2包括可选可信任引导组件服务器8,其存储可信任引导组件,并在请求时向装置4提供可信任引导组件的拷贝。可信任引导组件服务器8可以是高端服务器、工作站、数据中心、中间网络装置、网络设施、超级计算机、大型计算机、文件服务器、或能够安全地存储内容并在企业网6上传输存储的内容的其他类型的装置。可信任引导组件服务器可以包括受写保护的硬盘或其他非易失性存储介质(未示出)。在受写保护的存储介质的情况下,没有服务器管理者的物理干涉而修改可信任引导组件服务器存储介质是不可能的。以这种方式,存储在介质上的数据不会遭受恶意软件的破坏或感染。
如上所述,可信任引导组件典型地被存储在装置4中的非易失性存储器装置中。然而,在一些情况下,系统2的管理者可以发现值得为可信任引导组件维持中央知识库和可信任引导组件服务器8。在该情况下,TPM电路20通过安全网络通信(例如经由安全Socket层通信或其他加密的方法)来向可信任引导组件服务器8发信号,以获得并响应可信任引导组件的拷贝,利用该拷贝替换装置4上对应的被感染组件。在一些实施例中,TPM电路20可以合并网络接口卡(NIC)或不能到达装置的主处理器和在主处理器上执行的软件应用程序的其他网络连接,以为获得引导组件的可信任拷贝提供附加的安全性。此外,在一些情况中,系统2可以包括装置4和可信任引导组件服务器8之间的专用网络链接(未示出),其可以避免可信任引导组件服务器8连接至企业网6的需要。专用网络链接减少可信任引导组件服务器8和其中的可信任引导组件会被经由企业网6接收的感染威胁的可能性。此外,专用网络链接可以防止伪装攻击,以免连接至企业网6的受威胁装置伪装成可信任引导组件服务器以削弱系统2的操作。在一些实施例中,可以采用加密保护(例如会话安全或数字签名)来代替或结合专用网络连接。
大体上,系统2的管理者与质量控制服务器14交互,以便以可以单独得到并与诸如装置4的装置通信的形式维持可信任引导组件。系统2的管理者可以用更新的版本替换可信任引导组件服务器8上的特定可信任引导组件。在企业网6连接至实现本公开描述的技术的多个相似装置的情况下,每一个装置(例如装置4)都能够在没有管理者帮助的情况下下载可信任引导组件的更新版本。以这种方式,管理者可以有效地向连接至企业网6的装置发布更新的引导组件。
图2是采用示例性细节示出装置4的一个实施例的方框图。如上所述,装置4典型地是为多个硬件和软件模块提供操作环境的计算装置。为了清楚,诸如键盘、显示器、操作系统和在计算装置或设施中一般能找到的组件的特定组件没有在图2中示出。
在图2的实例中,装置4包括可信任引导组件存储装置40、引导组件存储装置42、网络接口34、TPM电路20、具有操作存储器36的中央处理单元(“CPU”)44、以及感染指示器38。
网络接口34促进装置4和企业网6之间的通信并且包括这种通信所需的所有硬件和软件组件。网络接口34可以是有线或无线网络接口。例如,网络接口34可以是以太网接口、Wi-Fi网络接口、或其他类型的网络接口。在一些实施例中,网络接口34与到上述相对于图1描述的可信任引导组件服务器8的专用网络链接交互。
CPU 44代表装置处理器并且可以包括用于执行包含在操作存储器36中的指令的一个或多个通用或专用目的处理器。操作存储器36包含装置4的典型操作所需的指令,并且大体上是诸如DRAM或SDRAM的RAM装置。
引导组件存储装置42包含作为程序指令或参数的装置4引导顺序的装置特定引导组件。引导组件存储装置42可以是电可擦除可编程只读存储器(EEPROM)、压缩磁盘可重写存储器(CD-RW)、光盘存储装置、磁盘存储装置或其他磁盘存储装置、专用盘分区、或可以用来存储程序指令或参数且可以被计算机访问的任意其他存储介质。此外,在装置4为网络可启动的情况下,引导组件存储装置42代表到网络分区的链接。引导组件存储装置42可以代表多个上述列出的装置,其中包括引导组件存储装置42的每个装置包含所请求的引导组件的不同子集。
引导组件存储装置42大体上是可写入的,以促进通过用户10或者管理者更新或改变装置4引导组件。例如,用户10可以向包括引导组件存储装置42的磁盘分区安装新的操作系统。在另一个实例中,用户10可以在包括引导组件存储装置42的第二分区上安装第二操作系统。该操作还要求其他引导组件的改变以加入第二操作系统的位置和引导指令。
通过公共网络12提供给装置4的内容可以包括诸如病毒或其他木马、或蠕虫的恶意的软件(或“恶意软件”)。此外,被包括在公共网络12中的装置可以突破企业边界5并且使用企业网6以用恶意软件来感染装置4。感染装置4的恶意软件可以擦除、感染、或改变包括引导组件存储装置42的引导组件。例如,在装置4上存在的病毒可以改变操作系统内核以阻止用户10与装置进行交互。在另一个实例中,病毒可以感染装置4的引导扇区以在启动时获得对装置的控制。作为改变任意引导组件的用户错误或装置4组件(软件或硬件)错误的结果,包括引导组件存储装置42的引导组件还可以被破坏,从而经历不理想操作。
可信任引导组件存储装置40包含作为程序指令或参数的对应于包括引导组件存储装置42的引导组件的可信任引导组件。可信任引导组件存储装置40可以是ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁盘存储器装置、或可以用于以指令或数据结构形式运载或存储期望的程序代码并可以被计算机访问的任意其他介质。可信任引导组件存储装置40典型地与引导组件存储装置42为物理或逻辑分离的。在一个示例性实施例中,可信任引导组件存储装置40是直接连接至TPM电路20的专用存储器装置。在另一个示例性实施例中,可信任引导组件存储装置40和引导组件存储装置42被存储在同一硬盘上但是位于不同的分区上。
在一些实例中,可信任引导组件存储装置40是不可写入的以最大化可信任引导组件的安全性。在其他实施例中,可信任引导组件存储装置40是可写入的,但是仅在用户10或管理者采取物理步骤来重写引导组件的范围。这种物理步骤可以包括(例如)移动和重写EEPROM、将JTAG兼容存储器芯片连接至编程器、或者替换存储器芯片或CD-ROM磁盘。在其他实施例中,可信任引导组件存储装置40通过具有足够权限访问用于重写可信任引导组件存储装置40的软件的用户10或管理员可写入。一般,在重写可信任引导组件之前,用户10或管理员将检验可信任引导组件的新版本的完整性以确保新版本没有以任意方式被破坏。例如,用户10可以检验新版本被可信任的第三方数字签名。在另一实施例中,用户10可以运行一个程序以计算新版本的密码杂凑并将结果与计算的杂凑值必须与之相符的已知可信任值进行比较。
如图1上下文中所述的TPM电路20是用于在装置的引导顺序期间检测被感染引导组件并利用可信任引导组件来替换被感染引导组件的辅助硬件。TPM电路20包括感染检测电路22、TPM值计算电路24、TPM值26、恢复电路28、和通信电路32。
TPM电路20的每个基于电路的组件被实现为微处理器、微控制器、ASIC、FPGA、CPLD、或PLA,这些元件的任意组合、或能够执行每个组件的各个功能的任何其他类型的硬件。
通信电路32为TPM电路20提供网络通信功能性。例如,通信电路32可以是一组硬件模块,其提供硬件路径,TPM电路20利用该硬件路径可以向网络接口34发信号。
TPM值26包括一组可信任TPM值并且可以实现为ROM、EEPROM、和其他形式的非易失性存储器中的表、列表、或其他的数据结构。在引导组件检验和替换过程之前,通过在包括可信任引导组件存储装置40的可信任引导组件上执行密码杂凑功能来建立可信任TPM值。所得到的用于每个可信任引导组件的可信任TPM值被存储在TPM值26中。TPM值26可以包括用于每个引导组件的多个计算的TPM值。这些对应于可以被许可地在装置4上执行的多个引导组件版本。
在典型的实施例中,TPM电路20在提供至TPM电路20的电源稳定时开始操作。由于电源通常在装置4上电之后不久稳定,TPM电路20立即开始检验用于引导顺序的引导组件的完整性并在检测到破坏时替换那些组件。在其他实施例中,装置4可以直接向TPM电路20发信号以发起完整性检验和替换操作。
引导组件完整性检验和替换如下进行。首先,感染检测电路22从引导组件存储装置42获得第一引导组件(例如,BIOS)。感染检测电路22之后向TPM值计算器电路24发信号以执行(例如)组件的密码杂凑以产生相应的TPM值。TPM值计算器电路24可以使用用于计算TPM值的任意已知的杂凑功能,诸如MD5、SHA-1等。TPM值计算器还可以使用其他功能,诸如循环冗余校验(CRC)来计算TPM值。因此TPM值可以是密码杂凑、CRC值、或作为引导组件分类计算并用作完整性检验值的任意其他值。在一些实施例中,TPM值是由修改的可信任平台模块生成的数字签名,如在“TPMMain Part 1 Design Principles Specification Version 1.2.”中描述的。之后,感染检测电路22接收来自TPM值计算器电路24的计算的TPM值并将所计算的TPM值与包括TPM值26的可信任TPM值的集合进行比较。如果计算的TPM值在可信任TPM值的集合中找到,则引导组件与允许执行的引导组件的版本相同,从而其不是受威胁的。作为结果,之后,感染检测电路22引导CPU 44将该引导组件下载到运算存储器36中。可选地,感染检测电路22自身将该引导组件下载到运算存储器36中。
如果在TPM值比较步骤期间在可信任TPM值集合中没有找到计算的TPM值,则引导组件是受威胁的或者被破坏的。在这种情况下,感染检测电路22向试图从受威胁引导组件恢复的恢复电路28发信号。为了通知请求替换的特定引导组件的恢复电路28,感染检测电路22包括一个诸如名字或存储位置的组件ID值(未示出),用于信号中的受威胁引导组件。
恢复电路28包括查找表(LUT)30,其将组件ID值映射到可信任引导组件40或可信任引导组件服务器8上的存储位置。在被标注为查找表时,LUT 30可以是能够将组件ID值映射到存储位置的一定数量的硬件结构中的任意并且可以实现在ASIC、FPGA、CPLD、PLA或在功能上相似的装置中。
如果恢复电路28被配置为利用来自可信任引导组件存储装置40的相应的可信任引导组件替换受威胁引导组件,则恢复电路28请求LUT 30确定可信任引导组件存储装置40中的合适的可信任引导组件的位置。因此,恢复电路28使用该地址来获得该合适的可信任引导组件。
然而,如果恢复电路28被配置为利用来自可信任引导服务器8的相应的可信任引导组件替换受威胁引导组件,则恢复电路28请求LUT 30确定可信任引导组件服务器8的网络地址和可信任引导组件服务器8中的可信任引导组件的位置。网络地址可以是IP地址、网络名称(SSID)、或用于识别连接到企业网6的装置的任意其他参考。恢复电路28利用从LUT 30获得的网络地址和位置来向通信单元32发信号以(经由网络接口34)请求可信任引导组件服务器8响应一个合适的可信任引导组件。在一些实施例中,LUT 30不包含可信任引导组件服务器8中的可信任引导组件的位置。这里,恢复电路28利用组件ID向通信电路32发信号以(经由网络接口34)请求可信任引导服务器8响应一个合适的可信任引导组件。一旦接收了来自装置4的请求,可信任引导组件服务器8响应一个合适的可信任引导组件。
已经获得来自可信任源的合适的可信任引导组件的恢复电路28开始在可信任引导存储装置42中利用可信任引导组件重写受威胁引导组件。以这种方式,装置4可以确保受威胁引导组件在引导顺序期间没有机会被下载或执行。在替换操作之后,恢复电路28典型地向装置4发信号以重新发起引导顺序(即重新启动),以促进一个无害的引导组件。然而,在一些实施例中,恢复电路28附加地将可信任引导组件下载到操作存储器36,用来通过CPU 44执行并通过检验继续,并且,如果需要,替换引导顺序中之后的组件。在其他实施例中,恢复电路28向CPU 44发信号以将最新恢复的来自引导组件存储装置42的引导组件下载到操作存储器36中用于执行。之后恢复电路28通过检验继续并且如果需要,替换引导顺序中之后的组件。
用于装置4的引导顺序典型地包含必须在装置进入其正常操作条件之前被下载和执行的多个引导组件。相对于建立可信任计算库(必须被正确操作的软件和硬件的集合(即,没有受威胁))所必须的顺序中的每个引导组件来执行上述技术,以用于装置4满足其期望的行为并维持安全。例如,用于装置4的引导顺序可以从BIOS继续到到操作系统的引导装载程序。对于该示例性引导顺序,TPM电路20首先为BIOS,之后为引导装载程序,之后为操作系统执行完整性检查。在该实例中,如果操作系统是建立可信任计算库所请求的最终组件,则对于引导组件的完整性检查在无威胁操作系统下载时结束。在该阶段,TPM电路20进入等待状态,并且装置4进入正常操作。
在其正常操作期间的任意点上,装置4可以向TPM电路20发信号以在引导组件上执行完整性检验和替换技术。如关于图1的上述说明,装置4可以响应于来自质量控制服务器14的请求发起该技术。此外,在装置4上运行的反病毒或其他检测软件可以怀疑一个或多个引导组件是受威胁的并且引导装置4利用TPM电路20采取恢复措施。在另一个实例中,诸如操作系统的在装置4上运行的其他软件可以配置为周期性地向TPM电路20发信号。质量控制服务器14可以通过向网络接口34发送网络消息来发起完整性检验和替换技术,其又经由通信电路32向TPM电路20发信号。最终,TPM电路20自身可以配置为周期性地执行该技术。
在装置4已经进入正常操作之后发生完整性检验和替换操作的情况下,TPM电路20执行上述技术的一个子集。TPM电路20的多种电路组件用作检验引导顺序中的每个引导组件的完整性。如果找到被感染引导组件,则TPM电路20向装置4发信号以重新发起引导顺序(即,重新启动),以根据上述技术替换被感染引导组件。在高安全环境中,可以强制受威胁装置4的立即重新启动,以防止由于感染敏感信息暴露给未授权的代理者。
在发现感染时不发起装置4的重新启动,TPM电路20可以可替换地向感染指示器38发信号以向用户10报警装置4受威胁。即,在确定出现感染之后,TPM电路20可以简单地警告用户10该感染而不是立即采取恢复动作。以这种方式,装置4可以在(例如)存在对于装置服务的紧急需要的情况下继续操作。感染指示器38可以是(例如)扩声器、LED、或包括向用户10发送电子邮件或在显示器上提出警告的能力的软件模块。在适当的时候,用户10可以重新启动装置4,从而发起TPM电路20以执行上述的引导组件完整性检验和替换技术。例如,用户10可以在支持对于以后的恢复的所有用户设置之后重新启动装置4。在其他实施例中,感染指示器38可以向用户呈现立即执行引导组件完整性检验和替换技术的选项。
图3是示出了图2装置的示例性系统构架的框图。可信任引导组件存储装置82是图2的可信任引导组件存储装置40的实现。引导组件存储装置84是图2的引导组件存储装置42的实现。网络接口装置86是网络接口34的实现。操作存储装置88是操作存储器36的实现。最后,指示灯92是感染指示器38的实例。
可信任引导组件存储装置82、引导组件存储装置84、和网络接口装置86每个都彼此交互,并且使用系统总线100与TPM电路20交互。CPU 44和操作存储装置88彼此交互,并且使用系统总线102与TPM电路20交互。系统总线100和102表示使得信号能够在与其连接的装置之间通过的多个有线连接。系统总线100和102可以是彼此串联或并联的总线。连接的装置可以使用,并且系统总线100和102可以支持任意数目的总线协议(包括I2C、PCI、AGP、或超文本传输),以向另一个发信号。
示出的指示器灯92经由线104直接连接至TPM电路20。线104可以包括其他基本电子组件,诸如采用指示器灯92所需的电阻器或电容器。
图4A是示出了图2装置的示例性引导顺序的框图。图4B是利用示例性可信任引导组件示出包括在图2装置中的可信任引导组件存储装置40的框图。包括在可信任引导组件存储装置40中的每个可信任引导组件对应于图4A的引导顺序中的引导组件。图4A的示例性引导顺序中的第一引导组件是BIOS 110。在检验且用可信任BIOS 120替换BIOS(如果需要的话)之后,TPM电路20继续在引导分区112、引导装载程序114、内核116、并最终在内核模块118上执行该技术。一旦内核模块的未受威胁版本被下载到操作存储器中,装置4包含允许装置根据其期望的行为操作并维持基本安全水平的可信任计算库。
图5A和5B是示出了用于图2装置的辅助电路的用于根据上述技术检测和替换破坏的引导组件的操作的示例模式的流程图。
最初地,TPM电路20接收装置2的引导顺序已经被启动的通知(200)。TPM电路20通过发起用于检验装置2的引导顺序组件完整性的过程来处理该通知(202)。为了开始该过程,TPM电路20识别通过装置2被下载到操作存储器36中的引导顺序中的下一个引导组件(204)。之后TPM电路20执行识别组件的密码杂凑以产生对应的TPM值(206)。为了确定引导组件是否被破坏,感染检测电路22将计算的TPM值与一组可信任TPM值26进行比较(208)。
如果感染检测电路22在可信任TPM值26中找到计算的TPM值,则引导组件与可允许地执行的引导组件的版本相同,从而是不受威胁的。装置2的CPU 44现在可以访问并调用检验的引导组件,从而推进了引导顺序。之后TPM电路20在下一个引导组件上执行一组相同的操作;该过程继续直到引导顺序中的所有引导组件被检验(210)。
然而,如果TPM值没有在可信任TPM值26的一组中找到,则引导组件是破坏的并且使用来自可信任仓库的对应的可信任引导组件替换(212)。TPM电路20获得来自可信任仓库(在图5B的实例中为装置2的专用存储器或存储介质)的可信任引导组件,诸如可信任引导组件存储装置40,或配置为提供可信任引导组件的网络装置,诸如可信任引导组件服务器8(216)。
在可信任引导组件存储装置40维持可信任引导组件的情况下,恢复电路28使用破坏的引导组件的组件ID来获得可信任引导组件存储装置40中对应的可信任引导组件的地址(218)。之后恢复电路28在可信任引导组件存储装置40中根据其地址读取该可信任引导组件(220)。最后,恢复电路28利用可信任引导组件在引导组件存储装置42中重写破坏的引导组件(228)。
在可信任引导组件被维持在可信任引导组件服务器8上的情况下,恢复电路28使用破坏的引导组件的组件ID来确定可信任引导组件服务器8的网络地址和可信任引导组件服务器8中对应的可信任引导组件的位置(222)。恢复电路28使用获得的网络地址和位置向通信电路32发信号以(经由网络接口34)请求可信任引导组件服务器8响应合适的可信任引导组件(224)。通信电路32接收由可信任引导组件服务器8响应而发送的可信任引导组件。最终,恢复电路28使用可信任引导组件重写可信任引导组件存储装置42中的破坏的引导组件(228)。
在重写破坏的引导组件之后,TPM电路20提示装置2的重新引导以重新发起引导顺序(214)。
已经描述了本发明的多种实施例。这些和其他实施例均落入权利要求的范围之中。

Claims (33)

1.一种方法,包括:
利用计算装置中的辅助电路计算用于所述计算装置的引导组件的完整性检验值,其中所述引导组件包括要求所述计算装置的处理器执行的使所述计算装置进入操作模式的程序指令;
确定所计算的完整性检验值是否与可接受的引导组件相关联;以及
在所述完整性检验与可接收的引导组件不相关联时,利用所述计算装置的所述辅助电路,用所述引导组件的可信任版本的拷贝替换所述引导组件。
2.根据权利要求1所述的方法,还包括:在替换所述引导组件之后,利用所述辅助电路输出信号来引导所述计算装置的所述处理器执行所述引导组件的所述可信任版本的所述拷贝。
3.根据权利要求2所述的方法,其中,所述引导组件是所述计算装置的引导顺序中的多个引导组件之一,所述方法还包括:
在替换所述引导组件之后,利用所述处理器执行所述引导组件的所述可信任版本的所述拷贝;
在执行所述引导组件的所述可信任版本的所述拷贝之后,利用所述处理器确定是否有至少一个另外的引导组件保留在所述计算装置的所述引导顺序中;以及
利用所述处理器向所述辅助电路输出信号以请求所述辅助电路计算用于所述另外的引导组件的完整性检验值。
4.根据权利要求3所述的方法,
其中,执行所述引导组件的所述可信任版本的所述拷贝包括仅执行所述引导组件的所述可信任版本的所述拷贝而不再次执行所述引导顺序中的所述引导组件之前的多个引导组件的任意一个。
5.根据权利要求3所述的方法,
还包括顺序检验所述引导顺序中的每个所述引导组件并利用可信任拷贝仅选择性替换不可接受的所述引导组件。
6.根据权利要求4所述的方法,还包括:
通过以下步骤顺序检验所述引导顺序中的每个所述引导组件并仅选择性替换不可接受的所述引导组件:
(a)所述计算装置上电后,利用所述处理器选择所述引导顺序中没有被所述处理器执行的下一个所述引导组件;
(b)利用所述辅助电路计算所述下一个引导组件的完整性值,
(c)确定所计算的完整性检验值是否与可接受的引导组件相关联,
(d)在所述完整性检验值与可接受的引导组件不相关联时,利用所述计算装置的所述辅助电路,用所述下一个引导组件的可信任版本的拷贝替换所述下一个引导组件,
(e)不再次执行所述引导顺序中所述下一个引导组件之前的任何引导组件,利用所述计算装置的所述处理器执行所述下一个引导组件的所述可信任版本的所述拷贝,
(f)确定是否有至少一个引导组件保留在所述引导顺序中,以及
(g)当所述引导顺序中保留有另外的引导组件时,对所述顺序中的每个剩余的引导组件重复步骤(a)到步骤(f)。
7.根据权利要求1所述的方法,还包括利用所述计算装置接收来自质量控制服务器的指示一个或多个引导组件被感染或被破坏的消息。
8.根据权利要求1所述的方法,还包括在利用所述引导组件的可信任版本的拷贝替换所述引导组件之后,利用所述辅助电路向所述计算装置输出复位信号。
9.根据权利要求1所述的方法,其中,确定所计算的完整性检验值是否与可接受的引导组件相关联包括将所计算的完整性检验值与存储的值的列表进行比较,其中每个存储的值对应于一个可接受的引导组件。
10.根据权利要求1所述的方法,其中,利用所述引导组件的可信任版本的拷贝替换所述引导组件包括:
利用所述辅助电路,从所述装置上的可信任存储介质读取所述引导组件的所述可信任版本的所述拷贝;以及
利用所述引导组件的所述可信任版本的所述拷贝重写所述计算装置的主存储中的所述引导组件。
11.根据权利要求10所述的方法,其中,所述可信任存储介质不能被所述处理器访问。
12.根据权利要求1所述的方法,其中,利用所述引导组件的可信任版本的拷贝替换所述引导组件包括:
利用所述辅助电路,从可信任引导组件服务器请求所述引导组件的可信任版本的拷贝,其中所述可信任引导组件服务器是存储用于所述计算装置的引导组件的可信任版本的网络装置;
接收来自所述可信任引导组件服务器的所述引导组件的可信任版本的所述拷贝;
利用所述引导组件的可信任版本的所述拷贝重写主存储中的所述引导组件。
13.根据权利要求1所述的方法,其中,所述辅助电路是修改的可信任平台硬件模块,并且其中所述完整性检验值是数字签名。
14.根据权利要求1所述的方法,还包括在确定所述完整性检验值与可接受的引导组件不相关联后,在利用所述引导组件的可信任版本的拷贝替换所述引导组件之前,向用户提供所述完整性检验值与可接受的引导组件不相关联的指示。
15.根据权利要求14所述的方法,其中,所述指示是下列各项之一:显示器上的消息、指示灯、鸣声或嘟嘟响、语音消息、或电子邮件。
16.根据权利要求14所述的方法,还包括利用所述辅助电路接收来自所述用户的引导所述辅助电路用所述引导组件的可信任版本的拷贝替换所述引导组件的输入。
17.一种包含辅助电路的计算装置,包括:
完整性检验值计算器电路,配置为计算用于所述计算装置的引导组件的完整性检验值,其中所述引导组件包括要求所述计算装置的处理器执行的使所述计算装置进入操作模式的程序指令;
感染检测电路,配置为确定所述完整性检验值是否与可接受的引导组件相关联;以及
恢复电路,配置为在所述完整性检验值与可接受的引导组件不相关联时,用所述引导组件的可信任版本的拷贝替换所述引导组件。
18.根据权利要求17所述的计算装置,其中,所述恢复电路配置为在所述引导组件的所述可信任版本的所述拷贝替换所述引导组件之后,输出信号来引导所述计算装置的所述处理器执行所述引导组件的所述可信任版本的所述拷贝。
19.根据权利要求18所述的计算装置,
其中,所述引导组件是引导顺序中的多个引导组件之一,
其中,在执行所述引导组件的所述可信任版本的所述拷贝之后,所述处理器确定是否有至少一个另外的引导组件保留在所述计算装置的所述引导顺序中并且向所述辅助电路输出信号以请求所述辅助电路计算用于所述另外的引导组件的完整性检验值。
20.根据权利要求19所述的计算装置,其中,响应于接收来自所述辅助电路的所述信号,所述计算装置的所述处理器配置为仅执行所述引导组件的所述可信任版本的所述拷贝而不再次执行所述引导顺序中所述引导组件之前的任何所述引导组件。
21.根据权利要求19所述的计算装置,
其中,所述处理器配置为输出信号以引导所述辅助电路顺序检验所述引导顺序中的任何未执行的引导组件并用可信任拷贝仅选择性替换不可接受的所述引导组件。
22.根据权利要求17所述的计算装置,其中,所述辅助电路还包括通信电路,所述通信电路配置为接收来自质量控制服务器的指示存储在所述计算装置上的一个或多个引导组件被感染或被破坏的消息。
23.根据权利要求17所述的计算装置,其中,所述恢复电路配置为在利用所述引导组件的所述可信任版本的所述拷贝替换所述引导组件之后,向所述计算装置输出复位信号。
24.根据权利要求17所述的计算装置,其中,所述感染检测电路配置为通过将所计算的完整性检验值与存储的值的集合进行比较来确定所计算的完整性检验值是否与可接受的引导组件相关联,其中每个存储的值对应于一个可接受的引导组件。
25.根据权利要求17所述的计算装置,还包括:
主存储,存储所述引导组件;
可信任存储介质,存储所述引导组件的所述可信任版本;
其中,为了用所述引导组件的可信任版本的拷贝替换所述引导组件,所述恢复电路配置为从所述可信任存储介质读取所述引导组件的所述可信任版本的所述拷贝并利用所述引导组件的所述可信任版本的所述拷贝重写所述主存储中的所述引导组件。
26.根据权利要求25所述的计算装置,其中,所述可信任存储介质不能被所述处理器访问。
27.根据权利要求17所述的计算装置,
其中,所述辅助电路还包括通信电路,所述通信电路配置为从可信任引导组件服务器请求并接收所述引导组件的所述可信任版本的所述拷贝,其中所述可信任引导组件服务器是存储用于所述装置的引导组件的可信任版本的网络装置,
其中,所述恢复电路配置为通过利用所述通信电路接收的所述引导组件的可信任版本的拷贝重写主存储中的所述引导组件,来利用所述引导组件的可信任版本的所述拷贝替换所述引导组件。
28.根据权利要求17所述的计算装置,其中,所述辅助电路是修改的可信任平台模块,并且其中所述完整性检验值是数字签名。
29.根据权利要求17所述的计算装置,其中,在所述感染检测电路确定所述完整性检验值与可接受的引导组件不相关联之后,并且在所述恢复电路用所述引导组件的可信任版本的拷贝替换所述引导组件之前,所述辅助电路向用户提供所述完整性检验值与可接受的引导组件不相关联的指示。
30.根据权利要求29所述的计算装置,其中,所述指示是下列各项之一:显示器上的消息、指示灯、鸣声或嘟嘟响、语音消息、或电子邮件。
31.根据权利要求29所述的计算装置,其中,所述辅助电路接收来自所述用户的引导所述辅助电路利用所述引导组件的可信任版本的拷贝替换所述引导组件的输入。
32.一种系统,包括:
计算装置;
可信任引导组件服务器,存储用于所述计算装置的引导组件的可信任版本,
其中,所述计算装置包含辅助电路,所述辅助电路包括:
完整性检验值计算器电路,计算用于所述计算装置的引导组件的完整性检验值,其中所述引导组件包括要求被所述计算装置的处理器执行的使所述计算装置进入操作模式的程序指令;
感染检测电路,确定所述完整性检验值是否与可接受的引导组件相关联;以及
恢复电路,在所述完整性检验值与可接受的引导组件不相关联时,利用从所述可信任引导组件服务器接收的所述引导组件的可信任版本的拷贝替换所述引导组件。
33.根据权利要求32所述的系统,还包括:
质量控制服务器,监控所述计算装置的通信和活动信息,并在所述通信和活动信息指示所述计算装置受威胁时向所述计算装置发送消息。
CN2009101737550A 2008-09-15 2009-09-14 受威胁计算机的自动的基于硬件的恢复 Expired - Fee Related CN101676876B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9694908P 2008-09-15 2008-09-15
US61/096,949 2008-09-15
US12/400,574 2009-03-09
US12/400,574 US8103909B2 (en) 2008-09-15 2009-03-09 Automatic hardware-based recovery of a compromised computer

Publications (2)

Publication Number Publication Date
CN101676876A true CN101676876A (zh) 2010-03-24
CN101676876B CN101676876B (zh) 2013-12-04

Family

ID=41354387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101737550A Expired - Fee Related CN101676876B (zh) 2008-09-15 2009-09-14 受威胁计算机的自动的基于硬件的恢复

Country Status (3)

Country Link
US (1) US8103909B2 (zh)
EP (1) EP2164017B1 (zh)
CN (1) CN101676876B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485849A (zh) * 2015-08-28 2017-03-08 Ncr公司 自助服务终端技术状况监控和报警
CN106650506A (zh) * 2015-11-03 2017-05-10 质子世界国际公司 电子电路的受控启动
CN106650456A (zh) * 2015-11-03 2017-05-10 质子世界国际公司 电子电路的安全启动

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060941B2 (en) * 2006-12-15 2011-11-15 International Business Machines Corporation Method and system to authenticate an application in a computing platform operating in trusted computing group (TCG) domain
US8291495B1 (en) 2007-08-08 2012-10-16 Juniper Networks, Inc. Identifying applications for intrusion detection systems
US20100146267A1 (en) * 2008-12-10 2010-06-10 David Konetski Systems and methods for providing secure platform services
US8140906B1 (en) * 2008-12-29 2012-03-20 Symantec Corporation Techniques for recovering data from cold images
US20110202995A1 (en) * 2010-02-16 2011-08-18 Honeywell International Inc. Single hardware platform multiple software redundancy
US8823536B2 (en) * 2010-04-21 2014-09-02 Microsoft Corporation Automated recovery and escalation in complex distributed applications
EP2393007B1 (en) * 2010-06-03 2013-03-27 Telefonaktiebolaget LM Ericsson (publ) Processing device
US9208318B2 (en) * 2010-08-20 2015-12-08 Fujitsu Limited Method and system for device integrity authentication
US9690941B2 (en) * 2011-05-17 2017-06-27 Microsoft Technology Licensing, Llc Policy bound key creation and re-wrap service
US9147074B2 (en) * 2011-05-24 2015-09-29 Cisco Technology, Inc. Method and apparatus for securing CPUS booted using attached flash memory devices
US8949586B2 (en) 2011-10-06 2015-02-03 Cisco Technology, Inc. System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device
US8918879B1 (en) * 2012-05-14 2014-12-23 Trend Micro Inc. Operating system bootstrap failure detection
EP2989579B1 (en) * 2013-04-23 2018-06-06 Hewlett-Packard Development Company, L.P. Redundant system boot code in a secondary non-volatile memory
WO2014175867A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
JP6033183B2 (ja) * 2013-07-31 2016-11-30 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成装置の起動方法
EP3146407A4 (en) * 2014-05-18 2018-01-03 B.G. Negev Technologies & Applications Ltd., at Ben-Gurion University System and method for detecting activities within a bootstrap of a computerized device based on monitoring of power consumption
US9785801B2 (en) * 2014-06-27 2017-10-10 Intel Corporation Management of authenticated variables
US10411958B2 (en) * 2014-09-08 2019-09-10 Intel Corporation Automatic device configuration
US9547773B2 (en) * 2014-12-31 2017-01-17 Google Inc. Secure event log management
US9760727B2 (en) * 2014-12-31 2017-09-12 Google Inc. Secure host interactions
US9537833B2 (en) 2014-12-31 2017-01-03 Google Inc. Secure host communications
US10762208B2 (en) * 2015-06-26 2020-09-01 Intel Corporation System and method for regaining operational control of compromised remote servers
GB2540408B (en) * 2015-07-16 2021-09-15 Trw Ltd Electronic control units for vehicles
KR101709116B1 (ko) * 2015-10-01 2017-02-22 한국전자통신연구원 가상 머신 부팅 장치 및 방법
DE102016008902A1 (de) * 2016-07-22 2018-01-25 Giesecke+Devrient Mobile Security Gmbh Chipset mit gesicherter Firmware
WO2018122049A1 (en) 2016-12-30 2018-07-05 British Telecommunications Public Limited Company Data breach detection
US11611570B2 (en) * 2016-12-30 2023-03-21 British Telecommunications Public Limited Company Attack signature generation
US11658996B2 (en) 2016-12-30 2023-05-23 British Telecommunications Public Limited Company Historic data breach detection
US10445503B2 (en) 2017-07-14 2019-10-15 Google Llc Secure persistent software updates
US10684788B1 (en) * 2017-12-15 2020-06-16 Veritas Technologies, LLC Data consistency during reverse replication
US10896085B2 (en) 2018-05-08 2021-01-19 Hewlett-Packard Development Company, L.P. Mitigating actions
US11741233B2 (en) 2018-06-11 2023-08-29 Hewlett-Packard Development Company, L.P. Overriding sub-system identifiers with protected variable values
JP7152920B2 (ja) * 2018-09-28 2022-10-13 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US10776493B2 (en) 2018-10-12 2020-09-15 Hewlett Packard Enterprise Development Lp Secure management and execution of computing code including firmware
US20200250313A1 (en) * 2019-01-31 2020-08-06 Quanta Computer Inc. Bios recovery and update
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
EP3761201A1 (en) * 2019-07-03 2021-01-06 Nokia Technologies Oy Cryptographic memory attestation
US11438161B2 (en) 2019-10-31 2022-09-06 Hewlett Packard Enterprise Patent Department Implicit attestation for network access
US20220398321A1 (en) * 2019-11-22 2022-12-15 Hewlett-Packard Development Company, L.P. Data management
FR3111441B1 (fr) 2020-06-10 2022-08-05 Proton World Int Nv Démarrage sécurisé d'un circuit électronique
TWI765443B (zh) * 2020-12-03 2022-05-21 宜鼎國際股份有限公司 資料儲存裝置及維持資料儲存裝置正常開機的方法
TWI808362B (zh) * 2020-12-03 2023-07-11 宜鼎國際股份有限公司 可自我監視及恢復作業系統運作的電腦系統及方法
US20210103487A1 (en) * 2020-12-18 2021-04-08 Intel Corporation Systems, methods, and devices for reducing systemic risks

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
KR100248757B1 (ko) * 1997-12-20 2000-03-15 윤종용 손상된 롬 바이오스 복구 방법
US6263431B1 (en) * 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
US7096381B2 (en) * 2001-05-21 2006-08-22 Self Repairing Computer, Inc. On-the-fly repair of a computer
US7216369B2 (en) * 2002-06-28 2007-05-08 Intel Corporation Trusted platform apparatus, system, and method
US7664984B2 (en) * 2002-10-09 2010-02-16 Xpoint Technologies, Inc. Method and system for updating a software image
US7467417B2 (en) * 2003-06-18 2008-12-16 Architecture Technology Corporation Active verification of boot firmware
US7373551B2 (en) * 2004-12-21 2008-05-13 Intel Corporation Method to provide autonomic boot recovery
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
GB0620928D0 (en) * 2006-10-20 2006-11-29 Vodafone Plc Boot process
US20090172378A1 (en) * 2007-12-28 2009-07-02 Kazmierczak Gregory J Method and system for using a trusted disk drive and alternate master boot record for integrity services during the boot of a computing platform
US7966454B2 (en) * 2008-02-01 2011-06-21 International Business Machines Corporation Issuing global shared memory operations via direct cache injection to a host fabric interface
US7865775B2 (en) * 2008-03-27 2011-01-04 Intel Corporation Remote firmware recovery
DE102008021567B4 (de) * 2008-04-30 2018-03-22 Globalfoundries Inc. Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
US7984286B2 (en) * 2008-06-25 2011-07-19 Intel Corporation Apparatus and method for secure boot environment

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485849A (zh) * 2015-08-28 2017-03-08 Ncr公司 自助服务终端技术状况监控和报警
US10803437B2 (en) 2015-08-28 2020-10-13 Ncr Corporation Self-service terminal technical state monitoring and alerting
CN106650506A (zh) * 2015-11-03 2017-05-10 质子世界国际公司 电子电路的受控启动
CN106650456A (zh) * 2015-11-03 2017-05-10 质子世界国际公司 电子电路的安全启动
CN106650506B (zh) * 2015-11-03 2019-09-20 质子世界国际公司 电子电路的受控启动方法和电子设备
CN110532785A (zh) * 2015-11-03 2019-12-03 质子世界国际公司 电子电路的受控启动方法和电子设备
CN106650456B (zh) * 2015-11-03 2020-03-13 质子世界国际公司 电子电路的安全启动方法以及电子设备
CN110532785B (zh) * 2015-11-03 2024-03-01 质子世界国际公司 电子电路的受控启动方法和电子设备

Also Published As

Publication number Publication date
US8103909B2 (en) 2012-01-24
EP2164017B1 (en) 2018-05-16
EP2164017A3 (en) 2014-03-12
US20100070800A1 (en) 2010-03-18
EP2164017A2 (en) 2010-03-17
CN101676876B (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
CN101676876B (zh) 受威胁计算机的自动的基于硬件的恢复
US9886578B2 (en) Malicious code infection cause-and-effect analysis
US9807055B2 (en) Preventing network attacks on baseboard management controllers
EP2696282B1 (en) System and method for updating authorized software
US20090125755A1 (en) System and method for detection and recovery of malfunction in mobile devices
CN103218563A (zh) 软件漏洞利用防护
US9588776B2 (en) Processing device
JP2008535053A (ja) パッチが当てられていないマシンの動的な保護
US10102073B2 (en) Systems and methods for providing automatic system stop and boot-to-service OS for forensics analysis
US9245122B1 (en) Anti-malware support for firmware
EP2876572A1 (en) Firmware-level security agent supporting operating system-level security in computer system
US9021453B1 (en) Anti-malware installation deployment simulator
US20230185921A1 (en) Prioritizing vulnerabilities
US20080115215A1 (en) Methods, systems, and computer program products for automatically identifying and validating the source of a malware infection of a computer system
EP2980697B1 (en) System and method for altering a functionality of an application
US10002070B2 (en) System and method for altering functionality of an application
KR101060596B1 (ko) 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법
CN111506897B (zh) 数据处理方法和装置
US20200167463A1 (en) Out-of-Band Content Analysis
KR20090000576A (ko) 보안을 제공하는 장치 및 방법
KR20180045397A (ko) 악성코드 진단장치 및 방법
CN117648100B (zh) 应用部署方法、装置、设备和存储介质
JP2019096223A (ja) 制御システム用マルウェア対策システムおよび制御システム用マルウェアチェックコンピュータ
US20240119155A1 (en) Generating alerts for unexpected kernel modules
Kim et al. Security evaluation metric of windows-based information security products

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131204

Termination date: 20190914

CF01 Termination of patent right due to non-payment of annual fee