Mimosa:Protecting Private Keys against Memory Disclosure Attacks using Hardware Transactional Memory

作者:林璟锵(中国科学院信息工程研究所副研究员)

目前有各种攻击手段能从计算机内存中窃取机密信息,包括各种利用软件漏洞的攻击方法(例如OpenSSL HeartBleed)和物理攻击方法(例如Cold-Boot攻击和DMA攻击)。而且,此类攻击很多时候并不需要破坏计算机系统的代码完整性,更进一步增加了防御难度。

事务内存Transactional Memory,是高性能计算领域的技术概念,早在1993年提出。其基本想法是由底层的软硬件跟踪记录并行任务的内存访问,确保声明为事务的代码片段的内存读写操作原子性。具体为:对于声明为事务执行的代码片段,如果在事务执行期间,有任何其它并行的任务也访问了事务代码的数据、且其中一方是写操作,则事务代码就会自动回滚到事务的开始点、所有执行痕迹都被自动清除。

利用Intel在2013年推出的硬件事务内存特性(称为TSX),可以构建安全的密码计算环境:将密码计算定义为事务,私钥作为事务执行的写操作结果,然后再进行密码计算。能够获得如下的安全保障:在密码计算期间,任何其它的(可能是非法攻击)任务读取了私钥的内存地址,就会触发事务回滚到开始点、私钥就被清除,攻击者只能得到无效数据。

以上方法,能够防范各种类型的、窃取密钥数据的攻击:不论攻击所利用漏洞是什么类型,攻击都会有最后的读操作,都会触发事务回滚;包括软件攻击和DMA攻击都是如此。而且,在现有的硬件事务内存实现中,都是利用了CPUCache来暂存事务的中间状态数据,所以上述方案也能够有效防御Cold-Boot攻击。

更多详细内容详见:Protecting Private Keys agains tMemory Disclosure Attacks using Hardware Transactional Memory(IEEES&P2015)。

 

作者简介

linjq

林璟锵,博士,中国科学院信息工程研究所副研究员。2001年毕业于中国科学技术大学,获得电子信息工程学士学位;2004年和2009年在中国科学院研究生院分别获得硕士学位(通信与信息系统)和博士学位(信息安全)。主要研究领域是系统安全和应用密码学,研究成果发表在IEEE S&PNDSSESORICSCHESSRDSACNSISCSecureCommICICS等国际会议和TKDETIFS等重要期刊。

 

Bookmark the permalink.

Comments are closed.