應對緩沖區溢出該采取以下措施:
嚴格編寫程序代碼:借助工具來協助程序開發者解決緩沖區溢出,但是可是由于C語言的本身特點,這些工具不能找出所有的緩沖區溢出漏洞,因此偵錯技術只是被用來減少緩沖區溢出漏洞,并不能完全消滅,想要完全消滅這類漏洞,就需要程序員嚴格編寫代碼。
禁止執行堆棧數據段:在進行系統操作時數據地址空間不可執行,從而禁止攻擊者執行被植入的攻擊代碼,這種措施在一定的程度上也對緩沖區溢出攻擊起到了防范作用。但是攻擊者不一定非要通過植入攻擊代碼來實現緩沖區溢出攻擊,所以這種方法并不能徹底解決緩沖區溢出攻擊。
利用程序編譯器的邊界檢查:植入攻擊代碼時引起緩沖區溢出攻擊的一個方面,改變程序執行的流程則是另一個方面,而利用程序編譯器的邊界檢查則使得緩沖區溢出攻擊不可能實現,從而完全消除了緩沖區溢出攻擊的威脅。
指針完全性檢查:程序指針完整性檢查和邊界檢查略有不同,程序指針完整性檢查在程序指針被改變之前檢測,因此即使攻擊者成功改變了程序的指針,也會因為先前檢測到指針的變化而失效,這樣雖然不能完全解決問題,但是他確實阻止了大多數的緩沖區溢出攻擊,并且這種方法在性能方面有很大優勢,兼容性特別優良。
及時修補漏洞:攻擊者利用緩沖區溢出的主要攻擊手段就是利用服務器程序、數據庫程序、操作系統等的漏洞,所以及時修補這些漏洞可以從根本上解決緩沖區溢出的問題,這種漏洞可以通過打補丁、升級軟件等方法來解決。
回答所涉及的環境:聯想天逸510S、Windows 10。
應對緩沖區溢出該采取以下措施:
嚴格編寫程序代碼:借助工具來協助程序開發者解決緩沖區溢出,但是可是由于C語言的本身特點,這些工具不能找出所有的緩沖區溢出漏洞,因此偵錯技術只是被用來減少緩沖區溢出漏洞,并不能完全消滅,想要完全消滅這類漏洞,就需要程序員嚴格編寫代碼。
禁止執行堆棧數據段:在進行系統操作時數據地址空間不可執行,從而禁止攻擊者執行被植入的攻擊代碼,這種措施在一定的程度上也對緩沖區溢出攻擊起到了防范作用。但是攻擊者不一定非要通過植入攻擊代碼來實現緩沖區溢出攻擊,所以這種方法并不能徹底解決緩沖區溢出攻擊。
利用程序編譯器的邊界檢查:植入攻擊代碼時引起緩沖區溢出攻擊的一個方面,改變程序執行的流程則是另一個方面,而利用程序編譯器的邊界檢查則使得緩沖區溢出攻擊不可能實現,從而完全消除了緩沖區溢出攻擊的威脅。
指針完全性檢查:程序指針完整性檢查和邊界檢查略有不同,程序指針完整性檢查在程序指針被改變之前檢測,因此即使攻擊者成功改變了程序的指針,也會因為先前檢測到指針的變化而失效,這樣雖然不能完全解決問題,但是他確實阻止了大多數的緩沖區溢出攻擊,并且這種方法在性能方面有很大優勢,兼容性特別優良。
及時修補漏洞:攻擊者利用緩沖區溢出的主要攻擊手段就是利用服務器程序、數據庫程序、操作系統等的漏洞,所以及時修補這些漏洞可以從根本上解決緩沖區溢出的問題,這種漏洞可以通過打補丁、升級軟件等方法來解決。
回答所涉及的環境:聯想天逸510S、Windows 10。