姜寧 聶瀅 冀文 蘭建明 盧永頔 張雷 田碩
根據殺傷鏈模型描述,在網絡攻擊中,攻擊者首先會對目標網絡進行信息收集,發現企業互聯網暴露面資產如IP、端口等信息,進一步探查資產的安全漏洞、弱口令等脆弱性信息,即發現“攻擊面”。
攻擊面發現、識別是從攻擊者角度,全面尋找攻擊目標的潛在攻擊路徑。攻擊者一般首先需要依靠攻擊面識別,執行對目標系統的初始入侵,然后才能基于初始入侵成果,實現持續攻擊。如果防守方提前執行攻擊面識別和收斂,可提前摸清家底,最大程度“封堵漏洞”,從而實現對攻擊的提前主動防御。
實現攻擊面的識別和收斂是網絡空間主動防御的發展趨勢。但企業全量的攻擊面識別和收斂在實現過程中存在諸多挑戰:
1.企業數字化轉型、企業上云帶來了更復雜的網絡和系統,大規模網絡空間資產難以實現有效監管,容易出現被攻擊者利用的“影子資產”。
2.傳統資產漏洞管理模式存在漏洞檢測誤報較多,安全管理人員不能結合資產和業務的重要程度為安全漏洞進行威脅級別排序,進而影響安全保障人員,極大的降低了優先處置重要資產業務漏洞的效率。
3.對大規模企業資產,傳統腳本探測等工具無法實現基于IPv4、IPv6雙棧的實時監測、不能迅速發現互聯網暴露的新資產、新漏洞等攻擊面,不能及時進行攻擊面威脅的可利用性驗證。
攻擊面識別和收斂存在的挑戰,需要采用自動化的攻擊面識別和攻擊面威脅可利用性自動驗證技術來解決。
攻擊面是網絡空間資產能被訪問和利用的所有可能網絡入口的總和。Gartner在《 2021 安全運營技術成熟度曲線》中明確提到了攻擊面的兩個新興技術:網絡資產攻擊面管理( Cyber assetattack surface management)和外部攻擊面管理( External Attack Surface Management)。其中網絡資產攻擊面管理著眼于網絡空間內部資產,外部攻擊面管理面向互聯網暴露資產。兩類攻擊面管理技術都強調對暴露資產以及攻擊面進行科學高效的管理是實現攻擊面收斂的必要手段。
目前攻擊面收斂的方法一般流程如圖1所示。
資產識別往往借助網絡空間資產測繪、自動化掃描、敏感信息發現技術及資產指紋知識庫進行IT資產、數字資產、API資產等網絡空間暴露資產的發現和實時監測。
資產攻擊面及威脅發現通過融合多種漏洞檢測引擎,發現資產弱口令、泄露的登錄憑證、資產漏洞等資產攻擊面威脅。

資產威脅可利用性驗證通過自動化手動等多種方式對發現的攻擊面威脅進行滲透測試,根據滲透測試的結果確定威脅是否能被利用來進行疊加攻擊,重新確定威脅的嚴重級別。
資產最大風險攻擊路徑評估,通過攻擊面威脅嚴重級別、資產和業務重要級別,對資產從外到內的攻擊路徑,進行自動化最優攻擊路徑評估。評估得到的最優攻擊路徑就是網絡空間資產最大風險攻擊路徑。
資產攻擊面威脅優先處置列表展示最大風險攻擊路徑上的可利用威脅,并按威脅級別排序。排序的資產攻擊面威脅列表方便安全運營人員按威脅級別啟動列表上顯示的資產威脅處置流程、威脅處置狀況、威脅處置結果。
資產威脅處置閉環通過工作流引擎,對資產攻擊面威脅執行威脅處置流程生成、威脅處置工單流轉、威脅處置結果驗證、威脅處置流程結束歸檔等工作。
從攻擊面收斂流程可以看到,資產威脅可利用性驗證是攻擊面威脅優先排序、攻擊面威脅處置閉環的基礎。資產威脅可利用性驗證有手工驗證和自動化驗證兩種手段。人工智能自動滲透測試能自動化完成從信息收集、漏洞驗證、漏洞利用、輸出報告的攻擊面威脅驗證全過程。人工智能自動滲透測試系統擁有豐富的操作系統、開源框架、Web應用指紋知識庫,漏洞庫和漏洞利用PoC庫,基于機器學習的軟件版本識別算法,基于機器學習的漏洞利用引擎算法。因此,人工智能自動滲透測試系統能精準識別業務的操作系統、開源軟件、Web應用的相關軟件信息,再根據產品信息查詢漏洞庫,并進一步調用滲透測試后臺,確認網絡資產存在的實際攻擊面威脅,較大程度提高滲透測試全面性和效率。另外,人工智能自動化滲透測試系統支持定時任務和周期化執行任務,可實現對不同類型的目標進行持續性、常態化的資產漏洞滲透測試,能夠彌補熟練滲透測試人員不足、手工滲透測試不能有效持續進行攻擊面威脅監控的實際問題。人工智能自動滲透測試技術兼有高效自動化的攻擊面識別和攻擊面威脅可利用性自動驗證能力,有助于確定威脅處理的優先級,從而可有效解決攻擊面收斂的挑戰。
(一)人工智能自動滲透測試系統總體框架
人工智能自動化滲透測試系統一般由支撐模塊和人工智能自動威脅驗證模塊組成,如圖2所示。
支持模塊包含:端口掃描引擎、Web爬蟲引擎,Matesploit Framework系統模塊、軟件指紋庫,Web應用指紋庫(包括:CMS系統、框架、操作系統、Web應用、Web工具),CVE漏洞庫。其中:端口掃描引擎掃描目標開放端口,生成目標存活、開放端口及服務產品信息;Web爬蟲引擎對識別到的Web端口執行Web內容爬取,保存爬取到的Url列表;Msf Framework框架提供漏洞驗證后臺能力。

