CN112650638A - 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 - Google Patents
一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 Download PDFInfo
- Publication number
- CN112650638A CN112650638A CN202011147803.1A CN202011147803A CN112650638A CN 112650638 A CN112650638 A CN 112650638A CN 202011147803 A CN202011147803 A CN 202011147803A CN 112650638 A CN112650638 A CN 112650638A
- Authority
- CN
- China
- Prior art keywords
- tracking logic
- security
- gate
- pollution
- label tracking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/25—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请公开了一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法,包括:将以硬件描述语言描述的硬件设计综合为门级网表;构建污染标签跟踪逻辑库;基于污染标签跟踪逻辑库和门级网表,建立污染标签跟踪逻辑模型;形式化描述期望信息流安全属性,形成断言;将污染标签跟踪逻辑库、污染标签跟踪逻辑模型和断言作为输入,进行形式化安全验证,得到验证结果;分析验证结果。本申请的方法减少了硬件设计语言和形式化语言之间语句转换所产生的额外设计开销,提高了效率,能够有效地甄别违反信息流安全策略的安全漏洞,具有适用性强的特点,便于与现有的形式化工具相整合,能够以极高的验证覆盖率验证期望的信息流安全属性。
Description
技术领域
本申请涉及硬件检测技术领域,具体涉及一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
背景技术
现有的硬件漏洞检测技术主要包含两个大类:分别为流片前检测技术(Pre-Silicon Detection Technique)和流片后检测技术(Post-Silicon DetectionTechnique)。
流片后检测技术的对象为物理实现的硬件设计,多采用侧信道分析、错误注入等方式检测实现电路中存在的硬件安全漏洞。然而此类方法的缺陷在于不能在硬件的设计早期及时的发现漏洞、解决漏洞。即便是检测出了安全漏洞,也不便于在代码层面反馈设计。
流片前检测技术的出现解决了流片后检测技术的不足。该技术以VHDL等硬件设计语言描述的硬件设计为对象,借助增强型测试方法、代码分析方法以及基于形式化语言的分析方法等方法在硬件设计的设计或验证阶段检测代码中潜在的安全漏洞。增强型测试方法不同于传统的测试方法,多采用特点的测试向量和测试算法提升硬件木马的激活概率。然而,由于硬件木马设计的特殊性决定了普遍适用的测试向量和测试算法往往难以获取。此外,针对特别难以激活的硬件木马,该方法往往望尘莫及。代码分析方法,尤其是符号模型检验的方法能够在缓和状态爆炸问题的基础上,对潜在的硬件木马进行检测。然而该方法并不适用于检测有不平衡条件分支、快速通道等所引发的诸如时间侧信道等的安全漏洞。基于形式化语言的分析方法实则是一种属性证明的形式化验证方法。该方法需要借助形式化语言重写系统和建模系统,在特定的编译器、证明器上通过证明系统行为符合期望属性实现安全漏洞的检测。然而该方法对于操作者的专业素养要求较高,需对形式化语言、模型建模、形式化验证等方面知识具有深入理解。因此,现在亟待研发新的硬件漏洞检测方法。
发明内容
本申请的目的是提供一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法,包括:
将以硬件描述语言描述的硬件设计综合为门级网表;
构建污染标签跟踪逻辑库;
基于所述污染标签跟踪逻辑库和所述门级网表,建立污染标签跟踪逻辑模型;
形式化描述所述期望信息流安全属性,形成断言;
将所述污染标签跟踪逻辑库、所述污染标签跟踪逻辑模型和所述断言作为输入,进行形式化安全验证,得到验证结果;
分析所述验证结果。
进一步地,所述以所述污染标签跟踪逻辑库、所述污染标签跟踪逻辑模型和所述断言为输入,进行形式化安全验证,包括:以所述污染标签跟踪逻辑库作为逻辑解析库文件,以所述污染标签跟踪逻辑模型作为安全验证电路,以所述断言作为期望验证的信息流安全属性,输入电子设计自动化验证工具进行形式化安全验证。
进一步地,所述输入还包括所述安全验证电路的已知输入状态。
进一步地,所述分析所述验证结果,包括:若与所有输出相关的断言皆是可证明的,那么被测的硬件描述语言设计不存在违反信息流安全策略的安全漏洞;反之,被测的硬件描述语言设计存在违反信息流安全策略的安全漏洞。
进一步地,所述基于所述污染标签跟踪逻辑库和所述门级网表,建立污染标签跟踪逻辑模型,包括:
通过离散映射,将所述门级网表中的信号声明、语句逐个映射到所述污染标签跟踪逻辑库,获得相应的污染标签跟踪逻辑模型。
进一步地,所述进行形式化安全验证,包括所述污染标签跟踪逻辑模型执行期望信息流安全属性验证;所述污染标签跟踪逻辑模型执行期望信息流安全属性验证,包括静态方式和动态方式;
所述静态方式包括在设计或测试阶段以测试或形式化方式捕捉有害信息流;
所述动态方式包括将物理实现的信息流跟踪逻辑集成到硬件的安全机制中,在硬件运行过程中实时监控信息流。
根据本申请实施例的另一个方面,提供一种基于门级污染标签跟踪模型的硬件安全漏洞检测装置,包括:
综合模块,用于将以硬件描述语言描述的硬件设计综合为门级网表;
构建模块,用于构建污染标签跟踪逻辑库;
建模模块,用于基于所述污染标签跟踪逻辑库和所述门级网表,建立污染标签跟踪逻辑模型;
描述模块,用于形式化描述所述期望信息流安全属性,形成断言;
验证模块,用于将所述污染标签跟踪逻辑库、所述污染标签跟踪逻辑模型和所述断言作为输入,进行形式化安全验证,得到验证结果;
分析模块,用于分析所述验证结果。
进一步地,所述建模模块,具体用于通过离散映射,将所述门级网表中的信号声明、语句逐个映射到所述污染标签跟踪逻辑库,获得相应的污染标签跟踪逻辑模型。
根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法,将以硬件描述语言描述的硬件设计综合为门级网表,基于污染标签跟踪逻辑库和门级网表建立污染标签跟踪逻辑模型,基于污染标签跟踪逻辑库、污染标签跟踪逻辑模型以及形式化描述期望信息流安全属性形成的断言进行形式化安全验证,以检测安全漏洞,避免了学习形式化语言所附加的困难,减少了硬件设计语言和形式化语言之间语句转换所产生的额外设计开销,提高了效率,能够有效地甄别违反信息流安全策略的安全漏洞,具有适用性强的特点,便于与现有的自动化、半自动化的形式化工具相整合,能够以极高的验证覆盖率验证期望的信息流安全属性。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请的一个实施方式的基于门级污染标签跟踪模型的硬件安全漏洞检测方法流程图;
图2示出了本申请的一实施方式中的两输入与门的污染标签跟踪逻辑图;
图3示出了本申请的一实施方式中的静态验证的流程图;
图4示出了本申请的另一实施方式的基于门级污染标签跟踪模型的硬件安全漏洞检测方法流程图;
图5示出了本申请的另一个实施例的基于门级污染标签跟踪模型的硬件安全漏洞检测装置结构框图;
图6示出了本申请的另一个实施例的电子设备结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请的一个实施例提供了一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
本实施例提供的硬件安全漏洞检测方法属于一种逻辑门层级的硬件安全漏洞检测方法,本实施例的硬件安全漏洞检测方法分别提供了一个在逻辑门层次建模硬件电路以及验证期望信息流安全属性的方法。本实施例提供的硬件安全漏洞检测方法主要包含六个主要步骤:硬件设计综合与门级网表生成、污染标签跟踪逻辑库的构建、HDL硬件设计的IFT建模、信息流安全属性的形式化描述、形式化安全验证以及验证结果分析。
信息流分析技术是近年来研究的最新成果。该技术的优势在于能够借助信息流良好的数学特性建模硬件设计,能够捕捉系统内所有的逻辑信息流(包含由时间侧信道引发的时间信息流)。此外,该方法可与模型检验或定理证明等形式化验证方法相整合,通过验证期望信息流安全属性,实现检测违反信息流安全策略的安全漏洞。
具体地,如图1所示,本申请实施例提供的基于门级污染标签跟踪模型的硬件安全漏洞检测方法,包括以下步骤:
步骤1:硬件设计综合与门级网表生成。
将以硬件描述语言(Hardware Description Language,HDL)描述的硬件设计综合为标准的门级网表。其中,综合工具选用了业界广泛使用的Synopsys Design Complier(即Synopsys设计编译器,简称DC)。门级网表是硬件设计的门级描述,具体地给出了模块名称、输入输出端口的定义、内部信号的定义、实例的逻辑门、寄存器等逻辑元件。
步骤2:污染标签跟踪逻辑库的构建。
污染标签跟踪逻辑是安全标签传播规则的具体实现,是不同逻辑元件的安全标签传播规则的verilog描述。在该库中,诸如二输入与门、二输入的或门、非门、D触发器等基本逻辑元件都依照相应的安全标签传播规则被构造为用于传播污染标签的污染标签跟踪逻辑。
考虑一个原始逻辑函数f:{A1,A2,…,An}→O,其中A1,A2,…,An来表示f的输入,O表示f的输出,且输入输出的取值范围为{0,1},分别表示逻辑高电平和逻辑低电平。
分别为输入输出分配一位的污染标签用以表示该数据的安全级别,那么可以得到一个安全标签传播逻辑函数sh(f):{A1,A2,…,An,a1,a2,…,an}→ot,其中a1,a2,…,an,ot依次为A1,A2,…,An,O的安全标签,且取值范围也被定义为{0,1}。从信息完整性的角度,标签值为0表示了被标记的数据是可信的、非污染的;而标签值为1则表示了被标记的数据是不可信的、污染的。从信息机密性的角度,标签值为0表示了被标记的数据是非敏感的、非污染的;而标签值为1则表示了被标记的数据是敏感的、污染的。将污染标签从输入传递给输出的过程称之为污染。输入对输出的污染是依据污染标签传播策略,考虑输入逻辑值以及输入标签对输出的影响。当一个污染输入对输出存在影响时,那么该输入则将其标签传播至输出。
为了更好的理解污染标签传播规则和污染标签跟踪逻辑的构造过程,考虑一个两输入的与门,AND:{A,B}→O,其中A,B,O分别表示输入和输出。分别为其输入、输出分配污染标签,则污染标签跟踪逻辑可表示为sh(AND):{A,B,at,bt}→ot,其中at,bt,ot依次为A,B,O的污染标签。显然,当输入都未受污染的情况下,输出必然是未污染的;而当两输入皆为污染的,污染的输入必然影响输出,导致输出的污染。为此,这里仅讨论有且仅有一个污染输入的情况。
当两输入都为逻辑0时,且有且仅有一个输入是污染的,污染的输入不会影响输出,输出必然是未污染的。例如,考虑一组输入sh(AND):{A=0,B=0,at=1,bt=0},其中输入A是受污染。由于受到输入B的影响,即便污染的输入A发生变化(A:0→1)也不会改变输出O的值。因此,输出O为未污染的,即ot=0。
当两输入不同时,且未污染的输入的逻辑值为1,那么污染的输入必然会影响输出,导致输出的污染。例如,考虑一组输入sh(AND):{A=0,B=1,at=1,bt=0},其中输入A是受污染。若污染的输入A发生变化(A:0→1),输出O必然发生变化(O:0→1),导致输出O的污染,即ot=1。
当两输入不同时,且未污染的输入的逻辑值为0,那么污染的输入不会影响输出,导致输出污染。例如,考虑一组输入sh(AND):{A=0,B=1,at=0,bt=1},由于受到输入A的影响,即便污染的输入B发生变化(B:0→1),也不会改变输出O的值。因此,输出O为未污染的,即ot=0。
当两输入都为逻辑1时,且有且仅有一个输入是污染的,污染的输入必然影响到输出,导致输出的污染。例如,考虑一组输入sh(AND):{A=1,B=1,at=1,bt=0},其中输入A是受污染。若污染的输入A发生变化(A:0→1),输出O必然发生变化(O:1→0),导致输出O的污染,即ot=1。
综上所述,两输入与门的污染标签传播规则可以表示为以下公式:
按照该公式,两输入与门的污染标签跟踪逻辑可以表示为图2所示的结构。
该结构直观反映了两输入与门及其污染标签跟踪逻辑的逻辑结构。通过将其结构以HDL进行描述,即可得到一个实例的污染标签跟踪逻辑库。同样按照以上类似步骤,可进一步推断两输入或门、单输入非门、D触发器等逻辑元件的污染标签跟踪逻辑,使得构造了一个最小功能完备的污染标签跟踪逻辑库。该库能够整合到代码转换工具和EDA工具中,可分别用于模型建模和代码分析。
步骤3:HDL硬件设计的IFT建模。
基于污染标签跟踪逻辑库和门级网表,建立污染标签跟踪逻辑模型。在构造污染标签跟踪逻辑库基础上,本申请实施例设计了一种构造法用于将原始HDL设计建模为用于执行期望信息流安全属性验证的污染标签跟踪逻辑模型。构造法的原理是离散映射,通过将门级网表中的信号声明、语句逐个映射到污染标签跟踪逻辑库,从而获得相应的污染标签跟踪逻辑模型。为便于理解,以一个1位的全加法器为例。该全加法器的门级网表中包含,几个信号的声明、五个AND-2门、三个OR-2门和一个IV门。映射的具体过程如下:
(1)为信号列表中的信号(input类型信号、output类型信号、wire类型信号)分配污染标签,且将其声明为相应的信号类型。
(2)将网表中的五个AND-2门、三个OR-2门和一个IV门映射至污染标签跟踪逻辑库,获得描述相应污染标签跟踪逻辑的语句。
(3)将声明的信号、标签、污染标签跟踪逻辑的语句一同写入到HDL模块中,即可构成污染标签跟踪逻辑模型。
本申请实施例所采用的映射方法具有线性时间复杂度,可在线性时间内为任意规模的HDL设计构造污染标签跟踪逻辑模型。
信息流跟踪(IFT)的核心思想是跟踪机制:为系统的每个数据分配一个用以表征该数据的安全级别的标签,称之为安全标签,同时在原系统的数据运算单元之外构造一个额外的安全标签传播电路;伴随数据的运算,安全标签在安全标签传播电路之上,以输入数据、输入数据的标签为当前操作数,按照一定的运算法则(标签传播策略)计算输出数据的安全标签。IFT可具体应用于不同的抽象层次,如程序语言层、编译器层、操作系统层、虚拟机层、硬件层、数据库层面、体系架构层等。在每个抽象层次中,IFT可以静态或动态方式实现信息流分析。其中,动态IFT跟踪是指对源系统做IFT逻辑的实例化处理,即将物理实现的IFT逻辑集成到原系统的安全机制中,在硬件系统运行过程中实时监控系统中信息流。虽然动态IFT能够实时捕捉运行时的有害信息流,但是物理化IFT逻辑、额外的用于状态复位的电路必然会导致系统的规模和开销的增长。
静态方式是指在设计或测试阶段以测试或形式化方式捕捉有害信息流的方法。其特点是验证完毕后,可剔除IFT跟踪逻辑,而无需物理实现,因此能够极大地降低系统开销和电路规模。静态测试是指采用仿真测试手段,在给定测试激励的情况下,观测输入变动对于输出标签的影响。对于电路规模小、端口数量少的硬件设计,采用静态测试方法通常是有效的。然而,对于电路规模大,端口数量多的硬件设计,采用静态测试方法往往不能满足应有的测试覆盖率。静态验证是一种形式化的验证方法。该方法解决了静态测试所有的弊端。图3为静态验证的主要流程,总体上包含功能验证、IFT建模和验证三个重要环节。其中,功能验证用于确保所设计的硬件设计是否满足功能需求,即功能完整和功能正确;IFT建模用于为原始设计构造IFT逻辑,生成可用于执行信息流安全属性验证的IFT模型;验证是指使用形式化工具验证IFT模型的期望信息流安全属性。若期望信息流安全属性验证失败表明设计中存在违反信息流安全策略的有害信息流,反之,若所有期望信息流安全属性证明成功,则表明设计是安全的。
步骤4:信息流安全属性的形式化描述。
期望的信息流安全属性是安全规范或安全需求的抽象,以断言的形式进行描述。验证人员首先根据设计的安全规范或安全需求将硬件设计进行不同的安全级别的区域划分。从机密性角度,机密/敏感的数据标记为1,可公开的数据标记为0;从完整性角度,将不可信标记为1,可信数据标记为0。在信息流安全策略中,敏感的数据不能流向公开的区域;不可信的数据不能影响可信的区域。例如,一个加密系统的污染标签跟踪逻辑模型Circuit:{text,key,clk,textt,keyt}→{Cipher,Ciphert,ready,readyt},其中text、key、Cipher和ready分别是输入明文、输入密钥、输出密文、其它信号,textt、keyt、Ciphert和readyt是它们的时间标签。根据信息流安全策略,密钥为关键部分需要严格保密,应被标记为机密的密钥(keyt=1),且不能流向除密文端口外的其他端口ready。为此,可以定义一个断言用于验证该系统的安全属性,其断言如下所示:
Property Circuit-ready:
@(posedge clk)
readyt==0;
endproperty
步骤5:形式化安全验证。
将污染标签跟踪逻辑库、污染标签跟踪逻辑模型和断言作为输入,进行形式化安全验证,得到验证结果。
本申请实施例的安全验证输入包括:
1)以步骤2中所生成的污染标签跟踪逻辑库作为本申请实施例所采用的逻辑解析库文件;
2)以步骤3中所生成的污染标签跟踪逻辑模型,作为本申请实施例所采用的安全验证电路;
3)以步骤4中所生成的断言,作为期望验证的信息流安全属性;
4)以已知的安全验证电路输入状态,作为安全验证的约束条件,有利于缩小状态空间搜索的规模,但该输入属于可选输入;
本申请实施例采用EDA(电子设计自动化)验证工具(如Mentor Graphics QuestaFormal),在上述验证输入的基础上进行形式化验证。
在某些实施方式中,进行形式化安全验证,包括污染标签跟踪逻辑模型执行期望信息流安全属性验证;污染标签跟踪逻辑模型执行期望信息流安全属性验证,包括静态方式和动态方式;
静态方式包括在设计或测试阶段以测试或形式化方式捕捉有害信息流;
动态方式包括将物理实现的信息流跟踪逻辑集成到硬件的安全机制中,在硬件运行过程中实时监控信息流。
步骤6:验证结果分析。
验证过程完全是自动化的,如若证明失败则会停机并提供搜索到的反例。在步骤5中,若模型所有输出都满足信息流安全策略,即与所有输出相关的断言皆是可证明的,那么被测的HDL设计不存在违反信息流安全策略的安全漏洞,反之,被测的HDL设计存在违反信息流安全策略的安全漏洞。
本实施例的某些实施方式提供的基于门级污染标签跟踪模型的硬件安全漏洞检测方法的流程如图2所示。
本申请实施例的方法基于信息流分析技术,与现有技术相比,优势在于:
1)能够利用硬件底层(即逻辑门抽象层次)上丰富的时序信息和逻辑信息,因而能够捕捉所有的功能流和时间流,特别是由硬件木马、时间侧信道所引发的有害功能流和时间信息流;
2)具有适用性强的特点,非常便于与现有的自动化、半自动化的形式化工具相整合,能够以极高的验证覆盖率,验证期望的信息流安全属性;
3)所采用的污染标签和标签传播算法(策略)使得在验证和测试过程中,无需关注污染输入向量的逻辑值,减少了需要搜索的状态空间;
4)除可满足静态验证的诉求,还可满足动态监控的诉求;通过将追踪电路与原始电路一同物理实现,即可动态监控系统内动态偶发的有害信息流。
5)可部署于硬件设计和验证阶段,能够以标准硬件描述语言建模HDL设计和业界广泛使用的EDA验证工具验证模型的期望信息流安全属性,有效地避免了学习新的形式化语言,减少了硬件设计语言和形式化语言之间语句转换所产生的额外设计开销,提高验证效率。
本申请实施例的硬件安全漏洞检测方法提供了门级污染标签跟踪逻辑模型以及端对端的形式化验证方法。门级污染标签跟踪逻辑模型的构造,决定了本申请实施例的硬件安全漏洞检测方法的先进性。
标签传播策略和标签传播规则:标签传播策略总体规定了标签传递方式,标签传播规则具体的描述了相应的门级污染标签跟踪逻辑结构。在二者作用下,所构造的门级污染标签跟踪逻辑模型能够精确捕捉系统内的信息流。
门级污染标签跟踪逻辑库是构造门级污染标签跟踪逻辑模型的基本元素。
以逻辑映射为根本的门级污染标签跟踪逻辑模型构造法保证了任意设计可在线性时间内生成为相应的门级污染标签跟踪逻辑模型。
端对端的形式化验证方法的优势在于能够提供明确的证明在该路径下是否存在有害的信息流,为设计反馈提供了便利。
本申请实施例的硬件安全漏洞检测方法可部署于硬件设计和验证的早期,可及时地检测安全漏洞,反馈设计。
本申请实施例的硬件安全漏洞检测方法是在门级抽象层次的,能够利用硬件底层丰富的时序信息和细节信息,因而可以捕捉系统内所有的逻辑信息流(显示流、间接流、隐式流)。
本申请实施例的硬件安全漏洞检测方法的IFT模型与现有RTL级的IFT模型相比,采用了精确的标签传播策略而不是保守的标签传播策略,因而能够精确的捕捉实际存在的信息流,避免了误报。
本申请实施例的硬件安全漏洞检测方法的IFT模型是位于门级抽象层次的,因而无需考虑RTL级硬件设计代码中的复杂语法,极大地降低了IFT模型的设计复杂度。
本申请实施例的硬件安全漏洞检测方法,将门级污染标签跟踪逻辑模型与模型检验技术相结合,提供了一种通过自动化验证期望信息流安全属性检测安全漏洞的方法,避免了学习形式化语言所附加的困难,减少了硬件设计语言和形式化语言之间语句转换所产生的额外设计开销,提高了效率。
本申请实施例的硬件安全漏洞检测方法所设计的IFT模型及端对端的的形式化验证方法能够有效地甄别违反信息流安全策略的安全漏洞,特别是具有高隐蔽性的硬件木马和时间侧信道。
如图5所示,本申请的另一个实施例提供了一种基于门级污染标签跟踪模型的硬件安全漏洞检测装置,包括:
综合模块10,用于将以硬件描述语言描述的硬件设计综合为门级网表;
构建模块20,用于构建污染标签跟踪逻辑库;
建模模块30,用于基于污染标签跟踪逻辑库和门级网表,建立污染标签跟踪逻辑模型;
描述模块40,用于形式化描述期望信息流安全属性,形成断言;
验证模块50,用于将污染标签跟踪逻辑库、污染标签跟踪逻辑模型和断言作为输入,进行形式化安全验证,得到验证结果;
分析模块60,用于分析验证结果。
在某些实施方式中,建模模块30具体用于通过离散映射,将门级网表中的信号声明、语句逐个映射到污染标签跟踪逻辑库,获得相应的污染标签跟踪逻辑模型。
在某些实施方式中,验证模块50,具体用于:以污染标签跟踪逻辑库作为逻辑解析库文件,以污染标签跟踪逻辑模型作为安全验证电路,以断言作为期望验证的信息流安全属性,输入电子设计自动化验证工具进行形式化安全验证。
在某些实施方式中,输入还包括安全验证电路的已知输入状态。
在某些实施方式中,分析模块60具体用于:若与所有输出相关的断言皆是可证明的,那么被测的硬件描述语言设计不存在违反信息流安全策略的安全漏洞;反之,被测的硬件描述语言设计存在违反信息流安全策略的安全漏洞。
在某些实施方式中,由验证模块50所执行的进行形式化安全验证的步骤,包括污染标签跟踪逻辑模型执行期望信息流安全属性验证;污染标签跟踪逻辑模型执行期望信息流安全属性验证,包括静态方式和动态方式;
静态方式包括在设计或测试阶段以测试或形式化方式捕捉有害信息流;
动态方式包括将物理实现的信息流跟踪逻辑集成到硬件的安全机制中,在硬件运行过程中实时监控信息流。
本申请的另一个实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述任一实施方式的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。如图6所示,在某些实施方式中,电子设备70可以包括:处理器700、存储器701、总线702和通信接口703,处理器700、通信接口703和存储器701通过总线702连接;存储器701中存储有可在处理器700上运行的计算机程序,处理器700运行计算机程序时执行本申请前述任一实施方式所提供的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
本申请的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一实施方式的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。该计算机可读存储介质的例子可以包括,但不限于光盘、相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质等。
需要说明的是:
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法,其特征在于,包括:
将以硬件描述语言描述的硬件设计综合为门级网表;
构建污染标签跟踪逻辑库;
基于所述污染标签跟踪逻辑库和所述门级网表,建立污染标签跟踪逻辑模型;
形式化描述所述期望信息流安全属性,形成断言;
将所述污染标签跟踪逻辑库、所述污染标签跟踪逻辑模型和所述断言作为输入,进行形式化安全验证,得到验证结果;
分析所述验证结果。
2.根据权利要求1所述的方法,其特征在于,所述以所述污染标签跟踪逻辑库、所述污染标签跟踪逻辑模型和所述断言为输入,进行形式化安全验证,包括:以所述污染标签跟踪逻辑库作为逻辑解析库文件,以所述污染标签跟踪逻辑模型作为安全验证电路,以所述断言作为期望验证的信息流安全属性,输入电子设计自动化验证工具进行形式化安全验证。
3.根据权利要求2所述的方法,其特征在于,所述输入还包括所述安全验证电路的已知输入状态。
4.根据权利要求1所述的方法,其特征在于,所述分析所述验证结果,包括:若与所有输出相关的断言皆是可证明的,那么被测的硬件描述语言设计不存在违反信息流安全策略的安全漏洞;反之,被测的硬件描述语言设计存在违反信息流安全策略的安全漏洞。
5.根据权利要求1所述的方法,其特征在于,所述基于所述污染标签跟踪逻辑库和所述门级网表,建立污染标签跟踪逻辑模型,包括:
通过离散映射,将所述门级网表中的信号声明、语句逐个映射到所述污染标签跟踪逻辑库,获得相应的污染标签跟踪逻辑模型。
6.根据权利要求1所述的方法,其特征在于,所述进行形式化安全验证,包括所述污染标签跟踪逻辑模型执行期望信息流安全属性验证;所述污染标签跟踪逻辑模型执行期望信息流安全属性验证,包括静态方式和动态方式;
所述静态方式包括在设计或测试阶段以测试或形式化方式捕捉有害信息流;
所述动态方式包括将物理实现的信息流跟踪逻辑集成到硬件的安全机制中,在硬件运行过程中实时监控信息流。
7.一种基于门级污染标签跟踪模型的硬件安全漏洞检测装置,其特征在于,包括:
综合模块,用于将以硬件描述语言描述的硬件设计综合为门级网表;
构建模块,用于构建污染标签跟踪逻辑库;
建模模块,用于基于所述污染标签跟踪逻辑库和所述门级网表,建立污染标签跟踪逻辑模型;
描述模块,用于形式化描述所述期望信息流安全属性,形成断言;
验证模块,用于将所述污染标签跟踪逻辑库、所述污染标签跟踪逻辑模型和所述断言作为输入,进行形式化安全验证,得到验证结果;
分析模块,用于分析所述验证结果。
8.根据权利要求7所述的装置,其特征在于,所述建模模块,具体用于通过离散映射,将所述门级网表中的信号声明、语句逐个映射到所述污染标签跟踪逻辑库,获得相应的污染标签跟踪逻辑模型。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-6中任一所述的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以实现如权利要求1-6中任一所述的基于门级污染标签跟踪模型的硬件安全漏洞检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011147803.1A CN112650638B (zh) | 2020-10-23 | 2020-10-23 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011147803.1A CN112650638B (zh) | 2020-10-23 | 2020-10-23 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650638A true CN112650638A (zh) | 2021-04-13 |
CN112650638B CN112650638B (zh) | 2022-01-04 |
Family
ID=75346963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011147803.1A Active CN112650638B (zh) | 2020-10-23 | 2020-10-23 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650638B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663467A (zh) * | 2023-07-27 | 2023-08-29 | 北京开源芯片研究院 | 断言等效硬件库的构建方法、装置、电子设备及存储介质 |
CN117375792A (zh) * | 2023-02-24 | 2024-01-09 | 华为技术有限公司 | 侧信道检测的方法和装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321840B2 (en) * | 2007-12-27 | 2012-11-27 | Intel Corporation | Software flow tracking using multiple threads |
CN104766012A (zh) * | 2015-04-09 | 2015-07-08 | 广东电网有限责任公司信息中心 | 基于动态污点追踪的数据安全动态检测方法及系统 |
CN105117336A (zh) * | 2015-08-26 | 2015-12-02 | 中国科学院软件研究所 | 一种动态标记处理控制依赖的方法 |
US9300690B2 (en) * | 2013-07-03 | 2016-03-29 | Red Hat, Inc. | Secure network labeling to control inter-process communications in a multi-tenant platform-as-a-service (PaaS) system |
US20190102563A1 (en) * | 2017-10-02 | 2019-04-04 | Regents Of The University Of Minnesota | Gate-level information flow security |
CN109711159A (zh) * | 2018-11-26 | 2019-05-03 | 北京计算机技术及应用研究所 | 一种基于信息流的ip核rtl级代码安全漏洞检测方法 |
US20190171476A1 (en) * | 2013-08-20 | 2019-06-06 | Teleputers, Llc | System and Method for Self-Protecting Data |
CN110096907A (zh) * | 2019-04-09 | 2019-08-06 | 西北工业大学深圳研究院 | 一种基于信息流安全验证的硬件木马检测方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
US20190286763A1 (en) * | 2018-03-14 | 2019-09-19 | The Regents Of The University Of California | Techniques for improving security of circuitry designs based on a hardware description language |
CN110414277A (zh) * | 2018-04-27 | 2019-11-05 | 北京大学 | 基于多特征参数的门级硬件木马检测方法 |
US10719631B2 (en) * | 2016-07-27 | 2020-07-21 | Tortuga Logic Inc. | Method and system for detecting hardware trojans and unintentional design flaws |
-
2020
- 2020-10-23 CN CN202011147803.1A patent/CN112650638B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321840B2 (en) * | 2007-12-27 | 2012-11-27 | Intel Corporation | Software flow tracking using multiple threads |
US9300690B2 (en) * | 2013-07-03 | 2016-03-29 | Red Hat, Inc. | Secure network labeling to control inter-process communications in a multi-tenant platform-as-a-service (PaaS) system |
US20190171476A1 (en) * | 2013-08-20 | 2019-06-06 | Teleputers, Llc | System and Method for Self-Protecting Data |
CN104766012A (zh) * | 2015-04-09 | 2015-07-08 | 广东电网有限责任公司信息中心 | 基于动态污点追踪的数据安全动态检测方法及系统 |
CN105117336A (zh) * | 2015-08-26 | 2015-12-02 | 中国科学院软件研究所 | 一种动态标记处理控制依赖的方法 |
US10719631B2 (en) * | 2016-07-27 | 2020-07-21 | Tortuga Logic Inc. | Method and system for detecting hardware trojans and unintentional design flaws |
US20190102563A1 (en) * | 2017-10-02 | 2019-04-04 | Regents Of The University Of Minnesota | Gate-level information flow security |
US20190286763A1 (en) * | 2018-03-14 | 2019-09-19 | The Regents Of The University Of California | Techniques for improving security of circuitry designs based on a hardware description language |
CN110414277A (zh) * | 2018-04-27 | 2019-11-05 | 北京大学 | 基于多特征参数的门级硬件木马检测方法 |
CN109711159A (zh) * | 2018-11-26 | 2019-05-03 | 北京计算机技术及应用研究所 | 一种基于信息流的ip核rtl级代码安全漏洞检测方法 |
CN110096907A (zh) * | 2019-04-09 | 2019-08-06 | 西北工业大学深圳研究院 | 一种基于信息流安全验证的硬件木马检测方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
Non-Patent Citations (8)
Title |
---|
MAOYUANQIN: "Theorem proof based gate level information flow tracking for hardware security verification", 《COMPUTERS & SECURITY》 * |
WEI HU: "Detecting Hardware Trojans with Gate-Level Information-Flow Tracking", 《COMPUTER ( VOLUME: 49, ISSUE: 8, AUG. 2016)》 * |
WEI HU: "On the Complexity of Generating Gate Level Information Flow Tracking Logic", 《 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY ( VOLUME: 7, ISSUE: 3, JUNE 2012)》 * |
WEI HU: "Theoretical analysis of gate level information flow tracking", 《DESIGN AUTOMATION CONFERENCE》 * |
WEI HU: "Theoretical Fundamentals of Gate Level Information Flow Tracking", 《 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS ( VOLUME: 30, ISSUE: 8, AUG. 2011)》 * |
YU TAI: "Gate Level Information Flow analysis for multi-valued logic system", 《2017 2ND INTERNATIONAL CONFERENCE ON IMAGE, VISION AND COMPUTING (ICIVC)》 * |
YU TAI: "Towards Quantified Data Analysis of Information Flow Tracking for Secure System Design", 《IEEE ACCESS ( VOLUME: 6)》 * |
胡伟: "基于门级信息流分析的安全体系架构设计", 《电子科技大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117375792A (zh) * | 2023-02-24 | 2024-01-09 | 华为技术有限公司 | 侧信道检测的方法和装置 |
CN116663467A (zh) * | 2023-07-27 | 2023-08-29 | 北京开源芯片研究院 | 断言等效硬件库的构建方法、装置、电子设备及存储介质 |
CN116663467B (zh) * | 2023-07-27 | 2023-11-10 | 北京开源芯片研究院 | 断言等效硬件库的构建方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112650638B (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719631B2 (en) | Method and system for detecting hardware trojans and unintentional design flaws | |
US9824243B2 (en) | Model-based runtime detection of insecure behavior for system on chip with security requirements | |
Guo et al. | Scalable SoC trust verification using integrated theorem proving and model checking | |
Fern et al. | Hardware Trojans hidden in RTL don't cares—Automated insertion and prevention methodologies | |
Yasaei et al. | Hardware trojan detection using graph neural networks | |
CN112650638B (zh) | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 | |
US11663382B1 (en) | Systems and methods for hardware trojan detection and mitigation | |
Paria et al. | Divas: An llm-based end-to-end framework for soc security analysis and policy-based protection | |
Pundir et al. | Secure high-level synthesis: Challenges and solutions | |
Salmani et al. | Trusted Digital Circuits | |
Kwon et al. | Proving flow security of sequential logic via automatically-synthesized relational invariants | |
Li | Formal methods for reverse engineering gate-level netlists | |
Kibria et al. | Arc-fsm-g: Automatic security rule checking for finite state machine at the netlist abstraction | |
Cruz et al. | A machine learning based automatic hardware trojan attack space exploration and benchmarking framework | |
Lylina et al. | Security preserving integration and resynthesis of reconfigurable scan networks | |
Xie et al. | The Dark Side: Security and Reliability Concerns in Machine Learning for EDA | |
Ardeshiricham | Verification and Synthesis of Information Flow Secure Hardware Designs | |
Nair et al. | Netlist Whisperer: AI and NLP Fight Circuit Leakage! | |
Paria et al. | DiSPEL: Distributed Security Policy Enforcement for Bus-based SoC | |
Wang | SAT based abstraction refinement for hardware verification | |
Meza et al. | Information Flow Coverage Metrics for Hardware Security Verification | |
Ayalasomayajula et al. | Prioritizing Information Flow Violations: Generation of Ranked Security Assertions for Hardware Designs | |
Bhandari et al. | SENTAUR: Security EnhaNced Trojan Assessment Using LLMs Against Undesirable Revisions | |
Subramanyan | Deriving abstractions to address hardware platform security challenges | |
Farahmandi et al. | CAD for High-Level Synthesis |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |