- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态二进制翻译中可控缓冲区攻击.pdf
动态二进制翻译中可控缓冲区攻击1
Controllable Buffer Overflow Attack
in Dynamic Binary Translation
唐锋 马湘宁 武成岗 张兆庆
(中科院计算所系统结构室编译组,北京,100080)
E-mail:tf@ict.ac.cn
摘要:
动态二进制翻译是在运行的时候根据执行路径翻译源机器代码到目标机器。因为执行时
可以具体知道将要翻译的指令所在的位置,根据将要翻译的指令的pc 地址就可以判断是否
是缓冲区溢出引起的恶意代码。
abstract:
It translates the source binary code into target code based on the execution path in dynamic
translation. We can know the program count (PC) of the code to be translated in the run time.
According to the PC of code to be translated, we can tell the evil code by the stack based buffer
overflow attack..
关键字:
动态二进制翻译 缓冲区溢出
keyword:
dynamic binary translation buffer overflow
1 本项目受到国家自然科学基金项目“动静态信息结合的编译优化方法的研究”(批准号)的资
助
1.引言
缓冲区溢出攻击(buffer overflow attack )是现在因特网上普遍而且危险的攻击方式。
缓冲区溢出主要是利用现有程序的一个特殊漏洞:编译器或者程序中没有对数组,缓冲
区的越界检查。
通常的缓冲区攻击,因为buffer 没有越界检查,所以可以用shell code(攻击者为了
取得shell 的控制权而精心编写的代码) 覆盖堆栈中的原有内容,并且最后用shell code
address (指向shell code 的地址)覆盖原来的函数返回地址,那么当执行到ret 指令时,
本来EIP (原来的返回地址)从栈里取出来放入PC (program count 指向下一条将要执
行的指令)中,但是EIP 已经因缓冲区的溢出,而被shell code address 覆盖,所以一旦
执行 ret 语句,程序的流程将不会返回到原来的函数调用点,而是转而执行由攻击者精
心设计的shell code,通过堆栈里shell code 的执行,取得控制权,最后攻击成功。这是最
普遍的一种缓冲区攻击,攻击者实现的方法可能有所不同,但是都需要用 shell code
address 覆盖原来的返回地址, 因为shell code 是利用缓冲区溢出而嵌入的,而缓冲区本
身的地址是在堆栈中的,所以shell code 也是存放在堆栈中,因此覆盖EIP 的shell code
address 也是指向堆栈的,所以堆栈指针sp(stack pointer)和shell code address 相差不大,
这一点相当重要,我们的缓冲区溢出解决方案就是基于这个理论基础。
二进制翻译是用软件的方法把一种机器上的可执行二进制代码翻译成另一种机器
上的二进制代码的过程。它最先运用在代码迁移,即在没有源程序的情况下把一种平台
上的二进制代码迁移到另外一种平台之上。它有助于打破 ISA (Instruction Set
Architecture )和其软件基础之间形成的相互扼制创新的局面,有助于厂商开发新ISA
机器,同时也使得一种机器上的二进制程序能够
您可能关注的文档
- 凸显师德修养和技能训练的教师培养模式创新--以湖北第二师范学院为例.pdf
- 分层流体中内模式Kelvin波幅非单调性变化特征的理论和实验研究.pdf
- 分层深流体中非线性内波传播的理论和数值研究.pdf
- 创业投资税收扶持政策述评.pdf
- 创建全国绿色食品原料生产基地促进肥西现代农业发展.pdf
- 创新的土力学真三轴加载装置和真三轴试验与结果.pdf
- 创新社区党建促进社区和谐的实践探索--对五角场镇开展“党员设岗定责”的思考和总结.pdf
- 利用微卫星标记分析31个中国地方绵羊品种的遗传多样性.pdf
- 利用新型干法窑技术研制G级(HSR型)油井水泥.pdf
- 利用早期确定的压力-体积-温度资料与地层测试资料减少岩石物理不确定性分析技术在西非的应用(N).pdf
最近下载
- 米家米家扫拖机器人3C使用说明书.pdf
- 2024年软件资格考试系统规划与管理师(综合知识、案例分析、论文)合卷(高级)试题与参考答案.pdf VIP
- 2023年山东省济宁市中考生物试题卷(含答案)+2022年中考生物试卷及答案.docx
- 第五届牛精英挑战赛试题库-肉牛汇总(387题).docx VIP
- 日立电梯LF电梯调试手册 elsc03调试资料.pdf
- 某桥缆索吊、猫道拆除施工方案.doc VIP
- 中小学科普神奇的微生物-科普.ppt.pptx VIP
- 病房呼叫系统设计【开题报告+文献综述+毕业设计】.Doc
- 头晕课件完整版本.pptx VIP
- KEYENCE基恩士一书搞懂 温度测量 [红外温度传感器篇].pdf
文档评论(0)