[發明專利]一種緩沖區溢出的保護方法無效
| 申請號: | 200710044020.9 | 申請日: | 2007-07-19 |
| 公開(公告)號: | CN101350051A | 公開(公告)日: | 2009-01-21 |
| 發明(設計)人: | 項敏;沈杰 | 申請(專利權)人: | 上海市閔行中學;項敏 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 20024*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 緩沖區 溢出 保護 方法 | ||
技術領域
本發明涉及計算機信息的讀入讀出保護方法,特別是一種緩沖區溢出的保護方法。
背景技術
緩沖區是內存中存放數據的地方。在程序試圖將數據放到計算機內存中的某一位置,但沒有足夠空間時會發生緩沖區溢出。
緩沖區是程序運行時計算機內存中的一個連續的塊,它保存了給定類型的數據。問題隨著動態分配變量而出現。為了不用太多的內存,一個有動態分配變量的程序在程序運行時才決定給他們分配多少內存。如果程序在動態分配緩沖區放入太多的數據會有什么現象?它溢出了,漏到了別的地方。一個緩沖區溢出應用程序使用這個溢出的數據將匯編語言代碼放到計算機的內存中,通常是產生root權限的地方。單單的緩沖區溢出,并不會產生安全問題。只有將溢出送到能夠以root權限運行命令的區域才行。這樣,一個緩沖區利用程序將能運行的指令放在了有root權限的內存中,從而一旦運行這些指令,就是以root權限控制了計算機。總結一下上面的描述。緩沖區溢出指的是一種系統攻擊的手段,通過往程序的緩沖區寫超出其長度的內容,造成緩沖區的溢出,從而破壞程序的堆棧,使程序轉而執行其它指令,以達到攻擊的目的。據統計,通過緩沖區溢出進行的攻擊占所有系統攻擊總數的80%以上。造成緩沖區溢出的原因是程序中沒有仔細檢查用戶輸入的參數。
對于上述問題,現有的主要解決方法是通過編寫正確的代碼來實現:
編寫正確的代碼是一件非常有意義但耗時的工作,特別像編寫C語言那種具有容易出錯傾向的程序(如:字符串的零結尾),這種風格是由于追求性能而忽視正確性的傳統引起的。盡管花了很長的時間使得人們知道了如何編寫安全的程序組具有安全漏洞的程序依舊出現。因此人們開發了一些工具和技術來幫助經驗不足的程序員編寫安全正確的程序。
最簡單的方法就是用grep來搜索源代碼中容易產生漏洞的庫的調用,比如對strcpy和sprintf的調用,這兩個函數都沒有檢查輸入參數的長度。事實上,各個版本C的標準庫均有這樣的問題存在。為了尋找一些常見的諸如緩沖區溢出和操作系統競爭條件等漏洞,一些代碼檢查小組檢查了很多的代碼。然而依然有漏網之魚存在。盡管采用了strcpy和sprintf這些替代函數來防止緩沖區溢出的發生,但是由于編寫代碼的問題,仍舊會有這種情況發生。比如lprm程序就是最好的例子,雖然它通過了代碼的安全檢查,但仍然有緩沖區溢出的問題存在。
發明內容
本發明的目的在于提供一種緩沖區溢出的保護方法,主要解決現有的通過編寫正確的代碼來實現的方法不但編寫過程十分費時,而且仍然無法徹底解決緩沖區溢出的的技術問題,降低的系統由于緩沖區溢出而被攻擊的概率。
為解決上述問題,本發明是這樣實現的:
一種緩沖區溢出的保護方法,其特征在于:該方法主要通過非執行的緩沖區來實現,通過使被攻擊程序的數據段地址空間不可執行,從而使得攻擊者不可能執行被植入被攻擊程序輸入緩沖區的代碼。
所述的緩沖區溢出的保護方法,其特征在于:該方法在Linux系統中采用信號傳遞方式來實現,Linux通過向進程堆棧釋放代碼然后引發中斷來執行在堆棧中的代碼進而實現向進程發送Unix信號,非執行緩沖區的補丁在發送信號的時候是允許緩沖區可執行的。
所述的緩沖區溢出的保護方法,其特征在于:該方法在Linux系統中采用GCC的在線重用方式來實現,GCC在堆棧區里放置了可執行的代碼以便在線重用,非執行堆棧的保護可以有效地對付把代碼植入自動變量的緩沖區溢出攻擊,而對于其他形式的攻擊則沒有效果。
通過上述技術方案,本發明方法可以通過編寫正確的代碼來實現的方法不但編寫過程十分費時,而且仍然無法徹底解決緩沖區溢出的的技術問題,降低的系統由于緩沖區溢出而被攻擊的概率。
具體實施方式
本發明提供了一種緩沖區溢出的保護方法,該方法主要通過非執行的緩沖區來實現。通過使被攻擊程序的數據段地址空間不可執行,從而使得攻擊者不可能執行被植入被攻擊程序輸入緩沖區的代碼,這種技術被稱為非執行的緩沖區技術。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海市閔行中學;項敏,未經上海市閔行中學;項敏許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710044020.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種始極片矯平方法
- 下一篇:工程機械輪胎胎面花紋





