推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于符号执行的软件缓存侧信道脆弱性检测技术

更新时间:2019-12-30 14:45:36 大小:1M 上传用户:songhuahua查看TA发布的资源 标签:缓存侧信道攻击符号执行脆弱性检测 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

缓存侧信道攻击的基础是程序针对不同敏感信息将访问不同的缓存地址.本文提出基于符号执行的缓存侧信道脆弱性检测技术,通过符号化敏感信息的数据传播过程定位潜在的脆弱点,并通过比较其可能的不同缓存访问地址,判断上述代码在缓存攻击中的可利用性.本文开发了原型系统CSCVulDiscover,并针对RSA等3种密码算法的12类实现代码进行测试,总共发现了125个脆弱点.


部分文件列表

文件名 大小
基于符号执行的软件缓存侧信道脆弱性检测技术.pdf 1M

部分页面预览

(完整内容请下载后查看)
6
Vol. 47 No. 6  
Jun. 2019  
2019  
6
ACTA ELECTRONICA SINICA  
基于道  
脆弱检测技术  
1
1
1
1
1
1
, , , , ,  
杨 超 郭云飞 扈红超 刘文彦 霍树民 王亚文  
(
国家工程技术研究中心 州  
450003)  
:
的基础是针对敏感信息访存地本文提出基于缓  
, ,  
道脆弱检测技术 通过敏感信息的数据定位脆弱并通过访  
.  
判断代码的可性 本文统  
CSCVulDiscover,  
并针对  
RSA  
3
法  
12 125  
类实代码进行试 总现了  
脆弱点  
:
;
;
;
;
;
;
;
关键词  
中图分类号  
URL: http: / /www. ejournal. org. cn  
脆弱检测 访分析 数据播 脆弱点 可性  
TP309. 2 0372-2112 ( 2019) 06-1194-07  
DOI: 10. 3969 /j. issn. 0372-2112. 2019. 06. 002  
:
:
A
:
文章编号  
文献标识码  
电子学报  
Cache-Based Side-Channel Vulnerability Detection  
Based on Symbolic Execution  
1
1
1
1
1
1
YANG Chao GUO Yun-fei HU Hong-chao LIU Wen-yan HUO Shu-min WANG Ya-wen  
( National Digital Switching System Engineering & Technological Research CenterZhengzhouHenan 450003China)  
Abstract: The root cause of cache-based side-channel attacks is that the application will access different cache memo-  
ry depending on different values of sensitive information. This paper proposes a symbolic-execution-based vulnerability de-  
tection technology to identify the code in an application that can be exploited in cache attacks. It analyzes programs data  
propagation of symbolized sensitive information to locate candidate vulnerabilitiesand determines the exploitability through  
comparison of different possible accessed cache addresses. A prototype system called CSCVulDiscover is developed and test-  
ed against 12 kinds of implementation of 3 popular cryptographic algorithms including RSAand the result shows that 125  
vulnerabilities are detected.  
Key words: cache-based side-channel attack; vulnerability detection; symbolic execution; differential cache access;  
taint analysis; data propagation; vulnerabilities; exploitability  
的信息泄露研究信息泄露代  
1
引言  
, ,  
泄露方式 了对击防御指导义 并  
云环境租户虚拟机共享物存  
的理论上时不具针对  
128 AES 200 ; Shuai Wang  
以通过击窃敏感信息  
secret) .  
了  
2]  
34]  
(
本文掘软脆弱  
的研究和本文相技术  
定位程  
,  
定位处理  
secret  
能够用击  
: ( 1)  
行为代码是  
关  
访  
判断脆弱号条件往往法  
代码  
前相关研究有  
道脆弱静态检测方法 针对定  
secret  
secret secret  
访址 未考虑  
1]  
: Goran Doychev  
出一  
(
行为 图  
2) ; ( 2)  
secret  
求解判断据将  
含  
和系处理  
中所能  
(
准确见  
4. 3  
) ; ( 3)  
序  
研究赖  
: 2018-07-02;  
: 2018-09-10;  
:
收稿日期  
修回日期  
基金项目 国家 自 然 科 学 基 金 创 新 项 目  
2016YFB0800100No. 2016YFB0800101) ;  
责任编辑 覃怀银  
:
( No. 61521003 ) ;  
( No. 61602509 ) ;  
( No.  
国 家 重 点 研 发 计 项 目  
国 家 自 然 科 学 基 金 项 目  
( No. 172102210615)  
南省科技项目  
1195  
6
:
基于道脆弱检测技术  
56]  
secret  
(
1) .  
此 通过某条分支有的访列  
的程控制脆弱性  
图  
判断的  
secret  
( )  
情况   
set  
1i  
CaSet set CaSet set CaSet set  
 ∈  
