徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

Return-to-libc攻击和返回导向编程

快捷方式: 差异相似杰卡德相似系数参考

Return-to-libc攻击和返回导向编程之间的区别

Return-to-libc攻击 vs. 返回导向编程

Return-to-libc攻击(缩写:ret2libc),即“返回至C标准库攻击”,是一种电脑安全攻击。这种攻击方式一般应用于缓冲区溢出中,其堆栈中的返回地址被替换为另一条指令的地址,并且堆栈的一部分被覆盖以提供其参数。这允许攻击者调用现有函数而无需注入恶意代码到程序中。 缩写为libc的共享库是C标准函数库,提供了类UNIX操作系统中的C运行时支持。尽管攻击者可以让代码返回到任意位置,但绝大多数情况下的目标都是libc。这是因为libc总是会被链接到程序中,并且它提供了对攻击者而言一些相当有用的函数(如system()调用可以只附加一个参数即执行外部程序)。这即是尽管返回地址可以指向另一个完全不同的区域,但这种攻击仍被称为return-to-libc的原因。. 面向返回编程(Return-Oriented Programming,缩写:ROP)是计算机安全漏洞利用技术,该技术允许攻击者在安全防御的情况下执行代码,如不可执行的内存和代码签名。攻击者控制堆栈调用以劫持程序控制流并执行针对性的机器语言指令序列(称为Gadgets)。 每一段gadget通常结束于return指令,并位于共享库代码中的子程序。系列调用这些代码,攻击者可以在拥有更简单攻击防范的程序内执行任意操作。.

之间Return-to-libc攻击和返回导向编程相似

Return-to-libc攻击和返回导向编程有(在联盟百科)2共同点: 堆栈缓冲区溢出

堆栈

--(stack)又稱為棧或--,是计算机科學中一種特殊的串列形式的抽象資料型別,其特殊之處在於只能允許在連結串列或陣列的一端(稱為堆疊頂端指標,top)進行加入数据(push)和輸出数据(pop)的運算。另外--也可以用一維数组或連結串列的形式來完成。堆疊的另外一個相對的操作方式稱為佇列。 由於堆疊資料結構只允許在一端進行操作,因而按照後進先出(LIFO, Last In First Out)的原理運作。.

Return-to-libc攻击和堆栈 · 堆栈和返回导向编程 · 查看更多 »

缓冲区溢出

缓冲区溢出(buffer overflow),是针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序运行、趁著中斷之際并取得程序乃至系统的控制权。 缓冲区溢出原指当某个数据超过了处理程序限制的范围时,程序出现的异常操作。造成此现象的原因有:.

Return-to-libc攻击和缓冲区溢出 · 缓冲区溢出和返回导向编程 · 查看更多 »

上面的列表回答下列问题

Return-to-libc攻击和返回导向编程之间的比较

Return-to-libc攻击有9个关系,而返回导向编程有5个。由于它们的共同之处2,杰卡德指数为14.29% = 2 / (9 + 5)。

参考

本文介绍Return-to-libc攻击和返回导向编程之间的关系。要访问该信息提取每篇文章,请访问:

嘿!我们在Facebook上吧! »