旁路阻斷的可行性分析
旁路阻斷就是采用旁路偵聽的手段來獲取互聯網上的數據包,然后再進行協議還原,根據內容進行阻斷。這類技術的優點是不影響互聯網訪問的速度,并且對用戶沒有特殊的設置要求。通俗講是并聯在互聯網的出口上,不會影響原來網絡的穩定性。
采用旁路的方式管理網絡并阻斷非法連接的方法可以分為三類:
1、 發送TCP Reset包
2、 通過與網關產品聯動,建立臨時規則
3、 進行基于arp的阻斷方式。
首先我們看一下TCP Reset,我們以IDS為例,IDS設備是一個典型的旁路監聽并通過TCP Reset進行阻斷的網絡安全設備。IDS TCP Reset實現方法,當IDS發現一條非法得連接IDS將會向通信的兩端各發送一個TCP RESET包,從而實現主動切斷連接的目的,此時通信雙方的堆棧將會把這個RESET包解釋為另一端的回應,然后停止整個通信過程,釋放緩沖區并撤銷所有TCP狀態信息。這個時候,攻擊數據包可能還在目標主機操作系統TCP/IP堆棧緩沖區中,沒有被提交給應用程序,由于緩沖區被清空了,所以攻擊不會發生。
對于RESET包來說,IDS發出的RESET包的前提是知道整個會話當前的序列號和確認號,否則這個RESET包將會被忽略。我們假定一個會話得確認號必須為152如果你發送的RESET包的確認號為142,那么堆棧將會認為這是一個無效的數據包或者被破壞的數據包而將它忽略掉。
從另一方面講所有的IDS在響應攻擊時都有延遲時間,因為IDS從抓取數據包,監測攻擊,產生RESET包,到最后發出RESET整個過程都要消耗一定的時間。很多的IDS使用libpcap庫來抓包,大部分IDS構建在類BSD的系統上,BSD系統下是利用BPF(Berkeley Packet Filters)進行抓包,BPF默認將會開一個很大的緩沖區,在一個典型的網絡中,IDS發出RESET包的過程大約會延遲半秒。在Linux和Solaris平臺上,性能要稍微好一點,但是肯定也有延遲時間。
而且TCP Rest對于網絡得應用來說也有著很大得局限性,其只能針對通常得標準TCP連接發送阻斷信息,對于UDP會話是無能為力得。再則目前得一些網絡應用軟件在會話連接保持上都很強得能力,TCP Reset包對于他們得效果基本可以忽略。
通過與網關產品的聯動方式主要是向防火墻發送臨時規則,以及路由器或交換機發送臨時ACL列表,阻斷當前這個會話。
這種方式存在著這么幾個方面得問題:
1、首先是聯動協議問題。“聯動”一直是網絡安全界中的一個很時髦的概念,雖然已經有五六年的歷史,但是到目前為止,還遠遠沒有得到充分的發展?,F在聯動得實現是以現有得某個廠家為核心,其他廠家的產品在一些半公開的SDK的支持下實現與核心廠家的某個產品實現互聯。這樣導致現有和多產品有聯動功能,但是沒有聯動得實際效果。
2、聯動信息的滯后。即使產品與防火墻有著優良得聯動相應方式,IDS產品在檢測得過程中發現了非法得連接,生成一條臨時規則發送到防火墻,防火墻應用這條規則阻斷這個連接;在這一個過程中存在著三個延時,一、IDS發現非法連接,生成臨時規則;二、規則傳輸給防火墻;三、防火墻應用規則。這三個演示得總時間最好情況下是小于兩秒,而且這個過程當中IDS的檢測是滯后IDS檢測到非法連接時,這個連接已經建立了,如果這個連接時蠕蟲,或木馬,兩秒的延時足夠成功攻擊了。
3、當遇到大規模的非法連接的時候,IDS會針對每一條會話向防火墻添加臨時規則,這樣勢必造成防火墻臨時規則增大,降低防火墻的效率,引起防火墻包轉發延時,嚴重造成防火墻癱瘓,網絡中斷。
最后我們來看一下基于arp的阻斷,共有三種方式ARP 欺騙、ARP 投毒和 ARP 攻擊。先了解ARP的原理。ARP 用于將 IP 地址匹配到或解析至恰當的 MAC 地址,所有的網絡設備都有一張 ARP 表,里面臨時記憶著該設備已經匹配起來的所有的 IP 地址和 MAC 地址。ARP 表能夠確保該設備不需要向已經與自己進行過通信的計算機重復 ARP 詢問。當有人在未獲得授權時就企圖更改 MAC 和 IP 地址的 ARP 表格中的信息時,就發生了 ARP 攻擊。通過這種方式我們可以偽造ARP應答包,使得非法連接主機的ARP表錯誤,無法連接到網關,從而阻斷連接。
這種阻斷方式從效果上講是很強得,但是同時也造成了一個問題,其不但阻止了非法連接,而且也阻斷了合法連接,這對于網絡中的正常應用是有著很大得影響得。
綜上所述,采用旁路阻斷的方式在實際應用中時不可行的。