CN100489805C - 运行时间安全保证的自动存储器检测器及其方法 - Google Patents

运行时间安全保证的自动存储器检测器及其方法 Download PDF

Info

Publication number
CN100489805C
CN100489805C CNB2005800067706A CN200580006770A CN100489805C CN 100489805 C CN100489805 C CN 100489805C CN B2005800067706 A CNB2005800067706 A CN B2005800067706A CN 200580006770 A CN200580006770 A CN 200580006770A CN 100489805 C CN100489805 C CN 100489805C
Authority
CN
China
Prior art keywords
memory
electronic equipment
working time
detecting device
reference value
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.)
Expired - Fee Related
Application number
CNB2005800067706A
Other languages
English (en)
Other versions
CN1926518A (zh
Inventor
劳伦斯·L·卡塞
马克·D·雷德曼
托马斯·E·特卡奇克
乔尔·D·费尔德曼
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN1926518A publication Critical patent/CN1926518A/zh
Application granted granted Critical
Publication of CN100489805C publication Critical patent/CN100489805C/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Abstract

为电子设备的运行时间安全保证提供自动存储器检测器的方法和装置。自动存储器检测器包括控制器、耦合至控制器的存储器参考文件以及耦合至控制器的鉴别引擎。在电子设备运行时间操作期间执行检测。自动存储器检测器生成对应于存储于存储器中的可信信息的运行时间参考值。运行时间参考值被与存储在存储器参考文件中的存储器参考值进行比较。存储器参考值从存储器中存储的可信信息生成。当运行时间参考值与存储器参考值不相同时,生成错误信号,由此指示可信信息已经被修改。

Description

运行时间安全保证的自动存储器检测器及其方法
技术领域
本发明主要涉及软件的安全保证,更具体地,本发明涉及向运行时间软件增加安全保证的硬件方法。
背景技术
确保嵌入系统软件代码完整性正成为嵌入电子设备日益重要的安全问题。确保存储于存储器中软件的完整性是有利的大量例证是个人数字助理(PDAs)和手机。主要地,这些设备利用内部微处理器分两个阶段执行指令:引导时间和运行时间。可信计算机系统利用加密的软件在执行软件前鉴别每个阶段。
在引导时间期间,嵌入的处理器执行基本硬件和存储在非易失性存储器中的软件初始化指令(引导代码),如电可擦除只读存储器(如闪盘永久性存储器)、只读存储器(ROM)、或电可编程只读存储器(EPROM)。引导代码的目的是确认和配置硬件及与硬件相关的数据,为系统软件提供已知的执行环境和用户界面。对于可信的计算机操作,引导代码也在引导时间确认和鉴别程序应用及操作系统(OS)存储器,确保该存储器包含期望的并因此可信的代码。一旦引导时间指令对鉴别进行了检测,则系统控制进入经确认的OS/应用程序执行图像并进入运行时间模式。
在运行时间期间,处理器执行来自OS/应用程序图像的代码。OS通常将建立多处理运行时间执行环境,装载任何启动或嵌入式应用程序,为正常运行时间过程作准备。在此稍后时间期间,当运行时间环境完全建立时,不可信的用户应用代码或下载的动态代码可能运行,并且存储器故障可能出现在原来可信和鉴别的代码上,这是由于非引导时间因素造成的,如计算机病毒或内部程序缺陷。此外,在引导时间确认的OS/应用程序存储器可被运行时间存储器恶意替换,而变得与在引导时间鉴别的完全不同。这被称为“背负式(piggy back)”攻击,它向嵌入式系统软件构成相当大的安全威胁难题。请求对产品平台的物理访问,运行时间存储器件被背负在初始确认的存储器件上。在引导过程结束并将控制传递至外部存储器之后,它完全替换确认的引导设备,从此创建完全不同的、未经检测的运行时间环境。
系统软件中确认指令代码的传统方法只鉴别指令存储器一次。利用密码算法生成单向存储器参考签名或不对称密钥数字签名执行一次确认。执行前,消息鉴别代码或类似的数字签名在指令寄存器中生成。如果生成的结果与存入系统其它地方或加密的不对称数字签名内的预定值匹配,则指令被允许执行。然而,目前的解决方法不解决在初始鉴别后篡改指令存储器内容的风险。在运行时间期间,指令代码易受背负式即软件攻击,这些攻击将替换已鉴别的指令存储器或数据。初始鉴别代码的完整性可因存储器的物理替换或处理器的转移而受到破坏,从未经初始鉴别的存储器范围执行代码。例如,计算机病毒可在引导时间期间保持隐匿,然后导致处理器异常,以执行不同的指令集。
在设备的操作过程当中,控制电子设备的大部分系统软件不会改变。即使通过初始鉴别将系统软件高可靠性地装入存储器中,在数百万时钟循环和不断向不可信代码暴露后,系统恶化的可能性会上升。如果系统遭破坏,执行自我检测功能是不可信的。事实上,用于执行自检的参考数据/存储器是安全目标或弱点,并且是安全敏感的和决不应改变的数据的示例。其它安全敏感数据可以是配置寄存器,该配置寄存器控制内部数据对嵌入设备或OS敏感数据的外部的可见度,如中断服务例程(ISR)地址,或特定存储器管理单元(MMU)页面表,或特定文件系统数据,如用户和组标识符以及口令。
此外,许多嵌入系统,如手机及PDA,只有在它们被从电源断开时才进入引导模式。因此,在运行时间模式的嵌入设备的初始指令代码的完整性,在设备运行下载的应用程序和在与外部设备通信时,面临逐渐增加的风险。因此,在通常不断开电源和直到电源故障才重新引导进行鉴别的设备中,风险特别大。而且,操作系统和应用软件被存储于存储器的不同区域。事实上,软件被存储在不同的区域,并且软件还可能被从许多源接收,一些是确实存在的,其它是不能被证实,这会引起长期跟踪和安全问题。
由此,期望为软件的运行时间安全保证设计存储器检测器,在引导时间期间装入存储器。如果存储器检测器是自动地确保检测出现,那将是有利的。如果该设备节能并且在频繁请求总线访问而不明显影响运行时间系统性能,那将更是有利的。
发明内容
根据本发明的一个方面,提供了一种电子设备,包括用于运行时间安全保证的自动存储器检测器,该自动存储器检测器耦合至主机处理器,所述自动存储器检测器包括:DMA控制器;耦合至所述DMA控制器并适于请求所述DMA控制器从存储器的一部分提取第一存储器内容的控制器;耦合至所述控制器的存储器参考文件,该存储器参考文件适于存储对应于所述第一存储器内容的至少一个存储器参考值;以及耦合至所述控制器的鉴别引擎,该鉴别引擎适于通过将至少一个运行时间参考值与所述至少一个存储器参考值进行比较来在所述电子设备的运行时间操作期间执行运行时间检测,其中所述至少一个运行时间参考值对应于所述控制器在所述电子设备的所述运行时间操作期间从存储器的所述部分提取的第二存储器内容,其中所述自动存储器检测器是允许从存储器提取所述第二存储器内容而无需从所述主机处理器请求准许的总线主控器。
根据本发明的另一个方面,提供了一种操作具有存储器以及耦合至所述存储器的主机处理器的电子设备以用于运行时间安全保证的方法,包括以下步骤:在所述电子设备的所述存储器中的特定存储器位置存储可信信息,其中所述可信信息包括可由所述主机处理器在所述电子设备上执行的软件;从所述特定存储器位置提取所述可信信息,并且向鉴别引擎提供所述可信信息;对应于从所述特定存储器位置提取的所述可信信息生成存储器参考值;在存储器参考文件中存储所述存储器参考值;在所述存储器参考文件中存储所述存储器参考值之后,以操作的运行时间模式操作所述电子设备;在所述电子设备操作的运行时间模式期间,从所述特定存储器位置提取存储器内容,并且向所述鉴别引擎提供对应于所述存储器位置的所述存储器内容,其中无需从所述主机处理器请求准许即可执行所述从所述特定存储器位置提取所述存储器内容;通过从所述特定存储器位置提取的所述存储器内容生成运行时间参考值;以及将所述运行时间参考值与所述存储器参考值进行比较。
根据本发明的还一个方面,提供了一种操作具有主机处理器的电子设备以用于运行时间安全保证的方法,包括以下步骤:从所述电子设备的存储器的一部分提取可信信息,其中所述可信信息包括可由所述主机处理器在所述电子设备上执行的软件;在所述电子设备操作的引导时间模式期间,向自动存储器检测器提供所述可信信息;在所述引导时间模式期间,指令所述自动存储器检测器散列所述可信信息;通过所述自动存储器检测器,从所述可信信息生成参考散列值;将所述参考散列值存储到存储器参考文件;在所述电子设备操作的所述运行时间模式期间,从之前提取所述可信信息的存储器的所述部分中提取存储器内容;通过所述自动存储器检测器,利用在运行时间模式期间得到的所述存储器内容生成运行时间散列值,其中在操作的所述运行时间模式期间,所述自动存储器检测器独立于来自所述主机处理器的命令操作;将所述参考散列值与所述运行时间散列值进行比较;以及当所述参考散列值与所述运行时间散列值不同时,发送错误信号,指示所述可信信息已经被修改。
附图说明
此后将结合下面给出的附图描述本发明,其中相同的引用标记表示相同的元件,并且
图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 (9)

1.一种电子设备,包括用于运行时间安全保证的自动存储器检测器,该自动存储器检测器耦合至主机处理器,所述自动存储器检测器包括:
DMA控制器;
耦合至所述DMA控制器并适于请求所述DMA控制器从存储器的一部分提取第一存储器内容的控制器;
耦合至所述控制器的存储器参考文件,该存储器参考文件适于存储对应于所述第一存储器内容的至少一个存储器参考值;以及
耦合至所述控制器的鉴别引擎,该鉴别引擎适于通过将至少一个运行时间参考值与所述至少一个存储器参考值进行比较来在所述电子设备的运行时间操作期间执行运行时间检测,其中所述至少一个运行时间参考值对应于所述控制器在所述电子设备的所述运行时间操作期间从存储器的所述部分提取的第二存储器内容,其中所述自动存储器检测器是允许从存储器提取所述第二存储器内容而无需从所述主机处理器请求准许的总线主控器。
2.权利要求1的所述电子设备,其中所述检测在所述电子设备的运行时间操作期间周期性地执行。
3.权利要求1的所述电子设备,其中所述检测在所述电子设备的运行时间操作期间在随机时刻执行。
4.权利要求1的所述电子设备,在所述电子设备的所述运行时间操作期间,所述自动存储器检测器独立于来自所述主机处理器的命令操作。
5.权利要求1的所述电子设备,其中所述控制器响应于来自所述主机处理器的进入初始存储器参考模式的信号而提取所述第一存储器内容。
6.权利要求1的所述电子设备,其中所述第一存储器内容包括可以由所述主机处理器在所述电子设备上执行的软件。
7.一种操作具有存储器以及耦合至所述存储器的主机处理器的电子设备以用于运行时间安全保证的方法,包括以下步骤:
在所述电子设备的所述存储器中的特定存储器位置存储可信信息,其中所述可信信息包括可由所述主机处理器在所述电子设备上执行的软件;
从所述特定存储器位置提取所述可信信息,并且向鉴别引擎提供所述可信信息;
对应于从所述特定存储器位置提取的所述可信信息生成存储器参考值;
在存储器参考文件中存储所述存储器参考值;
在所述存储器参考文件中存储所述存储器参考值之后,以操作的运行时间模式操作所述电子设备;
在所述电子设备操作的运行时间模式期间,从所述特定存储器位置提取存储器内容,并且向所述鉴别引擎提供对应于所述存储器位置的所述存储器内容,其中无需从所述主机处理器请求准许即可执行所述从所述特定存储器位置提取所述存储器内容;
通过从所述特定存储器位置提取的所述存储器内容生成运行时间参考值;以及
将所述运行时间参考值与所述存储器参考值进行比较。
8.权利要求7的所述方法,进一步包括以下步骤:
当所述运行时间参考值与所述存储器参考值相同时,继续所述电子设备操作的所述运行时间模式;以及
当所述运行时间参考值与所述存储器参考值不相同时,发出错误信号。
9.一种操作具有主机处理器的电子设备以用于运行时间安全保证的方法,包括以下步骤:
从所述电子设备的存储器的一部分提取可信信息,其中所述可信信息包括可由所述主机处理器在所述电子设备上执行的软件;
在所述电子设备操作的引导时间模式期间,向自动存储器检测器提供所述可信信息;
在所述引导时间模式期间,指示所述自动存储器检测器散列所述可信信息;
通过所述自动存储器检测器,从所述可信信息生成参考散列值;
将所述参考散列值存储到存储器参考文件;
在所述电子设备操作的运行时间模式期间,从之前提取所述可信信息的存储器的所述部分中提取存储器内容;
通过所述自动存储器检测器,利用在运行时间模式期间得到的所述存储器内容生成运行时间散列值,其中在操作的所述运行时间模式期间,所述自动存储器检测器独立于来自所述主机处理器的命令操作;
将所述参考散列值与所述运行时间散列值进行比较;以及
当所述参考散列值与所述运行时间散列值不同时,发送错误信号,指示所述可信信息已经被修改。
CNB2005800067706A 2004-03-01 2005-01-21 运行时间安全保证的自动存储器检测器及其方法 Expired - Fee Related CN100489805C (zh)

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 CN1926518A (zh) 2007-03-07
CN100489805C true 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)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
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
US9039517B2 (en) * 2007-01-26 2015-05-26 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
US8683213B2 (en) * 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
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
CN103250136B (zh) * 2010-12-16 2016-03-16 国际商业机器公司 用于验证运行时引用的方法
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
CN102880838A (zh) * 2012-09-04 2013-01-16 深圳市芯海科技有限公司 电子设备的检测方法及装置
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
CN104914815A (zh) * 2015-04-15 2015-09-16 北汽福田汽车股份有限公司 处理器监控方法、装置及系统
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
WO2019177608A1 (en) 2018-03-15 2019-09-19 Hewlett-Packard Development Company, L.P. Address verification for direct memory access requests
DE102018213618A1 (de) 2018-06-20 2019-12-24 Robert Bosch Gmbh Kryptografiemodul 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)

