當前位置:編程學習大全網 - 編程語言 - 軟件漏洞的最常見的軟件漏洞

軟件漏洞的最常見的軟件漏洞

緩沖區溢出是壹種常見的編程錯誤,也是壹種牽扯到復雜因素的錯誤。開發人員經常預先分配壹定量的臨時內存空間,稱為壹個緩沖區,用以保存特殊信息。如果代碼沒有仔細地把要存放的數據大小同應該保存它的空間大小進行對照檢查,那麽靠近該分配空間的內存就有被覆蓋的風險。熟練的黑客輸入仔細組織過的數據就能導致程序崩潰,更糟糕的話能執行代碼。

幸虧近年來緩沖區溢出攻擊發生的顯著數量提高了編程界對這個問題的認識。雖然緩沖區溢出仍然在出現,但它們經常會被很快發現和糾正,特別在開放源代碼應用中更是如此。像Java和.Net這樣的比較新的編程體系都包含自動檢查數據大小,防止發生緩沖區溢出的機制。

緩沖區溢出是稱為輸入有效性漏洞的更大壹類軟件安全缺陷下的壹個子類。幾乎所有的程序都接受某種類型的用戶輸入(例如,命令行參數或者HTML表格)。如果代碼沒有嚴格檢查輸入的格式和內容是否合適,就開始處理數據,那麽就會發生問題。考慮下面這個簡單的例子:

這段代碼的意圖可能是打印/var/www/html下某個HTML文件的內容,/var/www/html是Red Hat服務器上Apache的httpd服務程序默認的文檔根目錄。這段代碼接受用戶輸入的壹個文件名,把它作為參數傳給open函數。不過,如果壹個惡意的用戶把../../../etc/shadow當作參數輸入的話,就會顯示出/etc/shadow的內容,並可能根據這些內容破譯出root密碼!

作為壹名系統管理員,您該如何防止這種情況發生呢?幾乎無可奈何,至少在確定出缺陷(bug),並發布解決它的補丁之前是這樣。緊盯補丁和安全性公告的發布,這是大多數系統管理員工作的壹個重要部分。大多數Linux發行版本都帶自動打補丁的工具,如Fedora上的yum、Debian和 Ubuntu上的apt-get。利用這些工具能讓您的站點避免出現軟件的安全漏洞問題。

  • 上一篇:腦出血患者如何護理?
  • 下一篇:為何說豬八戒和沙僧都是體制內大佬,孫悟空只是臨時工?
  • copyright 2024編程學習大全網