許志軍 王 東 張思東
1 概況
隨著基于互聯(lián)網的業(yè)務、應用的日益增多,互聯(lián)網的規(guī)模不斷擴大,網絡時代已經來臨。為業(yè)務、應用的開展提供一個可靠、安全的數據傳輸保證,便成了當務之急。沒有可靠、安全的傳輸保證,基于互聯(lián)網的業(yè)務遲早會陷入崩潰的地步。
路由器則是互聯(lián)網的主要節(jié)點設備,它通過路由決定數據的轉發(fā)。作為不同網絡之間互相連接的樞紐,路由器系統(tǒng)構成了基于TCP/IP 的國際互聯(lián)網絡(Internet)的主體脈絡,也可以說,路由器構成了 Internet 的骨架。它的處理速度是網絡通信的主要瓶頸之一,它的可靠性則直接影響著網絡互聯(lián)的質量。因此,在園區(qū)網、地區(qū)網,乃至整個 Internet 研究領域中,路由器技術始終處于核心地位,其發(fā)展歷程和方向,成為整個 Internet 研究的一個縮影。處于這樣一個關鍵地位,路由器就不光要能夠保證數據包的正確轉發(fā),還要能擔負起保證合法數據安全傳輸的作用。
安全路由器已逐漸成為一個開發(fā)的熱點。它集數據轉發(fā)、數據保護、網絡保護于一身,可以有效地分隔開內外網絡,既有路由器的有效組網作用,又可以具備防火墻的安全保護作用。
安全路由器的作用主要體現(xiàn)在以下各方面:
能夠按照需要向內部局域網或外部公網轉發(fā)授權包;
能夠對每一條鏈路的訪問權限進行控制;
能夠協(xié)助對傳輸的數據進行加密、數據完整性、數據源認證的處理;
提供內外識別地址的轉變;
管理方便,能夠提供包括配置管理、性能管理、流量控制、安全管理等功能;
確保路由信息能夠安全、準確地傳遞;
提供包括分組過濾、優(yōu)先級、復用、加密、壓縮等功能;
對正常數據包的轉發(fā)、處理效率影響盡可能小。
2 路由器的安全威脅
對路由器的安全威脅可以分為對路由器自身的威脅和對路由器功能的威脅兩部分。
(1)對路由器自身的威脅,如:
硬件設備:設備的電磁干擾、電磁信息泄漏,以及在一些較惡劣的情況下的不穩(wěn)定;
操作系統(tǒng):利用操作系統(tǒng)漏洞,如利用緩沖區(qū)溢出進行的攻擊;
路由器資源:對路由器訪問資源的竊取和控制,如業(yè)務拒絕(DOS);
路由器服務:針對提供服務的安全漏洞所進行的攻擊,如遠程管理的漏洞、Telnet明文傳送認證信息等。(2)對路由器功能(準確、安全、高效地轉發(fā)授權的數據包)的威脅,如:
發(fā)布虛假的路由信息,使得數據被送到錯誤的地方;
通過監(jiān)聽、篡改信息、重放信息包使得信息包虛假;
竊聽或破譯沒有加密的或加密強度低的信息包;
通過拒絕服務攻擊使攻擊者過多占用共享資源,導致服務超載或系統(tǒng)資源耗盡,使得無法為其它用戶提供合適的服務;
IP地址欺騙:主要包括利用虛假的地址,以虛假的回答進行響應。如:ARP(地址解析協(xié)議)欺騙攻擊、DNS(域名服務系統(tǒng))欺騙攻擊、TCP連接欺騙盲攻擊;
ICMP(網際報文控制協(xié)議)攻擊是濫用ICMP包發(fā)布錯誤信息,破壞路由器正常的轉發(fā)功能。如:濫用類型3——目的地不可達報文攻擊,濫用類型4——源抑制報文攻擊,濫用類型5——重定向消息攻擊;
IP分片攻擊利用IP分片,使非法數據流得以通過檢控,從而穿過路由器進行攻擊,參見RFC1858;
對功能的威脅或者主動使安全路由器錯誤地轉發(fā)或接受不希望轉發(fā)或接受的包,使得這些包進入到系統(tǒng)內,對系統(tǒng)構成威脅;或者被動地利用路由器沒有對包進行安全處理或處理強度低的情況,進行信息竊取。
3 安全路由器描述
安全路由器提供的安全服務功能是安全路由器能提供給用戶什么樣的安全服務。安全機制則是對安全服務的保障措施。一項安全服務的事項要通過若干項安全機制進行保障。具體安全技術則是目前在實際中已經或即將制訂的安全協(xié)議和實施的安全技術。
(1)安全路由器的結構
圖1 給出了安全路由器的一個基本框架,其中:
輸入單元:是物理鏈路和輸入包的進口。它要執(zhí)行的是進行數據鏈路層的封裝和解封裝、路由查找,以及處理一些較高級協(xié)議等功能;
輸出單元:在包被發(fā)送到輸出鏈路之前對包存貯,也要能支持數據鏈路層的封裝和解封裝,以及許多較高級協(xié)議;
安全控制單元:進行安全策略的配置、協(xié)商,進行或者協(xié)助進行安全分析,根據分析結果進行安全策略的調整;
路由交換單元:根據輸入單元確定的路由,把數據包轉發(fā)到相應的輸出單元;
路由控制單元:路由控制單元計算轉發(fā)表實現(xiàn)路由協(xié)議,并運行配置和管理的軟件。同時,它還處理那些目的地址不在線卡轉發(fā)表中的包。
信息包從輸入單元進入安全路由器。首先在安全處理單元中依據系統(tǒng)的安全策略和信息包中的內容對信息包進行安全處理,根據處理結果決定是否經過路由交換單元從輸出單元輸出。為了保證路由器的正常處理,在此還可能對信息包進行分流,送到具有安全分析功能的服務器進行安全分析,根據分析結果,發(fā)出告警或通知安全控制單元,進行安全策略的調整。
路由控制單元在通過路由協(xié)議進行路由信息交換時,也需要通過安全處理單元進行路由安全的保障。一些安全問題還可以送到后臺安全服務器記錄,以供事后追蹤。
(2)安全路由器可以提供的安全服務功能
很多安全功能,用戶也可以在自己的終端上實現(xiàn)。但這樣對網絡來說,管理太復雜,而且容易出現(xiàn)局部漏洞,從而對整個系統(tǒng)的安全構成威脅。通過路由器實現(xiàn)這些安全功能,可以方便地統(tǒng)一管理,減少對用戶的技術要求。
安全路由器應該為客戶提供的安全服務包括:
1認證:對和路由器進行聯(lián)系的對方實體或數據包的身份進行確認或識別,又分為:
實體認證:保證通信的對方與其所聲稱的實體相符,或者根據對方提供的信息確定其身份;
數據源認證:保證數據的來源與所聲稱的身份相符,或者能根據數據中攜帶的信息確定其身份。
2訪問權限:控制對系統(tǒng)資源的訪問權限。系統(tǒng)內不同的資源對不同的用戶提供不同的訪問級別。
3保密性:用來防止數據或業(yè)務流的非授權泄漏。根據要進行保密處理的數據項分為:
連接保密性:為連接上的所有用戶數據提供保密性;
無連接保密性:為無連接的所有用戶數據提供保密性;
選擇域保密性:為連接或無連接的所有用戶數據的選擇字段提供保密性;
業(yè)務流保密性:為可能從業(yè)務流的觀測結果中得到的信息提供保密性。
4完整性:發(fā)現(xiàn)對傳輸的數據進行的各種非法改變,有3種主要類型:
連續(xù)完整性業(yè)務:對某個連接上所有的數據進行完整性校驗;
無連接完整性業(yè)務:對于無連接數據項中的所有數據進行完整性校驗;
選擇完整性業(yè)務:僅對某個數據單元中所指定的區(qū)域進行的完整性校驗。
5抗否認性:用來防止在通信過程中雙方對自己行為的否認,可以作為事后追究的依據,根據否認方的不同分為:
有源端證據的抗否認:提供數據的源端證據給數據接收者,防止發(fā)送者否認自己發(fā)送的該數據或數據項;
有交付證據的抗否認:提供數據的交付證據給數據發(fā)送者,防止接收者否認自己接受過該數據或數據項。
(3)安全路由器的安全機制保障
為了能夠提供上述的安全服務,安全路由器提供一套安全方法來保證,也就是安全路由器的安全機制。這些安全機制包括:
加密機制:利用加密算法,為數據或通信業(yè)務流提供機密性;
數字簽名機制:對某個數據單元進行簽名和對數據單元的簽名進行驗證;
訪問控制機制:使用實體的經認證的身份、信息和權利確定以及實施實體的訪問權;
數據完整性機制:通過附上相應的分量對單個數據單元或域進行完整性校驗或對數據單元或域的一個流進行完整性校驗;
認證機制:使用認證信息、密碼技術或實體的某些特性或控制來進行身份的驗證或識別;
通信業(yè)務填充機制:提供不同級別的防通信業(yè)務分析保護;
路由控制機制:通過動態(tài)或預置方式安排路由,僅使用物理安全的子網、中繼網或鏈路。
(4)安全路由器中的安全技術
安全路由器中的安全技術從層次上主要涉及到硬件、操作系統(tǒng)、各網絡層次(主要鏈路層、網絡層和部分應用層)等幾方面。從防范的時序上包括事前預防、事中告警、事后追蹤等各項技術。事前預防主要是事先對硬件、操作系統(tǒng)、各網絡層次進行安全設置,使得攻擊難以進行;事中告警則是在對進出的數據包進行安全分析的基礎上,發(fā)現(xiàn)可疑點后,發(fā)出告警或進行動態(tài)策略調整,防止攻擊的擴散;事后追蹤則能夠根據日志或其他的記錄信息在事后進行分析,追蹤攻擊者的行跡,并協(xié)助提供攻擊證據,意圖通過法律手段對攻擊者進行制裁。硬件的安全一方面指硬件設備本身要能夠在不同溫度、濕度條件下,防震、防電磁干擾、防雷、防電源波動以及在通信電纜的絕緣電阻、介電強度等方面有要求,其物理安全防護應符合GB4943-90和GB9254-88;另一方面在硬件設計上考慮對安全的輔助,能夠通過硬件動態(tài)地隔離開網絡,使網絡可以通過物理分離達到安全目的。
操作系統(tǒng)的安全很復雜,因為很多操作系統(tǒng)的不安全性來自于自身的漏洞。而這些漏洞可能就是由于操作系統(tǒng)實現(xiàn)時的疏忽而造成的。如:由于沒有對輸入的數據量進行長度控制造成的緩沖區(qū)溢出、由于用戶密碼管理文件的訪問權限的門檻太低造成的密碼文件泄漏。
在安全路由器中應該實現(xiàn)的安全技術還有:
1鏈路層安全技術:針對在本地終止的PPP連接,當作為訪問路由器或要實現(xiàn)VPDN(虛擬專用撥號網絡)等業(yè)務時,就會有該層的安全要求。在PPP層要能提供實體身份認證、加密、壓縮等。
PPP安全所涉及的實體身份認證協(xié)議主要有:PAP(口令認證協(xié)議)、CHAP(質詢握手認證協(xié)議)。安全的鏈路層協(xié)議必須保證用戶名、口令非明文傳輸,推薦采用CHAP機制實現(xiàn)。驗證方式可以采用本地數據庫或者AAA協(xié)議。
PPP提供的加密服務由ECP(PPP加密控制協(xié)議)來完成。通過ECP協(xié)議,PPP在鏈路建立完成時,可以在通信的兩點之間協(xié)商合適的算法,對數據進行加密(具體見RFC1968)。由于ECP本身的協(xié)商不受保護,ECP協(xié)議也沒有密鑰管理的描述,這使得ECP協(xié)議的安全性存在漏洞,需要進一步完善。
2網絡層安全技術:網絡層的安全最能顯示路由器的安全作用。它的作用是為IP層提供可操作的、高效的和基于密碼技術的安全性。在這一層提供的安全服務包括了訪問控制、無連接完整性、數據來源認證、防重放保護、加密和有限的業(yè)務流機密性。而且這些服務在IP層提供時,要為IP層或更高層協(xié)議統(tǒng)一提供保護。網絡層安全協(xié)議目前主要支持IPSec(網際協(xié)議安全體系結構)及密鑰交換協(xié)議(見RFC2401~RFC2412、RFC2451等)。另外路由的安全技術、NAT(網絡地址轉換)技術、IP過濾器技術也可以體現(xiàn)在網絡層中。
3IPSec安全協(xié)議:對于普通的IP數據包通過使用兩個業(yè)務安全協(xié)議:IP認證頭(見RFC2402)、IP封裝安全載荷(見RFC2406)來進行數據完整性、數據來源、防重放、加密等處理。而進行處理的安全策略參數來源于手工配置或通過IKE(網際密鑰交換)進行的安全協(xié)商(見RFC2409)。
IPSec安全協(xié)議應該實現(xiàn):
支持自動生成(IKE) 和 手工配置(SA);
實現(xiàn)協(xié)議所要求的各種必需的算法:加密算法——如EDE-DES、IDEA、Rijidael等; HASH算法——MD5、SHA;認證方式——基于預共享密鑰的認證;密鑰交換——基于MODP(缺省group 1)的D-H算法;
支持兩種應用模式(隧道傳輸、透明傳輸);
支持兩種安全協(xié)議(AH、ESP);
支持Main和Aggressive兩種模式的IKE協(xié)商;
支持PFS(完美前向保密性)。
4路由的安全技術:路由的安全技術主要是防止偽造路由信息。這就要求對路由信息包進行源認證、包本身的完整性校驗,以確保路由信息來自于可信任方,并且沒有被篡改。在實際中路由協(xié)議主要通過預配置密鑰,也可以通過ISAKMP(網際安全協(xié)商和密鑰管理協(xié)議)協(xié)商得到密鑰(見RFC2408),以后的認證和完整性校驗都以此密鑰進行。
5NAT技術:NAT用于將一個地址、端口對映射成另一個地址、端口對,從而為終端主機提供透明路由的方法。它可以隱藏受保護網絡的內部結構,通過設置映射策略對轉發(fā)包進行控制,從而提高系統(tǒng)的安全性。NAT映射關系包括靜態(tài)地址轉換、動態(tài)地址轉換、地址及端口轉換、負載分配。靜態(tài)地址轉換完成一組內部IP地址到外部IP地址的一對一靜態(tài)轉換;動態(tài)地址轉換則可以使得外部IP地址動態(tài)地映射到內部的IP地址上;地址及端口轉換將不同的IP地址及傳輸標識符(TCP、UDP端口號,ICMP詢問標識符等)轉換為一個或多個外部地址的不同傳輸標識符。這樣的轉化既可以是外部地址向內部地址的映射,也可以是內部地址向外部地址的映射。通過實現(xiàn)上述一組或多組的映射關系,可以加強映射關系的可控性。
6IP過濾器技術:IP過濾器用于實現(xiàn)對IP層及其以上的數據包進行訪問控制。訪問控制的依據是若干過濾規(guī)則。
過濾器應該有如下要求:
動態(tài)性:即能根據安全反饋信息自動進行安全策略的調整;
時效性;規(guī)則能夠指定作用時間,以加強授權的可控性;
一致性檢測機制:能夠檢測規(guī)則之間的沖突,降低因為配置錯誤造成的安全漏洞;
基于物理端口:過濾器要能綁定到物理端口上,這樣可以減輕如IP地址欺騙等類型的攻擊。
7管理安全技術:管理安全技術所涉及的是不屬于正常通信實例,但要用來支持和控制該通信的安全方面的操作。安全路由器中的安全管理包括系統(tǒng)安全管理、安全服務管理、安全機制管理、安全通道管理。
系統(tǒng)安全管理:涉及事件處理管理、安全恢復管理、安全審計管理。事件處理管理主要是報告有關違反系統(tǒng)安全的明顯企圖以及管理事件報告的策略;安全恢復管理主要是維護用于對實際或有嫌疑的安全違章作出反應、進行系統(tǒng)恢復的規(guī)則策略;安全審計管理主要是選定擬記錄的安全事件、記錄被選定事件的審計數據、收集被選的審計記錄、準備安全審計報告以供事后追蹤。
安全服務管理:涉及的主要是特殊的安全服務。它要能為服務確定和分配安全保護目標,分配和維護為提供所需的安全服務使用的特定安全機制的選擇規(guī)則,在達成管理協(xié)議前協(xié)商可使用的安全機制,通過適當的安全機制管理功能去調用特定安全機制。
安全機制管理:涉及特定的安全機制,部分典型的安全機制管理功能描述如下。密鑰管理:根據所要求的安全級定時生成合適的密鑰、密鑰的安全獲取和分配、密鑰的存儲;加密管理:與密鑰管理的交互、加密參數的確定(包括密鑰的同步);數字簽名管理:與密鑰管理的交互、簽名參數的確定(包括密鑰的同步);訪問控制管理:包括安全屬性的分配、對訪問控制表或能力表的更新;數據完整性管理:與密鑰管理的交互、數據完整性參數的確定(包括密鑰的同步);實體認證管理:向要求執(zhí)行認證的實體散發(fā)說明性信息、口令或密鑰;通信業(yè)務填充管理:填充規(guī)則的維護,如:填充的數據率、消息特征;路由選擇管理:定義安全的鏈路和子網、指定安全路徑等。
安全通道管理:包括SNMP安全技術、Telnet安全技術等,這使得對安全路由器的配置、查看等管理都在和安全路由器安全通信的前提下進行。
SNMP安全規(guī)范允許使用多種安全協(xié)議保護網絡管理操作。它要利用密碼技術及相關機制,對網絡管理提供數據完整性、數據源認證、數據機密性保護,這些安全服務是通過摘要認證協(xié)議和對稱加密協(xié)議來實現(xiàn)的(參見RFC1446、RFC1352)。它要能提供以下服務:為每個收到的SNMP消息在通過網絡期間沒有被非授權管理操作引起改變提供驗證;為每個收到的SNMP消息的發(fā)送端身份進行驗證;為每個最近收到的SNMP消息提供明確的產生時間;為所有先傳遞的來自類似源的消息的每個后續(xù)收到的SNMP消息提供明確的產生時間;必要時使每個收到的SNMP消息的內容不被泄漏。
Telnet協(xié)議的安全要求包括機密性、完整性、用戶認證。這些服務基于密碼技術,可作為Telnet的安全擴展提供,或者作為一個封裝的安全協(xié)議。它要能提供下列的服務:請求或響應數據的機密性;請求或響應的數據源的驗證和數據完整性;請求或響應的數據源的不可抵賴性。
安全分析是事前預防、事中告警、事后追蹤的基礎。它主要對進入系統(tǒng)的信息進行統(tǒng)計、分析,檢測和識別系統(tǒng)中未授權或異常的現(xiàn)象。安全分析的依據主要有兩種:一種是正常用戶的行為模型,一種是入侵者的行為模型,即根據統(tǒng)計結果判斷是否偏離了一個正常用戶的行為,或者符合一個入侵者的行為,據此進行相應的安全處理。這里行為模型如何確立,是一個關鍵問題。
(5)性能
安全分析、安全處理本身往往都是很耗資源的,應該在安全和系統(tǒng)性能方面進行綜合考慮,盡可能地在能夠滿足用戶安全需求的情況下,提高安全路由器處理的性能。提高性能的措施有:
加快單位處理的速度:這主要包括提高安全判斷和安全處理的速度。如要加快數據包中的信息采集以及和安全策略的適配判斷,可以通過優(yōu)化算法或硬件來進行改善;安全處理中的各種加密算法、認證算法可以通過硬件得到加速;
減少無用處理:安全路由器應該是可以配置的。根據用戶的需求不同,只提供他們所需要的安全功能,避免提供對用戶沒有實際意義的安全功能,降低系統(tǒng)無謂的開銷;
安全并行處理:安全路由器應該能進行業(yè)務分流,把一些耗時的安全分析功能分流出去,不在主流程上進行這樣的處理,從而不妨礙正常業(yè)務的開展,可以設置另外的服務器或其他安全處理設施,由它們并行進行分析,然后根據分析結果,反過來再調整安全路由器的流程、策略。□
(收稿日期:2001-08-10)
作者簡介
許志軍,深圳市中興通訊股份有限公司網絡事業(yè)部工程師。南京航空航天大學畢業(yè),碩士。負責數據產品網絡安全的研究工作。
王東,深圳市中興通訊股份有限公司網絡事業(yè)部工程師。東南大學畢業(yè),碩士。從事安全協(xié)議開發(fā)工作。
張思東,深圳市中興通訊股份有限公司網絡事業(yè)部工程師。復旦大學畢業(yè)。先后從事大型數字程控交換機(ZXJ10)和數據產品的研制、管理工作。