自動威脅驗證模塊包含:人工智能系統漏洞驗證引擎、人工智能 Web應用指紋識別引擎、人工智能Web應用漏洞驗證引擎。人工智能系統漏洞驗證引擎調用端口掃描引擎,解析端口掃描引擎識別的目標開放端口信息,獲取服務產品信息,然后基于機器學習庫和深度學習算法,調用Msf Framework框架對目標端口的服務執行漏洞自動滲透測試,完成目標端口威脅可利用性驗證業務;人工智能 Web應用指紋識別引擎調用Web爬蟲引擎對目標指定Web路徑執行Web內容爬取,根據Web響應及Web指紋庫和人工智能分類算法識別Web應用指紋,包括CMS系統、Web應用路徑上使用的開源框架、操作系統、Web工具、Web應用路徑上的Web應用服務器等產品信息和版本信息,同時根據CVE庫識別Web應用路徑(Url)上產品潛在的CVE漏洞。人工智能Web應用漏洞驗證引擎根據人工智能 Web應用指紋識別結果,調用Msf Framework對識別到的產品和潛在Web應用漏洞執行自動化滲透測試,完成Web應用威脅自動驗證業務。
(二)人工智能自動化滲透測試方案
人工智能自動化滲透測試包含人工智能系統漏洞自動驗證子業務和人工智能 Web應用漏洞自動驗證子業務。人工智能系統漏洞自動驗證子業務完成非Web應用漏洞的可利用性驗證。人工智能Web應用漏洞自動驗證子業務完成Web應用上產品漏洞的可利用性驗證。總體方案,如圖3所示。
1. 人工智能系統漏洞自動驗證方案
人工智能系統漏洞自動驗證方案由漏掃、端口和服務識別、智能滲透測試模型訓練、智能滲透測試模型攻擊等主要模塊組成。首先從暴露面管理平臺獲取網絡空間IP資產列表,然后選定IP地址執行端口掃描,獲取存活端口服務、產品信息,利用產品信息從Msf Framework滲透測試框架獲取服務漏洞信息和漏洞利用腳本信息,接著執行人工智能滲透測試模型訓練,在人工智能模型訓練完成后,保存人工智能滲透測試模型,最后裝載訓練好的人工智能滲透測試模型,對目標執行自動化滲透測試攻擊,可利用漏洞形成漏洞利用報告。
2.人工智能 Web應用漏洞自動驗證方案
人工智能 Web應用漏洞自動驗證方案由漏掃、Web端口和服務識別、智能版本識別模型、滲透測試等主要模塊組成。首先從暴露面管理平臺獲取網絡空間IP資產列表;然后選定IP地址執行端口掃描,獲取存活端口和Web路徑信息;接著調用爬蟲引擎執行Web目錄爬取,對爬取到的Web路徑執行Web請求,對Web請求響應依次調用基于Web應用指紋庫的應用產品識別、正則表達式版本識別、機器學習版本識別、特殊路徑產品指紋識別,生成包含目標IP、Web路徑、產品名、產品版本的Web應用信息列表;對生成的產品列表及版本,查詢本地CVE漏洞庫,獲取產品歷史漏洞信息,生成產品安全檢測報告;最后遍歷Web應用信息列表,對每個Web應用產品及對應發現的Web Url位置,利用Msf Framework滲透測試框架對目標執行自動化滲透測試攻擊,可利用漏洞形成Web應用漏洞利用報告。
在日趨激烈的網絡空間對抗中,數字化應用系統首先面臨著系統和Web應用層兩大類攻擊面威脅的利用攻擊。這兩大類攻擊面是攻擊者的首先切入點。防御方如果能盡早發現攻擊面上的威脅,提前進行威脅處置閉環,將極大改善自身的主動防御能力。
人工智能自動化滲透測試技術基于知識庫和人工智能算法,在系統漏洞和Web應用漏洞自動化驗證上提供了強有力的支撐。系統由于采用了真實的滲透攻擊方式,解決了“傳統資產漏洞管理存在誤報較多”的問題,為安全問題的閉環處置提供了更精準的目標;由于系統高度自動化,人工智能自動化滲透測試也為網絡空間攻擊面的全時段持續監控、攻擊面持續收斂管理提供了堅強的技術基礎。

作者單位:中移動信息技術有限公司