目前公認的網絡攻擊三種原型是竊聽 、篡改、偽造、拒絕服務攻擊等。
IPSec 針對攻擊原型的安全措施
IPsec提供三項主要的功能:認證功能(AH),認證和機密組合功能(ESP)及密鑰交換功能。AH的目的是提供無連接完整性和真實性包括數據源認證和可選的抗重傳服務;ESP分為兩部分,其中ESP頭提供數據機密性和有限抗流量分析服務,在ESP尾中可選地提供無連接完整性、數據源認證和抗重傳服務。
IPSec提供了一種標準的、健壯的以及包容廣泛的機制,可用它為IP及上層協議(如UDP和TCP)提供安全保證。它定義了一套默認的、強制實施的算法,以確保不同的實施方案相互間可以共通。而且很方便擴展。IPSec可保障主機之間、安全網關(如路由器或防火墻)之間或主機與安全網關之間的數據包的安全。IPSec是一個工業標準網絡安全協議,為IP網絡通信提供透明的安全服務,保護TCP/IP通信免遭竊聽和篡改,可以有效抵御網絡攻擊,同時保持易用性。IPSec有兩個基本目標:保護IP數據包安全;為抵御網絡攻擊提供防護措施。IPSec結合密碼保護服務、安全協議組和動態密鑰管理,三者共同實現上述兩個目標,IPSec基于一種端對端的安全模式。這種模式有一個基本前提假設,就是假定數據通信的傳輸媒介是不安全的,因此通信數據必須經過加密,而掌握加解密方法的只有數據流的發送端和接收端,兩者各自負責相應的數據加解密處理,而網絡中其他只負責轉發數據的路由器或主機無須支持IPSec。
IPSec提供三種不同的形式來保護通過公有或私有IP網絡來傳送的私有數據。
(1)驗證:通過認證可以確定所接受的數據與所發送的數據是一致的,同時可以確定申請發送者在實際上是真實發送者,而不是偽裝的。
(2)數據完整驗證:通過驗證保證數據從原發地到目的地的傳送過程中沒有任何不可檢測的數據丟失與改變。
(3)保密:使相應的接收者能獲取發送的真正內容,而無關的接收者無法獲知數據的真正內容。
IPv6下對網絡安全的威脅
針對密碼攻擊的分析
基于密碼的攻擊很具有生命力,在IPv6環境下同樣面臨著這樣的威脅。雖然在網絡IPv6下IPsec是強制實施的,但是在這種情況下,用戶使用的操作系統與其他訪問控制的共同之處就是基于密碼進行訪問控制。對計算機與網絡資源的訪問都是由用戶名與密碼決定的。對那些版本較老的操作系統,有些組件不是在通過網絡傳輸標識信息進行驗證時就對該信息加以保護,這樣竊聽者能夠獲取有效的用戶名與密碼,就擁有了與實際用戶同樣的權限。攻擊者就可以進入到機器內部進行惡意破壞。
針對泄漏密鑰攻擊的分析
IPv6下IPsec工作的兩種模式(傳輸模式和隧道模式)都需要密鑰交換這樣的過程,因此對密鑰的攻擊仍然具有威脅。盡管對于攻擊者來說確定密鑰是一件艱難而消耗資源的過程,但是這種可能性實實在在存在。當攻擊者確定密鑰之后,攻擊者使用泄露密鑰便可獲取對于安全通信的訪問權,而發送者或接收者卻全然沒有察覺攻擊,后面所進行的數據傳輸等等遭到沒有抵抗的攻擊。進而,攻擊者使用泄露密鑰即可解密或修改其他需要的數據。同樣攻擊者還會試圖使用泄露密鑰計算其它密鑰,從而使其獲取對其它安全通信的訪問權。
針對應用層服務攻擊
應用程序層攻擊的目標是應用程序服務器,即導致服務器的操作系統或應用程序出錯。這會使攻擊者有能力繞過正常訪問控制。攻擊者利用這一點便可控制應用程序、系統或網絡,并可進行下列任意操作:讀取、添加、刪除或修改數據或操作系統 ;引入病毒,即使用計算機與軟件應用程序將病毒復制到整個網絡;引入竊探器來分析網絡與獲取信息,并最終使用這些信息導致網絡停止響應或崩潰;異常關閉數據應用程序或操作系統;禁用其它安全控制以備日后攻擊。
由于IPsec在網絡層進行數據包加密,在網絡傳輸過程中防火墻無法有效地將加密的帶有病毒的數據包進行有效的監測,這樣就對接收端的主機或路由器構成了威脅。
可能發生的拒絕服務攻擊
密鑰管理分為手工密鑰管理和自動密鑰管理。Internet密鑰管理協議被定位在應用程序的層次,IETF規定了Internet安全協議和密鑰管理協議ISAKMP(Internet Security Association and Key Management Protocol) 來實現IPSec的密鑰管理需求, 為身份驗證的SA 設置以及密鑰交換技術定義了一個通用的結構, 可以使用不同的密鑰交換技術;IETF還設計了OA KL EY密鑰確定協議(Key Determination Protocol) 來實施ISAKMP的具體功能, 其主要目的是使需要保密通信的雙方能夠通過這個協議證明自己的身份、認證對方的身份、確定采用的加密算法和通信密鑰, 從而建立起安全的通信連接。
對IPsec最主要的難應用性在于它們所強化的系統的復雜性和缺乏清晰性。IPsec中包含太多的選項和太多的靈活性。對于相同的或者類似的情況常常有多種做法。
IKE的協議容易受到拒絕服務攻擊。攻擊者可以在因特網初始化許多連接請求就可以做到,這時服務器將會維護這些惡意的“小甜餅”。
加密是有代價的。進行模數乘冪運算,或計算兩個非常大的質數的乘積,甚至對單個數據包進行解密和完整性查驗,都會占用cpu的時間。發起攻擊的代價遠遠小于被攻擊對象響應這種攻擊所付出的代價。例如,甲想進行一次Diffie-Hellman密鑰交換,但mallory向她發送了幾千個虛假的Diffie-Hellman公共值,其中全部填充偽造的返回地址。這樣乙被動地進入這種虛假的交換。顯然會造成cpu的大量浪費。
IPsec對相應的攻擊提出了相應的對策。但它并不是通過抵擋服務否認攻擊來進行主動防御,只是增大了發送這種垃圾包的代價及復雜度,來進行一種被動防御。
但是攻擊者仍然可以利用IKE協議的漏洞從而使服務中斷。
以下是基于簽名的IKE階段1主模式的認證失敗。
(Malice 對I使用他的真實身份信息,而對R則冒充I)
1. I到Malice:HDRI,SAI;
1’Malice(“I”)到R:HDRI,SAI;
2’R到Malice(“I”):HDRR,SAR;
2.Malice到I:HDRR,SAR;
3.I到Malice:HDRI,gx,NI;
3’Malice(“I”)到R:HDRI,gx,NI;
4’R到Malice(“I”):HDRR,gy,NR;
4.Malice到I:HDRR,gy,NR;
5.I到Malice:HDRI,{IDI,CertI,SigI}gxy?;
5’Malice(“I”)到R:HDRI,{IDI,CertI,SigI}gxy;
6’R到Malice(“I”):HDRR,{IDR,CertR,SigR}gxy;
6. Dropped。
這樣,R認為剛才和他對話并和他共享會話密鑰的是I,而I卻認為剛才是和Malice進行了一次不成功的通信。R根本不會被通知存在任何異常,并且也許會拒絕來自I的服務;實際上R進入了這樣一種狀態,只接受來自I的服務請求(也許直到“超時”后,R才會脫離這樣的狀態。)
面對越來越多的網絡安全問題,唯有各種安全協議有效地結合起來使用才會降低攻擊的可能性。由于IPsec是IPv6下強制使用的,加上網絡層加密的特殊優點,把工作于IP層的IPsec和其他的安全協議(SSL等)結合起來可以將網絡安全的質量提高到更高的一個水平。但是同時道高一尺,魔高一丈,新的安全問題會接踵而至,對于協議的漏洞,要先知先覺,這樣才會未雨綢繆,防患于未然。


