© 2006 WeBoch.Com.cn 版权所有:深圳市伟博创科技有限公司
地址:深圳市福田区振华路苏发大厦305栋405 电话:0755-83240703 传真:0755-83240724
 
主要产品系列 
Microcontrollers

微控制器(MCU)破解秘笈之五

2009-4-17

                                                                     第五章
侵入式攻击
    这种攻击需要直接接触元器件的内部。如果是个安全模块或看门狗,就需要打开它,然后读芯片的存储器。对于智能卡或微控制器,需要打开封装后,用聚焦离子束或激光除去钝层,用以接触深埋在芯片钝化层下的内部连线。这种攻击需要良好的装备和经验丰富的破解者。同时,随着特征尺寸的减小和器件复杂度的提高,侵入式攻击的开销越来越昂贵。某些操作如打开封装和化学腐蚀,几乎人人都可以做,只需很小的投资和有限的知识即可。同时, 如用光学方法读取旧式的掩模ROM,或对使用两层金属,1微米线宽的芯片进行反向工程,是很容易成功的。
    通常的侵入式攻击用来作为了解芯片功能的手段,然后由此研究更廉价和快速的非侵入式攻击方法。
5.1 样品的准备
    侵入式攻击开始于部分或全部除去芯片的封装,以暴露硅晶粒。总共有几种方法打开封装,取决于封装的类型和以后分析的需求。对于微控制器,通常使用部分打开封装的方式,那样器件就可以放在标准的烧写器上,并可以测试。有些器件需要保持它们的电性能,不能被打开封装。在这种情况下,芯片的晶粒需要使用焊接机器将晶粒焊在芯片载带上,通过金线或铝线连到晶粒的焊盘。与晶粒的连接也可以用探针站的微探针保持接触。

                              为了能在FIB或SEM下工作,芯片表面需要涂一层薄的金层使之导电,否则会很快积累电
                                                                                  子,图像会一团漆黑。

5.1.1 打开封装(Decapsulation)
    打开芯片的封装是个复杂的过程,需要很多经验,这是个共识。(译者注:本章节操作时使用到强腐蚀的化学物品,对人身安全极具威胁,故不予翻译。
    译者曾在PSG里做过一段时间的FA,当时只要打开自来水的开关,就会闻到一股酸味。当然,现在没有那种“特异功能”了。
    市场上已出现一种表面呈灰白色的存储器芯片,封装材料的成份异于常见的黑色芯片。据说用原著中的配方打不开它的封装。)

5.1.2 逆向处理(Deprocessing)
    该过程与芯片制造的流程相反。(译者注:本章节操作时使用到强腐蚀的化学物品,对人身安全极具威胁,故不予翻译。)

 

 

 

 

5.2 反向工程(Reverse engineering)
    反向工程是用来理解半导体元器件的结构和功能的技术。对于ASIC,意味着可以获得关于所有晶体管和内部互联位置的信息。为了获得成功,需要具有集成电路设计方面的知识。芯片制造时的所有层次结构需要反向逐一剥离,并摄像以获取芯片的内部结构。最后,处理所有获得的信息,创建一张标准的网表文件用于进行模拟半导体器件。那是个冗长且耗时的过程,但有些公司将此作为标准的服务。
    当开始对智能卡和微控制器进行反向工程时,需要器件的结构和程序代码来理解器件是如何工作的。需要明白芯片的哪些地方与安全保护有关,如果存储器总线进行了加密,需要对硬件的响应进行反向工程。最后,获得内部存储器的内容,进行反汇编来理解器件的功能。
    对CPLD或FPGA进行反向工程稍有不同。即使攻破安全保护,并获得了器件的配置位流文件。也不得不花很多时间和精力来将它转换成逻辑方程式和简单的模块来进行稍后的模拟和分析。
5.2.1 使用光学图像来重建版图
对于0.18微米以下特征尺寸的硅芯片进行反向工程,带CCD摄像头的光学显微镜是个重
要的工具,用它来获取高分辨率的芯片表面图像。不是每一种显微镜都可以的。因为光线不能透过芯片,显微镜需要使用反射光源。图像要清晰,没有几何失真和色彩异常,否则很难进行图片对接。标准的100X物镜(NA=0.9)的实用最大分辨率大约是0.3微米。为了获得更高的光学孔径,可以使用浸水物镜和浸油物镜,对于100X的物镜,最大分辨率可以达到0.2微米。另一种增加分辨率的方法是使用更短的波长,使用360纳米的近紫外线,分辨率可以提高到0.18微米,但这需要特殊的CCD镜头。
    高分辨率的显微镜的主要缺点是物镜和样品之间的有效距离太短,特别是在高放大倍数下。结果导致不能观察封装被部分打开的芯片,需要芯片的封装全部剥掉。使用长工作距离镜头的显微镜可以解决这个问题,但分辨率很低。 另一个问题是高分辨率物镜的焦点很短,这使得焦点外的平面看上去很模糊,降低了图像的质量。在多层芯片中需要倍加注意,因为顶层到底层的距离大于1微米。共焦显微系统减少了这种影响,所有焦点外的平面呈黑色或显示不同的颜色。这样的系统很昂贵,特别是带激光扫描的,只有相对较大的实验室才可能装备。 重建版图需要芯片内部所有层的图像进行整合。通常使用电动工作台来获取图像,用特殊的软件来整合所有图像。
    通常,特征尺寸等于或低于0.13微米的半导体芯片,需要使用SEM来获取图像,SEM的分辨率可以达到10纳米。(译者注:每次从硅芯片上腐蚀掉一层,并进行照相,然后利用肖特基效应显示N掺杂区和P掺杂区。原理是将一薄层金或钯沉积到硅表面以形成二极管,这些二极管可以在电子束作用下被观察到。芯片的各层图像经计算机处理,从而确定芯片基本参数和掩模版,电路图以及库单元列表。这种方法曾被成功用于英特尔80386处理器的反向工程。)
