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

Return-to-libc攻击

指数 Return-to-libc攻击

Return-to-libc攻击(缩写:ret2libc),即“返回至C标准库攻击”,是一种电脑安全攻击。这种攻击方式一般应用于缓冲区溢出中,其堆栈中的返回地址被替换为另一条指令的地址,并且堆栈的一部分被覆盖以提供其参数。这允许攻击者调用现有函数而无需注入恶意代码到程序中。 缩写为libc的共享库是C标准函数库,提供了类UNIX操作系统中的C运行时支持。尽管攻击者可以让代码返回到任意位置,但绝大多数情况下的目标都是libc。这是因为libc总是会被链接到程序中,并且它提供了对攻击者而言一些相当有用的函数(如system()调用可以只附加一个参数即执行外部程序)。这即是尽管返回地址可以指向另一个完全不同的区域,但这种攻击仍被称为return-to-libc的原因。.

9 关系: 堆疊溢位堆栈位址空間配置隨機載入缓冲区溢出C標準函式庫返回导向编程NX位元X86記憶體區段操作系统

堆疊溢位

--(stack overflow)在電腦科學中是指使用過多的記憶體时導致呼叫堆疊產生的溢位。堆疊溢位的產生是由於過多的函數呼叫,導致呼叫堆疊無法容納這些呼叫的返回地址,一般在遞迴中產生。堆疊溢位很可能由無限遞迴(Infinite recursion)產生,但也可能僅僅是過多的堆疊層級。 堆疊溢位在核心設計中尤其危險,因此很多入門核心設計教程建議使用者不要嘗試使用遞迴程式;而是基於安全和效能考量,改用迴圈處理問題。 在POSIX相容平台上,堆疊溢位通常會造成作業系統產生SIGSEGV訊號。.

新!!: Return-to-libc攻击和堆疊溢位 · 查看更多 »

堆栈

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

新!!: Return-to-libc攻击和堆栈 · 查看更多 »

位址空間配置隨機載入

在計算機科學中,位址空間配置隨機載入(Address space layout randomization,缩写ASLR,又稱位址空間配置隨機化、位址空間布局隨機化)是一种防范内存损坏漏洞被利用的计算机安全技术。ASLR通过随机放置进程关键数据区域的定址空間来防止攻击者能可靠地跳转到内存的特定位置来利用函数。現代作業系統一般都加設這一機制,以防範惡意程式對已知位址進行Return-to-libc攻擊。.

新!!: Return-to-libc攻击和位址空間配置隨機載入 · 查看更多 »

缓冲区溢出

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

新!!: Return-to-libc攻击和缓冲区溢出 · 查看更多 »

C標準函式庫

C 標準函式庫(C standard library,缩写:libc)是在C語言程式設計中,所有符合標準的头文件(head file)的集合,以及常用的函式庫實作程序(如 I/O 輸入輸出和字串控制)。不像 COBOL、Fortran 和 PL/I等程式語言,在 C 語言的工作任務裡不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程式都是由標準函式庫的函式來建立的。.

新!!: Return-to-libc攻击和C標準函式庫 · 查看更多 »

返回导向编程

面向返回编程(Return-Oriented Programming,缩写:ROP)是计算机安全漏洞利用技术,该技术允许攻击者在安全防御的情况下执行代码,如不可执行的内存和代码签名。攻击者控制堆栈调用以劫持程序控制流并执行针对性的机器语言指令序列(称为Gadgets)。 每一段gadget通常结束于return指令,并位于共享库代码中的子程序。系列调用这些代码,攻击者可以在拥有更简单攻击防范的程序内执行任意操作。.

新!!: Return-to-libc攻击和返回导向编程 · 查看更多 »

NX位元

NX位(全名“No eXecute bit”,即「禁止執行位」,或“執行禁用位元”),是應用在CPU中的一種安全技術。.

新!!: Return-to-libc攻击和NX位元 · 查看更多 »

X86記憶體區段

x86架構中,記憶體區段(Memory Segmentation)是在不改變16位元段選擇子时,使用單个索引暫存器(保存了段内地址偏移值)所能夠定址的的記憶體範圍部份。也指在英特尔x86指令集体系结构下記憶體區段的实现方式。 从8086开始到随后的各款x86架构CPU,无论是实模式还是保护模式,内存寻址时都使用16位段寄存器(segment register)。段寄存器默认使用情况为:.

新!!: Return-to-libc攻击和X86記憶體區段 · 查看更多 »

操作系统

操作系统(operating system,縮寫作 OS)是管理计算机硬件與软件資源的计算机程序,同时也是计算机系统的核心与基石。操作系统需要处理如管理與配置内存、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作网络與管理文件系统等基本事務。操作系统也提供一個讓使用者與系統互動的操作界面。 操作系统的型態非常多樣,不同機器安裝的操作系统可從簡單到複雜,可從行動電話的嵌入式系统到超級電腦的大型作業系統。許多操作系统製造者對它涵盖范畴的定义也不尽一致,例如有些操作系统整合了图形用户界面,而有些僅使用命令行界面,而將图形用户界面視為一種非必要的應用程式。 操作系统理论在计算机科学中,為歷史悠久的分支;。.

新!!: Return-to-libc攻击和操作系统 · 查看更多 »

重定向到这里:

Ret2libcReturn-to-libc

传出传入
嘿!我们在Facebook上吧! »