什麼是"溢位"?

2010-06-06 4:09 am
我使用的防毒軟體是AVAST
最近一直跳出"攔截到溢位"的視窗
什麼是"溢位"?
請懂的網友告知!
更新1:

再請教一下: 為何會一直受到溢位的威脅 除了靠防毒軟體不斷攔截以外 有什麼方法可以避免這種威脅???

更新2:

感謝梁某提供寶貴的意見 能否麻煩您再說詳細一些!!!

更新3:

謝謝各位大大的解說 已經大致瞭解了! 似乎除了交給防毒軟體以外 也沒有啥方法可以避免! 只是一直跳出這個攔截到溢位攻擊的視窗 真的覺得很煩!!!

回答 (3)

✔ 最佳答案
何謂緩衝區溢位攻擊?
大多數應用程式都會使用固定大小的緩衝區來暫存資料。 若攻擊者在緩衝區其中之一傳送過多資料,而不檢查資料量的大小,則緩衝區就會溢位。 伺服器此時將會執行溢出的資料,將其視為一個程式。 若此可攻擊的緩衝區中存在一具權限的程序,此一惡意程式將會取得伺服器的完全控制權,並可以任意執行許多動作,包括執行受駭電腦上的指令、竊取密碼或其他機密資料、變更系統設定或/和安裝後門程式等。

Google 查得的。
資料來源:
http://www.nai.com/tw/security/resources/sv_ent19.htm

2010-06-12 18:11:05 補充:
1、如何可以防止溢位類的駭客攻擊呢?

  1 盡最大的可能性將系統的漏洞修正檔都打完;最好是比如Microsoft Windows Server系列的系統可以將自動更新服務開啟,然後讓伺服器在您指定的某個時間段內自動連線到Microsoft Update網站進行修正檔的更新。如果您的伺服器為了安全起見 禁止了對公共外網外部的連接的話,可以用Microsoft WSUS服務在局內網進行昇級。(關於Microsoft WSUS 2.0的安裝與組態可以參考此文:http://www.31896.net/html/2006-1-5/14001689122.shtml )

2010-06-12 18:11:23 補充:
2 停掉一切不需要的系統服務以及應用程式,最大限能的降底伺服器的被攻擊係數。比如前陣子的MSDTC溢位,就導致很多伺服器掛掉了。其實如果WEB類伺服器根本沒有用到MSDTC服務時,您大可以把MSDTC服務停掉,這樣MSDTC溢位就對您的伺服器不構成任何威脅了。

2010-06-12 18:11:41 補充:
3 啟動TCP/IP連接阜的過濾:僅開啟常用的TCP如21、80、25、110、3389等連接阜;如果安全要求等級高一點可以將UDP連接阜關閉,當然如果這樣之後缺陷就是如在伺服器上連外部就不方便連接了,這裡建議大家用IPSec來封UDP。在傳輸協定篩選"只允許"TCP傳輸協定(傳輸協定號為:6)、UDP傳輸協定(傳輸協定號為:17)以及RDP傳輸協定(傳輸協定號為:27)等必需用傳輸協定即可;其它無用均不開放。

2010-06-12 18:12:24 補充:
4 啟用IPSec原則:為伺服器的連接進行安全認證,給伺服器加上雙保險。如3所說,可以在這裡封掉一些危險的端品諸如:135 145 139 445 以及UDP對外連接之類、以及對通讀進行加密與只與有信任關係的IP或者網路進行通訊等等。

2010-06-12 18:12:42 補充:
5 移除、移動、更名或者用訪問控制表列Access Control Lists (ACLs)控制關鍵系統檔案、指令及資料夾:

⒈ 黑客通常在溢位得到shell後,來用諸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 來達 到進一步控制伺服器的目的如:加帳號了,複製管理員了等等;這裡我們可以將這些指令程序移除或者改名。(注意:在移除與改名時先停掉文件複製服務 (FRS)或者先將 %windir%\system32\dllcache\下的對應文件移除或改名。)

2010-06-12 18:13:00 補充:
2.也或者將這些.exe文件移動到你指定的資料夾,這樣也方便以後管理員自己使用 ^0^

2010-06-12 18:14:09 補充:
3.訪問控制表列ACLS控制:找到%windir%\system32下找到cmd.exe、cmd32.exe net.exe net1.exe ipconfig.exe tftp.exe ftp.exe user.exe reg.exe regedit.exe regedt32.exe regsvr32.exe 這些黑客常用的文件,在「內容」→「安全」中對他們進行訪問的ACLs用戶進 行定義,諸如只給administrator有權訪問,如果需要防範一些溢位攻擊、以及溢位成功後對這些文件的非法利用;那麼我們只需要將system用戶 在ACLs中進行拒絕訪問即可。

2010-06-12 18:14:30 補充:
 4.如果你覺得在GUI下面太麻煩的話,你也可以用系統指令的CACLS.EXE來對這些.exe文件的Acls進行編輯與修改,或者說將他寫成一個.bat批次處理 文件來執行以及對這些指令進行修改。

2010-06-12 18:14:47 補充:
5.對磁牒如C/D/E/F等進行安全的ACLS設定從整體安全上考慮的話也是很有必要的,另外特別是win2k,對Winnt、 Winnt\System、Document and Setting等資料夾。

2010-06-12 18:15:19 補充:
6 進行註冊表的修改禁用指令解釋器: (如果您覺得用5的方法太煩瑣的話,那麼您不防試試下面一勞永逸的辦法來禁止CMD的執行
參考: 天之心, 天之心, 天之心, 天之心, 天之心, 天之心, 天之心, 天之心, 天之心, 天之心, 天之心
2014-08-07 3:41 am
到下面的網址看看吧

▶▶http://*****
2010-06-09 8:22 pm
很簡單啊,緩衝區溢位(stack buffer overflow attack)通常是拿來直接提權
或者讓一些系統當機,很多DDOS都這樣搞的

簡單來說讓資料堆疊超過原本軟體限制時
多出來的資料會溢出,溢出後可以玩很多花樣

要防禦的話要看你是什麼系統,每個系統都不太一樣

如果你比較想懂的話IBM有兩篇文章
他們工程師寫的比較清楚,我文筆不太好
會出現這種攻擊都是某些程式設計師沒有把程式寫好的問題

要避免的話你可以把那程式重新編譯,但是你是win32系統,不像Linux或者UNIX可以非常輕鬆的重新編譯(因為是shell code)

不過一般人只能建議放心的交給防毒軟體了,因為這種攻擊一般使用者不具其能力去防護,如果是我,我會靠IDS或者HIPS來配合防禦

如果還有問題就補充吧
我盡力回答,絕對不像一些人複製貼上
我沒說某江民工讀生


==============以下兩個網址就是IBM的文獻資料
http://www.ibm.com/developerworks/tw/library/s-overflows/index.html
http://www.ibm.com/developerworks/tw/library/s-buffer-defend.html


緩衝區溢位開始於每個程式都需要的一些情況︰放置位元的空間。多數電腦程式都在記憶體中建立多個位址用於訊息儲存。C 程式化語言容許程式員在執行時在記憶體的兩個不同部分(堆疊和堆積)中建立儲存器。通常,指派到堆積的資料是那些 malloc() 或新增時獲得的資料。而指派到堆疊的資料一般包括非靜態的局部變數和所有按值傳遞的參數。大部分其它訊息儲存在全域靜態儲存器中。(從現在開始,我們將在兩個專欄中論述它們的實質細節。)在指派同一資料類型的相鄰區塊時,這塊記憶體欄位稱為緩衝區。
在寫入緩衝區時,C 程式員必須注意儲存在緩衝區中的資料不能超過它所能容納的量。緩衝區只能容納一定數量的位,就像一個杯子只能盛一定量的水。如果放到杯子中的水太多,多餘的水就會溢位到別的地方。相似地,如果試圖放入緩衝區的資料比它能載入的要多,額外的資料就會溢位到別處,並且您不希望它到其它地方﹗
當程式寫入超過緩衝區的邊界時,這就是所謂的「緩衝區溢位」。發生緩衝區溢位時,會覆寫下一個相鄰的記憶體塊。由於 C 語言本質上的不安全性,所以它容許程式隨意(或者更準確地說是完全出於偶然)溢位緩衝區。沒有執行時檢查來這一防止寫入超過緩衝區末尾,所以程式員必須在其自己的程式碼中執行這一檢查,否則繼續下去會遇到問題。
讀取或寫入超過緩衝區的末尾時,會導致許多不同(並且通常是不可預料的)行為︰1) 程式的執行很奇怪,2) 程式完全失敗,或者 3) 程式可以繼續,而且在執行中沒有任何明顯不同。緩衝區溢位的副作用取決於︰