* Cited by examiner, † Cited by third party
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
US6587947B1 (en) * 1999-04-01 2003-07-01 Intel Corporation System and method for verification of off-chip processor code
US6701432B1 (en) * 1999-04-01 2004-03-02 Netscreen Technologies, Inc. Firewall including local bus
WO2000061220A1 (fr) * 1999-04-13 2000-10-19 Hisamitsu Pharmaceutical Co., Inc. Dispositif d'iontophorese
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
KR20020075439A (ko) * 2000-02-17 2002-10-04 제너럴 인스트루먼트 코포레이션 소프트웨어 또는 펌웨어 코드 다운로딩의 시큐어 제어와다운로드된 코드를 수신하는 컴퓨팅 디바이스의 시큐어동작용 방법과 장치
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

Also Published As

Publication number Publication date
EP1721252A4 (en) 2010-01-13
KR101122517B1 (ko) 2012-03-15
US20050193217A1 (en) 2005-09-01
KR20060130200A (ko) 2006-12-18
WO2005091757A3 (en) 2006-09-21
CN1926518A (zh) 2007-03-07
US7401234B2 (en) 2008-07-15
JP2007525774A (ja) 2007-09-06
EP1721252A2 (en) 2006-11-15
JP4708414B2 (ja) 2011-06-22
WO2005091757A2 (en) 2005-10-06

