Towards Precise and Explainable Hardware Trojan Localization at LUT Level
文章
《Towards Precise and Explainable Hardware Trojan Localization at LUT Level》 TCAD’2025
《LUT层次的精细可解释木马定位》
期刊介绍
《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》(TCAD)是集成电路与系统计算机辅助设计领域的顶级期刊,由IEEE出版,属于CCF-A类期刊。该期刊2022年影响因子为2.9,在中科院分区中属于工程技术大类2区,专注于电子与电气领域的核心研究。TCAD涵盖EDA(电子设计自动化)工具开发、集成电路设计算法、验证与测试技术、物理设计优化、低功耗设计方法,以及人工智能在EDA中的应用等前沿方向,是学术界和工业界研究人员发表创新性理论与技术成果的重要平台。
研究背景
硬件特洛伊木马(Trojans)对硬件安全和信任构成严重威胁。现有的硬件特洛伊木马检测技术多在寄存器传输级(RTL)或门级网表进行,通常需要高质量的测试向量、断言属性或穷尽的验证工作,并且在覆盖范围、精度和可扩展性方面存在限制。此外,大多数机器学习方法依赖于专家知识和手动特征提取,缺乏对神经网络决策过程的可解释性。本研究旨在通过在查找表(LUT)级利用可解释图神经网络(GNN)来解决硬件特洛伊木马的检测和定位问题。
核心技术与思想
- 可解释图神经网络(GNN):通过自动提取LUT级丰富的结构和行为特征,训练可解释的GNN模型来分类FPGA网表中的设计节点并识别受特洛伊木马感染的节点。
- 自动化标签分配算法:基于电路结构和切换概率分析的算法,自动生成训练样本中每个节点的类别标签,无需手动标记。
- Granger因果理论:用于分析每个节点的因果贡献,为GNN模型的决策机制提供可解释性。
核心贡献
- 提出了一种全新的基于可解释GNN模型的硬件特洛伊木马定位方法,针对FPGA网表。
- 开发了自动化标签分配算法,消除了手动节点标记过程。
- 训练了一个包含自注意图池化和读出层的GNN模型,能够提取扇入锥分析中的特征信息。
- 提供了基于Granger因果理论的解释,使GNN模型的决策过程可解释。
解决的问题
- 硬件特洛伊木马检测精度低:通过在LUT级进行特征提取和分类,提高了硬件特洛伊木马的检测精度。
- 手动特征提取和标记:开发了自动化标签分配算法,减少了人工干预,提高了检测效率。
- 决策过程的可解释性:通过Granger因果理论分析因果贡献,为GNN模型的决策机制提供了可解释性。
论文内容章节概要
研究背景
硬件特洛伊木马(Trojans)对硬件安全和信任构成严重威胁。现有的硬件特洛伊木马检测技术多在寄存器传输级(RTL)或门级网表进行,通常需要高质量的测试向量、断言属性或穷尽的验证工作,并且在覆盖范围、精度和可扩展性方面存在限制。此外,大多数机器学习方法依赖于专家知识和手动特征提取,缺乏对神经网络决策过程的可解释性。本研究旨在通过在查找表(LUT)级利用可解释图神经网络(GNN)来解决硬件特洛伊木马的检测和定位问题。
威胁模型
我们遵循在预硅硬件特洛伊木马设计和检测研究中广泛采用的威胁模型。主要威胁是恶意设计修改由不受信任的第三方进行。我们旨在检测和定位预硅阶段的特洛伊木马,并假设我们可以将IP核从RTL代码或门级网表综合为LUT网络,而无需了解特洛伊触发逻辑或有效负载的实现细节。
硬件特洛伊木马定位方法
节点标签分配算法
我们开发了一种基于电路结构和切换概率分析的标签分配算法,自动生成FPGA网表中每个节点的类别标签。对于从RTL代码生成的FPGA网表,我们根据电路结构分析为每个设计节点分配标签。从RTL代码开始,其中包含语义信息和特洛伊设计逻辑已知。我们首先分析RTL代码,并用1和0分别标记受特洛伊木马感染和未受感染的信号。例如,在Trust-Hub AES-T1000基准中,特洛伊触发模块中的触发信号Tj Trig被标记为1。我们搜索在FPGA综合中名称未更改的每个信号,并分配与RTL代码中相同的标签。这些带有标签的信号作为根节点。我们使用深度优先搜索遍历FPGA网表,并根据其根节点的标签为剩余节点分配标签。如果在FPGA综合中所有信号名称都已更改,我们将使用基于切换概率分析的标签分配方法。
####### LUT级节点图表示
我们开发了一种基于扇入锥分析的自动节点图提取方法。其核心思想是,很少被触发的特洛伊逻辑将被综合为LUT的级联,其连接和初始化向量将表征电路结构、功能和切换行为。图1显示了我们节点图表示方法的设计流程。我们首先分析综合的FPGA网表,并构建一个由节点和边组成的有向图。然后,我们进行遍历分析,通过网表的结构分析构建节点图表示。具体来说,我们向主输入追溯几级并为每个节点提取扇入锥。在分析中,我们发现追溯四级足以表征一个特洛伊节点。最后,我们为每个节点分配一个唯一标签和类型标签,以表示其身份和类型。我们开发了一个脚本来解析FPGA网表并自动化此过程,该过程生成基于唯一和类型标签的邻接矩阵和节点嵌入。
图神经网络(GNN)模型
我们使用SAGPooling机制[12]和读出层训练一个GNN模型,用于硬件特洛伊木马分类和定位。图2说明了GNN模型的主要结构。第一步包括三层图卷积和激活,用于计算节点嵌入。SAGPooling通过自注意力机制实现分层图池化,该机制在池化过程中同时考虑节点特征和拓扑结构,以提高分类性能。读出层连接SAGPooling层中选择的节点特征的平均值和最大值,这有助于聚合提取的图表示中的特征信息。最后,节点嵌入通过三个全连接层和Softmax激活进行处理,将电路节点v分类为受特洛伊木马感染或未受感染
由于受特洛伊木马感染和未受感染的数据集分布通常不平衡,例如,对于Trust-Hub RS232-T100基准,比例为5:126,我们采用先进的基于有效样本数的成本敏感类平衡(CB)焦损函数,在GNN模型训练中为少数类分配更大的权重,以解决类不平衡问题。
后处理技术
我们进一步进行后处理以减少GNN模型引入的假阳性。后处理的流程图如图3所示。后处理的流程主要包括三个步骤:网络连通性分析(NCA)、LUT连通性分析和临界路径分析。其背后的思路是,很少被激活的特洛伊触发逻辑通常由FPGA网表中的LUT扇入锥生成。
解释方法
我们基于Granger因果理论开发了解释GNN模型的方法,其中我们执行因果贡献分析以解释分类结果背后的机制。通过计算并排名图G中节点的因果贡献值,我们获得了一个由前k个排名节点组成的紧凑子图,这解释了GNN模型的决策机制。
实验结果
我们使用183个硬件特洛伊木马基准测试进行GNN模型训练和节点分类。实验结果显示,我们的方法成功地定位了受特洛伊木马感染的节点,平均真正例率(TPR)、准确率和接收者操作特性曲线下面积(AUC)分别为95.14%、95.71%和95.46%。

