要想更好的保護網絡不受黑客的攻擊,就必須對黑客的攻擊方法、攻擊原理、攻擊過程有深入的、詳細的了解,只有這樣才能更有效、更具有針對性的進行主動防護。下面通過對黑客攻擊方法的特征分析,來研究如何對黑客攻擊行為進行檢測與防御。
一、反攻擊技術的核心問題
反攻擊技術(入侵檢測技術)的核心問題是如何截獲所有的網絡信息。目前主要是通過兩種途徑來獲取信息,一種是通過網絡偵聽的途徑(如Sniffer,Vpacket等程序)來獲取所有的網絡信息(數據包信息,網絡流量信息、網絡狀態信息、網絡管理信息等),這既是黑客進行攻擊的必然途徑,也是進行反攻擊的必要途徑;另一種是通過對操作系統和應用程序的系統日志進行分析,來發現入侵行為和系統潛在的安全漏洞。
二、黑客攻擊的主要方式
黑客對網絡的攻擊方式是多種多樣的,一般來講,攻擊總是利用“系統配置的缺陷,“操作系統的安全漏洞或“通信協議的安全漏洞來進行的。到目前為止,已經發現的攻擊方式超過2000種,其中對絕大部分黑客攻擊手段已經有相應的解決方法,這些攻擊大概可以劃分為以下六類:
1. 拒絕服務攻擊:
一般情況下,拒絕服務攻擊是通過使被攻擊對象(通常是工作站或重要服務器)的系統關鍵資源過載,從而使被攻擊對象停止部分或全部服務。目前已知的拒絕服務攻擊就有幾百種,它是最基本的入侵攻擊手段,也是最難對付的入侵攻擊之一,典型示例有SYN Flood攻擊、Ping Flood攻擊、Land攻擊、WinNuke攻擊等。
2. 非授權訪問嘗試:
是攻擊者對被保護文件進行讀、寫或執行的嘗試,也包括為獲得被保護訪問權限所做的嘗試。
3. 預探測攻擊:
在連續的非授權訪問嘗試過程中,攻擊者為了獲得網絡內部的信息及網絡周圍的信息,通常使用這種攻擊嘗試,典型示例包括SATAN掃描、端口掃描和IP半途掃描等。
4. 可疑活動:
是通常定義的“標准網絡通信范疇之外的活動,也可以指網絡上不希望有的活動,如IP Unknown Protocol和Duplicate IP Address事件等。
a
5. 協議解碼:
協議解碼可用於以上任何一種非期望的方法中,網絡或安全管理員需要進行解碼工作,並獲得相應的結果,解碼後的協議信息可能表明期望的活動,如FTU User和Portmapper Proxy等解碼方式。
6. 系統代理攻擊:
這種攻擊通常是針對單個主機發起的,而並非整個網絡,通過RealSecure系統代理可以對它們進行監視。
三、黑客攻擊行為的特征分析與反攻擊技術
入侵檢測的最基本手段是采用模式匹配的方法來發現入侵攻擊行為,要有效的進反攻擊首先必須了解入侵的原理和工作機理,只有這樣才能做到知己知彼,從而有效的防止入侵攻擊行為的發生。下面我們針對幾種典型的入侵攻擊進行分析,並提出相應的對策。
1. Land攻擊
攻擊類型:Land攻擊是一種拒絕服務攻擊。
攻擊特征:用於Land攻擊的數據包中的源地址和目標地址是相同的,因為當操作系統接收到這類數據包時,不知道該如何處理堆棧中通信源地址和目的地址相同的這種情況,或者循環發送和接收該數據包,消耗大量的系統資源,從而有可能造成系統崩潰或死機等現象。
檢測方法:判斷網絡數據包的源地址和目標地址是否相同。
反攻擊方法:適當配置防火牆設備或過濾路由器的過濾規則就可以防止這種攻擊行為(一般是丟棄該數據包),並對這種攻擊進行審計(記錄事件發生的時間,源主機和目標主機的Mac地址和IP地址)。
2. TCP SYN攻擊
攻擊類型:TCP SYN攻擊是一種拒絕服務攻擊。
攻擊特征:它是利用TCP客戶機與服務器之間三次握手過程的缺陷來進行的。攻擊者通過偽造源IP地址向被攻擊者發送大量的SYN數據包,當被攻擊主機接收到大量的SYN數據包時,需要使用大量的緩存來處理這些連接,並將SYN ACK數據包發送回錯誤的IP地址,並一直等待ACK數據包的回應,最終導致緩存用完,不能再處理其它合法的SYN連接,即不能對外提供正常服務。
檢測方法:檢查單位時間內收到的SYN連接否收超過系統設定的值。
反攻擊方法:當接收到大量的SYN數據包時,通知防火牆阻斷連接請求或丟棄這些數據包,並進行系統審計。
3. Ping Of Death攻擊
攻擊類型:Ping Of Death攻擊是一種拒絕服務攻擊。
攻擊特征:該攻擊數據包大於65535個字節。由於部分操作系統接收到長度大於65535字節的數據包時,就會造成內存溢出、系統崩潰、重啟、內核失敗等後果,從而達到攻擊的目的。
檢測方法:判斷數據包的大小是否大於65535個字節。
反攻擊方法:使用新的補丁程序,當收到大於65535個字節的數據包時,丟棄該數據包,並進行系統審計。
4. WinNuke攻擊
攻擊類型:WinNuke攻擊是一種拒絕服務攻擊。
攻擊特征:WinNuke攻擊又稱帶外傳輸攻擊,它的特征是攻擊目標端口,被攻擊的目標端口通常是139、138、137、113、53,而且URG位設為“1,即緊急模式。
檢測方法:判斷數據包目標端口是否為139、138、137等,並判斷URG位是否為“1。
反攻擊方法:適當配置防火牆設備或過濾路由器就可以防止這種攻擊手段(丟棄該數據包),並對這種攻擊進行審計(記錄事件發生的時間,源主機和目標主機的Mac地址和IP地址MAC)。
5. Teardrop攻擊
攻擊類型:Teardrop攻擊是一種拒絕服務攻擊。
攻擊特征:Teardrop是基於UDP的病態分片數據包的攻擊方法,其工作原理是向被攻擊者發送多個分片的IP包(IP分片數據包中包括該分片數據包屬於哪個數據包以及在數據包中的位置等信息),某些操作系統收到含有重疊偏移的偽造分片數據包時將會出現系統崩潰、重啟等現象。
檢測方法:對接收到的分片數據包進行分析,計算數據包的片偏移量(Offset)是否有誤。
反攻擊方法:添加系統補丁程序,丟棄收到的病態分片數據包並對這種攻擊進行審計。
6. TCP/UDP端口掃描
攻擊類型:TCP/UDP端口掃描是一種預探測攻擊。
攻擊特征:對被攻擊主機的不同端口發送TCP或UDP連接請求,探測被攻擊對象運行的服務類型。
檢測方法:統計外界對系統端口的連接請求,特別是對21、23、25、53、80、8000、8080等以外的非常用端口的連接請求。
反攻擊方法:當收到多個TCP/UDP數據包對異常端口的連接請求時,通知防火牆阻斷連接請求,並對攻擊者的IP地址和MAC地址進行審計。
對於某些較復雜的入侵攻擊行為(如分布式攻擊、組合攻擊)不但需要采用模式匹配的方法,還需要利用狀態轉移、網絡拓撲結構等方法來進行入侵檢測。
四、入侵檢測系統的幾點思考
從性能上講,入侵檢測系統面臨的一個矛盾就是系統性能與功能的折衷,即對數據進行全面復雜的檢驗構成了對系統實時性要求很大的挑戰。
從技術上講,入侵檢測系統存在一些亟待解決的問題,主要表現在以下幾個方面:
1. 如何識別“大規模的組合式、分布式的入侵攻擊目前還沒有較好的方法和成熟的解決方案。從Yahoo等著名ICP的攻擊事件中,我們了解到安全問題日漸突出,攻擊者的水平在不斷地提高,加上日趨成熟多樣的攻擊工具,以及越來越復雜的攻擊手法,使入侵檢測系統必須不斷跟蹤最新的安全技術。
2. 網絡入侵檢測系統通過匹配網絡數據包發現攻擊行為,入侵檢測系統往往假設攻擊信息是明文傳輸的,因此對信息的改變或重新編碼就可能騙過入侵檢測系統的檢測,因此字符串匹配的方法對於加密過的數據包就顯得無能為力。
3. 網絡設備越來越復雜、越來越多樣化就要求入侵檢測系統能有所定制,以適應更多的環境的要求。
4. 對入侵檢測系統的評價還沒有客觀的標准,標准的不統一使得入侵檢測系統之間不易互聯。入侵檢測系統是一項新興技術,隨著技術的發展和對新攻擊識別的增加,入侵檢測系統需要不斷的升級才能保證網絡的安全性。
5. 采用不恰當的自動反應同樣會給入侵檢測系統造成風險。入侵檢測系統通常可以與防火牆結合在一起工作,當入侵檢測系統發現攻擊行為時,過濾掉所有來自攻擊者的IP數據包,當一個攻擊者假冒大量不同的IP進行模擬攻擊時,入侵檢測系統自動配置防火牆將這些實際上並沒有進行任何攻擊的地址都過濾掉,於是造成新的拒絕服務訪問。
6. 對IDS自身的攻擊。與其他系統一樣,IDS本身也存在安全漏洞,若對IDS攻擊成功,則導致報警失靈,入侵者在其後的行為將無法被記錄,因此要求系統應該采取多種安全防護手段。
7. 隨著網絡的帶寬的不斷增加,如何開發基於高速網絡的檢測器(事件分析器)仍然存在很多技術上的困難。
入侵檢測系統作為網絡安全關鍵性測防系統,具有很多值得進一步深入研究的方面,有待於我們進一步完善,為今後的網絡發