CN111985008A - 涉及用于检测硬件木马的电路的设备和方法 - Google Patents

涉及用于检测硬件木马的电路的设备和方法 Download PDF

Info

Publication number
CN111985008A
CN111985008A CN202010410565.2A CN202010410565A CN111985008A CN 111985008 A CN111985008 A CN 111985008A CN 202010410565 A CN202010410565 A CN 202010410565A CN 111985008 A CN111985008 A CN 111985008A
Authority
CN
China
Prior art keywords
circuitry
data
internal circuitry
ssd
internal
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
Application number
CN202010410565.2A
Other languages
English (en)
Inventor
简-彼得·斯考特
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 BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of CN111985008A publication Critical patent/CN111985008A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • 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
    • 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/55Detecting local intrusion or implementing counter-measures
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

一种设备包括集成电路(IC)和另外的电路。所述IC包括内部电路,所述内部电路具有相对于可疑硬件木马(HT)要保持机密的敏感/秘密数据(SSD),并且所述内部电路包括访问端口,通过所述访问端口,与所述内部电路相关联的信息可被与所述HT相关联的外部电路访问。所述另外的电路用于学习所述内部电路的行为,所述行为在涉及所述内部电路、涉及所述SSD以及涉及与所述集成电路的应用在功能上相关联的其它数据的不同操作条件下对于所述集成电路是唯一的。

Description

