?

緩沖區溢出漏洞攻擊及其對策探析

2017-03-11 08:27楊國旗
中國新通信 2017年3期
關鍵詞:緩沖區安全性

楊國旗

【摘要】 計算機網絡技術現在已經得到了廣泛的應用,對工作和生活均有著重要影響。但是因為網絡環境的特殊性,很容易受到外部攻擊影響,安全性較低,尤其是利用網絡漏洞進行攻擊為最為常見的威脅。緩沖區溢出漏洞攻擊作為主要威脅形式,必須要確定其特點,有針對性的采取措施進行處理優化,降低攻擊帶來的影響,本文對此進行了簡要分析。

【關鍵詞】 緩沖區 漏洞攻擊 安全性

安全問題一直都是計算機網絡運行分析要點,隨著計算機技術水平的提高,黑客攻擊方式也在不斷更新,通過層出不窮的手段和控制方法對網絡運行帶來巨大的威脅。利用緩沖區溢出漏洞來對計算機系統進行攻擊,在日常操作中比較常見,想要有效解決此類問題,必須要確定攻擊原理,有的放矢的應用有效手段進行優化。

一、緩沖區溢出漏洞分析

緩沖區即計算機內存塊在內存地址的連續分配地址,而緩沖區溢出漏洞則是因為內存邊界檢查機制在C語言或者C++語言設計時,未設置邊界造成。就象現在計算機操作系統,大部分均是選擇用C語言或者C++語言編寫,如果計算機程度想要將寫入地址超出內存邊界,便會產生非法操作[1]。如將寫入數據保存到臨近內存地址內,出現錯誤運行命令,情況嚴重甚至會造成系統崩潰?;蛘呤腔诼┒磮绦胁僮髅?,得到系統最高執行權,并操作干擾機器攻擊軟件系統。

二、緩沖區溢出漏洞攻擊分析

2.1確定溢出點

要對漏洞發現人或者組織原始資料進行全面收集,其根據漏洞描述重現漏洞。其中,漏洞重現時要重點做好操作系統類型、軟件環境和補丁版本等選擇。同時還要注意對相關出錯信息的收集,例如程序出錯原因以及出錯時EIP值。另外,可以利用Ollydbg、SoftICE等調試工具對溢出情況進行分析,對存在問題的執行流程進行跟蹤,最終確定溢出點。

2.2 JMP ESP覆蓋

確定溢出點以后,便可以構造攻擊語句。JMP ESP覆蓋方法,主要是利用strcpy、ssprintf等函數覆蓋堆棧,待達到堆棧保存的函數返回地址時,利用Windows系統核心內的JMP DSP指令地址進行覆蓋,并在后面緊跟shellcode[2]。此種覆蓋方法可以直接進入shellcode,在函數返回時,ESP指向JMP ESP地址,使得JMP ESP地址出棧,使得EIP指針指向該地址。而ESP則會繼續下移,只想構造好的shellcode。然后計算機繼續向下執行EIP指向的指令JMP ESP,并且ESP此時指向shellcode,最終便會順利跳轉到shellcode位置。

2.3 SEH覆蓋

SEH覆蓋是一種水平更高的攻擊手段,其主要是利用覆蓋Windows系統內異常處理鏈SEH來實現攻擊。對于 Windows系統,如果運行過程中出現異常情況,系統會查找異常處理鏈SEH,并確定可以應對此種異常情況的處理程序,然后將保存的處理程序地址賦給EIP,最終系統會對此處理程序進行執行,以免造成系統的崩潰。對于Windows系統,SEH鏈會被保存在堆棧中,應用此種覆蓋方法進行攻擊,即將頂層SEH中指向下一節點值覆蓋成JMP 04,且處理程序地址被覆蓋成CALL EBX或POP POP RET的地址,后面跟上shellcode[3]。一旦系統運行出現錯誤,Windows便會跳轉到處理程序,執行CALL EBX或者POP POP RET,進入前面的JMP 04并執行,這樣便跳過覆蓋地址,達到shellcode位置。

三、緩沖區溢出漏洞攻擊解決對策

1.檢查數組邊界。緩沖區溢出漏洞攻擊大部分是因為某些語言未設置邊界檢查機制造成的,為減少此類攻擊問題,可以通過檢查數組邊界的方法進行避免。但是要注意此種方法,邊界檢查后C語言編譯器性能會降低大概15%?;蛘呤菓闷渌踩员容^高的語言,如JAVA程序,其自身就具有邊界檢查機制,與其他語言比,其可以有效避免此類攻擊。

2.阻止棧執行?;诰彌_區溢出漏洞攻擊原理,在研究解決對策時,要避免控制權被轉移到執行非法移入到棧中程序,如果棧中程序無法有效運行,無論是通過任何方式均不能執行棧中程序,以此來避免利用漏洞產生的攻擊。如果選擇應用此種方法,必須要對操作系統內核進行升級或者打補丁,整個過程復雜性較高,實際應用效率較低。因此,在對操作平臺進行開發時,需要重視操作系統架構的設計,爭取從源頭上消除此漏洞。

3.指針完整性檢查。此種方法主要是對編譯器進行擴展,將1個數據結構“canary”放入局部變量和棧返回地址中間?!癱anary”是1個占用4個字節空間的數據,由程序運行過程中隨機產生。1個函數調用結束后,執行棧中函數返回地址代碼前會對“canary”進行檢查,確定“canary”內部數據是否發生變化。對于數據發生變化的,便可確定已經發生緩沖區溢出漏洞攻擊,需要立即中止執行棧中返回地址的代碼。

結束語:緩沖區溢出漏洞攻擊對計算機網絡系統運行安全具有很大的威脅,想要有效解決此類問題,必須要根據其攻擊原理,選擇合適的優化對策,避免緩沖區溢出漏洞的攻擊,提高系統運行可靠性。

參 考 文 獻

[1] 徐欣民.一種緩沖區溢出漏洞自動挖掘及漏洞定位技術[D].華中科技大學,2008.

[2] 劉征.緩沖區溢出漏洞攻擊及其對策[J].河南科技,2012,13:57.

[3] 陸開奎.基于動態污點分析的漏洞攻擊檢測技術研究與實現[D].電子科技大學,2013.

猜你喜歡
緩沖區安全性
長效胰島素聯合口服降糖藥治療2型糖尿病的療效與安全性
民航空中交通管制進近程序間隔安全性評估模型
西藥臨床應用中合理用藥對其安全性的影響
鼻內鏡手術治療老年慢性鼻竇炎鼻息肉的療效及安全性探討
關于橋梁設計中的安全性與耐久性問題的幾點思考
基于關鍵鏈的信息系統項目開發進度風險分析
基于關鍵鏈技術的項目進度管理方法研究
初涉緩沖區
GIS與GPS結合在珍稀候鳥遷徙保護中的研究
全氫罩式爐的安全性
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合