GDSII图片生成与校正*

2014-09-14 01:24邝继顺李少青
计算机工程与科学 2014年2期
关键词:金属线木马校正

胡 星,邝继顺,李少青

(1.湖南大学信息科学与工程学院, 湖南 长沙 410082;2.国防科学技术大学计算机学院,湖南 长沙 410073)

GDSII图片生成与校正*

胡 星1,邝继顺1,李少青2

(1.湖南大学信息科学与工程学院, 湖南 长沙 410082;2.国防科学技术大学计算机学院,湖南 长沙 410073)

随着芯片设计、生产环节的增多,芯片中存在硬件木马的可能性越来越高,对于安全性要求较高的芯片就需要对其进行硬件木马检测。反向解剖芯片并将其与原始GDSII文件进行一致性比对是检测芯片是否被植入硬件木马的主要方法之一。而从GDSII文件生成与反向解剖芯片的照片一一对应的图片(后面统称为GDSII图片)是木马分析的重要步骤,为此提出了两点定位算法对GDSII图片进行分割;同时,针对芯片照相和拼接过程中存在图片信息位置偏移的问题,提出了一种基于偏差统计的校正算法。经过工程实际应用证明,该算法较好地校正了GDSII图片与芯片照片的偏差,消除了因为图片信息位置偏移所带来的影响。

GDSII;图片;生成;校正

1 引言

现阶段我国部分自主芯片是在国外生产制造,不能排除被恶意植入有害逻辑或硬件木马的可能,硬件木马将成为未来国家间打击对手的秘密武器[1],因此需要对芯片进行硬件木马分析检测。物理检查[2]是最常见的一种硬件木马检查方法,它本质上是一种基于失效分析的技术,属于破坏性的木马检测手段。将流片后的芯片进行解剖照相,提取照相图片中的金属线图案,与从GDSII文件提取的图片作比较,标注出照相图片与GDSII图片之间差异图案的形状位置,以备技术人员对其进行分析,验证其是否为有害逻辑或木马。

但是,研究发现,当芯片的全部信息存在于一整张照片中时,其处理结果无法准确地对信息不同的位置进行定位。因此,本文采用将解剖照相的图片与GDSII图片进行分割的方法,即把解剖芯片得到的照相图片拼接后再重新将整个芯片照相图片切分成很多个小块图片,同时将GDSII图片生成与小块图片一一对应的图片,将两者进行一致性比对。

对于芯片的解剖和照相工作,已有专门的公司对其进行处理,可得到切分的芯片照相图片。但是,本文的数据只有GDSII文件生成的整个芯片的图片,需要在它的基础上生成与切分的芯片照相图片一一对应的GDSII图片。针对此问题,本文提出了两点定位切图算法进行GDSII图片生成;同时,针对位置偏移的问题,本文提出了一种基于偏差统计的校正算法,最终生成校正好的GDSII图片,使得硬件木马分析检测能够施行。

2 GDSII两点切图算法

芯片照片是jpg格式的,其信息与像素相关的,而GDSII的信息则与物理坐标相关。两者文件格式不一样,因此应知道像素与物理坐标之间的关系。本算法首先要确定两对坐标,一是确定芯片照片中的任意两点在整个芯片照片中的坐标,二是与上述两点相对应的EDA软件GDSII图形界面中的物理坐标,利用这些坐标找出照片与GDSII之间的对应关系,从而算出每张芯片小照片对应在EDA中GDSII的区域范围,并将此区域范围切割下来形成图片,最终得到一一对应的目标GDSII小图片。

芯片的解剖照片采用的命名方式如图1a所示。图1a中芯片照片由m行、n列组成,照相图片采用的命名方式为a_b.jpg,其中a和b分别代表照片所在的行和列。

Figure 1 Naming of photographic images and the two points found in the images图1 照相图片的命名方式与芯片照片中寻找到的两点

设定照相图片的像素坐标系如图2a所示,其坐标原点处于坐标系左下角。然而在EDA中打开的GDSII图形界面中,GDSII物理坐标系的坐标原点可能出现在图像的内部,如图2b所示。

Figure 2 The pixel coordinate system of photographic image and physics image coordinate system of GDSII picture in EDA图2 照相图片中的像素坐标系与EDA中GDSII物理坐标系

根据两坐标系间的区别与联系,确定算法步骤如下:

(1)根据不同两点算出照相图片对应的物理坐标宽度。为了缩小累计误差,分别在芯片照片中的左下角和右上角找到两点,如图1b中的点phy_imga和点phy_imgb。同时定义点的数据结构为:

structphy_img{

intimg_x;/*该点在芯片照相图片中x轴的像素坐标*/

intimg_y;/*该点在芯片照相图片中y轴的像素坐标*/

doublephy_x;/*该点在GDSII中x轴的物理坐标*/

doublephy_y;/*该点在GDSII中y轴的物理坐标*/}

