CN112069501A - Fpga嵌入式终端设备比特流攻击检测方法、装置及电子设备 - Google Patents
Fpga嵌入式终端设备比特流攻击检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112069501A CN112069501A CN202011248152.5A CN202011248152A CN112069501A CN 112069501 A CN112069501 A CN 112069501A CN 202011248152 A CN202011248152 A CN 202011248152A CN 112069501 A CN112069501 A CN 112069501A
- Authority
- CN
- China
- Prior art keywords
- bit stream
- attack
- stream attack
- feature set
- data
- 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
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种FPGA嵌入式终端设备比特流攻击检测方法、装置及电子设备,该方法包括:获取所述FPGA嵌入式终端设备接收到的比特流数据的镜像数据;确定数据帧切分粒度,并基于所述切分粒度对所述镜像数据进行切分,以得到多个数据帧;基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集;基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测。该方法可以提高FPGA嵌入式终端设备比特流攻击的检出率。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种FPGA嵌入式终端设备比特流攻击检测方法、装置及电子设备。
背景技术
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)是一种大规模可编程数字集成电路,能够被终端用户再编程实现所需数字系统的半导体设备。它是作为ASIC(Application-specific Integrated Circuit,专用集成电路)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,同时具有上市时间短、非重复性工程开销低和灵活性高等优点。
随着半导体技术的飞速发展以及IC(Integrated Circuit,专用集成电路)设计变得越来越复杂,具有高容量与高灵活性优势的FPGA逐渐成为各类系统的设计平台。相对于ASCI,FPGA系统因其以二进制位流文件形式存在而更容易遭受各种攻击。因此,随着FPGA应用的普及,FPGA系统的安全与攻击检测备受关注。
实践发现,传统的攻击检测方案主要是针对计算机系统进行攻击检测,目前并不存在针对FPGA嵌入式系统的攻击检测方案。
发明内容
有鉴于此,本申请提供一种FPGA嵌入式终端设备比特流攻击检测方法、装置及电子设备。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种FPGA嵌入式终端设备比特流攻击检测方法,包括:
获取所述FPGA嵌入式终端设备接收到的比特流数据的镜像数据;
确定数据帧切分粒度,并基于所述切分粒度对所述镜像数据进行切分,以得到多个数据帧;
基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集;
基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测。
根据本申请实施例的第二方面,提供一种FPGA嵌入式终端设备比特流攻击检测装置,包括:
获取单元,用于获取所述FPGA嵌入式终端设备接收到的比特流数据的镜像数据;
切分单元,用于确定数据帧切分粒度,并基于所述切分粒度对所述镜像数据进行切分,以得到多个数据帧;
生成单元,用于基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集;
检测单元,用于基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测。
根据本申请实施例的第三方面,提供一种电子设备,该电子设备包括:
处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现第一方面的FPGA嵌入式终端设备比特流攻击检测方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的FPGA嵌入式终端设备比特流攻击检测方法。
本申请实施例的FPGA嵌入式终端设备比特流攻击检测方法,获取FPGA嵌入式终端设备接收到的比特流数据的镜像数据,确定数据帧切分粒度,并基于切分粒度对镜像数据进行切分,以得到多个数据帧,进而,基于多个数据帧生成镜像数据对应的比特流攻击特征集,并基于镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对FPGA嵌入式终端设备进行比特流攻击检测,提高了FPGA嵌入式终端设备比特流攻击的检出率。
附图说明
图1为本申请一示例性实施例示出的一种FPGA嵌入式终端设备的比特流攻击类别示意图;
图2为本申请一示例性实施例示出的一种FPGA嵌入式终端设备比特流攻击检测方法的流程示意图;
图3为本申请一示例性实施例示出的一种生成比特流攻击特征集的流程示意图;
图4为本申请一示例性实施例示出的一种FPGA嵌入式终端设备比特流攻击检测实现流程示意图;
图5为本申请一示例性实施例示出的一种FPGA嵌入式终端设备比特流攻击检测装置的结构示意图;
图6为本申请一示例性实施例示出的一种图5所示装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对FPGA嵌入式终端设备进行简单说明。
为了使硬件设计功能化,FPGA使用各种可重新配置的资源。设计(如RTL(RegisterTransfer Level,寄存器转换级)码或门级网表)需要转换成比特流,使得FPGA内部能够使用这些资源。若编程正确,则配置的FPGA将提供与预期设计相同的功能。在FPGA嵌入式终端的整个开发和运行生命周期中,FPGA比特流容易受到不同的威胁。根据应用程序的不同,每个步骤中涉及的实体和相应的生命周期可能会有所不同。
一、FPGA嵌入式终端生命周期涉及的主体(包括但不限于以下主体)
1、FPGA厂商(FPGA vendors):FPGA厂商是设计FPGA结构和芯片、构造FPGA开发平台的一些企业。这些FPGA开发平台具有内建功能模块,内存模块和其它顾客所需要的IP组件等。
2、代工厂(Foundries):代工厂是为FPGA厂商制造FPGA芯片的半导体制造商。
3、FPGA系统开发商(System developers):FPGA系统开发商是设计和开发FPGA操作系统的公司。这些产品以配置位流文件的形式存在。
4、终端用户(End users):终端用户是从系统开发者处购买FPGA系统的公司或者个人。
5、IP核供应商(IP vendors):IP核供应商是开发特定应用IP核的公司。
6、电子设计自动化(EDA)工具研发公司(EDA tool vendors):EDA工具研发公司是开发EDA软件,以便于进行大规模集成电路设计的公司。
二、生命周期的不同阶段存在的安全挑战
FPGA市场供需流始于FPGA厂商。众多FPGA厂商研发新的FPGA芯片以获得各自的竞争优势。为了更好的满足终端用户的需求,FPGA厂商会在它们的芯片中集成IP核供应商提供的IP核。FPGA厂商需要EDA工具研发司增强他们的开发设计工具包。FPGA厂商需要代工厂制造出FPGA芯片。
每个主体彼此之间交互都可能存在安全与可信问题。参与方发送请求,另一方需要验证它收到的服务或产品是否可信。
1、FPGA厂商和代工厂
(a)过度生产:不诚实的代工厂制造超过FPGA厂商所要求制造的FPGA芯片数量,然后以低价将过度生产的芯片销售给系统开发者;
(b)硬件木马:在芯片制造过程中,不需要的功能(木马)可能被嵌入FPGA芯片中;
(c)信息泄露:FPGA厂商用于制造芯片的机密数据可能被泄露给其它FPGA厂商。
2、FPGA厂商(或FPGA系统开发商)和IP核供应商(或EDA工具研发公司)
(b)硬件木马:FPGA厂商(或FPGA系统开发商)需要确保从IP核供应商购买的IP核没有嵌入恶意的木马;
(c)信息泄露:EDA工具中恶意的代码可能会收集关于FPGA芯片和FPGA系统的隐私信息;
(d)IP保护:IP核供应商和EDA工具研发公司希望他们的IP核和工具被合法付费使用;
(e)逆向工程:IP核供应商(或FPGA系统开发商)希望他们的IP核(或FPGA系统)不被逆向工程。
3、FPGA供应商和FPGA系统开发者
(b)硬件木马和(c)信息泄露:不能保证FPGA芯片没有包含硬件木马;不能保证EDA工具没有嵌入恶意的代码。但是FPGA系统开发商没有选择权,不得不信任FPGA芯片和相关的开发工具,并且使用它们进行产品开发。
4、FPGA系统开发商和终端用户:
(e)逆向工程:FPGA系统开发商希望他们的产品不能被竞争对手逆向工程;
(f)克隆攻击:敌对方比较容易从易失性FPGA中窃取FPGA配置位流,然后配置到其它FPGA中;
(g)旁路攻击:很多高端FPGA使用非易失性安全存储密钥,然后用于解密加密的位流文件来保护知识产权,但是旁路攻击可能会获取存储的密钥,从而使得基于加密的位流保护机制失效;
(h)重演攻击:敌对方将FPGA系统降级到先前存在漏洞的不安全或不可信的版本,然后利用漏洞进行攻击、窃取隐私信息或者激活存在的木马等。
三、FPGA比特流的恶意攻击以及相应的攻击模型
各种FPGA比特流的恶意攻击可以如图1所示,其中:
1、IP盗版:FPGA设计通常需要花费大量的时间和精力,这使得设计的配置比特流成为有价值的知识产权。窃取IP的攻击行为包括克隆,即非法使用或分发比特流。盗窃也可以以逆向工程的形式发生,在逆向工程中,通过分析比特流来提取设计和功能。
1.1、IP克隆: FPGA的本质使其容易被克隆,因为若发现相同的比特流未加密,甚至加密(若加密密钥可用),则可以在类似的设备中使用。在FPGA系统的整个开发和部署生命周期中,底层比特流可能容易遭受以下多种方式的克隆攻击:
1.1.1、比特流回读:JTAG(Joint Test Action Group,联合测试工作组)是在线测试的通用标准。它也用作大多数FPGA的编程接口。编程和测试操作是通过向接口发送不同的命令来启动的。甚至存在用于从FPGA中检索配置位以进行比特流完整性验证的命令。因此,除非被停用,否则这将有助于访问比特流的未加密版本;
1.1.2、比特流探测:SRAM FPGA的易失性要求当系统通电时,比特流通过编程通道(例如JTAG)从外部存储器(如闪存)加载到可编程结构上。因此,使用电子探针拦截这种比特流传输是一种可能的攻击方法,有助于克隆。
示例性的,这种攻击不适用于非易失性(如基于闪存的)FPGA,因为配置位总是存储在可重新配置的结构中。因此,只有对非易失性可重构结构进行物理侵入式攻击才是可能的。由于安装探测攻击需要对具有比特流的设备进行物理访问,因此合约制造商(即代工厂)的对手或具有物理访问权限的恶意最终用户可能是试图进行此操作的人;
1.1.3、密钥窃取:许多FPGA都带有内置认证模块,例如,HMAC(Hash-based MessageAuthentication Code,基于键控哈希消息认证码),该模块依据任意长度的比特流产生固定长度的消息认证码。许多FPGA还包括比特流解密(例如,AES(Advanced EncryptionStandard,高级加密标准))模块,以支持加密比特流。加密形式的比特流通常驻留在配置闪存中。
若使用认证,认证密钥和散列摘要将与比特流一起加密。在上电期间,使用存储在非易失性存储器中的密钥来解密加密比特流、认证密钥和散列。使用FPGA的内置认证块,生成解密比特流的摘要,将其与先前解密的摘要进行比较。若比特流在配置之前没有被篡改,则两个摘要必须匹配。因此,对称加密密钥是比特流保证机密性和完整性的基本条件。在密钥受到成功攻击的情况下,由于认证密钥与比特流一起被加密,比特流不仅容易被窃取,而且可能被篡改。
示例性的,侧信道攻击,如差分功率分析,已被证明在窃取密钥方面是有效的。这种攻击包括测量和分析上电时的功率,此时密钥用于解密比特流。该密钥也可能通过增值转销商中负责存储密钥的攻击者泄露。如果密钥存储在电熔丝内,可以通过使用扫描电子显微镜观察去盖芯片中的金属层看到电熔丝编程引起的物理变化。这种攻击只能由高级攻击者发起,能够执行破坏性的逆向工程。最后,在远程升级期间,攻击者可以通过拦截授权人和设备之间的通信来尝试获得加密比特流和加密密钥。
1.2、逆向工程: BRE(BittorrentReverse Engineers,比特流逆向工程)可以允许攻击者提取设计是如何实现的信息。这有助于可能是出于恶意的修改知识产权。攻击者可能从市场上购买现有FPGA产品,通过BRE提取知识产权,修改知识产权的功能,然后使用或转售。此外,为了绕过某些限制来进行比特流篡改可能首先需要通过BRE获得系统高级设计知识。成功的纯文本BRE已经在某些系列FPGA得到证明。然而,由于缺乏标准化比特流格式,不同系列和供应商的FPGA可能需要更新的、潜在更复杂的方法。加密的存在使比特流逆向过程更加复杂。除非攻击者能够访问密钥,否则理解加密比特流功能的唯一方法(在一定程度上)是将映射的设计视为黑盒,并观察各种输入的功能输出。
1.3、过度生产:FPGA系统生命周期中开发系统本身的实体可能是对手的少数实例之一。目前,以RTL或比特流形式购买第三方知识产权的系统开发人员可以在任何数量的FPGA中使用它们。但是,知识产权开发人员可能希望在固定数量设备中使用其设计,或者可能希望按使用实例收费。
2、IP篡改:恶意修改比特流是FPGA系统面临的主要问题。攻击者可以修改比特流以绕过某些限制,或者规避比特流执行的安全验证。比特流篡改也可以用于在设备操作期间的特定时间触发逻辑或物理异常。如下所述,比特流篡改存在几种攻击模型:
2.1、直接修改:直接修改未加密比特流以实现硬件木马。然而,攻击的重点是修改未使用的资源,这些资源似乎是配置位中的一串零。这有助于轻松修改,而不会使比特流不起作用,因为如果修改了比特流的已用区域,则可能会发生这种情况。例如,通过对比特流映射格式进行逆向工程,篡改FPGA上AES和3DES的加密实现。这是通过迭代映射已知函数、观察比特流中的变化并重复直到识别出比特流的关键部分来完成的。篡改的最终目标是获取设计中处理的机密信息。这些规则独立于FPGA系列,不需要深入了解设计。
2.2、故障注入:在运行时,可以通过以非侵入性和半侵入性方式注入故障来改变映射配置的各个位。
虽然非侵入式攻击不需要对目标硬件进行物理更改,但半侵入式攻击需要有限的硬件更改来促进攻击。
无创故障注入方法包括聚焦辐射和功率调节。光学故障注入形式的半侵入式攻击已经用闪光灯和激光指示器进行了演示,以改变微控制器中静态随机存取存储器的各个位。这些设备容易获得,而且相对便宜。因此,类似的攻击模式对静态随机存取存储器FPGA来说是一个较大的威胁。
2.3、硬件木马:在不受信任的代工厂制造FPGA期间,硬件木马可被植入基本阵列布局,一旦被触发,可修改特定FPGA资源的配置位,以引发逻辑或物理故障。代工厂攻击者的动机之一可能是破坏FPGA厂商商声誉,同时为其他人提供竞争优势。
示例性的,在静态随机存取存储器阵列中实现这种木马的可行性已经得到验证。静态随机存取存储器中的几个触发单元可用于启用恶意插入布局中的传输晶体管构建的路径。若一个特定的模式被存储在这些触发单元上,该路径激活并短路受害单元。有效载荷损害了受害小区存储特定值(0或1)的能力。这种木马根据攻击者的意图,在特定实例中向特定的可配置组件(即查找表)强制提供恶意值。
2.4、恶意欺骗:攻击者可以用完全不同的比特流对FPGA进行重新编程。当攻击者能够物理访问FPGA或者在远程升级期间拦截比特流通信时,就会发生这种情况。
恶意欺骗攻击的目的可能是利用受损的FPGA感染系统的其他模块。此外,攻击者可能会试图用自己的专有软件替换原始的专有软件,以不同FPGA厂商的名义转售FPGA产品。
示例性的,若原始比特流只允许使用专有软件,则这种恶意的重新编程是必要的。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图2,为本申请实施例提供的一种FPGA嵌入式终端设备比特流攻击检测方法的流程示意图,如图2所示,该FPGA嵌入式终端设备比特流攻击检测方法可以包括以下步骤:
步骤S200、获取FPGA嵌入式终端设备接收到的比特流数据的镜像数据。
示例性的,FPGA嵌入式终端设备接收到的比特流数据可以为FPGA嵌入式终端设备的开发和运行生命周期中任一阶段接收到的比特流数据,或者,也可以是在任一阶段通过模拟攻击的方式产生的比特流数据。
本申请实施例中,可以对FPGA嵌入式终端设备的编程接口接收到的数据进行拦截以及复制(即数据镜像操作),以得到FPGA嵌入式终端设备接收到的比特流数据的镜像数据。
例如,可以在JTAG等FPGA编程接口处进行比特流数据拦截和复制。
步骤S210、确定数据帧切分粒度,并基于所确定的切分粒度对获取到的镜像数据进行切分,以得到多个数据帧。
本申请实施例中,按照步骤S200中描述的方式获取到镜像数据时,可以对获取到的镜像数据进行切分,得到多个数据帧,以作为后续流程中进行比特流攻击特征选择的基础数据。
示例性的,考虑到用于数据帧切分的切分粒度过小,则切分得到的数据帧的数量会较多,从而增加后续流程中比特流攻击特征选择的工作量,且数据帧过短容易出现误报(即将正常的比特流检测为攻击),而用于数据帧切分的粒度过大,则单个数据帧会比较长,利用基于此得到比特流攻击特征进行攻击检测时,比对效率会比较低。因此,需要均衡考虑上述问题,确定合理的数据帧切分粒度。
示例性的,可以基于齐夫分布曲线确定切分粒度,其具体实现可以参见下文中的相关描述。
步骤S220、基于所得到的多个数据帧生成获取到的镜像数据对应的比特流攻击特征集。
本申请实施例中,当通过对获取到的镜像数据进行切分,得到多个数据帧时,可以基于所得到的多个数据帧,生成获取到的镜像数据对应的比特流攻击特征集。
示例性的,该比特流攻击特征集可以包括一个或多个比特流攻击特征,该比特流攻击特征用于对比特流进行攻击检测。
步骤S230、基于镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对FPGA嵌入式终端设备进行比特流攻击检测。
示例性的,已知比特流攻击特征集中的比特流攻击特征可以包括业界已经明确的比特流攻击特征,或/和,按照本申请实施例提供的方案已经确定的比特流攻击特征。
本申请实施例中,按照步骤S220中描述的方式生成了镜像数据对应的比特流攻击特征集时,可以基于所生成的比特流攻击特征集,以及已知比特流攻击特征集,对FPGA嵌入式终端设备进行比特流攻击检测。
需要说明的是,在本申请实施例中,比特流攻击特征集的生成与比特流攻击检测可以并发执行,即一方面可以按照步骤S200~步骤S220中描述的方式生成比特流攻击特征集,另一方面,可以基于已知比特流攻击特征集,对FPGA嵌入式终端设备进行比特流攻击特征。
示例性的,已知比特流攻击特征集中包括的比特流攻击特征可以随着新的比特流攻击特征集的生成而更新。
例如,初始是已知比特流攻击特征集包括{T1,T2},某一时刻,按照步骤S200~步骤S220中描述的方式生成了比特流攻击特征集{T3,T4},则当后续流程中再次进行比特流攻击特征集生成时,已知比特流攻击特征集可以包括{T1,T2,T3,T4}。
在本申请其中一个实施例中,如图3所示,步骤S220中,基于所得到的多个数据帧生成获取到的镜像数据对应的比特流攻击特征集,可以通过以下步骤实现:
步骤S221、确定切分粒度的筛选阈值,并基于切分粒度的筛选阈值对所得到的多个数据帧进行分类,以确定该多个数据帧中的有效数据帧和无效数据帧;
步骤S222、对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成镜像数据对应的候选比特流攻击特征集;
步骤S223、基于预设的比特流攻击特征长度阈值,对镜像数据对应的候选比特流攻击特征集中的候选比特流攻击特征进行筛选,以得到筛选后的候选比特流攻击特征集;
步骤S224、基于最大相关最小冗余的特征筛选准则从筛选后的候选比特流攻击特征集选择比特流攻击特征,以生成镜像数据对应的比特流攻击特征集。
示例性的,为了实现对切分得到的数据帧进行分类,可以确定切分粒度的筛选阈值。
例如,可以通过计算Jaccard参数确定切分粒度的筛选阈值。
确定了切分粒度的筛选阈值时,可以基于该切分粒度的筛选阈值对多个数据帧进行分类,以确定该多个数据帧中的有效数据帧和无效数据帧。
其中,考虑到比特流数据为二进制数据。二进制协议在传输过程中是以 0、1的形式进行发送和接收的,即便将其转换成了十六进制的形式,依然不能像文本协议那样识别语义信息。因此,对二进制协议分词中的关键问题就是选择合适的单元长度n,使其能够包含一段完整的协议信息。
齐夫定律通常作为判定某一现象是否符合自然规律的标准。该定律可以表示为:
在一个词库中,一个单词出现的频率与它在词库中的排名是成反比的。首先对每个单词出
现的次数进行统计并按降序排列,将出现次数最多的单词的排名记为1,以此类推,将出
现次数最少的单词排名标记为,为词库中所有单词的种数,那么则有,其中不
是一个恒定不变的常数,它会围绕一个中心值上下波动。将其中的频次和排序等级分别
进行对数操作后建立直角坐标系,排名的对数作为横坐标,频次的对数作为纵坐标,那么会
得到一条直线,若对数据帧进行切分,得到的分布图近似于一条直线,则可以认为这种切分
方法是合理的,满足自然语言规律。将齐夫分布作为二进制数据帧切分是否合理的评判依
据。
示例性的,齐夫分布实现流程如下:
2、统计每个固定长度 gram 的出现频次,并按照降序排列;
3、以排名为横坐标,将其对应的频次为纵坐标,两者同时取对数,画点阵图;
5、输出结果。
对数据帧进行切分之后,需要对其进行筛选,删除其中的无关单元以简化后续的操作。样本相似度是对两个样本之间相似程度的度量,通过计算 n-gram集合中单元之间的相似度,可以将其中频繁并且可能有意义的单元筛选出来。
要对数据帧中的切分单元计算相似性,首先要对它们进行建模。
在一个示例性中,对于n-gram 筛选中,可以采用 VSM 向量空间模型对数据帧中的 n-gram 进行标识。假设数据帧中切分出的 n-gram 集合为,将每个单元出现的次数作为各自的权重,则数据帧集合就可以表示成特征向量的形式:。
然后采用基于余弦法的 Jaccard 参数来计算样本之间的相似度,留下相似度高的数据单元。
考虑到数据帧切分时,可以会将完整的比特流攻击特征切分开,因此,确定了有效数据帧和有效数据帧之后,还可以基于有效数据帧和无效数据帧之间的关联度,对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成镜像数据对应的候选比特流攻击特征集。
在一个示例中,上述对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成镜像数据对应的候选比特流攻击特征集,可以包括:
对于任一有效数据帧,利用关联规则挖掘算法确定是否存在与该有效数据帧满足关联要求的目标无效数据帧;
若存在,则对该有效数据帧和目标无效数据帧进行拼接,以生成一个候选比特流攻击特征;
若不存在,将该有效数据帧作为一个候选比特流攻击特征。
示例性的,可以利用关联规则挖掘算法的相关知识确定有效数据帧和无效数据帧之间的关联度。
对于任一有效数据,可以利用关联规则挖掘算法确定是否存在与该有效数据帧满足关联要求的无效数据帧(本文中称为目标无效数据帧)。
例如,将与该有效数据帧的关联度超过预设关联度阈值的无效数据帧,确定为目标无效数据帧。
若存在目标无效数据帧,则将该有效数据帧和目标无效数据帧进行拼接,以生成一个候选比特流攻击特征。
示例性的,目标无效数据帧通常为对应的有效数据帧的头部或尾部。
若不存在目标无效数据帧,则将该有效数据帧作为一个候选比特流攻击特征。
当确定后候选比特流攻击特征集时,可以基于预设的比特流攻击特征长度阈值,对镜像数据对应的候选比特流攻击特征集中的候选比特流攻击特征进行筛选,以得到筛选后的候选比特流攻击特征集,即对于长度超过预设的比特流攻击特征长度阈值的候选比特流攻击特征,可以通过裁切的方式使其长度在预设的比特流攻击特征长度阈值以内。
对于筛选后的候选比特流攻击特征集,可以基于最大相关最小冗余的特征筛选准则从该筛选后的候选比特流攻击特征集选择比特流攻击特征,以生成镜像数据对应的比特流攻击特征集。
得到比特流攻击特征集时,可以基于该比特流攻击特征集和已知比特流攻击特征集,对FPGA嵌入式终端设备进行比特流攻击检测。
在一个示例中,基于镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对FPGA嵌入式终端设备进行比特流攻击检测,可以包括:
基于镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,利用多模式匹配算法,对FPGA嵌入式终端设备进行比特流攻击检测。
示例性的,为了提高比特流攻击检测效率,可以采用多模式匹配算法,对FPGA嵌入式终端设备进行比特流攻击检测。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
如图4所示,在该实施例中,FPGA嵌入式终端设备比特流攻击检测实现流程如下:
1、比特流数据镜像获取:在JTAG等FPGA编程接口处进行比特流数据拦截和复制,作为后续比特流分析的数据基础;
2、数据预处理:通过齐夫分布确定数据帧的切分粒度,然后通过计算Jaccard参数确定切分粒度的筛选阈值;
示例性的,对原始的比特流形式的数据帧进行特征选择之前可以先进行数据预处理,例如,数据帧的字节筛选。
在数据帧的字节筛选过程中,首先通过齐夫分布来确定切分粒度,然后利用通过Jaccard参数确定的阈值,对切分粒度进行筛选,并将结果作为特征候选集产生的输入数据。
示例性的,通过对比特流数据的初步分析可以得到数据特征是以字节的形式表现出来的,为了验证几个字节长度的gram(将不同切分粒度所形成的单元称为gram)可以有效地对帧特征进行表示,可以分别按照不同切分粒度对比特流数据进行切分,例如,n=2bit,3bit,4bit,即分别按照2bt、3bt和4bt的粒度进行数据切分,然后分别统计不同切分粒度下每个gram出现的次数,并按照其出现的次数对所有gram进行排序,最后通过齐夫分布曲线确定切分粒度。
示例性的,从16进制的角度考虑,切分粒度为1个字节时,如果对每个gram都进行拼接的话,不仅会产生很多与协议无关或者冗余的长串,而且将大大增加算法的时空复杂度,严重影响特征选择的效率和准确率。因此,在对gram进行拼接产生特征候选集之前需要对所有的gram进行筛选。
例如,首先,将两个实验比特流数据集中的两种协议分别随机分成两部分,统计每一部分中各个gram出现的次数,按照出现的次数对其进行降序排列。然后通过Jaccard参数的计算公式,计算两部分的相似度。通过改变不同的切分粒度,可以计算出不同的相似度,计算出的值越大,表明随机分成的两组数据集越相似,以此来选出切分粒度的阈值。将拼接好的长串通过预设的相似度阈值(拼接好的长串的相似度的阈值)进行筛选,降低特征数量的维度,然后通过最大相关最小冗余的特征筛选准则进行特征选择。
3、数据拼接,生成候选比特流攻击特征集:通过采用关联规则挖掘算法中的相关知识对数据帧的切分粒度进行拼接,生成候选比特流攻击特征集;
4、特征选择:通过设定合适的阈值(即比特流攻击特征长度阈值)对候选比特流攻击特征进行筛选,降低特征数量的维度,然后通过最大相关最小冗余的特征筛选准则进行特征选择,以确定比特流攻击特征。
5、生成特征集:将选择得到的特征集与已知攻击特征集进行合并,获得攻击检测使用的比特流攻击特征集;
6、特征匹配:采用多模式匹配方法,对于FPGA比特流数据进行特征匹配,检测潜在的恶意攻击。
示例性的,模式匹配算法是数据特征挖掘的重要方法,利用模式匹配算法对强噪声环境下数据流中频繁出现的模式进行挖掘,从而实现对数据帧行为的识别分析。考虑到单模式匹配算法一次只能匹配一个模式串,为提高效率,采用多模式匹配算法,多模式匹配是指在一段数据流中同时查找一个模式串集合中所有模式串的出现的过程。
示例性的,当检测到恶意攻击时,可以进行告警和拦截。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图5,为本申请实施例提供的一种FPGA嵌入式终端设备比特流攻击检测装置的结构示意图,如图5所示,该FPGA嵌入式终端设备比特流攻击检测装置可以包括:
获取单元,用于获取所述FPGA嵌入式终端设备接收到的比特流数据的镜像数据;
切分单元,用于确定数据帧切分粒度,并基于所述切分粒度对所述镜像数据进行切分,以得到多个数据帧;
生成单元,用于基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集;
检测单元,用于基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测。
在一些实施例中,所述生成单元基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集,包括:
确定切分粒度的筛选阈值,并基于所述切分粒度的筛选阈值对所述多个数据帧进行分类,以确定所述多个数据帧中的有效数据帧和无效数据帧;
对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成所述镜像数据对应的候选比特流攻击特征集;
基于预设的比特流攻击特征长度阈值,对所述镜像数据对应的候选比特流攻击特征集中的候选比特流攻击特征进行筛选,以得到筛选后的候选比特流攻击特征集;
基于最大相关最小冗余的特征筛选准则从所述筛选后的候选比特流攻击特征集选择比特流攻击特征,以生成所述镜像数据对应的比特流攻击特征集。
在一些实施例中,所述生成单元对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成所述镜像数据对应的候选比特流攻击特征集,包括:
对于任一有效数据帧,利用关联规则挖掘算法确定是否存在与该有效数据帧满足关联要求的目标无效数据帧;其中,所述满足关联要求包括与该有效数据帧的关联度超过预设关联度阈值;
若存在,则对该有效数据帧和所述目标无效数据帧进行拼接,以生成一个候选比特流攻击特征;
若不存在,将该有效数据帧作为一个候选比特流攻击特征。
在一些实施例中,所述检测单元基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测,包括:
基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,利用多模式匹配算法,对所述FPGA嵌入式终端设备进行比特流攻击检测。
对应地,本申请还提供了图5所示装置的硬件结构。参见图6,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种现场可编程逻辑门阵列FPGA嵌入式终端设备比特流攻击检测方法,其特征在于,包括:
获取所述FPGA嵌入式终端设备接收到的比特流数据的镜像数据;
确定数据帧切分粒度,并基于所述切分粒度对所述镜像数据进行切分,以得到多个数据帧;
基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集;
基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集,包括:
确定切分粒度的筛选阈值,并基于所述切分粒度的筛选阈值对所述多个数据帧进行分类,以确定所述多个数据帧中的有效数据帧和无效数据帧;
对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成所述镜像数据对应的候选比特流攻击特征集;
基于预设的比特流攻击特征长度阈值,对所述镜像数据对应的候选比特流攻击特征集中的候选比特流攻击特征进行筛选,以得到筛选后的候选比特流攻击特征集;
基于最大相关最小冗余的特征筛选准则从所述筛选后的候选比特流攻击特征集选择比特流攻击特征,以生成所述镜像数据对应的比特流攻击特征集。
3.根据权利要求2所述的方法,其特征在于,所述对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成所述镜像数据对应的候选比特流攻击特征集,包括:
对于任一有效数据帧,利用关联规则挖掘算法确定是否存在与该有效数据帧满足关联要求的目标无效数据帧;其中,所述满足关联要求包括与该有效数据帧的关联度超过预设关联度阈值;
若存在,则对该有效数据帧和所述目标无效数据帧进行拼接,以生成一个候选比特流攻击特征;
若不存在,将该有效数据帧作为一个候选比特流攻击特征。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测,包括:
基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,利用多模式匹配算法,对所述FPGA嵌入式终端设备进行比特流攻击检测。
5.一种现场可编程逻辑门阵列FPGA嵌入式终端设备比特流攻击检测装置,其特征在于,包括:
获取单元,用于获取所述FPGA嵌入式终端设备接收到的比特流数据的镜像数据;
切分单元,用于确定数据帧切分粒度,并基于所述切分粒度对所述镜像数据进行切分,以得到多个数据帧;
生成单元,用于基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集;
检测单元,用于基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测。
6.根据权利要求5所述的装置,其特征在于,所述生成单元基于所述多个数据帧生成所述镜像数据对应的比特流攻击特征集,包括:
确定切分粒度的筛选阈值,并基于所述切分粒度的筛选阈值对所述多个数据帧进行分类,以确定所述多个数据帧中的有效数据帧和无效数据帧;
对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成所述镜像数据对应的候选比特流攻击特征集;
基于预设的比特流攻击特征长度阈值,对所述镜像数据对应的候选比特流攻击特征集中的候选比特流攻击特征进行筛选,以得到筛选后的候选比特流攻击特征集;
基于最大相关最小冗余的特征筛选准则从所述筛选后的候选比特流攻击特征集选择比特流攻击特征,以生成所述镜像数据对应的比特流攻击特征集。
7.根据权利要求6所述的装置,其特征在于,所述生成单元对满足关联要求的有效数据帧和无效数据帧进行拼接,以生成所述镜像数据对应的候选比特流攻击特征集,包括:
对于任一有效数据帧,利用关联规则挖掘算法确定是否存在与该有效数据帧满足关联要求的目标无效数据帧;其中,所述满足关联要求包括与该有效数据帧的关联度超过预设关联度阈值;
若存在,则对该有效数据帧和所述目标无效数据帧进行拼接,以生成一个候选比特流攻击特征;
若不存在,将该有效数据帧作为一个候选比特流攻击特征。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述检测单元基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,对所述FPGA嵌入式终端设备进行比特流攻击检测,包括:
基于所述镜像数据对应的比特流攻击特征集,以及已知比特流攻击特征集,利用多模式匹配算法,对所述FPGA嵌入式终端设备进行比特流攻击检测。
9.一种电子设备,其特征在于,该电子设备包括:
处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-4任一项的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011248152.5A CN112069501B (zh) | 2020-11-10 | 2020-11-10 | Fpga嵌入式终端设备比特流攻击检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011248152.5A CN112069501B (zh) | 2020-11-10 | 2020-11-10 | Fpga嵌入式终端设备比特流攻击检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112069501A true CN112069501A (zh) | 2020-12-11 |
CN112069501B CN112069501B (zh) | 2021-02-26 |
Family
ID=73655567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011248152.5A Active CN112069501B (zh) | 2020-11-10 | 2020-11-10 | Fpga嵌入式终端设备比特流攻击检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069501B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480561A (zh) * | 2017-07-21 | 2017-12-15 | 天津大学 | 基于少态节点遍历的硬件木马检测方法 |
CN107608700A (zh) * | 2017-10-16 | 2018-01-19 | 浪潮(北京)电子信息产业有限公司 | 一种fpga固件的更新方法、装置及介质 |
CN107679605A (zh) * | 2016-08-02 | 2018-02-09 | 恩智浦有限公司 | 电子篡改检测装置 |
CN108052840A (zh) * | 2017-11-13 | 2018-05-18 | 天津大学 | 基于神经网络的硬件木马检测方法 |
CN108123939A (zh) * | 2017-12-14 | 2018-06-05 | 华中师范大学 | 恶意行为实时检测方法及装置 |
CN108733404A (zh) * | 2018-05-28 | 2018-11-02 | 电子科技大学 | 一种针对fpga固件的精准逆向工程方法 |
-
2020
- 2020-11-10 CN CN202011248152.5A patent/CN112069501B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679605A (zh) * | 2016-08-02 | 2018-02-09 | 恩智浦有限公司 | 电子篡改检测装置 |
CN107480561A (zh) * | 2017-07-21 | 2017-12-15 | 天津大学 | 基于少态节点遍历的硬件木马检测方法 |
CN107608700A (zh) * | 2017-10-16 | 2018-01-19 | 浪潮(北京)电子信息产业有限公司 | 一种fpga固件的更新方法、装置及介质 |
CN108052840A (zh) * | 2017-11-13 | 2018-05-18 | 天津大学 | 基于神经网络的硬件木马检测方法 |
CN108123939A (zh) * | 2017-12-14 | 2018-06-05 | 华中师范大学 | 恶意行为实时检测方法及装置 |
CN108733404A (zh) * | 2018-05-28 | 2018-11-02 | 电子科技大学 | 一种针对fpga固件的精准逆向工程方法 |
Non-Patent Citations (2)
Title |
---|
王绍辉: "《流数据协议特征分析》", 《中国优秀硕士学位论文全文数据库》 * |
章韬: "《FPGA逆向工程关键技术研究》", 《中国优秀硕士学位论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112069501B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170288869A1 (en) | Secure key storage using physically unclonable functions | |
US8117661B2 (en) | Encryption based silicon IP protection | |
Cui et al. | A robust FSM watermarking scheme for IP protection of sequential circuit design | |
US11531773B2 (en) | Verification of bitstreams | |
Yasin et al. | Trustworthy hardware design: Combinational logic locking techniques | |
US8074077B1 (en) | Securing circuit designs within circuit design tools | |
US6889326B1 (en) | Watermarking based protection of virtual component blocks | |
US20240193567A1 (en) | Method for trading a digital asset | |
Anandakumar et al. | Rethinking watermark: Providing proof of IP ownership in modern socs | |
US20020144121A1 (en) | Checking file integrity using signature generated in isolated execution | |
Halak | Cist: A threat modelling approach for hardware supply chain security | |
Alrahis et al. | Embracing graph neural networks for hardware security | |
US10013517B1 (en) | High level programming language core protection for high level synthesis | |
Alrahis et al. | $\tt {PoisonedGNN} $: Backdoor Attack on Graph Neural Networks-Based Hardware Security Systems | |
Gandhi et al. | Logic locking for IP security: A comprehensive analysis on challenges, techniques, and trends | |
Kibria et al. | Rtl-fsmx: Fast and accurate finite state machine extraction at the rtl for security applications | |
CN112069501B (zh) | Fpga嵌入式终端设备比特流攻击检测方法、装置及电子设备 | |
Ahmed et al. | Proof-carrying hardware versus the stealthy malicious LUT hardware Trojan | |
Biswas | Using pattern of on-off routers and links and router delays to protect network-on-chip intellectual property | |
Bloom et al. | Fab forensics: Increasing trust in IC fabrication | |
JP7008879B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Utyamishev et al. | Knowledge graph embedding and visualization for pre-silicon detection of hardware Trojans | |
CN111046376B (zh) | 基于安装包的分发审核方法及装置 | |
JP7229443B2 (ja) | ログ生成装置、ログ生成方法、及び、ログ生成プログラム | |
Chhabra et al. | Key-based obfuscation using ht-like trigger circuit for 128-bit aes hardware ip core |
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 |