"江南大学信息安全技术大作业:探究新型攻击技术ROP"
需积分: 19 124 浏览量
更新于2024-01-18
收藏 8.59MB DOC 举报
信息安全技术大作业报告:ROP攻击
一、简介
信息安全技术大作业主题为ROP(Return-oriented Programming,面向返回的编程)攻击。ROP是一种基于代码复用技术的攻击,攻击者通过从已有的库或可执行文件中提取指令片段,构建恶意代码。本文将对ROP攻击的原理、实现方式、防御方法以及江南大学相关研究进行综述。
二、ROP攻击原理
ROP攻击利用现有程序的代码,将其非恶意的指令片段(即gadget)重新拼接成恶意代码。gadget是指一系列特定指令,每个指令都以返回指令(return)结尾,这样攻击者可以通过连续触发多个gadget,使其形成一连串的恶意行为。ROP攻击利用堆栈上保存的返回地址,通过改变返回地址的值,将控制权转移至攻击者所构建的gadget序列,实现任意代码的执行。
三、ROP攻击实现方式
1.ROP攻击基本流程
(i) 攻击者首先通过漏洞获取程序的内存布局信息,包括函数库地址、函数地址、栈指针位置等。
(ii) 攻击者找到已有的gadget序列,这些gadget由指令片段组成,每个gadget以返回指令(return)结尾,攻击者通过将这些gadget连接起来,形成任意代码的执行序列。
(iii) 攻击者修改函数栈帧指针,将其指向构建的gadget序列的起始地址。
(iv) 当原程序的函数执行完毕,将返回到攻击者构建的gadget序列,实现恶意代码的执行。
2.常见的ROP攻击类型
(i) Stack Pivot:攻击者通过改变栈指针的位置,将其从栈上转移到堆上,从而实现对堆上对象的操作。
(ii) Sigreturn Oriented Programming:攻击者利用信号处理机制,在信号处理函数返回时执行恶意代码。
(iii) Not-Invented-Here ROP:攻击者利用已有的gadget,但通过修改其中的指令参数,实现自定义的攻击行为。
四、ROP攻击防御方法
1.地址空间布局随机化(ASLR):通过随机化内存地址分配,使攻击者难以获取到准确的内存布局信息,从而破坏了ROP攻击的精确性。
2.执行流完整性(Control Flow Integrity,CFI):CFI通过限制程序的控制流,只允许跳转到预期的目标地址,防止攻击者控制程序的执行。
3.栈保护技术:通过栈溢出检测和栈随机化等技术,防止栈被攻击者利用,进而防止ROP攻击的发生。
五、江南大学相关研究
江南大学在ROP攻击方面进行了深入研究,提出了一种基于CFI的防护方法。该方法通过在编译时插入额外的检查代码,确保每个指令的执行流在编译时就得到了限制,从而防止了ROP攻击的发生。该方法在实验中取得了较好的效果,有效防御了常见的ROP攻击。
总结:
ROP攻击是一种利用现有程序的代码实现恶意行为的技术,通过构建gadget序列并改变返回地址,攻击者可以实现任意代码的执行。防御ROP攻击的方法主要包括ASLR、CFI以及栈保护技术。江南大学在ROP攻击领域开展了相关研究,并提出了基于CFI的防护方法,取得了较好的成果。对于信息安全技术的学习和研究,ROP攻击是一个重要的议题,需要进一步深入了解和研究。
1096 浏览量
104 浏览量
点击了解资源详情
131 浏览量
点击了解资源详情
啊噗呲咔
- 粉丝: 139
- 资源: 27
最新资源
- TWinSoftSetup_11.00.1347编程软件.zip
- statisticalModel:这是为了存储统计模型
- VR-Viz:基于A框架的React组件,用于VR中的数据可视化
- 基于HTML实现的宽屏大气咖啡商店响应式网站模板5293(css+html+js+图样)
- 技嘉B460M小雕Elite+10400.zip
- bulid_new.rar
- passwordGenerator
- USB_PPM_Joystick:Arduino适配器,用于RC远程控制PPM信号到USB HID游戏杆
- 正泰NIOG1Y系列油田抽油机节能变频柜.rar
- code码
- Xshell连接工具 XshellXftpPortable.zip
- The-Brooding-Fighting-Forces
- Archity-开源
- 罗克韦尔自动化半导体与电子行业FMCS系统解决方案.zip
- 家纺用品网上销售管理系统-毕业设计
- uri-judge:C ++中的URI判断问题(cpp)