基本原理
為了更好地隱蔽自己,一些網路攻擊者通常並不直接從自己的系統向目標發動攻擊,而是先攻破若干中間系統,讓它們成為“跳板”,再通過這些“跳板系統”完成攻擊行動。簡單地說,跳板攻擊就是通過他人的計算機攻擊目標.通過跳板實施攻擊如圖1-1所示。
圖中,攻擊者在某一個區域網路外,通過控制其內部Solaris SParc機器,對Win2000伺服器進行攻擊。此時,內部Solaris Sparc機器就成為其攻擊的跳板。
實施跳板攻擊時,黑客首先要控制跳板機,然後藉助跳板機來聽、來看,而跳板機就成了提線木偶,舉手投足都被人從遠程看不到的地方控制著。雖然跳板機本身可能不會被攻擊,但最終被攻擊者會把其當作入侵來源。換句話說,跳板機會成為跳板攻擊者的替罪羊。而且,黑客往往通過多個跳板對目標實施攻擊,這就使得精確追蹤攻擊源(如地址、標識等)變得更加困難。
主要形式
在攻擊過程中依據其對路徑主機的利用方式不同,分為以下兩種利用形式:
簡單經過的利用方式:數據包基本內容在經過跳板前後不改變,依次經過跳板機完成攻擊;
完全控制的利用方式:數據包基本內容經過跳板前後無必然關聯,攻擊者通過多種控制形式操控跳板機實施攻擊。
跳板攻擊分類
按照對跳板利用的形式,跳板攻擊可分兩類 :第一類是中繼型跳板攻擊,第二類是控制型跳板攻擊。如圖3-1。
中繼型跳板
定義:
攻擊流量在經過跳板後數據包基本內容不變,跳板起傳遞作用。工作原理如圖3-2。
攻擊模型的追蹤分析:
追蹤容易實現,結合 IDS 設備,在下述前提下能夠實現準確追蹤定位。
假定 1:所有檢測設備的報警能力是一致的,不存在漏報;
假定 2:網路拓撲是明確的且 IDS 設備的部署在監控網路中是無縫的;
只要在追蹤發起時,通過時間關聯和事件一致性,提取同一時間段與被追蹤事件相同的報警事件,通過源 IP(SIP)與目的 IP(DIP) 逐段銜接就可重構攻擊路徑。其中,中繼型跳板中密文數據傳輸事件的追蹤能力取決於 IDS 設備解密能力。
控制型跳板
定義:
攻擊流量在經過跳板後數據包基本內容完全改變,不存在內容上的一致性。工作原理如圖3-3。
攻擊模型的追蹤分析:
追蹤難度大,此類攻擊事件中間跳板機往往已被攻擊者控制,中間主機是跳板機還是就是攻擊發動者難以判定 , 導致追蹤時路徑的完整性和準確性下降。追蹤要解決兩個問題:跳板機確定和關聯關係確定。跳板機確定相對比較簡單,若在檢測數據中發現有到攻擊實施主機的可疑通訊流量,可初步判定該攻擊的實施主機可能並非攻擊的啟動者應繼續追蹤。關聯關係確定就是從到攻擊實施主機的網路流量中確定和本次攻擊有相關性的可疑連線和事件,確定上一級控制主機的位置,這種關聯關係的確定也是跳板追蹤實現的難點。
目前最流行的跳板軟體當屬 SKSockServer,它屬於中繼型跳板軟體,支持多級跳板,最多可達256 級。它也支持 SOCKS 代理,默認監聽連線埠為1813。
跨越跳板的追蹤技術
針對攻擊者所採用的跳板攻擊的追蹤技術,稱為跨越跳板的追蹤技術(TRACBACK ACROSSSTEPPING-STONES),目的是識別使用跳板隱藏身份的攻擊者。跨越跳板的追蹤技術最終目標是能夠定位攻擊源的位置,推斷出攻擊報文在網路中的穿行路線,從而為入侵檢測系統的事件處理、入侵回響決策提供有價值的信息,協助找到攻擊者,採取必要的預防措施,及時發現成為入侵者“跳板”的主機或路由器。對於網路黑客而言,成熟有效的跨越跳板的追蹤技術對他們也有威懾作用,迫使他們為了防止被追蹤到而減少甚至停止攻擊行為。該技術涉及的對象包括攻擊者、被攻擊者、跳板機、殭屍機和反射器等。如圖4-1所示。
攻擊者(Attacker Host):發起攻擊的真正起點,也是攻擊源追蹤希望發現的目標。
被攻擊者(Victim Host):受到攻擊的主機,也是攻擊源追蹤的起點。
跳板機(Stepping Stone):已經被攻擊者危及,並作為其通信管道和隱藏身份的主機。
殭屍機(Zombie):已經被攻擊者危及,並被其用作發起攻擊的主機。
反射器(Reflector):未被攻擊者危及,但在不知情的情況下參與了攻擊。
其中,跳板機和殭屍機都是攻擊者事先已經攻破的主機(統稱為變換器),負責把攻擊數據包進行某種變換以掩蓋攻擊的行蹤,具體變換如圖4-2所示。
按照所追蹤的信息源不同,跨越跳板的追蹤技術分為基於主機的技術和基於網路的技術。按照所採用的追蹤方法不同,跨越跳板的追蹤技術又分為主動方法和被動方法兩種。被動方法監控並比較所有通信量,主動方法則通過定製的進程動態地控制何時、何地關聯的通信量,以及如何進行關聯,在需要時追蹤所選擇的通信。現有跨越跳板的追蹤方法如表1所示。
DIDS採用集中監控主式,故不適合在大規模網路上使用。CIS利用分布模型消除了集中控制,但卻給正常錄入引入了額外開銷。以LLER ID是一種基於主機的主動方法,雖然引入的額外開銷比DIDS和CIS小,但所採用的人工追蹤主法不適用於當前的高速網路。上述技術和方法有一個共同缺點,就是計算十分複雜,大規模採用任何一種方法都是不可能的。另外,基於主機的追蹤方法依賴於連線鏈上的每一個主機,若其中一台主機被危及而提供了錯誤的關聯信息,整個追蹤系統變會被誤導,因而在軍用網路上配置基於主機的追蹤系統非常困難。
基於網路的追蹤一般是根據網路連線屬性進行的,不要求被監控主機全部參與。被動方法多採用基於時間的方案和基於偏差的方法。基於時間的方案,是基於互動通信中的時間特點而不是連線內容,可以用於加密的連線。類似的基於偏差的方法,是使用兩個TCP連線序列號的最小平均差別來確定兩個連線是否有關聯,偏差既考了時間特徵又考慮了TCP序列號,但與TCP負載無關.基於時間的方案和基於偏差的方法都不要求嚴格時鐘同步,且對重傳改變都具有魯棒性,但基於時間的方案無法區分攻擊者使用的跳板與正常活動所產生的跳板之間的區別,而基於偏差的方法無法直接用於加密或壓縮的連線,這兩種方法只適用於檢測互動式的跳板,而不能用於通過一系統跳板後所產生的機器驅動的攻擊。若攻擊者主動逃避追蹤,這兩種方法的作用也會大大降低。
主動的基於網路方法,能夠定製地進行包處理,從而動態地控制哪些連線何時何地的關聯,故需要比被動方法更少的資源。目前存在的方法主要有入侵識別與隔離協定(IDIP)及休眠水印追蹤(SWT)等。IDIP要求每個邊界控制器都具有與被攻擊主機上的IDS相同的入侵檢測能力。SWT則利用主動網和水印技術跨越跳板進行追蹤,當沒有檢測到入侵時,它不會引入額外的開銷,當檢測到入侵時,目標主機就會將水印流入到入侵連線的後一個連線,喚醒入侵路徑中的中間路由並與之合作。
其他網路攻擊源隱藏技術
網路代理技術 (Network Proxy)
網路代理技術最初是為了解決區域網路內用戶通過代理伺服器連線網際網路需求提出的,區域網路內所有計算機都通過代理伺服器 ( 又叫網關 ) 與網際網路中各個計算機 ( 包括伺服器 ) 進行通信。對於網際網路中的計算機來說,它們只看見了代理伺服器,並與代理伺服器進行通信,根本不知道區域網路內計算機的存在。所以,可以這樣講,是代理伺服器隱藏了區域網路內計算機的網際網路訪問行為。使用網路代理的好處總體來說有三個,一是可以突破一些上網限制,二是速度方面可以加快,三是網路安全方面可對信息過濾和隱藏自身 IP。採用網路代理的思想,就可實現網路攻擊的簡單隱藏。
反射攻擊
反射攻擊目前主要有兩種 :第一種是攻擊者構造虛假 TCP SYN 報文實施反射攻擊,第二種是攻擊者構造虛假 ICMP ECHO 請求包實施反射攻擊。
殭屍網路
殭屍網路是指由黑客通過控制伺服器,間接並集中控制的被殭屍程式感染的計算機群。Bot 是Robot 的縮寫,指能夠按照預定義的指令執行操作,具有一定智慧型的程式。殭屍程式一般是由攻擊者編寫的類似木馬的專門控制程式,可通過網路病毒等多種方式傳播,而被感染的主機將通過一個控制信道接收攻擊者的指令,組成一個殭屍網路。之所以稱其為殭屍網路,是為了形象地認識它的危害特點 :眾多計算機在不知不覺中如同古老傳說中的殭屍群一樣被驅趕和指揮著,成為被利用的工具。由於受控計算機數目很大,攻擊者利用殭屍網路實施信息竊取、垃圾郵件、網路仿冒、拒絕服務攻擊等各種惡意活動,已成為當前網際網路安全的最大威脅。
最早利用殭屍網路實施網路攻擊的當屬分散式拒絕服務攻擊 DDoS(Distributed Denial ofService)。
攻擊源隱藏技術比較
幾種隱藏技術在隱藏能力 ( 反追蹤難度 )、中繼主機數量、對工作平台的依賴、編程情況、可靠性、認證機制和實現難度等方面都存在很多不同和差異。表 2 從不同方面對它們進行了比較說明。