网络与信息安全学报 ›› 2022, Vol. 8 ›› Issue (6): 135-145.doi: 10.11959/j.issn.2096-109x.2022086
• 学术论文 • 上一篇
迟宇宁, 郭云飞, 王亚文, 扈红超
修回日期:
2021-12-28
出版日期:
2022-12-01
发布日期:
2022-12-01
作者简介:
迟宇宁(1995- ),女,云南楚雄人,信息工程大学硕士生,主要研究方向为网络主动防御、软件多样化基金资助:
Yuning CHI, Yunfei GUO, Yawen WANG, Hongchao HU
Revised:
2021-12-28
Online:
2022-12-01
Published:
2022-12-01
Supported by:
摘要:
为应对信息化生活中的网络攻击及威胁,降低网络系统中同质化攻击快速蔓延的风险,增强网络和软件的安全性,软件多样化技术被应用到系统中。软件多样化旨在生成功能等价但内部发生变化的程序变体,从而改变单一的运行环境,缓解同质化攻击。现有的多样化技术的评估指标 ROP(return-oriented programming)gadgets 幸存率难以直接体现安全性影响且评估方法单一,为了更加全面有效地评估软件多样化方法的有效性,提出基于ROP/JOP(jump-oriented programming)gadgets性质的软件多样化评估方法,通过分析常见的代码重用攻击,将抽象的量化转为具象的指标,从空间、时间及质量3个方面评估多样化方法的安全增益及效果。该方法根据gadgets的相似性、损坏度和可用性3个性质探讨软件多样化技术如何影响ROP/JOP攻击。用指令替换、NOP插入、控制流平坦等9种多样化方法对GNU coreutils程序集进行多样化编译生成多样化程序集。对多样化程序集进行基于 gadgets 性质的实验,根据实验结果评估不同多样化方法的有效性及对攻击造成的影响。实验结果表明,该方法能够对软件多样化方法的安全增益进行准确评估,多样化技术会导致 ROP/JOP 攻击所需的攻击链空间增大,构造攻击链的时间变长且攻击成功率降低。不同的多样化方法产生的效果高低不一,对后续研究具有更高安全增益的多样化技术有指导作用。
中图分类号:
迟宇宁, 郭云飞, 王亚文, 扈红超. 基于ROP/JOP gadgets性质的软件多样化评估方法[J]. 网络与信息安全学报, 2022, 8(6): 135-145.
Yuning CHI, Yunfei GUO, Yawen WANG, Hongchao HU. Software diversity evaluation method based on the properties of ROP/JOP gadgets[J]. Chinese Journal of Network and Information Security, 2022, 8(6): 135-145.
表2
用于ROP/JOP 攻击的TC gadgets Table2 TC gadgets for ROP/JOP attack"
gadget类型 | 描述 | 形式 | 示例 |
移动寄存器MR | 将a寄存器参数赋给b寄存器 | mov reg1, reg2 | mov rax, edx |
加载寄存器LR | 将参数加载进寄存器 | pop reg | pop r15 |
加载内存LM | 将内存存放的参数给寄存器 | mov reg1,[reg2] | mov eax,[rax] |
存储内存SM | 将寄存器参数存入内存 | mov[reg1], reg2 | mov[rax], esi |
add reg1, reg2 | add ebx, rsi | ||
算术操作AM | 两个寄存器之间的算术运算/加载存储 | add[reg1], reg2 | add[rcx], al |
add reg, const | add eax, 0x208d8e | ||
栈操作SP | 设置栈顶指针 | xchg rsp, reg | xchg rsp, rax |
跳转操作JMP | 设置指令指针 | jmp reg | jmp qword ptr[rsi+0x41] |
函数调用CALL | 通过寄存器跳转到某函数 | call reg | call qword ptr[rsi+0x20] |
表3
多样化技术评估结果Table 3 Results of diversified technology assessment"
变体生成技术 | Gadgets相似度 | Gadgets损坏率 | Gadgets收集效率(个/s) | |||||
ROP | JOP | ROP | JOP | ROP | JOP | |||
CFF | 6.73% | 6.66% | 34% | 28% | 35.9 | 46.7 | ||
NI | 4.56% | 5.23% | 31% | 26% | 22.5 | 26.7 | ||
FCF | 7.63% | 8.56% | 23% | 20% | 51.2 | 50.4 | ||
GVS | 7.69% | 8.50% | 28% | 18% | 52.8 | 50.0 | ||
IR | 7.75% | 8.69% | 25% | 19% | 51.4 | 52.5 | ||
FR | 7.38% | 8.51% | 23% | 21% | 54.0 | 53.7 | ||
RS | 7.91% | 9.02% | 14% | 10% | 54.1 | 50.4 | ||
FS | 7.96% | 8.71% | 18% | 11% | 50.4 | 50.5 | ||
ESH | 7.82% | 8.79% | 21% | 12% | 51.0 | 52.5 | ||
Normal | — | — | 4% | 3% | 62.6 | 43.8 |
[1] | LITCHFIELD D . Buffer Underruns,DEP,ASLR and improving the exploitation prevention mechanisms (XPMs) on the Windows platform[EB]. |
[2] | ABADI M , BUDIU M H , ERLINGSSON ú ,et al. Control-flow integrity[C]// Proceedings of the 12th ACM conference on Computer and Communications Security CCS '05. 2005: 340-353. |
[3] | LIVSHITS V B , LAM M S . Finding security vulnerabilities in Java applications with static analysis[J]. 14th USENIX Security Symposium, 2005: 271-286. |
[4] | 姚东, 张铮, 张高斐 ,等. 多变体执行安全防御技术研究综述[J]. 信息安全学报, 2020,5(5): 77-94. |
YAO D , ZHANG Z , ZHANG G F ,et al. A survey on multi-variant execution security defense technology[J]. Journal of Cyber Security, 2020,5(5): 77-94. | |
[5] | GIUFFRIDA C , KUIJSTEN A , TANENBAUM A S . Enhanced operating system security through efficient and fine-grained address space randomization[C]// Proceedings of the 21st USENIX Conference on Security symposium. 2012:40. |
[6] | HISER J , NGUYEN-TUONG A , CO M ,et al. ILR:where'd my gadgets go[C]// Proceedings of 2012 IEEE Symposium on Security and Privacy. Piscataway:IEEE Press, 2012: 571-585. |
[7] | 刘镇武, 隋然, 张铮 ,等. 基于信息熵与软件复杂度的软件多样性评估方法[J]. 信息工程大学学报, 2020,21(2): 207-213. |
LIU Z W , SUI R , ZHANG Z ,et al. Software diversity evaluation method based on information entropy and software complexity[J]. Journal of Information Engineering University, 2020,21(2): 207-213. | |
[8] | HERNANDEZ-CASTRO J , ROSSMAN J . Measuring software diversity,with applications to security[J]. arXiv:1310.3307, 2013. |
[9] | SHANNON C E . A mathematical theory of communication[J]. Bell System Technical Journal, 1948,27(3): 379-423. |
[10] | COHEN F B . Operating system protection through program evolution[J]. Computers & Security, 1993,12(6): 565-584. |
[11] | COFFMAN J , KELLY D M , WELLONS C C ,et al. ROP gadget prevalence and survival under compiler-based binary diversification schemes[C]// Proceedings of the 2016 ACM Workshop on Software Protection. 2016: 15-26. |
[12] | COPPENS B , DE SUTTER B , MAEBE J . Feedback-driven binary code diversification[J]. ACM Transactions on Architecture and Code Optimization, 2013,9(4): 1-26. |
[13] | BRUMLEY D , POOSANKAM P , SONG D ,et al. Automatic patch-based exploit generation is possible:techniques and implications[C]// Proceedings of 2008 IEEE Symposium on Security and Privacy. 2008: 143-157. |
[14] | SEBASTIAN B , CHRISTIAN C , VIJAY G ,et al. Code obfuscation against symbolic execution attacks[C]// Proceedings of the 32nd Annual Conference on Computer Security Applications (ACSAC ’16). 2016: 189-200. |
[15] | SEBASTIAN B , CHRISTIAN C , AND ALEXANDER P . Predicting the resilience of obfuscated code against symbolic execution attacks via machine learning[C]// Proceedings of the 26th USENIX Security Symposium. 2017: 661-678. |
[16] | FABIO P , MATTEO D’A , DAVIDE B . Beyond precision and recall:understanding uses (and misuses) of similarity hashes in binary analysis[C]// Proceedings of the Eighth ACM Conference on Data and Application Security and Privacy (CODASPY ’18). 2018: 354-365. |
[17] | COFFMAN J , CHAKRAVARTY A , RUSSO J A ,et al. Quantifying the effectiveness of software diversity using near-duplicate detection algorithms[C]// Proceedings of the 5th ACM Workshop on Moving Target Defense. 2018: 1-10. |
[18] | HOMESCU A , NEISIUS S , LARSEN P ,et al. Profile-guided automated software diversity[C]// Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). Piscataway:IEEE Press, 2013: 1-11. |
[19] | ROEMER R , BUCHANAN E , SHACHAM H ,et al. Return-oriented programming[J]. ACM Transactions on Information and System Security, 2012,15(1): 1-34. |
[20] | BLETSCH T , JIANG X X , FREEH V W ,et al. Jump-oriented programming:a new class of code-reuse attack[C]// Proceedings of the 6th ACM Symposium on Information,Computer and Communications Security - ASIACCS '11. 2011: 30-40. |
[21] | COHEN F B . Operating system protection through program evolution[J]. Computers & Security, 1993,12(6): 565-584. |
[22] | CRANE S , LIEBCHEN C , HOMESCU A ,et al. Readactor:practical code randomization resilient to memory disclosure[C]// Proceedings of 2015 IEEE Symposium on Security and Privacy. Piscataway:IEEE Press, 2015: 763-780. |
[23] | JUNOD P , RINALDINI J , WEHRLI J ,et al. Obfuscator-LLVM:software protection for the masses[C]// Proceedings of 2015 IEEE/ACM 1st International Workshop on Software Protection. 2015: 3-9. |
[24] | LáSZLó T , KISS á . Obfuscating C++ programs via control flow flattening[C]// Processing of Annales Universitatis Scientarum 25 Budapestinensis de Rolando E¨otv¨os Nominatae,Sectio. 2009. |
[25] | COLLBERG C , THOMBORSON C , LOW D . Manufacturing cheap,resilient,and stealthy opaque constructs[C]// Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '98. 1998: 184-196. |
[26] | AHMED S , XIAO Y , SNOW K Z ,et al. Methodologies for quantifying (re-) randomization security and timing under JIT-ROP[C]// Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security. 2020: 1803-1820. |
[1] | 肖玉强, 郭云飞, 王亚文. 基于符号执行和N-scope复杂度的代码混淆度量方法[J]. 网络与信息安全学报, 2022, 8(6): 123-134. |
[2] | 章登勇, 文凰, 李峰, 曹鹏, 向凌云, 杨高波, 丁湘陵. 基于双分支网络的图像修复取证方法[J]. 网络与信息安全学报, 2022, 8(6): 110-122. |
[3] | 王滨, 李思敏, 钱亚冠, 张君, 李超豪, 朱晨鸣, 张鸿飞. 基于剪枝技术和鲁棒蒸馏融合的轻量对抗攻击防御方法[J]. 网络与信息安全学报, 2022, 8(6): 102-109. |
[4] | 李东, 郝艳妮, 彭升辉, 訾瑞杰, 刘西蒙. 国家自然科学基金委员会网络安全现状与展望[J]. 网络与信息安全学报, 2022, 8(6): 92-101. |
[5] | 谢绒娜, 马铸鸿, 李宗俞, 田野. 基于卷积神经网络的加密流量分类方法[J]. 网络与信息安全学报, 2022, 8(6): 84-91. |
[6] | 刘赣秦, 李晖, 朱辉, 黄煜坤, 刘兴东. 低功耗嵌入式平台的SM2国密算法优化实现[J]. 网络与信息安全学报, 2022, 8(6): 29-38. |
[7] | 郭辉, 罗勇, 郭晓潞. 基于国密算法的车载以太网控制器身份认证方法[J]. 网络与信息安全学报, 2022, 8(6): 20-28. |
[8] | 姜奇, 冯茹, 张瑞杰, 王金花, 陈婷, 魏福山. 基于GRU的智能手机多场景步态认证[J]. 网络与信息安全学报, 2022, 8(5): 26-39. |
[9] | 应作斌, 方一晨, 张怡文. 动态聚合权重的隐私保护联邦学习框架[J]. 网络与信息安全学报, 2022, 8(5): 56-65. |
[10] | 张明英, 华冰, 张宇光, 李海东, 郑墨泓. 基于鸽群的鲁棒强化学习算法[J]. 网络与信息安全学报, 2022, 8(5): 66-74. |
[11] | 穆超, 王鑫, 杨明, 张恒, 陈振娅, 吴晓明. 面向物联网设备固件的硬编码漏洞检测方法[J]. 网络与信息安全学报, 2022, 8(5): 98-110. |
[12] | 林丹, 林凯欣, 吴嘉婧, 郑子彬. 基于字节码的以太坊智能合约分类方法[J]. 网络与信息安全学报, 2022, 8(5): 111-120. |
[13] | 邢福康, 张铮, 隋然, 曲晟, 季新生. 面向进程多变体软件系统的攻击面定性建模分析[J]. 网络与信息安全学报, 2022, 8(5): 121-128. |
[14] | 高艺恬, 陈立全, 屠天扬, 高原, 陈芊叶. 基于BRLWE的物联网后量子加密技术研究[J]. 网络与信息安全学报, 2022, 8(5): 140-149. |
[15] | 张娴, 朱建明, 隋智源, 明盛智. 数字货币交易匿名性与监管的博弈分析[J]. 网络与信息安全学报, 2022, 8(5): 150-157. |
阅读次数 | ||||||
全文 |
|
|||||
摘要 |
|
|||||
|