涉及用于检测硬件木马的电路的设备和方法
技术领域
各个实施例的方面针对涉及用于学习与检测硬件木马相关联的行为的电路的设备和方法。
背景技术
许多集成电路(IC)包含秘密信息,用于认证(例如,私钥、密码)或个人信息如驱动配置文件。硬件木马(HT)可以将此类信息传输(有时称为“泄漏”)给未经授权的攻击者,这可能导致经济和置信损失。在这方面,HT是指或包括如通过修改集成电路的数据和/或程序化操作来恶意修改电路。审核员和用户可以针对HT请求文件化对策。
HT可以通过常规通道泄漏秘密数据,其中泄漏的数据可能使用隐写术隐藏,从而穿过输入/输出(I/O)通道控制,或者通过侧通道(也称为隐蔽通道)泄漏秘密数据,从而绕过I/O通道控制。HT可能使用延迟激活,使得它们只有在现场部署一段时间后才会变得活跃,从而在验证、确认和生产测试期间逃过检测。
对于各种应用,这些和其它问题已经对基于HT学习行为电路实施方案的效率提出了挑战。
发明内容
各个示例实施例针对如上文所解决的问题等问题和/或可能根据以下涉及用于学习与检测硬件木马(HT)相关联的内部电路行为的电路的公开内容而变得显而易见的其它问题。
在某些示例实施例中,本公开的方面涉及一种电路,所述电路学习内部电路的在不同操作条件下对于所述集成电路(IC)是唯一的行为,以便在线检测HT。
在更具体的示例实施例中,一种设备包括IC和另外的电路。所述IC包括内部电路,所述内部电路具有相对于可疑HT要保持机密的敏感/秘密数据(SSD),并且所述内部电路包括访问端口,通过所述访问端口,与所述内部电路相关联的信息可被与所述HT相关联的外部电路访问。所述另外的电路学习所述内部电路的行为,所述行为在涉及所述内部电路、涉及所述SSD以及涉及与所述IC的应用在功能上相关联的其它数据的不同操作条件下对于所述IC是唯一的。所述内部电路的行为由所述另外的电路通过观察所述内部电路的常规通道和所述内部电路的侧通道来学习。
所述设备另外包括学习中心存储器,在所述学习中心存储器处,所述另外的电路存储数据和用于执行关联过程的指令(在本文中有时称为“关联指令”)。所述内部电路的学习行为是从所存储的数据开发的。例如,所述另外的电路包括所述学习中心存储器和所述关联指令,所述关联指令用于开发所述内部电路的所述所学习的行为,并评估和关联涉及所述内部电路在所述不同操作条件下的操作的统计数据。所述内部电路的所学习的行为是基于与所述内部电路相关联的统计属性或不规则性通过改变或调整用于触发监测或记录事件的逻辑操作来开发的。此外,所述另外的电路可以确定以下的概率分布:最低有效位(LSB)和第二LSB;对外部端口的两次访问之间的时间间隔;存储器访问地址的差异;以及读取或写入数据的差异。
具体方面中的所述另外的电路包括启发式操作电路。例如,所述电路可以另外包括或存储用于执行深度学习过程的指令(在本文中有时称为“深度学习指令”)。在基于上述特征的各个更具体的实施例中,通过修改对内部电路的输入数据来学习所述行为。例如,所述不同操作条件包括使用所述SSD的一个或多个经过改变的版本和/或其它数据来访问所述内部电路。作为具体的例子,所述另外的电路使用深度学习指令来提供反馈数据以修改所述SSD和与所述IC的应用在功能上相关联的其它数据。更具体地说,所述另外的电路可以使用所提供的反馈数据来学习所述内部电路的另外的行为,并由此开发基于启发式的操作。
在多个相关实施例中,所述另外的电路检测试图通过所述端口(例如,常规通道)传输信息的可疑HT。可疑HT可以被检测为试图通过与访问存储器的时序或控制总线地址和控制线的操作相关的端口来传输信息。所述另外的电路将检测试图通过所述内部电路从所述IC传输信息的所述可疑HT。
其它具体示例实施例涉及一种用于IC的非暂时性计算机可读存储介质,所述IC包括具有SSD并且包括访问端口的内部电路,通过所述访问端口,与所述内部电路相关联的信息可被与所述HT相关联的外部电路访问。所述非暂时性计算机可读存储介质包括指令,所述指令在被执行时使计算设备的处理器:使启发式操作电路学习所述内部电路的行为,所述行为在不同操作条件下对于所述IC是唯一的,所述不同操作条件涉及:|所述内部电路、所述SSD以及与所述IC的应用在功能上相关联的其它数据;并且使用由所述启发式操作电路学习的行为来检测可疑HT或阻止可疑HT访问所述IC。
所述指令是可执行的,以使此类处理器电路修改所述SSD和其它数据,并且作为响应,观察所述内部电路的常规通道以获得常规通道数据并观察所述内部电路的侧通道以获得侧通道数据。例如,执行所述指令,以观察所述内部电路的常规通道以获得常规通道数据并观察所述内部电路的侧通道以获得侧通道数据,将经过修改的SSD与所述常规通道数据和所述侧通道数据相关联,并响应于所述关联性超过阈值而提供消息。所述处理器进一步将经过修改的SSD和所得的常规通道数据与如通过沙箱环境对所述常规通道数据进行操作的设备的电路隔离开。
所述指令可以用于检测所述可疑HT。例如,执行所述指令,以进一步使所述处理器观察具有常规通道数据和侧通道数据的SSD,将经过修改的SSD与常规通道数据和侧通道数据相关联,并且响应于关联性超过阈值而提供检测试图传输信息的可疑HT的指示。在其它例子中,执行所述指令,以进一步使所述处理器将经过修改的SSD和其它数据与常规通道数据和侧通道数据相关联,并且响应于关联性超过阈值而提供检测试图传输信息的可疑HT的指示。在具体方面,执行所述指令,以观察具有常规通道数据和侧通道数据的SSD,使所述启发式操作电路使用深度学习指令学习所述内部电路的行为,并确定相应的所学习的行为的阈值。执行使所述启发式操作电路学习所述内部电路的行为的指令,以进一步使所述处理器确定以下的概率分布:最低有效位(LSB)和第二LSB;对外部端口的两次访问之间的时间间隔;存储器访问地址的差异;以及读取或写入数据的差异。并且,执行所述指令,以响应于检测所述可疑HT和评估对所述可疑HT产生的影响而改变电源电压。
以上讨论/发明内容不旨在描述本公开的每个实施例或每个实施方案。以下附图和具体实施方式也例示了各个实施例。
附图说明
当结合附图考虑以下详细描述时,可以更全面地理解各个示例实施例,在附图中:
图1是根据本公开的包括电路的示例设备;
图2是示出根据本公开的以与图1一致的方式实施的类型的设备的示例性活动和/或数据流集合的流程图;
图3A-3B示出了根据本公开的包括启发式操作电路的设备的例子;
图4A-4B示出了根据本公开的包括启发式操作电路的示例设备和设备的示例性活动和/或数据流集合;
图5A-5B是示出根据本公开的以与图3和图4A一致的方式实施的类型的设备的示例性活动和/或数据流集合的流程图;并且
图6是根据本公开的包括启发式操作电路的示例设备。
虽然本文所讨论的各个实施例可以采用修改和替代性形式,但是已经在附图中通过举例示出了各个实施例的各方面并且将对所述方面进行详细描述。然而,应理解,并非旨在将本公开限制为所描述的特定实施例。相反,旨在覆盖落入本公开的范围内的所有修改、等效物和替代方案,包括权利要求中限定的方面。另外,如贯穿本申请所使用的,术语“例子(example)”仅是说明性的而非限制性的。
具体实施方式
本公开的各方面被认为适用于涉及基于硬件木马(HT)的机制的各种不同类型的设备、系统和方法,所述机制使用电路学习内部电路的行为以检测HT。在某些实施方案中,当在学习内部电路的行为的启发式操作电路的上下文中使用时,本公开的各方面已被示出为是有益的,所述内部电路对于在线检测可疑HT的特定集成电路(IC)是唯一的。在一些实施例中,检测可疑HT并阻止其访问IC。虽然不一定如此限制,但是可以通过以下对使用示例性上下文的非限制性例子的讨论来理解各方面。
因此,在以下描述中,阐述了各种具体细节以描述本文中呈现的具体例子。然而,对于本领域的技术人员来说应当显而易见的是,可以在没有下文给出的所有具体细节的情况下实践一个或多个其它例子和/或这些例子的变体。在其它实例中,并未详细描述公知特征,以免模糊本文中对例子的描述。为了便于说明,可以在不同的图中使用相同的附图标记来指代相同的元件或同一元件的另外实例。并且,尽管在某些情况下可以在单独的附图中描述各方面和特征,但是应理解的是,一个附图或实施例的特征可以与另一个附图或实施例的特征组合,即使所述组合未被明确示出或明确描述为组合也是如此。
通过HT检测秘密数据(在本文中被称为“敏感/秘密数据”)的泄漏并防止或减少敏感/秘密数据(SSD)的泄漏为IC提供保护。由于IC包含多种不同类型的SSD,因此存在不同类型的HT以及由不同类型的HT采用的不同的泄漏和延迟或触发技术,多种技术可以用于触发和检测HT。根据本公开的实施例涉及可以使用多种“防线”来防止SSD、HT类型、泄漏通道以及延迟或触发机制的多种不同组合的电路。为了功能安全,电路可以用于估计泄漏检测覆盖范围。多道防线包括第一防线,所述第一防线包括安全购买可信硬件知识产权(IP)、安全布局中心、经过认证的布局和验证工具、安全档案存取块以及详细的硬件源代码审查。可以采用另外的一道或多道防线,包括使用行为分析来检测可疑HT而无需了解或假设HT。所述检测基于不同条件下的不同行为,所述不同条件涉及要保持机密的SSD和要在应用中使用的功能数据(在本文中有时称为“应用数据”)。其它另外的防线可以包括使用沙箱环境来临时修改那些可能与HT相关的模块的某些输入数据(如使用沙箱环境来临时修改SSD并将常规通道与侧通道相关联),以及临时修改典型的触发条件。
在具体的例子中,使用了针对HT的多道防线。多道检测防线包括基于统计的关联性属性评估,以便基于例如最低有效位(LSB)和第二LSB的统计数据、SSD和应用数据的观察以及与输出数据的关联性、SSD和/或应用数据的修改以及与在沙箱环境中完成处理的输出数据的相关性来检测SSD的隐写泄漏,并且改变电源电压以修改物理上不可克隆功能(PUF)值并评估对可疑HT产生的影响。作为具体例子,据报道,许多HT出于不同目的使用PUF。一个目的是当不同IC的泄漏信息通过网络传输给攻击者时,能够将不同的数据流与不同的IC相关联。另一个目的是隐藏由于应用不同的PUF加密数据流而导致的HT的存在。PUF可以是电源电压敏感的。为了允许使用PUF检测HT,所述电路使用低压差稳压器(LDO)的微调输入来修改电源电压,使得电源电压仍在数字corelib单元的限制范围内,但PUF可能会受到干扰。另外,所述电路可以用于结合隐写或常规通道和侧通道攻击的检测。在系统确认过程中,根据本公开的实施例将常规输入/输出(I/O)通道的监控与针对可疑活动的侧通道的监控相结合。
出于多种原因,同时执行对常规I/O通道的隐写分析和侧通道分析可能是有利的。一方面,有许多不同的隐写编码方法需要考虑,另一方面,有许多不同的隐蔽通道方法需要考虑,两者具有相同的数量级——约10-50。隐写术和侧通道攻击者都可能使用新的和/或不常见的HT方法,使得其被标准检测组合覆盖的风险足够低(这为攻击场景的数量设置了下限)。隐写术和侧通道攻击者都可能投入大量资金来实施其攻击,并希望最大限度地提高攻击的成功率——因此,他们不希望因机制不成熟的缺陷而发生意外。HT可以使用已被证明的且成熟的方法(这为攻击场景的数量设置了上限)。另外,隐写和侧通道检测都可能受益于对可能受HT影响的硬件模块使用受保护的环境(有时称为沙箱环境)。而且,隐写术和侧通道攻击者都可以使用通过HT进行的数据加密,并且可以使用在现场延迟一段时间后触发的HT,因此沙箱需要确保不仅应用和/或SSD被临时修改,而且潜在的(延迟的)触发器也被激活。
如上所述,根据本公开的示例设备可以针对多种不同类型的HT和/或攻击场景执行隐写和侧通道检测。一些示例隐写术攻击/检测场景包括LSB匹配、图像或音频特定攻击,例如,使用小波变换、校验和违背(故意更改冗余的容错代码的数据流中的位,以便纠正引入的位错误)、以及基于概率密度函数(PDF)或特征函数(CF)的矩的分析。示例侧通道攻击场景包括和/或基于存储器读取或写入访问的时序、传输或请求某个消息的时序、基于某些传输协议的报头中的可自由选择的位、基于“端口敲门”,例如,请求访问应用不需要的某个端口。
根据各个实施例的特定示例设备包括IC和另外的电路。所述IC包括内部电路,所述内部电路具有相对于可疑HT要保持机密的SSD,并且所述内部电路包括访问端口,通过所述访问端口,与所述内部电路相关联的信息可被与HT相关联的外部电路访问。可以是启发式操作电路的另外的电路学习内部电路的行为,所述行为在涉及内部电路、SSD以及与所述IC的应用在功能上相关联的其它数据的不同操作条件下对于IC是唯一的。所述内部电路的行为由所述另外的电路通过观察所述内部电路的常规通道和所述内部电路的侧通道来学习。
在其它相关示例实施例中,设备另外包括学习中心存储器,在所述存储器处,另外的电路存储从中开发内部电路的所学习的行为的数据并存储用于执行相关过程或以其它方式与其相关联的指令(在本文中有时称为“关联指令”)。另外的电路可以包括学习中心存储器和关联指令,所述关联指令用于开发内部电路的所学习的行为,并评估和关联涉及内部电路在不同操作条件下的操作的统计数据。所述内部电路的所学习的行为是基于与所述内部电路相关联的统计属性或不规则性通过改变或调整用于触发监测或记录事件的逻辑操作来开发的。
在各个实施例中,通过修改内部电路的输入数据,如通过使用一个或多个修改版本的SSD和/或其它数据来学习所述行为。作为具体的例子,另外的电路存储用于执行深度学习过程的指令(在本文中有时称为“深度学习指令”)。另外的电路使用深度学习指令来提供反馈数据以修改SSD和与IC的应用在功能上相关联的其它数据。另外的电路使用所提供的反馈数据来学习内部电路的另外的行为,并由此开发基于启发式的操作。
在多个相关实施例中,所述另外的电路检测试图通过所述端口(例如,常规通道)传输信息的可疑HT。检测可以包括检测试图通过与访问存储器的时序或地址和/或控制线的操作相关的端口来传输信息的可疑HT。
其它示例实施例涉及一种用于IC的非暂时性计算机可读存储介质,所述IC包括具有SSD并且包括访问端口的内部电路,通过所述访问端口,与所述内部电路相关联的信息可被与所述HT相关联的外部电路访问,如本文另外描述的。
现在转到附图,图1是根据本公开的包括启发式操作电路的示例设备。如所示出的,设备包括具有内部电路117的IC 100,所述内部电路117执行涉及SSD 106的处理或编码108,所述SSD 106相对于可疑HT 109保持机密。在一些实施例中,内部电路117包括如一个或多个处理器、存储器(包括易失性和/或非易失性)寄存器、逻辑、传感器等电路。
IC 100具有访问端口,通过所述访问端口,与内部电路117相关联的信息可被与HT109相关联的外部电路访问。访问端口可以包括一个或多个常规通道113和一个或多个侧通道111。尽管图1仅示出了单个常规通道和侧通道,但是IC可以包括多个常规通道和/或侧通道。内部电路117提供对输入数据的处理和/或编码108,并产生输出数据。输入数据包括SSD106、PUF数据102和/或应用数据104,所述应用数据104被处理以通过常规通道113提供输出数据(在本文中有时称为“输出通道数据”)。应用数据104可以包括与IC 100的应用在功能上相关联的数据。
设备另外包括学习内部电路117的行为的另外的电路110,所述行为在涉及IC100、SSD 106和应用数据104的不同操作条件下对于IC 100是唯一的。在具体实施例中,另外的电路110是使用启发式技术学习行为的启发式操作电路。通过在阈值时间段内观察内部电路117的一个或多个常规通道113和一个或多个侧通道111来学习行为。通过基于与内部电路117相关联的统计属性或不规则性来改变或调整用于触发监测或记录事件的逻辑操作并观察所得的处理和/或编码108,另外的电路110导致不同的操作条件。
设备和/或另外的电路110可以包括学习中心存储器115,在所述学习中心存储器115处,启发式操作电路110存储从中开发内部电路117的所学习的行为的数据和关联指令112。学习中心存储器115可以另外存储深度学习指令114。另外的电路110使用关联指令112开发内部电路117的所学习的行为,并评估和关联涉及内部电路117在不同操作条件下的操作的统计数据,包括识别内部电路117的输入数据与输出数据之间的关联性。另外的电路110可以使用深度学习指令114来提供反馈数据,如本文另外描述的。另外的电路110使用所提供的反馈数据来学习内部电路117的另外的行为,并由此开发基于启发式的操作。深度学习指令114的执行可以包括或导致用于学习行为并确定相应行为的阈值的不同直方图的创建。
另外的电路110在学习中心存储器115处存储数据,通过基于与内部电路117相关联的统计属性或不规则性来改变或调整用于触发监测或记录事件的逻辑操作,从所述学习中心存储器115中开发内部电路117的所学习的行为。基于所学习的行为,另外的电路110可以检测试图通过端口(如一个或多个常规通道113和/或一个或多个侧通道111)泄漏信息的可疑HT 109。可疑HT 109可以被检测为试图通过内部电路117和/或端口从IC 100传输信息。这种尝试可以与访问存储器的时序操作相关联,如总线地址和控制线的时序。
考虑到未知的特征,行为分析可以基于统计数据。一般而言,由于分析的统计性质,考虑的特征越多,虚警率就越高。对于隐写术和侧通道,给定大约10-50个不同的攻击场景,低于每个场景的阈值虚警率是可接受的;因此,在发出潜在HT警告之前会观察到大量数据。图1示出了基于观察的行为分析的原理。由另外的电路110执行与可能受HT 109影响的内部电路117相关联的过程或模块108的输入数据与输出数据(例如,规则通道113和侧通道111)之间的关联。另外的电路110收集与数据访问时序、读取/写入特殊地址相关的统计数据,这可以揭示SSD 106、未用于另外的处理或存储的读取数据、写入存储器的数据以及写入控制总线的信息(例如,时序和地址)。统计数据用于学习或识别存在的可疑HT 109的置信度。
在各个实施例中,检测HT 109和/或改变IC的操作可以包括使用电源电压来修改PUF数据102。可以使用LDO的微调输入来修改电源电压,并响应于此观察输出数据和/或端口,如通过访问IC 100的随机存取存储器(RAM)中的寄存器来观察。如可以理解的,PUF数据102(例如,1和0和/或唯一密钥的模式)在相同的电源电压下是相同的或至少几乎相同的,并且响应于电源电压的变化而改变。电源电压变化仍在数字corelib单元的限制范围内。这有效地创建了供HT 109使用的克隆PUF,其中RAM是相同的(例如,相同的翻转),而PUF数据102不相同。电源电压在数字模块的允许范围内,但足以产生来自模块的PUF数据102(例如,模式)的可变性。
在各个实施例中,通过进一步使用由学习阶段支持的深度学习过程(例如,执行深度学习指令114)来执行关联,所述学习阶段覆盖多个输入数据、系统设置和用于检测HT的可能的HT模型。观察可以基于输入数据和观察的修改,其中经过修改的输入数据和经过处理的输出数据处于沙箱环境中,所述沙箱环境保护或隔离接收其输入数据的电路不受错误输出收据的影响。在此类实施例中,如本文另外描述的,不同操作条件可以包括使用输入数据的一个或多个修改版本来访问内部电路117,包括SSD 106和/或应用数据104的经过改变的版本。在这方面,沙箱环境是指或包括计算机模块(例如,计算机指令和/或数据,如经过修改的输入数据和响应于经过修改的输入数据的输出数据)和/或与其它专用电路操作隔离的存储器或其它电路。设备通过另外的电路110提供与内部电路117的处理和/或编码108相关联的沙箱环境,使得SSD 106和/或应用数据104的经过改变的版本不会影响IC 100的后来组件,如对内部电路117的输出数据进行操作的电路。
图2是示出根据本公开的以与图1一致的方式实施的类型的设备的示例性活动和/或数据流集合的流程图。例如,活动集合220由电路110执行,并且包括与如图1所示的关联指令112相关联的操作。关联指令包括计算机可执行指令,所述计算机可执行指令在执行时使计算设备的处理器(例如,启发式操作电路)学习内部电路在不同操作条件下的行为。
电路在222处观察常规通道,并且在226处观察侧通道。对常规通道和侧通道的观察可以同时进行,并用于学习内部电路在不同操作条件下的行为。观察是对改变内部操作条件(如改变电源电压)的响应。基于观察并使用关联指令(以及如本文另外描述的任选的深度学习指令),启发式操作电路可以发出可疑HT的警告。例如,执行关联指令以在224处将经过修改的SSD与常规通道数据(例如,输出通道数据)相关联,在228处将经过修改的SSD与侧通道数据相关联,并且响应于关联性超过阈值,在229处发出检测到可疑HT的警告。
图3A-3B示出了根据本公开的包括启发式操作电路的示例设备。更具体地说,图3A所示的启发式操作电路可以向内部电路提供SSD 336和/或应用数据334的一个或多个经过改变的版本,以学习内部电路的行为。通过改变SSD 336和/或应用数据334,可以使用深度学习机制,并且由内部电路处理的经过改变或修改的SSD 336和/或应用数据334被放置在沙箱环境346中,以隔离处理输出数据的电路,从而防止因修改而对来自内部电路的不正确或错误输出数据进行操作。
图3A所示的设备包括具有访问端口(例如,常规通道339和侧通道337)的IC 330,通过所述访问端口,与内部电路相关联的信息可由与HT 349相关联的外部电路访问。内部电路响应于输入数据而提供处理和/或编码338以通过常规通道339提供输出数据,所述输入数据包括SSD 336、PUF数据332和/或应用数据334。
所述设备另外包括学习IC 330的内部电路的行为的启发式操作电路340。在涉及内部电路、SSD 336和与IC 330的应用在功能上相关联的其它数据(例如,应用数据334)的不同操作条件下,所学习的行为对于IC 330是唯一的。如前所述,使用关联指令342和/或深度学习指令344来学习行为。在各个实施例中,启发式操作电路340包括存储器(例如,介质)和处理器,如本文另外描述的。
通过经由LDO 348修改SSD 336和/或应用数据334,以及在一些实施例中修改PUF数据332,与仅在不同操作条件下观察IC 330相比,启发式操作电路340可以更好地学习IC330的行为。如前所述,在此类实施例中,启发式操作电路340将内部电路的处理和/或编码338放置在沙箱环境346中,以将经过修改的输入数据与对来自内部电路的输出数据进行操作的其它电路隔离。这可以防止错误/不正确的输出数据损坏IC 330工作的系统。
深度学习指令344包括计算机可执行指令,所述计算机可执行指令在执行时使计算设备的处理器(例如,图4A的启发式操作电路340)修改输入数据。启发式操作电路340执行深度学习指令344,以使用如门逻辑333、335所示的电路来修改包括SSD 336和/或应用数据334的输入数据。通过修改输入数据,启发式操作电路340可以了解常规通道339和侧通道338如何受到应用数据334和SSD 336的影响。以下是如何修改应用数据334和/或SSD 336的非限制性例子。在各个实施例中,使用深度学习指令344来(临时)反转SSD 336和/或应用数据334的所有位。由于HT中的压缩操作通常是线性的,因此输出也是反相输出信号或信号流。在其它实施例中和/或另外地,使用深度学习指令344将SSD 336和/或应用数据334的所有位(临时)设置为零或一。然后,HT中的压缩操作将所述位压缩成更短的数据流,无论实际外观如何,所述数据流都是可识别的。在具体实施例中,启发式操作电路340使用深度学习指令344来提供反馈数据以修改SSD 336和应用数据334,并且使用关联指令342来将经过修改的SSD 336和/或应用数据334与输出通道数据相关联,如上所述。
图3B示出了根据本公开的包括存储可执行代码的非暂时性计算机可读介质的示例计算设备。根据本文的例子,计算设备包括启发式操作电路,如图3A所示的电路340。计算设备与IC(如图3A所示的IC 330)一起使用,所述IC包括内部电路并且包括访问端口,通过所述访问端口,与内部电路相关联的信息可由与HT相关联的外部电路访问。
计算设备具有处理器351和存储一组指令355和357的计算机可读介质353。计算机可读介质353可以例如包括只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、固态驱动器和/或离散数据寄存器组。在355处,计算设备可以使启发式操作电路学习内部电路的行为。在涉及内部电路、SSD和与IC的应用在功能上相关联的其它数据的不同操作条件下,所述行为对于IC是唯一的。通过观察内部电路的常规通道以获得常规通道数据并观察内部电路的侧通道以获得侧通道数据,并且将SSD或经过修改的SSD与常规通道数据和侧通道数据相关联来学习所述行为。在一些实施例中,计算设备修改SSD(以及任选的其它数据)以生成SSD的经过改变的版本,并且作为响应,观察内部电路的常规通道和侧通道以获得常规通道数据和侧通道数据。计算设备可以进一步将经过修改的SDD与常规通道数据和侧通道数据相关联。如可以理解的,常规通道数据包括来自内部电路的响应于经过修改的SSD的输出数据。侧通道数据包括来自IC的实施方案的信息,如功耗、时序信息和电磁辐射,并且这些信息可以用于推断关于SSD以及输出数据和/或输入数据的信息。例如,在一些情况下,侧通道数据可以用于检索与加密数据相关联的密钥。
在具体实施例中,计算设备使用深度学习指令(以及使用上述关联指令)使启发式操作电路学习内部电路的行为,并为相应的所学习的行为确定不同的阈值。执行深度学习指令以确定多个不同统计观察的概率分布(例如,HT的概率)。例如,概率分布与对外部端口和外部存储器的访问相关联,所述访问聚合成最低有效位(LSB)和第二LSB、对外部端口的两次访问之间的时间间隔、存储器访问的地址差异以及数据读取和/或写入的差异的直方图。
在357处,计算设备使用启发式操作电路所学习的行为来检测或阻止可疑HT,如阻止HT访问IC。在一些例子中,计算设备响应于经过修改的SSD与超过阈值的常规通道数据和侧通道数据的关联性来提供消息或其它类型的指示。所述消息指示试图传输信息的可疑HT的检测。经过修改的SSD可以响应于启发式操作电路的改变和/或基于不同操作条件。计算设备通过提供经过修改的SSD、作为响应观察输出数据以及将处理输出数据的电路与经过修改的(例如,不正确的)输出数据隔离进一步为内部电路和相关处理提供沙箱环境。经过修改的输出数据由内部电路响应于处理经过修改的SSD而输出。在一些具体实施例中,计算机装置响应于检测可疑HT并评估对可疑HT产生的影响而进一步改变电源电压(以修改可能的PUF值)。
图4A-4B示出了根据本公开的包括启发式操作电路的示例设备和设备的示例性活动和/或数据流集合。
更具体地说,图4A示出了使用启发式操作电路478基于修改输入数据和模仿HT来学习内部行为的设备。所述设备包括具有访问端口(例如,常规通道481和侧通道479)的IC470,通过所述访问端口,与内部电路相关联的信息可由与HT相关联的外部电路访问。内部电路响应于输入数据而提供处理和/或编码484以通过常规通道481提供输出数据,所述输入数据包括SSD 476、PUF数据472和/或应用数据474。
启发式操作电路478响应于不同操作条件(如使用如前所述的LDO 477调整的不同电源电压)而观察常规通道481和侧通道479。图4所示的启发式操作电路478可以如通过逻辑门473、475向内部电路提供SSD 476和/或应用数据474的一个或多个经过改变的版本,以进行处理和编码484,并使用关联指令480和深度学习指令482来学习内部电路的行为。内部电路的处理和/或编码484被放置在沙箱环境中,以使电路不对来自内部电路的因输入数据的修改而不正确的输出数据进行操作,如前所述。
深度学习指令482用于识别无监督自学习模式中的关联性,如图3A的设备所示。在自学习模式期间,使用大量数据来检测HT是否正在传输信息。例如,为了确定是否检测到泄漏信息的HT,执行不同操作条件和/或经过修改的输入数据的许多不同的泄漏和非泄漏运行。与图3A的设备相比,通过使用深度学习指令482和与典型泄漏状况(例如,处理SSD 476的例行程序)、典型非泄漏状况(例如,在刚启动之后,使得延迟触发的HT不活跃)、由HT引起的常规通道481的可疑或看似合理的修改、由HT引起的侧通道479的可疑或看似合理的修改以及关于常规通道481和侧通道479的已知的一般统计属性相关的信息,图4A所示的设备减少了运行次数。所述信息可以用于模仿HT 471-1、471-2、471-3、471-N,并将经过模仿的HT471-1、471-2、471-3、471-N放置在IC 470的不同位置。
可以通过模拟IC 470的网表468并通过执行验证过程来执行学习程序,所述学习程序可以是离线的,其中IC 470的不同位置处的不同的经过模仿的HT 471-1、471-2、471-3、471-N依次在深度学习指令482的不同运行中应用。深度学习指令482用于评估包括不同的经过模仿的HT 471-1、471-2、471-3、471-N的经过模拟的网表468的响应。
图4B示出了建立经过模仿的HT(如图4A所示的经过模仿的HT 471-1、471-2、471-3、471-N)的示例流程图490。经过模仿的HT可能具有以下属性:从不活跃切换到活跃以模仿触发HT的行为,修改常规通道和侧通道的行为,放置在IC的不同位置以访问电路的不同输入节点和输出节点,以及修改常规和侧通道的不同操作。如所示出的,在491和492处,输入指示不同HT以及HT、通道、SSD和应用数据的一般规则的信息以模仿HT。使用此信息,在493处,启发式操作电路在具有和不具有经过模仿的HT的情况下学习内部行为。在494处,启发式操作电路在不具有经过模仿的HT的情况下执行验证过程,以在495处提供虚警率。在496处,启发式操作电路在具有经过模仿的HT的情况下执行验证过程,以在497处提供检测率。
执行深度学习指令以学习行为和/或提供反馈,如提供反馈数据以修改SSD和与IC的应用在功能上相关联的其它数据。如在492处所示的多个规则可由深度学习指令实施或与其一起使用以生成指示可疑HT的概率(例如,置信度)的概率分布(如直方图)并确定相应的阈值或速率。深度学习指令可以用于将数据量的预处理/数据缩减(例如,识别常数值、识别不断变化的值)执行到概率分布中。例如,对外部端口和/或对外部存储器(如RAM)的访问可以聚合成示出了两次访问之间的时间间隔的第一直方图、示出了被访问存储器的地址差异的第二直方图、示出了写入或读取数据的差异的第三直方图,以及如LSB和第二LSB的直方图等其它直方图。深度学习指令可以用于执行特征提取。例如,此特征提取可以聚焦于非线性行为,例如,HT可以以相同的方式对秘密数据的小或大变化作出反应——其注意到SSD已经改变,并且试图如在编码SSD之后将其泄漏。在没有活跃的HT的情况下,装置可能根本不会对SSD的变化做出反应,或者如果作出反应,则对SDD的小修改的反应可能与对大修改的反应不同。
对应用于如不具有经过模仿的HT的网表468的多个数据集执行(如在494和496处)验证,以评估和调整虚警率。另外,对如在493处应用于具有经过模仿的HT的网表468且放置在网表468的不同位置的多个数据集执行验证以评估检测率,所述经过模仿的HT不同于训练期间使用的那些经过模仿的HT。许多不同的HT是已知且明确的,公开可用的HT模型总数估计超过1,000个。
在495和497处设置或以其它方式调整虚警率和检测率。由于行为分析的结果不是对检测到的HT行为的硬性“真/假”决定,而是HT行为的可能性,因此可以调整检测阈值,使得虚警率是可接受的。利用此经过调整的阈值评估检测率。
图5A-5B是示出根据本公开的以与图3A和图4A一致的方式实施的类型的设备的示例性活动和/或数据流集合的流程图。
更具体地说,图5A示出了基于观察学习IC的内部电路的行为的示例方法。如所示出的,在552和555处,响应于不同操作条件和/或经过修改的输入数据观察常规通道和侧通道。响应于所述观察,执行深度学习指令,如上文所述,以生成指示可疑HT的概率的概率分布,如直方图。使用常规通道观察(例如,常规通道数据)在553处创建LSB的直方图,并在554处创建第二LSB的直方图。使用侧通道观察(例如,侧通道数据)在556处创建示出了两次访问之间的时间间隔的直方图、在557处创建示出了被访问存储器的地址差异的直方图并且在558处创建示出了读取或写入数据的差异的直方图。在559处,对于每个所创建的直方图,计算平均值、标准偏差和合理阈值并将其用于确定阈值。在各个具体实施例中,在552和555处的观察可以响应于修改SSD或其它输入数据(或者响应于不修改输入数据)。
图5B示出了基于修改检测HT的示例方法560。方法560包括在561处修改SSD。响应于所述修改,在562处观察常规通道,并且在564处观察侧通道。基于所述观察,在563处,经过修改的SSD与常规通道数据相关联,并且在565处,经过修改的SSD与侧通道数据相关联。将所述关联性与一个或多个给定阈值进行比较,并且在566处,响应于关联性超过给定阈值而发出警告。
图6是根据本公开的包括启发式操作电路的示例设备。更具体地说,图6是IC 601的示例实施方案,所述IC 601使用启发式操作电路基于修改输入数据和模仿HT来学习内部电路的内部行为,所述启发式操作电路可以包括中央处理单元(CPU)610或形成中央处理单元(CPU)610的一部分。所述设备包括具有访问端口(例如,常规通道619-1、619-2和侧通道618-1、618-2)的IC 601,通过所述访问端口,与内部电路相关联的信息可由与HT相关联的外部电路访问。内部电路响应于输入数据而提供处理和/或编码616以通过常规通道619-1、619-2提供输出数据,所述输入数据包括SSD 607、PUF数据603和/或应用数据605。
可以包括CPU 610或形成CPU 610的一部分的启发式操作电路响应于不同操作条件观察常规通道619-1、619-2和侧通道618-1、618-2。启发式操作电路可以如通过逻辑门向内部电路提供SSD 607、应用数据605和PUF数据603的一个或多个经过改变的版本,以便处理和编码616从而使用关联指令612(例如,如上所述,例如,结合图2)和深度学习指令614(例如,如上所述,例如,结合图4A-4B)学习内部电路的行为。例如,执行关联指令612以访问输入数据(所述输入数据可以被修改或可以不被修改),访问响应于输入数据的输出数据(例如,通道数据),将输入数据与输出数据相关联并且可选地发出警告。执行深度学习指令614以修改输入数据,基于多个输入数据(包括经过修改的输入数据)、系统设置和用于检测HT的可能的HT模型(例如,创建用于学习行为和确定相应行为的阈值的不同直方图)来学习IC的行为,并且可选地基于所学习的行为提供反馈数据,如对输入数据的另外修改。如所示出的,内部电路的处理和/或编码616被放置在沙箱环境617中,以使电路不对来自内部电路的因输入数据的修改而不正确的输出数据进行操作。
IC的各个示例硬件组件中的每一个都依赖于特定的IC。IC 601示出了一些示例的具体实施方案。在图6所示的实施例中,对SSD 607和应用数据605的修改(如上所述)、关联性、沙箱环境617和HT检测在内部CPU 610上间歇性地运行到应用模式。由深度学习指令614获取的HT检测的细节可以存储在CPU 610的ROM 613中的芯片上。PUF数据603可以包括存储器的通电值、或者不同环形振荡器的频率、或者触发器的初始状态,上述每一个对于每个IC都是唯一的(或者几乎是唯一的),并且每一个都由通过内部LDO 611调节的电源提供,所述内部LDO 611可以通过用户寄存器调整,所述用户寄存器还可被内部CPU 610访问。应用数据605可以由寄存器606提供,例如,可通过SPI外部编程,并且还可被内部CPU 610访问。SSD607(例如,用于数据加密的私钥)可以存储于在生产测试期间编程的OTP 608中。
侧通道618-1、618-2可以包括I/O通道的时序(例如,通过专用计时器电路621以高分辨率测量)和/或通过常规I/O通道传输的数据包的报头。侧通道618-1、618-2还可以和/或可替代地包括模拟值,如可能由HT 615调制以泄漏信息的电源电流;在这种情况下,模拟值可以通过专用模数转换器620进行数字化。常规通道619-1、619-2可以包括通过HSIO接口622发送到其它IC或公共数据总线的数据传输。所述常规通道还可以包括例如通过SPI对用户寄存器623的访问。
上述各种设备可以使用以下可以协同组合的措施的组合,用于在线检测数据泄漏。所述措施包括基于统计的关联性性属性评估,以便基于LSB和第二LSB的统计数据、SSD和应用数据的观察以及与输出数据的关联性、SSD和/或应用数据的修改以及与在沙箱环境中完成处理的输出数据的关联性来检测SSD的隐写泄漏。所述措施另外包括改变电源电压以修改可能的PUF值,并评估对可疑HT产生的影响,以及基于深度学习技术对统计属性和不规则性的评估。
技术人员将认识到,如本说明书(包括权利要求)中使用的各种术语意味着本领域中的普通含义,除非另有说明。作为例子,本说明书以各种电路或电路系统的方式描述和/或示出了对实施所要求保护的公开有用的方面,所述电路或电路系统可以示出为如块、模块、装置、系统、单元、控制器和/或其它电路类型的描绘等术语或使用所述术语示出(例如,图1和3A的附图标记108和346描绘了如本文所描述的块/模块)。这种电路或电路系统与其它元件一起使用以例示可以如何以结构、步骤、功能、操作、活动等的形式进行某些实施例。例如,在上文讨论的实施例中的某些实施例中,一个或多个模块是被配置且被布置成实施这些操作/活动的离散逻辑电路或可编程逻辑电路,如可以结合图3B和/或图5B所描述的方法进行的。在某些实施例中,这种可编程电路是一个或多个计算机电路,包括用于存储和访问将作为一组(或多组)指令被执行(和/或将用作用于限定将如何执行可编程电路的配置数据)的程序的存储器电路系统,并且如本文中描述的操作或过程由可编程电路用来执行相关步骤、功能、操作、活动等。根据应用,指令(和/或配置数据)可以被配置成在逻辑电路系统中实施,其中指令(无论是以目标代码、固件还是软件的形式表征)存储在存储器(电路)中并且可从所述存储器(电路)中访问。
基于以上讨论和说明,本领域技术人员将容易地认识到,可以对各个实施例进行各种修改和改变而不严格遵循本文所示出和描述的示例性实施例和应用。例如,附图中例示的方法可以涉及以各种顺序执行的步骤(其中本文中的实施例的一个或多个方面被保留)或者可以涉及更少或更多的步骤。例如,图1所示的设备可以包括图6所示的电路601。类似地,图3A所示的设备可用于实施本文所示的各种处理,如图2所示的那些处理。此类修改不脱离本公开的各个方面的真实范围,包括权利要求中所示的方面。

