Offset2lib 攻擊繞過 64 位 Linux 內核防護

jopen 11年前發布 | 4K 次閱讀 Linux

    安全研究人員Hector Marco發布公布了針對64位Linux內核的ASLR防護的繞過slide論文提 供下載,這種攻擊被稱為offset2lib,ASLR的實現是在Linux內核里,而在GNU/Linux發行版上加載一個應用程序到內存中會先找一個 隨機的地址加載第一個共享庫,之后加載的共享庫緊跟之前加載對象的地址,一個內存地址的泄漏就足夠讓地址隨機化變得無用,甚至GOT(Global Offset Table)的地址泄漏都不是必須的,由于大部分的GNU/Linux發行版(除了像Gentoo這種每個源碼包都需要自己編譯)的包都是預編譯的二進制 文件,所以這些發行版的offset都是一樣的。作者的POC中是輕松的繞過了NX(stack上不允許執行),ASLR(地址隨機化)+PIE(針對代 碼段的隨機化),SSP(壓棧出棧檢測是否被修改的canary)的組合防御,offset2lib攻擊為繞過普通的GNU/Linux針對漏洞的整體防御給以了致命的一擊。

這次offset2lib的曝光引起了0ld sch00l黑客社區的廣泛討論,多年來Linux內核開發者社區的自大是導致這種程度攻擊的主要原因,多年來的“修修補補”式的防御設計在一夜之間居然 崩潰掉了,甚至有人懷疑這些來自“上古”時代的防御代碼今天是否還有人記得...雖然offset2lib攻擊在目前的內核代碼里比較容易修復,但你根本 不知道像NSA之類的情報部門是否已經漏洞利用過? 有趣的是這種攻擊方式對于Grsecurity/PaX無效,Grsecurity/PaX早在13年前的實現就已經杜絕了這種攻擊的可能性,不幸的是只有GentooDebian Mempo提供了直接使用Grsecurity/PaX的途徑。當然,為什么Linux內核社區一直抄襲Grsecurity/PaX而不讓它進入主干或許是個社區政治問題,但抄的爛也是導致這次攻擊的主要原因。

btw:說普通的GNU/Linux安全是相對于Windows而言。 "    

本文轉載自: Solidot

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!