[go: up one dir, main page]

CN101176069A - 用于验证计算机系统的方法与系统 - Google Patents

用于验证计算机系统的方法与系统 Download PDF

Info

Publication number
CN101176069A
CN101176069A CNA2006800114167A CN200680011416A CN101176069A CN 101176069 A CN101176069 A CN 101176069A CN A2006800114167 A CNA2006800114167 A CN A2006800114167A CN 200680011416 A CN200680011416 A CN 200680011416A CN 101176069 A CN101176069 A CN 101176069A
Authority
CN
China
Prior art keywords
integrity checker
computer system
checker
integrity
operating system
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
CNA2006800114167A
Other languages
English (en)
Other versions
CN101176069B (zh
Inventor
古乐默·J·罗泽斯
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.)
Transmeta Inc
Original Assignee
Transmeta Inc
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 Transmeta Inc filed Critical Transmeta Inc
Publication of CN101176069A publication Critical patent/CN101176069A/zh
Application granted granted Critical
Publication of CN101176069B publication Critical patent/CN101176069B/zh
Active 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

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

验证计算机系统。完整性检查程序在计算机系统启动时被声明。判定该完整性检查程序是否在时段内准周期性地验证操作系统的动态数据结构。

Description

用于验证计算机系统的方法与系统
技术领域
本发明涉及计算机系统的领域。特别是,本发明的实施例涉及验证计算机系统的方法与系统。
背景技术
操作系统有被病毒与其它有敌意的代理程序破坏的风险。被破坏的操作系统可能失去对机器资源的控制且无法执行其设计参数。例如,一旦操作系统被破坏,它可用另一操作系统替换,或该操作系统的必要特征可被绕开,否则被变成不能起作用或被破坏。所以,存在检测及验证计算机系统的需求。
发明内容
广泛而言,本发明关于验证计算机系统。完整性检查程序在计算机系统启动时被声明。判定该完整性检查程序是否在时段内准周期性地验证操作系统的动态数据结构。
本发明的实施例提供验证计算机系统的方法与系统。本发明的实施例为操作计算机系统的方法。该方法包含在该计算机系统启动时声明完整性检查程序。该方法进一步包含判定该完整性检查程序是否在时段内准周期性地验证操作系统的动态数据结构。
依照本发明的另一实施例为操作计算机系统的方法。该方法包含在响应于在预定进入点进入完整性检查程序而清除检测位。该完整性检查程序可操作用以验证操作系统的动态数据结构。该检测位响应于执行该完整性检查程序时发生的预定事件而被设定。若该检测位在该完整性检查程序于预定退出点退出时被清除,然后定时器被重置。
依照本发明的又一实施例为计算机系统。该计算机系统包含安全定时器。该计算机系统也具有安全逻辑,其被耦合至所述定时器且可操作用以判定用于验证操作系统的动态数据结构的完整性检查程序的成功执行,其中如果所述完整性检查程序成功地完成,所述安全逻辑进一步可操作用以重置所述定时器。
本发明还有的另一实施例为操作计算机系统的方法。在此实施例中,该方法包含在操作系统被信任时声明完整性检查程序。该方法进一步包含判定该完整性检查程序是否在时段内准周期性地验证该操作系统的动态数据结构。
附图说明
图1为依照本发明的实施例用于验证计算机系统的硬件与软件图。
图2为流程图,说明依照本发明的实施例操作计算机的处理。
图3为流程图,说明依照本发明的实施例在执行完整性检查程序时发生的处理。
图4为说明依照本发明的实施例的释例性完整性检查程序的图。
图5为释例性计算机系统,其用作为本发明的实施例可在其上被执行的平台。
具体实施方式
在下列本发明的实施例的详细描述中,验证计算机系统的方法与系统很多特定细节被设立以提供对本发明的透彻的理解。然而其将被本领域技术人员认识,本发明可不须这些特定细节或以其等价物地被实践。在其它实例中,熟知的方法、过程、组件和电路未曾详细地被描述以免不必要地模糊本发明的层面。
符号和术语
下列该等详细的描述的一些部分就对可在计算机存储器上被进行的数据位的操作的过程、步骤、逻辑块、处理与其它符号式呈现被提出。这些描述与呈现为被数据处理领域技术人员所使用的方法以最有效地传达其实质工作给本领域其他技术人员。过程、计算机所执行的步骤、逻辑块,处理等在此,并且一般被以为是导致所要求的结果的步骤或指令的自我一致的序列。该等步骤为需要物理量的物理操纵的那些。通常,虽非必要,这些量采用能在计算机系统内被储存、转换、组合、比较、或操纵的电或磁信号的形式。在原理上为普遍使用的理由,参用这些信号成为位、数值、元素、符号、字符、词项、或数字之类已被证明为便利的。
然而须谨记于心的是,所有这些与类似的事项将与适当的物理量有关联,且只是被应用于这些量的方便的标签。除非有特别被陈述或是从下列讨论看来是明白的,其被了解到在整个本发明中,运用到如“存取”、“声明”、“设定”、“清除”、“提供”、“启动”、“处理”、“计算”、“响应”、“判定”、“检测”、“储存”、“输出”、或“返回”之类的用词的讨论是指计算机系统或类似的电子计算装置的动作与处理,其将在计算机系统的寄存器与存储器内被呈现为物理(电子)量的数据加以操作或变换为其它数据,其在该等计算机系统存储器或寄存器或其它这样的信息储存器、传输或显示装置内被类似地呈现为物理量。
所以,提供用于验证操作系统的方法与系统将是有利的。若验证判定对操作系统破坏为可能的,则采取修正行动为进一步有利的。本发明的实施例提供用于验证操作系统的方法与系统。本发明的实施例提供用于检测操作系统已被破坏的方法与系统。本发明的实施例提供方法与系统在检测到被破坏的操作系统时采取修正行动。本发明的实施例提供这些优点与未在上面特别提及但在下面部分被描述的其它者。
依照本发明的实施例,该操作系统(O/S)包含完整性检查程序,其可检查一些O/S动态数据结构为一致的且未被修改。该操作系统在如安全系统启动时的O/S被信任时对安全逻辑声明该完整性检查程序。然而为了检测O/S稍后可能的破坏,该操作系统准周期性地执行该完整性检查程序。当在这里被使用时,“准周期性地”一词意为事件在一系列期间的每一个中的某点发生,但未必在每一期间中的同一点发生。因而,事件间的间隔是否为均一的均可。若完整性检查程序未能准周期性地成功执行,假设该操作系统已被危害。所以,该计算机系统可被关机或者可采取其它适当的修正行动。
在一个实施例中,该安全逻辑储存安全定时器用于记住完整性检查程序一般应成功地被执行的时段。在此实施例中,若完整性检查程序成功地完成,其硬件只重置该定时器。若某些预定的事件在完整性检查程序正执行时发生,完成可被视为不成功的。这些事件可包括除外处理、中断与写入DMA。成功的完成也可包括完整性检查程序验证O/S的动态数据结构。若定时器到期,修正行动被实行。在一个实施例中,该安全逻辑存储检查和(checksum)用于在完整性检查程序调用时对完整性检查程序进行认证。当O/S在系统启动时声明完整性检查程序时,该检查和被储存且此后不能被变更。
图1为依照本发明实施例的用于验证计算机系统的硬件与软件120的图。该硬件包括安全可编程一次的定时器125例如,该定时器的期间可在每次计算机系统启动时只被建立一次。在一个实施例中,操作系统130通过写至写一次寄存器来规划定时器周期。若完整性检查程序145成功地完成,安全逻辑140重置该安全定时器,而防止因安全定时器超时所致的系统关机或其它修正行动。
该硬件也具有检查和缓存器150,其储存完整性检查代码与数据的检查和。当计算机系统启动或在其它被信任的时间时,安全逻辑140计算并储存此检查和,且该检查和值在此后为不可改变的。当完整性检查程序145被调用时,安全逻辑140验证该检查和。在一个实施例中,检查和寄存器150为写一次寄存器。为了计算检查和,安全逻辑140在一个实施例中具有密码式的安全检查和/混杂法则。虽然任何处理可被使用,该检查和/混杂法则在一个实施例中可以符合安全混杂法则版本1(SHA-1)或更高的。
该硬件也具有存储器单元(例如,寄存器,正反器等),其被用以储存完整或安全位155。此位只可由安全逻辑140写入且被用以考虑完整性检查程序145是否已成功地完成。此位使安全逻辑140能辨识完整性检查程序145的成功的完成,其中安全定时器125被重置。在一个实施例中,安全位155不是在软件中可直接观察的。
在一个实施例中,完整性检查程序145一般必须不需中断与除外处理地执行。进一步言之,用非完整性检查程序145的代理程序的写入在一个实施例中是不被允许的。所以,该硬件也具有事件检测逻辑160,其判定是一个还是多个预定事件(或事件类型)在完整性检查程序执行时发生。该等事件可包括中断、异常处理与对某些存储器位置的DMA写入。然而,本发明不受限于这些事件。
图1的完整性检查程序145典型地为O/S130的一部分,虽然其可为其它程序或自我独立程序的一部分。完整性检查程序145作用成为信任的等周期性的根,而与在系统启动或作用成为信任的原始根的其它时间发生的原始根相反。本发明在完整性检查程序145如何验证操作系统130的完整性的方面允许大的宽容。因而,完整性检查程序145可能取决于O/S。典型上,完整性检查程序145可被用以确认动态O/S数据结构165未曾被伤害。那些动态数据结构可包括中断表、异常处理表、分页寄存器与结构、及分段结构,但不限于此。检查该等结构的完整性的技术为密码检查和;然而本发明不受限于此技术。
一旦存储器管理与定时器中断被知道是安全的,对其它O/S功能的进一步安全检查可由除完整性检查程序之外的代码进行。这些进一步检查的实施依O/S而定。因而,本发明的实施例检测O/S是否已被破坏,在此基础上也允许进一步的安全检查。
图1也显示通知位172,其在存储器的某些区域被写入时被设定。该顽固的通知位对完整性检查程序通知说写入已在存储器的此区域发生且只能在完整性检查模式时被完整性检查程序清除。通知位172将在下面更详细地被描述。
图2为流程图,说明依照本发明的实施例的操作计算机系统的计算机控制的处理200。在步骤210,操作系统在计算机系统启动或O/S被信任的其它时间声明完整性检查程序。在一个实施例中,假设操作系统可在计算机系统启动时被信任。换言之,在系统启动时运行的操作系统不会被破坏或被伤害。
提供计算机系统安全启动的一项技术在Morgan等人  申请的共同审理中的美国专利申请案第  号(律师备审案第TRAN-P381号)的  (标题)中被描述,其整体被纳于此处做为参考。提供在启动时可被信任的操作系统的另一技术为由CD-ROM将计算机系统启动。虽然二者其中之一技术可被使用,本发明就确定操作系统在系统启动时被信任而言,不受限于这些技术。
声明该完整性检查程序可包含该操作系统提供指针指向该完整性检查程序的开始以及其大小。操作系统声明完整性检查程序的一项技术为执行使此信息对安全逻辑为可得到可使用的指令。该指令可为只在一旦开始系统启动后为可执行的特殊指令。操作系统声明完整性检查程序的另一技术为写入在每次计算机系统启动时只能被写入一次的寄存器。
该操作系统注意到定时器期间,使得其可在该定时器期间内开始完整性检查程序的执行。步骤210可包含操作系统声明定时器值以建立此期间。声明定时器期间可通过写入至写入一次的寄存器而被达成。替选的是,操作系统可从寄存器或存储器位置存取该定时器期间。该定时器期间很难被编码使得其即使越过系统启动也不可变更。完整性检查逻辑具有在完整性检查程序的成功的完成时重置该定时器的责任。
图2的步骤220为操作系统调用完整性检查程序。完整性检查程序可包含进入指令、退出指令、与在其间可被用以检查操作系统的完整性的数个指令。调用完整性检查程序可包含操作系统致使该进入指令被执行。该进入指令可将操作系统置于完整性检查模式。在此模式中,操作系统具有不产生异常处理及不允许中断被处理的责任。
然而,进入指令与退出指令不被要求被用来划定完整性检查程序的界限。替选的是,安全检查逻辑被提供,或可在系统启动时由操作系统所提供的信息导出完整性检查码的开始与结束地址。然而,该安全检查逻辑仍须被通知说完整性检查程序正被执行。该操作系统可用任何适合的方式对安全检查逻辑指出此点。
步骤230为安全检查逻辑在执行完整性检查程序以判定完整性检查程序是否成功地完成时监控计算机系统。例如,安全检查逻辑就如中断、异常处理与写入DMA的某些预定事件监控。若此事件发生,完整性检查程序的执行在一个实施例中被视为不成功的。步骤230不限于此监控。步骤230的一个实施例的细节在图3中所显示的处理300被提出。
若完整性检查程序成功地完成,安全检查逻辑在步骤240中重置定时器。如先前被提及者,完整性检查程序可用退出指令结束。该退出指令暗示安全检查逻辑来检查成功完成。替选的是,安全检查逻辑由在系统启动时被提供的信息知道或导出完整性检查程序的结束地址。此外,如先前所讨论的,完整性检查程序可验证O/S的某些动态数据结构。若此验证失败,完整性检查程序会通知安全检查逻辑或自行响应该失败的验证。
在完整性检查程序完成后,操作系统回复至正常模式,其中本发明没有限制被置于中断与异常处理。若定时器在任一点到期,适当的修正行动被采取。适当的修正行动包括,但不被限制于将计算机关机并通知使用者。该定时器在完整性检查程序执行时不会停留。所以,就算定时器在执行时到期,该修正行动仍被采取。
图3为流程图,说明依照本发明的实施例的判定完整性检查程序是否成功地执行的计算机控制的处理300。处理300的步骤依照一个实施例用图2显示的硬件被进行。处理300通过完整性检查程序被操作系统调用而开始。在步骤310,该硬件在响应完整性检查码的适当进入下设定检测位以指出如“成功的完成”的第一状态。该安全硬件对某些事件的检测将改变此位为如“未成功的完成”的第二状态。是否要重置安全定时器的判定是根据此位的状态。完整性检查程序具有预定的进入点。若在任何其它点进入该程序,则不管完整性检查程序如何执行,该硬件将不会重置定时器。
在步骤320,完整性检查程序本身被认证以验证其未曾被干涉。该认证可通过计算完整性检查程序在其现行状态的检查和并与在系统启动被储存的检查和比较而被进行。然而,未要求检查和在完整性检查程序每次被执行时被进行。替选的是,处理器可监控从检查和认证最后一次被进行起完整性检查程序是否已潜在地被修改。此监控可包括监控高速缓存线路与包含完整性检查程序的存储器的区域有关联的分页表映像。若此监控指出有潜在的干涉完整性检查程序,则检查和认证被进行。在一个实施例中,为方便该认证,完整性检查程序配适至可被钉住在由入口至出口的转译转换旁视缓冲器(TLB)中的多个存储器页内。
若检查和检测失败,则检测位被设定为如“未成功的完成”的状态。一旦检测位被设定为此状态,除非完整性检查程序如步骤310所描述地适当地被调用,其不可被设定为成功的完成。典型地,若认证失败,执行会跳至完整性检查程序的结束,然而此并非在所有情形均被要求。
若检查和测试通过,则无行动针对检测位被采取,且完整性检查程序的执行在步骤330继续。在完整性检查程序执行时,该硬件监控的事件包括未被封锁的中断、异常处理、并写入存储器的某些区域或用非完整性检查程序的代理程序写入。如先前所讨论的,操作系统有责任确保无中断被采取(如封锁中断)且在执行完整性检查程序时不会产生异常处理。假设完整性检查程序的执行被中断或若异常处理在执行完整性检查程序时发生,则该硬件设定该检测位。由于该位不应在完整性检查程序其余的执行时被清除,完整性检查程序将不成功地结束。
前述的被禁止的写入在处理器处于完整性检查模式时会典型地涉及与完整性检查程序有关联的高速缓存线路,但不受限于此。此写入禁止适用于非完整性检查程序的任一代理程序的写入,例如在同步多处理器(SMP)或直接存储器存取(DMA)的另一处理器。完整性检查程序的读取不须被禁止。
进一步言之,完整性检查程序的执行不允许分支至其码外。所以,假若此发生,该硬件设定其检测位为未成功的执行。然而,完整性检查程序被允许存取其自身外部的存储器。
在步骤340,若检测位指出完整性检查程序在退出时为成功的完成,该硬件重置安全定时器以开始新的时段。重置定时器因而作用成为“执行的停留”。然而,操作系统将须在定时器的下一次到期前再次为成功的完成重新调用完整性检查程序。注意,若完整性检查程序的执行分支到完整性检查程序外,安全定时器将不会被重置。
图4显示依照本发明的实施例的释例性的完整性检查程序400。该释例性的程序以“进入完整性检查模式”指令405开始,及以“退出完整性检查模式”指令408结束。在其间的代码主体指令415为适用于检查操作系统的完整性的任何指令。如先前讨论的,只要安全逻辑知道完整性检查程序400的界限及知道其已被调用,该等进入与退出指令是不需要的。
在图4的实施例中,完整性检查程序具有内部堆栈410。该内部堆栈被设定为程序执行结束时的默认值,使得检查和认证在下一次执行时将通过。一般而言,只要默认值在程序的成功完成时被重新建立,完整性检查程序就可修改其自已的数据结构与代码。
完整性检查程序存取(读取与写入)本身外部的数据是自由的。在一个实施例中,完整性检查程序具有外部堆栈,其在完整性检查程序的执行时被写保护。非完整性检查程序的任何个体要写入外部堆栈的企图导致安全位被设定为指出完整性检查程序的不成功的执行的值。
如先前被讨论的,假设O/S可在例如计算机系统被启动的某点时间被信任。进一步言之,O/S的完整性通过要求完整性检查程序在确定的时段内成功地执行而准周期性地被重新判定。然而,其有可能有敌意的代理程序(如病毒)可能设立在完整性检查程序成功地执行后破坏O/S、为完整性检查程序实时地恢复适当的O/S以在定时器下一次到期前成功地执行、与在完整性检查程序再次成功地执行后再次破坏O/S的循环周期。
例如,有敌意的代理程序可能破坏O/S及设立未来的DMA写入在完整性检查程序已成功地执行后发生。然后,该有敌意的代理程序会为完整性检查程序实时地恢复O/S的完整性以成功地执行。在完整性检查程序成功地执行后发生的写入DMA会让该有敌意的代理程序再次破坏O/S并再开始该循环周期。若O/S只在一个CPU中或在该CPU内的线内执行完整性检查程序,类似的问题在SMP系统中发生。
下面描述处理此潜在的未来破坏的数个方法。在一个实施例中,存储器的预定区域被写保护使得写入不能由CPU或DMA发生。那些存储器的区域可在如安全计算机系统启动时的操作系统被信任的时间被建立。
另一实施例提供存储器的某些区域的写监控以防止破坏。存储器的那些区域可在如安全计算机系统启动时的操作系统被信任的时间被建立。本实施例允许对那些区域的写入,但用可由安全逻辑存取的顽固的通知位来追踪它们。该顽固的通知位通知完整性检查程序写入已对存储器的此区域发生且只可在处于完整性检查模式时被完整性检查程序清除。就算写入对被监控的区域发生,若该写入被视为被信任的写入,完整性检查程序可清除该通知位。例如,O/S可将密码签名与其自己的代码的修改相联系。该完整性检查代码可验证该密码签名以得知该修改被信任,其中该顽固的通知位被重置。
处理潜在的未来破坏还有的另一实施例为使完整性检查程序的执行成为障碍同步事件(barrier synchronization event)。例如,可写入存储器的所有代理程序具有在执行完整性检查程序时的作用且必须处于已知的状态以正确地执行完整性检查程序。
在SMP系统中,障碍同步可通过使完整性检查程序在所有CPU/线或CPU/线的子集(如一个)上执行,而其余的CPU/线以其未来的工作被正在运行完整性检查程序的CPU/线决定的方式停止而被实现。换言之,不执行完整性检查程序的任一处理器被停止,其方式为其未来的工作被正在运行完整性检查程序的CPU/线决定。因而,在一个实施例中,一个CPU/线执行完整性检查程序而其余的以先前所述的方式被停止。在另一实施例中,所有的CPU/线同时进入完整性检查程序。
在一个实施例中,不执行完整性检查程序的CPU/线在“工作队列”或类似的信号中等候而被停止,使得该工作队列或信号将只被运行完整性检查程序的CPU/线写入。在另一实施例中,不执行完整性检查程序的CPU/线被运行完整性检查程序的CPU/线关机至完整性检查程序运行完成且O/S重新唤醒/重置其它的CPU/线为止。
在又一实施例中,不执行完整性检查程序的CPU/线被停止,其方式为只有在已知地址的处理器间的中断能将其唤醒。完整性检查程序会在让其它CPU/线重启前验证在那个已知地址的代码的完整性。
停止不执行完整性检查程序的CPU/线且只让其在已知状态而非任意状态重新启动执行的其它实施是可能的。
在另一实施例中,O/S执行规则,能做DMA的装置在O/S调用完整性检查程序时不被允许具有任何挂起的写入。因而,O/S只在其不具有任何DMA写入为挂起时调用完整性检查程序。完整性检查程序在其调用时验证能作DMA的装置的状态。例如,能作DMA的装置能具有可由CPU被强迫的闲置或“停车”状态,使得其解散所有先前为挂起的存储器写入。然后完整性检查程序可强迫所有这类装置在进入时被“停车”,然后进行完整性检查。所以,在完整性检查完成后企图将DMA排程以盖写O/S的有敌意的代理程序因其对存储器被排程的写入会被解散而被阻碍。
图5说明释例性计算机系统100的电路,其可形成用于本发明的实施例的平台。计算机系统100包括用于通讯信息的地址/数据总线99、与总线耦合用于处理信息与指令的中央处理器101、与总线99耦合用于为中央处理器101储存信息与指令的易失性存储器102(如随机存取存储器RAM)、以及与总线99耦合用于为中央处理器101储存静态信息与指令的非易失性存储器103(如只读存储器ROM)。
安全逻辑140被耦合至总线99用于由操作系统接收信息及用于提供违反安全的通知。事件检测逻辑160被耦合至总线99用于检测各种事件。计算机系统100也可包括选配的数据储存装置104(如磁或光盘与盘驱动器),其被耦合至总线99用于存储信息与指令。例如在一个实施例中,该操作系统由CD-ROM装置启动。
本发明的较佳实施例,检测计算机系统的破坏的方法与系统,被这样描述。虽然本发明已在特定实施例中被描述,应被了解的是本发明不应被构建成受限于此类实施例,而是依据以下的权利要求被构建。
主要组件符号说明
99…地址/数据总线                150…检查和寄存器
100…计算机系统                  155…安全位
101…中央处理器                  160…事件检测逻辑
102…易失性存储器                165…O/S动态数据结构
103…非易失性存储器              172…通知位
104…数据储存装置                200…计算机控制的处理
120…计算机系统验证硬件与软件    300…计算机控制的处理
125…可编程一次的定时器          400…完整性检查程序
130…操作系统                    405…进入指令
140…安全逻辑                    408…退出指令
145…完整性检查程序              410…内部堆栈
415…代码主体指令

