G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

admin 2022年12月21日10:36:16评论31 views字数 1737阅读5分47秒阅读模式
今天要给大家推荐的论文是来自香港科技大学王帅研究组投稿的关于侧信道工作的最新研究CACHEQL: Quantifying and Localizing Cache Side-Channel Vulnerabilities in Production Software,目前该工作已被USENIX Security 2023录用。本文作者设计了一个可以对大型软件进行定位和量化侧信道信息泄漏的工具CacheQL。相较于定性的侧信道分析(也即确认软件是否存在侧信道泄漏),定量分析可以告诉软件开发者,软件的侧信道泄漏了多少比特的信息,从而帮助软件开发者更好地权衡侧信道的风险和修复侧信道的开销。CacheQL首次对大型商用加密软件(例如OpenSSL中的RSA)的整个执行周期进行了定量分析,发现这些软件的大数预处理阶段存在显著的信息泄漏。以往的工具,由于尺度的限制,通常只能分析这些软件的大数计算阶段,忽视了预处理阶段的侧信道风险。此外,CacheQL在最新版本的OpenSSL,MbedTLS,Ligbcrypt中定位出了大量的新的侧信道泄漏。

具体可见:https://sites.google.com/view/cache-ql

G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

本文首先基于实际应用场景中的需求,提出了如下8个设计侧信道分析工具的需求:

  1. 支分析软件的执行轨迹和真实场景下收集的侧信道记录;

  2. 支持完全确定的和具有随机性的侧信道记录;

  3. 可以分析程序的可执行文件;

  4. 支持定性和定量分析;

  5. 可以定位侧信道泄漏;

  6. 支持多种形式的隐私数据,包括密钥和用户的隐私输入(例如图片);

  7. 支持对软件的整个执行周期进行分析;

  8. 可以检测到显式和隐式的信息流。


通过这8个需求,本文作者首先评估了已有的侧信道分析工具,如下图所示:

G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

在此基础上,作者设计并实现了CacheQL。CacheQL的主要功能为侧信道泄漏的定量和定位。

隐私泄漏的定量可以通过隐私信息和侧信道之间的互信息来刻画。然而,互信息一般无法直接计算,已有的方法通过采样来近似获取互信息,但通常有着较大的开销,且误差较高。在本文中,作者首先将互信息的计算转换成估计条件概率,这大大降低了计算的开销,同时提升了计算结果的准确率,也在一定程度上缓解覆盖率带来的问题。具体的转换过程可参考原文的第四部分。

本文通过分摊上一步中定量的结果,来实现侧信道的定位,也即,将软件的整条执行轨迹泄漏的信息,分摊到每一个程序指令上。如果一个指令分摊到的信息泄漏大于零,那么该指令便泄漏了隐私信息。本文作者首先将整条执行轨迹的信息泄漏过程,看作是所有指令的合作游戏,其中,每条指令是该游戏的参与者。相应的,信息泄漏的分摊,则通过使用Shapley value刻画每个参与者在游戏中的贡献来完成。但是,Shapley value的计算代价为软件执行轨迹长度的指数级,且这些执行轨迹的长度一般可以达到百万的数量级。本文的作者利用侧信道在执行轨迹中是稀疏的这一特性(即只有少数的指令存在侧信道泄漏),将Shapley value的计算代价降低到了一个近似常数的开销。具体过程可参考原文的拓展版的第六部分。

下图为CacheQL定量分析的,不同的商用加密软件在不同的设置下,不同执行阶段的信息泄漏情况。

G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

其中SDA和SCB分别指代隐私相关的数据访问和控制分枝。可以看到,这些加密软件的预处理阶段存在着大量的信息泄漏。

下图展示了CacheQL在Libgcrypt初始化大数的阶段定位出来的侧信道泄漏。

G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

下图展示了OpenSSL中大数的整个生命周期(包括初始化和运算)中存在的侧信道泄漏。

G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

更为具体的定位结果整理在了该网站上:
https://sites.google.com/view/cache-ql
本文的拓展版可以通过arxiv访问:

https://arxiv.org/pdf/2209.14952.pdf



投稿作者介绍:
袁渊源
香港科技大学三年级博士生,导师为王帅老师,主要研究方向为软件安全。相关工作发表在国际安全顶会USENIX Security和IEEE S&P等会议上。

个人主页:https://yuanyuan-yuan.github.io/

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQL

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月21日10:36:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2022-12-20 CACHEQLhttp://cn-sec.com/archives/1475843.html

发表评论

匿名网友 填写信息