近些年來,隨著網絡攻防對抗不斷演化升級,人工智能在網絡空間安全領域的應用也逐步展開。人工智能因其智能化與自動化的識別及處理能力、強大的數據分析能力,已成為網絡攻防的核心關鍵技術之一,并持續為自動化網絡攻防提供助力。
在攻擊面管理中,一些場景已經充分應用了人工智能技術;同時還有一些人工智能的應用場景處于探索發展階段,例如人工智能在指紋識別、路徑決策、攻擊過程數據的分析等,今天我們來對這些尚處于探索階段的應用先睹為快。
人工智能在指紋識別方面的應用
網絡資產探測識別指追蹤、掌握網絡資產情況的過程。從安全攻擊的角度看,網絡資產探測識別可用于滲透(或攻擊)前的信息收集,了解目標網絡內主機的操作系統類型、開放端口以及所運行的應用程序類型與版本信息。準確掌握目標網絡的安全狀況,有助于選取高效的攻擊方法。
在網絡資產探測識別的人工智能應用方面,華云安引入機器學習、深度學習等方法進行操作系統指紋識別,可以在較短時間,實現基于協議棧指紋的操作系統被動識別,大幅提高未精確匹配指紋的識別率,從而彌補和提高基于規則庫的操作系統指紋識別速度和準確性
常用的操作系統指紋識別特征有:IP頭中的總長度(toG tallength)、標志(ID)、是否分片(DF)、生存時間(TTL)字段等,TCP頭中的可選項,TCP 頭部的窗口大小(wsize)、可選項等,以及ICMP、UDP協議指紋、SYN-ACK 包重傳時延等
在匹配方法上,除了最基礎的精確匹配外,考慮到網絡延時、動態配置等現實因素,類似正則表達式的模糊匹配方法也被廣泛應用,如目前最新版的 p0fv3指紋庫將操作系統指紋分為兩類(specified,generic),增加了用于模糊匹配的g類,在s類無法精確匹配的情況下,為避免直接給出未知的結果,對 mss,wsize,scale等字段均允許使用“∗”進行模糊匹配,進而粗略地給出目標操作系統所屬的大類;SinFP中的啟發式匹配機制也是一種分層次的模糊匹配
使用機器學習模型對操作系統屬性值(端口、IPID、TTL、Do not Fragment、MSS、No operation、Selective Acknowledgement、Window scale 和 Window size等等參數)進行分類訓練,以 94% 的概率正確識別操作系統,進而提高指紋識別規則匹配的檢出率和準確率等。同時還有些其他問題未得到解決,如由于各個操作系統版本使用相同屬性值的問題,無法對版本進行具體分類預測等。
人工智能在路徑決策方面的應用
智能決策技術主要包含智能路徑決策和智能攻擊決策,采用強化學習等技術,即根據目標資產的操作系統、資產承載的應用,資產與其他資產的互聯情況,資產所在的網絡環境、漏洞、漏洞利用的易用性、漏洞利用的穩定性、漏洞利用的隱秘性、攻擊過程產生的可用數據以及平臺指令等等參數通過強化學習模型(Q-learning+其他)和多層多區域異步的Asynchronous Advantage Actor-Critic強化學習算法進行路徑決策以及攻擊決策
智能模型所需要關鍵數據如下:
主機關鍵信息:IP地址、開放端口、服務及版本號、操作系統及版本號、MAC地址、網卡信息
漏洞關鍵信息:漏洞編號(CVE)、漏洞類型、風險等級、CVSS、漏洞影響、漏洞年份、PoC、Exp、利用難易度、利用的穩定性、利用的隱秘性、權限、是否可以獲取二次利用數據等等
操作系統信息:操作系統類型、系統版本
應用系統關鍵信息:應用系統、系統版本、系統類型、系統覆蓋面
網絡關鍵信息包含:網絡位置、與其他資產互聯情況
人工智能在數據分析方面的應用
在攻擊利用過程中Bot會產生一些數據,除上述五類數據外,還會從目標機器上二次信息收集,例如賬號/密碼、hash、域控相關、目標機器上存儲的可二次利用的數據等等,以上數據回傳到靈刃® 智能化滲透攻防系統Ai.Bot上,靈刃平臺的上不同功能的數據分析模型引擎對以上類型的數據分別進行處理、分析、訓練、再處理、預測、決策等最后形成指令或者數據,為Bot進行下一步的攻擊/測試提供決策、信息、數據支撐;同時Bot對目標進行下一步行動時獲取的數據/信息再次回傳至平臺,如此相輔相成,從而實現Bot漏洞組合智能化或者自動化,自我調優、自適應新環境、智能攻擊決策、智能路徑決策。