Claims (10)

1.一种设备,其特征在于,包括:
集成电路,所述集成电路包括内部电路,所述内部电路具有相对于可疑硬件木马(HT)要保持机密的敏感/秘密数据(SSD),并且所述内部电路包括访问端口,通过所述访问端口,与所述内部电路相关联的信息能被与所述HT相关联的外部电路访问;以及
另外的电路,所述另外的电路用于学习所述内部电路的行为,所述行为在涉及所述内部电路、涉及所述SSD以及涉及与所述集成电路的应用在功能上相关联的其它数据的不同操作条件下对于所述集成电路是唯一的。
2.根据权利要求1所述的设备,其特征在于,所述另外的电路是启发式操作电路,并且所述内部电路的所述行为由所述启发式操作电路通过观察所述内部电路的常规通道和所述内部电路的侧通道来学习。
3.根据权利要求1所述的设备,其特征在于,所述不同操作条件包括使用所述SSD的一个或多个经过改变的版本来访问所述内部电路。
4.根据权利要求1所述的设备,其特征在于,另外包括学习中心存储器,在所述学习中心存储器处,所述另外的电路存储从中开发所述内部电路的所学习的行为的数据以及关联指令。
5.根据权利要求1所述的设备,其特征在于,所述另外的电路包括学习中心存储器和关联指令,所述关联指令用于开发所述内部电路的所述所学习的行为,并评估和关联涉及所述内部电路在不同操作条件下的操作的统计数据。
6.根据权利要求1所述的设备,其特征在于,所述另外的电路包括学习中心存储器和关联指令,所述关联指令用于开发所述内部电路的所述所学习的行为,并评估和关联涉及所述内部电路在不同操作条件下的操作的统计数据,其中所述另外的电路将使用深度学习指令来提供反馈数据,以修改所述SSD和与所述集成电路的所述应用在功能上相关联的所述其它数据。
7.根据权利要求1所述的设备,其特征在于,所述另外的电路将确定以下的概率分布:
最低有效位(LSB)和第二LSB;
对外部端口的两次访问之间的时间间隔;
存储器访问地址的差异;以及
读取或写入数据的差异。
8.根据权利要求1所述的设备,其特征在于,另外包括学习中心存储器,在所述学习中心存储器处,所述另外的电路存储基于与所述内部电路相关联的统计属性或不规则性通过改变或调整用于触发监测或记录事件的逻辑操作从中开发所述内部电路的所述所学习的行为的数据。
9.根据权利要求1所述的设备,其特征在于,所述另外的电路将检测试图通过所述端口传输信息的所述可疑HT。
10.一种非暂时性计算机可读存储介质,其特征在于,为了在集成电路中使用,所述集成电路包括具有敏感/秘密数据(SSD)并且包括访问端口的内部电路,通过所述访问端口,与所述内部电路相关联的信息能被与硬件木马(HT)相关联的外部电路访问,所述非暂时性计算机可读存储介质包括指令,所述指令在被执行时使计算设备的处理器:
使启发式操作电路学习所述内部电路的行为,所述行为在不同操作条件下对于所述集成电路是唯一的,所述不同操作条件涉及:所述内部电路、所述SSD以及与所述集成电路的应用在功能上相关联的其它数据;并且
使用由所述启发式操作电路学习的所述行为来检测可疑HT或阻止可疑HT访问所述集成电路。
CN202010410565.2A 2019-05-21 2020-05-14 涉及用于检测硬件木马的电路的设备和方法 Pending CN111985008A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/417,821 2019-05-21
US16/417,821 US11449611B2 (en) 2019-05-21 2019-05-21 Apparatuses and methods involving a circuit for detecting a hardware-trojan

