萬績(jī)翀,鄧昭暉,陳凌若
(江西省網(wǎng)絡(luò)安全研究院 江西 南昌 330000)
隨著信息時(shí)代的不斷發(fā)展,網(wǎng)絡(luò)安全問題已經(jīng)成為各個(gè)企業(yè)和機(jī)構(gòu)面臨的一大挑戰(zhàn)。 黑客攻擊、網(wǎng)絡(luò)釣魚、數(shù)據(jù)泄露等威脅一直在不斷地涌現(xiàn),使得信息安全形勢(shì)日益嚴(yán)峻。 欺騙防御技術(shù)是一種新興的安全技術(shù),旨在通過欺騙攻擊者、誤導(dǎo)其攻擊的方向和方法,從而有效地防御安全攻擊和威脅[1]。 而攻擊反制與干擾是欺騙防御體系里的一項(xiàng)重要技戰(zhàn)術(shù),當(dāng)前欺騙防御反制技術(shù)在攻防演練中已經(jīng)日益普及,同時(shí)越來越多的企業(yè)和組織將其作為一種重要的安全防御手段。
近年來,在國(guó)內(nèi)外的信息安全領(lǐng)域中,欺騙防御反制技術(shù)已經(jīng)得到了廣泛的重視和應(yīng)用。 在國(guó)外已經(jīng)涌現(xiàn)了一些欺騙防御反制技術(shù),比如網(wǎng)絡(luò)背景模擬欺騙技術(shù)、信息流量欺騙技術(shù)以及信令欺騙技術(shù)等,已經(jīng)應(yīng)用到了各個(gè)領(lǐng)域,如金融、電信、軍事等[1-2]。 目前,欺騙防御反制技術(shù)仍在持續(xù)發(fā)展和創(chuàng)新。 在未來,該技術(shù)將會(huì)更加普及,并將在各個(gè)領(lǐng)域中得到廣泛應(yīng)用。 同時(shí),隨著人工智能、大數(shù)據(jù)和云計(jì)算等技術(shù)的發(fā)展,有關(guān)欺騙防御反制技術(shù)的智能化、模型化、自適應(yīng)化等方面也將得到創(chuàng)新和提升。
基于互聯(lián)網(wǎng)側(cè)、邊界側(cè)、內(nèi)網(wǎng)側(cè)不同的業(yè)務(wù)場(chǎng)景,面對(duì)不同的攻擊方式可使用不同的反制技術(shù)(如圖1 所示)。攻擊反制技術(shù)是一種基于欺騙防御技術(shù)的反向攻擊手段,通過欺騙攻擊者、誤導(dǎo)其攻擊方向和方法,進(jìn)而實(shí)現(xiàn)對(duì)攻擊者信息溯源、反向控制以及對(duì)攻擊者進(jìn)行干擾的技戰(zhàn)術(shù)。 攻擊反制技術(shù),可細(xì)分為攻擊溯源、攻擊反制、攻擊干擾三項(xiàng)。 攻擊溯源即通過欺騙防御技術(shù),捕獲攻擊者身份、社交賬號(hào)、攻擊者軌跡等相關(guān)信息,以及對(duì)攻擊者設(shè)備指紋如操作系統(tǒng)、顯卡設(shè)備、音頻設(shè)備等進(jìn)行溯源[3]。 攻擊反制是通過反制程序,對(duì)攻擊者采取反監(jiān)聽措施,并可反向獲取攻擊者詳細(xì)信息,以及控制攻擊者電腦進(jìn)行敏感信息獲取,實(shí)現(xiàn)對(duì)攻擊者的全面溯源感知。 攻擊干擾是通過網(wǎng)絡(luò)欺騙誘捕及自定義干擾規(guī)則,同時(shí)對(duì)已檢出的自動(dòng)化滲透工具攻擊行為進(jìn)行處置,減少攻擊行為對(duì)資產(chǎn)的橫向擴(kuò)散,達(dá)到迷惑攻擊者、拖延攻擊者攻擊進(jìn)程的目的。
反制即反向控制(如圖2 所示),通過部署具備反制能力的蜜罐,對(duì)訪問該沙箱的攻擊者,可反向獲取攻擊者設(shè)備上的敏感信息,例如操作系統(tǒng)版本、互聯(lián)網(wǎng)協(xié)議(internet protocol,IP)信息、歷史登錄的社交賬號(hào)等,高級(jí)反制可反向控制攻擊者的設(shè)備。 攻擊干擾通過網(wǎng)絡(luò)攻擊干擾壓制系統(tǒng)設(shè)定對(duì)應(yīng)的干擾規(guī)則,在攻擊者通過自動(dòng)化滲透工具對(duì)目標(biāo)服務(wù)器進(jìn)行網(wǎng)絡(luò)攻擊時(shí),針對(duì)檢測(cè)到的自動(dòng)化滲透工具攻擊行為,根據(jù)惡意攻擊payload 返回對(duì)應(yīng)的虛擬頁(yè)面,同時(shí)會(huì)生成一定數(shù)量的虛假資產(chǎn)IP 與自動(dòng)化滲透工具進(jìn)行交互,達(dá)到迷惑、干擾、延緩攻擊者攻擊進(jìn)程的目的。
圖2 攻擊反制流程示意圖
攻擊溯源能力也是欺騙防御技術(shù)中一項(xiàng)非常重要的指標(biāo),通過采集攻擊特征,開發(fā)溯源腳本(JavaScript,JS)并生成高仿真蜜罐實(shí)現(xiàn)[4]。 當(dāng)攻擊者攻擊蜜罐時(shí),沙箱可通過溯源計(jì)算獲取攻擊者的多個(gè)社交網(wǎng)站的社交身份信息。通常溯源JS 即根據(jù)不同網(wǎng)站的脆弱性特征開發(fā)出來的JS腳本,通過集成溯源JS,蜜罐系統(tǒng)即具備溯源能力。
蜜罐的高交互仿真,需在廣域網(wǎng)頁(yè)面仿真基礎(chǔ)上,實(shí)現(xiàn)真實(shí)應(yīng)用接口仿真和會(huì)話交互,否則容易被判斷為蜜罐。 溯源JS 不建議放在第一級(jí)頁(yè)面中,攻擊者會(huì)通過蜜罐探測(cè)工具發(fā)現(xiàn)有溯源接口并以此判斷為蜜罐,可以放在一些二三級(jí)的頁(yè)面目錄中,尤其是那些通過爬蟲不能自動(dòng)爬到的頁(yè)面。 常態(tài)化對(duì)外發(fā)布不含漏洞蜜罐。常態(tài)化對(duì)外發(fā)布的原因在于可以被一些測(cè)繪平臺(tái)與類似百度、谷歌類的搜索引擎收入為用戶的應(yīng)用系統(tǒng),更貼近真實(shí)應(yīng)用。
完成溯源技術(shù)總共分為以下幾步:
(1)制作高仿真應(yīng)用蜜罐,包含真實(shí)運(yùn)營(yíng)接口仿真和會(huì)話交互場(chǎng)景。
(2)在高仿真應(yīng)用蜜罐代碼二三級(jí)頁(yè)碼目錄中嵌入溯源JS 代碼,生成溯源函數(shù)。
(3)將制作的高仿真應(yīng)用蜜罐結(jié)合域名發(fā)布到互聯(lián)網(wǎng)上。
反制技術(shù)應(yīng)用的場(chǎng)景比較廣泛,一般建議在以攻防演練為目標(biāo)的場(chǎng)景內(nèi)使用,否則可能會(huì)觸發(fā)到法律層面的問題。 可應(yīng)用在互聯(lián)網(wǎng)側(cè)做誘捕,內(nèi)網(wǎng)側(cè)做橫向內(nèi)網(wǎng)攻擊捕獲[5]。 下面介紹幾種反制案例。
3.2.1 SSL VPN 插件反制
當(dāng)攻擊者利用安全套接字層協(xié)議建立遠(yuǎn)程安全訪問通道(security socket layer virtual private network,SSL VPN)訪問用戶網(wǎng)絡(luò),下載并打開SSL VPN 插件時(shí)反向控制攻擊者的計(jì)算機(jī),其SSL VPN 攻擊反制流程示意圖如圖3所示。
圖3 攻擊反制流程示意圖
其技術(shù)原理是通過在SSL VPN 插件中插入反制代碼,對(duì)訪問并運(yùn)行該插件的攻擊者進(jìn)行反制,幫助用戶主動(dòng)應(yīng)對(duì)攻擊。 主要涉及以下關(guān)鍵技術(shù)。
①逆向連接建立:在攻擊者使用SSL VPN 工具訪問用戶網(wǎng)絡(luò)后,用戶可以嘗試建立與攻擊者計(jì)算機(jī)的逆向連接。 這種逆向連接的建立可能通過與VPN 服務(wù)器之間的通信實(shí)現(xiàn),利用VPN 插件的功能來建立一個(gè)與攻擊者計(jì)算機(jī)的連接。
②遠(yuǎn)程命令和控制:一旦建立了逆向連接,用戶可以獲取對(duì)攻擊者計(jì)算機(jī)的遠(yuǎn)程訪問權(quán)限,實(shí)施命令和控制。用戶可以利用此權(quán)限來獲取攻擊者計(jì)算機(jī)上的信息,監(jiān)控其活動(dòng),并采取相應(yīng)的反制措施。
③阻斷或干擾攻擊者:用戶可以利用對(duì)攻擊者計(jì)算機(jī)的遠(yuǎn)程控制,阻斷或干擾攻擊者的活動(dòng)。 這包括中斷其網(wǎng)絡(luò)連接、阻止其訪問關(guān)鍵資源、篡改其數(shù)據(jù)等行為,以削弱攻擊者的能力。
④收集情報(bào)和取證:通過對(duì)攻擊者計(jì)算機(jī)的遠(yuǎn)程控制,用戶可以收集有關(guān)攻擊者的情報(bào),例如攻擊手法、目標(biāo)和來源等。 這些信息有助于分析攻擊者的行為模式,并在必要時(shí)提供給執(zhí)法機(jī)構(gòu)進(jìn)行取證。
3.2.2 基于GIT 信息泄露漏洞的反制
基于分布式版本控制系統(tǒng)(GIT)信息泄露漏洞的反制原理:利用“GIThack”“GIT-dumper”等開源工具的設(shè)計(jì)缺陷,Python 操作GIT 添加到緩存區(qū)時(shí)沒有對(duì)文件路徑做嚴(yán)格限制,導(dǎo)致可以路徑穿越任意覆蓋文件,可將防守者設(shè)計(jì)的反制庫(kù)覆蓋為掃描工具所調(diào)用的dll 和so,當(dāng)攻擊者再次運(yùn)行掃描工具時(shí),即會(huì)調(diào)用防守者設(shè)計(jì)的反制庫(kù),達(dá)到控制攻擊者機(jī)器的目的。
3.2.3 基于SVN 信息泄露漏洞的反制
基于源代碼版本控制系統(tǒng)(Subversion,SVN)信息泄露漏洞的反制原理:利用“SVNExploit”“SVNHack”等工具的設(shè)計(jì)缺陷,防守者可自行編輯“.SVN”目錄下的wc.db 文件,用來欺騙自動(dòng)化利用工具,進(jìn)而寫入防守者設(shè)計(jì)的反制庫(kù)替換工具自帶的庫(kù),當(dāng)攻擊者再次運(yùn)行工具時(shí),即會(huì)調(diào)用防守者設(shè)計(jì)的反制庫(kù),達(dá)到反向控制攻擊者機(jī)器的目的。
完成SVN 信息泄露反制總共分為以下幾步:
①制作反制誘餌文件:在“. SVN”目錄下的entries 文件中,以10 開頭,聲明為老版本SVN,并編寫虛假網(wǎng)站目錄。
②誘餌文件加入項(xiàng)目:在倉(cāng)庫(kù)外的某個(gè)目錄放一個(gè)反制文件,該文件會(huì)寫入到攻擊者的電腦上的相同路徑。
③將制作的反制誘餌文件放置到重點(diǎn)防護(hù)網(wǎng)站中。
3.2.4 基于Goby 工具的反制
Goby 是攻擊者常用的工具,能進(jìn)行高效、實(shí)戰(zhàn)化漏洞掃描,并快速地從一個(gè)驗(yàn)證入口點(diǎn)切換到橫向,深受廣大攻擊隊(duì)的喜愛。
基于Goby 工具的反制原理為:通過在目標(biāo)站點(diǎn)部署特定的反制JS,進(jìn)而完成對(duì)Goby 工具的跨站腳本攻擊利用,調(diào)用Node.js 函數(shù)exec 執(zhí)行命令,做到遠(yuǎn)程命令執(zhí)行的效果,進(jìn)而反制攻擊者。
完成GIT 信息泄露反制總共分為以下幾步。
①制作反制誘餌文件:在倉(cāng)庫(kù)外的某個(gè)目錄放一個(gè)反制文件,該文件會(huì)寫入到攻擊者的電腦上的相同路徑。
②誘餌文件加入項(xiàng)目:用GITPython 將其加入項(xiàng)目中然后commit。
③防止誘餌文件:將制作的反制誘餌文件放置到重點(diǎn)防護(hù)網(wǎng)站中。
以下介紹幾種干擾技術(shù)的應(yīng)用場(chǎng)景。
3.3.1 虛假URL 應(yīng)用層干擾
在攻擊者對(duì)目標(biāo)網(wǎng)站進(jìn)行踩點(diǎn)探測(cè)的時(shí)候,用戶可通過網(wǎng)絡(luò)攻擊干擾壓制系統(tǒng)將提前預(yù)設(shè)好的虛構(gòu)廣域網(wǎng)頁(yè)面反饋給攻擊者,實(shí)現(xiàn)網(wǎng)站誘捕監(jiān)測(cè)。 同時(shí)支持動(dòng)態(tài)匹配攻擊統(tǒng)一資源定位符(uniform resource location,URL),針對(duì)不同攻擊類型,返回相應(yīng)的攻擊成功頁(yè)面,達(dá)到迷惑攻擊者、拖延攻擊者攻擊進(jìn)程的目的。 用戶可以自定義添加需要防御的站點(diǎn),并設(shè)置相關(guān)訪問或處置策略。
完成虛假URL 應(yīng)用層干擾總共分為以下幾步。
①添加虛擬URL 應(yīng)用站點(diǎn):基于防護(hù)的目標(biāo)網(wǎng)站,添加若干可能被攻擊者踩點(diǎn)探測(cè)的虛擬目錄并生成虛構(gòu)廣域網(wǎng)頁(yè)面,并對(duì)這些虛構(gòu)廣域網(wǎng)頁(yè)面、目標(biāo)網(wǎng)站的訪問進(jìn)行監(jiān)測(cè)。
②針對(duì)不同攻擊類型,依據(jù)算法可動(dòng)態(tài)生成虛擬URL,可返回相應(yīng)的攻擊成功頁(yè)面。
③可自定義添加需要防御的站點(diǎn),并設(shè)置相關(guān)訪問或處置策略。
3.3.2 CS 干擾
Cobalt Strike(CS)是一款好用的滲透測(cè)試工具,擁有多種協(xié)議主機(jī)上線方式,集成了提權(quán)、憑據(jù)導(dǎo)出、端口轉(zhuǎn)發(fā)、socket 代理、office 攻擊、文件捆綁、釣魚等多種功能。同時(shí),Cobalt Strike 還可以調(diào)用Mimikatz 等其他知名工具,因此廣受黑客喜愛。
在攻防演練環(huán)境中,為預(yù)防和干擾攻擊者對(duì)目標(biāo)IP進(jìn)行滲透測(cè)試,可通過網(wǎng)絡(luò)攻擊干擾壓制系統(tǒng)進(jìn)行攻擊行為監(jiān)測(cè)和網(wǎng)絡(luò)攻擊干擾壓制。 CS 干擾開啟后將在失陷主機(jī)的客戶端上線自定義數(shù)量的主機(jī),達(dá)到迷惑、干擾、延緩攻擊者攻擊進(jìn)程的目的。
完成CS 干擾(如圖4 所示)總共分為以下三步:
①在攻防對(duì)抗開始前,在邊界側(cè)核心交換機(jī)或匯聚交換機(jī)上,對(duì)南北向、東西向網(wǎng)絡(luò)端口的鏡像流量進(jìn)行監(jiān)測(cè)。
②自定義設(shè)置干擾規(guī)則,設(shè)置虛擬干擾IP 返回?cái)?shù)據(jù)量、干擾時(shí)長(zhǎng)、是否反饋受控主機(jī)IP。
③開啟CS 干擾壓制功能,使CS 干擾功能生效。
第一,保護(hù)企業(yè)聲譽(yù)。 蜜罐反制技術(shù)可以幫助企業(yè)盡早發(fā)現(xiàn)并處理安全威脅,避免發(fā)生嚴(yán)重的安全事件,從而保護(hù)企業(yè)的聲譽(yù)和信譽(yù)。
第二,反制獲取指紋。 通過反制技術(shù),安全人員可以收集并分析惡意攻擊者的攻擊手段和方式,初步判斷惡意攻擊者所屬的APT 組織,并向相關(guān)部門提供相關(guān)線索。
第三,震懾違法行為。 反制技術(shù)可以模擬出看似真實(shí)的網(wǎng)絡(luò)、系統(tǒng)和應(yīng)用程序,吸引攻擊者主動(dòng)攻擊,并實(shí)施反制。 這使得黑灰產(chǎn)業(yè)鏈的惡意攻擊者暴露在了監(jiān)測(cè)之下,安全人員可以及時(shí)發(fā)現(xiàn)相關(guān)攻擊行為,并分析、記錄其攻擊行為,協(xié)助打擊黑灰產(chǎn)業(yè)鏈,震懾違法攻擊行為。
欺騙防御反制和干擾技術(shù)是信息安全領(lǐng)域中重要的技術(shù)手段,用于對(duì)抗不斷進(jìn)化的威脅和攻擊。 它們?cè)诒Wo(hù)系統(tǒng)和數(shù)據(jù)安全方面發(fā)揮著關(guān)鍵的作用。 然而,需要注意的是,欺騙防御反制和干擾技術(shù)并非萬能的解決方案。 攻擊者不斷改進(jìn)和演化其攻擊手法,因此防御技術(shù)也需要不斷創(chuàng)新和升級(jí)。 欺騙防御反制技術(shù)和干擾技術(shù)在實(shí)際應(yīng)用中,也需要平衡防御和可用性之間的關(guān)系,確保不會(huì)對(duì)正常用戶或系統(tǒng)造成不必要的干擾或誤判。 此外,技術(shù)的發(fā)展也需要與法律法規(guī)和道德規(guī)范相一致,確保其合法性和道德性。