摘要
针对Xilinx公司7系列/Virtex-6 FPGA中存在的StarBleed漏洞,通过分析漏洞攻击过程及其关键环节,提出了基于配置位流混淆的加固方法.首先针对Vivado生成的密文位流进行解密得到明文位流.针对明文位流中的配置指令,提出了指令顺序混淆、指令字混淆和指令参数混淆方法.针对明文位流中的HMAC签名区域,混淆其中的ikeypad和okeypad数据区.而后对混淆后的位流重新进行HMAC签名计算.最后重新进行AES加密得到混淆后的密文位流,实现以多种方式对漏洞攻击中最关键的修改密文位流环节进行防御.完成混淆后,利用机器学习算法对混淆效果进行评估.实验表明,混淆方法可以提升明文数据与密文数据的相似程度.在不需要修改硬件的条件下,能有效地增加漏洞攻击难度,可以用较低的代价增强针对StarBleed漏洞的防护能力.
- 单位