[發明專利]一種操作系統地址空間隨機化分配系統及方法有效
| 申請號: | 201410246004.8 | 申請日: | 2014-06-04 |
| 公開(公告)號: | CN103995705B | 公開(公告)日: | 2017-04-19 |
| 發明(設計)人: | 游瑞邦;涂碧波;孟丹 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 王丹,栗若木 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 操作系統 地址 空間 隨機化 分配 系統 方法 | ||
技術領域
本發明涉及信息安全領域,特別涉及一種操作系統地址空間隨機化分配系統及方法。
背景技術
計算機是信息存儲和處理的基礎設施,然而基于設計復雜性和實現的成本因素考慮,用于存儲和處理信息的計算機并不安全。引起計算機不安全的主要因素包括:①缺乏專門為安全需求而設計的硬件;②操作系統從設計之初就沒有考慮安全機制;③計算機語言天生的缺陷,如C語言所引入的緩沖區溢出安全隱患。這些因素的存在會給計算機系統帶來不同層次的安全漏洞,給惡意軟件留下可乘之機。如目前惡意軟件猖獗,網絡攻擊不斷,存儲和處理信息的IT基礎設施或多或少地受到病毒感染和攻擊,計算機的安全運行和存儲在其中的數據安全必然受到威脅。
計算機安全的威脅主要來源于緩沖區溢出漏洞,內存管理的安全性是計算機安全的核心,這是因為大部分的安全漏洞與內存管理相關。如廣泛流行的拒絕服務攻擊(DoS)、敏感數據竊取和獲取超級用戶權限等攻擊的深層原因都與系統缺乏安全的內存管理相關。從CVE 2012 Linux內核漏洞數據庫來看,80%漏洞與堆棧緩沖區溢出、惡意代碼執行、空指針引用、內存崩潰、指針和函數參數安全檢查缺失有關。再者廣泛使用的C語言并不是安全的計算機語言,對象的長度不做安全檢查,并且大量使用指針,同時指針的不正確使用會給代碼帶來安全隱患。Linux操作系統大部分代碼由C語言完成,與其他應用程序一樣,同樣存在緩沖區溢出安全隱患。目前緩沖區溢出漏洞依然是威脅計算機安全的第一威脅。從CVE 2012 Linux內核漏洞數據庫來看,由緩沖區溢出直接引發的漏洞就占30%,其他形式的漏洞大部分也是由緩沖區溢出引發。緩沖區溢出漏洞攻擊通過局部變量緩沖區溢出覆蓋棧幀的返回地址,篡改棧幀內容植入惡意代碼(如殼代碼(shellcode))并使之運行。近年來計算機安全引起廣泛重視,開始設計和實現有一定安全功能的硬件和軟件設施。硬件技術如處理器支持不可執行的NX位和相應的頁表管理機制;軟件技術如編譯器增加防范緩沖區溢出的堆棧保護(Stack Guard)等技術。這兩項技術能比較有效防范和阻止利用緩沖區溢出漏洞植入惡意代碼并使之執行的攻擊。然而安全技術與黑客漏洞利用攻擊是相互博弈的過程,出現了緩沖區溢出的變種攻擊。返回庫函數(return-to-libc)攻擊是緩沖區溢出的變種攻擊的典型代表,它不需要在棧中植入惡意代碼和在棧中執行,所以NX技術和編譯器的棧保護技術對它是無效的。程序一般都會鏈接C函數庫,即libc。return-to-libc緩沖區溢出攻擊不需要在函數棧區植入代碼,只需修改棧幀返回地址的內容,使其指向不安全的系統庫函數。如libc中系統(system)函數只需要給它一個參數就可以執行外部代碼,例如“/bin/sh”,攻擊者利用庫函數的漏洞進行攻擊。return-to-libc的成功率依賴于系統地址空間的固定分配,漏洞利用者能比較容易地猜測出目標系統的庫函數入口地址,從而能有效地實施return-to-libc攻擊。如果系統放棄原有的地址空間固定分配方式,而采用地址空間隨機化分配策略,能有效阻止return-to-libc攻擊,因為系統隨機映射庫函數的地址空間提高了攻擊者探測庫函數的地址的難度,在64位系統中幾乎探測不出,能有效防范該類緩沖區變種攻擊。
目前,x86通用平臺的windows和Linux操作系統也支持地址空間隨機化分配功能。但現有的地址空間隨機化分配方式存在比較多的問題,如:①目前的隨機化分配范圍比較有限,10幾位的隨機范圍,攻擊者采用暴力猜測辦法容易猜測出隨機化分配后的地址空間分布情況。②隨機數產生算法只與時鐘相關,不夠安全。目前系統的隨機化分配的隨機數產生算法依賴于系統的庫函數(random函數),而該函數的算法是根據系統的時鐘值來產生隨機數,攻擊者若獲取目標系統的時鐘值就容易猜測出目標應用的地址空間隨機化分配后的布局而實施return-to-libc攻擊。③不夠靈活,系統要么選擇開啟地址空間隨機化分配功能,即系統所有進程都采取隨機化分配方式,要么關閉該功能,用戶不能根據應用的安全需求自主選擇開啟和關閉隨機化分配功能;地址空間包括:棧地址空間、堆地址空間和內存映射(mmap)地址空間,目前的隨機化分配方式也不能根據具體的安全需求獨立配置這三個地址空間是否采取隨機化分配方式。④目前國產龍芯處理器平臺的Linux操作系統還缺乏功能完善的地址空間隨機化分配功能的支持。
發明內容
本發明要解決的技術問題是提供一種操作系統地址空間隨機化分配系統及方法,提高地址空間隨機化分配范圍,從而提高操作系統隨機化的安全性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410246004.8/2.html,轉載請聲明來源鉆瓜專利網。





