ASLR 與 PIE 的同與異

2021-10-01 21:24:29 字數 882 閱讀 7002

對於 aslr 和 pie 一直沒有系統歸納,部分概念時常混淆,做個筆記記錄一下。

aslr 是 linux作業系統的功能選項,作用於程式(elf)裝入記憶體執行時。是一種針對緩衝區溢位的安全保護技術,通過對載入位址的隨機化,防止攻擊者直接定位攻擊**位置,到達阻止溢位攻擊的一種技術。

檢視當前系統aslr的開啟情況:

sudo

cat /proc/sys/kernel/randomize_va_space

aslr 有三個安全等級:

pie 是 gcc 編譯器的功能選項,作用於程式(elf)編譯過程中。是乙個針對**段( .text )、資料段( .data )、未初始化全域性變數段( .bss )等固定位址的乙個防護技術,如果程式開啟了pie保護的話,在每次引導程式時都變換載入位址,從而不能通過 ropgadget 等一些工具來幫助解題。

在使用 gcc 編譯時加入引數-fpie

pie 開啟後會隨機化**段( .text )、初始化資料段( .data )、未初始化資料段( .bss )的載入位址。

作用位置

歸屬作用時間

aslr

1:棧基位址(stack)、共享庫(.so\libraries)、mmap 基位址

2:在1基礎上,增加隨機化堆基位址(chunk)

系統功能

作用於程式(elf)裝入記憶體執行時

pie**段( .text )、初始化資料段( .data )、未初始化資料段( .bss )

編譯器功能

作用於程式(elf)編譯過程中

C 與Visual Basic的異與同

c 是一種高階程式語言,是一種安全 穩定 簡單 優雅的程式語言,它與visual basic有很多相同的地方,同時也有很多不同的地方。我們今天這篇部落格本著學習c 的原則,著重介紹一下c 與visual basic的相同點和不同點。從幾個方面分別闡述。限於篇幅的原因,我們可能會分成幾個部分,以幾篇部...

移動端測試與傳統測試的同異

異2 耗電量和發熱測試 3 流量測試 4 相容性測試 5 弱網測試 6 中斷測試 7 手勢測試 8 許可權測試 9 客戶端效能 10 極限測試 11 非功能測試 測試流程,專案流程大體一致,從需求到設計到測試執行,測試活動是沒有區別的 都是使用等價類,邊界值,判定表,錯誤推斷法,場景法等方法來設計用...

ASLR在Windows與Linux系統之間的差別

hi 們,我在 上篇文章 中討論了linux平台上nx的特性。我們已經知道一般情況下nx windows平台上稱其為dep 和位址空間分布隨機化 aslr 會同時工作,所以也值得看一下aslr在linux平台是如何工作的。事實證明,linux上aslr的實現與windows上的有些顯著的差異。在wi...