记录这两点的四个值img_x、img_y、phy_x和phy_y,分别生成结构体phy_imga和phy_imgb,计算出照相图片对应的物理坐标宽度为:

(2)算出照相图片的原点对应的物理坐标:

origin_x= phy_imga.phy_x-

phy_imga.imgx*pixel_x

origin_y= phy_imga.phy_y-

phy_imga.imgy*pixel_y

(3)根据照相图片对应的物理坐标和照相图片像素点对应的物理宽度算出任意一张GDSII图片的左下角点的物理坐标和右上角点对应的物理坐标。

(4)根据每张相片对应的左下角物理点和右上角物理点在GDSII中进行切割,并分别以照片相应名字进行命名,最终生成与芯片照相图片一一对应的GDSII图片,图3为切割后的一组图片。

Figure 3 Segmental photographic image and corresponding GDSII picture图3 切割后的照片与相对应的GDSII图片

很明显,在图3中,照片与GDSII图之间存在严重偏差(由虚框标出),这主要是由于照相和拼接照片不精确造成的。如果用此图进行匹配,可能无法得到满意结果,所以必须调整。因为芯片照片图片已经固定,无法调整,所以针对此情况,本文根据照相图片与GDSII图片间的偏差对GDSII图片进行校正,从而得到对应较少偏差的GDSII图片。

3 GDSII图片校正算法

针对图片偏差现象,应对GDSII图片进行校正。算法原理:由于两点切图算法只确定了照片的两个点进行定位再切图,所以精度不够。因此,可以通过对照相图片和GDSII进行细粒度的校正,最终提高照相图片和GDSII图片对准的精度。该算法是对每组图片进行细粒度的基于偏差统计的校正,目标是将GDSII图片移动到与之对应的照相图片一致的位置上。通过该处理,使比对精度更高。

GDSII图片是二值化图片,其中包含的信息有金属线与背景,其中金属线用黑色表示,背景用白色表示。为方便校正,需要将照相图片进行预处理,把金属线从图片中提取出来,将其转化成二值化图片。本文利用文献[3]中的相关算法得到二值化的照相图片。具体算法如下:

(1)将二值化的照相图片与相对应的GDSII图片的每个坐标点的像素值作差,若差的绝对值大于128个像素,就将该位置的像素值置为黑色,否则置为白色,由此得到作差图。以图3中的一组图片为例,已将二值化的照相图片与相对应的GDSII图片之间的偏差置为黑色,如图4所示。

Figure 4 Image subtraction between binary photographic image and GDSII image图4 二值化照相图片与GDSII图片的作差图

(2)将上一步骤得到的作差图分块。用八邻域搜索的方法,将作差图中的各个连通区域标记为不同的块,得到分块图片,便于之后的偏差统计。以图4为例,用该方法将其转换成标记为4个块的图片,由此将从上到下的各个黑色区域分别记为块1、块2、块3和块4。

(3)统计水平方向和垂直方向的偏差。由于金属线的最小线宽为8个像素,因此需统计步骤(2)得到的图片中小于8个像素的块的平均宽度。若宽度大于8个像素,即GDSII图片与照相图片之间的偏差可能是一条金属线,则认为GDSII图片与照相图片存在不同,没有匹配上,需进一步判断该不同是否为有害逻辑或者硬件木马,因此这种情况就不需要对GDSII图片进行校正。拍照过程中的灰尘或没对准焦距等的影响使得拍照图片质量不好,导致所得到的的二值化图片中有可能出现金属线边沿模糊、灰尘误被认为是金属线等现象,会对偏差统计造成干扰。为排除这些干扰,统计时只将满足一定条件的块纳入统计范围。以垂直方向的偏差统计为例。在统计时,对每一块按列遍历,统计每块中第三列之后的每一列黑色区域的点的个数,记为count。其中将前三列忽略是因为一般情况下拍照图片中金属线边沿模糊。若0

(4)判断移动的方向:水平方向是向左还是向右,垂直方向是向上还是向下。以垂直方向为例。找到步骤(2)得到的图片中某个不在边界上的块,若该块在GDSII图片相应位置上属于金属线而在照相图片相应位置上属于背景,则找到该块的最左上的坐标点,其坐标假设为(x,y),判断该点的上边一个坐标点即(x,y-1),若照相图片在该坐标点属于金属线,则GDSII图片应向上移,若属于背景则向下移;若作差得到的块在GDSII图片相应位置上属于背景而在照相图片相应位置上属于金属线,则找到该块的最左上的坐标点,其坐标假设为(x,y),判断该点的上边一个坐标点即(x,y-1),若GDSII图片在该坐标点属于金属线,则GDSII图片应向下移,若属于背景则向上移。水平方向的判断与垂直方向的判断类似。以图4为例,因步骤(3)得出只有垂直方向的偏差,故只考虑垂直方向是向上还是向下移动。找到图4中不在边界的块1,其左上角点的坐标为(490,57),而该块在照相图片相应位置上属于金属线而在GDSII图片相应位置上属于背景。对于该点上边的坐标点(490,57-1),即(490,56),GDSII图片在该坐标点属于背景,则判断移动方向为向上。

