CN1926518A - 运行时间安全保证的自动存储器检测器及其方法 - Google Patents
运行时间安全保证的自动存储器检测器及其方法 Download PDFInfo
- Publication number
- CN1926518A CN1926518A CNA2005800067706A CN200580006770A CN1926518A CN 1926518 A CN1926518 A CN 1926518A CN A2005800067706 A CNA2005800067706 A CN A2005800067706A CN 200580006770 A CN200580006770 A CN 200580006770A CN 1926518 A CN1926518 A CN 1926518A
- Authority
- CN
- China
- Prior art keywords
- memory
- electronic equipment
- reference value
- reliable information
- working time
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000008569 process Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 3
- 238000000151 deposition Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000012544 monitoring process Methods 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
- 230000002349 favourable effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004134 energy conservation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241001071864 Lethrinus laticaudis Species 0.000 description 1
- 239000004165 Methyl ester of fatty acids Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
为电子设备的运行时间安全保证提供自动存储器检测器的方法和装置。自动存储器检测器包括控制器、耦合至控制器的存储器参考文件以及耦合至控制器的鉴别引擎。在电子设备运行时间操作期间执行检测。自动存储器检测器生成对应于存储于存储器中的可信信息的运行时间参考值。运行时间参考值被与存储在存储器参考文件中的存储器参考值进行比较。存储器参考值从存储器中存储的可信信息生成。当运行时间参考值与存储器参考值不相同时,生成错误信号,由此指示可信信息已经被修改。
Description
技术领域
本发明主要涉及软件的安全保证,更具体地,本发明涉及向运行时间软件增加安全保证的硬件方法。
背景技术
确保嵌入系统软件代码完整性正成为嵌入电子设备日益重要的安全问题。确保存储于存储器中软件的完整性是有利的大量例证是个人数字助理(PDAs)和手机。主要地,这些设备利用内部微处理器分两个阶段执行指令:引导时间和运行时间。可信计算机系统利用加密的软件在执行软件前鉴别每个阶段。
在引导时间期间,嵌入的处理器执行基本硬件和存储在非易失性存储器中的软件初始化指令(引导代码),如电可擦除只读存储器(如闪盘永久性存储器)、只读存储器(ROM)、或电可编程只读存储器(EPROM)。引导代码的目的是确认和配置硬件及与硬件相关的数据,为系统软件提供已知的执行环境和用户界面。对于可信的计算机操作,引导代码也在引导时间确认和鉴别程序应用及操作系统(OS)存储器,确保该存储器包含期望的并因此可信的代码。一旦引导时间指令对鉴别进行了检测,则系统控制进入经确认的OS/应用程序执行图像并进入运行时间模式。
在运行时间期间,处理器执行来自OS/应用程序图像的代码。OS通常将建立多处理运行时间执行环境,装载任何启动或嵌入式应用程序,为正常运行时间过程作准备。在此稍后时间期间,当运行时间环境完全建立时,不可信的用户应用代码或下载的动态代码可能运行,并且存储器故障可能出现在原来可信和鉴别的代码上,这是由于非引导时间因素造成的,如计算机病毒或内部程序缺陷。此外,在引导时间确认的OS/应用程序存储器可被运行时间存储器恶意替换,而变得与在引导时间鉴别的完全不同。这被称为“背负式(piggy back)”攻击,它向嵌入式系统软件构成相当大的安全威胁难题。请求对产品平台的物理访问,运行时间存储器件被背负在初始确认的存储器件上。在引导过程结束并将控制传递至外部存储器之后,它完全替换确认的引导设备,从此创建完全不同的、未经检测的运行时间环境。
系统软件中确认指令代码的传统方法只鉴别指令存储器一次。利用密码算法生成单向存储器参考签名或不对称密钥数字签名执行一次确认。执行前,消息鉴别代码或类似的数字签名在指令寄存器中生成。如果生成的结果与存入系统其它地方或加密的不对称数字签名内的预定值匹配,则指令被允许执行。然而,目前的解决方法不解决在初始鉴别后篡改指令存储器内容的风险。在运行时间期间,指令代码易受背负式即软件攻击,这些攻击将替换已鉴别的指令存储器或数据。初始鉴别代码的完整性可因存储器的物理替换或处理器的转移而受到破坏,从未经初始鉴别的存储器范围执行代码。例如,计算机病毒可在引导时间期间保持隐匿,然后导致处理器异常,以执行不同的指令集。
在设备的操作过程当中,控制电子设备的大部分系统软件不会改变。即使通过初始鉴别将系统软件高可靠性地装入存储器中,在数百万时钟循环和不断向不可信代码暴露后,系统恶化的可能性会上升。如果系统遭破坏,执行自我检测功能是不可信的。事实上,用于执行自检的参考数据/存储器是安全目标或弱点,并且是安全敏感的和决不应改变的数据的示例。其它安全敏感数据可以是配置寄存器,该配置寄存器控制内部数据对嵌入设备或OS敏感数据的外部的可见度,如中断服务例程(ISR)地址,或特定存储器管理单元(MMU)页面表,或特定文件系统数据,如用户和组标识符以及口令。
此外,许多嵌入系统,如手机及PDA,只有在它们被从电源断开时才进入引导模式。因此,在运行时间模式的嵌入设备的初始指令代码的完整性,在设备运行下载的应用程序和在与外部设备通信时,面临逐渐增加的风险。因此,在通常不断开电源和直到电源故障才重新引导进行鉴别的设备中,风险特别大。而且,操作系统和应用软件被存储于存储器的不同区域。事实上,软件被存储在不同的区域,并且软件还可能被从许多源接收,一些是确实存在的,其它是不能被证实,这会引起长期跟踪和安全问题。
由此,期望为软件的运行时间安全保证设计存储器检测器,在引导时间期间装入存储器。如果存储器检测器是自动地确保检测出现,那将是有利的。如果该设备节能并且在频繁请求总线访问而不明显影响运行时间系统性能,那将更是有利的。
附图说明
此后将结合下面给出的附图描述本发明,其中相同的引用标记表示相同的元件,并且
图1是根据本发明一个实施例的自动存储器检测器框图;
图2是根据本发明的一个实施例的第一流程图,说明用于运行时间安全保证的自动存储器检测器的操作步骤;
图3是示出了耦合至主机处理器和存储器块的自动完整性检测器的系统方框图;以及
图4是根据本发明的一个实施例的第二流程图,说明用于运行安全保证的自动存储器检测器的操作步骤。
具体实施方式
下面的详细描述仅为特性示例,并非意图限制本发明,及其本发明的应用及使用。此外,也无意图因对前述技术领域、背景技术、发明内容及后面的详细描述使任何表述或隐含的理论受到限制。
图1是根据本发明一个实施例的自动存储器检测器10的框图。主机处理器(未示出)首先设定可编程参数,如存储器起始地址、长度、直接存储器访问(DMA)读频率、最大突发大小、以及存储器块使能。主机经过主机总线50发送指令到自动存储器检测器10的控制器25,启动初始存储器参考模式。在初始存储器参考模式,控制器25请求DMA控制器15经过DMA主控总线45提取存储器内容。存储器内容是可信的信息。鉴别引擎20经内部总线55接收存储器内容,生成适当的存储器参考。鉴别引擎20生成存储器参考值,如大块数据的散列函数、少量数据的简单复制,或大量数据快速处理的循环冗余校验(CRC)。从鉴别引擎20输出的存储器参考值,经过内部总线80和85,被存储于存储器参考文件40中。在引导时间模式期间,存储器参考文件40在存储器中存储存储器参考值。这些存储器参考值被重复地与在运行时间模式生成的运行时间参考值进行比较,以确保可信信息的完整性,这些存储器参考值在引导时间模式启动后不应当被改变。
可信信息的一个示例是对电子设备的操作非常关键的软件。制造商在电子设备中装入软件。由于制造商或其它受可信实体向电子设备提供该软件,则该软件是可信的信息。总之,现有技术的电子设备只检测在引导时间模式期间可信信息的完整性。该可信信息易受修改,而无需电子设备用户的认可。由外部代理而没有用户认可的可信信息修改会造成严重后果。利用软件程序检测可信信息是自相矛盾的,因为存储器中信息的完整性有问题。换句话说就是软件检测程序可能会像可信信息一样被修改。可以理解,可信信息可是任何类型的信息,该信息不应被改变或修改,并且也不限于软件。
在运行时间期间,自动存储器检测器10可主动监测经确认的存储器内容的真实性。它可从存储器取值并执行多种监测方案。一种可能的方法是“点检测”,点检测从一个隔离的存储器位置检索数据。另一方法设计包括“漫游检测”,该检测从某位置读取值,然后与前面存储的值进行比较。如果两个值匹配,指针增加,新的值被读并存储。这个存储的值之后被与从相同的存储器位置读取的值进行比较。在分配空间的边界内,漫游检测自我重复。
另一常用方案是“块检测”。该方法通常被称为“散列”或CRC。块检测对特定的数据块执行压缩型功能,并且存储不同的代表值(即离散数学函数输出),为之后比较之用。
其它监测功能包括写-读检测,主动等待检测,以及软件到硬件切换检测。写-读检测将任意值装入存储器位置,之后再重新取得。存储值的任何改变均表明可能的数据破坏。读-写方式要求DMA控制器15具备向期望的存储器位置既能读又能写的能力。
主动等待检测要求系统软件周期性地“check-in”以进行比较。最后,软件到硬件的切换检测阻止缓冲区溢出攻击在子例程中的出现,该子例程给缓冲区分配的空间小于写入其中的字的数量。溢出的字落入为诸如为程序计数器的关键数据而分配的栈空间。当子例程返回,程序计数器将是不正确的。一种防止缓冲区溢出攻击的方式是命令正常软件在安全状态下初始化硬件检测。处于正常状态的软件告知硬件将要在子例程中分配缓冲区以及关键数据位于特定地址。硬件缓冲鉴别的值。之后不久,硬件要看处于缓冲区边缘的值是否没有改变。尽管软件到硬件的切换检测包括一些开销,但对高敏感数据,它明显地增加了安全保证。
如果在运行时间期间出现参考失配,地址/长度错误,或出现监视超时,自动存储器检测器10停止操作,并且发出适当的中断,以表明经确认的存储器内容的可能恶化。可以理解,自动存储器检测器10独立操作,并在其操作期间不能由其它逻辑块或程序关闭。这就确保了可信信息在运行时间模式期间总被检测。在运行时间期间的任何错误将引起自动存储器检测器10中断,并向主机发错误信号。在系统实施例中,要求硬件复位,以退出错误状态。
自动存储器检测器10也包括定时器模块35以及时钟控制30。定时器模块35在自动存储器检测器的各个阶段关闭自动存储器检测器10的特定逻辑块,以提供节能。定时器模块35不断地、部分地控制时钟控制30、控制器25、鉴别引擎20及其它块的操作。定时器模块35包含总线监视定时器,该定时器确保DMA控制器15被准许在可接受的时间量内的总线访问。如果时钟控制30处于活动模式,则时钟控制30向控制器25、鉴别引擎20以及存储器参考文件40提供时钟信号。
DMA控制器15允许自动存储器检测器10是总线主控器。自动存储器检测器10可提取存储器内容,而在任何时候无需向主机请求准许。DMA控制器15具备读能力。DMA控制器15的直接存储器访问能力允许自动存储器检测器10在由于软件损坏而使主处理器不可信的情况下是可靠的。
图2是示出图1的自动存储器检测器10的操作概念性步骤的第一流程图。在复位后的引导时间期间,自动存储器检测器10从主机接收进入初始存储器参考模式110的信号。在初始存储器参考模式110中,自动存储器检测器10通过DMA控制器15从存储器中提取特定内容,并通过鉴别引擎20为期望的存储器位置或块生成存储器参考值。典型的鉴别方案包括,但不限于,安全散列算法1(SHA-1)及消息分类算法5(MD5)。存储器参考值表示特定存储器内容的特有值。每个存储器参考值被存于存储器参考文件40,以为之后比较之用。处理115及117重复,直到自动存储器检测器10从主机接收到进入运行时间检测模式120的另一个信号。
在运行时间检测模式120中,可调时间随机函数发生器初始化存储器参考比较130。当定时器模块35唤醒自动存储器检测器10中的其余电路时,控制器25向DMA控制器15发出信号,以从特定块和地址中提取存储器内容。提取的存储器内容馈入鉴别引擎20,以生成运行时间参考值。运行时间参考值被与存储器参考文件40中存储的值比较。比较的运行时间和存储参考值对应于相同的存储器块和地址。如果运行时间和存储器参考值匹配,那么无论何时可调时间随机函数发生器初始化另一个存储器参考比较,处理130和140重复。如果存储器参考值不匹配,那么,自动存储器检测器10进入错误模式155,硬件采取动作。
一旦错误出现,自动存储器检测器10具有可采取的几个硬件动作。一个可能的动作是进入硬件的、降低的系统状态。该线路将把系统功能带入非安全状态,如手机的E-911。外部提醒是用于通知错误的硬件动作的另一方法。这像LED一样简单,指示设备的存储器内容的完整性不能被信任。对于非常敏感数据,硬件动作也可包括自动清除包含敏感信息的存储器。
图3示出了耦合至主机处理器210的自动存储器检测器205的系统方框图。自动存储器检测器205具有主总线245,该主总线用于从内部存储器块215和外部存储器块220及225读数据。自动存储器检测器205由主机处理器210通过从主线255编程。自动存储器检测器205具有DMA功能,一旦它被编程,它将不向主机处理器210请求任何动作。如果写-读检测被执行,自动存储器检测器205也能够向存储器块215、220和225写入。
自动存储器检测器205还具备监测外围设备260及265中寄存器内容的功能。在引导时间期间,自动存储器检测器205可鉴别设备寄存器的内容,并在其存储器参考文件40中存储寄存器参考值。然后,自动存储器检测器205可将设备260和265中的实时寄存器值与在运行时间期间存储的值进行比较。
图4是展示自动存储器检测器205操作步骤的第二流程图300。在本系统实施例中,自动存储器检测器205由块检测方案实施,采用散列函数生成存储器参考值。首先,主机处理器210为需要被散列的存储器块装入地址和长度对,如过程框图310示出。主机处理器210设置控制寄存器中的单一散列存储器使能并且设置命令寄存器中的“散列一次”位,如过程框图320示出。
在本阶段,自动存储器检测器205进入初始存储器参考模式,如前图2所示例。自动存储器检测器205散列存储器,在散列寄存器文件中置入散列值,并生成“完成”中断,如过程框图330示出。主机处理器210从自动存储器检测器205中读取生成的散列值,然后校验存储器的数字签名,如过程框图340示出。如果数字签名不正确,那么存在代码完整性错误,如判定框图350示出。如果值匹配,主机处理器210告诉自动存储器检测器205,在运行时间期间,存储器块比较是否应当起作用,如判定框图360示出。否则,在运行时间代码散列期间,如框图360的NO判定示出,存储器块比较将被跳过。如果主机处理器210要自动存储器检测器205处理块比较,那么主机处理器210将设置控制寄存器的运行时间散列存储器使能并且设置指令寄存器中的“运行时间散列”位,如过程370示出。
此时,自动存储器检测器205不能被关闭并且与主机处理器210的指令无关地操作。在运行时间期间,自动存储器检测器205在运行时间期间频繁地将来自于存储器块215、220及225的散列结果与散列寄存器文件中存储的值进行比较。设备在无限循环380中操作,直到存储器参考失配出现。检测周期性地或随机地被执行。随机的方法使得攻击变得非常困难,如背负式攻击,这里,存储器或存储器内容被调出更加困难,因为检测不以任何规律的时间顺序进行。
尽管在前面的详细描述中,至少展示了一个示例实施例,但应当认识到,有大量变形存在。还应当认识到,具体示例实施例或各个示例实施例仅为示例,无意限制本发明任何形式的范围、适用性,或构造。相反地,前面的详细描述将向本领域普通技术人员提供方便的方法图,以实施特定示例实施例或各个示例实施例。应当理解,在具体功能和元件安排上各种变化可能出现,而不脱离由所附权利要求和法律等效阐明的本发明的范围。
Claims (19)
1.一种电子设备,包括用于运行时间安全保证的自动存储器检测器,该电子设备包括:
控制器;
耦合至所述控制器的存储器参考文件;以及
耦合至所述控制器的鉴别引擎,其中在电子设备的运行时间操作期间执行检测,将对应于存储在存储器中信息的实时参考值与存储器参考值进行比较。
2.权利要求1的所述电子设备,其中所述检测在电子设备的运行时间操作期间周期性地执行。
3.权利要求1的所述电子设备,其中所述检测在电子设备的运行时间操作期间在随机时刻执行。
4.权利要求1的所述电子设备,进一步包括耦合至所述鉴别引擎、所述存储器参考文件以及所述控制器的时钟控制块。
5.权利要求4的所述电子设备,进一步包括耦合至所述鉴别引擎和所述控制器的直接存储器访问(DMA)控制器。
6.权利要求5的所述电子设备,进一步包括耦合至所述控制器的定时模块。
7.权利要求1的所述电子设备,其中所述存储器参考值对应于存储在存储器中的可信信息生成,其中所述存储器参考值存储于所述存储器参考文件中。
8.权利要求7的所述电子设备,其中存储于存储器中的所述可信信息由所述存鉴别引擎处理,以生成所述储器参考值。
9.权利要求8的所述电子设备,其中存储于存储器中的所述信息由所述鉴别引擎处理,以生成所述实时参考值,其中如果所述存储器参考值与所述实时参考值相同,则存储于存储器中的所述信息未被修改。
10.一种操作电子设备以用于运行时间安全保证的方法,包括以下步骤:
在存储器中存储可信信息;
向鉴别引擎提供所述可信信息;
对应于所述可信信息生成存储器参考值;
在存储器参考文件中存储所述存储器参考值;
以运行时间模式操作电子设备;
在电子设备的运行时间操作期间,向所述鉴别引擎提供对应于存储所述可信信息的存储器位置的存储器内容;
生成实时参考值;以及
将所述实时参考值与所述存储器参考值进行比较。
11.权利要求10的所述方法,其中对应于所述可信信息生成存储器参考值的步骤进一步包括利用硬件鉴别引擎生成所述参考值的步骤。
12.权利要求10的所述方法,进一步包括以下步骤:
当所述实时参考值与所述存储器参考值相同时,继续电子设备的运行时间操作;以及
当所述实时参考与所述存储器参考值不相同时,发出错误信号。
13.权利要求12的所述方法,进一步包括重复运行时间检查过程的步骤,包括通过对应于存储所述可信信息的存储器位置的存储器内容生成实时参考值以及将所述实时参考值与所述存储器参考值进行比较的步骤。
14.权利要求13的所述方法,进一步包括在电子设备的运行时间操作的背景下运行所述运行时间检测过程的步骤。
15.权利要求14的所述方法,进一步包括在电子设备的运行时间操作期间,随机化所述运行时间检测过程出现的时候的步骤。
16.一种操作电子设备以用于运行时间安全保证的方法,包括以下步骤:
在引导模式期间,向自动存储器检测器提供存储在存储器中的将被散列的可信信息;
在所述引导模式期间,指令所述自动存储器检测器散列所述可信信息;
从所述可信信息生成参考散列值;
将所述参考散列值存储到所述自动存储器检测器内的存储器参考文件;
在运行时间期间从存储器中提取所述可信信息,以供所述自动存储器检测器进行散列;
利用在运行时间期间得到的所述可信信息生成运行时间散列值;
将所述参考散列值与所述运行时间散列值进行比较;以及
当所述参考散列值与所述运行时间散列值不同时,发送错误信号,指示所述可信信息已经被修改。
17.权利要求16的所述方法,进一步包括随机重复以下步骤的步骤:
在运行时间期间从存储器中提取所述可信信息,以供所述自动存储器检测器进行散列;
利用在运行时间期间得到的所述可信信息生成运行时间散列值;
将所述参考散列值与所述运行时间散列值进行比较;以及
当所述参考散列值与所述运行时间散列值不同时,发出错误信号,指示所述可信信息已经被修改。
18.权利要求16的所述方法,其中,在引导模式期间,向自动存储器检测器提供存储在存储器中的将被散列的可信信息的所述步骤包括从多个存储器块中提取所述可信信息的步骤。
19.权利要求18的所述方法,进一步包括当所述运行时间散列值与所述参考散列值相同时,继续电子设备运行时间操作的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/791,171 | 2004-03-01 | ||
US10/791,171 US7401234B2 (en) | 2004-03-01 | 2004-03-01 | Autonomous memory checker for runtime security assurance and method therefore |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1926518A true CN1926518A (zh) | 2007-03-07 |
CN100489805C CN100489805C (zh) | 2009-05-20 |
Family
ID=34887573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800067706A Expired - Fee Related CN100489805C (zh) | 2004-03-01 | 2005-01-21 | 运行时间安全保证的自动存储器检测器及其方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7401234B2 (zh) |
EP (1) | EP1721252A4 (zh) |
JP (1) | JP4708414B2 (zh) |
KR (1) | KR101122517B1 (zh) |
CN (1) | CN100489805C (zh) |
WO (1) | WO2005091757A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880838A (zh) * | 2012-09-04 | 2013-01-16 | 深圳市芯海科技有限公司 | 电子设备的检测方法及装置 |
CN103250136A (zh) * | 2010-12-16 | 2013-08-14 | 国际商业机器公司 | 用于验证运行时引用的方法 |
CN101836187B (zh) * | 2007-10-26 | 2013-10-30 | 高通股份有限公司 | 无线设备的渐进引导 |
CN104914815A (zh) * | 2015-04-15 | 2015-09-16 | 北汽福田汽车股份有限公司 | 处理器监控方法、装置及系统 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138402A1 (en) * | 2003-12-23 | 2005-06-23 | Yoon Jeonghee M. | Methods and apparatus for hierarchical system validation |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US8464348B2 (en) | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US8176564B2 (en) | 2004-11-15 | 2012-05-08 | Microsoft Corporation | Special PC mode entered upon detection of undesired state |
US7805765B2 (en) * | 2004-12-28 | 2010-09-28 | Lenovo (Singapore) Pte Ltd. | Execution validation using header containing validation data |
US20060156008A1 (en) * | 2005-01-12 | 2006-07-13 | Microsoft Corporation | Last line of defense ensuring and enforcing sufficiently valid/current code |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US7650639B2 (en) * | 2005-03-31 | 2010-01-19 | Microsoft Corporation | System and method for protecting a limited resource computer from malware |
JP4698285B2 (ja) * | 2005-05-19 | 2011-06-08 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US8353046B2 (en) | 2005-06-08 | 2013-01-08 | Microsoft Corporation | System and method for delivery of a modular operating system |
US8291226B2 (en) * | 2006-02-10 | 2012-10-16 | Qualcomm Incorporated | Method and apparatus for securely booting from an external storage device |
US7711949B2 (en) * | 2006-11-30 | 2010-05-04 | Texas Instruments Incorporated | Apparatus and method for frustrating unwanted access to data with a host device |
WO2008094385A2 (en) * | 2007-01-26 | 2008-08-07 | Wms Gaming Inc. | Interoperability of servers and supported electronic gaming machines of different manufacturers |
US20080195829A1 (en) * | 2007-02-13 | 2008-08-14 | Clifton Labs, Inc. | Self-protecting memory device |
US8645643B2 (en) * | 2007-04-18 | 2014-02-04 | Freescale Semiconductor, Inc. | Data processing control unit for controlling multiple data processing operations |
US8014976B2 (en) * | 2007-10-24 | 2011-09-06 | Microsoft Corporation | Secure digital forensics |
DE102008008317A1 (de) * | 2008-02-07 | 2009-08-13 | Man Turbo Ag | Verfahren zum Schutz von gespeicherten Betriebsdaten einer Maschinenanlage oder ähnlichen Anlage |
JP2010218237A (ja) * | 2009-03-17 | 2010-09-30 | Renesas Electronics Corp | プログラム検証装置及びその方法 |
US8281188B2 (en) | 2010-08-05 | 2012-10-02 | Miller Gary L | Data processing system with peripheral configuration information error detection |
DE102012205988A1 (de) * | 2012-04-12 | 2013-10-17 | Robert Bosch Gmbh | Teilnehmerstation für ein Bussystem und Verfahren zur Übertragung von Nachrichten zwischen Teilnehmerstationen eines Bussystems |
US8873750B2 (en) * | 2013-03-14 | 2014-10-28 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US9201629B2 (en) | 2013-03-14 | 2015-12-01 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US9424200B2 (en) | 2013-03-15 | 2016-08-23 | Freescale Semiconductor, Inc. | Continuous run-time integrity checking for virtual memory |
US9721104B2 (en) * | 2013-11-26 | 2017-08-01 | Intel Corporation | CPU-based measured boot |
US9390258B2 (en) * | 2014-07-16 | 2016-07-12 | General Electric Company | Systems and methods for verifying the authenticity of an application during execution |
US9542263B2 (en) | 2014-09-24 | 2017-01-10 | Nxp Usa, Inc. | Electronic device having a runtime integrity checker |
US9824243B2 (en) | 2015-09-11 | 2017-11-21 | Nxp Usa, Inc. | Model-based runtime detection of insecure behavior for system on chip with security requirements |
US10754956B2 (en) | 2015-11-17 | 2020-08-25 | Andium Inc. | Security stack for embedded systems |
US10162694B2 (en) | 2015-12-21 | 2018-12-25 | Intel Corporation | Hardware apparatuses and methods for memory corruption detection |
JP2017167916A (ja) * | 2016-03-17 | 2017-09-21 | 株式会社デンソー | 情報処理システム |
US10191791B2 (en) | 2016-07-02 | 2019-01-29 | Intel Corporation | Enhanced address space layout randomization |
US11768967B2 (en) | 2018-03-15 | 2023-09-26 | Hewlett-Packard Development Company, L.P. | Address verification for direct memory access requests |
DE102018213617A1 (de) | 2018-06-20 | 2019-12-24 | Robert Bosch Gmbh | Recheneinrichtung und Betriebsverfahren hierfür |
US11163645B2 (en) * | 2019-09-23 | 2021-11-02 | Denso Corporation | Apparatus and method of control flow integrity enforcement utilizing boundary checking |
EP3822838B1 (en) * | 2019-11-18 | 2021-11-03 | Shenzhen Goodix Technology Co., Ltd. | Method and apparatus for improved code authentication between socs and re-writable memory |
US11620184B2 (en) * | 2021-08-16 | 2023-04-04 | Nxp B.V. | Runtime integrity checking for a memory system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3500662B2 (ja) * | 1993-06-25 | 2004-02-23 | 株式会社三洋物産 | 制御装置 |
US6009527A (en) * | 1995-11-13 | 1999-12-28 | Intel Corporation | Computer system security |
US5944821A (en) * | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6148083A (en) * | 1996-08-23 | 2000-11-14 | Hewlett-Packard Company | Application certification for an international cryptography framework |
US6026293A (en) * | 1996-09-05 | 2000-02-15 | Ericsson Inc. | System for preventing electronic memory tampering |
CN1155700A (zh) | 1996-09-08 | 1997-07-30 | 周跃平 | 计算机软件保护方法 |
JPH10326126A (ja) | 1997-05-26 | 1998-12-08 | Nec Shizuoka Ltd | 赤外線センサー付きパーソナルコンピュータ |
US6098171A (en) * | 1998-03-31 | 2000-08-01 | International Business Machines Corporation | Personal computer ROM scan startup protection |
US6701432B1 (en) * | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
US6587947B1 (en) * | 1999-04-01 | 2003-07-01 | Intel Corporation | System and method for verification of off-chip processor code |
JP4410421B2 (ja) * | 1999-04-13 | 2010-02-03 | 久光製薬株式会社 | イオントフォレーシスデバイス |
EP1056010A1 (en) * | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Data integrity monitoring in trusted computing entity |
AU2001243147A1 (en) * | 2000-02-17 | 2001-08-27 | General Instrument Corporation | Method and apparatus for providing secure control of software or firmware code downloading and secure operation of a computing device receiving downloaded code |
CA2343830C (en) * | 2000-05-12 | 2005-02-08 | Seiko Epson Corporation | Drive mechanism control device and method |
US7203841B2 (en) * | 2001-03-08 | 2007-04-10 | Igt | Encryption in a secure computerized gaming system |
US6678606B2 (en) | 2001-09-14 | 2004-01-13 | Cummins Inc. | Tamper detection for vehicle controller |
-
2004
- 2004-03-01 US US10/791,171 patent/US7401234B2/en active Active
-
2005
- 2005-01-21 KR KR1020067017861A patent/KR101122517B1/ko not_active IP Right Cessation
- 2005-01-21 CN CNB2005800067706A patent/CN100489805C/zh not_active Expired - Fee Related
- 2005-01-21 EP EP05722473A patent/EP1721252A4/en not_active Withdrawn
- 2005-01-21 JP JP2007501775A patent/JP4708414B2/ja not_active Expired - Fee Related
- 2005-01-21 WO PCT/US2005/001752 patent/WO2005091757A2/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101836187B (zh) * | 2007-10-26 | 2013-10-30 | 高通股份有限公司 | 无线设备的渐进引导 |
US8683213B2 (en) | 2007-10-26 | 2014-03-25 | Qualcomm Incorporated | Progressive boot for a wireless device |
CN103250136A (zh) * | 2010-12-16 | 2013-08-14 | 国际商业机器公司 | 用于验证运行时引用的方法 |
CN103250136B (zh) * | 2010-12-16 | 2016-03-16 | 国际商业机器公司 | 用于验证运行时引用的方法 |
CN102880838A (zh) * | 2012-09-04 | 2013-01-16 | 深圳市芯海科技有限公司 | 电子设备的检测方法及装置 |
CN104914815A (zh) * | 2015-04-15 | 2015-09-16 | 北汽福田汽车股份有限公司 | 处理器监控方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20060130200A (ko) | 2006-12-18 |
JP2007525774A (ja) | 2007-09-06 |
US20050193217A1 (en) | 2005-09-01 |
JP4708414B2 (ja) | 2011-06-22 |
EP1721252A4 (en) | 2010-01-13 |
WO2005091757A3 (en) | 2006-09-21 |
EP1721252A2 (en) | 2006-11-15 |
KR101122517B1 (ko) | 2012-03-15 |
US7401234B2 (en) | 2008-07-15 |
CN100489805C (zh) | 2009-05-20 |
WO2005091757A2 (en) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100489805C (zh) | 运行时间安全保证的自动存储器检测器及其方法 | |
CN108573144B (zh) | 安全的执行上下文数据 | |
US9880908B2 (en) | Recovering from compromised system boot code | |
CN103140841B (zh) | 保护存储器的部分的方法和装置 | |
TWI530790B (zh) | 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器 | |
US10255314B2 (en) | Comparison of block based volumes with ongoing inputs and outputs | |
CN101989242A (zh) | 一种提高soc系统安全的总线监视器及其实现方法 | |
CN114981771B (zh) | 可从网络攻击和故障恢复的存储器设备 | |
CN108292342B (zh) | 向固件中的侵入的通知 | |
US9262631B2 (en) | Embedded device and control method thereof | |
US10007785B2 (en) | Method and apparatus for implementing virtual machine introspection | |
EP2795473A1 (en) | Systems and methods for providing dynamic file system awareness on storage devices | |
CN106372505A (zh) | 一种针对嵌入式系统代码攻击的快速恢复方法 | |
CN101303716B (zh) | 基于可信平台模块的嵌入式系统恢复方法 | |
CN112558884B (zh) | 数据保护方法以及基于NVMe的存储设备 | |
US20200293671A1 (en) | Device and method for secure data backup | |
CN111061591B (zh) | 基于存储器完整性检查控制器实现数据完整性检查的系统和方法 | |
US9213864B2 (en) | Data processing apparatus and validity verification method | |
CN108874578B (zh) | 用于监管和初始化端口的设备 | |
Sokolov et al. | Hardware-based memory acquisition procedure for digital investigations of security incidents in industrial control systems | |
JP2022126549A (ja) | 情報処理装置 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Texas in the United States Patentee after: NXP USA, Inc. Address before: Texas in the United States Patentee before: FREESCALE SEMICONDUCTOR, Inc. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090520 |