亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

如何防范Linux下緩沖區溢出攻擊

添加時間:2010-11-16  添加: admin 
雖然Linux病毒屈指可數,但是基于緩沖區溢出(Buffer Overflow)漏洞的攻擊還是讓眾多Linux用戶大吃一驚。所謂“世界上第一個Linux病毒”??reman,嚴格地說并不是真正的病毒,它實質上是一個古老的、在Linux/Unix(也包括Windows等系統)世界中早已存在的“緩沖區溢出”攻擊程序。reman只是一個非常普通的、自動化了的緩沖區溢出程序,但即便如此,也已經在Linux界引起很大的恐慌。

  緩沖區溢出漏洞是一個困擾了安全專家30多年的難題。簡單來說,它是由于編程機制而導致的、在軟件中出現的內存錯誤。這樣的內存錯誤使得黑客可以運行一段惡意代碼來破壞系統正常地運行,甚至獲得整個系統的控制權。

  Linux系統特性

  利用緩沖區溢出改寫相關內存的內容及函數的返回地址,從而改變代碼的執行流程,僅能在一定權限范圍內有效。因為進程的運行與當前用戶的登錄權限和身份有關,僅僅能夠制造緩沖區溢出是無法突破系統對當前用戶的權限設置的。因此盡管可以利用緩沖區溢出使某一程序去執行其它被指定的代碼,但被執行的代碼只具有特定的權限,還是無法完成超越權限的任務。

  但是,Linux(包括Unix)系統本身的一些特性卻可以被利用來沖破這種權限的局限性,使得能夠利用緩沖區溢出獲得更高的、甚至是完全的權限。主要體現在如下兩方面:

  1.Linux(包括Unix)系統通過設置某可執行文件的屬性為SUID或SGID,允許其它用戶以該可執行文件擁有者的用戶ID或用戶組ID來執行它。如果該可執行文件的屬性是root,同時文件屬性被設置為SUID,則該可執行文件就存在可利用的緩沖區溢出漏洞,可以利用它以root的身份執行特定的、被另外安排的代碼。既然能夠使得一個具有root權限的代碼得以執行,就能夠產生一個具有超級用戶root權限的Shell,那么掌握整個系統的控制權的危險就產生了。

  2.Linux(包括Unix)中的許多守護進程都是以root權限運行。如果這些程序存在可利用的緩沖區溢出,即可直接使它以root身份去執行另外安排的代碼,而無須修改該程序的SUID或SGID屬性。這樣獲得系統的控制權將更加容易。

  隨著現代網絡技術的發展和網絡應用的深入,計算機網絡所提供的遠程登錄機制、遠程調用及執行機制是必須的。這使得一個匿名的Internet用戶有機會利用緩沖區溢出漏洞來獲得某個系統的部分或全部控制權。實際上,以緩沖區溢出漏洞為攻擊手段的攻擊占了遠程網絡攻擊中的絕大多數,這給Linux系統帶來了極其嚴重的安全威脅。

  途徑分析

  通常情況下攻擊者會先攻擊root程序,然后利用緩沖區溢出時發生的內存錯誤來執行類似“exec(sh)”的代碼,從而獲得root的一個Shell。為了獲得root權限的Shell,攻擊者需要完成如下的工作:

  1.在程序的地址空間內安排適當的特定代碼。一般使用如下兩種方法在被攻擊的程序地址空間內安排攻擊代碼。

  2.通過適當地初始化寄存器和存儲器,使程序在發生緩沖區溢出時不能回到原來的執行處,而是跳轉到被安排的地址空間執行。

  當攻擊者找到一種途徑可以變原程序的執行代碼和流程時,攻擊的危險就產生了。

  防范措施

  Linux下的緩沖區溢出攻擊威脅既來自于軟件的編寫機制,也來自于Linux(和Unix)系統本身的特性。實際上,緩沖區溢出攻擊及各種計算機病毒猖獗的根本原因在于現代計算機系統都是采用馮?諾依曼“存儲程序”的工作原理。這一基本原理使得程序和數據都可以在內存中被繁殖、拷貝和執行。因此,要想有效地防范緩沖區溢出攻擊就應該從這兩個方面雙管其下。

  確保代碼正確安全

  緩沖區溢出攻擊的根源在于編寫程序的機制。因此,防范緩沖區溢出漏洞首先應該確保在Linux系統上運行的程序(包括系統軟件和應用軟件)代碼的正確性,避免程序中有不檢查變量、緩沖區大小及邊界等情況存在。比如,使用grep工具搜索源代碼中容易產生漏洞的庫調用,檢測變量的大小、數組的邊界、對指針變量進行保護,以及使用具有邊界、大小檢測功能的C編譯器等。

  基于一定的安全策略設置系統

  攻擊者攻擊某一個Linux系統,必須事先通過某些途徑對要攻擊的系統做必要的了解,如版本信息等,然后再利用系統的某些設置直接或間接地獲取控制權。因此,防范緩沖區溢出攻擊的第二個方面就是對系統設置實施有效的安全策略。這些策略種類很多,由于篇幅有限只列舉幾個典型措施:

  (1)在裝有Telnet服務的情況下,通過手工改寫“/etc/inetd.conf”文件中的Telnet設置,使得遠程登錄的用戶無法看到系統的提示信息。具體方法是將Telnet設置改寫為:

  telnet stream tcp nowait root /usr/sbin/tcpd/in.telnetd -h

  末尾加上“-h”參數可以讓守護進程不顯示任何系統信息,只顯示登錄提示。

  (2)改寫“rc.local”文件。默認情況下,當登錄Linux系統時系統運行rc.local文件,顯示該Lin

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站