安全产品的设计商和制造商可能会在其芯片的硬件电路中加入硬件木马,芯片操作系统中也可能存在后门。由于其面积小、代码短、执行时间短等特点,这些隐蔽的硬件木马或后门程序通常难以被发现,给安全产品的用户带来巨大的安全隐患,甚至威胁国家安全。
检测机构或用户通常希望对安全产品的指令空间进行遍历式检测,以获得控制其芯片工作的有效指令列表,在这些有效指令中,一部分应该是说明书中定义的用户指令,另一部分则是厂商在芯片出厂时预留的一些隐蔽指令。这些隐蔽指令中,有一部分可能用于芯片功能调试,而其余的则可能是用于执行硬件木马的后门指令。
北京数缘科技有限公司于2018年自主研发了硬件木马侧信道检测套件,型号为MMSCASet-05,该工具为国际首款采用侧信道分析方法来检测指令激活类硬件木马的产品。能够向安全产品快速、遍历式发送各种指令,同时采集芯片的能量或电磁辐射等侧信息,通过侧信息的特征来判定芯片收到该指令时,是否运行了一些有效操作,进而检测该指令是否为有效指令。
硬件木马侧信道检测套件由硬件和软件两部分构成。硬件部分包含接触式IC卡侧信道分析仪、多功能侧信道分析仪、示波器、电磁探头,可以对示例智能卡、银行卡、以及各类芯片进行能量和电磁信号的采集。软件部分为一款自主研发的硬件木马侧信道检测软件MathMagic Spotter,能够配合多功能侧信道分析仪、示波器以及被测设备,进行命令发送和能量波形的采集与分析。用户通过对有效指令进行汇总,可对厂商给定的用户指令集进行剔除,从而获得后门指令集。
本平台的产品清单列表如下:
(1)接触式IC卡侧信道分析仪(型号MMSCA-101)
(2)多功能侧信道分析仪(型号MMSCA-104)
(3)硬件木马侧信道检测软件MathMagicSpotter(型号MMSCA-511 )
(4)示波器(型号Lecroy HDO6054A)
(5)电磁探头(型号Langer MFA 01 Set)
(6)其它配件若干
1、接触式IC卡侧信道分析仪
接触式IC卡侧信道分析仪是一台中间人攻击平台,一端与普通的智能卡读卡器相连,另一端与被测的智能卡相连,可以在智能卡正常工作的情况下,采集智能卡的能量信号,并对能量信号进行滤波和放大。连接示波器后,可以将该能量信号传输到计算机。
接触式IC卡侧信道分析仪
2、多功能侧信道分析仪
多功能侧信道分析仪,能够对多种接口的设备和芯片进行能量信号采集,支持的通信协议包括UART、SPI、I2C、USB。对于非标准接口的设备和芯片,用户可对电路板进行简单改装,配合高精度电磁探头,实现能量与电磁信号采集。多功能侧信道分析仪可将采集到的能量信号进行滤波和放大,并配合示波器将能量和电磁波形采集到计算机,随后使用硬件木马侧信道检测软件进行后期的处理和分析。
多功能侧信道分析仪
3、硬件木马侧信道检测软件MathMagicSpotter
硬件木马侧信道检测软件MathMagicSpotter可以控制硬件设备与被测设备进行通信,同时采集并显示被测设备的能量或电磁波形。
硬件木马侧信道检测软件界面
以某款智能卡为例,展示了其执行两条不同指令时对应的两条能量波形,其中上面的波形对应着一条空指令,智能卡在解析该指令后迅速报错并进入闲置状态;下面的波形对应着一条有效指令,智能卡解析指令后,执行了该指令对应的程序,随后才进入闲置状态。二者具有明显的差异。
无效指令(上)与有效指令(下)能量波形的区别
得到能量波形后,软件能够对波形进行处理,例如低通滤波、窗口平均、包络曲线、取绝对值、通道分离、对齐、剪切等。经过数字预处理的波形,更有利于后期的各种波形分析。下图展示了多条波形的对齐效果,在执行相同操作的部分,对齐效果极好,而在执行不同操作的部分,展示出了不同的特征。
能量波形的对齐效果
在对波形进行预处理后,可以借助相关系数、最小二乘法等经典模型以及单类支持向量机、随机森林等人工智能模型来检测硬件木马指令。软件支持用户二次开发,采用自定义的分析方法来进行波形分析。下图为针对某款接触式智能卡做硬件木马指令检测的结果,可以看到0x00、0x88、0xC0处的有效指令特征较明显,由于在ISO7816协议中,0x88和0xC0为标准指令,可推断0x00为后门指令。
某款接触式智能卡后门指令检测结果
4、示波器与电磁探头
Lecroy HDO6054A是一款通道数多,性能优异的示波器,其带宽高达500MHz,采样率高达10GSa/s,存储深度50Mpts,4通道,能够配合多功能侧信道分析仪或接触式IC卡侧信道分析仪,对待测设备进行波形的采集。
Lecroy HDO6054A
Langer MFA 01 Set是新一代手持式有源近场探头套件,频率范围覆盖1MHz到6GHz,分辨率可达200um,能够满足对待测设备电磁信号的采集需求。套件配备内置放大器和BT 706偏置器,可实现电磁信号的放大。
Langer MFA 01 Set