寫入的資料中有多少超過緩衝區邊界
當緩衝區已滿並且溢位時,覆寫了哪些資料(如果有的話)
程式是否試圖讀取溢位期間被覆寫的資料
哪些資料最終置換被覆寫的記憶體 存在緩衝區溢位的程式的不確定行為使得對它們的除錯異常棘手。最壞的情況是︰程式可能正發生緩衝區溢位,但根本沒有任何副作用的跡像。因此,緩衝區溢位問題常常在標準測試期間是發現不了的。認識緩衝區溢位的重要一點是︰在發生溢位時,會潛在地修改碰巧指派在緩衝區附近的任何資料。

2010-06-09 12:40:20 補充:
有點不一樣
ping是分散式阻斷服務的一種,懹大量資料同時湧入

緩衝區溢位主要是針對程式上的漏洞造成溢出
這要學過程式的人會比較了解

2010-06-10 15:04:36 補充:
那就把通知關掉就好

基本上無視即可

2010-06-12 22:32:49 補充:
另一個回答的真經典,不過複製貼上前先看看for甚麼系統好嗎...?


那些SOP的確很有用,不過是對於server來說


對於一般的user

我覺得這樣子設定只會出現更多問提,到時候會導致一些需要系統權限的程式沒權限

或者一些基本款的專殺程式以及批次檔無法使用


收錄日期: 2021-04-30 14:54:17
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100605000016KK07904

檢視 Wayback Machine 備份