Publications (1)

Publication Number Publication Date
CN111985008A true CN111985008A (zh) 2020-11-24

Family

ID=69845210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010410565.2A Pending CN111985008A (zh) 2019-05-21 2020-05-14 涉及用于检测硬件木马的电路的设备和方法

Country Status (3)

Country Link
US (1) US11449611B2 (zh)
EP (1) EP3742315B1 (zh)
CN (1) CN111985008A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615609B2 (en) * 2019-07-01 2023-03-28 Axell Corporation Learning apparatus, inferring apparatus, learning method, program, and inferring method
US20210286881A1 (en) * 2020-03-10 2021-09-16 University Of South Florida Graph-Based Approach Towards Hardware Trojan Vulnerability Analysis

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865427B2 (en) 2001-05-30 2011-01-04 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
RU2315438C2 (ru) 2003-07-16 2008-01-20 Скайп Лимитед Одноранговая телефонная система
US9218506B2 (en) * 2013-03-12 2015-12-22 University Of Connecticut Methods and systems for preventing hardware trojan insertion
US10475029B2 (en) 2013-03-15 2019-11-12 Allowify Llc System and method for consumer fraud protection
US20160098558A1 (en) * 2014-10-03 2016-04-07 New York University System, method and computer-accessible medium for security verification of third party intellectual property cores
US9268938B1 (en) * 2015-05-22 2016-02-23 Power Fingerprinting Inc. Systems, methods, and apparatuses for intrusion detection and analytics using power characteristics such as side-channel information collection
US10074580B2 (en) * 2015-06-17 2018-09-11 Northeastern University Method to use on-chip temperature sensors for detection of Trojan circuits
US10303878B2 (en) * 2016-01-22 2019-05-28 Yu-Liang Wu Methods and apparatus for automatic detection and elimination of functional hardware trojans in IC designs
US10719631B2 (en) * 2016-07-27 2020-07-21 Tortuga Logic Inc. Method and system for detecting hardware trojans and unintentional design flaws
US10783248B2 (en) 2017-01-18 2020-09-22 New York University Determining an aspect of behavior of an embedded device such as, for example, detecting unauthorized modifications of the code and/or behavior of an embedded device
US11023623B2 (en) 2018-04-11 2021-06-01 Nxp B.V. Method for triggering and detecting a malicious circuit in an integrated circuit device
US11170106B2 (en) * 2018-05-10 2021-11-09 Robotic Research, Llc System for detecting hardware trojans in integrated circuits
US11270002B2 (en) * 2018-05-14 2022-03-08 University Of Florida Research Foundation, Inc. Hardware trojan detection through information flow security verification
CN108846283B (zh) 2018-06-15 2021-11-02 北京航空航天大学 一种硬件木马实时检测系统及其设计方法
US11681795B2 (en) * 2018-09-28 2023-06-20 Amida Technology Solutions, Inc. Method, system and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in relation to hardware trojans