Claims (45)

1.一种操作计算机系统的方法,其特征在于,所述方法包含:
在所述计算机系统启动时声明完整性检查程序;以及
判定所述完整性检查程序是否在时段内准周期性地验证操作系统的动态数据结构。
2.如权利要求1所述的方法,其特征在于,进一步包含在所述启动时储存用于验证所述完整性检查程序的值。
3.如权利要求2所述的方法,其特征在于,进一步包含忽略变更用于验证所述完整性检查程序的所述值的任何尝试,其中用于验证所述完整性检查程序的所述值在开始所述计算机系统的所述启动后只能被建立一次。
4.如权利要求1所述的方法,其特征在于,进一步包含在所述计算机系统启动时建立所述时段。
5.如权利要求4所述的方法,其特征在于,进一步包含忽略要再次建立所述时段的任何尝试,其中所述时段在开始所述计算机系统的所述启动后只能被建立一次。
6.如权利要求1所述的方法,其特征在于,所述完整性检查程序可操作用以检测所述操作系统的破坏。
7.如权利要求1所述的方法,其特征在于,进一步包含对未能在所述时段内验证的所述完整性检查程序提供响应。
8.如权利要求1所述的方法,其特征在于,进一步包含防止通过在所述完整性检查程序成功执行后设立破坏事件发生来破坏所述计算机系统的攻击。
9.一种操作计算机系统的方法,其特征在于,包含:
响应在所述完整性检查程序中的预定进入点开始所述完整性检查程序的执行将检测位设定为第一状态,其中所述完整性检查程序可操作用以验证操作系统的动态数据结构;
检测在所述完整性检查程序执行时发生的预定事件;
响应所述检测所述预定事件将所述检测位设定为第二状态;以及
只有当在所述完整性检查程序中的预定退出点退出所述完整性检查程序时所述检测位处于所述第一状态时才重新设定定时器。
10.如权利要求9所述的方法,其特征在于,进一步包含在所述开始执行所述完整性检查程序与所述退出所述完整性检查程序之间认证所述完整性检查程序。
11.如权利要求10所述的方法,其特征在于,所述预定事件包含所述认证所述完整性检查程序指示认证失败。
12.如权利要求9所述的方法,其特征在于,所述预定事件包含异常处理。
13.如权利要求9所述的方法,其特征在于,所述预定事件包含所述完整性检查程序的执行被中断。
14.如权利要求9所述的方法,其特征在于,所述预定事件包含所述完整性检查程序的执行分支到所述完整性检查程序外。
15.如权利要求9所述的方法,其特征在于,所述预定事件包含对存储器的预定区域的写入。
16.如权利要求15所述的方法,其特征在于,所述存储器的预定区域包含所述完整性检查程序。
17.如权利要求15所述的方法,其特征在于,所述存储器的预定区域包含与操作系统有关联的数据结构。
18.如权利要求9所述的方法,其特征在于,进一步包含:
判定对存储器的预定区域的写入已经发生;
判定所述写入是否被信任;以及
若所述写入不被信任,将所述检测位设定为所述第二状态。
19.如权利要求9所述的方法,其特征在于,进一步包含在所述完整性检查程序开始执行时使能做DMA的装置消除先前挂起的存储器写入。
20.一种计算机系统,其特征在于,包含:
安全定时器;以及
安全逻辑,其被耦合至所述定时器且可操作用以判定用于验证操作系统的动态数据结构的完整性检查程序的成功执行,其中如果所述完整性检查程序成功地完成,所述安全逻辑进一步可操作用以重置所述定时器。
21.如权利要求20所述的计算机系统,其特征在于,所述安全逻辑进一步可操作用以在所述完整性检查程序执行时检测预定事件,并且其中所述判定成功的执行是以此为基础的。
22.如权利要求21所述的计算机系统,其特征在于,所述预定事件包含中断。
23.如权利要求21所述的计算机系统,其特征在于,所述预定事件包含异常处理。
24.如权利要求21所述的计算机系统,其特征在于,所述预定事件包含对所述完整性检查程序的写入。
25.如权利要求21所述的计算机系统,其特征在于,所述预定事件包含由除所述完整性检查程序以外的代理程序进行的写入。
26.如权利要求20所述的计算机系统,其特征在于,进一步包含可编程一次的存储器单元用于储存完整性检查值以认证所述完整性检查程序。
27.如权利要求26所述的计算机系统,其特征在于,所述安全逻辑进一步可操作用以用所述完整性检查值来认证所述完整性检查程序。
28.如权利要求20所述的计算机系统,其特征在于,进一步包含存储器单元用于储存安全位。
29.如权利要求28所述的计算机系统,其特征在于,所述安全逻辑进一步可操作用以通过将所述安全位设定为第一状态来响应所述完整性检查程序的正确调用。
30.如权利要求29所述的计算机系统,其特征在于,所述正确调用包含在预先定义的进入点开始执行所述完整性检查程序。
31.如权利要求30所述的计算机系统,其特征在于,所述安全逻辑进一步可操作用以响应所述完整性检查程序的不成功地执行的判定,将所述安全位设定为第二状态。
32.如权利要求31所述的计算机系统,其特征在于,如果所述安全位处于所述第一状态,所述安全逻辑进一步可操作用以重置所述定时器。
33.如权利要求20所述的计算机系统,其特征在于,所述安全定时器的周期在所述计算机系统每次启动时可建立一次。
34.如权利要求20所述的计算机系统,其特征在于,所述操作系统包含所述完整性检查程序代码。
35.如权利要求20所述的计算机系统,其特征在于,所述操作系统负责在所述安全定时器所定义的时段内准周期性地调用所述完整性检查程序。
36.如权利要求20所述的计算机系统,其特征在于,所述操作系统执行防止所述完整性检查程序中断的规则。
37.如权利要求20所述的计算机系统,其特征在于,所述操作系统执行在所述完整性检查程序执行时不会产生异常处理的规则。
38.如权利要求20所述的计算机系统,其特征在于,所述操作系统执行当所述操作系统调用所述完整性检查程序时能做DMA的装置不被允许具有任何挂起的写入的规则。
39.如权利要求20所述的计算机系统,其特征在于,进一步包含多个处理器,其中在执行所述完整性检查程序时,不执行所述完整性检查程序的任一所述处理器被停止。
40.一种操作计算机系统的方法,其特征在于,所述方法包含:
在操作系统被信任时声明完整性检查程序;以及
判定所述完整性检查程序是否在时段内准周期性地验证所述操作系统的动态数据结构。
41.如权利要求40所述的方法,其特征在于,进一步包含在所述操作系统被信任的所述时间内储存用于验证所述完整性检查程序的值。
42.如权利要求41所述的方法,其特征在于,用于验证所述完整性检查程序的所述值只能被建立一次。
43.如权利要求40所述的方法,其特征在于,进一步包含在所述操作系统被信任的所述时间建立所述时段。
44.如权利要求43所述的方法,其特征在于,所述时段只能被建立一次。
45.如权利要求40所述的方法,其特征在于,进一步包含依照障碍同步事件来执行所述完整性检查程序。
CN2006800114167A 2005-02-07 2006-02-03 用于操作计算机系统的方法 Active CN101176069B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/053,080 2005-02-07
US11/053,080 US7793347B2 (en) 2005-02-07 2005-02-07 Method and system for validating a computer system
PCT/US2006/004095 WO2006086302A1 (en) 2005-02-07 2006-02-03 Method and system for validating a computer system