Similar Documents

Publication Publication Date Title
CN100489805C (zh) 运行时间安全保证的自动存储器检测器及其方法
CN108573144B (zh) 安全的执行上下文数据
US9880908B2 (en) Recovering from compromised system boot code
US11392703B2 (en) Systems, apparatuses, and methods for platform security
TWI530790B (zh) 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器
CN103718165B (zh) Bios闪存攻击保护和通知
CN100437502C (zh) 基于安全芯片的防病毒方法
CN101276389B (zh) 单个物理可信平台模块内的多个逻辑可信平台模块的分离
CN102385671B (zh) 软件加密方法及系统
US11249689B2 (en) Memory device resilient to cyber-attacks and malfunction
US11061690B2 (en) Method for updating a boot loader of a multiprocessor device
CN101989242A (zh) 一种提高soc系统安全的总线监视器及其实现方法
JP2017156945A (ja) 情報処理装置及び制御方法
US9262631B2 (en) Embedded device and control method thereof
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
CN104461594A (zh) 嵌入式操作系统的升级方法及装置
WO2018064628A2 (en) Systems, apparatuses, and methods for platform security
CN112558884B (zh) 数据保护方法以及基于NVMe的存储设备
CN111597560A (zh) 一种安全可信模组启动方法及系统
CN110781517B (zh) 一种bios与bmc沟通实现数据交互的方法
US20200244461A1 (en) Data Processing Method and Apparatus
US9213864B2 (en) Data processing apparatus and validity verification method
CN108874578B (zh) 用于监管和初始化端口的设备
KR102019483B1 (ko) 이동식 저장 장치 및 그의 보안 방법
Sokolov et al. Hardware-based memory acquisition procedure for digital investigations of security incidents in industrial control systems

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

Address after: Texas in the United States

Patentee after: NXP USA, Inc.

Address before: Texas in the United States

Patentee before: FREESCALE SEMICONDUCTOR, Inc.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

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