动态

详情 返回 返回

關於TCP/IP協議漏洞的安全措施 - 动态 详情

摘要:上篇我們介紹了TCP/IP協議中常見的漏洞類型包括ARP病毒攻擊、基於RIP的攻擊、DNS欺騙、TCP連接欺騙。面對TCP/IP協議中存在的漏洞我們要採取什麼樣的安全措施去預防和解決呢?
首先從架構角度來説:IPSec與TLS最常用的兩種安全架構,可以利IPSec、TLS安全架構在不同的協議層來保護數據傳輸的安全性。
一、IPSec
IPSec 是一組用來在網絡層提高數據包傳輸安全的協議族統稱,它通過在原有的IP報文中加入一些特定的檢測頭來達到安全確認的目的。
IPSec有兩種工作模式,分別是傳輸模式和隧道模式,前者適用於端到端(End to End),即兩台主機之間的 IPSec 通信,後者適用於站點到站點(Site to Site),即兩個網關之間的 IPSec 通信,IPSec 由 AH 協議、ESP協議和一些複雜的安全驗證算法組成,這些基本的算法為IPSec中的協議服務。我們主要介紹AH和ESP兩個協議:
(1)AH協議提供的安全服務
AH 的工作模式是在每一個數據包中的 IP 報頭後添加一個 AH 頭,這個 AH 頭有自己獨特的字段用於提供安全服務,AH 可以保證數據的完整性不被篡改,但不能防止數據被盜竊。AH 使用的 IP 協議號是 51,當IP報文的協議號部分為51 時,代表IP頭後面是一個 AH 報頭。

AH提供的安全服務主要有數據源認證,加入一個雙方協商好的密文,來對對方身份以及數據的有效性進行驗證;第二個是數據完整性校驗,因為AH協議需要防止數據被非法篡改,因此該協議會通過引入一個單向Hash函數來創建一個散列值或者摘要信息,將該散列值與文本結合向接收方傳輸,同時接受方用同樣的單向Hash函數對接受內容進行解密,驗證結果是否一致,以此來保護數據的完整性。
第三個是防報文重放攻擊,所謂重放攻擊就是攻擊者雖然不知道加密過的數據包裏面到底是什麼,但是可以通過截取這個數據包再發給接受方從而使接收方無法判別哪個才是正確的發送者,而AH協議會校驗序列號字段中的數值是否重複過,若重複,則直接丟棄。

(2)ESP 協議提供的安全服務
ESP與 AH不同的是 ESP會先把數據段加密,然後再存放到IP報文中,從而達到防止竊聽的目的。ESP 除了在 IP 報頭的後面會加上一個 ESP報頭以外,還會在報文最後加上一個 ESP 報尾,該報尾用來提供加密服務。這樣攻擊者即使獲取了該數據包,在沒解開 ESP 加密的情況下也無法獲知其中的信息。

ESP 提供的安全服務和 AH 有所重合,ESP使用序列號字段來防止重放攻擊,ESP 通常使用HMAC-MD5 或 HMAC-SHA-1算法對加密後的載荷進行 Hash 計算來完成認證和保證數據完整性的功能。但因為ESP會把數據加密之後再傳輸,因此會提供保密性服務,在傳輸機密性數據的時候 ESP 有很大優勢。
此外,在 NAT 模式下,由於AH會對IP地址也做Hash運算,因此在地址轉換之後 AH 的 Hash 值會被破壞,而ESP的IP協議號是50,在進行NAT轉換時沒有相應的 TCP或UDP端口號的概念。為了使 ESP 能夠滿足 NAT環境下的地址轉換,這時就需要引進一個新的方法,即在ESP報文和 IP 報頭之間加入一個新的UDP報頭。
二、TLS協議
TLS 協議工作在傳輸層,由於TCP和UDP都有可被利用的漏洞,因此它是為了解決傳輸層鏈路安全問題而出現的。
TLS 分為兩種協議,分別是 TLS 記錄協議和 TLS 握手協議。TLS 記錄協議根據 TLS 握手協議協商的參數,對上層所交付的數據進行各種操作,從而使數據通過密文的形式傳輸,而接收方則通過解密的方式來接受數據。
通過這種方式就可以大大加強數據傳輸的安全性。另一種協議是 TLS 握手協議,他讓客户端和服務端進行協商,確定一組用於數據傳輸加密的密鑰串,相互認證對方,這樣當攻擊者沒有通過密鑰認證時,就無法與另一端進行數據通信。
首先,客户端向服務端發送 ClientHello 消息,其中含有一個客户端生成的隨機數,我們假設為R1和可供選擇的版本號清單等信息。
第二步,根據客户端發來的Client Hello,服務端回覆 Server Hello 消息,其中會根據客户端發來的清單數據確定兩端通信將會使用的版本號,密碼套件,壓縮方式等等協議需要的重要信息,併產生一個服務端隨機數 R2,當服務器認證時,服務器會發給客户端自己的證書。
第三步,當要求客户端認證時,客户端會先發送自己的證書,同時根據之前客户端和服務器端產生的隨機數公用一種算法計算出密鑰。最後相互發送了 Finished 消息後就代表握手結束,可以開始傳輸數據。

