CN110298201A - 运行时间安全保护系统和方法 - Google Patents
运行时间安全保护系统和方法 Download PDFInfo
- Publication number
- CN110298201A CN110298201A CN201910216565.6A CN201910216565A CN110298201A CN 110298201 A CN110298201 A CN 110298201A CN 201910216565 A CN201910216565 A CN 201910216565A CN 110298201 A CN110298201 A CN 110298201A
- Authority
- CN
- China
- Prior art keywords
- nextstate
- state
- censored
- device hardware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001360 synchronised effect Effects 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000006399 behavior Effects 0.000 claims description 27
- 238000012360 testing method Methods 0.000 claims description 15
- 238000013461 design Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000007418 data mining Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 238000004321 preservation Methods 0.000 description 5
- 230000000246 remedial effect Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- MZZBPDKVEFVLFF-UHFFFAOYSA-N cyanazine Chemical group CCNC1=NC(Cl)=NC(NC(C)(C)C#N)=N1 MZZBPDKVEFVLFF-UHFFFAOYSA-N 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
- G06F21/725—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及运行时间安全保护系统和方法。一种用于审查装置硬件的运行时间操作的安全系统。模型基于装置硬件安全信号、严重性级别值和至少一个经审查的下一状态来存储经审查的状态。所述审查系统将所述装置硬件的每个状态与当前状态的经审查的下一状态进行比较,并且在实际下一状态与经审查的下一状态不匹配时提供指示和严重性级别。同步系统响应于所述指示通过将所述装置硬件的每个随后的实际下一状态与经审查的状态进行比较来执行同步,直到当任何随后的实际下一状态与经审查的状态匹配时发生初始同步。学习系统响应于所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
Description
技术领域
本公开涉及硬件安全保护,并且更具体地涉及运行时间安全保护,所述运行时间安全保护指示操作期间的可能损害安全、识别相对严重性级别并且调整硬件反馈和低风险偏差以改善响应的异常行为。
背景技术
期望确保硬件实施方式或装置是安全的。然而,可能存在将使未经认可的用户能够访问系统的安全区域的未经识别的场景。常规技术通常涉及已知的、预期的和/或识别的场景。
发明内容
根据本发明的第一方面,提供一种用于审查装置硬件的操作的运行时间安全系统,包括:
存储器,其存储所述装置硬件的模型,其中所述模型基于所述装置硬件的多个安全信号存储多个经审查的状态并且对于所述多个经审查的状态中的每一个存储严重性级别值和至少一个经审查的下一状态;
审查系统,其将在操作期间所述装置硬件的实际下一状态与经审查的当前状态的所述至少一个经审查的下一状态进行比较,并且当所述实际下一状态与所述至少一个经审查的下一状态中的任一个不匹配时提供指示和相应的严重性级别;
同步系统,其响应于所述指示通过将所述装置硬件的至少一个随后的实际下一状态中的每一个与所述多个经审查的状态进行比较来执行同步,直到当所述至少一个随后的实际下一状态中的一个与所述多个经审查的状态中的一个匹配时发生初始同步;以及
学习系统,其响应于所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
在一个或多个实施例中,当由来自所述装置硬件的所述反馈指示时,所述学习系统更新存储在与所述经审查的当前状态相关联的所述模型中的所述严重性级别值。
在一个或多个实施例中,所述多个安全信号是通过在指示所述装置硬件的装置硬件设计上运行至少一个安全相关测试,同时使用数据挖掘算法来识别与所述至少一个安全相关测试相关的所述装置硬件设计的那些信号来确定的。
在一个或多个实施例中,所述模型是通过重新运行所述至少一个安全相关测试,同时记录如由所述安全信号展示出的所述装置硬件设计的状态和状态转换来确定的。
在一个或多个实施例中,所述模型包括:
查找表,其存储多个下一状态索引值中的相应一个以及针对所述多个经审查的状态中的每一个的多个严重性级别值中的相应一个;以及
下一状态表,其存储针对所述多个经审查的状态中的每一个的所述至少一个经审查的下一状态,其中所述下一状态表使用从所述查找表中检索的所述多个下一状态索引值中的所述相应一个进行索引。
在一个或多个实施例中,所述同步系统在所述初始同步之后进入中间操作模式,以在M个随后的连续实际下一状态中的每一个与所述多个经审查的状态中的一个匹配时验证同步。
在一个或多个实施例中,所述审查系统在所述中间操作模式期间抑制提供所述指示,并且在所述M个随后的连续实际下一状态中的任何一个与所述多个经审查的状态中的任何一个不匹配时提示所述同步系统重新进入所述同步。
在一个或多个实施例中,所述运行时间安全系统进一步包括:
存储在所述存储器中的初步学习记录;并且
其中所述同步系统进一步将所述装置硬件的所述每个实际下一状态存储到未存储在所述模型中的所述初步学习记录中。
在一个或多个实施例中,所述运行时间安全系统进一步包括:
存储在所述存储器中的初步学习记录和学习记录;
其中所述同步系统进一步将状态转换集存储到针对所提供的每个所述指示的所述初步学习记录中,其中每个状态转换集包括未存储在所述模型中的所述装置硬件的至少一个新状态;并且
其中所述学习系统将每个新的状态转换集复制到所述学习记录中,使针对现有状态转换集的每个重复出现的计数值增量,并且当所述计数值达到预定计数阈值时更新所述模型以包括现有状态转换集的所述重复出现内的新状态。
在一个或多个实施例中,所述学习系统仅在现有状态转换集的所述重复出现与小于阈值严重性级别的严重性级别相关联时才更新所述模型。
在一个或多个实施例中,当所述初步学习记录达到最大存储限制时,所述同步系统停止将所述状态转换集存储到每次提供所述指示的所述初步学习记录中。
根据本发明的第二方面,提供一种提供用于审查装置硬件的操作的运行时间安全的方法,安全保护系统耦合到所述装置硬件,其中所述安全保护系统包括存储器、审查系统、同步系统和学习系统,其中所述装置硬件的模型存储在所述存储器中,其中所述模型基于所述装置硬件的多个安全信号存储多个经审查的状态,并且其中对于所述多个经审查的状态中的每一个,所述模型存储严重性级别值和至少一个经审查的下一状态,其中所述方法包括:
由所述审查系统将在操作期间所述装置硬件的实际下一状态与经审查的当前状态的所述至少一个经审查的下一状态进行比较;
当所述真实下一状态与所述至少一个经审查的下一状态中的任何一个不匹配时,由所述审查系统提供指示和相应的严重性级别;
由所述同步系统响应于所述提供所述指示通过将所述装置硬件的至少一个随后的实际下一状态中的每一个与所述多个经审查的状态进行比较来执行同步,直到当所述至少一个随后的实际下一状态中的一个与所述多个经审查的状态中的一个匹配时发生初始同步;以及
由所述学习系统响应于所述提供所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
在一个或多个实施例中,所述更新所述模型包括更新存储在与所述经审查的当前状态相关联的所述模型中的所述严重性级别值。
在一个或多个实施例中,所述装置硬件的所述模型包括查找表和下一状态表,其中所述查找表包括多个下一状态索引值中的相应一个和针对所述多个经审查的状态中的每一个的多个严重性级别值中的相应一个,其中所述下一状态表包括针对所述多个经审查的状态中的每一个的至少一个经审查的下一状态,并且其中所述方法进一步包括:
将所述经审查的当前状态作为索引应用于所述查找表中并且检索相应的下一状态索引;以及
将从所述查找表中检索的所述相应的下一状态索引应用于所述下一状态表并且检索针对所述经审查的当前状态的经审查的下一状态列表。
在一个或多个实施例中,所述方法进一步包括在所述初始同步之后进入中间操作模式,同时在M个随后的连续实际下一状态中的每一个与所述多个经审查的状态中的一个匹配时验证同步。
在一个或多个实施例中,所述方法进一步包括:
在所述中间操作模式期间抑制所述提供所述指示;以及
当所述M个随后的连续实际下一状态中的任何一个与所述多个经审查的状态中的任何一个不匹配时,提示所述同步系统重新进入同步。
在一个或多个实施例中,所述方法进一步包括:
存储在所述存储器中存储的初步学习记录;以及
在所述执行同步期间,将所述装置硬件的每个实际下一状态存储到未存储在所述模型中的所述初步学习记录中。
在一个或多个实施例中,所述方法进一步包括:
将初步学习记录和学习记录存储在所述存储器中;
在所述执行同步期间,将状态转换集存储到针对每个所述提供所述指示的所述初步学习记录中,其中每个状态转换集包括未存储在所述模型中的所述装置硬件的至少一个新状态;以及
由所述学习系统将每个新的状态转换集复制到所述学习记录中;
使针对现有状态转换集的每个重复出现的计数值增量;以及
当所述计数值达到预定计数阈值时,更新所述模型以包括现有状态转换集的所述重复出现内的新状态。
在一个或多个实施例中,所述方法进一步包括:仅在现有状态转换集的所述重复出现与小于阈值严重性级别的严重性级别相关联时才由所述学习系统更新所述模型。
在一个或多个实施例中,当所述初步学习记录达到最大存储限制时,由所述同步系统停止所述将所述状态转换集存储到针对每个所述提供所述指示的所述初步学习记录中。
本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。
附图说明
本发明的实施例是通过例子示出的并且不受附图的限制,在附图中,相同的附图标记指示类似的元件。附图中的元件为了简洁和清晰而示出并且不一定按比例绘制。
图1是包括根据本发明的实施例实施的安全保护系统的处理系统的简化框图。
图2是示出了图1的模型如何可以根据本发明的一个实施例存储在存储器中的简化框图。
图3是可以用于根据本发明的一个实施例生成图1模型的离线过程的框图。
图4是示出了根据本发明的一个实施例的在装置硬件系统的运行时间操作期间图1的安全保护系统的总体操作的流程图。
图5是示出了根据本发明的一个实施例的图1审查系统的操作的流程图。
图6是根据本发明的一个实施例实施的图1审查系统的简化框图。
图7是示出了根据本发明的一个实施例的图1的同步系统操作的简化流程图。
图8是根据本发明的一个实施例的图1同步系统的简化框图。
图9是示出了根据本发明的一个实施例的图1的学习系统操作的简化流程图。
具体实施方式
本发明的发明人已经认识到需要一种可以保护电子装置免受将暴露其漏洞的使用的运行时间机制。他们因此开发了监测装置硬件的操作的被称为SPS(安全保护系统)的补充硬件。SPS包括存储硬件行为模型的存储器,所述硬件行为模型捕获在离线安全验证期间积累和学习的信息的本质。SPS包括审查系统,所述审查系统在装置的运行时间操作期间监测安全关键信号并且将装置的运行时间操作与行为模型进行比较。在基于模型的异常或意外行为的情况下,审查系统断言标记(或提供任何其它合适的指示)并且从安全角度指示行为的相对严重性。审查系统还激活同步系统,所述同步系统尝试将模型与装置硬件重新同步,同时随着潜在模型变化记录可能使所展示的行为有效的异常状态。如果未实现稳定,则可以提供表示应该更新模型的另一指示。一旦稳定,同步系统就提示审查系统继续操作并且提示激活学习系统。当提示时,学习系统响应于所指示的(例如,标记的)活动监测来自装置硬件的反馈并且可以基于反馈更新模型状态机。此外,如果认为偏差风险低,则学习系统可以用由同步系统存储的状态信息更新模型。
图1是包括根据本发明的实施例实施的安全保护系统(SPS)104的处理系统100的简化框图。虽然SPS 104被示出在处理系统(例如,100)内使用,但是SPS 104还可以为其它类型的电路提供安全性。处理系统100包括装置硬件系统102和SPS 104。处理系统100的装置硬件系统102和SPS 104可以在半导体芯片或集成电路(IC)等上实施,虽然还考虑了离散配置。装置硬件系统102本质上是任何硬件实施方式或配置,在所述硬件实施方式或配置中,希望提供运行时间安全保护。装置硬件系统102可以是例如物联网(IoT)装置的控制模块或甚至输入/输出(I/O)模块。装置硬件系统102可以结合处理器或微控制器等(未示出)并且可以另外包括存储器(未示出)和/或I/O逻辑(未示出)等。除了与SPS 104协作以在异常行为的情况下提供安全保护之外,不再进一步描述装置硬件系统102的特定配置、操作或功能,其中异常行为旨在意指意外或不可预测的行为。
SPS 104包括存储器106、一组寄存器108、审查系统110、同步系统112和学习系统114。应当注意的是,寄存器108可以被认为是存储器106的一部分,所述存储器106可以结合多种和/或不同类型的存储器电路。SPS 104的系统中的每个经由一组总线与存储器106和寄存器108通信,每个包括一个或多个单独的信号。每条总线表示为双向总线,虽然每条总线可以包括双向或单向信号的任何组合或者可以是完全单向的。审查系统110经由总线116和118分别与存储器106和寄存器108通信,同步系统112经由总线120和122分别与存储器106和寄存器108通信,并且学习系统114经由总线124和126分别与存储器106和寄存器108通信。如本文进一步描述的,存储器106存储从安全角度来说表示装置硬件系统102的动态操作的行为模型128。如本文进一步描述的,存储器106还存储初步学习记录(PLR)136和学习记录(LR)138。PLR136被示出和描述为存储在存储器106中,其中PLR 136可以存储在寄存器108中以实现减少的延迟。
装置硬件系统102的安全关键信号130在装置硬件系统102的运行时间期间被提供给审查系统110和同步系统112意味着在其正常操作过程期间。如本文进一步描述的,安全关键信号130是装置硬件系统102的整个信号集的选定子集,其中所选定的子集包括那些已被确定对安全重要或甚至关键的信号。受安全关键信号130中的一个或多个的变化的驱动,审查系统110读取存储在寄存器108中的当前状态,从模型128中取出一个或多个“经审查的”下一状态,并且当展示的行为与经审查的行为不匹配时指示差异。应当注意的是,差异指示(例如,断言标记等)可以在短暂的差异突发期间暂时暂停以适应重新同步。
如本文进一步描述的,“经审查的”状态或状态转换意味着从当前状态到基于先前提取的行为由模型128预期或预测的随后或下一状态的转换。安全关键信号130是装置硬件系统102的信号集的选定子集,并且经审查的状态是存储在模型128中的安全关键信号130的所有可能组合的选定子集。“实际”状态或状态转换通常是指在运行时间期间装置硬件系统102的状态和转换。在装置硬件系统102的这种实际状态和状态转换期间,SPS 104监测安全关键信号130的状态和状态转换并且将其与经审查的操作进行比较。由于经审查的状态不包括安全关键信号130的所有可能组合,因此可能发生偏差,其中安全关键信号130转换成未存储在模型128中的未经审查的状态。
当审查系统110识别出显著差异时,所述审查系统110断言针对装置硬件系统102的标记132连同严重性级别(SV)值133。标记(例如,标记132)是所示实施例中用于指示差异的有用机制,虽然可以使用任何其它合适的指示。标记132可以包括由装置硬件系统102以中断等形式检测的单个标记位等。虽然SV值133被示出为单独的值,但是在另一个实施例中,标记132可以结合SV值133。严重性级别通常基于标记异常的状态下的装置硬件系统102的预定风险等级。此类风险可能基于多种因素,如例如暴露于外部系统或装置的敏感数据的相对漏洞。在一个实施例中,审查系统110断言用于激活同步系统112的开启同步(TOS)信号和用于激活学习系统114的开启学习(TOL)信号。应当注意的是,在替代性实施例中,所述TOL信号可以由另一部件如同步系统112断言。如本文进一步描述的,同步系统112在同步过程期间更新PLR136,并且学习系统114查看PLR 136、用任何新的一个或多个状态转换集更新LR 138并且可以更新模型128。
响应于标记132,装置硬件系统102接收SV值133并执行处理程序例程等,如例如中断处理程序例程、确定有待执行的适当响应并且经由一个或多个反馈信号提供反馈134。中断处理程序例程评估与所识别的严重性级别相关的当前硬件行为并且做出适当的响应。响应可以简单地是严重性级别的调整,如如果行为是根据正常操作程序等,则严重性级别降低或者甚至可能在某些条件下严重性级别增加。由装置硬件系统102做出的响应可以包括取决于对安全性的实际威胁的缓解措施,如在重复发生的情况下改变或调整其响应、重置系统或甚至可能关闭系统。反馈134指示装置硬件系统102如何响应标记132以及所标记的偏差的相对结果。反馈134可以指示对模型128的调整,包括例如与偏差相关联的严重性级别的调整。
如由安全关键信号130的转换所指示的,当被TOS信号激活时,同步系统112尝试将来自模型128的经审查的操作与装置硬件系统102的行为重新同步。同步系统112记录安全关键信号130的变化、查看模型128的与装置硬件系统102的当前记录行为一致的下一状态并且识别装置硬件系统102的实际状态何时与已知模型状态匹配。当装置硬件系统102的实际转换遵循预期的模型状态时,如当装置硬件系统102以经审查的顺序遵循预定数量的经审查的状态时,则同步系统112确定已经实现稳定性。当存在足够的稳定性证据时,则同步系统112指示操作是同步且稳定的。在同步过程期间,新状态被记录到存储器106中的PLR136中以供学习系统114查看。
当被TOL信号激活时,学习系统114记录由审查系统110标记差异的状态,监测来自装置硬件系统102的反馈134,确定是否更新模型128,并且如果更新的话,则相应地更新模型128。反馈134指示差异对装置硬件系统102的影响,并且学习系统114可以相应地调整模型128。例如,反馈134可以指示与发生偏差的状态相关联的严重性级别的调整。学习系统114将PLR 136中的任何新添加的一个或多个状态转换集与LR138中先前学习的状态转换集进行比较。短语“状态转换集”旨在是指以状态发生的顺序排列的状态列表。当之前没有看到新学习的状态转换集时,则其被转移到LR 138。当学习的状态转换集已经遇到可编程次数时并且如果相应的严重性级别相对较低,则学习系统114可以用来自LR138的重复的状态转换集更新模型128。以此方式,重复的状态转换集可以成为结合到模型128中的经审查的转换的一部分。
图2是示出模型128如何可以根据本发明的一个实施例存储在存储器106内的简化框图。模型128包括查找表202和下一状态表204。装置硬件系统102的每个真实或“实际”状态表示为安全关键信号130的级联。当装置硬件系统102从实际当前状态(RCS)转换到实际下一状态(RNS)时,RNS值被存储在所述一组寄存器108的寄存器206中。另一个寄存器216存储表示当前状态的RCS值。RCS值用作进入查找表202的索引以从下一状态索引列表208访问相应的下一状态索引(NSI)。下一状态索引(NSI)用作进入下一状态表204的索引以访问经审查的下一状态记录的顺序列表。下一状态表204中的每个记录包括下一状态值210和停止(ST)值212。每个下一状态值210还表示为类似于RCS值和RNS值的安全关键信号130的级联,并且每个ST值212可以是指示相应经审查的下一状态列表中的最后一个值的一个或多个停止位等。
如所示出的,例如,NSI访问存储在寄存器216中的当前状态RCS的经审查的下一状态列表214,其中经审查的下一状态列表214包括N个下一状态,分别示出为NS_1、NS_2、……、NS_N(其中“N”是大于零的整数)。每个经审查的下一个值可以表示为下一状态值NS_X,其中“X”是从1到N的索引。除了经审查的下一状态列表214(例如,下一状态NS_1到NS_N-1)中的最后下一状态之外,下一状态中的每个的ST值212指示存在附加记录,而所述列表的最后条目的ST值212指示其是当前经审查的下一状态列表中的最后一个下一状态。在一个实施例中,例如,ST值212可以是除最后条目之外的每个条目的逻辑零(0)值,并且ST值212可以是最后一个下一状态NS_N的逻辑一(1)值。
如本文进一步描述的,审查系统110执行审查过程,在所述审查过程中,其将存储在寄存器206中的RNS值与经审查的下一状态列表214的每个下一状态值210进行比较以确定是否审查装置硬件系统102的操作。在所示的配置中,将经审查的下一状态列表214中的从下一状态表204输出作为NS_X输出的下一状态值210中的每一个按顺序次序一次一个地与RNS值进行比较,直到找到匹配或直到ST值212指示最后经审查的下一状态。当当前RNS值与NS_X匹配时,则RNS被认为通过审查系统110审查,然后将NS_X作为RCS值存储在寄存器216中,并且以类似方式审查下一个RNS值。如本文进一步描述的,如果RNS值未经审查,这意味着RNS值与预期的或经审查的下一状态NS_X中的任何一个不匹配,则可以采取补救动作并且可以基于实际操作来确定任何附加的RNS值和RCS值。
在所示实施例中,查找表202中的每个条目可以包括与当前状态值RCS中的每一个相对应的SV值218。如所示出的,例如,存储NSI的条目包括相应的SV值218,在与由RCS值表示的实际当前状态偏差的情况下,所述SV值218表示相对严重性。SV值218可以是具有指示与严重性级别相关联的数字的多个位的二进制值。作为一个简单的例子,SV值218可以包括2位,其中二进制值00b表示空条目或非条目,01b表示低严重性级别,10b表示中等严重性级别,并且11b表示高严重性级别。如本文进一步描述的,00b的条目可以用于检测新的或未经审查的状态。如果期望定义附加的严重性级别,则可以包括附加位。在与当前状态RCS偏差和通过审查系统110决定以断言标记132的情况下,RCS值可以用作进入查找表202的索引以检索相应的SV值218,所述SV值218作为SV值连同标记132被提供给装置硬件系统102。在替代性实施例中,当RCS值最初用于访问NSI时,相应的SV值218还被检索并存储在另一个寄存器(未示出)中,并且在断言标记132的情况下作为SV值133提供。
图3是可以用于根据本发明的一个实施例生成模型128的离线过程300的框图。模型128可以被看作经审查的执行的抽象的有限状态机(FSM)等。状态转换基于装置硬件系统102的运行时间期间的安全关键信号130的变化。安全关键信号130被选择为装置硬件系统102的完整信号集的子集,并且模型128被离线创建为安全关键信号130的选定状态和状态转换的集合,并且然后最终下载到存储器106中。当装置硬件系统102在硅中固化之前处于初步阶段时,在设计阶段期间执行离线过程300。
离线过程300开始于执行若干组测试,包括例如在装置硬件系统102的初步设计上执行其它更通用的测试304中的安全特定测试302,并且将覆盖数据收集到覆盖数据库(DB)306中。在框308处,使用覆盖DB 306中的信息采用数据挖掘算法等以识别安全相关测试与装置硬件系统102的初步设计的内部信号之间的相关性以及那些高度相关的如与识别为安全关键信号130的安全相关的内部信号。然后在装置硬件系统102的初步设计上再次执行安全相关测试302,其中仅使用安全关键信号130来将行为事件及时记录到行为数据库310中。应当注意的是,由于主要硬件系统102不在其最终版本中,因此在初步设计上执行测试可以被认为是模拟或仿真。然后在312处执行过程挖掘技术以处理行为数据库310以创建行为模型128。在314处,存储行为模型128,并且最终下载到SPS 104的存储器106。
图4是示出根据本发明的一个实施例在装置硬件系统102的运行时间操作期间SPS104的总体操作的流程图。在第一框402处,将安全关键信号130读取或锁存到SPS 104中,如作为新的RNS值进入寄存器206。假设经过审查,先前的RNS值作为当前状态值RCS被传送到寄存器216中。在下一个框404处,审查系统110通过将如由更新的安全关键信号130表示的装置硬件系统102的行为与存储在模型128中的经审查的行为进行比较来执行审查过程。模型128例如识别与RCS相关联的经审查的下一状态,并且审查系统110确定RNS是否匹配先前确定的经审查的状态中的任一个。如果如在下一个查询框406处确定的RNS值被审查,则操作循环回到框402以再次锁存作为新RNS值的安全关键信号130的任何更新。只要装置硬件系统102的操作与存储在模型128中的经审查的行为匹配,操作就在框402与框406之间循环。
如果如由RNS值表示的安全关键信号130不指示如在查询框406处确定的经审查的行为,则操作反而前进到框408和框412。在框408处,检索或以其它方式识别SV值133,并且然后设置标记132,并且SV值133被提供作为在下一个框410处的SV值133。如前所述,严重性级别可以作为单独的值提供或可以结合在标记132的值内。在任一情况下,装置硬件系统102通知差异和偏差的潜在严重性。同时,审查系统110断言TOS信号以激活同步系统112,所述同步系统112尝试在框412处将来自模型128的经审查的操作与装置硬件系统102的行为重新同步。新的状态转换集存储在PLR 136中直到实现同步,如当遇到已知状态时,然后是附加的顺序审查状态。应当注意的是,如果在预定时间段或状态或转换的数量内未实现同步,则同步系统112可以采取补救动作,如纠正动作和/或通知。
在同步时,如本文进一步描述的,审查系统110断言TOL信号以激活学习系统114,所述学习系统114执行若干学习功能。此类学习功能包括例如监测来自装置硬件系统102的反馈134以更新由审查系统110标记差异的状态的严重性级别值SV。如本文进一步描述,学习功能还可以包括监测PLR 136和LR 138中的信息以及基于存储在LR 138中的状态转换集来更新模型128。
图5是示出了根据本发明的一个实施例的审查系统110的操作的流程图(如图4中的框402、框404和框406处所表示的)。在第一框502,如果有的话,将先前的RNS作为当前状态RCS从寄存器206复制到寄存器216中,并且将下一状态的新RNS值存储在寄存器206中。然后操作前进到框504,在所述框504中,将RCS值作为索引应用于查找表202以检索相应的下一状态索引值NSI,并且将NSI应用于下一状态表204以从下一状态表204访问当前状态RCS的经审查的下一状态列表(例如,经审查的下一状态列表214)。在下一个框506处,审查系统110在下一状态表204中检索所访问列表的第一记录中的下一状态值210和相应的ST值212。在框506处读取的下一状态值被示为NS_X,其中在第一次迭代中“X”为“1”。在下一个框508处,查询下一状态RNS是否等于从下一状态表204中检索的下一状态值NS_X(例如,针对第一次迭代的NS_1)。如果不等于,则操作前进到查询框510以确定NS_X是否是当前状态的最后下一状态,如果检索到的ST值212等于一(1)则为真。如果ST值212不等于一,则操作前进到框512以使NSI增量以从下一状态表204访问下一个NS_X值(例如,下一次迭代中的NS_2),然后操作循环回到框506处,以测试经审查的下一状态的访问列表中的任何额外的下一状态值。操作在框506、框508、框510与框512之间循环,以将RNS与RCS的每个经审查的下一状态进行比较。
如果RNS等于如在框508处确定的下一个经审查的状态NS_X中的任何一个,则实际下一状态RNS是如在514处所指示的经审查的,并且操作循环回到框502以将RCS更新为当前RNS值并读取下一个RNS值。操作以此方式重复并且在框502框块514之间循环以进行审查操作。
返回参考框510,如果ST值212等于1并且RNS与从下一状态表204中检索的经审查的下一状态中的任何一个不匹配,则如在516处所指示的不审查装置硬件系统102的操作,而审查系统110前进到框518,在所述框518中,审查系统110断言TOS信号以激活同步系统112。审查系统110还从查找表208检索RCS的SV值218,并使用检索的SV值218断言标记132和SV值133。在下一个框520处,如通过在返回到审查程序之前断言SYNC DONE信号所指示的,审查系统110等待直到实现重新同步。当SYNC DONE被断言时(或当为真时),操作前进到框522,在所述框522中,审查系统110断言TOL信号以激活学习系统114。当被激活时,如本文进一步描述的,所述学习系统114从装置硬件系统102读取反馈134并且查看PLR 136和LR 138中的状态转变集,并且可以相应地更新模型128。审查系统110然后返回到正常审查操作。
图6是根据本发明的一个实施例实施的审查系统110的简化框图。存储在寄存器216中的当前状态值RCS被示出输出为NS_X,所述NS_X通过开关616作为索引应用于查找表202。查找表202输出相应的下一状态索引值NSI,所述下一状态索引值NSI被存储到寄存器604中。同时,响应于下一状态信号NS,所述安全关键信号130经由开关602锁存到寄存器206中作为下一状态值RNS并且被应用于数字比较器612的一个输入端,并且另一个开关606由NS提示以将索引值NSI从寄存器604锁存到另一个寄存器608中。寄存器608中的索引值NSI被应用于下一状态表204以访问与下一状态表204中的示出输出为NS_X的当前状态RCS相关联的经审查的下一状态的列表。来自下一状态表204的经访问的列表中的NS_X的每个下一状态值被锁存到寄存器216中并且被应用于比较器612的其它输入端。如果NS_X值不等于RNS值,则比较器612向开关606断言不相等值NEQ,所述开关提示寄存器608负载增量器614的输出端,其输入端耦合到寄存器608的输出端并且其输出端提供回到寄存器608中的增量的索引NSI+1。实际上,使寄存器608中的值增量并且应用于下一状态表204以访问第二个下一状态值NS_X,所述第二个下一状态值NS_X然后锁存到寄存器216中并且通过比较器612与RNS值进行比较。重复此过程以测试来自下一状态表204的所访问的经审查的下一状态列表中的下一状态值NS_X中的每一个。
当来自下一状态表204的所访问的经审查的下一状态列表中的下一状态值NS_X(NS_1到NS_N)中的任何一个与RNS值匹配时,则比较器612断言提供给2-输入逻辑或(OR)门618的一个输入端的相等信号EQ。所述或门618输出NS信号,所述NS信号提示开关602将下一个RNS值锁存到寄存器206中并且提示开关606选择寄存器604的输出端作为寄存器608的输入端。EQ还提示开关616将匹配的NS_X值作为索引传递到查找表202中,并且对于装置硬件系统102的下一状态,重复所述过程。对于来自下一状态表204的所访问的经审查的下一状态列表中的示出为ST_X(如前所述,其中X从1增量到N)的每个下一状态值,将相应的ST值212应用于2输入逻辑与(AND)门620的一个输入端,所述2输入逻辑与门620在其其它输入端处从比较器612接收NEQ值。只要被测试的下一状态值NS_X不是所访问的经审查的下一状态列表中的最后一个,则与门620的输出保持低或以其它方式不被断言。
另一方面,当所访问的经审查的下一状态列表中的NS_X值都不等于RNS值时,则NEQ和ST_X都被断言为高,使得与门620的输出变高,并且下一个实际状态值RNS的审查过程失败,使得RNS不是经审查的状态。当未经审查时,则标记132连同相应的SV值133被提供给装置硬件系统102,并且通过TOS电路622和同步等待(SYNC WAIT)框624检测与门620的输出的断言。TOS电路622断言TOS信号以激活同步系统112。如由SYNC DONE信号的断言所示的,同步等待框624等待直到同步系统112重新同步SPS 104与装置硬件系统102之间的操作。当SYNC DONE信号被断言时,同步等待框624断言TOL信号以激活学习系统114。TOL信号可以被提供给或门618的其它输入端,所述或门618断言NS以触发开关602来读取下一个RNS值,使得可以恢复操作。
图7是示出了根据本发明的一个实施例的同步系统112的操作的简化流程图。响应于TOS信号的断言,同步系统112将存储在寄存器604中的当前状态RCS的索引记录为PLR136的第一条目。RCS是在检测到目前不在模型128中的未经审查的状态之前的最后经审查的状态。操作前进到框704处,在所述框704中,读取当前存储在寄存器206中的实际下一状态RNS。在下一个框706处,查询RNS是否在模型128中找到。应当注意的是,并非安全关键信号130的所有组合都被定义为模型128中的相应状态。如果在模型128中未找到RNS,则操作前进到框708以查询是否已达到记录在PLR 136中的新学习状态和相应转变的最大(MAX)数量。存储器106和/或记录器136和记录器138中的每一个具有有限的限制,其中MAX可以防止不期望的溢流。而且,如果新状态的数量变得过多使得达到MAX,则模型128可能是过时的并且应该被替换。如果尚未达到MAX,则操作前进到框710,在所述框710中,同步系统112将RNS值记录为PLR 136的下一个条目。当通过装置硬件系统102更新时,操作然后循环回到框704以读取下一个RNS值。操作在框704、框706、框708与框710之间循环,以存储当前状态转换集直到达到MAX或直到在模型128中找到RNS。
在框708处达到MAX的情况下,则操作反而前进到框712,在所述框712中,学习被禁用。当通过装置硬件系统102更新时,操作然后循环回到框704以读取下一个RNS值。一旦禁用了学习,操作就可以在框704、框706、框708框712之间循环(绕过框710),直到在模型128中找到RNS或者直到采取其它补救动作。应当注意的是,如果已经达到MAX使得禁用了学习,则模型128可能是过时的并且应该被替换。
返回参考框706处,如果在模型128中找到RNS,则操作反而前进到框714,在所述框714中,将RNS索引记录为PLR 136中的最后一个值并且完成当前临时记录。而且,RNS值作为RCS值存储在寄存器216中并且SYNC DONE信号被断言以重新启动审查系统110。然后操作前进到框716,在所述框716中,查询是否已禁用学习。若是,则操作前进到框718,在所述框718中,将更新模型通知发送到如装置硬件系统102,所述装置硬件系统102然后可以采取其它补救动作,并且操作完成。应当注意的是,SPS 104可以另外或可替代地采取补救动作,如根据特定配置重置或关闭系统。
如果如在框716处所确定的没有禁用学习,则操作前进到框720处,在所述框720中,针对“M”状态初始化中间操作模式。M是用于验证同步的大于0的整数,其中M可以是编程值。从重新同步到审查的转变可以基于仅检测如在框706处检测的一个识别状态。然而,应当注意的是,在装置硬件系统102的动态操作期间,即使在遇到共同状态时,转变路径可以与审查状态和转变不同。在一个实施例中,即使遇到已知状态,SPS 104可以进入中间操作模式,在所述中间操作模式下,重新启动审查系统110,而不断言标记132和SV值133,直到已经顺序出现足够数量的经审查的状态来验证同步。用于验证的顺序审查状态的数量是值M。以此方式,如果在从同步返回之后发生M个顺序审查状态,则恢复正常操作。如果在从同步返回之后发生少于M个顺序审查状态使得同步系统112再次重新启动,则不验证同步。当重新启动同步时,新的状态转换集被记录到PLR 136中而非继续刚刚完成的状态转换集。
图8是根据本发明的一个实施例的同步系统112的简化框图。只要值LEARN为打开(或真),就通过保存电路802感测TOS信号,所述保存电路802使得存储在寄存器604中的索引值作为RCS(NSI)以表明的距离通过索引值INDEXi存储到PLR 136中。INDEXi可以存储在寄存器804中,并且所述保存电路802断言增量信号INC以在每次存储条目时使INDEXi值增量。寄存器206中的RNS值被应用于查找表202,并且相应的SV值被检索且应用于数字比较器806的输入端,所述数字比较器806被配置成将SV与二进制零值进行比较。如果如通过比较器806确定的SV值等于零(例如,“00b”),则由RNS指示的状态不是存储在查找表202内的审查状态,使得比较器806断言未经审查的信号NVT以提示另一个数字比较器808。NVT信号提示比较器808将INDEXi的当前值与MAX值(存储在存储器或寄存器807中所示出的)进行比较,所述MAX值是指向PLR 136内的最后可允许条目的INDEXi的最大值。当INDEXi小于MAX时,所述比较器808输出信号LT以提示保存电路803将RNS值存储到PLR 136中并且断言INC信号以使INDEXi增量。应当注意的是,保存电路802和803可以是公共保存电路的一部分。存储在RCS(NSI)之后的第一个RNS值示出为RNS_1。当INDEXi大于或等于MAX时,比较器808将信号GTE输出到学习电路810,所述学习电路810将LEARN值设置为关闭以禁用学习。当学习被关闭时,LEARN值被提供给保存电路802,这防止通过保存电路802和803进一步更新PLR136。
虽然INDEXi小于MAX并且在查找表202中未找到随后的RNS值,但是新状态被存储到PLR 136的顺序位置中,对于总共“P”个RNS值,示出为RNS_1、...、RNS_P,其中P是零或更大的整数。即使达到MAX,比较器806继续评估新的RNS状态是否在查找表202中。当比较器806确定RNS在查找表202中时,其反而断言提供给中间(IM)电路812、提供给保存电路803和提供给同步完成电路814的经审查的状态信号VT。保存电路803将RNS值存储到PLR 136中作为当前条目列表中的最后一个条目RNS_P并且断言INC。如前所述,所述同步完成电路814断言SYNC DONE信号以重新启动审查系统110。IM电路812将从查找表202检索的索引值NSI存储到寄存器604中,并且在禁用标记132的断言的同时跟踪下一个M周期的TOS信号。当下一个连续的M个状态是经审查的状态时,IM电路812验证同步且重新启用标记132。否则,TOS再次被重新断言,并且同步系统112被重新启用以将新的未经非审查的状态集存储到PLR 136中。
图9是示出了根据本发明的一个实施例的学习系统114的操作的简化流程图。响应于TOL信号的断言,学习系统114被激活,并且操作前进到框902,在所述框902中,查询是否已经接收到来自装置硬件系统102的反馈134。操作在902框处循环直到反馈134示出为已提供。当提供反馈134时,操作前进到框904,在所述框904中,如果通过反馈134指示,则学习系统114更新查找表202中的与同步开始之前的最后审查状态相对应的SV值218。如果更新,则可以基于反馈134增加或减少查找表202中的最后审查状态的SV值218。虽然未具体示出,但是在由于任何原因未接收到反馈134的情况下可以提供超时规定。
响应于TOL信号的断言,操作还前进到框906,在所述框906中,读取通过同步系统112写入PLR 136中的最新的一个或多个状态转换集。应当注意的是,由于最后学习会话在从同步第一次返回之后在M个顺序审查状态的情况下不会发生,因此可以通过同步系统112添加多个不同的状态转换集,使得可能发生了多个同步会话。在下一个框908处,查询最新状态转换集是否位于LR 138中。在一个实施例中,学习系统114可以扫描LR138以确定最新状态转换集是否先前已经发生并且已经从PLR 136复制到LR 138中。如果还没有在LR 138中,则操作前进到框910,在所述框910中,将最新状态转换集从PLR 136复制到LR 138中,并且初始化示出为COUNTj的计数值。应当注意的是,可以为存在于LR 138中的每个单独列表存储单独的计数值,其中索引值“j”表示相应的计数值。如果已经遇到使得状态转换集已经存在于LR 138中,则操作反而前进到框912,在所述框912中,使COUNTj增量一以跟踪已经重复所述状态转换集的次数。
操作从框910或912前进到框913,在所述框913中,清除PLR 136的内容。操作然后前进到框914以查询COUNTj是否已变得大于预定计数阈值THR_C。若是,则操作前进到框916以查询SV值是否小于预定严重性阈值THR_S。若是,则操作前进到框918,在所述框918中,学习系统114用重复THR_C次数(并且严重性小于THR_S)的最新状态转换集更新模型128,并且然后操作前进到框920,在所述框920中,从LR 138中移除所述状态转换集。如果COUNTj不大于THR_C(框914)或者如果SV不小于THR_S(框916)、或者在从LR 138删除序列(框920)之后,则完成了针对当前迭代的学习系统114的操作。总之,如果状态转换列表已经遇到THR_C次数并且严重性级别小于THR_S,则用所述序列更新模型128。否则,不用状态转换信息更新模型128。
根据一个实施例,一种用于审查装置硬件的操作的运行时间安全系统包括存储器、审查系统、同步系统和学习系统。存储器存储装置硬件的模型,其中模型基于装置硬件的多个安全信号存储多个经审查的状态,并且对于每个经审查的状态,其另外存储严重性级别值和至少一个经审查的下一状态。审查系统将在操作期间所述装置硬件的实际下一状态与经审查的当前状态的所述至少一个经审查的下一状态进行比较,并且当所述实际下一状态与所述至少一个经审查的下一状态中的任一个不匹配时提供指示和相应的严重性级别。同步系统响应于所述指示通过将所述装置硬件的至少一个随后的实际下一状态中的每一个与经审查的状态进行比较来执行同步,直到当任何随后的实际下一状态与经审查的状态匹配时发生初始同步。学习系统响应于所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
所述指示可以以任何合适的方式提供。在一个实施例中,例如,通过断言标记来提供指示。在一个实施例中,当由来自装置硬件的反馈指示时,学习系统通过更新存储在与经审查的当前状态相关联的模型中的严重性级别值来更新模型。
所述多个安全信号可以通过在指示所述装置硬件的装置硬件设计上运行至少一个安全相关测试,同时使用数据挖掘算法来识别与所述至少一个安全相关测试相关的所述装置硬件设计的那些信号来确定的。所述模型可以通过重新运行所述至少一个安全相关测试,同时记录如由所述安全信号展示出的所述装置硬件设计的状态和状态转换来确定的。
所述模型可以包括查找表和下一状态表。查找表存储针对每个经审查的状态的下一状态索引值和严重性级别值。所述下一状态表存储针对每个经审查的状态的至少一个经审查的下一状态,其中使用从查找表检索的下一状态索引值来索引下一状态表。
所述同步系统可以在初始同步之后进入中间操作模式,以在M个随后的连续实际下一状态中的每一个与所述多个经审查的状态中的任何一个匹配时验证同步。所述审查系统可以在所述中间操作模式期间抑制提供所述指示,并且可以在所述M个随后的连续实际下一状态中的任何一个与所述经审查的状态中的任何一个不匹配时提示所述同步系统重新进入所述同步。
存储器可以另外存储初步学习记录和学习记录。所述同步系统可以另外将状态转换集存储到针对所提供的每个指示的所述初步学习记录中,其中每个状态转换集包括未存储在所述模型中的所述装置硬件的至少一个新状态。所述学习系统可以将每个新的状态转换集复制到所述学习记录中,使针对现有状态转换集的每个重复出现的计数值增量,并且当所述计数值达到预定计数阈值时更新所述模型以包括现有状态转换集的所述重复出现内的新状态。只有在现有状态转换集的所述重复出现与小于阈值严重性级别的严重性级别相关联时,所述学习系统才可以更新所述模型。当初步学习记录达到最大存储限制时,同步系统可以停止存储状态转换集。
根据一个实施例,一种提供用于审查装置硬件的操作的运行时间安全的方法包括:由审查系统将在操作期间所述装置硬件的实际下一状态与经审查的当前状态的所述至少一个经审查的下一状态进行比较;当所述真实下一状态与所述至少一个经审查的下一状态中的任何一个不匹配时,由所述审查系统提供指示和相应的严重性级别;由同步系统响应于提供所述指示通过将所述装置硬件的至少一个随后的实际下一状态中的每一个与所述经审查的状态进行比较来执行同步,直到当所述至少一个随后的实际下一状态中的一个与所述经审查的状态中的一个匹配时发生初始同步;由学习系统响应于提供所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
所述方法可以包括更新存储在与所述经审查的当前状态相关联的所述模型中的所述严重性级别值。所述方法可以包括:将所述经审查的当前状态作为索引应用于所述查找表中并且检索相应的下一状态索引;以及将从所述查找表中检索的所述相应的下一状态索引应用于所述下一状态表并且检索针对所述经审查的当前状态的经审查的下一状态列表。
所述方法可以包括在所述初始同步之后进入中间操作模式,同时在M个随后的连续实际下一状态中的每一个与所述经审查的状态中的一个匹配时验证同步。所述方法可以另外包括:在所述中间操作模式期间抑制提供所述指示,并且在所述M个随后的连续实际下一状态中的任何一个与所述经审查的状态中的任何一个不匹配时提示所述同步系统重新进入所述同步。
所述方法可以包括:存储在所述存储器中存储的初步学习记录;以及在执行同步时,将所述装置硬件的每个实际下一状态存储到未存储在所述模型中的所述初步学习记录中。所述方法可以另外包括:将初步学习记录和学习记录存储在所述存储器中;在提供每个指示时,将状态转换集存储到所述初步学习记录中,同时执行同步,其中每个状态转换集包括未存储在所述模型中的所述装置硬件的至少一个新状态;以及由所述学习系统将每个新的状态转换集复制到所述学习记录中;使针对现有状态转换集的每个重复出现的计数值增量;以及当所述计数值达到预定计数阈值时,更新所述模型以包括现有状态转换集的所述重复出现内的新状态。
所述方法可以包括仅在现有状态转换集的所述重复出现与小于阈值严重性级别的严重性级别相关联时才由所述学习系统更新所述模型。所述方法可以包括当所述初步学习记录达到最大存储限制时,由所述同步系统停止所述将所述状态转换集存储到在提供每个指示时所述初步学习记录中。
虽然已经结合若干实施例描述了本发明,但本发明不旨在限制本文阐述的具体形式。相反的是,本发明旨在涵盖如可以合理地包括在如由所附权利要求定义的本发明的范围内的此类替代形式、修改形式以及等效形式。例如,正逻辑或负逻辑的变化可以用在各种实施例中,其中本发明不限制特定的逻辑极性、装置类型或电压电平等。如本文所使用的,术语“一个或一种(a或an)”被定义为一个或多于一个。而且,在权利要求中使用如“至少一个”和“一个或多个”的介绍性短语不应被解释为暗示由不定冠词“一个(a)”或“一个(an)”引入的另一权利要求要素将包含这种引入的权利要求要素的任何特定权利要求限于仅包含一个此类要素的发明,即使当相同的权利要求包括介绍性短语“一个或多个”或“至少一个”以及如“一个(a)”或“一个(an)”等不定冠词时。对于使用定冠词也是如此。除非另有说明,否则术语如“第一”和“第二”用于任意区分此类术语描述的元件。因此,这些术语不一定旨在指示这种元件的时间优先次序或其它优先次序。
Claims (10)
1.一种用于审查装置硬件的操作的运行时间安全系统,其特征在于,包括:
存储器,其存储所述装置硬件的模型,其中所述模型基于所述装置硬件的多个安全信号存储多个经审查的状态并且对于所述多个经审查的状态中的每一个存储严重性级别值和至少一个经审查的下一状态;
审查系统,其将在操作期间所述装置硬件的实际下一状态与经审查的当前状态的所述至少一个经审查的下一状态进行比较,并且当所述实际下一状态与所述至少一个经审查的下一状态中的任一个不匹配时提供指示和相应的严重性级别;
同步系统,其响应于所述指示通过将所述装置硬件的至少一个随后的实际下一状态中的每一个与所述多个经审查的状态进行比较来执行同步,直到当所述至少一个随后的实际下一状态中的一个与所述多个经审查的状态中的一个匹配时发生初始同步;以及
学习系统,其响应于所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
2.根据权利要求1所述的运行时间安全系统,其特征在于,当由来自所述装置硬件的所述反馈指示时,所述学习系统更新存储在与所述经审查的当前状态相关联的所述模型中的所述严重性级别值。
3.根据权利要求1所述的运行时间安全系统,其特征在于,所述多个安全信号是通过在指示所述装置硬件的装置硬件设计上运行至少一个安全相关测试,同时使用数据挖掘算法来识别与所述至少一个安全相关测试相关的所述装置硬件设计的那些信号来确定的。
4.根据权利要求3所述的运行时间安全系统,其特征在于,所述模型是通过重新运行所述至少一个安全相关测试,同时记录如由所述安全信号展示出的所述装置硬件设计的状态和状态转换来确定的。
5.根据权利要求1所述的运行时间安全系统,其特征在于,所述模型包括:
查找表,其存储多个下一状态索引值中的相应一个以及针对所述多个经审查的状态中的每一个的多个严重性级别值中的相应一个;以及
下一状态表,其存储针对所述多个经审查的状态中的每一个的所述至少一个经审查的下一状态,其中所述下一状态表使用从所述查找表中检索的所述多个下一状态索引值中的所述相应一个进行索引。
6.根据权利要求1所述的运行时间安全系统,其特征在于,所述同步系统在所述初始同步之后进入中间操作模式,以在M个随后的连续实际下一状态中的每一个与所述多个经审查的状态中的一个匹配时验证同步。
7.根据权利要求6所述的运行时间安全系统,其特征在于,所述审查系统在所述中间操作模式期间抑制提供所述指示,并且在所述M个随后的连续实际下一状态中的任何一个与所述多个经审查的状态中的任何一个不匹配时提示所述同步系统重新进入所述同步。
8.根据权利要求1所述的运行时间安全系统,其特征在于,进一步包括:
存储在所述存储器中的初步学习记录;并且
其中所述同步系统进一步将所述装置硬件的所述每个实际下一状态存储到未存储在所述模型中的所述初步学习记录中。
9.根据权利要求1所述的运行时间安全系统,其特征在于,进一步包括:
存储在所述存储器中的初步学习记录和学习记录;
其中所述同步系统进一步将状态转换集存储到针对所提供的每个所述指示的所述初步学习记录中,其中每个状态转换集包括未存储在所述模型中的所述装置硬件的至少一个新状态;并且
其中所述学习系统将每个新的状态转换集复制到所述学习记录中,使针对现有状态转换集的每个重复出现的计数值增量,并且当所述计数值达到预定计数阈值时更新所述模型以包括现有状态转换集的所述重复出现内的新状态。
10.一种提供用于审查装置硬件的操作的运行时间安全的方法,其特征在于,安全保护系统耦合到所述装置硬件,其中所述安全保护系统包括存储器、审查系统、同步系统和学习系统,其中所述装置硬件的模型存储在所述存储器中,其中所述模型基于所述装置硬件的多个安全信号存储多个经审查的状态,并且其中对于所述多个经审查的状态中的每一个,所述模型存储严重性级别值和至少一个经审查的下一状态,其中所述方法包括:
由所述审查系统将在操作期间所述装置硬件的实际下一状态与经审查的当前状态的所述至少一个经审查的下一状态进行比较;
当所述真实下一状态与所述至少一个经审查的下一状态中的任何一个不匹配时,由所述审查系统提供指示和相应的严重性级别;
由所述同步系统响应于所述提供所述指示通过将所述装置硬件的至少一个随后的实际下一状态中的每一个与所述多个经审查的状态进行比较来执行同步,直到当所述至少一个随后的实际下一状态中的一个与所述多个经审查的状态中的一个匹配时发生初始同步;以及
由所述学习系统响应于所述提供所述指示接收来自所述装置硬件的反馈,并且在由所述反馈指示时,根据所述反馈更新所述模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/927,484 US11017077B2 (en) | 2018-03-21 | 2018-03-21 | Run-time security protection system and method |
US15/927,484 | 2018-03-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110298201A true CN110298201A (zh) | 2019-10-01 |
Family
ID=67985321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910216565.6A Pending CN110298201A (zh) | 2018-03-21 | 2019-03-21 | 运行时间安全保护系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11017077B2 (zh) |
CN (1) | CN110298201A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414292A (zh) * | 2007-10-20 | 2009-04-22 | 黄新亚 | 模式识别处理器 |
CN101539799A (zh) * | 2007-09-28 | 2009-09-23 | 英特尔公司 | 使用处理器硬件反馈机制来选择最佳处理器性能水平的系统和方法 |
CN102298569A (zh) * | 2010-06-24 | 2011-12-28 | 微软公司 | 在线学习算法的并行化 |
CN103853979A (zh) * | 2010-12-31 | 2014-06-11 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN104461771A (zh) * | 2014-11-03 | 2015-03-25 | 北京百度网讯科技有限公司 | 数据备份处理方法和装置 |
CN104933370A (zh) * | 2014-03-20 | 2015-09-23 | 美国亚德诺半导体公司 | 安全意识主机的系统和方法 |
CN105229612A (zh) * | 2013-03-18 | 2016-01-06 | 纽约市哥伦比亚大学理事会 | 使用基于硬件的微体系结构数据的异常程序执行的检测 |
CN105868035A (zh) * | 2016-04-26 | 2016-08-17 | 浪潮电子信息产业股份有限公司 | 一种故障预测的方法、装置和系统 |
US20160314223A1 (en) * | 2014-03-31 | 2016-10-27 | Imagination Technologies Limited | Deadlock detection in hardware design using assertion based verification |
CN106716382A (zh) * | 2014-09-11 | 2017-05-24 | 高通股份有限公司 | 用于移动装置行为的聚集多应用程序行为分析的方法和系统 |
US9773112B1 (en) * | 2014-09-29 | 2017-09-26 | Fireeye, Inc. | Exploit detection of malware and malware families |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7225343B1 (en) * | 2002-01-25 | 2007-05-29 | The Trustees Of Columbia University In The City Of New York | System and methods for adaptive model generation for detecting intrusions in computer systems |
US7512975B2 (en) | 2002-08-16 | 2009-03-31 | Intel Corporation | Hardware-assisted credential validation |
US7367063B1 (en) * | 2002-09-17 | 2008-04-29 | Cisco Technology, Inc. | Methods and apparatus for providing security to a computerized device |
US7620989B1 (en) | 2004-02-19 | 2009-11-17 | Spirent Communications Inc. | Network testing methods and systems |
KR20060057916A (ko) | 2004-11-24 | 2006-05-29 | 한국전자통신연구원 | 정보보호 제품의 기능 시험을 위한 공격 패킷 생성 기능을포함하는 네트워크 패킷 생성 장치 및 방법 |
US7774363B2 (en) | 2005-12-29 | 2010-08-10 | Nextlabs, Inc. | Detecting behavioral patterns and anomalies using information usage data |
US20090328190A1 (en) | 2008-06-25 | 2009-12-31 | Liu David H | Method and apparatus to perform security and vulnerability testing of protocols |
US8401982B1 (en) | 2010-01-14 | 2013-03-19 | Symantec Corporation | Using sequencing and timing information of behavior events in machine learning to detect malware |
CN101968769B (zh) | 2010-10-22 | 2012-01-25 | 中国人民解放军理工大学 | 一种基于行为模型的软件安全性测试用例生成方法 |
US8938646B2 (en) | 2012-10-24 | 2015-01-20 | International Business Machines Corporation | Mutations on input for test generation |
CN106462709A (zh) | 2014-01-27 | 2017-02-22 | 克洛诺斯赛博科技有限公司 | 自动渗透测试设备、方法和系统 |
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 |
JP6746085B2 (ja) * | 2017-03-09 | 2020-08-26 | 日本電気株式会社 | 異常検知装置、異常検知方法および異常検知プログラム |
US10754912B2 (en) * | 2018-03-12 | 2020-08-25 | Microsoft Technology Licensing, Llc | Machine learning model to preload search results |
-
2018
- 2018-03-21 US US15/927,484 patent/US11017077B2/en active Active
-
2019
- 2019-03-21 CN CN201910216565.6A patent/CN110298201A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539799A (zh) * | 2007-09-28 | 2009-09-23 | 英特尔公司 | 使用处理器硬件反馈机制来选择最佳处理器性能水平的系统和方法 |
CN101414292A (zh) * | 2007-10-20 | 2009-04-22 | 黄新亚 | 模式识别处理器 |
CN102298569A (zh) * | 2010-06-24 | 2011-12-28 | 微软公司 | 在线学习算法的并行化 |
CN103853979A (zh) * | 2010-12-31 | 2014-06-11 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN105229612A (zh) * | 2013-03-18 | 2016-01-06 | 纽约市哥伦比亚大学理事会 | 使用基于硬件的微体系结构数据的异常程序执行的检测 |
CN104933370A (zh) * | 2014-03-20 | 2015-09-23 | 美国亚德诺半导体公司 | 安全意识主机的系统和方法 |
US20160314223A1 (en) * | 2014-03-31 | 2016-10-27 | Imagination Technologies Limited | Deadlock detection in hardware design using assertion based verification |
CN106716382A (zh) * | 2014-09-11 | 2017-05-24 | 高通股份有限公司 | 用于移动装置行为的聚集多应用程序行为分析的方法和系统 |
US9773112B1 (en) * | 2014-09-29 | 2017-09-26 | Fireeye, Inc. | Exploit detection of malware and malware families |
CN104461771A (zh) * | 2014-11-03 | 2015-03-25 | 北京百度网讯科技有限公司 | 数据备份处理方法和装置 |
CN105868035A (zh) * | 2016-04-26 | 2016-08-17 | 浪潮电子信息产业股份有限公司 | 一种故障预测的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190294785A1 (en) | 2019-09-26 |
US11017077B2 (en) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liao et al. | Soliaudit: Smart contract vulnerability assessment based on machine learning and fuzz testing | |
US11893112B2 (en) | Quantitative digital sensor | |
Stanley | Learning concept drift with a committee of decision trees | |
CN100554989C (zh) | 具有多个时钟域的电路的测试 | |
CN106021014B (zh) | 一种内存管理方法及装置 | |
US20220027478A1 (en) | Detecting vulnerability change in software systems | |
CN105531929B (zh) | 功能定时传感器 | |
US20220027477A1 (en) | Detecting vulnerable software systems | |
US20210365555A1 (en) | A method and system for detecting and preventing issues in smart contracts based on historical behavior analysis | |
CN106716072A (zh) | 用于校准数字传感器的设备以及方法 | |
US11989289B2 (en) | Remediating software vulnerabilities | |
CN106295322B (zh) | 一种针对缓冲区溢出攻击的硬件保护装置 | |
US5666368A (en) | System and method for testing the operation of registers in digital electronic systems | |
CN110298201A (zh) | 运行时间安全保护系统和方法 | |
US7398554B1 (en) | Secure lock mechanism based on a lock word | |
Bertrand et al. | A tale of two diagnoses in probabilistic systems | |
EP3987423B1 (en) | Undefined lifecycle state identifier for managing security of an integrated circuit device | |
Sisejkovic et al. | Logic Locking: A Practical Approach to Secure Hardware | |
CN106935266B (zh) | 从存储器中读取配置信息的控制方法、装置和系统 | |
Hosseini et al. | Safeguarding the intelligence of neural networks with built-in light-weight integrity marks (LIMA) | |
US8474008B2 (en) | Methods and devices for managing events linked to the security of the computer systems of aircraft | |
US20210406435A1 (en) | System, method, and computer-accessible medium for absorption based logic locking | |
CN111310162A (zh) | 基于可信计算的设备接入控制方法、装置、产品及介质 | |
Pozzobon et al. | Fuzzy fault injection attacks against secure automotive bootloaders | |
Berzins | Automated Methods for Cyber Test and Evaluation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |