1、引言
由于當下計算機網絡的爆炸式增長,隨之而來的問題是數目急劇增長的網絡攻擊。我們社會的各種部門,從政府部門到社會上的各種關鍵基礎設施,都十分依賴計算機網絡以及信息技術。顯然它們也很容易遭受網絡攻擊。典型的網絡攻擊就是使目標計算機禁用、使服務脫機或者訪問目標計算機的數據。自上世紀九十年代以來,網絡攻擊的數量和影響已經顯著增加。
網絡安全指的是一系列用來保護網絡設備活動和措施的,能夠使得它們免遭所有可能威脅的技術。在傳統的網絡安全技術中,大都是靜態的訪問管理,安全控制系統會根據預設的定義進行保護。但是當網絡攻擊數目增多,越來越多的攻擊會繞過這個保護機制,傳統的方法也就不再夠用了。
如果沒有足夠有效的網絡安全技術,公司、國家、社會的安全都會受到威脅。只是在2014-2015年間,全國有大量的網絡犯罪需要被應對,涉及到Target、Anthem、藍盾等多家公司。攻擊者會使用安全系統的漏洞或者利用基礎設施的漏洞,侵入計算機系統。傳統的方式已經在當今不可預測的環境中完全不夠用,不能再使用靜態的方法進行保護,需要在第一時間防止攻擊發生。
下文探索了在網絡安全技術發展的過程中的需要,解釋了許多當前正在使用于網絡安全領域的人工智能技術。第二部分會對人工智能進行簡要概述,第三部分介紹了應用在網絡安全領域的人工智能技術,第四部分詳細介紹了一些基于人工智能的網絡安全方法,第五部分總結前文,并對后續可能的一些相關工作給出建議。
2、人工智能(Artificial Intelligence)概述
人工智能,在過去的十年來中一直是一個流行的概念。在1956年被首次提出之后,一直被描述為使用數字邏輯將事件形式化的一種方法,又稱為機器智能。
人工智能中使用復雜的數字算法去模擬人類思維。人工智能的技術可以基于事件中的各種信息去理解和學習各種知識。思維的角度可以分為兩個角度:思維推理過程以及行為。
可以看出,人工智能的方法更加側重于人類行為,側重于知識的表示和推理方法,然后開發智能代理。代理可以與其他的各種代理交互并交換互相的知識,尋找問題解決方案的過程就是在這種共享中完成的,每一個代理都是一個決策系統。
決策理論有兩個方面,診斷和前瞻。Jean Pomerol等人研究了人工智能與診斷、表示和記錄人類知識有很多關系。由于前瞻性決策的不確定性,人工智能沒有給予足夠的關注,忽視了多屬性人類推理。Simon等人提出了一個有限理性模型,以用來承認人類在決策過程的不同時刻使用了多種標準。人工智能的目標一直都是尋求一種新型的自動化智能。這種只能的反應就能夠像人類一樣。為了實現這一目標,機器需要精確學習,這意味著機器必須通過學習算法進行訓練。人工智能方法依賴于算法。并且,即便算法沒有太多改進,人工智能也可以通過使用大規模計算以及大數據的方法來進行暴力學習。
人工智能有三種工作方式:
輔助智能:改善人們已經在做的事情。
增強的智能:使人們能夠做他們做不到的事情。
自主智能:這是機器自主行動的特征。
關于這三類,可以得出結論,人工智能旨在解決一些最困難的問題,而網絡安全屬于這一類,因為網絡攻擊已經變得非常復雜,可能更具災難性,并成為網絡空間中的一個復雜問題。
3、網絡安全中的人工智能技術
這一部分將簡要概述人工智能領域的一些基本學習算法,并簡要介紹人工智能的分支,例如專家系統、機器學習、深度學習以及生物啟發計算等,都是在網絡安全領域會被經常使用到的。
在機器學習中要使用到經驗學習和訓練去提高機器性能。根據Mitchel給出的定義:“如果一個計算機程序在T類任務中的性能(如P所測量的)隨著經驗E的提高而提高,那么它就可以從經驗E中學習某類任務T和性能度量P。”目前,訓練機有三種學習算法,定義如下:
有監督學習:在這種類型的學習中需要有一個帶有大量標記的數據集的訓練過程。對數據集可以進行劃分,劃分出訓練集和測試集,訓練集訓練完成之后,使用測試集合數據進行驗證。學習方法通常使用分類機制或者是回歸機制。回歸算法根據輸入的一個或者多個連續值數字生成輸出或者預測值。分類算法則是將數據分類,與回歸相反,分類算法生成離散輸出。
無監督學習:與有監督學習相反,無監督學習使用的是沒有標記過的數據進行訓練。無監督學習算法通常是用于對數據進行聚類,降維或者是數據密度估計。
強化學習:這種類型的算法是機器學習的第三大分支,是基于獎懲制度來學習最佳的行為。強化學習可以被認為是有監督學習和無監督學習的一種結合。適用于數據有限或者沒有給出數據的情況。
人工智能技術包含有幾個子領域,將在下面對其進行描述:
專家系統(ES):也被稱為是知識系統。有兩個主要組件:一個是一組知識,這是專家系統的核心,包含著積累的經驗;第二個組件是推理機,用于推理預定義的知識并找到給定問題的答案。根據推理方案,系統可以解決基于案例或者基于規則的推理。
基于案例的推理:這種推理假設過去的問題案例解決方案可以用于解決新的問題案例。會通過回顧過去的類似問題案例,對新的方案進行評估,并會根據需要進行修訂,然后將之添加到知識庫中,這樣可以不斷地學習新問題并不斷增加推理的正確率。
基于規則的推理:這種推理使用專家的規則來解決問題。規則由兩部分組成,條件和動作。問題分兩步進行分析,首先評估條件,然后采取相應適當的措施。與上述基于案例的推理不同,基于規則的系統不會自動學習新規則或者改變當前的學習規則。
專家系統可以用于網絡空間安全的決策問題。通常,當有進程或者軟件試圖對安全系統的數據進行修改的時候,專家系統會對其評估,檢查其是否惡意。專家系統通常會在合理的時間段內分析大量的修改數據。這樣,專家系統可以通過實時監控去支持上述工作。當感受到惡意進程的時候,專家系統會針對其生成警告信息,然后安全專家可以根據警告信息選擇對應的措施。
機器學習(ML):根據Arthur Samuel給出的定義:“機器學習是一種方法,使計算機在沒有明確編程的情況下進行學習。”機器學習給我們提供了這樣一種系統,可以發現并形式化數據,并且可以從經驗中學習改進。學習過程會從觀察示例數據開始,以用來觀察對應任務數據的模式,并能夠在未來出更好的決策。在有這些知識之后,系統可以看到更多未看到示例的屬性。
機器學習是通過統計數據來提取信息、發現模式并得出結論的。即使在使用大量數據的時候也是如此。機器學習算法大約可以分為三類:有監督學習、無監督學習、強化學習。在網絡安全領域最常用的算法有:決策樹算法、支持向量機、貝葉斯算法、K-近鄰算法、隨機森林、關聯規則算法、聚類算法、主成分分析等。
深度學習(DL):也被稱為深度神經學習。它使用數據教計算機如何完成人類通常能夠完成的任務。DL包括ML,機器可以通過經驗和技能進行主動學習而不需要人工干預。
深度學習采用了人腦和神經元處理信號的工作機制,通過構建更為廣泛的神經網絡去進行訓練,神經網絡的精確度和性能會不斷的提高。由于日常創建數據的逐漸增加,深度學習被使用的也越來越頻繁。DL優于ML的優點之一就是因為它在面對大量數據的處理訓練的性能和結果的優越性。與機器學習相似,深度學習也支持有監督學習、無監督學習和強化學習。通常用于網絡安全領域的深度學習算法通常包括:前饋神經網絡、卷積神經網絡、遞歸神經網絡、生成對抗網絡、深度信念網絡等等。
生物啟發計算:它是一個智能算法和方法的集合,利用生物行為特性去解決廣泛的復雜問題 。傳統的人工智能創造的是智能,這是由機器演示過來的,由程序創造的。而生物啟發的計算則是始于一套簡單的規則和簡單的有機體,他們與這些規則緊密對應。在仿生計算中,以下技術最常用于網絡安全領域:遺傳算法、進化策略、蟻群優化、粒子群優化以及人工免疫系統等等。
4、基于人工智能的網絡空間安全技術
人工智能可以在短時間內高效、準確地分析大量數據。利用威脅歷史,基于AI的系統可以了解過去的威脅,并利用這些知識預測未來的類似攻擊,即使它們的模式發生了變化。由于這些原因,人工智能可以在網絡空間中使用,人工智能可以發現攻擊中的新變化和重大變化,人工智能能夠處理大數據,人工智能安全系統可以不斷學習,更好地應對威脅。
然而,人工智能也有一些局限性,例如:基于人工智能的系統需要大量數據,處理這些龐大數據需要很長時間和大量資源,頻繁的錯誤警報是終端用戶的問題,延遲任何所需的響應都會影響效率。此外,攻擊者可以通過插入敵方輸入、數據中毒和模型竊取來攻擊基于AI的系統。科學家最近確定了如何利用人工智能技術來檢測、阻止和應對網絡攻擊。最常見的網絡攻擊類型可分為三大類:
軟件利用和惡意識別:
軟件利用:軟件中存在漏洞,總會有一部分是可利用漏洞。攻擊者會使用這些軟件漏洞攻擊底層軟件應用程序。比較流行的軟件漏洞包括:整數溢出、SQL注入、緩沖區溢出、跨站點腳本、跨站點請求偽造等等。人類去逐行檢查代碼會是一項復雜的任務。但是如果計算機被教導如何檢查,應該可以做到。Benoit Moral描述了人工智能幫助提高應用程序安全性的方法。提倡使用基于知識的系統、概率推理和貝葉斯算法來檢測軟件漏洞。
惡意軟件識別:這是當下的一種常見的網絡攻擊方法。當前流行的惡意軟件的病毒包括有病毒、蠕蟲和特洛伊木馬等等。由于惡意病毒對網絡和社會的影響是巨大的,因此已經有很多的研究被完成。列出一些研究,例如Chowdury等人定義了一個使用數據挖掘和機器學習分類方法區隊惡意軟件進行分類和檢測的框架;H.Hashemi等人使用K近鄰和支持向量機作為機器學習分類器來檢測位置惡意軟件;Y.Ye等人構建了一個深度學習架構來檢測智能惡意軟件;N.McLaughlin等人采用了深度卷積神經網絡來識別惡意軟件;H.J.Zhu等人定義了一種新的機器學習算法,叫做旋轉森林,以用來識別惡意軟件。
網絡入侵檢測:
拒絕服務(DoS):這種攻擊常發生在由于攻擊者的行動,授權用戶反而無法訪問信息、設備或者其他網絡資源的時候。Sabah Alzahrani等人提出了一種基于異常的分布式人工神經網絡和基于特征的方法,應用兩種不同方法進行防御。
入侵檢測系統(IDS):這個系統可以保護計算機系統免受異常事件或者違規威脅。由于人工智能技術的靈活性和快速學習的能力,適合于應用到開發入侵檢測系統中來。W.L. Al-Yaseen等人將支持向量機以及K-means算法的新版本結合起來,創建了一個適用于IDS的模型;A.H. Hamamoto等人將遺傳算法和模糊邏輯用于網絡入侵的檢測,用來預測指定時間間隔內的網絡流量。
網絡釣魚和垃圾郵件檢測:
網絡釣魚攻擊:這種攻擊試圖竊取用戶身份。例如常聽說的暴力攻擊以及字典攻擊。針對這種攻擊,S.Smadi等人介紹了一種網絡釣魚檢測系統,利用了神經網絡和強化學習的方法檢測釣魚郵件;F.Feng等人采用蒙特卡洛算法和風險最小化方法,使用神經網絡識別調用網站。
垃圾郵件檢測:指的是未經允許的電子郵件,可能包含不適當的內容并可能引發安全問題。Feng等人結合支持向量機和樸素貝葉斯算法來過濾垃圾郵件。
人工智能當前可以使用于網絡空間安全的各個領域,可以用來分析數據、攻擊檢測以及相應,并且還可以實現流程自動化,有助于網絡安全專家分析并確定網絡攻擊的方式和防御措施。目前的一些流行方法有威脅檢測和分類、網絡風險評分、自動化流程和優化人工分析等等。
5、總結
網絡威脅正在快速增長,網絡攻擊的日益復雜,當前需要新的、更強大、以及可擴展的方法。可以看到,在當前基于人工智能的網絡安全算法主要的目的集中在惡意軟件檢測、網絡入侵檢測、網絡釣魚和垃圾郵件檢測等。研究都是通過利用不同人工智能技術去結合,產生了很好的結果。盡管人工智能解決網絡空間問題中的作用目前是不可避免的,但是對于一些基于人工智能的威脅和攻擊有關的問題還仍待解決。