解释结果
我们通过格兰杰因果分析展示了GNN模型解释结果。我们按计算的因果贡献值排名图中的节点,并选择前k个排名的节点,随后在解释子图上使用训练有素的GNN模型评估解释方法的特洛伊特征表征能力。
比较与分析
表IV总结了我们的解决方案与现有基于机器学习的硬件特洛伊木马定位技术的比较。与那些在RTL或门级执行特洛伊检测的现有工作不同,我们以LUT为目标,其具有丰富的显式结构和行为特征。一些相关工作[7]–[10]报告了特洛伊定位结果,具有优越的真正例率(TPR)或准确率。然而,通过比较实验设置,我们发现这些论文中使用的特洛伊基准测试的数量和类型相对较小。例如,Zhang等[10]在其性能评估中使用了7个特洛伊基准测试,所有特洛伊均植入到RS232中。这项工作创建了一个更大的数据集,包含183个基准测试,并报告了多次运行的平均结果。

相关文章:
Towards Precise and Explainable Hardware Trojan Localization at LUT Level
文章 《Towards Precise and Explainable Hardware Trojan Localization at LUT Level》 TCAD’2025 《LUT层次的精细可解释木马定位》 期刊介绍 《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》(TCAD)是集成电路…...
Python实现鼠标点击获取窗口进程信息
最近遇到挺无解的一个问题:电脑上莫名其妙出现一个白色小方块,点击没有反应,关也关不掉,想知道它和哪个软件有关还是显卡出了问题,也找不到思路,就想着要不获取一下它的进程号看看。 于是写了一个Python脚本…...
Mac安装jdk教程
在Mac上安装JDK(Java Development Kit)的步骤如下: 一、下载JDK安装包 访问Oracle官网: 打开浏览器,访问Oracle JDK下载页面。 选择JDK版本: 根据你的开发需求选择合适的JDK版本。例如,JDK 11…...
【HeadFirst系列之HeadFirst设计模式】第14天之与设计模式相处:真实世界中的设计模式
与设计模式相处:真实世界中的设计模式 设计模式是软件开发中的经典解决方案,它们帮助我们解决常见的设计问题,并提高代码的可维护性和可扩展性。在《Head First设计模式》一书中,作者通过生动的案例和通俗的语言,深入…...
JDBC 完全指南:掌握 Java 数据库交互的核心技术
JDBC 完全指南:掌握 Java 数据库交互的核心技术 一、JDBC 是什么?为什么它如此重要? JDBC(Java Database Connectivity)是 Java 语言中用于连接和操作关系型数据库的标准 API。它允许开发者通过统一的接口访问不同的数…...
Vue父子组件传递笔记
Vue父子组件传递笔记 props 父组件向子组件进行传值 (1)在父组件APP.vue <template><div> <!-- 给子组件Child.vue传递以msg的信号,传递的信息内容为messages --><Child :msg"messages"></Child>…...
文件上传漏洞与phpcms漏洞安全分析
目录 1. 文件上传漏洞简介 2. 文件上传漏洞的危害 3. 文件上传漏洞的触发条件 1. 文件必须能被服务器解析执行 2. 上传目录必须支持代码执行 3. 需要能访问上传的文件 4. 例外情况:非脚本文件也可能被执行 4. 常见的攻击手法 4.1 直接上传恶意文件 4.2 文件…...
【deepseek】辅助思考生物学问题:ICImapping构建遗传图谱gap较大
基于ICImapping构建遗传图谱的常见问题与解答 问题一:染色体两端标记间遗传距离gap较大 答疑一 标记密度不足(如芯片设计时分布不均)重组概率低基因组结构变异软件算法限制 Deepseek的解释 #### 1. **染色体末端的重组率较低** - **现象*…...
linux磁盘非lvm分区
linux磁盘非lvm分区 类似于windows划分C盘、D盘,并且不需要多个磁盘空间合一 图形化直接分区 通过gparted 这个提供直观的图形化分区,类似windows的磁盘管理工具 下载方式: 乌班图/debian系列: sudo apt install gparted红帽…...
Windows下sql server2012安装流程
准备工作 确认系统要求:确保 Windows 系统为 Windows 7 或更高版本,且为 64 位操作系统,CPU 在 2GHz 以上,内存 4GB 或更高。 下载安装包:从微软官方网站或其他可靠渠道下载 SQL Server 2012 安装包。 关闭相关软件&am…...
css之英文换行样式
在 CSS 中,要实现英文文本自动换行但不从单词中间断开的效果,可以使用 word-wrap 或 overflow-wrap 属性。以下是相关的 CSS 属性和它们的配置: 使用 overflow-wrap 或 word-wrap /* This property is used to handle word breaking */ .wo…...
绝美焦糖暖色调复古风景画面Lr调色教程,手机滤镜PS+Lightroom预设下载!
调色教程 通过 Lr 软件丰富的工具和功能,对风景照片在色彩、影调等方面进行调整。例如利用基本参数调整选项,精准控制照片亮度、对比度、色温、色调等基础要素;运用 HSL 面板可对不同色彩的色相、饱和度以及明亮度进行单独调节;利…...
文件解析:doc、docx、pdf
1.doc解析 ubuntu/debian系统应先安装工具 apt-get install python-dev libxml2-dev libxslt1-dev antiword unrtf poppler-utils pstotext tesseract-ocr \ flac ffmpeg lame libmad0 libsox-fmt-mp3 sox libjpeg-dev swig pip install textract解析: import te…...
计算机网络基础:VLAN(虚拟局域网)
1. VLAN 虚拟局域网:可以用来隔离广播 广播和广播域: arp 出不了路由器,只能攻击内网 路由器可以隔离广播(物理隔离)缺点是成本高、不灵活 2. VLAN 隔离广播 静态VLAN:基于交换机端口号划分 动态VLAN&am…...
C++学习笔记(十一)——循环结构
循环结构的作用 循环结构用于重复执行某一代码块,直到满足特定条件后退出循环。 C 提供了以下三种循环结构: for 循环(确定次数的循环)while 循环(条件控制的循环)do-while 循环(至少执行一次的…...
【C++】二叉树相关算法题
一、根据二叉树创建字符串 题目描述: 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 “()” 表示,转化后需要省略所有…...
物联网IoT系列之MQTT协议基础知识
文章目录 物联网IoT系列之MQTT协议基础知识物联网IoT是什么?什么是MQTT?为什么说MQTT是适用于物联网的协议?MQTT工作原理核心组件核心机制 MQTT工作流程1. 建立连接2. 发布和订阅3. 消息确认4. 断开连接 MQTT工作流程图MQTT在物联网中的应用 …...
【大学生体质】智能 AI 旅游推荐平台(Vue+SpringBoot3)-完整部署教程
智能 AI 旅游推荐平台开源文档 项目前端地址 ☀️项目介绍 智能 AI 旅游推荐平台(Intelligent AI Travel Recommendation Platform)是一个利用 AI 模型和数据分析为用户提供个性化旅游路线推荐、景点评分、旅游攻略分享等功能的综合性系统。该系统融合…...
【Node.js入门笔记1---初始Node.js)】
Node.js入门笔记1 初始Node.js1.Node.js简介2.Node.js中js的运行环境3.Node.js 可以做什么4.Node.js 怎么学 初始Node.js 1.Node.js简介 Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境,用于在服务器端运行 JavaScript 代码。它让开发者可以用 Java…...
自学Java-JavaSE基础加强(多线程)
自学Java-JavaSE基础加强(多线程) 一、创建线程1、方式一:继承Thread类小结 2、方式二:实现Runnable接口小结 3、方式三:实现Callable接口4、小结 二、线程的常用方法三、线程安全1、认识线程安全2、模拟线程安全问题3…...
基于国标12190-2021的电磁屏蔽箱多频段测试优化方案
1. 电磁屏蔽箱测试的核心挑战与国标12190-2021的价值 当你第一次接触电磁屏蔽箱测试时,可能会被各种专业术语和复杂的测试流程搞得晕头转向。我刚开始做这行时,最头疼的就是如何确保测试结果既全面又准确——特别是在不同频段下,屏蔽效能差异…...
RSA1 - Writeup by AI
RSA1 - Writeup by AI 1. 题目描述项目内容题目来源Bugku题目类型Crypto (密码学)考点RSA 大数分解、私钥计算题目信息 题目给出了 RSA 加密的三个参数: e 65537 N 1018261336751023520497560395829454421245429586704872293236600679847605951423419167478189648…...
从汇编指令到硬件行为:深入解析Aurix Tricore Trap触发与恢复的全过程
从汇编指令到硬件行为:深入解析Aurix Tricore Trap触发与恢复的全过程 当我们在调试Aurix Tricore处理器的异常处理机制时,常常会遇到一个令人困惑的现象:为什么有些Trap发生后程序能够继续执行,而有些则会导致系统崩溃ÿ…...
Qwen3-ASR-0.6B开发者案例:集成至CRM系统实现通话内容自动归档
Qwen3-ASR-0.6B开发者案例:集成至CRM系统实现通话内容自动归档 1. 项目背景与需求场景 在现代企业客户关系管理(CRM)系统中,通话录音是宝贵的业务数据资源。销售团队的客户沟通、客服中心的问题解决、业务洽谈的重要细节——所有…...
重庆银行:万亿新贵的高光与隐忧
对于重庆银行而言,2026年3月24日是一个值得载入史册的日子。就在这一天,该行正式发布了2025年年度报告,其资产规模突破以往周期,使其成功跻身“万亿级城商行俱乐部”。其中,该行的营收与净利润时隔五年再次实现了“双十…...
从Tcl脚本到实战:用Innovus自动化完成数字IC后端设计的5个高效技巧
从Tcl脚本到实战:用Innovus自动化完成数字IC后端设计的5个高效技巧 在数字IC后端设计领域,效率提升往往意味着项目周期的缩短和设计质量的提高。对于已经掌握Innovus基础操作的中级工程师而言,如何从手动点击界面过渡到自动化脚本驱动的工作流…...
零基础玩转BEYOND REALITY Z-Image:手把手教你搭建高精度文生图引擎
零基础玩转BEYOND REALITY Z-Image:手把手教你搭建高精度文生图引擎 1. 引言:为什么选择BEYOND REALITY Z-Image 在当今AI图像生成领域,BEYOND REALITY Z-Image以其卓越的写实表现力脱颖而出。这款基于Z-Image-Turbo底座和BEYOND REALITY S…...
GHelper终极指南:华硕笔记本性能优化的完整解决方案
GHelper终极指南:华硕笔记本性能优化的完整解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址:…...
深入解析:set_clock_groups中-physically_exclusive与-asynchronous的约束协同与必要性
1. 从Spyglass报错看时钟约束的必要性 最近在跑Spyglass做SDC检查时,遇到了一个让我困惑的报错:"当两个时钟设置成物理互斥或逻辑互斥时,需要另外加上这两个时钟是异步设置的约束"。这让我很纳闷,明明已经设置了物理互…...
Pixel Fashion Atelier部署教程:华为云ModelArts平台上的Ascend NPU适配实践
Pixel Fashion Atelier部署教程:华为云ModelArts平台上的Ascend NPU适配实践 1. 项目概述 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的图像生成工作站,采用独特的像素艺术风格界面设计。与传统AI工具不同,它将图像生成…...
