
IC逆向这个在TCHESIACR Transactions on Cryptographic Hardware and Embedded Systems体系里不算新的话题这几年正在经历一轮明显升温。TCHES 2026虽然还有一段时间但从近几届收录论文的走向看芯片级逆向已经从实验室里少数人才能碰的硬核考古慢慢变成硬件安全研究里一条绕不开的能力基线。这篇文章我想梳理一下IC逆向在2026年这个节点上的整体面貌它到底逆什么、怎么做、难在哪、能用在哪些正经场景以及如果你是从软件逆向或者数字IC设计转过来的应该怎么理解这件事。整篇会按一条主线走先说TCHES这个舞台为什么值得关注然后拆IC逆向的技术栈再给一条可以落地的实操工作流接着讲难点和对抗最后落到应用场景与避坑经验。内容尽量兼顾新手和有基础的人原理部分用生活化类比实操部分给具体步骤争取让不同背景的读者都能从中拿到能用的东西。1. 为什么TCHES上的IC逆向值得单开一篇综述1.1 TCHES是一个什么样的平台TCHES全称是IACR Transactions on Cryptographic Hardware and Embedded Systems也就是国际密码学会旗下的密码硬件与嵌入式系统汇刊。它采用一种比较特殊的滚动投稿、快速发表模式文章达到要求就发表每年凑成四期同时以年度会议的形式组织学术交流。听起来像期刊但在硬件安全领域它的地位和顶会完全平级甚至因为不搞会议截稿日冲刺论文质量整体更稳定。这个平台聚焦的方向很具体密码算法的高效硬件实现、侧信道攻防、故障注入与对抗、真随机数发生器、物理不可克隆函数PUF、硬件木马检测、安全芯片设计以及IC逆向。IC逆向在其中一直是一个承上启下的角色——承上它能直接服务于漏洞发现和攻击实施启下它必须依赖半导体工艺、版图设计、逻辑综合这些底层知识。1.2 IC逆向在TCHES中的定位变化早期IC逆向在TCHES论文里更像配角。比如做侧信道分析前研究人员需要先提取目标芯片的网表搞清楚S盒放在哪、总线怎么走才能决定功耗采集点的位置。那时候逆向是手段不是目的。但近几届的收录情况明显在变逆向本身已经成为被研究的主角比如自动识别加密协处理器模块、从版图直接还原密码算法结构、以及针对逆向的混淆对抗方法。这个变化背后是产业需求的推动无论是评估一颗安全芯片的真实防护强度还是验证第三方IP核有没有恶意后门都需要快速、准确、尽量自动化的逆向能力。站在2026年往前看有几个方向大概率会更热第一是深度学习辅助的版图理解用分割模型自动标出金属连线、电源网络和标准单元区域第二是三维堆叠芯片的逆向问题多层晶圆键合让传统逐层研磨方案失效第三是量子计算硬件也开始进入TCHES视野对量子芯片做故障分析和逆向提取会成为新的探索点。后面这些内容展开讲篇幅很大本文先聚焦在传统IC逆向的主干流程上。2. IC逆向到底在逆什么一套完整技术栈拆解2.1 从一颗芯片到一张网表的三个台阶IC逆向的第一步是把物理芯片变成版图图像第二步是把版图图像变成电路连接关系第三步是把连接关系变成看得懂的功能逻辑。我用一个生活化的类比来解释这相当于拿到一台陌生机械手表先是拆开外壳拍X光片然后是照着X光片画出每一个齿轮的咬合关系最后是根据咬合关系推算出它是怎么计时的。这三个台阶对应三种完全不同类型的工作。物理层依赖材料和化学知识核心操作是腐蚀、研磨、拍摄结构层依赖图像处理和模式识别核心操作是像素级追踪金属线逻辑层依赖数字电路和计算机体系结构知识核心操作是逻辑化简和行为推断。一个人很难同时精通这三层所以现实中IC逆向项目基本都是团队作战化学工程师、图像算法工程师、数字IC工程师各管一段。2.2 版图分析几乎是在看图说话版图分析是IC逆向里最耗时、也最容易被低估的一步。芯片去层后每一层都要用光学显微镜或扫描电子显微镜SEM拍摄大量照片然后拼成完整芯片的全景图。这个环节的技术难点不在拍照本身而在对齐每一轮去层都会让芯片产生微小的形变和位移上一层的金属连线到下一层就对不上了必须通过软件做非线性配准。拿到对齐后的各层图像接下来就要追踪连线。芯片顶层是电源和地线网络看起来像一片密集的网格中间层是信号线细而密底层靠近晶体管的是多晶硅栅和局部互连。追踪连线的工作可以直接用图像处理算法做半自动标注比如按照颜色和亮度识别不同金属层再沿着线宽方向逐段推进。但对不规则的绕线区域算法经常断线还得人工回头补。标准单元识别是版图分析里最有意思的一块。现代数字芯片的绝大多数逻辑门都是标准单元也就是说同样的与非门、或非门、触发器等在版图上会长得几乎一样。只要建立一个标准单元库的模板图像库然后用模板匹配或者深度学习分类器去扫描整个芯片图像就能把几百万个单元自动标出来。这也是为什么逆向一颗老工艺芯片相对容易——老工艺的单元尺寸大图像清晰模板匹配的成功率非常高。2.3 真正的逆向从门级网表到功能理解拿到单元识别结果并提取出连线关系之后手里就有一份门级网表了。但门级网表离理解功能还很远它只是成百上千万个门和连线的清单。接下来要做的是逻辑层逆向。逻辑层逆向通常分几步走。第一步是做布尔化简把标准单元网表导出成布尔表达式用工具化简冗余逻辑这一步可以去掉电路里为了可测试性或者时序优化添加的额外结构。第二步是识别寄存器和存储阵列凡是有时钟端、有反馈环的单元簇大概率是触发器阵列排布规则、行列译码结构明显的区域就是SRAM或者寄存器堆。第三步是划分功能模块这一步有点像软件逆向里的函数边界识别——电源网络的分布、时钟树的形状、以及模块之间的总线连接都能帮助划定CPU核心、加密协处理器、总线控制器这些高层模块。做完这三步逆向工程师手里就有了一个带模块标注、带寄存器行为的近似RTL描述。如果要进一步验证理解是否正确可以把提取出的网表送入硬件仿真器喂一组已知测试向量观察输出是否符合预期功能。严格讲这一步得到的不是芯片原始RTL而是一种行为等价的功能模型但对安全分析和漏洞挖掘来说已经够用了。3. 实操环节一条可以落地的IC逆向工作流3.1 前端开封、去层与成像先说前端操作。收到一颗芯片第一步是开封也就是把封装材料去掉露出裸片。常见做法是用发烟硝酸在加热条件下腐蚀环氧树脂封装操作温度一般在70到80摄氏度配合超声波震荡加速反应。正面开封会保留衬底适合看金属层和标准单元背面开封则是从硅衬底一侧往下磨适合做衬底减薄和红外成像。去层是逆向里最考验手工的环节。每去一层金属或者介质就拍一轮照片然后再去下一层。层次顺序大致是钝化层、最顶层金属、层间介质、下一层金属……一直到多晶硅和扩散层。去介质用反应离子刻蚀或者化学机械抛光CMP去金属用湿法腐蚀不同金属还得配不同腐蚀液。这里有一个很重要的实操经验去层的时候不要贪快宁可每层多花时间确认腐蚀均匀也不要一次腐蚀过头。腐蚀过头就意味着丢失一整层的信息而且无法补救。成像设备的选择取决于工艺节点。0.35微米以上的老工艺普通光学显微镜就能拍清楚0.18微米到90纳米之间高倍光学显微镜加图像叠加勉强可用65纳米以下就必须上SEM了而且常常要配合FIB聚焦离子束做定点截面观察。对于TCHES研究里常见的智能卡芯片、安全微控制器一般落在0.18微米到65纳米这个区间一台好一点的光学显微镜加一台SEM基本能覆盖大多数场景。3.2 后端图像处理与网表提取后端分析现在已经有比较成熟的开源工具链可以参照。图像拼接可以用ImageJ或者OpenCV的Stitching模块做层间配准需要自己写一点代码常见思路是用参考标记点加非线性变换模型标准单元识别可以基于OpenCV的模板匹配起步也可以用深度学习做分割。连线追踪是网表提取的核心。实际操作中推荐先跑一遍自动追踪把每一层里连续、清晰的连线全部提取出来标记好走向然后针对自动追踪结果里的断点、鬼影和错连做人工校对。千万不要一开始就追求全自动因为金属连线在图像上的断裂在去层工艺里几乎不可避免任何自动算法都会在断裂处犯错纯自动提取的网表里往往藏着大量假短路和假断路后期排错能把人逼疯。个人比较推荐的流程是半自动三层迭代先用模板匹配把标准单元的位置全部标出来然后只对单元之间的连线做追踪因为这段距离短、走线规律最后把电源地网络单独提取用图像形态学方法填充电源网格区域剩下的才是信号连线。这样分而治之每一步的错误都被限制在局部排查起来容易得多。3.3 工具与成本说明IC逆向的成本是很多人没概念的。一台能用于65纳米以下节点的SEM起步价就在百万级一台带激光的FIB更是千万级即使只做老工艺芯片化学通风橱、超声波清洗机、研磨抛光机、高倍光学显微镜加起来也是几十万到上百万的投入。对个人研究者或者小团队比较现实的路径是借助商业实验室的服务。Chipworks、SGS、TechInsights这些机构提供专业的芯片拆解和逆向服务按小时或者按项目收费一颗芯片从开封到出网表可能要数万到数十万美元。不过很多TCHES团队会选择只购买前端的去层和成像服务拿回图像自己分析这样成本可控还能保留核心研究内容。开源工具方面Degate是绕不开的一个名字它专门用于芯片图像的门级分析支持标准单元匹配和连线追踪还有OpenIC等一些学术界发布的原型工具以及最近几年基于深度学习的单元识别框架。用这些工具搭一条最小可用流程难度不高但要达到TCHES论文级别的完整度还是需要自己补很多工程代码。4. 难点与对抗为什么IC逆向难难在哪4.1 先进工艺下的物理难题先进工艺给IC逆向带来的麻烦首先是物理极限。65纳米以下的金属间距太窄光学显微镜已经失去分辨率必须依赖SEM而SEM图像虽然有纳米级分辨率但视场很小要拍摄一整颗芯片就得做上千张图的拼接数据量轻松到几百GB甚至TB级别。存储和算力都不是问题但对齐误差和亮度不一致会让拼接质量下降影响后续识别。FinFET工艺则让晶体管本身变成了三维结构传统的平面图像只能看到鳍片顶部无法直接还原沟道和栅极的真实形态。想完整提取FinFET器件的电路连接必须做逐层截面切片这对设备的依赖比平面工艺高了一个量级。再往后的纳米片环栅GAA器件三维结构更复杂现有的平面逆向方法论几乎要推翻重来。材料层面也有麻烦。低介电常数介质和铜互连的组合在去层时比铝连线时代更脆腐蚀液的选择窗口很窄先进封装里的三维堆叠芯片则把多层晶圆键合在一起想访问内部某一层必须先处理硅通孔和混合键合界面一旦操作失手整颗样品就废了。4.2 来自设计方的对抗安全芯片如何反逆向有攻击就有防御。安全芯片在设计阶段就针对逆向做了大量对抗这也是TCHES论文最喜欢深挖的内容。第一类对抗是物理防护。主动屏蔽层Active Shield在芯片最上层布了密密麻麻的蛇形导线网络运行时会持续检测这些连线的完整性一旦有探针接触或局部移除就会触发报警。拆解这种芯片时必须先小心翼翼地处理屏蔽层既要移除它又不能触发内部的安全状态。第二类对抗是逻辑混淆。门级伪装Camouflaging让版图上的标准单元看起来都长得差不多实际功能却不同逻辑加密Logic Locking则向电路里插入额外的密钥逻辑没有正确密钥芯片功能就无法正常激活。对做逆向的人来说提取出这样的网表只完成了一半还得额外花精力去推断哪些是插入的混淆逻辑并识别出真实功能。TCHES上关于如何破解逻辑加密如何设计更抗破解的逻辑加密的攻防论文这些年一直很活跃。第三类对抗是架构级的比如关键数据总线加密、存储内容加扰、状态机打散。即使逆向出了完整网表面对加密总线和打散的状态机你依然很难从高层逻辑上把功能串起来。这也是为什么现代IC逆向越来越多地和形式化验证、密码分析结合而不只是纯粹的版图复原。4.3 行业热词看生态软硬逆向的边界与交集搜索IC逆向相关信息时你会发现逆向这个词在网络热度上几乎被软件逆向占据了。js逆向、app逆向、apk逆向、爬虫逆向这些方向因为入门成本低、工具链成熟IDA Pro、Ghidra、Frida等活跃度非常高。而IC逆向因为要碰试剂、碰设备、碰工艺门槛天然高一大截讨论热度远不如软件侧。但两者的方法论内核其实是相通的都是黑盒观察、数据采集、行为推断、结构还原。会做软件逆向的人如果懂一点数字电路转做IC逆向时在功能理解那一层反而有优势因为网表还原之后做的事和反编译之后的代码分析非常像梳理数据流、找关键状态寄存器、识别协议处理逻辑。热词里还有大量数字IC学习、数字IC验证、模拟IC设计的内容这恰恰说明一个趋势越来越多想进入IC领域的人正在把设计流程的基础打牢而设计知识正是逆向能力的前置条件。一个懂标准单元库设计、懂静态时序分析、懂验证方法学的人去理解一颗陌生芯片的网表效率远高于只懂逆向工具的人。反过来长期做逆向的人再看设计也会对这样一个结构在实际流片里合不合理有更敏锐的判断。这两个方向不是孤立的而是互为镜像。5. 应用场景与影响范围看懂IC逆向综述能带来什么5.1 学术研究场景在TCHES语境下IC逆向最常见的应用是硬件木马检测和安全评估。硬件木马检测的思路是拿一颗被怀疑植入恶意逻辑的芯片做完整逆向把提取出的网表和生产方提供的参考设计做比对多出来的、不服务于正常功能的逻辑块就是嫌疑点。这个思路在理论上非常干净但工程上跑通的人很少因为完整逆向一颗先进工艺芯片的成本太高所以TCHES里很多工作是围绕如何只对关键区域做逆向展开的比如先用扫描光子显微镜找异常发热点再针对热点区域做局部逆向。安全评估场景也很典型。安全芯片的广告宣传是一回事实际防护强度是另一回事。通过对一颗芯片做逆向研究者可以直接看到随机数发生器是否用了足够熵源、S盒的实现是否存在侧信道泄漏点、故障检测电路覆盖了哪些区域又漏掉了哪些区域。这些都是TCHES论文最常见的素材。另一个重要场景是故障注入和侧信道分析的前置。激光故障注入需要在芯片表面定位目标逻辑区域这就要靠逆向得到的版图信息来导航功耗分析如果手里有一份准确的网表就可以做更精细的仿真预先评估哪个位置的信号翻转对密钥恢复贡献最大。5.2 产业与合规场景产业界的IC逆向需求一直很大但公开讨论少得多。失效分析是其中最正当的一种——芯片出了问题掰开看内部结构找到烧毁或异常的位置判断是工艺缺陷还是设计缺陷这种物理层面的故障定位本身就包含大量逆向操作。IP比对与侵权鉴定是另一个常见场景。当两个芯片功能高度相似时通过逆向比对版图的单元布局和连线方式判断是否存在抄袭这种应用在知识产权诉讼中经常出现。任何做这类工作的人都需要严格在法律框架内行动具体流程和建议咨询专业法律人士这里不展开。从设计方的视角看了解IC逆向的直接收益是知道对手能做到什么程度。当你设计一颗安全芯片时如果不知道标准单元在SEM下长什么样、不知道主动屏蔽层在FIB截面下是否能被识别、不知道逻辑混淆在机器学习辅助下有多脆弱那你的防护设计就是盲目的。这也是我特别建议数字IC设计工程师读一些逆向论文的原因——攻击者用什么手段拆你的芯片你应该比攻击者更清楚。6. 常见问题与避坑指南6.1 六个容易踩的坑第一个坑是低估图像对齐的难度。很多新手拿到去层图像以为层与层之间天然重叠结果一叠加发现完全错位。金属层厚度的微小差异、腐蚀液对介质的侧向侵蚀、衬底的局部翘曲都会导致像素级偏差。正确做法是在设计去层方案时就在无源区预留标记点或者依靠芯片角落的对准标记做全局配准而不是事后靠软件盲目找特征。第二个坑是误以为自动化工具能直接出网表。现有工具链确实能完成单元识别和连线追踪但自动化产出的网表错误率通常在百分之几到百分之十几在数万门的芯片里就意味着上千个错误。入门者最容易犯的错误就是拿自动结果写论文结果被审稿人一眼看出逻辑矛盾。网表一定要经过仿真验证哪怕只是局部模块的仿真都能暴露大量提取错误。第三个坑是去层不干净导致假短路。层间介质没有完全去除干净时金属残留物会桥接相邻导线在后端分析里表现为大量莫名其妙的短路。做去层时每一层都要用显微镜检查表面残留宁可多花时间返工也不能带着污染进入下一层。第四个坑是单元库匹配不做校对。不同工艺线的标准单元虽然在功能上相似但版图形状差异很大用一个0.18微米的单元库去匹配0.13微米工艺的图像识别准确率会很差。如果实验室没有目标工艺的单元库更稳妥的做法是用电路结构推断而不是直接模板匹配或者先人工标注一小片区域训练一个针对当前工艺的分类器再批量识别。第五个坑是贪大求全一上来就想逆向整颗SoC。几千万门的芯片完整逆向数据采集和处理量都是天文数字个人或小团队根本扛不住。正确的做法是先用全局拍摄定位目标模块的位置比如通过扫描光子显微镜找发热区、通过红外图像找大块SRAM再用局部高分辨率拍摄锁定几平方毫米的区域做精细逆向。第六个坑是忽视安全。去层用到发烟硝酸、氢氟酸等强腐蚀试剂操作必须在专业通风橱里进行个人在普通实验室做芯片开封出事的案例并不少见。另外做逆向还有一个容易忽略的问题——样品保护。做完一层拍完照样品必须保存在干燥无尘环境中否则后续去层会被颗粒污染。6.2 入门路径与资源建议如果想认真入坑IC逆向我给的建议是从老工艺芯片开始。找一颗0.35微米或者0.18微米的简单芯片比如PMU电源管理芯片、温湿度传感器芯片这类芯片内部结构简单、金属层少用光学显微镜加化学开封就能跑通完整流程。不要一上来就碰智能卡或者安全MCU那些芯片的防护设计会直接摧毁新手信心。工具链方面开源的Degate仍然是最好的起步选择。它支持导入芯片图像手工或半自动标注单元和连线还能导出网表。配合ImageJ做图像预处理、用OpenCV写配准脚本完全能搭出一条跑通0.18微米芯片的个人逆向流水线。知识准备上建议补三类基础。第一是数字IC设计流程至少要知道标准单元是什么、综合是怎么回事、APR布局布线之后的版图长什么样推荐去看标准单元库设计文档第二是半导体工艺基础了解金属层结构、层间介质、钝化层这些概念推荐读芯片制造相关的工艺教材第三是硬件描述语言和逻辑综合因为提取出的网表最终要转成Verilog做仿真和理解。另外B同学们如果对TCHES论文感兴趣可以重点看几类关于版图图像自动识别的、关于逻辑混淆攻防的、关于硬件木马检测的这三类能帮你快速把握这个领域的最新玩法。我个人在实际操作中体会最深的一件事是IC逆向与其说是一个技术不如说是一套工程耐心的考验。软件逆向遇到瓶颈多点几次单步调试就能有线索IC逆向的瓶颈往往是物理性的一张图不清晰、一层没磨平、一段连线跟丢都只能靠重复劳动重新来。但也正是这种粗粝感让每一次成功还原模块功能时的成就感被放得很大。最后分享一个我后来一直用的小技巧每次去层拍摄时不要只拍当前层顺手把下一层的对焦参考点也记录下来。这多花的几分钟时间能在后端配准环节帮你节省几个小时。这类细节在论文和工具文档里永远不会写但恰恰是这些细节决定了你是能用一周时间拿到干净网表还是用一个多月在一个错误对齐的图层上反复挣扎。IC逆向的世界就是这样没有捷径但每一条弯路走完之后都会变成你判断下一颗芯片如何下手时的直觉。