CN101176069B - 用于操作计算机系统的方法 - Google Patents
用于操作计算机系统的方法 Download PDFInfo
- Publication number
- CN101176069B CN101176069B CN2006800114167A CN200680011416A CN101176069B CN 101176069 B CN101176069 B CN 101176069B CN 2006800114167 A CN2006800114167 A CN 2006800114167A CN 200680011416 A CN200680011416 A CN 200680011416A CN 101176069 B CN101176069 B CN 101176069B
- Authority
- CN
- China
- Prior art keywords
- integrity checker
- integrity
- computer system
- checker
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 45
- 230000000737 periodic effect Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 7
- 230000006378 damage Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000001066 destructive effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 24
- 238000007689 inspection Methods 0.000 description 20
- 230000015654 memory Effects 0.000 description 12
- 239000003795 chemical substances by application Substances 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 206010065954 Stubbornness Diseases 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying 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/S 130的一部分,虽然其可为其它程序或自我独立程序的一部分。完整性检查程序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等人于2005年2月7日申请的共同审理中的美国专利申请案第11/053,081号(律师备审案第TRAN-P381号)的用于提供安全启动结构的系统和方法(SYSTEM AND METHOD FOR PROVIDING A SECURE BOOTARCHITECTURE)中被描述,其整体被纳于此处做为参考。提供在启动时可被信任的操作系统的另一技术为由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…地址/数据总线 155…安全位
100…计算机系统 160…事件检测逻辑
101…中央处理器 165…O/S动态数据结构
102…易失性存储器 172…通知位
103…非易失性存储器 200…计算机控制的处理
104…数据储存装置 300…计算机控制的处理
120…计算机系统验证硬件与软件 400…完整性检查程序
125…可编程一次的定时器 405…进入指令
130…操作系统 408…退出指令
140…安全逻辑 410…内部堆栈
145…完整性检查程序 415…代码主体指令
150…检查和寄存器
Claims (14)
1.一种操作计算机系统的方法,其特征在于,所述方法包含:
在所述计算机系统启动时声明完整性检查程序;以及
判定所述完整性检查程序是否在时段内准周期性地验证操作系统的动态数据结构,其中准周期性地意为验证在一系列期间的每一个中的某点发生,但未必在每一期间中的同一点发生。
2.如权利要求1所述的方法,其特征在于,进一步包含在所述启动时储存用于验证所述完整性检查程序的值。
3.如权利要求2所述的方法,其特征在于,进一步包含忽略变更用于验证所述完整性检查程序的所述值的任何尝试,其中用于验证所述完整性检查程序的所述值在开始所述计算机系统的所述启动后只能被建立一次。
4.如权利要求1所述的方法,其特征在于,进一步包含在所述计算机系统启动时建立所述时段。
5.如权利要求4所述的方法,其特征在于,进一步包含忽略要再次建立所述时段的任何尝试,其中所述时段在开始所述计算机系统的所述启动后只能被建立一次。
6.如权利要求1所述的方法,其特征在于,所述完整性检查程序可操作用以检测所述操作系统的破坏。
7.如权利要求1所述的方法,其特征在于,进一步包含对未能在所述时段内验证的所述完整性检查程序提供响应。
8.如权利要求1所述的方法,其特征在于,进一步包含防止通过在所述完整性检查程序成功执行后设立破坏事件发生来破坏所述计算机系统的攻击。
9.一种操作计算机系统的方法,其特征在于,所述方法包含:
在操作系统被信任时声明完整性检查程序;以及
判定所述完整性检查程序是否在时段内准周期性地验证所述操作系统的动态数据结构,其中准周期性地意为验证在一系列期间的每一个中的某点发生,但未必在每一期间中的同一点发生。
10.如权利要求9所述的方法,其特征在于,进一步包含在所述操作系统被信任的所述时间内储存用于验证所述完整性检查程序的值。
11.如权利要求10所述的方法,其特征在于,用于验证所述完整性检查程序的所述值只能被建立一次。
12.如权利要求9所述的方法,其特征在于,进一步包含在所述操作系统被信任的所述时间建立所述时段。
13.如权利要求12所述的方法,其特征在于,所述时段只能被建立一次。
14.如权利要求9所述的方法,其特征在于,进一步包含依照障碍同步事件来执行所述完整性检查程序。
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 CN101176069A (zh) | 2008-05-07 |
CN101176069B true 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) |
Families Citing this family (22)
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 |
US9135131B2 (en) * | 2012-02-16 | 2015-09-15 | National Instruments Corporation | Customizing operation of a test instrument based on information from a system under test |
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 |
CN104981814B (zh) * | 2013-03-15 | 2018-08-14 | 英特尔公司 | 安全协处理器引导性能 |
US9367690B2 (en) * | 2014-07-01 | 2016-06-14 | Moxa Inc. | Encryption and decryption methods applied on operating system |
EP3388944A1 (de) * | 2017-04-13 | 2018-10-17 | TTTech Computertechnik AG | Verfahren zur fehlererkennung in einem betriebssystem |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379342A (en) * | 1993-01-07 | 1995-01-03 | International Business Machines Corp. | Method and apparatus for providing enhanced data verification in a computer system |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
CN1416545A (zh) * | 2000-02-11 | 2003-05-07 | 英特尔公司 | 受保护的引导流程 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4401208A (en) | 1981-04-13 | 1983-08-30 | Allmacher Jr Daniel S | Accumulating conveyor 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 |
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 |
-
2005
- 2005-02-07 US US11/053,080 patent/US7793347B2/en active Active
-
2006
- 2006-02-03 CN CN2006800114167A patent/CN101176069B/zh active Active
- 2006-02-03 WO PCT/US2006/004095 patent/WO2006086302A1/en active Application Filing
- 2006-02-06 TW TW095103880A patent/TWI384356B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN1416545A (zh) * | 2000-02-11 | 2003-05-07 | 英特尔公司 | 受保护的引导流程 |
Also Published As
Publication number | Publication date |
---|---|
CN101176069A (zh) | 2008-05-07 |
WO2006086302A1 (en) | 2006-08-17 |
US20060179483A1 (en) | 2006-08-10 |
US7793347B2 (en) | 2010-09-07 |
TW200636445A (en) | 2006-10-16 |
TWI384356B (zh) | 2013-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101176069B (zh) | 用于操作计算机系统的方法 | |
TWI512520B (zh) | 偵測對數位電路之攻擊之系統與方法 | |
CA1153474A (en) | Hardware memory write lock circuit | |
TW531712B (en) | Protected boot flow | |
KR102003663B1 (ko) | 디버그 예외 생성 제어 | |
US9361170B2 (en) | Method for checking data consistency in a system on chip | |
Krena et al. | Healing data races on-the-fly | |
CN104364772A (zh) | 事务环境内的程序事件记录 | |
EP3198399B1 (en) | Detecting a change to system management mode bios code | |
CN107690645A (zh) | 使用解释器虚拟机的行为恶意软件检测 | |
CN103718165A (zh) | Bios闪存攻击保护和通知 | |
CN104412232A (zh) | 事务处理 | |
US20070266435A1 (en) | System and method for intrusion detection in a computer system | |
WO2015174512A1 (ja) | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 | |
CN1760884A (zh) | 用于限制安全执行环境的硬件失败信息泄漏的系统和方法 | |
Germanos et al. | Diagnosability under weak fairness | |
US7451485B2 (en) | Information processing unit having tamper-resistant system | |
CN113467981A (zh) | 异常处理的方法和装置 | |
Morgan et al. | Special feature a survey of methods of achieving reliable software | |
CN110673975B (zh) | 一种星载计算机软件的安全内核结构及安全运行方法 | |
Pescosta et al. | Bounded model checking of speculative non-interference | |
KR100406228B1 (ko) | 의사 랜덤 이진 시퀀스 프로그램 인터록을 이용한 템퍼레지스턴스 | |
Hanmer | Software rejuvenation | |
EP1271317A1 (en) | System-on-chip with time redundancy operation | |
Lesage et al. | A software based approach to eliminate all SEU effects from mission critical programs |
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 |