2j  
1
1i  
2
2
2j  
CaSet ,  
时只需要地  
1
, , secret  
行分支 进而获取 取值  
信息  
2. 2  
(
基于差分数据内存访的脆弱点 据缓存  
)
secret  
可  
访存地和  
能够对应存地访操  
于基于分数据内访道脆弱点  
5]  
窗口幂运先  
gi,  
基于结  
子  
,  
子的访作  
g( w - 1) /2]  
索引  
i
w
元素 依数  
i
( secret)  
访就  
2
缓存侧信道脆弱描述  
是一个基于分数据内访脆弱点  
secret ,  
访定义其  
根据方式 可以将道脆  
2
典型的  
有可数据内存地是相对定  
: Addr  
性分为以下类  
(
2. 1  
(
基于差执行逻辑的脆弱点 指令缓存  
)
)
=
代码为  
datai  
大多构 如分  
{ addr  
addr  
addr  
} i = 12N,  
对应  
d( i) n( i)  
d( i) 1  
d( i) 2  
secret  
条件和  
分支对应访问  
分支代码属于基于代码执辑的缓  
RSA ElGamal  
: CaSet  
= { set  
set  
,  
存 地 列 为  
set } .  
datai  
d( i) 1  
d( i) 2  
secret  
假设访基于  
片  
CaSet  
d( i) n( i)  
道脆弱在  
解密采  
( ) ,  
中一个存序列为  
datai  
610]  
数  
e( secret)  
形  
幂运算  
CaSet  
(
) 2  
中一个以为那么访存  
dataj  
表示 其一位定了平方模否  
道 脆 弱 当 其 条 件  
secret  
法模该  
条件分支是一个基  
VUL2: CaSet CaSet  
datai  
不完全即  
dataj  
代码执辑的脆弱点  
secret  
1
条件分支结构 定  
典型的  
set  
条件跳转对应存地为  
分支汇聚  
Con  
( 2 )  
代码片段 始指对应存地为  
set Branch k = 12  
分支  
k
对应访列为  
Int  
CaSet = { set  
k
set  
set  
} 1 i n( k) -  
 ≤ ≤  
k1  
k2  
kn( k)  
1set  
set  
访分支  
ki  
ki + 1  
代码访存地所对应存地该  
列中相存地同 因此单个  
set  
对  
ki  
( 2 )  
为了表示单分支 分支 的  
CaSet  
令  
条件跳转和分支汇聚令  
k
对应访有  
set  
CaSet set  
k
CaSet .  
k
Con  
Int  
1  
那么 的  
secret  
条件分支结构缓  
VUL1:  
pset  
CaSet  
set  
datai  
CaSet  
d( i) p  
( 3)  
道脆弱当其条件  
分  
d( i) p  
dataj  
支对应访不完全下  
:
者  
qset  
CaSet set  
dataj  
CaSet  
d( j) q  
( 4)  
{ set set set  
1l1  
}
CaSet ,  
1
d( j) q  
Datai  
1l2  
1n( l)  
( 1)  
, ( )  
通过有的存地  
{ set set set  
1l1  
}
CaSet  
1l2  
1n( l)  
2
, ,  
判断该地出相  
者  
secret  
信息  
的  
{ set set set  
2r1  
}
CaSet ,  
2
2r2  
2n( r)  
( 2)  
{ set set set  
2r1  
}
CaSet  
2r2  
2n( r)  
1

全部评论(0)

暂无评论