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

随机森林在程序分支混淆中的应用

更新时间:2019-12-24 05:27:08 大小:1M 上传用户:守着阳光1985查看TA发布的资源 标签:随机森林 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

程序中的路径信息在程序执行过程中会被动态地泄露,基于路径敏感技术的逆向工程可自动地收集程序中的条件跳转指令,从而理解程序的内部逻辑.为了缓解路径信息泄露,提出了一种基于随机森林的路径分支混淆方法,将逆向分析路径分支信息的难度等价于抽取随机森林规则的难度.鉴于随机森林分类器可被视为一种黑盒,其内部规则难以被提取且分类过程与路径分支行为相似,因此经过特殊训练的随机森林可以在功能上替代路径分支.将该方法部署于SPECint-2006标准测试集中的6个程序进行实验,实验结果表明该混淆方法有效地保护了路径分支信息,引发的额外开销较低,具有实用性


部分文件列表

文件名 大小
随机森林在程序分支混淆中的应用.pdf 1M

部分页面预览

(完整内容请下载后查看)
10  
Vol. 46 No. 10  
Oct. 2018  
2018  
10  
ACTA ELECTRONICA SINICA  
随机森林在程序分支混淆中的应用  
1
123  
1
1
陈 喆 贾春福  
南开大学计算机与控制工程学院 天津  
宗 楠 郑万通  
中国民航大学信息安全测评中心 天津  
( 1.  
300350; 2.  
300300;  
3.  
071002)  
河北省高可信信息系统重点实验室 河北保定  
:
程序中的路径信息在程序执行过程中会被动态地泄露 基于路径敏感技术的逆向工程可自动地收集程  
序中的条件跳转指令 从而理解程序的内部逻辑 为了缓解路径信息泄露 提出了一种基于随机森林的路径分支混淆  
方法 将逆向分析路径分支信息的难度等价于抽取随机森林规则的难度 鉴于随机森林分类器可被视为一种黑盒 其  
内部规则难以被提取且分类过程与路径分支行为相似 因此经过特殊训练的随机森林可以在功能上替代路径分支 将  
SPECint-2006  
6
该方法部署于  
标准测试集中的 个程序进行实验 实验结果表明该混淆方法有效地保护了路径分支信  
息 引发的额外开销较低 具有实用性  
:
;
;
关键词  
中图分类号  
URL: http: / /www. ejournal. org. cn  
代码混淆 逆向工程 随机森林  
:
TP311  
:
A
:
0372-2112 ( 2018) 10-2458-09  
DOI: 10. 3969 /j. issn. 0372-2112. 2018. 10. 020  
文献标识码  
文章编号  
电子学报  
Branch Obfuscation Using Random Forest  
1
123  
1
1
CHEN Zhe JIA Chun-fu  
ZONG Nan ZHENG Wan-tong  
( 1. College of Computer and Control EngineeringNankai UniversityTianjin 300350China;  
2. Information Security Evaluation Center of Civil AviationCivil Aviation University of ChinaTianjin 300300China;  
3. Key Lab on High Trusted Information System in Hebei ProvinceBaodingHebei 071002China)  
Abstract: Reverse engineering can automatically collect the path information which has been leaked in program run-  
timeand then reveal the internal logics of programs. To mitigate path information leakingthis paper proposes a novel path  
obfuscator to combat state-of-art reverse engineering by using random forest. The difficulty of reversing the obfuscated  
branch is equivalent to extracting rules from random forests. Since random forests can be regarded as black-box and the cate-  
gorizing process has high similarity with the behavior of path branchso the specially trained random forest can realize the  
functionality of path branch. The proposed obfuscator had been deployed on six programs from SPECint-2006 benchmarks.  
The experimental results show that our method has significantly increased the computational cost of reverse engineeringand  
the introduced overhead is acceptable.  
Key words: code obfuscation; reverse engineering; random forest  
3从实用角度证明了代码混淆技术仍是保护  
camp  
1
引言  
程序的重要手段 在软件保护领域 代码混淆一直是研  
代码混淆技术是一种保留语义的程序变换 其目  
究的热点  
的是增加逆向工程的难度 使程序逻辑变得 难以被理  
现今 软件知识产权的主要威胁来自于非受控环  
. Collberg  
从而保护软件的知识产权  
1对代码  
混淆术做了形式化的定义 经混淆变换后的程序  
4MATE( Man-  
境下的恶意主机 即文献 中所提出的  
:
At-The-End) . MATE  
攻击以逆向工程为基础 通过  
攻击  
O( P)  
O( P)  
P
P  
应与 有相同的语义 在相同输入的情况下  
逆向分析软件的可执行文件 对软件的知识产权造成  
. Barak  
会计算出相同的输出  
2通过计算复杂  
. Beau-  
多种形式的危害 如代码盗用 恶意篡改 盗版等 在发  
性和密码学原理 证明了理想的混淆并不存在  
: 2016-12-10;  
: 2017-11-28;  
:
收稿日期  
修回日期  
责任编辑 孙瑶  
:
( No. 2013CB834204) ;  
( No. 61772291) ;  
( No. 17JCZDJC30500) ;  
天津市自然科学基金 中  
基金项目 国家重点基础研究发展计划  
国家自然科学基金  
( No. CAAC-ISECCA-201702)  
国民航大学信息安全测评中心开放课题  
2459  
10  
:
喆 随机森林在程序分支混淆中的应用  
Mine-Sweeper  
布的可执行文件中 程序的路径信息在二进制代码上  
一款名为  
的工具用以检测恶意代码的触  
1
; Sharif  
存在严重的泄露问题 如图 所示 图中的汇编代码泄  
发条件  
; Wang  
15开发了用以自动分析恶意代码的模拟  
16结合了污点分析技术和符号执行技术来检  
17利用  
; Zeng  
:
露了路径分支的全部信息 分支点 分支条件和目标地  
址 逆向分析工具可以通过收集这些信息轻易地揭示  
测和移除恶意代码壳中的环境敏感代码  
代码块间的依赖关系 从而构建控制流图 提取控制流  
动态符号执行实现了被混淆代码的代码复用  
信息  
虽然这些逆向分析技术功能强大 但是仍存在一  
定局限18当路径约束条件难以被规约为确定的布  
:
尔表达式时 约束求解器就无法对其进行求解  
2. 2  
路径分支混淆  
为了对抗这些先进的分析技术 研究人员提出了  
Sharif  
很多有效的方法  
19选用了哈希函数加密路  
径分支 攻击者分析被混淆分支的难度等价于分析哈  
希函数的难度 但是哈希函数不具备保序性 只能良好  
地混淆分支条件为等于的路径分支 对于条件为不等  
(
)  
的混淆相对繁琐 会造成极大的  
关系 如  
保护路径分支信息的有效手段是代码混淆 最初  
20]  
Wang  
Sharif  
空间和时间开销  
等人 对其  
的混淆方法  
的分支混淆方法是用来迷惑静态反汇57但是这些  
进行了优化改进 相对地扩展了利用哈希函数混淆条  
件分支的适用范围  
经典的方法对动态分析和符号执行攻击的抵抗力较  
弱 为了对抗这些新型攻击技术 本文提出了利用经过  
特殊训练的随机森林混淆路径分支的方法 相比于其  
21]  
Wang  
等人 摒弃了密码学算法 而利用未解数学  
( Collazt)  
猜想混淆恶意代码的触发条件 任  
难题克拉兹  
他常用分类器 如人工神经网络和支持向量机 随机森  
林具有更广的适用范围和更高的训练执行效率 路径  
3x + 1”  
1,  
何正整数输入通过 变换后必定收敛为 约束  
求解器无法求出正确的输入 但是在路径分支条件较  
分支的功能类似于机器学习中的分类器 将路径分支  
为宽泛的情况下 约束求解器求解成功的概率会提高  
的输入作为样本 输出作为标签 训练出的随机森林可  
2223]  
文献 均将机器学习中的分类器用于路径分  
以在功能上替代路径分支 根据已有的研究成果 随机  
支混淆 利用支持向量机和人工神经网络的内部规则难  
森林可被视为一种黑盒 内部的非线性规则难以被抽  
以被理解这一特性 混淆程序的路径分支 但是这两种方  
取 这是本文所提出的混淆方法的安全基础 利用无条  
:
法在实用性和安全性上均存在一定的问题 受制于这  
件跳转替代条件跳转 可以在静态分析中模糊程序的  
两种分类器的先天特性 对于混淆离散语义的路径分支  
控制流 从而隐藏路径分支结构 增加恢复原有控制流  
x > 5 && y < 5  
等 这两种分类器均无法良好  
条件 诸如  
的难度 通过密码学方法混淆分支输入集合的偏序关  
;
的处理 在一定程度上限制了两种混淆方式的应用场景  
系 使得加密后的分支输入具有一定的密码学特性 用  
在安全性上 这两种方法保留了输入集合内的偏序关  
来抵抗暴力破解攻击和二分查找攻击 本文将提出的  
系 攻击者只需进行二分查找攻击和暴力破解攻击便可  
以在有限计算次数内找到路径分支条件  
SPECint-2006  
标准程序测试集上 对路  
混淆方法部署在  
径分支的混淆强度和执行效率进行了测试 选用了最  
S2E  
2. 3  
随机森林  
8作为约束求解器来分析被混  
随机森24是一种基于  
思想的非线性  
新的符号执行工具  
Bagging”  
淆的路径分支 实验评估显示本文的方法具有较强的  
Breiman  
2001  
年提出 现今已经成为应  
分类算法 由  
攻击容忍性 且引入的额外开销较低 具有较好的实  
用非常广泛的机器学习算法 具有强大的学习和分类  
25随机森林是一个由许多棵决策树组合而成的  
用性  
分类器 每棵决策树由有放回随机抽取的随机向量生  
2
相关工作  
成 互相之间是独立的 分类结果由每棵树输出的类别  
的众数决定  
2. 1  
符号执行及其应用  
符号执8 ~ 10是一种软件测试方法 它利用符号  
对于分类器内部规则的理解 近二十年一直是机  
器学习领域的热点研究方2627随机森林的内部规  
替代真实数值分析程序 求解触发特定路径的输入 经  
过三十多年的发展 当今的符号执行技术可以自动地  
则是一种高维规则 难以被提取 因此可以将随机森林  
视为一种黑盒分类2428 ~ 30随机森林规则难以提取  
生成试输入 尽可能多地覆盖程序所有的执行路  
1213利用符号执行的这些优势  
14发了  
Brumley  
的根本原因是高维规则难以规约为低维规则 即粗糙  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载