李 翔 馬嘉川
(山東省交通通信信息中心 濟南 250000)
隨著國家信息化建設的快速發(fā)展,信息網(wǎng)絡安全問題日益突出,信息網(wǎng)絡安全面臨嚴峻考驗。當前互聯(lián)網(wǎng)絡結構無序、網(wǎng)絡行為不規(guī)范、通信路徑不確定、IP地址結構無序、難以實現(xiàn)服務質量保證、缺乏底層自愈能力、難以實現(xiàn)組播和多宿連接、骨干網(wǎng)核心設備易受攻擊、網(wǎng)絡安全難以保證、網(wǎng)絡可管理性差、設備越來越復雜昂貴等困擾。
基于以上問題,以往的補救措施已不能從根本上解決問題。與以往相比,信息安全保障呈現(xiàn)為主動的、智能化的、動態(tài)的信息安全態(tài)勢[1]。因此,解決網(wǎng)絡安全問題,必須未雨綢繆,爭取主動,堅持技術與管理并舉發(fā)展。從技術上講,要在以往的分散封堵已發(fā)現(xiàn)得安全漏洞為目的得研究基礎上,把網(wǎng)絡與信息安全視為一個整體,從各方面開展大力度的研究,將整個網(wǎng)絡體系所需要的基本理論、協(xié)議和模塊等基礎構件,與整體要求有機結合起來,形成完整的預警響應解決方案。在新的安全形勢下,研究在網(wǎng)絡安全領域有前瞻性的專題及擁有相應的核心預警與防御技術是很有必要的。
本文的研究構建了一個信息網(wǎng)絡安全預警系統(tǒng),我們從數(shù)據(jù)獲得,數(shù)據(jù)分析,數(shù)據(jù)報警。這三方面具體闡述技術線路:
即采用交換設備監(jiān)聽口接入,對網(wǎng)絡流量影響很小。
分析數(shù)據(jù)分為內(nèi)核協(xié)議棧管理、數(shù)據(jù)分析線程、控制前端程序。
對網(wǎng)絡、系統(tǒng)、應用和服務進行多層次全方位的監(jiān)控和管理,賦予用戶從任何地方通過管理端口進行安全、直接的管理和控制的支持能力,并對發(fā)現(xiàn)的故障進行及時告警和響應的處理能力,從而達到保障被管理網(wǎng)絡的可用性和可靠性。
本文從端口掃描的方法入手,研究其掃描技巧、掃描過程從而得到檢測的方法。以下為本文的詳細研究內(nèi)容:
掃描器是一種自動檢測遠程或本地主機安全性弱點的程序,通過使用掃描器可一不留痕跡的發(fā)現(xiàn)遠程服務器的各種TCP端口的分配及提供的服務和它們的軟件版本,這就能讓我們間接的或直觀的了解到遠程主機所存在的安全問題。
掃描器通過選用遠程TCP/IP不同的端口的服務,并記錄目標給予的回答,通過這種方法,可以搜集到很多關于目標主機的各種有用的信息。
常用的端口掃描技術有:TCP connect()掃描、TCPSYN掃描、TCPFIN掃描、IP段掃描、TCP反向ident掃描、FTP返回攻擊、UDP端口掃描及NULL掃描。
為了檢測秘密掃描技術(Stealth Scan),本系統(tǒng)用一個枚舉變量表示新捕獲的數(shù)據(jù)包中透露出的掃描方式(當然也可能是正常數(shù)據(jù),并非掃描數(shù)據(jù)包)。該枚舉類型定義如下:
typedefenum_scanType
{
sNONE=0。sUDP=1,sSYN=2,sSYNFIN=4,sFIN=8,sNULL=16,
sXMAS=32,sFULLXMAS=64,sRESERVEDBITS=128,sVECNA=256,sNOACK=512,sNMAPID=1024,
sSPAU=2048.sINVALIDACK=4096
}ScanType;
其中的每個常量值代表了相應的掃描方式。
例如sUDP代表UDP端口掃描,sNULL代表半開掃描中的NULL掃描。系統(tǒng)中端口掃描功能中用三級雙向鏈表存儲一段時間內(nèi)(時間窗口)的端口的連接情況或數(shù)據(jù)包傳送情況。每一個源地址的一個特定端口到目標地址的一個特定端口的連接用ConnectionInfo結構表示,這些ConnectionInfo結構組成雙向鏈表,表示連接隊列。這個連接隊列的頭指針放在DestinationInfo結構中,而DestinationInfo結構表示特定目標系統(tǒng)。Destination-Info組成一個雙向鏈表,表頭指針放在SourceInfo結構中,該結構表示特定的可能發(fā)起掃描的系統(tǒng),該結構同樣組成雙向鏈表,表頭則放在ScanList結構中,該結構定義如圖1:
圖1 結構定義
算法介紹:
算法描述圖如圖2:
圖2 算法描述
算法過程說明:
(1)檢測可疑地址
currTime.tv_sec=P->pkth->ts.tv_sec;currTime.Tv_usec=P->
pkth->ts.tv_usec;
ExpireConnections(scanList,maxTime,currTime);
該段程序從最新捕獲的數(shù)據(jù)包(Wincap的捕獲函數(shù)為每個被捕獲的數(shù)據(jù)包增加一個捕獲時間)獲取當前時間,并依次檢測三級存儲鏈表的每一個節(jié)點上存儲的連接信息,判斷是否該連接還在觀測時間窗口內(nèi),如果不在,則釋放該節(jié)點。
(2)插入新可疑地址
numPorts=NewScan(scanList,P,scanType);
把新捕獲的數(shù)據(jù)包結構及其相應的掃描類型插入三級鏈表的相應位置,并返回發(fā)送該數(shù)據(jù)包的計算機系統(tǒng)過去一段時間內(nèi)新的連接數(shù)。
(3)檢查是否為秘密掃描
if(scanType&~(sSYN IsUDP))
{
scanList->lastSource->stealthScanUsed=1:
scanList->lastSource->reportStealth=1;
}
如果是秘密掃描方式的一種,則表示該數(shù)據(jù)包是掃描數(shù)據(jù)包,并報警該數(shù)據(jù)包的源系統(tǒng)正在進行掃描。
(4) 計算訪問端口個數(shù)
if(numPorts>maxPorts)
{
scanList->lastSource->scanDetected=1;
}
如果不是秘密掃描方式,但是在過去的短暫時間內(nèi)的相應源地址發(fā)出的連接數(shù)超過閥值,則認為該源系統(tǒng)正在進行掃描。
網(wǎng)絡異常行為預警目的是發(fā)現(xiàn)應用中的特定行為,本文的系統(tǒng)模型設計結合使用協(xié)議分析的方法,采用了類似入侵檢測系統(tǒng)(IDS)的設計思想[2]。主要解析了HTTP協(xié)議、SMTP協(xié)議、FTP協(xié)議和TELNET協(xié)議。
HTTP在設計時,主要強調(diào)協(xié)議的開銷與速度,將其設計為輕型的高速協(xié)議,基于Client/Server結構,由客戶發(fā)起聯(lián)接請求,與服務器建立聯(lián)接之后,客戶發(fā)送服務請求,服務器對請求進行處理,并將結果傳給客戶,最后關閉聯(lián)接,一次基于HTTP的會話完成。所以可將一個HTTP會話分為4個步驟:聯(lián)接,請求,應答,關閉。
SMTP的設計基于以下的通信模型:當一個用戶提出發(fā)信請求后,SMTP發(fā)送方便與SMTP接收方建立一個雙向的傳輸通道。SMTP命令由發(fā)送方產(chǎn)生并送達接收方,接收方送回對這一命令的響應。當傳輸通道成功建立之后,SMTP發(fā)送方通過MAIL命令發(fā)送自己的用戶名和電子郵件地址。如果接收方同意接收,則返回OK應答。SMTP發(fā)送方接著通過RCPT命令發(fā)送收信人的用戶名和電子郵件地址,如果SMTP接收方能識別收信人,則返回OK應答,否則返回收信人無法識別的應答,但SMTP會話過程仍將繼續(xù)。如果收信人不只一個,這一步驟將重復,直到SMTP發(fā)送方與接收方確認完每一個收信人。
FTP是Internet上主要使用的文件傳輸協(xié)議。其主要目的是為了多個用戶更好地共享數(shù)據(jù)或程序,有效可靠地在不同的主機間傳輸數(shù)據(jù),使不同的文件系統(tǒng)對用戶透明。RFC959對其作了詳盡的描述。
telnet會話過濾是建立在進行會話的用戶名基礎上的。在登錄階段,telnet服務器和telnet客戶端的信息交換除了telnet命令,沒有規(guī)定其他標準格式。這些信息是用于顯示給用戶的。這使檢查login和password的提示符有困難。
大多數(shù)情況下,通過telnet連接傳輸,一個包里表示的數(shù)據(jù)量是很少的。例如,當用戶在打用戶名和輸入命令時,每個字符正常是以分開包傳送的。這使檢查用戶名和監(jiān)視用戶命令變得比較困難。
如果用戶成功登錄,從服務器端傳送“l(fā)ast login”信息。若登錄不成功,傳送“l(fā)ogin incorrect”信息。這些信息有助于檢測是成功登錄還是不成功登錄。只有在成功登錄,telnet過濾器收集telnet連接的信息。
本文根據(jù)對以上各協(xié)議分析的分析結果,收集網(wǎng)絡系統(tǒng)的特征參數(shù),如網(wǎng)絡中的MTU、報文數(shù)、數(shù)據(jù)包發(fā)送時間間隔等協(xié)議特征[3],并將特征參數(shù)組織形成規(guī)則庫,為檢測和預警提供依據(jù)。
基于已有的研究成果,本文從端口掃描預警和網(wǎng)絡行為異常預警技術出發(fā),設計開發(fā)了信息網(wǎng)絡安全預警系統(tǒng),整個預警與應急響應體系是以入侵檢測為核心的,容納并聯(lián)合了其它安全防護設備,統(tǒng)一進行入侵管理,支撐應急響應體系。
[1][美]Chridtopher M King,Curtis EDalton,TErtem Osmanoglu.常曉波,楊劍峰譯.安全體系結構設計、部署與操作[M].北京:清華大學出版社,2003.
[2]周慧芳,張亞玲,王尚平等.協(xié)議分析與模式匹配相結合的 IDS的設計研究[J].信息技術,2007,(08):14~17.
[3]Chauhan S.ProjectReport:Analysis and Detection of Network CovertChannels[R].CMSC 691 IA.2005:08.