av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Linux內(nèi)存攻擊緩解技術(shù):ASLR

地址空間隨機(jī)化(ASLR)是一種內(nèi)存攻擊緩解技術(shù),可以用于 Linux 和 Windows 系統(tǒng)。了解一下如何運(yùn)行它、啟用/禁用它,以及它是如何工作的。

創(chuàng)新互聯(lián)建站從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元達(dá)坂城做網(wǎng)站,已為上家服務(wù),為達(dá)坂城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

地址空間隨機(jī)化Address Space Layout Randomization(ASLR)是一種操作系統(tǒng)用來抵御緩沖區(qū)溢出攻擊的內(nèi)存保護(hù)機(jī)制。這種技術(shù)使得系統(tǒng)上運(yùn)行的進(jìn)程的內(nèi)存地址無法被預(yù)測,使得與這些進(jìn)程有關(guān)的漏洞變得更加難以利用。

ASLR 目前在 Linux、Windows 以及 MacOS 系統(tǒng)上都有使用。其最早出現(xiàn)在 2005 的 Linux 系統(tǒng)上。2007 年,這項(xiàng)技術(shù)被 Windows 和 MacOS 部署使用。盡管 ASLR 在各個(gè)系統(tǒng)上都提供相同的功能,卻有著不同的實(shí)現(xiàn)。

ASLR 的有效性依賴于整個(gè)地址空間布局是否對于攻擊者保持未知。此外,只有編譯時(shí)作為位置無關(guān)可執(zhí)行文件Position Independent Executable(PIE)的可執(zhí)行程序才能得到 ASLR 技術(shù)的最大保護(hù),因?yàn)橹挥羞@樣,可執(zhí)行文件的所有代碼節(jié)區(qū)才會被加載在隨機(jī)地址。PIE 機(jī)器碼不管絕對地址是多少都可以正確執(zhí)行。

ASLR 的局限性

盡管 ASLR 使得對系統(tǒng)漏洞的利用更加困難了,但其保護(hù)系統(tǒng)的能力是有限的。理解關(guān)于 ASLR 的以下幾點(diǎn)是很重要的:

它不能解決漏洞,而是增加利用漏洞的難度

并不追蹤或報(bào)告漏洞

不能對編譯時(shí)沒有開啟 ASLR 支持的二進(jìn)制文件提供保護(hù)

不能避免被繞過

ASLR 是如何工作的

通過對攻擊者在進(jìn)行緩沖區(qū)溢出攻擊時(shí)所要用到的內(nèi)存布局中的偏移做了隨機(jī)化,ASLR 加大了攻擊成功的難度,從而增強(qiáng)了系統(tǒng)的控制流完整性。

通常認(rèn)為 ASLR 在 64 位系統(tǒng)上效果更好,因?yàn)?64 位系統(tǒng)提供了更大的熵(可隨機(jī)的地址范圍)。

ASLR 是否正在你的 Linux 系統(tǒng)上運(yùn)行?

下面展示的兩條命令都可以告訴你的系統(tǒng)是否啟用了 ASLR 功能:

$ cat /proc/sys/kernel/randomize_va_space
2
$ sysctl -a --pattern randomize
kernel.randomize_va_space = 2

上方指令結(jié)果中的數(shù)值(2)表示 ASLR 工作在全隨機(jī)化模式。其可能為下面的幾個(gè)數(shù)值之一:

0 = Disabled
1 = Conservative Randomization
2 = Full Randomization

如果你關(guān)閉了 ASLR 并且執(zhí)行下面的指令,你將會注意到前后兩條 ldd 的輸出是完全一樣的。ldd 命令會加載共享對象并顯示它們在內(nèi)存中的地址。

$ sudo sysctl -w kernel.randomize_va_space=0    disable
[sudo] password for shs:
kernel.randomize_va_space = 0
$ ldd /bin/bash
       linux-vdso.so.1 (0x00007ffff7fd1000)  /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007ffff7c69000)
       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffff7c63000)
       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff7a79000)
       /lib64/ld-linux-x86-64.so.2 (0x00007ffff7fd3000)
$ ldd /bin/bash
       linux-vdso.so.1 (0x00007ffff7fd1000)  /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007ffff7c69000)
       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffff7c63000)
       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff7a79000)
       /lib64/ld-linux-x86-64.so.2 (0x00007ffff7fd3000)

如果將其重新設(shè)置為 2 來啟用 ASLR,你將會看到每次運(yùn)行 ldd,得到的內(nèi)存地址都不相同。

$ sudo sysctl -w kernel.randomize_va_space=2    enable
[sudo] password for shs:
kernel.randomize_va_space = 2
$ ldd /bin/bash
       linux-vdso.so.1 (0x00007fff47d0e000) set of addresses
       libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f1cb7ce0000)
       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1cb7cda000)
       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1cb7af0000)
       /lib64/ld-linux-x86-64.so.2 (0x00007f1cb8045000)
$ ldd /bin/bash
       linux-vdso.so.1 (0x00007ffe1cbd7000) set of addresses
       libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fed59742000)
       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fed5973c000)
       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fed59552000)
       /lib64/ld-linux-x86-64.so.2 (0x00007fed59aa7000)

嘗試?yán)@過 ASLR

盡管這項(xiàng)技術(shù)有很多優(yōu)點(diǎn),但繞過 ASLR 的攻擊并不罕見,主要有以下幾類:

利用地址泄露

訪問與特定地址關(guān)聯(lián)的數(shù)據(jù)

針對 ASLR 實(shí)現(xiàn)的缺陷來猜測地址,常見于系統(tǒng)熵過低或 ASLR 實(shí)現(xiàn)不完善。

利用側(cè)信道攻擊

總結(jié)

ASLR 有很大的價(jià)值,尤其是在 64 位系統(tǒng)上運(yùn)行并被正確實(shí)現(xiàn)時(shí)。雖然不能避免被繞過,但這項(xiàng)技術(shù)的確使得利用系統(tǒng)漏洞變得更加困難了。這份參考資料可以提供 在 64 位 Linux 系統(tǒng)上的完全 ASLR 的有效性 的更多有關(guān)細(xì)節(jié),這篇論文介紹了一種利用分支預(yù)測 繞過 ASLR 的技術(shù)。


本文題目:Linux內(nèi)存攻擊緩解技術(shù):ASLR
本文來源:http://uogjgqi.cn/article/cdjedep.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流