-
题名基于浮点数类型转换和运算的不透明谓词构造方法
- 1
-
-
作者
王庆丰
梁浩
王亚文
谢根琳
何本伟
-
机构
信息工程大学信息技术研究所
-
出处
《网络与信息安全学报》
2023年第5期48-58,共11页
-
基金
国家自然科学基金(62002383)。
-
文摘
随着软件功能的日趋复杂和网络攻击技术的不断演进,软件盗版、软件破解、数据泄露、软件恶意修改等恶意行为呈上升趋势,软件安全问题逐渐成为行业领域普遍关注的焦点和研究方向。代码混淆是一种典型的对抗逆向工程的软件保护技术,它能够在保持程序原有功能不变的条件下加大攻击者对程序进行分析和理解的难度,被广泛应用和深入研究。现有的代码混淆技术大多由于追求混淆效果而普遍存在性能损耗偏高、隐蔽性差等问题。控制结构混淆是代码混淆技术中应用较广泛的一种,它通过扰乱程序的控制流从而提高代码逆向工程难度,不透明谓词混淆是其一大分支。为了弥补现有代码混淆技术的缺陷,提出了基于浮点数类型转换和运算的不透明谓词构造方法,利用计算机浮点数类型转换和运算过程中伴随的精度损失现象使特定条件下产生与常理相悖的运算结果,通过选择若干个小数进行强制类型转换、加法运算和乘法运算,基于其运算结果统计可以构造一系列不透明谓词,实现代码混淆功能。相较于传统的不透明谓词,该构造方法具有隐蔽性高、通用性好、可逆性、开销低等优点。实验验证表明,该方法在大幅降低攻击者对软件进行逆向工程等工作速度的同时,对于符号执行等动态分析技术具有良好的抵御性能。
-
关键词
代码混淆
虚假控制流
不透明谓词
浮点数运算
-
Keywords
code obfuscation
bogus control flow
opaque predicates
floating point operations
-
分类号
TP393
[自动化与计算机技术—计算机应用技术]
-