5.2.2 获取存储器内的信息
    直接用光学的方法获取存储器内的信息只对确定类的掩模ROM有效。如在MC68HC705P6A微控制器中,使用1.2微米技术的带有效层编程的NOR掩模ROM,可以在500X显微镜下读出。

 

5.3 微探测技术(Microprobing)
    侵入式攻击的最重要的工具是微探针站。有五大部分:显微镜,工作台,元器件测试座,显微镜操作器和探针。通常显微镜有三到四个物镜来调节不同的放大倍数和聚焦深度。探针可以用来捕获或注入信号,如果直连到示波器,通常就有较大的电容和较低的阻抗。这样就不适合探测芯片内部的信号,除非用在带缓冲的总线上。有源探头就可以连到焊盘上,它有很大的带宽,较低的电容和较高的阻抗。对于大部分应用,1微米精度的工作台已经足够了。

       通常为获得如存储器内容或密钥之类的信息,微探针放在数据总线上。同时观察整个总线是很困难的,有多种方法可以克服它。如存储器的读操作要重复多次,2-4个探针用来观察信号来组合成完整的总线波形。从智能卡中获取信息更困难,它们的软件通常不提供任何访问内部存储器的接口。为获得成功,我们就复用处理器的部分组件如地址计数器或指令解码器来访问所有的存储器单元。程序计数器在每个指令周期都在自动增加,用来读下一个地址。这极为适合存储器扫描。我们所要做的只是防止处理器执行跳转,引用或返回指令,不能让这些指令弄乱程序计数器。对指令解码器或程序计数器进行微小的修改就能达到这种效果。这不是个轻松的活,通常需要部分反向工程处理器的电路。对于现代带顶层网格保护和混合逻辑设计的智能卡更具挑战。
5.3.1 激光切割器(Laser cutter)
    在硅芯片上,顶层铝互联线被钝化层覆盖着。在探针可靠接触前要除去钝化层。最方便和最容易使用的方法是使用激光切割系统。

      通常,紫外线激光用来除去聚酰亚胺(Polyimide)或别的有机层,这些经常出现在钝化
层顶上。紫外线激光也可用来切割钝化层,绿激光用来切割金属线。红外激光用于切割顶层金属,形成通孔来访问第二层的金属层。

5.3.2 FIB工作站(Focused Ion Beam workstation)

对于0.5微米及以下的半导体器件需要更有效的工具来建立与内部线路的连接。这种工具就是FIB工作站。不仅可以制作测试点,也可用来成像和修复。在失效分析中,用来准备切面和缺陷分析。拥有极好的空间分辨率和精度,足以在深亚微米技术的晶粒上制作探测点。FIB工作站包括一个真空室,与SEM不同的是内有一个电子枪,镓离子从液态阴极出发加速并聚焦成直径为5-10纳米的束流。通过增强离子束的电流,芯片材料可以被除去。通过注入碘之类的蒸汽可以有更好的腐蚀率。可以制作访问底部金属层的窗口而不损伤附近结构。
通过注入铂基的有机气体,可以制造新的连接。使用别的化学成分,甚至是绝缘物,可以沉积到底部金属到表面的连接,而不用接触任何覆盖层。

FIB可以在芯片表面以0.1微米的精度进行移动,而不论芯片表面结构或芯片的平整度。使用红外线成像,可以从芯片的背面定位某个晶体管,
5.4 修改芯片
    并非一直需要使用微探测技术来从芯片的内部总线获取信息。有时侯,特别是对于微控制器,可以通过切割掉内部的金属互连线或破坏掉控制电路来屏蔽掉安全保护。FIB很容易将传输安全保护状态的金属线连到地上或电源上。微探针也能做到,但对于埋在芯片内部的金属线就无能为力了。

     芯片修改至少需要对芯片进行反向工程来找到可以破解的点,这意味着只有装备精良且训练有素的破解者才有可能获得成功。