Also Published As

Publication number Publication date
EP3742315B1 (en) 2023-05-24
EP3742315A1 (en) 2020-11-25
US20200372152A1 (en) 2020-11-26
US11449611B2 (en) 2022-09-20

Similar Documents

Publication Publication Date Title
JP7376593B2 (ja) 人工知能を利用した安全保障システム
US10516533B2 (en) Password triggered trusted encryption key deletion
CN109815698B (zh) 用于执行安全动作的方法和非暂时性机器可读存储介质
US7953980B2 (en) Signed manifest for run-time verification of software program identity and integrity
US9037895B2 (en) System and methods for silencing hardware backdoors
US11586728B2 (en) Methods for detecting system-level trojans and an integrated circuit device with system-level trojan detection
EP3382593B1 (en) Security monitoring agent for field programmable gate array (fpga) in-memory controller
Torres et al. Can data-only exploits be detected at runtime using hardware events? A case study of the Heartbleed vulnerability
US20200134180A1 (en) Enhanced protections against adversarial machine learning threats utilizing cryptography and hardware assisted monitoring in accelerators
CN111985008A (zh) 涉及用于检测硬件木马的电路的设备和方法
Brasser et al. Advances and throwbacks in hardware-assisted security: Special session
Brasser et al. Special session: Advances and throwbacks in hardware-assisted security
Saß et al. Oops..! I Glitched It Again! How to {Multi-Glitch} the {Glitching-Protections} on {ARM}{TrustZone-M}
Taylor et al. Sensor-based ransomware detection
Kumar et al. A comprehensive survey on hardware-assisted malware analysis and primitive techniques
Ozga et al. Chors: Hardening high-assurance security systems with trusted computing
Shila et al. Unraveling the security puzzle: A distributed framework to build trust in FPGAs
Haider et al. HaTCh: Hardware Trojan Catcher.
Hopkins et al. Redirecting DRAM memory pages: Examining the threat of system memory hardware trojans
Kim The impact of platform vulnerabilities in AI systems
Samantray et al. A theoretical feature-wise study of malware detection techniques
CN114556338A (zh) 恶意软件标识
US11822651B2 (en) Adversarial resilient malware detector randomization method and devices
Nasser Securing safety critical automotive systems
Meyers et al. Remote Identification of Neural Network FPGA Accelerators by Power Fingerprints

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