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

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

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

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