-
题名一种抵御逆向工程的安卓应用混淆技术研究
被引量:1
- 1
-
-
作者
乐德广
赵杰
龚声蓉
-
机构
常熟理工学院计算机科学与工程学院
苏州同程网络科技股份有限公司
-
出处
《小型微型计算机系统》
CSCD
北大核心
2018年第7期1512-1517,共6页
-
基金
江苏省产学研前瞻性联合研究基金项目(BY2016050-01)资助
江苏省科技计划基金项目(BK20160411)资助
-
文摘
针对安卓应用容易被恶意逆向工程,引起代码注入、隐私数据泄露和侵害知识产权等安全问题.提出一种结合Java方法抽离和映射的代码混淆技术.其中,Java方法抽离利用了安卓Native化特性,将Java方法从DEX中抽离后封装到SO中.此外,Java方法映射对其指令操作码进行映射混淆构造不透明指令.随后通过Java方法注册和映射解释执行环境,对抽离映射混淆后的Java方法进行Native层的映射解释执行,确保混淆后的安卓应用运行逻辑的正确性.最后,从抗逆向工程有效性和运行性能两方面对安卓应用混淆效果进行实验.实验结果表明本文技术在不影响正常运行性能的情况下,具有良好的抵御逆向工程分析效果.
-
关键词
安卓应用
逆向工程
代码混淆
字节码
-
Keywords
Android application
reverse engineering
code obfuscation
byte code
-
分类号
TP309
[自动化与计算机技术—计算机系统结构]
-
-
题名抵御控制流分析的程序混淆算法
被引量:1
- 2
-
-
作者
乐德广
赵杰
龚声蓉
-
机构
常熟理工学院计算机科学与工程学院
苏州同程网络科技股份有限公司
-
出处
《计算机工程与设计》
北大核心
2020年第11期3255-3261,共7页
-
基金
教育部新一代信息技术产学研创新基金项目(2018A01003)
教育部人文社会科学研究基金项目(18YJCZH068)
+1 种基金
江苏省自然科学基金面上基金项目(BK20191475)
江苏省高校自然科学研究面上基金项目(18KJB520002)。
-
文摘
针对控制流分析获取程序执行过程中的分支路径信息,引起路径信息泄露问题,提出能有效隐藏分支路径及其顺序的程序混淆算法。通过二态非透明谓词插入不相关分支路径和不相关结点,改变控制流中的单一结点形式,增加程序分支路径的控制流复杂度。将二态非透明谓词控制流平展化提高混淆强度,采用调度函数动态赋值算法对分支变量进行动态赋值,进一步隐藏分支路径顺序固定的控制流信息。实验结果表明,该算法能实现混淆程序的控制流逻辑关系,提高混淆强度,有效抵御程序的控制流分析。
-
关键词
软件安全
程序混淆
控制流平展化
非透明谓词
分支路径
-
Keywords
software security
program obfuscation
control flow flattening
opaque predicate
branch path
-
分类号
TP309
[自动化与计算机技术—计算机系统结构]
-
-
题名基于模式切换的ARM汇编代码混淆算法
被引量:2
- 3
-
-
作者
乐德广
赵杰
龚声蓉
-
机构
常熟理工学院计算机科学与工程学院
苏州同程网络科技股份有限公司
-
出处
《计算机工程与应用》
CSCD
北大核心
2021年第18期122-129,共8页
-
基金
国家自然科学基金(61972059)
江苏省自然科学基金(BK20191475)
江苏省高校自然科学研究面上项目(No.18KJB520002)。
-
文摘
针对ARM程序高层代码混淆存在盲目性较强而降低混淆准确度,且很容易被逆向还原的问题。从ARM汇编指令底层研究ARM程序混淆,通过结合ARM架构指令系统的特点,基于模式切换提出一种ARM汇编代码混淆算法,包括指令模式切换混淆、寄存器随机分配混淆和虚假指令混淆,使混淆后汇编代码的控制流变得更加复杂,且对切换地址的寄存器混淆也提高了动态调试跟踪的难度。模式切换及虚假指令混淆也会造成反汇编错误,从复杂强度、逆向弹性和性能开销三方面进行测试评估。测试结果表明,该混淆算法不仅有效地提高了程序的控制流循环复杂度,而且能够抵抗反汇编工具的逆向分析。该混淆算法引发的额外体积开销和时间开销较低,具有实用性。
-
关键词
控制流
汇编
代码混淆
模式切换
逆向工程
-
Keywords
control flow
assembly
code obfuscation
mode switch
reverse engineering
-
分类号
TP393.08
[自动化与计算机技术—计算机应用技术]
-
-
题名基于冗余代码的控制流混淆算法
被引量:2
- 4
-
-
作者
乐德广
赵杰
钱振江
-
机构
常熟理工学院计算机科学与工程学院
苏州同程网络科技股份有限公司
-
出处
《计算机应用研究》
CSCD
北大核心
2020年第11期3411-3416,共6页
-
基金
江苏省自然科学基金面上项目(BK20191475)
江苏省高校自然科学研究面上项目(18KJB520002)
+2 种基金
教育部人文社会科学研究项目(18YJCZH068)
教育部“新一代信息技术”产学研创新基金资助项目(2018A01003)
江苏省高校“青蓝工程”优秀青年骨干教师培养对象项目(2017)。
-
文摘
目前的平展控制流主要是结合不透明谓词使用的,例如混沌映射和同余方程算法,这些算法会引起大量额外开销。此外,这种结合不透明谓词的平展控制流混淆方法难抵御动态逆向攻击。针对这些问题,提出了在插入与原基本块结构类似、但数据随机生成且与原基本块不同的冗余块,使攻击者难以区分实际执行基本块的基础上,对实际执行基本块和冗余块进行控制流平展化处理,进一步混淆控制流结构。此外,构建分支函数动态赋值算法,对分支变量进行强化,提高混淆弹性。该控制流混淆算法在mbed TLS程序测试集上进行控制流、逆向工程和性能测试与分析,测试与分析结果表明该混淆算法不仅能大大提高混淆强度,还能有效保护程序控制流信息,抵抗动静态逆向分析。
-
关键词
冗余代码
混淆
控制流
逆向工程
-
Keywords
redundant code
obfuscation
control flow
reverse engineering
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-