同時也可以根據每種漏洞不同的特點進行有針對性的防禦,但是一些防禦方法並不全面。
一、ARP病毒攻擊的常見防禦方法
目前有很多針對ARP病毒攻擊的防禦方法,我們來看一下常見的防禦方法。
(1)提高系統安全性
定期更新操作系統補丁,及時升級殺毒軟件病毒庫,並開啓殺毒軟件的實時監控功能,防止系統被非法入侵或感染ARP病毒,但是這種防禦方法只能防止本機感染ARP病毒,並不能有效防禦ARP欺騙。
(2)部署ARP防火牆
ARP防火牆在一定程度上可以用來幫助緩解ARP攻擊,協助保護局域網內主機安全。ARP防火牆除了下文即將介紹的綁定MAC地址功能外,最主要的防禦方法就是主動防禦。
主動防禦是指ARP防火牆按照一定頻率強制對外發送正確的ARP數據包,這ARP防火牆在一定程度上可以用來幫助緩解ARP攻擊,協助保護局域網內主機安全。ARP防火牆除了綁定MAC地址功能外,最主要的防禦方法就是主動防禦。
主動防禦是指ARP防火牆按照一定頻率強制對外發送正確的ARP數據包,這顯然會對網絡造成額外的負擔。如果發送頻率過高時,會在局域網內造成ARP風暴。而且攻擊者只要提高攻擊速度,使其大於ARP防火牆的主動防禦速度,主動防禦就會失效。
(3)在交換機或主機端綁定MAC地址
在交換機端綁定每台主機的IP/MAC對應關係,為每台主機添加一條靜態ARP緩存條目。當交換機收到來自主機的數據包時,將數據包的IP地址和MAC地址與ARP緩存條目進行比對,如果相同則放行數據包,否則該數據包將被丟棄。同理,在主機端也可以綁定網關的IP/MAC對應關係,為網關添加一條靜態ARP緩存條目。這種防禦方法雖然可以抵禦一定程度的ARP攻擊,但會犧牲 Internet的移動性和自動配置性,增加了網絡管理員的負擔,不適用於主機變動頰繁的局域網。

