-
题名基于二进制重写的软件多样化方法
- 1
-
-
作者
何本伟
郭云飞
王亚文
王庆丰
扈红超
-
机构
信息工程大学
-
出处
《网络与信息安全学报》
2023年第2期94-103,共10页
-
基金
国家重点研发计划(2021YFB1006200,2021YFB1006201)
国家自然科学基金(62072467)。
-
文摘
软件多样化是应对代码重用攻击的有效方法,但现有软件多样化技术大多基于源代码实现,相比二进制文件,程序源代码并不容易获得。二进制文件难以做到精准拆卸、区分代码指针和数据常量,使得对二进制文件的多样化转换有限,难以产生足够高的随机化熵,容易被攻击者暴力破解。针对此问题,提出一种面向二进制文件的软件多样化方法,指令偏移随机化,该方法基于静态二进制重写技术在程序指令前以一定概率插入不同字节长度的无操作(NOP)指令,不仅能够减少程序中非预期的gadget数量,还使原指令地址发生随机偏移,打乱程序原有的内存布局,增加了代码重用攻击的成本。同时,针对所提方法设计了基于“热”代码的优化策略,通过动态插桩获得二进制文件中基本块的执行次数,以此调整每个基本块中NOP指令的插入概率,在执行频率更高的基本块中插入更少的NOP指令,可以保证较低性能开销的同时产生更高的随机化熵。实验部分使用SPEC基准测试程序,从性能开销、gadget存活率、文件大小等角度对优化后的方法进行实例测试,结果表明:当插入概率为15%时效果最好,程序中gadget平均存活率趋于稳定且小于1.49%,增加攻击者重复利用相同gadget攻击链攻击难度的同时,该安全性下仅额外增加了4.1%的运行开销和7.7%的文件膨胀率。
-
关键词
软件多样化
二进制重写
NOP指令插入
代码重用攻击
-
Keywords
software diversity
binary rewriting
NOP insertion
code-reuse attack
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名面向二进制代码的细粒度软件多样化方法
- 2
-
-
作者
何本伟
郭云飞
梁浩
王庆丰
-
机构
信息工程大学信息技术研究所
-
出处
《计算机工程》
CSCD
北大核心
2024年第1期138-144,共7页
-
基金
国家自然科学基金(62002383)
国家重点研发计划(2021YFB1006200,2021YFB1006201)。
-
文摘
现有软件多样化方法大多需要源代码,基于编译器生成变体二进制,而对二进制代码直接进行转换时由于缺乏调试信息导致难以正确逆向,且易造成高额的性能开销。为此,提出一种面向二进制代码的细粒度软件多样化方法。通过静态二进制重写技术以函数块为单位进行重排序,随机化函数在代码段中的原始位置,同时使程序的内存片段gadgets位置发生改变,使得攻击者对程序的先验知识失效,以防御大规模代码重用攻击。为了进一步提高攻击者破解难度,对基本块内的指令进行依赖性分析,实现基本块内指令随机化,同时使得随机化后基本块的原始语义不变。性能测试结果表明,函数重排序对gadgets存活率的影响大于基本块内指令重排序,两者同时使用时程序的gadgets平均存活率为5.71%;模糊哈希算法Tlsh比较结果显示,该方法能够有效躲避同源性检测;使用工具Bindiff进行测试的结果表明,多样化后基本块内指令重排序的异构度大于函数重排序,且在基准测试集SPEC CPU2006上函数重排序和指令重排序同时使用时平均运行开销仅为3.1%,具有良好的实用性。
-
关键词
软件多样化
代码重用攻击
二进制重写
代码随机化
数据依赖性
-
Keywords
software diversification
code-reuse attacks
binary rewriting
code randomization
data dependency
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名高健壮性二进制应用程序裁剪
- 3
-
-
作者
丁铎
孙聪
郑涛
-
机构
西安电子科技大学网络与信息安全学院
中国电子科技集团公司第五十四研究所
中国航空工业集团公司西安航空计算技术研究所
-
出处
《计算机科学》
CSCD
北大核心
2024年第10期208-217,共10页
-
基金
国家自然科学基金(62272366)
陕西省重点研发计划(2023-YBGY-371)。
-
文摘
应用程序的常用功能仅占其所有功能的小部分。冗余功能代码造成应用程序攻击面扩大,从而增大代码重用攻击风险。二进制程序裁剪能够在分析应用程序二进制的基础上,识别并删除程序冗余代码,减小程序攻击面。现有二进制裁剪方法依赖人工构造的输入产生初始控制流,并依赖启发式方法扩展控制流图,导致方法健壮性和可扩展性受限。文中提出并实现了一种高健壮性二进制应用程序裁剪方法(RBdeb),使用黑盒模糊测试技术获取具有更高健壮性的合法执行轨迹集合,基于图同构算法自动分类相似库函数,提出的路径发现算法从初始执行轨迹构成的二进制控制流子图出发,扩展二进制控制流路径和同类库函数调用,生成高健壮性的裁剪结果二进制文件。实验结果表明,相比现有方案,RBdeb具有更高的路径覆盖率和裁剪后二进制健壮性,路径发现算法和库分类方法具有更强的可扩展性,所提方法能够裁剪大规模实际应用程序。
-
关键词
程序裁剪
二进制分析
模糊测试
二进制重写
程序分析
-
Keywords
Program debloating
Binary analysis
Fuzzing
Binary rewriting
Program analysis
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于空间约束的二进制代码重写技术研究
被引量:1
- 4
-
-
作者
宋威
曾勇军
奚琪
-
机构
中国通用技术集团公司
国家数字交换系统工程技术研究中心
-
出处
《计算机应用与软件》
CSCD
北大核心
2014年第6期9-12,共4页
-
文摘
二进制代码重写是程序分析领域的一个热点研究方向。提出一种基于空间约束的静态二进制代码重写技术,在保持代码功能和结构的情况下实现自动化重写。介绍二进制代码重写的设计思路,描述空闲空间构造和管理的策略,给出空间约束的代码重写算法。实验结果证明了该技术的有效性和可靠性。
-
关键词
二进制代码重写
重定位
基本块
PE文件格式
-
Keywords
Binary code rewriting Relocation Basic block PE file format
-
分类号
TP309
[自动化与计算机技术—计算机系统结构]
-
-
题名基于函数级控制流监控的软件防篡改
被引量:6
- 5
-
-
作者
张贵民
李清宝
王炜
朱毅
-
机构
数学工程与先进计算国家重点实验室(信息工程大学)
-
出处
《计算机应用》
CSCD
北大核心
2013年第9期2520-2524,共5页
-
基金
国家核高基项目(2013JH00103)
-
文摘
软件防篡改是软件保护的重要手段。针对由缓冲区溢出等攻击导致的控制流篡改,提出一种基于函数级控制流监控的软件防篡改方法。以函数级控制流描述软件正常行为,利用二进制重写技术在软件函数入口处植入哨兵,由监控模块实时获取哨兵发送的软件运行状态,通过对比运行状态和预期值判断程序是否被篡改。实现了原型系统并对其进行了性能分析,实验结果表明,基于函数级控制流监控的软件防篡改方法能有效检测对控制流的篡改攻击,无误报且开销较低,其实现不依赖程序源码,无需修改底层硬件和操作系统,监控机制与被保护软件隔离,提高了安全性。
-
关键词
软件防篡改
函数级控制流
二进制重写
哨兵
可信平台模块
-
Keywords
software tamper resistance
Function-Level Control-Flow (FLCF)
binary rewriting
guard
Trusted Platform Module(TPM)
-
分类号
TP309.1
[自动化与计算机技术—计算机系统结构]
TP309.5
[自动化与计算机技术—计算机系统结构]
-