新闻详情

新闻详情

首页 / 资讯中心 / 详情

IC逆向工程全链路解析:从芯片解剖到网表恢复与硬件安全检测

发布时间:2026/10/2 12:16:07来源:尧图网络
IC逆向工程全链路解析:从芯片解剖到网表恢复与硬件安全检测
很多人一听到“逆向”两个字脑子里先蹦出来的是 APK 逆向、JS 逆向、单片机固件逆向教程这类偏软件的事。但 IC 逆向Integrated Circuit Reverse Engineering是另一个维度的活对象不是字节码和 JS 文件而是一颗真实的、封装好的芯片。TCHESIACR Transactions on Cryptographic Hardware and Embedded Systems这几年几乎成了 IC 逆向在学术圈的主战场每一届都有大量围绕芯片级安全分析的投稿。我这次要聊的是面向 TCHES 2026 周期整理的 IC 逆向综述视角把从样片解剖、逐层剥离、SEM 成像到网表恢复、硬件木马检测和对抗性混淆的完整链路串一遍。不管你是做数字 IC 设计、数字 IC 验证还是刚对芯片安全审计感兴趣这篇综述里的流程拆解和踩坑记录都应该对你有用。1. 为什么 IC 逆向能撑起一篇 TCHES 综述1.1 从“拆芯片”到“拆电路”的技术跨度IC 逆向这个词在很多人眼里就是拿酸煮芯片、在放大镜下拍照。但真上手做过的人都知道这只是整条流水线的前两个动作。完整的 IC 逆向要从一颗封好的芯片出发经过开封、逐层剥离、高倍成像、图像拼接、图形识别、网表提取最后才走到电路功能分析这一步。每一个环节都有独立的工艺约束和设备依赖任何一步做歪了前面几周的样品准备就全白费。TCHES 平台之所以频繁出现 IC 逆向工作是因为硬件安全里很多核心问题都得靠逆向来回答。芯片里到底有没有被人为插入的硬件木马代工厂有没有多留测试电路加密引擎的布局布线是否泄露了密钥路径——这些问题不把芯片翻个底朝天就永远只能靠猜。TCHES 的工作更多是“带着安全目的做逆向”是在通用逆向技术之上叠加了一整套安全分析的视角这和单纯做工艺分析或失效分析完全是两回事。1.2 从 TCHES 论文看研究焦点的迁移回顾 TCHES 这几年的硬件安全论文IC 逆向相关工作的焦点有明显迁移。早期的工作集中在硬件木马检测和供应链安全大家关心的是“在不知道原始设计的情况下怎么从实物芯片里还原出可信的电路结构”。第三方 IP 被恶意修改的案例一多学术界开始认真把逆向当作审计手段来用。最近两年焦点明显转向了自动化与对抗性。一方面深度学习被引入图像分割和标准单元识别让从 SEM 图像到门级网表的转化越来越像计算机视觉问题另一方面逻辑混淆logic locking、布局伪装camouflaged gates、拆分制造split manufacturing这些防御技术被不断提出逆向侧就反过来研究怎么绕过它们。这个攻防循环在 TCHES 上体现得特别明显每年提交里几乎都有“新的混淆方案”和“新的破解思路”成对出现。所以写 IC 逆向综述绝不能只按进攻或防守单线去写必须把攻防两条线放一起看。2. 一条完整逆向链路的设计与拆解2.1 链路总览从封装到网表我这里给出一条相对通用、也是 TCHES 相关论文里最常见的技术链路封装去除用化学或机械方式打开封装暴露芯片裸片。逐层剥离按工艺叠层顺序一层层去掉钝化层、金属层、介质层直到露出目标层。高倍成像用光学显微镜或 SEM 对每层表面拍照记录金属走线、接触孔、晶体管栅区的拓扑关系。图像拼接与对齐把同一层的成百上千张照片拼成整层大图再把不同层的大图按坐标做层间对齐。多边形提取与标准单元识别从图像中分割出多边形识别接触孔、过孔、晶体管边界匹配到标准单元库。网表重构与功能分析把标准单元连接成门级网表再通过逻辑分析还原模块功能定位安全关键路径。这个过程听起来像流水作业实际做起来是个反复迭代的工程。每剥离一层都要确认这一层图像质量发现成像不清或剥离过度就得退回重做。所以有经验的团队会先对报废样片跑一遍完整流程把所有工艺参数摸熟再上真正的目标芯片。我自己的习惯是至少准备三枚同样的样片一枚陪跑调参一枚正式反向一枚留作紧急备份。2.2 为什么必须逐层处理而不能“一刀切”现代芯片是十几层到几十层的三维堆叠结构金属层、介质层、晶体管层不在一个平面上没法一次看全。想看到底层的晶体管布局必须把上层金属和介质全部移开想还原完整电路连接关系又需要每一层金属走线的图像缺一层都会导致网表里出现悬空的信号。这就是 IC 逆向和 PCB 逆向最大的区别。PCB 逆向可以靠多层板 X 光或者上下两面拍照来解决但芯片级特征尺寸在纳米量级任何非破坏性手段都很难同时穿透多层并获得足够对比度。所以逐层剥离不是可选方案而是唯一现实路径。逐层处理时每一层的“终点判断”都要靠经验和设备读数来把控剥到目标层前一两层就要放慢节拍避免过蚀把关键特征毁掉。2.3 方案选型破坏性还是非破坏性正面还是背面逆向链条的第一个重要决策是方案选型。总体上有两条路线破坏性逆向和非破坏性逆向。破坏性逆向就是前面说的逐层剥离加成像精度高能还原晶体管级细节缺点是芯片一次性报废样品只能做一次而且高密度互连的现代工艺下层间对齐误差会累积后面层数越多越考验对位技巧。非破坏性路线目前主要有 X 射线断层扫描X-ray ptychography / nanotomography和同步辐射成像理论上可以在不破坏样品的情况下做三维重建。但这类设备昂贵、通量有限分辨率离金属层级的清晰识别还有不少距离目前更适合做工艺缺陷分析撑不起大规模网表提取。在 TCHES 相关研究里非破坏性方案更多作为辅助验证手段出现主流的网表级逆向仍然是破坏性流程。还有一个选择是正面成像还是背面成像。正面成像适合观察金属层走线和接触孔背面成像需要把硅衬底减薄从背面看晶体管的有源区常用在掺杂对比度观察里。实际项目中正背两面往往都要做因为有些层次在正面看对比度不够翻到背面反而清晰。这个选择会在制样阶段就决定好后面再想改样品可能已经被破坏了。3. 核心环节的操作细节与参数经验3.1 封装去除与样片制备封装去除是后续所有步骤的前提也是最容易毁样品的阶段。主流做法是化学开封利用热浓硝酸溶解环氧树脂封装材料暴露出裸片。实际操作中发烟硝酸加热到 80 到 120 摄氏度滴加到芯片表面控制反应时间等封装材料软化后用超声波或冲洗把残渣清掉。这里有个我踩过的坑加热温度和时间不能照抄论文参数。不同封装材料、不同批次的热固性树脂溶解速度能差出一倍以上。建议先用一枚同等封装的废片试出当前批次的时间窗口再在正式样品上操作。反应时间过长酸会渗到裸片边缘甚至腐蚀键合丝时间太短残胶覆盖区域在后面成像时会形成大面积黑影非常难处理。开封之后的裸片通常还要做表面清洁。用去离子水多次冲洗再在低温真空烘箱里烘一段时间确保表面没有残留酸液和水分。清洁不彻底的话后续 SEM 成像时会出现明显荷电效应图像发白发糊对焦都困难。这一步看似简单但很多人为了省时间跳过去后面在图像处理阶段哭都来不及。3.2 逐层剥离的工艺参数逐层剥离是整个链路里技术含量最高、也最需要反复试错的部分。下面给一组我在常规成熟工艺180nm 至 65nm 量级中常用的起始参数具体还要结合实验室设备调整处理对象典型方法起始参数参考注意点钝化层氮化硅/聚酰亚胺RIE 刻蚀CHF3/O2 混合气体射频功率 150W时间 30s 起步钝化层通常较厚靠颜色变化判断终点层间介质SiO2/TEOSRIE 或湿法反应离子刻蚀CF4/O2 配方湿法可尝试稀释 HF必须按金属类型单独调配方防止腐蚀金属金属层Al/W/Cu湿法腐蚀或离子铣铝可用磷酸系腐蚀液铜互连较麻烦常需 CMP 辅助铜互连蚀刻不均匀建议小步进多层试多晶硅/有源区显露湿法腐蚀加轻微抛光到达晶体管层级时改用低功率离子铣做最后一层最后几步宁可慢不可快一个重要的工程习惯是“小步进”。设定好基础刻蚀时间后每次只增加 10% 到 20% 的时长然后立刻放到显微镜下检查。宁可多跑几轮也不要试图一次到位。过蚀一次目标层的形貌特征就永久损坏了没有回头路。3.3 成像与图像拼接成像环节最常见的误区是只关注放大倍率忽略了景深和对比度。SEM 成像里工作电压、束流、探测模式的选择直接影响图像质量。对金属层背散射电子模式往往比二次电子模式更容易区分不同金属材质的明暗对有源区掺杂对比度则需要较低的加速电压和合适的倾转角度。拼接是另一个容易堵车的环节。一张 SEM 图像视野很小一颗几十平方毫米的芯片要拍几千甚至上万张照片。拼接时最怕漂移和亮度不均漂移会让相邻照片重叠错位亮度不均会让拼接缝像网格一样明显。我的做法是在拍摄阶段就规划好重叠率一般控制在 10% 到 20%固定扫描顺序在样片边缘做基准标记点后期用 OpenCV 或 Fiji 的 stitching 插件统一处理。千万别把希望全押在后处理算法上前期的拍摄纪律才是拼接质量的真正保障。3.4 网表提取与功能标注图像处理完之后进入信息提取阶段。网表提取有几个关键节点多边形矢量化、接触孔和过孔识别、晶体管栅区定位、标准单元分类。早期这项工作主要靠手动描图效率极低现在有 Degate 这类开源工具以及大量基于深度学习的单元识别方法可以把 SEM 图像直接分割成单元多边形。这个环节的最终目标是还原出门级网表再进一步到寄存器传输级的功能模块。拿到网表之后才能做硬件木马检测、侧信道路径分析或混淆逻辑破解。TCHES 相关文献里研究人员通常不会把完整芯片全部还原出来而是有针对性地抽取安全关键模块这样既能控制成本也能聚焦到具体安全问题。完整还原一颗复杂 SoC 的成本目前仍然高得离谱这是很多逆向论文都选择密码内核、真随机数发生器这类特定模块作为目标的原因。4. 实操中的工具选型与工程取舍4.1 常用工具链清单IC 逆向不是一个单机软件能搞定的活工具链通常要跨多个专业领域。我按阶段整理了一份自己用下来比较顺手的清单开封设备加热台、滴酸装置、超声波清洗机、通风柜。预算紧的团队可以自己搭量产级可以采购成套化学开封机。剥离设备RIE 刻蚀机、离子铣、CMP 抛光机。预算有限可以先靠湿法刻蚀配合手工抛磨但重复性会差很多。成像设备SEM 是主力配能谱模块EDX做元素分析更好光学显微镜用于快速检查和低倍拼接。图像处理Fiji/ImageJ 做拼接和基础滤波OpenCV 做批量轮廓提取Inkscape 做矢量化手工修正。网表提取Degate 是目前较完整的开源 IC 逆向工具能管理图层、标注单元、导出网表自己功底好也可以用 Python 封装 OpenCV 加 Yosys 做单元分类和网表整理。后端分析门级网表出来后用 Yosys / ABC 做逻辑综合和等价性检查用 Graphviz 画连接关系图辅助阅读。这里要特别提一句工具链的选型没有绝对最优关键看你的目标是什么。只想验证某个安全假设没必要把全套设备配齐如果是给设计团队做持续的反向审计那投入一套趁手装备是值得的。4.2 自动化的临界点很多刚入行的人会问能不能全自动我的经验是部分环节完全可以自动化但整条链路全自动目前不现实。成像环节一旦参数固定自动走位拍片完全可行图像拼接和基础标注也有现成算法。真正的瓶颈在于层与层之间的语义对齐SEM 图像上看到的几何形状和标准单元库里的逻辑单元之间那个对应关系需要大量经验去校准。换句话讲自动化帮你省掉的是“重复劳动”但“什么时候停下来、下一层怎么蚀、这个多边形算不算一个接触孔”这类关键决策还得人来拍板。在 TCHES 相关论文里自动化率是个卖点但论文里展示的高自动化率通常只针对特定工艺和特定目标模块换一颗芯片、换一条工艺线就可能失效。读这类论文时我会特别留意它们的实验设置如果只在一颗样片上验证我会默认这个方案还处于实验室阶段。4.3 成本和时间的现实考量成本是 IC 逆向里绕不开的话题。一台能拍纳米级特征的 SEM 价格不菲加上制样设备、洁净环境、专职工程师完整建一个团队的投入相当高。这也是为什么很多研究组选择租用共享平台或者和半导体分析服务商合作按小时计费去跑关键实验。时间上一颗 65nm 量级的中等复杂度芯片由熟练团队操作完整跑通从开封到门级网表通常是以月为单位计算。如果只对安全关键模块做局部抽取时间能压缩到几周。TCHES 论文里展示的那些完整案例背后往往是数月工作量只是成文时看起来轻描淡写。评估一个逆向项目要不要做、做到什么深度时间和成本模型必须先算清楚。5. 常见问题与排查技巧实录5.1 样品层面的坑开封阶段最常见的问题是“酸渗入导致键合丝腐蚀”。症状是芯片边缘出现异常暗区显微镜下能看到金属框架颜色发黑。排查思路是降低酸温、缩短反应时间开封后用氮气吹干而不是长时间泡水。剥离阶段最惨烈的问题是“目标层被过蚀”。症状非常明显原本应该清晰可见的多晶硅栅极区域变成一片空白或者整层金属消失。处理办法是接受现实从上一层的备份图像重新开始。为了防止这种悲剧我在到达关键层之前都会预留一枚陪跑片每次正式样片处理前先用陪跑片试一轮参数。这套习惯帮我省掉了至少三四次重做样品的成本。5.2 图像层面的坑图像拼接最常见的异常是“鬼影”——同一个特征在拼接缝两侧各出现一半看起来像重影。这通常是拍摄阶段样品台漂移导致的重叠率不足。解决办法不是在后处理里硬拼而是回到拍摄阶段提高重叠率并缩短单张停留时间。荷电效应导致的局部发白也是高频问题。特别是介质层较厚、导电性较差的区域电子束打上去电荷积累严重。可以试试喷镀一层几纳米厚的金属导电层或者降低加速电压并配合低真空模式。喷镀的问题在于导电层会掩盖表面细节所以能少用就少用能局部喷就不整片喷。5.3 网表重构的坑网表重构阶段最隐蔽的问题是“假连接”。图像上看起来像接触孔的过孔实际上可能是工艺伪影或残留物。如果这个假连接出现在安全关键路径上最终分析结论会被彻底带偏。我在实践中会以两层以上图像相互印证的方式验证关键节点的连接关系再用逻辑连通性检查排除明显异常的浮空节点。再有一个坑是标准单元库不匹配。同一工艺不同代工厂的库甚至同一代工厂不同版本的库单元形状都有差异。直接套用论文里的单元模板去匹配新工艺图像经常匹配不上。建议先手工标注一批有代表性的单元再做半监督式的扩展匹配比纯模板匹配可靠得多。我把常见问题整理成速查表方便你对照排查现象可能原因排查方向开封后边缘发黑酸渗入腐蚀键合丝降低温度和反应时间目标层空白剥离过蚀陪跑片先试参数小步进多层跑拼接图上重影拍摄漂移、重叠率不足提高重叠率缩短单张时间局部发白荷电效应降低电压必要时薄喷导电层网表浮空节点过孔漏识别或伪影多层交叉验证连通性检查单元识别率低工艺库不匹配手工标注后做扩展匹配6. 防御端的反制思路综述不能只看进攻6.1 布局层的伪装IC 逆向做久了自然就会关注防御端。布局伪装的常用手段是“看起来一样、实际不同”的标准单元在同一块面积里构造几种逻辑功能不同的单元但版图外观完全相同或者用假的接触孔和假过孔来迷惑逆向者。逆向人员辛辛苦苦还原出的多边形如果被假接触孔误导连出来的网表就可能是错的。这种伪装对人工逆向很有效但 TCHES 里已有多篇工作用多重曝光检查和逻辑比对思路把伪装单元的真实功能拆穿。所以现在的伪装研究也在升级不再单纯依赖视觉混淆而是把混淆方案和电路结构结合起来让“猜对单元形状”和“还原正确功能”之间没有直接对应关系。6.2 网表层的混淆网表层混淆也就是逻辑锁定logic locking在 TCHES 系列里讨论得非常充分。核心思路是给电路插入额外功能性逻辑让网表在没有正确密钥的情况下产生偏差功能。逆向者即使拿到完整网表也无法直接还原出正确功能。针对逻辑锁定攻击侧开发了一大批基于 SAT 求解器的破解算法基本思路是拿输入输出对来“问”电路不断排除错误密钥直到密钥空间收敛。防御侧则反过来设计对 SAT 攻击免疫的混淆结构比如加入点函数、限制输入对可区分性等。这个领域攻防节奏很快每届 TCHES 都有新花样跟踪起来非常费精力但也非常有意思。6.3 制造侧的安全措施制造侧思路更多是“不把完整信息暴露给单一实体”。拆分制造就是把设计拆成多个部分分给不同代工厂制造再在安全组装阶段拼接起来让任何单一制造方都拿不到完整电路。还有一类做法直接在晶圆级做处理比如把安全关键逻辑分散布置到不显眼的位置或者在后道工序中集成额外校准逻辑。这些防御手段的核心理念是把逆向成本推到极端让攻击者在时间、资金和技术上的投入远超预期收益。综述如果不提这一侧读者很容易误以为 IC 逆向只是单方面技术竞赛。实际上这个领域能一直往前走靠的正是攻防双方的互相刺激。7. 我个人在跟踪这些工作时的三个体会第一IC 逆向真正值钱的不是“把芯片照片拍下来”而是“从图像到语义的转化”。工具再先进最终还是要落到对电路功能和安全结构的理解上。我从 TCHES 论文里获得的最大帮助不是某个具体刻蚀参数而是那里面对于“可能被隐藏、混淆、篡改的地方”的建模思路。这种思路放到数字 IC 设计里也很有用——你理解了逆向者会怎么看你自然就知道设计上哪里要加小心。第二如果打算从零开始做这个方向性价比最高的入门路径不是攒设备而是先用开源数据练手。Degate 自带的示例工程、公开的芯片照片数据集、几个开源的逻辑锁定攻击工具足够让你把“网表提取之后该干什么”这件事想清楚。设备可以找平台租认知框架必须自己搭。我也见过一些人上来就盯着 SEM 和刻蚀机结果连标准单元和门级网表之间的关系都说不清那就本末倒置了。第三永远不要低估样品制备的工程性。再漂亮的算法论文到了真实芯片上如果开封阶段就失败后面全白搭。这也能解释为什么 TCHES 收录的高质量逆向工作往往有很强的实验支撑——这个领域不欢迎纸上谈兵。我的习惯是每读一篇这类论文都必须确认三个问题样品怎么准备的工艺参数怎么定的失败的案例怎么处理的。答不清这三个问题的工作复用价值都要打个问号。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

