-
题名改进的基于底层虚拟机混淆器的指令混淆框架
- 1
-
-
作者
王雅仪
刘琛
黄天波
文伟平
-
机构
北京大学软件与微电子学院
-
出处
《计算机应用》
CSCD
北大核心
2023年第2期490-498,共9页
-
基金
北京大学横向课题(2020001763)。
-
文摘
针对底层虚拟机混淆器(OLLVM)在指令混淆层面只支持指令替换一种算法,且仅支持5种运算符和13种替换方案的问题,设计了一种改进版的指令混淆框架InsObf,以加强OLLVM指令层面的混淆效果。InsObf包含指令加花和指令替换,其中指令加花首先对基本块的指令进行依赖分析,然后插入叠加跳转和虚假循环两种花指令;指令替换在OLLVM的基础上,拓展至13种运算符,共计52种指令替换方案。在底层虚拟机(LLVM)上实现了框架原型后,通过实验表明,与OLLVM相比,InsObf在时间开销增长约10个百分点,空间开销增长约20个百分点的情况下,圈复杂度和抗逆向能力均可提高近4倍;与同样基于OLLVM改进的Armariris和Hikari相比,InsObf在同一量级的时空开销下,可以提供更高的代码复杂度。因此,InsObf可提供指令层级的有效保护。
-
关键词
软件保护
代码混淆
指令混淆
底层虚拟机混淆器
指令加花
指令替换
-
Keywords
software protection
code obfuscation
instruction obfuscation
Obfuscator Low Level Virtual Machine(OLLVM)
junk code insertion
instruction substitution
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于符号执行的底层虚拟机混淆器反混淆框架
被引量:4
- 2
-
-
作者
肖顺陶
周安民
刘亮
贾鹏
刘露平
-
机构
四川大学电子信息学院
-
出处
《计算机应用》
CSCD
北大核心
2018年第6期1745-1750,共6页
-
文摘
针对Miasm反混淆框架反混淆后的结果是一张图片,无法反编译恢复程序源码的问题,在对底层虚拟机混淆器(OLLVM)混淆策略和Miasm反混淆思路进行深入学习研究后,提出并实现了一种基于符号执行的OLLVM通用型自动化反混淆框架。首先,利用基本块识别算法找到混淆程序中有用的基本块和无用块;其次,采用符号执行技术确定各个有用块之间的拓扑关系;然后,直接对基本块汇编代码进行指令修复;最后,得到一个反混淆后的可执行文件。实验结果表明,该框架在保证尽量少的反混淆用时前提下,反混淆后的程序与未混淆源程序的代码相似度为96.7%,能非常好地实现x86架构下C/C++文件的OLLVM反混淆。
-
关键词
Miasm
底层虚拟机混淆器
反混淆
符号执行
指令修复
代码相似度
-
Keywords
Miasm
Obfuscator Low Level Virtual Machine (OLLVM)
deobfuscation
symbolic execution
instruction repairment
code similarity
-
分类号
TP393.08
[自动化与计算机技术—计算机应用技术]
-
-
题名基于动态分析的底层虚拟机混淆器反混淆方法
- 3
-
-
作者
寇宇
王其军
-
机构
西南石油大学计算机科学学院
西南石油大学石油与天然气工程学院
-
出处
《计算机应用研究》
CSCD
北大核心
2022年第11期3465-3469,3474,共6页
-
文摘
底层虚拟机混淆器(OLLVM)是一个著名的代码混淆工具,除了用于保护商业软件的安全外,也被恶意代码的开发者所利用,以此增加分析难度。为便于安全研究人员对ARM恶意程序进行分析,提出并实现了基于动态分析的OLLVM自动化反混淆方法。对于虚假控制流,根据不透明谓词的内存特征监控内存读写并利用动态污点分析技术识别虚假控制流来完成反混淆;对于控制流平坦化,通过动态运行程序并记录基本块的执行顺序来完成反混淆;同时利用多执行路径构造来提高代码覆盖率,最后通过指令修复还原基本块之间的关系。实验结果表明,该方法可准确消除可执行程序中因混淆产生的条件分支,且反混淆后得到的程序其运行结果与未混淆的程序保持一致,能有效完成对ARM混淆程序的反混淆工作。
-
关键词
反混淆
动态分析
指令修复
底层虚拟机混淆器
-
Keywords
deobfuscation
dynamic analysis
instruction repair
OLLVM
-
分类号
TP393
[自动化与计算机技术—计算机应用技术]
-