概述:早期路由器對最大數據包大小有限制,很多操作系統指定64KB用於ICMP數據包中TCP/IP棧的實現。在讀取數據包的報頭後,應該根據報頭中包含的信息為有效載荷生成緩沖區。當壹個格式錯誤的數據包聲稱其大小超過ICMP上限,即加載的大小超過64 KB上限時,就會出現內存分配錯誤,導致TCP/IP棧崩潰。
防禦:現在已經實現了所有標準的TCP/IP實現來應對超大數據包,大多數防火墻都可以自動過濾這些攻擊,包括:windows98之後的Windows,Service Pack 3之後),linux,Solaris,Mac OS都有能力抵禦壹般的ping ofdeath攻擊。此外,配置防火墻來阻止ICMP和任何未知協議是為了防止此類攻擊。
淚珠
概述:Teardrop攻擊利用TCP/IP棧實現中可信IP片段中數據包報頭所包含的信息來實現自己的攻擊。IP段包含指示該段包含原始分組的哪個段的信息。某些TCP/IP(包括servicepack 4之前的NT)在接收到帶有重疊偏移量的偽造段時會崩潰。
防禦:服務器應用最新的服務包,或者在設置防火墻時重組段,而不是轉發它們。
UDP泛洪
概述:各種冒充攻擊都是利用簡單的TCP/IP服務,比如Chargen、Echo,來傳輸無用的充滿帶寬的數據。通過偽造與主機Chargen服務的UDP連接,回復地址指向開啟Echo服務的主機,從而在兩臺主機之間產生足夠多的無用數據流,這將導致帶寬服務攻擊。
防禦措施:關閉不必要的TCP/IP服務,或者配置防火墻來阻止來自互聯網的對這些服務的UDP請求。
合成洪水
概述:TCP/IP堆棧的壹些實現只能等待從有限數量的計算機發送的ack消息,因為它們只有有限的內存緩沖區來創建連接。如果該緩沖區充滿了錯誤連接的初始信息,服務器將停止響應下壹個連接,直到緩沖區中的連接嘗試超時。SYN泛洪在壹些無限制地創建連接的實現中也有類似的效果。
防禦:在防火墻上過濾來自同壹主機的後續連接。
未來的SYN洪水是令人擔憂的,因為釋放洪水的人不尋求響應,所以不能從簡單的大容量傳輸中識別。
陸地攻擊
概述:在陸地攻擊中,壹個特制的SYN包的原始地址和目標地址都被設置為某個服務器地址,這將導致接收服務器向自己的地址發送SYN-ACK消息。因此,該地址將發回壹個ack消息並創建壹個空連接。每個這樣的連接都將保持到超時。許多UNIX實現將崩潰,NT將變得極其緩慢(持續大約五分鐘)。
防禦:制作最新的補丁,或者在防火墻中配置它,以過濾掉那些在外部接口上帶有內部源地址的入站。(包括10域、127域、192.168域、172.16至172.31域)
Smurf攻擊
概述:簡單的smurf攻擊通過向受害主機發送ICMP回復請求(ping)數據包來實施,該數據包的回復地址設置為受害網絡的廣播地址。最終,網絡中的所有主機都會回復這個ICMP回復請求,導致網絡擁塞,比死亡洪水的ping高出壹兩個數量級。更復雜的藍精靈把源地址改成了第三方的受害者,最終導致第三方雪崩。
防禦:為了防止黑客利用您的網絡攻擊他人,請關閉外部路由器或防火墻的廣播地址功能。為了防止被攻擊,在防火墻上設置規則並丟棄ICMP數據包。
脆弱攻擊
概述:Fraggle攻擊對Smurf攻擊做了簡單的修改,用UDP回復消息代替ICMP。
防禦:在防火墻上過濾掉UDP回復消息
電子郵件炸彈
概述:電子郵件炸彈是最古老的匿名攻擊之壹。通過設置壹臺機器向同壹個地址發送大量電子郵件,攻擊者可以耗盡接收者網絡的帶寬。
防禦措施:配置電子郵件地址以自動刪除來自同壹主機的過多或重復的郵件。
畸形消息攻擊
概述:各種操作系統上的很多服務都有這樣的問題。因為這些服務在處理信息之前沒有適當和正確地檢查錯誤,所以它們在接收到異常信息時可能會崩潰。
防禦:打最新的服務補丁。
剝削攻擊
漏洞攻擊是壹種試圖直接控制您的機器的攻擊。有三種最常見的攻擊:
密碼猜測
概述:壹旦黑客識別出主機並根據NetBIOS、Telnet或NFS等服務找到可用的用戶帳戶,成功猜測密碼就可以控制該機器。
防禦:選擇難猜的密碼,比如單詞和標點符號的組合。確保NFS、NetBIOS和Telnet等可用服務不會暴露在公共域中。如果服務支持鎖定策略,請將其鎖定。
特洛伊木馬
概述:特洛伊馬是壹個程序,秘密安裝在目標系統,要麽直接由黑客或不知情的用戶。壹旦安裝成功並獲得管理員權限,安裝此程序的人就可以直接遠程控制目標系統。
最有效的壹種叫做後門程序,惡意程序包括NetBus、BackOrifice和BO2k,用來控制系統的良性程序有netcat、VNC和pcAnywhere。理想的後門程序運行透明。
防禦:避免下載可疑程序並拒絕執行。使用網絡掃描軟件定期監控內部主機上的監控TCP服務。
緩沖區溢出
概述:在許多服務程序中,粗心的程序員使用像strcpy()和strcat()這樣不檢查有效位的函數,最終可能導致惡意用戶編寫壹小段程序來進壹步打開安全漏洞,然後將代碼附加在緩沖區有效載荷的末尾,這樣當緩沖區溢出時,返回指針就會指向惡意代碼,系統的控制權就會被奪取。
防禦:使用SafeLib、tripwire等程序保護系統,或者瀏覽最新的安全公告,不斷更新操作系統。
信息收集攻擊
信息收集攻擊不會傷害目標本身。顧名思義,這種攻擊是用來為進壹步入侵提供有用信息的。主要包括:掃描技術、體系結構探測和信息服務利用。
掃描技術
地址掃描
概述:使用類似ping的程序來檢測目標地址,並對其進行響應以表明其存在。
防禦:在防火墻上過濾掉ICMP回復消息。
端口掃描
概述:通常使用壹些軟件將壹系列TCP端口連接到大範圍的主機上,掃描軟件會報告已經成功建立了所連接主機打開的端口。
防禦:許多防火墻可以檢測它們是否被掃描,並自動阻止掃描嘗試。
回聲映射
概述:黑客向主機發送虛假消息,然後根據“hostunreachable”的消息特征判斷存在哪些主機。目前,由於正常的掃描活動很容易被防火墻檢測到,黑客轉向不會觸發防火墻規則的常見消息類型,包括RESET消息、SYN-ACK消息和DNS響應包。
防禦:NAT和非路由代理服務器可以自動抵禦此類攻擊,還可以在防火墻上過濾“host unreachable”ICMP響應?。
慢速掃描
概述:由於壹般的掃描檢測器是通過監測特定主機在壹定時間段內發起的連接數(例如每秒10次)來判斷是否正在被掃描,所以黑客可以使用掃描速度較慢的掃描軟件進行掃描。
防禦:通過引誘服務檢測慢速掃描。
建築檢測
概述:黑客使用帶有已知響應類型的數據庫的自動工具來檢查目標主機對錯誤數據包傳輸的響應。由於每個操作系統都有自己獨特的響應方式(例如NT和Solaris之間TCP/IP棧的具體實現方式不同),黑客往往可以通過比較這個獨特的響應和數據庫中已知的響應來確定目標主機運行的操作系統。
防禦:移除或修改各種Banner,包括操作系統和各種應用服務,封鎖用於識別的端口,以擾亂對方的攻擊計劃。
使用信息服務
DNS域轉換
概述:DNS協議不認證轉換或信息更新的身份,這使得它在壹些不同的方式使用。如果您維護壹個公共DNS服務器,黑客只需執行壹個域轉換操作就可以獲得您所有主機的名稱和內部IP地址。
防禦:在防火墻處過濾掉域轉換請求。
手指服務
概述:黑客使用finger命令來監視finger服務器,以獲取系統用戶的信息。
防禦:關閉手指服務,記錄對方試圖連接該服務的IP地址,或者在防火墻上過濾。
LDAP服務
概述:黑客利用LDAP協議窺探網絡內部系統及其用戶的信息。
防禦:攔截並記錄LDAP對內部網絡的窺探。如果LDAP服務是在公共機器上提供的,那麽LDAP服務器應該放在DMZ中。
虛假新聞攻擊
用於攻擊配置不正確的目標的消息主要包括:DNS緩存汙染和偽造的電子郵件。
DNS緩存汙染
概述:由於DNS服務器在與其他名稱服務器交換信息時不進行身份驗證,黑客可以混合不正確的信息,並將用戶引向他們自己的主機。
防禦:在防火墻上過濾入站DNS更新。外部DNS服務器應該不能改變您的內部服務器對內部機器的理解。
偽造電子郵件
概述:由於SMTP不驗證電子郵件發件人的身份,黑客可以為您的內部客戶偽造壹封電子郵件,聲稱郵件來自客戶認識並相信的人,並附上可安裝的特洛伊木馬程序或指向惡意網站的鏈接。
防禦:使用PGP等安全工具,安裝電子郵件證書。
漏洞攻擊
對於微軟來說,最諷刺的是黑客總是先發現漏洞,直到Windows倒了之後,微軟才站出來補充兩句:“最新補丁已經發布。如果客戶沒有及時下載補丁,我們將不對後果負責!”
攻擊:
經過仔細調查,漏洞攻擊主要集中在系統的兩個部分:1。系統的外部服務,如針對系統的“沖擊波”病毒的“遠程協助”服務;“尼姆達”病毒是通過系統的“IPC漏洞”感染的(資源* * *)。2.在集成應用軟件上,IE、OutLook Express、MSN Messager、Media Player等集成應用都可能成為漏洞攻擊的橋梁。
那麽黑客是如何利用這些漏洞實施攻擊的呢?首先利用掃描技術找出對方電腦存在哪些漏洞,然後有針對性地選擇攻擊方式。以IE的IFRAME漏洞為例。黑客可以利用網頁上的惡意代碼(惡意代碼可以是手寫的,也可以是工具軟件輔助編寫的)制作毒網頁,然後引誘對方觀看網頁。未打補丁的IE會幫助病毒進入電腦,被感染的系統會利用IE通訊錄發出大量有毒郵件,最終阻斷用戶的網絡。
註意事項:
漏洞防禦,升級自然是首選。有兩種方法可以很好地升級:
1.更新
在系統的“開始”菜單上,會有壹個“Windows Update”的鏈接。選中後進入微軟的升級主頁,網站上的程序會自動掃描當前系統存在哪些漏洞,哪些需要升級,根據“向導”完成即可,如圖(我提倡這種方法)。
漏洞攻擊
對於微軟來說,最諷刺的是黑客總是先發現漏洞,直到Windows倒了之後,微軟才站出來補充兩句:“最新補丁已經發布。如果客戶沒有及時下載補丁,我們不負責後果!”
攻擊:
經過仔細調查,漏洞攻擊主要集中在系統的兩個部分:1。系統的外部服務,如針對系統的“沖擊波”病毒的“遠程協助”服務;“尼姆達”病毒是通過系統的“IPC漏洞”感染的(資源* * *)。2.在集成應用軟件上,IE、OutLook Express、MSN Messager、Media Player等集成應用都可能成為漏洞攻擊的橋梁。
那麽黑客是如何利用這些漏洞實施攻擊的呢?首先利用掃描技術找出對方電腦存在哪些漏洞,然後有針對性地選擇攻擊方式。以IE的IFRAME漏洞為例。黑客可以利用網頁上的惡意代碼(惡意代碼可以是手寫的,也可以是工具軟件輔助編寫的)制作毒網頁,然後引誘對方觀看網頁。未打補丁的IE會幫助病毒進入電腦,被感染的系統會利用IE通訊錄發出大量有毒郵件,最終阻斷用戶的網絡。
註意事項:
漏洞防禦,升級自然是首選。有兩種方法可以很好地升級:
1.更新
在系統的“開始”菜單上,會有壹個“Windows Update”的鏈接。選中後進入微軟的升級主頁,網站上的程序會自動掃描當前系統存在哪些漏洞,哪些需要升級,根據“向導”完成即可,如圖(我提倡這種方法)。
使用升級程序
雖然用Update更準確更全面。但其所有的升級組件都需要從微軟的網站下載,這在“窄帶”的情況下顯然不現實;寬帶也需要很長時間。微軟提供升級程序的打包下載,或者某些工具光盤也包含這些升級包。經常提到的“Service Pack 1”和“Service Pack 2”就是指這些升級包。
除了升級,使用壹些工具和軟件也可以達到效果,比如3721的“上網助手”,可以很好的填補IE漏洞。這些軟件壹般面向保護系統的應用,較少面向“外部服務”漏洞。
DDOS攻擊
DDOS(分布式拒絕服務攻擊)的本質是利用合理的服務請求占用過多的服務資源,使合法用戶得不到服務響應。實現簡單,是目前黑客常用的方式。
攻擊:
DDOS的實現方式有很多種,比如多人同時向主機發出Web請求;許多人同時Ping主機...下面是壹個“高級”的“偽裝成IP地址的flood Ping攻擊”。
Ping命令是壹個網絡命令,用於檢測網絡通信狀態和其他主機的狀態。在過去,有壹些關於不斷Ping對方主機的信息,這可能會導致主機無法忍受的情況。但是隨著Windows XP等新系統的普及,網絡帶寬和電腦硬件的升級,大量簡單的Ping包基本沒有作用。
Ping命令的工作流程如下:首先,使用Ping命令的主機A向主機B發送ICMP報文;然後,主機b向主機a發回ICMP消息。
網絡傳播中有壹種方式叫“廣播”。所謂廣播,就是有壹個地址,任何壹個局域網內的主機都會收到發送到這個地址的消息(就像無線電廣播壹樣),等等。如果妳發送壹個ICMP報文(也就是Ping廣播地址)到壹個局域網的廣播地址(可以用壹些“局域網嗅探器軟件”找到),妳會得到很多ICMP報文響應。將當前計算機的地址偽裝成被攻擊主機的IP(SOCK _ RAW可以用來偽裝IP)。當向廣播地址發送Ping請求時,該廣播地址中的所有主機都會響應Ping請求,被攻擊的主機將被迫接受大量Ping數據包。這就形成了偽裝IP地址的泛洪Ping攻擊。
註意事項:
就DDOS而言,目前在網絡上還沒有找到有效的防禦方法。雖然對於使用Ping包的攻擊模式,可以使用壹些防火墻拒絕Ping包,但如果DDOS使用另壹種載體——合法的Web請求(在主機上打開網頁),仍然無法阻止。目前常見的應對DDOS的方法是管理員手動屏蔽DDOS的來源和服務器形式。如果有壹段IP地址對主機造成DDOS攻擊,主機就會屏蔽該段IP地址的訪問。DDOS使用FTP和HTTP服務,因此它會暫時停止這些服務。
最後提醒大家,聰明的黑客在壹次攻擊後都會做壹些收尾工作。收尾工作就是去除壹些他們自己能找到的殘留信息。對於用戶來說,這些殘留信息只能通過日誌來捕捉,比如防火墻的日誌;Web服務器的日誌(IIS和Server_U都有日誌查看功能)。能否通過日誌找到這些殘留信息,只能靠運氣了。壹個真正足夠強大的黑客,會悄無聲息的離開,不留壹片“雲”。
6.ICMP泛濫可以預防嗎?
我先問妳壹個問題:洪水快速到來時,妳能拿著臉盆抵抗嗎?(坐在臉盆裏做壹個現代的羅賓遜是個不錯的主意,說不定還能飄到MM)
該軟件的網絡防火墻可以應對壹些漏洞、溢出、OOB和IGMP攻擊,但對洪水攻擊卻無能為力。我通常的解釋是“倒垃圾”:“如果蟑螂或者老鼠在妳家門前逗留,妳可以把它們趕走,但是如果有人在妳家門前倒了滿滿壹車垃圾怎麽辦?”前幾天看到mikespook師兄對此有更體面的解釋,轉載了壹遍——“香蕉皮原理:如果有人給妳壹根香蕉和壹根香蕉皮,妳可以分辨出來,把沒用的香蕉皮扔掉。(壹般軟件防火墻都是這樣判斷和丟棄數據包的。但是,如果有人同時把壹車香蕉皮倒在妳身上,也幫不了妳分辨有用沒用~ ~因為妳被香蕉皮淹沒了~ ~ ~(所以即使防火墻能分辨出DoS的攻擊包,也只能識別,丟棄也來不及~ ~死啦死啦死啦~ ~)”
所以,洪水是沒有辦法預防的!妳唯壹能做的就是提高自己的帶寬,防止洪水(雖然硬件防火墻和分流技術可以做到,但是太貴了,普通人沒必要這麽做)。
如果妳被攻擊了,最好的辦法就是搶到攻擊者的IP(除非對方用第壹個,搶到也沒用——假IP)然後馬上下線換IP!(什麽?妳是固定IP嗎?沒辦法,叫警察叔叔。)
七、被ICMP洪水攻擊的特點
如何找到ICMP洪水?
當妳出現以下癥狀時,妳應該註意妳是否正在遭受洪水的襲擊:
1.在傳輸狀態下,代表遠程數據接收的電腦圖標壹直亮著,妳不是在瀏覽網頁或下載。
2.防火墻壹直提示有人試圖ping妳。
網速極慢。
4.嚴重的時候系統幾乎失去反應,鼠標跳起來。
如果出現這些情況,不要驚慌,冷靜觀察防火墻報警的頻率和IP,確認是普通Ping還是洪水,並采取相應的措施(其實大多數情況下,只能改變IP)。
1.普通ping
這種“攻擊”通常是由對方掃描網絡或者使用ping -t發起的,殺傷力不是很大(此時防火墻起到的作用是延遲攻擊者發送數據報的間隔,所以請不要關閉防火墻!否則後果嚴重!),通常如下:
==============================================================
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:24]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:26]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:30]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
=============================================================
這種緩慢的速度顯然是由ping.exe或IcmpSendEcho發出的。如果對方壹直讓妳的防火墻吵,妳可以給他壹個真正的ICMP洪水問候。
2.直接洪水
這是壹次足夠強的洪水,防火墻的報警密度會增加壹個數量級:
==============================================================
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:20]61.151.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
[13:09:21]61.1.252 . 106嘗試Ping這臺機器。
操作被拒絕。
=============================================================
這個時候妳的防火墻其實已經報廢了。換個IP。
3.假冒IP泛濫
相對強大的ICMP Flood使用相同密度的偽造IP。下面是0crat用56K撥號進行的壹次攻擊測試的壹些數據(看看時間,真暈,只是壹只56K的小貓)。
=============================================================
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:12]1.1嘗試Ping這臺機器。
操作被拒絕。
[18:52:13]1.1嘗試Ping這臺機器。
操作被拒絕。
=============================================================
沈默的...........
4.反射ICMP泛洪
估計現在用Smurf攻擊的人不多了(R系列的RSS.EXE做過,RSA.EXE和scale分別用它做SYN反射和UDP反射),所以這種方法還沒有大規模出現,但是Smurf確實存在!而且這種攻擊方式比前幾次更恐怖,因為攻擊妳的是大網站(或者壹些受害服務器)!
我正在被網易、王灣、新浪攻擊(我懶得修改天網的策略,直接用其他工具抓。在實際攻擊中,反射的IP會多幾倍!)
=======================================================================
[15:26:32] RECV:來自202.108.37.36的ICMP數據包(類型=0,代碼=0,長度=52)
[15:26:32] RECV:來自202.108.36.206的ICMP數據包(類型=0,代碼=0,長度=52)
[15:26:32] RECV:來自210.192.103.30(類型=0,代碼=0,長度=52)的ICMP數據包
[15:26:32] RECV:來自202.108.37.36的ICMP數據包(類型=0,代碼=0,長度=52)
[15:26:32] RECV:來自210.192.103.30(類型=0,代碼=0,長度=52)的ICMP數據包
[15:26:32] RECV:來自202.108.36.206的ICMP數據包(類型=0,代碼=0,長度=52)
[15:26:32] RECV:來自202.108.37.36的ICMP數據包(類型=0,代碼=0,長度=52)
[15:26:32]接收:來自的ICMP數據包