Publications (2)

Publication Number Publication Date
CN101176069A true CN101176069A (zh) 2008-05-07
CN101176069B CN101176069B (zh) 2012-01-11

Family

ID=36781405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800114167A Active CN101176069B (zh) 2005-02-07 2006-02-03 用于操作计算机系统的方法

Country Status (4)

Country Link
US (1) US7793347B2 (zh)
CN (1) CN101176069B (zh)
TW (1) TWI384356B (zh)
WO (1) WO2006086302A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014139162A1 (en) * 2013-03-15 2014-09-18 Intel Corporation Security co-processor boot performance
CN104364766A (zh) * 2012-02-16 2015-02-18 美国国家仪器有限公司 测试仪器基于来自测试中系统的信息的定制操作
CN108733502A (zh) * 2017-04-13 2018-11-02 Tttech 电脑技术股份公司 用于操作系统中的错误识别的方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1717704A3 (fr) * 2005-04-20 2011-07-20 St Microelectronics S.A. Protection du déroulement d'un programme exécuté par un circuit intégré
US7600259B2 (en) * 2005-06-08 2009-10-06 Symantec Corporation Critical period protection
US7516246B2 (en) * 2005-10-27 2009-04-07 International Business Machines Corporation Communications channel method for verifying integrity of untrusted subsystem responses to a request
US7904278B2 (en) * 2006-05-02 2011-03-08 The Johns Hopkins University Methods and system for program execution integrity measurement
EP1881404A1 (fr) * 2006-07-20 2008-01-23 Gemplus Procédé de protection dynamique des données lors de l'exécution d'un code logiciel en langage intermédiaire dans un appareil numérique
US20080126779A1 (en) * 2006-09-19 2008-05-29 Ned Smith Methods and apparatus to perform secure boot
US20080163212A1 (en) * 2006-12-29 2008-07-03 Zimmer Vincent J Paralleled management mode integrity checks
US8561176B1 (en) * 2007-01-24 2013-10-15 Mcafee, Inc. System, method and computer program product for monitoring and/or analyzing at least one aspect of an invocation of an interface
US8375219B2 (en) * 2007-10-24 2013-02-12 Microsoft Corporation Program and operation verification
US20090133097A1 (en) * 2007-11-15 2009-05-21 Ned Smith Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
WO2010014109A1 (en) * 2008-08-01 2010-02-04 Hewlett-Packard Development Company, L.P. Verifying firmware
US20100077472A1 (en) * 2008-09-23 2010-03-25 Atmel Corporation Secure Communication Interface for Secure Multi-Processor System
US20100107257A1 (en) * 2008-10-29 2010-04-29 International Business Machines Corporation System, method and program product for detecting presence of malicious software running on a computer system
DE102011108077A1 (de) * 2010-08-13 2012-03-22 Lfk-Lenkflugkörpersysteme Gmbh Verfahren zur Speicherplatzverwaltung in einem multitaskingfähigen Datenverarbeitungssystem
US20130061328A1 (en) * 2011-09-06 2013-03-07 Broadcom Corporation Integrity checking system
GB2498571A (en) 2012-01-20 2013-07-24 Intellectual Ventures Holding 81 Llc Base station able to communicate with a second device type on a narrow subset frequency band contained within a first main band
KR101897605B1 (ko) * 2012-02-24 2018-09-12 삼성전자 주식회사 휴대 단말기의 무결성 보호 방법 및 장치
EP2831787B1 (en) 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
US9367690B2 (en) * 2014-07-01 2016-06-14 Moxa Inc. Encryption and decryption methods applied on operating system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4401208A (en) 1981-04-13 1983-08-30 Allmacher Jr Daniel S Accumulating conveyor system
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5379342A (en) 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
JP2974577B2 (ja) 1994-02-28 1999-11-10 株式会社東芝 コンピュータシステム
US6185678B1 (en) 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6401208B2 (en) 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
KR20000025197A (ko) 1998-10-09 2000-05-06 윤종용 시스템 진단을 위한 컴퓨터 부팅 방법
KR20000061449A (ko) 1999-03-26 2000-10-16 윤종용 컴퓨터 시스템에서의 자가 진단 방법 및 그 장치
US6356529B1 (en) 1999-08-12 2002-03-12 Converse, Ltd. System and method for rapid wireless application protocol translation
US6519552B1 (en) * 1999-09-15 2003-02-11 Xerox Corporation Systems and methods for a hybrid diagnostic approach of real time diagnosis of electronic systems
US6711675B1 (en) 2000-02-11 2004-03-23 Intel Corporation Protected boot flow
US6625730B1 (en) 2000-03-31 2003-09-23 Hewlett-Packard Development Company, L.P. System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
KR20020007090A (ko) 2000-07-15 2002-01-26 윤종용 컴퓨터 및 그 부팅 복구 방법
US7308714B2 (en) * 2001-09-27 2007-12-11 International Business Machines Corporation Limiting the output of alerts generated by an intrusion detection sensor during a denial of service attack
US7237126B2 (en) * 2001-09-28 2007-06-26 Hewlett-Packard Development Company, L.P. Method and apparatus for preserving the integrity of a management subsystem environment
EP1479007B1 (en) * 2002-02-07 2018-01-10 Invensys Systems, Inc. System and method for authentication and fail-safe transmission of safety messages
US7024550B2 (en) * 2002-06-28 2006-04-04 Hewlett-Packard Development Company, L.P. Method and apparatus for recovering from corrupted system firmware in a computer system
US20040064457A1 (en) 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
US7231512B2 (en) 2002-12-18 2007-06-12 Intel Corporation Technique for reconstituting a pre-boot firmware environment after launch of an operating system
US7340638B2 (en) * 2003-01-30 2008-03-04 Microsoft Corporation Operating system update and boot failure recovery
US20050021968A1 (en) 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US7533274B2 (en) 2003-11-13 2009-05-12 International Business Machines Corporation Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
US7243221B1 (en) * 2004-02-26 2007-07-10 Xilinx, Inc. Method and apparatus for controlling a processor in a data processing system
EP1729298A1 (en) * 2004-03-23 2006-12-06 Matsushita Electric Industrial Co., Ltd. Recording device, reproduction device, host device, drive device, recording method, reproduction method, program, and information recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104364766A (zh) * 2012-02-16 2015-02-18 美国国家仪器有限公司 测试仪器基于来自测试中系统的信息的定制操作
CN104364766B (zh) * 2012-02-16 2016-05-18 美国国家仪器有限公司 测试仪器基于来自测试中系统的信息的定制操作
WO2014139162A1 (en) * 2013-03-15 2014-09-18 Intel Corporation Security co-processor boot performance
US9223983B2 (en) 2013-03-15 2015-12-29 Intel Corporation Security co-processor boot performance
CN108733502A (zh) * 2017-04-13 2018-11-02 Tttech 电脑技术股份公司 用于操作系统中的错误识别的方法