二、基於RIP的攻擊的常見預防方法
(1) 將路由器的某些接口配置為被動接口。配置為被動接後,該接口停止向該接口所在的網絡廣播路由更新消息。但是,允許繼續在該接口接收路由更新廣播消息。
(2) 配置ACL訪問控制列表。只允許相應源IP地址的路由更新報文進入。
(3) 在RIPV2中使用驗證機制。RIPV1天生就有不安全因素。因為它沒有使用認證機制並使用不可靠的UDP協議進行傳輸。
RIPv2的分組格式中包含了一個選項可以設置16個字符的明文密碼字符串(表示可很容的被嗅探到)或者MD5簽字。雖然RIP信息包可以很容易的偽造,但在RIPv2中你使用了MD5簽字將會使欺騙的操作難度大大提高。
(4)採用路由器之間數據鏈路層PPP的驗證。採用PPP的PAP驗證或Chap驗證實現數據鏈路層的安全線路連接。
三、DNS欺騙常見預防方法
(1)進行IP地址和MAC地址的綁定
① 預防ARP欺騙攻擊。因為DNS攻擊的欺騙行為要以ARP欺騙作為開端,所以如果能有效防範或避免ARP欺騙,也就使得DNS欺騙攻擊無從下手。例如可以通過將GatewayRouter的IpAddress和MACAddress靜態綁定在一起,就可以防範ARP攻擊欺騙。
②DNS信息綁定。DNS欺騙攻擊是利用變更或者偽裝DNS Server的IP Address,因此也可以使用MACAddress和IP Address靜態綁定來防禦DNS欺騙的發生。
由於每個Nctwork Card 的MAC Address具有唯一性質,所以可以把DNS Server的 MAC Address與其IPAddress綁定,然後此綁定信息存儲在客户機網卡的Eprom中。當客户機每次向DNS Server 發出查詢串請後,就會檢測DNS Server響應的應答數據包中的MACAddress是否與Eprom存儲器的 MAC Address相同,要是不同,則很有可能該網絡中的 DNS Server受到DNS欺騙攻擊。
這種方法有一定的不足,因為如果局域網內部的客户主機也保存了DNS Server 的 MAC Address,仍然可以用 MACAddress進行偽裝欺騙攻擊 。
(2)使用Digital Password 進行辨別
在不同子網的文件數據傳輸中,為預防竊取或篡改信息事件的發生,可以使用任務數字簽名(TSIG)技術即在主從Donain Name Server中使用相同的Password和數學模型算法,在數據通信過程中進行辨別和確認。
因為有Password進行校驗的機制,從而使主從 Server的身份地位極難偽裝,加強了Domain Name信息傳遞的安全性。
在不同子網的文件數據傳輸中,為預防竊取或篡改信息事件的發生,可以使用任務數字簽名(TSIG)技術即在主從Donain Name Server中使用相同的Password和數學模型算法,在數據通信過程中進行辨別和確認。因為有Password進行校驗的機制,從而使主從 Server的身份地位極難偽裝,加強了Domain Name信息傳遞的安全性。
安全性和可靠性更好的 Domain Name Service是使用域名系統的安全協議(Domain Name System Security,DNSSEC)),用Digital Signature的方式對搜索中的信息源進行分辨,對 DATA的完整性實施校驗。
因為在設立 Domain時就會產生Password,同時要求上層的Domain Name也必須進行相關的Domain Password Signature,顯然這種方法很複雜,所以InterNIC域名管理截至目前尚未使用。然而就技術層次上講,DNSSEC應該是現今最完善的Domain Name設立和解析的辦法,對防範Domain Name欺騙攻擊等安全事件是非常有效的。
(3)直接使用IP地址訪問
對個別信息安全等級要求十分嚴格的WEB站點儘量不要使用DNS進行解析。由於DNS欺騙攻擊中不少是針對竊取客户的私密數據面來的,而多數用户訪問的站點並不涉及這些隱私信息,因此當訪問具有嚴格保密信息的站點時,可以直接使用IP地址而無需通過DNS解析,這樣所有的DNS欺騙攻擊可能造成的危害就可以避免了。
除此,應該做好 DNS Server的安全配置項目和升級DNS軟件,合理限定 DNS Server進行響應的IP地址區間,關閉DNS Server的遞歸查詢項目等。
(4)對DNS數據包進行監測
在DNS欺騙攻擊中, Client會接收到至少兩個 DNS的數據響應包,一個是真實的數據包,另一個是攻擊數據包。欺騙攻擊數據包為了搶在真實應答包之前回復給Client,它的信息數據結構與真實的數據包相比十分簡單,只有應答域,而不包括授權域和附加域。
因此,可以通過監測DNS響應包,遵循相應的原則和模型算法對這兩種響應包進行分辨,從而避免虛假數據包的攻擊。
四、TCP連接欺騙的常見防禦方法
(1)利用網絡拓撲結構
IP協議本身支持包過濾,當一個數據包從廣域網進入局域網時,受害者可以查詢源IP地址字段是否屬於局域網內部地址段。如果是,則丟棄這個數據包。
這種防禦方法的前提是受害者儀信任局域網內主機。如果受害者不僅信任局域網內主機,還通過其他協議授權。域網的主機對其進行訪問,那麼就無法利用該方法防禦來自廣域網的攻擊者。
(2)限制僅利用IP地址進行認證的協議
比如Unix系統的Rlogin協議,它僅僅利用IP地址進行身份認證。只要主機的IP地址包含在信任列表中,Rlogin協議就允許遠程登錄到另一主機,而不需輸入密碼。這樣,攻擊者可以利用Rlogin協議輕鬆地登錄到受害者主機。我們可以限制這些僅利用IP地址進行認證的協議,或對IP地址進行一定配置或驗證,通過風險畫像、IP代理檢測驗明這些IP地址是否存在風險,提高這些協議的安全性。
(3)使用加密算法或認證算法
對協議進行加密或認證可以組織攻擊者篡改或偽造TCP連接中的數據。而就目前的加密技術或認證技術而言,雙方需要共享一個密鑰或者協商出一對射私密鑰對。這就涉及到通信雙方必須採用同種加密或認證手段,但是,加密算法或認證算法往往涉及到複雜的數學計算,很消耗系統資源,會使通信效率明顯下降。

user avatar wanshoujidekafei 头像
点赞 1 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.