(5)判断是否满足移动条件。若分块的作差图中没有满足条件的块,即统计不出移动距离,则不需要对GDSII图片进行移动;若作差图中有满足条件的块,则根据步骤(3)和步骤(4)所求得的距离和方向,将GDSII图片进行移动,从而使偏差消除。以图4为例,将GDSII图片向上移动7个像素就能与相对应的照相图片比对上,如图5所示。

Figure 5 Photographic image and the revised GDSII picture图5 照相图片与校正后的GDSII图片

4 结束语

本文针对硬件木马分析检测步骤中的GDSII图片生成提出了一种基于两点切图的算法,该算法能够将一整张GDSII图片生成一张张与照相图片一一对应的小块图片。但生成的这些图片与照相图片存在偏差,针对这个问题又提出了基于偏差统计的算法来校正GDSII图片。本文提出的算法已应用于实际工程中,对多款芯片的GDSII图片进行了切割与校正,结果表明GDSII图片的生成算法与校正算法能很好地完成GDSII图片的生成与校正,使得后续的硬件木马分析检测工作能够顺利实现。

[1] ADEE S. The hunt for the kill swich[J]. IEEE Spectrum, 2008,45(5):34-39.

[2] Chip security-hardware trojan detection technology[EB/OL].[2013-04-25].http://www.ceprei.com/ceprei_system/News_View.asp?NewsID=511.(in Chinese)

[3] Wang Wei, Zhang Min, Zhu Qing-shan, et al. An IP-tort identify method based on chip anti-project photos[C]∥Proc of the 16th Annual Conference on Computer Engineering and Technology and Microprocessor Technology Forum,2012:353-358.(in Chinese)

附中文参考文献:

[2] 芯片安全性——硬件木马检测技术[EB/OL].[2013-04-25].http://www.ceprei.com/ceprei_system/News_View.asp?NewsID=511.

[3] 王伟,张民,朱青山,等.一种基于芯片解剖照片的IP核侵权鉴定方法[C]∥第十六届计算机工程与工艺年会暨第二届微处理器技术论坛论文集,2012:353-358.

HUXing,born in 1989,MS,CCF member(E200034039G),her research interest includes IC testing.

邝继顺(1959-),男,湖南永兴人,博士,教授,CCF会员(E20-0005331S),研究方向为集成电路测试。E-mail:jshkuang@hotmail.com

KUANGJi-shun,born in 1959,PhD,professor,CCF member(E20-0005331S),his research interest includes IC testing.

RevisionofdeviationbetweenthepicturesgeneratedfromGDSIIdataandthephotosofdie

HU Xing1,KUANG Ji-shun1,LI Shao-qing2

(1.College of Information Science and Engineering,Hunan University, Changsha 410082;2.College of Computer,National University of Defense Technology,Changsha 410073,China)

As the steps for the design and manufacture of the die increase, it is more and more possible to have hardware Trojans implanted in the chip. So it is necessary to detect the hardware Trojans for the die, especially with high security requirements. Reversely anatomizing the die and comparing it with the original GDSII file on the consistency is one of the main methods to test whether the die has been implanted hardware Trojans or not. It is an important step to generate the pictures from the GDSII file and make the pictures correspond to the photos which are got by reversely anatomizing the die. Therefore, we propose a two-point position algorithm for the segmentation of GDSII pictures. Meanwhile, for the position offset of the picture information generated in the process of taking photos of die and splicing, we propose a correction algorithm based on deviation statistics. Engineer practical application proves that the algorithm revises the deviation between the pictures generated from GDSII file and the photos of the die well. And it eliminates the impact from the position offset of the picture information.

GDSII;pictures;generation;revise

2013-06-15;

:2013-09-18

超级计算机处理器研发(2013ZX01028001-002);核高基重大专项资助项目(2012ZX01027004-003)

1007-130X(2014)02-0222-04

TN407

:A

10.3969/j.issn.1007-130X.2014.02.006

胡星(1989-),女,江西赣州人,硕士,CCF会员(E200034039G),研究方向为集成电路测试。E-mail:huxing890521@hnu.edu.cn

通信地址:410082 湖南省长沙市湖南大学信息科学与工程学院Address:College of Information Science and Engineering,Hunan University,Changsha 410082,Hunan,P.R.China

猜你喜欢
金属线木马校正
小木马
骑木马
劉光第《南旋記》校正
滚筒式网状收纳器
小木马
旋转木马
一类具有校正隔离率随机SIQS模型的绝灭性与分布
机内校正
霍尔元件测金属线膨系数的实验仪器制作
铜包钢双金属线的应用及其制备工艺研究进展