河南商業(yè)高等??茖W(xué)校計(jì)算機(jī)系 劉征
人工神經(jīng)網(wǎng)絡(luò)在入侵檢測中的應(yīng)用
河南商業(yè)高等專科學(xué)校計(jì)算機(jī)系 劉征
隨著計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展,網(wǎng)絡(luò)安全問題已成為全球關(guān)注的焦點(diǎn)問題。經(jīng)濟(jì)全球化帶動(dòng)了迅速增長的互聯(lián)網(wǎng)信息訪問量。有線電視網(wǎng)、電話網(wǎng)、計(jì)算機(jī)網(wǎng)絡(luò)的“三網(wǎng)合一”進(jìn)一步放大了這種潛在的風(fēng)險(xiǎn)。在這里本文,筆者討論將人工神經(jīng)網(wǎng)絡(luò)應(yīng)用到入侵檢測中的應(yīng)用。
在信息系統(tǒng)中,入侵是指任何未經(jīng)授權(quán)的訪問或惡意利用信息資源。傳統(tǒng)的計(jì)算機(jī)防御采用防火墻技術(shù),它是構(gòu)成計(jì)算機(jī)安全的第一道屏障。但是防火墻只能檢測到正在發(fā)生的攻擊,它是一種被動(dòng)的防御技術(shù)。入侵檢測正好可以彌補(bǔ)防火墻這一缺陷,他可以對企圖入侵,正在進(jìn)行的入侵或者已經(jīng)發(fā)生的入侵進(jìn)行識(shí)別,是一種主動(dòng)防御技術(shù)。入侵檢測一般可以分為2類:誤用入侵檢測和異常入侵檢測。一般來說,誤用入侵檢測采用防火墻技術(shù)進(jìn)行監(jiān)測和定位,相對比較簡單。異常入侵檢測指是對偏離正常行為的檢測方法,主要采用數(shù)據(jù)挖掘技術(shù)進(jìn)行檢測。
由大量的節(jié)點(diǎn)(神經(jīng)元)高度互聯(lián)構(gòu)成的人工神經(jīng)網(wǎng)絡(luò)是1個(gè)數(shù)學(xué)模型或者計(jì)算模型,其模型來源于生物神經(jīng)網(wǎng)絡(luò)。其中,每個(gè)節(jié)點(diǎn)代表一種特定的非線性輸出函數(shù)(激勵(lì)函數(shù))。每2個(gè)節(jié)點(diǎn)間的連接都代表1個(gè)通過該連接信號(hào)的加權(quán)值(權(quán)重),這是用來確定1個(gè)節(jié)點(diǎn)會(huì)影響其他節(jié)點(diǎn)的度。網(wǎng)絡(luò)的輸出根據(jù)網(wǎng)絡(luò)的連接方式、權(quán)重值和激勵(lì)函數(shù)的不同而不同。從本質(zhì)上講人工神經(jīng)網(wǎng)絡(luò)是一種從輸入到輸出的映射關(guān)系,其輸出值由輸入值、權(quán)值和激勵(lì)函數(shù)決定。通過訓(xùn)練和學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)就可以完成所需的輸入、輸出映射,即能推理產(chǎn)生一個(gè)可以自動(dòng)識(shí)別的系統(tǒng)。
基于神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng)屬于異常入侵檢測的范疇,因此它一般要包括以下幾個(gè)模塊:數(shù)據(jù)采集模塊,數(shù)據(jù)訓(xùn)練檢測模塊及響應(yīng)模塊。
1.數(shù)據(jù)采集及模塊。數(shù)據(jù)采集模塊一般是從網(wǎng)卡中采集數(shù)據(jù)和讀取主機(jī)日志文件中的數(shù)據(jù),并把這些數(shù)據(jù)作為數(shù)據(jù)檢測模塊的輸入。但是采集到的原始數(shù)據(jù)往往雜亂無章,要想直接輸入到下一模塊,必須首先進(jìn)行預(yù)處理。預(yù)處理首先要對數(shù)據(jù)進(jìn)行格式化,形成統(tǒng)一的格式,然后把它們存儲(chǔ)到特定的數(shù)據(jù)結(jié)構(gòu)中,最后還要檢查這些數(shù)據(jù)的正確性。
2.數(shù)據(jù)訓(xùn)練檢測模塊。數(shù)據(jù)訓(xùn)練檢測模塊是入侵檢測的核心模塊,它的好壞直接影響到系統(tǒng)的效率。但它剛開始并沒有檢測能力,必須通過學(xué)習(xí)才能具有檢測能力。學(xué)習(xí)分為監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。學(xué)習(xí)的過程主要是通過輸入一組訓(xùn)練數(shù)據(jù)來完成。這組數(shù)據(jù)包括正常的數(shù)據(jù)和異常的數(shù)據(jù)。通過這些訓(xùn)練數(shù)據(jù)來不斷地修改網(wǎng)絡(luò)中的參數(shù),使該模塊對入侵?jǐn)?shù)據(jù)具有檢測能力。這樣就可以對數(shù)據(jù)采集模塊得到的數(shù)據(jù)進(jìn)行分類,從而判定是入侵還是正常的數(shù)據(jù),從而決定是否產(chǎn)生告警。訓(xùn)練數(shù)據(jù)和函數(shù)直接影響著檢測模塊性能的高低,因此來對它們的選擇一定要慎重。
3.相應(yīng)模塊。響應(yīng)模塊主要是使用記錄和報(bào)警的方式對數(shù)據(jù)訓(xùn)練和檢測模塊進(jìn)行響應(yīng)。記錄主要是以日志的形式存在,里面主要記錄了黑客攻擊的類型、時(shí)間和攻擊的強(qiáng)度等信息。報(bào)警則是用信息通知用戶網(wǎng)絡(luò)遭受到攻擊,可以用報(bào)警聲音或者是彈出對話框的形式進(jìn)行。
經(jīng)過實(shí)驗(yàn)證明,基于人工神經(jīng)網(wǎng)絡(luò)的入侵檢測可以大幅度地降低入侵檢測的漏報(bào)率和誤報(bào)率,它的優(yōu)勢主要體現(xiàn)在以下幾個(gè)方面。
1.神經(jīng)網(wǎng)絡(luò)具有高度的靈活性和自適應(yīng)能力。傳統(tǒng)的入侵檢測要求獲取的攻擊數(shù)據(jù)必須是完整的,只有這樣才能檢測出攻擊。一旦網(wǎng)絡(luò)上攻擊數(shù)據(jù)不完整,它們將無能為力。另外,網(wǎng)絡(luò)上的攻擊可能是由多個(gè)攻擊者相互協(xié)調(diào)來完成的。神經(jīng)網(wǎng)絡(luò)的非線性處理和高度的靈活性非常適合檢測此類攻擊。
2.人工神經(jīng)網(wǎng)絡(luò)檢測速度快。人工神經(jīng)網(wǎng)絡(luò)計(jì)算速度非???,它能很快地對攻擊進(jìn)行響應(yīng),從而避免系統(tǒng)遭受嚴(yán)重破壞。
3.人工神經(jīng)網(wǎng)絡(luò)可以對攻擊進(jìn)行預(yù)測。人工神經(jīng)網(wǎng)絡(luò)一般以輸出概率的形式表示對未知攻擊的檢測預(yù)測能力。一個(gè)基于人工神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng)將確定一個(gè)特定的事件或一系列的事件,表明對系統(tǒng)攻擊的可能性。人工神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)的能力,通過學(xué)習(xí)得到確定某個(gè)事件是否發(fā)生的信息。然后,這些信息用來預(yù)測一系列事件的發(fā)生,通過跟蹤這些事件,系統(tǒng)將能夠預(yù)測到可能發(fā)生的攻擊并采取行之有效的防御措施。
4.人工神經(jīng)網(wǎng)絡(luò)可以實(shí)時(shí)更新,提高入侵檢測的能力。黑客對網(wǎng)絡(luò)的攻擊五花八門且千變?nèi)f化,這就需要入侵檢測能夠識(shí)別不同的攻擊。另外,黑客往往效仿其他成功攻擊的經(jīng)驗(yàn),不斷改進(jìn)自己的技術(shù),以提高攻擊的效率。所有這些都需要入侵檢測系統(tǒng)不斷地更新自己,識(shí)別新的攻擊。人工神經(jīng)網(wǎng)絡(luò)最重要的優(yōu)勢就是學(xué)習(xí)能力和有效識(shí)別以前所發(fā)生攻擊的能力。
但是,人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于入侵檢測也存在一些缺點(diǎn)。首先,就是神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力受限于訓(xùn)練數(shù)據(jù)。入侵的準(zhǔn)確分析對訓(xùn)練數(shù)據(jù)的要求非常高。其次,要想獲得成千上萬的黑客攻擊數(shù)據(jù),這就需要從不同的部門獲得到敏感信息,但這是很難實(shí)現(xiàn)的。
book=65,ebook=8