常州工学院编译原理试卷A解析:DFA、LL(1)与四元式考点全拆解 2026/10/2 13:07:34

常州工学院编译原理试卷A解析:DFA、LL(1)与四元式考点全拆解

简介:这份常州工学院编译原理试卷A(doc格式,55KB,共1个文件)面向计算机专业学生及备考者,用于检验和巩固编译原理核心知识。试卷覆盖正规表达式与最简DFA构造、逆波兰表示与三元式序列、文法二义性证明及语…

阅读更多 →
GCC编译优化级别全解析:从-O0到-Ofast的原理与实战 2026/10/2 13:07:15

GCC编译优化级别全解析:从-O0到-Ofast的原理与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenCode + TRAE CN + Superpowers 项目源码配置实战指南 2026/10/2 13:07:14

OpenCode + TRAE CN + Superpowers 项目源码配置实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AUTOSAR NvM模块深度解析:EEPROM与Flash存储管理实战 2026/10/2 13:07:14

AUTOSAR NvM模块深度解析:EEPROM与Flash存储管理实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
VSCode配置EasyX开发环境:解决“EasyX.h: No such file or directory” 2026/10/2 13:07:13

VSCode配置EasyX开发环境:解决“EasyX.h: No such file or directory”

fatal error: EasyX.h: No such file or directory。这一行红字,几乎每个在VSCode里写过EasyX的人都会撞上至少一次。如果你是从Visual Studio转过来的,可能会更懵:在VS里点两下装个库就完事,怎么到了VSCode连头文件都找不着&…

阅读更多 →
STM32入门核心逻辑:从芯片架构到实战调试的可迁移方法论 2026/10/2 13:07:12

STM32入门核心逻辑:从芯片架构到实战调试的可迁移方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