Also Published As

Publication number Publication date
WO2006086302A1 (en) 2006-08-17
US20060179483A1 (en) 2006-08-10
CN101176069B (zh) 2012-01-11
US7793347B2 (en) 2010-09-07
TW200636445A (en) 2006-10-16
TWI384356B (zh) 2013-02-01

Similar Documents

Publication Publication Date Title
CN101176069B (zh) 用于操作计算机系统的方法
TW531712B (en) Protected boot flow
TWI512520B (zh) 偵測對數位電路之攻擊之系統與方法
TWI648652B (zh) 修復受危害之系統啓動碼之技術
CN100489805C (zh) 运行时间安全保证的自动存储器检测器及其方法
CA1153474A (en) Hardware memory write lock circuit
CN105378663B (zh) 用于更新引导代码的系统和方法
US9361170B2 (en) Method for checking data consistency in a system on chip
EP3198399B1 (en) Detecting a change to system management mode bios code
CN103718165A (zh) Bios闪存攻击保护和通知
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
US20070266435A1 (en) System and method for intrusion detection in a computer system
US20110214012A1 (en) Secured coprocessor comprising an event detection circuit
Germanos et al. Diagnosability under weak fairness
CN1760884A (zh) 用于限制安全执行环境的硬件失败信息泄漏的系统和方法
US7451485B2 (en) Information processing unit having tamper-resistant system
CN113467981A (zh) 异常处理的方法和装置
CN110673975B (zh) 一种星载计算机软件的安全内核结构及安全运行方法
KR100406228B1 (ko) 의사 랜덤 이진 시퀀스 프로그램 인터록을 이용한 템퍼레지스턴스
WO2017131679A1 (en) System management mode test operations
EP1271317A1 (en) System-on-chip with time redundancy operation
Hanmer Software rejuvenation
Klein Correct OS kernel? proof? done
Rajabzadeh et al. Error detection enhancement in COTS superscalar processors with event monitoring features
Locasto Self-healing: science, engineering, and fiction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GAOZHI INVENTION RISK INVESTMENT CO., LTD.

Free format text: FORMER OWNER: TERUNMEET CO., LTD.

Effective date: 20091127

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20091127

Address after: Carson City, Nevada, USA

Applicant after: Transmeta Corp.

Address before: Santa Clara, California, USA

Applicant before: Thrun Mette Ltd

C14 Grant of patent or utility model
GR01 Patent grant