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