胡 明
(安徽醫(yī)學(xué)高等??茖W(xué)校,安徽 合肥 230001)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,網(wǎng)絡(luò)在人類社會(huì)的進(jìn)步和發(fā)展中發(fā)揮著重要作用,但也帶來了各種安全問題[1]。通常來說,無線網(wǎng)絡(luò)攻擊行為通過對(duì)計(jì)算機(jī)和硬盤等硬件設(shè)備來造成系統(tǒng)的崩潰或網(wǎng)絡(luò)的癱瘓,這使得其檢測(cè)與防護(hù)也有著一定的依據(jù)。目前已有各種無線網(wǎng)絡(luò)攻擊檢測(cè)技術(shù)、設(shè)備被推出,例如VPN技術(shù)、防火墻技術(shù)、人臉識(shí)別技術(shù)等[2]。但不可忽視的是,這些已有的技術(shù)中仍存著不容忽視的缺陷,即智能被動(dòng)的、靜態(tài)的對(duì)攻擊進(jìn)行防護(hù),無法完成對(duì)攻擊的主動(dòng)防御。因此,近年來具有主動(dòng)防御能力的入侵檢測(cè)技術(shù)越來越受到關(guān)注。
網(wǎng)絡(luò)入侵檢測(cè)是一種對(duì)抗計(jì)算機(jī)網(wǎng)絡(luò)攻擊的方法[3]。入侵檢測(cè)系統(tǒng)通常是一種設(shè)備或軟件應(yīng)用程序,用于監(jiān)視網(wǎng)絡(luò)或系統(tǒng)活動(dòng)中的惡意活動(dòng)并生成報(bào)告。網(wǎng)絡(luò)流量異常的檢測(cè)作為大規(guī)模高速網(wǎng)絡(luò) (LSHSN) 安全管理的重要挑戰(zhàn)之一,一直受到學(xué)術(shù)界的廣泛關(guān)注,這使得入侵檢測(cè)系統(tǒng)成為網(wǎng)絡(luò)安全的重要組成部分,通常來說需要兩個(gè)因素來確保入侵檢測(cè)系統(tǒng)(IDS)有效性。首先,IDS應(yīng)該能夠提供可靠的檢測(cè)結(jié)果。檢測(cè)方法必須有效地識(shí)別入侵,而檢測(cè)性能不佳會(huì)破壞IDS的可信度。其次,IDS 應(yīng)允許在惡劣的環(huán)境中正常運(yùn)行。然而,保持高檢測(cè)精度具有挑戰(zhàn)性。目前廣泛使用的使用攻擊特征來檢測(cè)入侵的 IDS 無法發(fā)現(xiàn)新的攻擊,這使得隨著新入侵?jǐn)?shù)量的增加,其保護(hù)計(jì)算機(jī)和應(yīng)用程序變得越來越困難。因此,一種能夠發(fā)現(xiàn)新攻擊的有效檢測(cè)方法對(duì)于可靠IDS的構(gòu)建具有重大意義。本文的目的是設(shè)計(jì)一種入侵檢測(cè)策略,該策略可以檢測(cè)違反系統(tǒng)安全策略的入侵,并借助遺傳算法從錯(cuò)誤中學(xué)習(xí)自我進(jìn)化。
本文使用的遺傳神經(jīng)網(wǎng)絡(luò)算法主體是由遺傳算法和改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)算法組成。應(yīng)用遺傳算法區(qū)分正常和異常入侵行為,更新入侵檢測(cè)規(guī)則庫(kù)并對(duì)實(shí)時(shí)入侵檢測(cè)規(guī)則庫(kù)進(jìn)行建立,而后利用神經(jīng)網(wǎng)絡(luò)算法進(jìn)行聚類分析。聚類有助于在多維未標(biāo)記數(shù)據(jù)中找到待求數(shù)據(jù),其主要優(yōu)點(diǎn)是無需顯式簽名即可從審計(jì)數(shù)據(jù)中學(xué)習(xí)和檢測(cè)入侵的能力,可以自動(dòng)檢測(cè)數(shù)據(jù)訓(xùn)練中的相似對(duì)象組。
從本質(zhì)上看,遺傳算法式一種基于達(dá)爾文生物進(jìn)化論的數(shù)學(xué)計(jì)算模型,其原理在于模擬自然選擇的過程,利用生物的基因遺傳機(jī)制進(jìn)行迭代處理,從而在自然選擇中獲得最優(yōu)解。通常來說,遺傳算法的搜索的數(shù)據(jù)來源為由特定個(gè)體構(gòu)成的種群,其中每個(gè)個(gè)體代表一條具有一個(gè)基因組合編碼的染色體,不難看出,這一染色體具有遺傳特性,即這些個(gè)體攜帶的染色體是遺傳物資的主要載體,而遺傳物質(zhì)由代碼組成。因生物的遺傳編碼具有較高的復(fù)雜性,故通常遺傳算法中的遺傳物資仍采用二進(jìn)制計(jì)算機(jī)語(yǔ)言進(jìn)行編譯。在第一代子代被生成后,其攜帶的突變基因被保留下來,之后的數(shù)代子代均攜帶這些突變基因并進(jìn)一步進(jìn)行突變,而遺傳算法通過設(shè)置一定的篩選條件來模擬自然選擇的過程,這就使得攜帶有用遺傳物質(zhì)的子代得到保留,相較于這些最優(yōu)子代的次優(yōu)子代以及突變方向更偏離目標(biāo)的子代則被篩除,這便使得通過多代的演化得到的子代越來越接近于最優(yōu)解。
深度學(xué)習(xí)是一類模式分析方法的統(tǒng)稱。近些年來,深度學(xué)習(xí)相關(guān)技術(shù)在推薦領(lǐng)域的應(yīng)用有所增加,通過深度學(xué)習(xí)技術(shù)可以深入研究數(shù)據(jù)的隱藏特征。 深度學(xué)習(xí)技術(shù)目前已被廣泛用于為推薦的一些系統(tǒng)問題提供有效的解決方案;例如利用深度學(xué)習(xí)技術(shù)降低數(shù)據(jù)維度從各種數(shù)據(jù)源中提取特征參量并將其集成到推薦系統(tǒng)中,對(duì)用戶偏好矩陣、內(nèi)容輔助信息等進(jìn)行建模。
人工神經(jīng)網(wǎng)絡(luò),顧名思義為通過計(jì)算機(jī)模擬人腦,從而使計(jì)算機(jī)擁有人的形象思維與大規(guī)模并行協(xié)同處理能力以及容錯(cuò)相關(guān)能力等計(jì)算機(jī)不具備的功能,除此之外,更重要的是模擬人腦可賦予計(jì)算機(jī)學(xué)習(xí)的能力。從本質(zhì)上說,人工神經(jīng)網(wǎng)絡(luò)是一個(gè)大型自組織、自適應(yīng)的非線性系統(tǒng)。目前人工神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展已經(jīng)逐漸趨向成熟,其種類也趨向繁多化,按網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可分為有反饋網(wǎng)絡(luò)和無反饋網(wǎng)絡(luò),按網(wǎng)絡(luò)學(xué)習(xí)方式可分為有監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)和無監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)。網(wǎng)絡(luò)狀態(tài)可以分為靜態(tài)網(wǎng)絡(luò)和動(dòng)態(tài)網(wǎng)絡(luò)。信息處理特征可分為連續(xù)網(wǎng)絡(luò)和離散網(wǎng)絡(luò)。
1)選擇操作
本文采用輪盤賭式篩選的選擇方式對(duì)種群進(jìn)行選擇,具體流程如下:首先根據(jù)給定種群的分布從先前種群中隨機(jī)選擇一條染色體作為算子,對(duì)第s代第j個(gè)個(gè)體的適應(yīng)度進(jìn)行計(jì)算,通過適應(yīng)度獲得選擇概率psj,具體如式(1)所示:
psj=Fsjj=1NFsj
(1)
式中,Fsj表示sj在總體中的適應(yīng)度值,當(dāng)前種群中的解決方案是根據(jù)它們?cè)谙乱粋€(gè)種群中生存的優(yōu)點(diǎn)來估計(jì)的,這要求群體中的每個(gè)種群對(duì)應(yīng)的解決方案都與前一個(gè)種群適應(yīng)度值相關(guān)聯(lián)。解串的適應(yīng)度值取決于群體內(nèi)的總變異,具有較小平方誤差的解串必須具有較高的適應(yīng)度值。
選擇概率決定了樣本通過篩選進(jìn)入下一代的概率,在文中所提算法中,為了使算法的收斂速度得到提升,選擇對(duì)采用輪盤賭方法產(chǎn)生的子代進(jìn)行個(gè)體修正的方法,具體修正措施如下:提取獲得的子代中的最優(yōu)個(gè)體,將其適應(yīng)度與bestFsj進(jìn)行比較,若其大于bestFsj則將其保留,若其小于bestFsj則將該種群子代中的適應(yīng)度函數(shù)最小值個(gè)體替換為best(s)。
2)突變操作
突變改變了基于解決方案的價(jià)值,關(guān)于聚類質(zhì)心和相應(yīng)數(shù)據(jù)點(diǎn)之間的距離。 每個(gè)解決方案對(duì)應(yīng)一個(gè)數(shù)據(jù)點(diǎn),其值代表該數(shù)據(jù)點(diǎn)所屬的集群。 對(duì)應(yīng)的聚類中心越靠近數(shù)據(jù)點(diǎn),聚類數(shù)的值發(fā)生變化的概率就越大。
3)K-Means算子
K-Means算子由聚類中心的計(jì)算和集群中每個(gè)數(shù)據(jù)點(diǎn)的就近再分配構(gòu)成。圖 1 顯示了遺傳神經(jīng)網(wǎng)絡(luò)算法的流程圖
圖1 遺傳神經(jīng)網(wǎng)絡(luò)算法流程圖
簇被分配序列號(hào)0,1,…, (n-1)。N*N矩陣由D= [d(i,j)] 表示。第k個(gè)聚類的級(jí)別為L(zhǎng)(k)。序列號(hào)為m的簇表示為 (m)。簇 (p) 和 (q) 之間的接近度表示為d[(r),(s)]。從級(jí)別L(O) = 0 且序列號(hào)m=O的不相交聚類開始。根據(jù)d[(p) 確定當(dāng)前聚類中最不相似的聚類對(duì),例如對(duì) (p),(q) ,(q)]=mind[(i),G)],其中最小值是當(dāng)前聚類中的整體聚類對(duì)。按照m=m+[遞增序號(hào),將簇(p)和(q)合并成一個(gè)簇,形成下一個(gè)簇m。此聚類的級(jí)別設(shè)置為L(zhǎng)(m) =d[(p),(q)]。通過刪除對(duì)應(yīng)于簇 (p) 和 (q) 的行和列來更新鄰近矩陣D。添加對(duì)應(yīng)于新形成的簇的行和列。用 (p,q) 表示的新集群與舊集群 (k) 之間的接近度定義如式(2):
d[(k), (p,q)] =mind[(k),(P)] ,d[(k),(q)]
(2)
實(shí)施遺傳 k-means算法以根據(jù)以下內(nèi)容識(shí)別攻擊:使用的參數(shù)-目標(biāo)序列號(hào) (DSN)、源序列號(hào) (SSN)、節(jié)點(diǎn) ID (NID)、惡意節(jié)點(diǎn) ID (MN_ID) 和 RR(請(qǐng)求回復(fù)) .
1) 初始化:從源節(jié)點(diǎn) S 開始發(fā)現(xiàn)階段。分配當(dāng)前時(shí)間和執(zhí)行PriorReceive Reply所需的時(shí)間。
2) 存儲(chǔ):將所有的Route Replies DSN 和NID 存儲(chǔ)在RR 表中。重復(fù)上述過程,直到超過時(shí)間。具體算法如下
While ((current time <= (current time + wait time))
{
Store the route replies DSN and NID in the RR Table.
}
3)攻擊節(jié)點(diǎn)的識(shí)別和去除:從RR表中檢索第一個(gè)條目。使用 SSN 檢查 DSN。如果 DSN 大于 SSN,則丟棄從 RR 表中選擇的第一個(gè)條目,具體算法如下。
If (DSN >SSN)
{
MN_ID = NID;
Discard entry from table
}
4)節(jié)點(diǎn)選擇:根據(jù)DSN對(duì)RR Table條目的內(nèi)容進(jìn)行排序。選擇RR表?xiàng)l目中DSN值最高的NID
5)繼續(xù)默認(rèn)過程:繼續(xù)步驟3和步驟4,直到我們必須找到目標(biāo)節(jié)點(diǎn)。調(diào)用默認(rèn) AODV 協(xié)議的 Receive Reply 方法。
采用網(wǎng)絡(luò)模擬器NS-2.34對(duì)本文所設(shè)計(jì)的遺傳神經(jīng)網(wǎng)絡(luò)算法進(jìn)行測(cè)試,在測(cè)試中使用 AODV 協(xié)議檢測(cè)無線傳感器網(wǎng)絡(luò)中的入侵,實(shí)驗(yàn)結(jié)果如下。
節(jié)點(diǎn)的初始部署和集群形成如圖2所示。
節(jié)點(diǎn)間的數(shù)據(jù)傳輸如圖3所示
圖2 創(chuàng)建集群形成圖
圖3 節(jié)點(diǎn)間數(shù)據(jù)通信示意圖
為了驗(yàn)證提出的使用遺傳神經(jīng)網(wǎng)絡(luò)算法的入侵檢測(cè)系統(tǒng)的有效性和優(yōu)越性,選擇使用檢測(cè)率和誤報(bào)率作為參考指標(biāo),與增強(qiáng)型入侵檢測(cè)算法 (EIDA)和kmeans算法進(jìn)行對(duì)比評(píng)估,結(jié)果如圖4所示,由圖可知遺傳神經(jīng)網(wǎng)絡(luò)算法相較于增強(qiáng)型入侵檢測(cè)算法 (EIDA)和 kmeans 算法具有較高的檢測(cè)率
如圖5所示,在實(shí)驗(yàn)過程中,相較于增強(qiáng)型入侵檢測(cè)算法 (EIDA)和kmeans算法本文所提算法還顯示出較低的誤報(bào)率,檢測(cè)到的誤報(bào)保持在最低水平。
圖4 檢測(cè)率對(duì)比圖
圖5 誤報(bào)率對(duì)比圖
隨著互聯(lián)網(wǎng)的發(fā)展和智能手機(jī)的普及,無線網(wǎng)絡(luò)通信已經(jīng)普及到人們生活的方方面面,通信系統(tǒng)的安全性也成為越來越重要的問題。作為網(wǎng)絡(luò)安全領(lǐng)域的一個(gè)難題,攻擊識(shí)別和預(yù)防受到了學(xué)術(shù)界的廣泛關(guān)注,有效的入侵檢測(cè)系統(tǒng)對(duì)于確保網(wǎng)絡(luò)安全至關(guān)重要。綜合考慮了無線傳感器網(wǎng)絡(luò)由于其自組織部署、無人值守操作和能源效率的脆弱性而面臨更高安全挑戰(zhàn)的問題。從一個(gè)有效的入侵檢測(cè)系統(tǒng)應(yīng)該提供可靠和持續(xù)的檢測(cè)服務(wù)出發(fā),針對(duì)許多當(dāng)前系統(tǒng)產(chǎn)生高誤報(bào)率和低檢測(cè)率的問題, 使用遺傳神經(jīng)網(wǎng)絡(luò)算法對(duì)這些問題進(jìn)行解決,并通過測(cè)試驗(yàn)證其可行性與優(yōu)越性,該算法作為一個(gè)智能系統(tǒng),可以分析生成的入侵警報(bào),還可以檢測(cè)新的攻擊,而無需任何入侵簽名。 結(jié)果表明,設(shè)計(jì)的遺傳神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)了高檢出率和低誤報(bào)率,更適合動(dòng)態(tài)環(huán)境。