国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向AI模型訓(xùn)練的DNS竊密數(shù)據(jù)自動(dòng)生成

2021-02-28 02:15王忠儒甘蕊靈刁嘉文韓冬旭
信息安全學(xué)報(bào) 2021年1期
關(guān)鍵詞:竊密服務(wù)端域名

馮 林 ,崔 翔 ,王忠儒 ,甘蕊靈 ,刁嘉文 ,韓冬旭 ,姜 海

1 廣州大學(xué)網(wǎng)絡(luò)空間先進(jìn)技術(shù)研究院 廣州 中國 510006

2 中國網(wǎng)絡(luò)空間研究院 北京 中國 100010

3 北京郵電大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 中國 100876

4 中國科學(xué)院信息工程研究所 北京 中國 100093

5 北京丁??萍加邢薰?北京 中國 100081

1 引言

目前,人工智能(Artificial Intelligence,AI)技術(shù)的發(fā)展與應(yīng)用進(jìn)入第三次高潮,其解決實(shí)際問題的能力和應(yīng)用潛能已得到廣泛認(rèn)可。AI 助力網(wǎng)絡(luò)安全,給網(wǎng)絡(luò)安全防御方(后文簡稱“防御方”)帶來了無限機(jī)遇和挑戰(zhàn);AI 助力防御的應(yīng)用潛能需要不斷被發(fā)掘,從而有效提升防御方勢能。在AI 算法趨于成熟、算力已經(jīng)得到大幅提升的情況下,數(shù)據(jù)集已經(jīng)成為限制網(wǎng)絡(luò)安全類AI 模型(后文簡稱“AI 模型”)性能的一個(gè)重要因素。

為了深入分析當(dāng)前AI 模型面臨的數(shù)據(jù)集問題,需要選取特定的攻擊類型。本文基于 MITRE ATT&CK[1]知識(shí)庫調(diào)研發(fā)現(xiàn),惡意利用標(biāo)準(zhǔn)應(yīng)用層協(xié)議被越來越多的APT 組織所采用,DNS 是被惡意利用較多的標(biāo)準(zhǔn)協(xié)議之一。進(jìn)一步統(tǒng)計(jì)2014—2019年間惡意利用DNS 完成數(shù)據(jù)竊取(后文簡稱“DNS竊密”)的攻擊案例情況如圖1,統(tǒng)計(jì)結(jié)果表明DNS竊密攻擊事件逐年增多、上升趨勢明顯。

2014 年,ESET 公開了有關(guān)Linux/Ebury 后門軟件[2]的技術(shù)分析報(bào)告,詳細(xì)分析了該后門軟件中所實(shí)現(xiàn)的DNS 竊密技術(shù)細(xì)節(jié)。DNS 竊密技術(shù)逐漸被APT34(又名OilRig)、APT18(又名Wekby)、APT32、APT41、FIN7 等APT 組織所采用,整理2014-2019年間部分代表性DNS 竊密攻擊案例見表1。其中,APT34 是廣泛使用DNS 竊密技術(shù)的代表性APT 組織,安全人員綜合該組織相關(guān)攻擊活動(dòng)所使用的基礎(chǔ)設(shè)施信息,確定APT34 代表伊朗政府展開網(wǎng)絡(luò)攻擊活動(dòng)。國內(nèi)外安全團(tuán)隊(duì)持續(xù)追蹤并公開了多起由APT34 組織、實(shí)施的攻擊活動(dòng),代表性的攻擊樣本有Helminth、ISMAgent、BONDUPDATER、QUADAGENT、Glimpse 等,這些攻擊樣本中均實(shí)現(xiàn)了DNS 竊密技術(shù)。2019 年,Unit42 公開的一篇專題技術(shù)分享[3],綜合整理了APT34 的代表性攻擊樣本及其DNS 竊密技術(shù)的實(shí)現(xiàn)細(xì)節(jié)。

表1 2014—2019 年間公開報(bào)告中的DNS 竊密概況Table 1 Overview of DNS-based exfiltration in public reports from 2014 to 2019

綜合上述調(diào)研和分析結(jié)果,本文選定具備較高研究價(jià)值的DNS 竊密攻擊為突破口,深入分析可用數(shù)據(jù)集緊缺、完備度不足的痛點(diǎn)問題。網(wǎng)絡(luò)安全領(lǐng)域的特殊性,使得可用DNS 竊密數(shù)據(jù)集緊缺的問題尤為突出。從AI 模型用戶(后文簡稱“用戶”)的角度出發(fā),大多面臨一個(gè)共同的挑戰(zhàn):難以大批量獲得一份高質(zhì)量的數(shù)據(jù)集,來支撐AI 模型的訓(xùn)練和測試。

針對AI 模型訓(xùn)練階段面臨的數(shù)據(jù)集問題,本文明確了攻擊機(jī)理在數(shù)據(jù)生成中的重要作用,提出基于攻擊TTPs(Tactics,Techniques,Procedures)的數(shù)據(jù)自動(dòng)生成及應(yīng)用方法。首先,基于大量公開的、內(nèi)容詳實(shí)的案例分析報(bào)告,參考開源項(xiàng)目和已有技術(shù)積累,梳理得到DNS 竊密攻擊TTPs。然后,以攻擊TTPs 為理論基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)DNS 竊密流量數(shù)據(jù)自動(dòng)生成系統(tǒng)。該系統(tǒng)可以生成大規(guī)模、高度逼真、完備度可調(diào)的DNS 竊密流量數(shù)據(jù)(后文簡稱“生成數(shù)據(jù)”)。最后,將生成的綜合流量數(shù)據(jù)集應(yīng)用于檢測模型的訓(xùn)練階段,有效解決可用數(shù)據(jù)規(guī)模受限、完備度不足的瓶頸問題,從而有效提升AI 檢測模型的性能。評估實(shí)驗(yàn)結(jié)果表明:本文提出的基于攻擊TTPs的流量數(shù)據(jù)自動(dòng)生成及應(yīng)用方法是有效的、切實(shí)可行的;生成數(shù)據(jù)訓(xùn)練所得AI 模型性能良好,可以檢測真實(shí)的DNS 竊密攻擊。

綜上所述,總結(jié)本文貢獻(xiàn)如下:

(1) 參考大量DNS 竊密攻擊案例報(bào)告、開源工具分析等,梳理總結(jié)了DNS竊密攻擊的TTPs及其關(guān)鍵技術(shù)。

(2) 首次提出基于攻擊TTPs 的流量數(shù)據(jù)自動(dòng)生成及應(yīng)用方法,不僅可以滿足AI 模型訓(xùn)練階段對海量數(shù)據(jù)的需求,還能夠有效提升數(shù)據(jù)集的完備度。

(3) 設(shè)計(jì)并實(shí)現(xiàn)了MalDNS 系統(tǒng),該系統(tǒng)不僅能高度還原已有案例報(bào)告中的DNS 竊密攻擊,還能進(jìn)行原理范圍內(nèi)的預(yù)測生成(MalDNS 擬開源到Gitee和GitHub 平臺(tái))。

(4) 針對生成的DNS 竊密流量數(shù)據(jù)的實(shí)驗(yàn)評估圍繞有效性和訓(xùn)練所得模型性能兩個(gè)方面展開,生成數(shù)據(jù)訓(xùn)練所得模型對真實(shí)攻擊的檢測準(zhǔn)確率高于99.85%,誤報(bào)率為0。實(shí)驗(yàn)結(jié)果表明:生成的DNS 竊密流量數(shù)據(jù)是有效的,而且完備度得到提升的數(shù)據(jù)集可以有效提升訓(xùn)練所得模型性能。

2 相關(guān)工作

國內(nèi)外研究人員在流量生成領(lǐng)域開展了大量研究,但已有工作[13-15]的研究側(cè)重點(diǎn)各不相同,大多服務(wù)于網(wǎng)絡(luò)設(shè)備模擬研究、流處理系統(tǒng)和設(shè)備的性能評估等目標(biāo)。從AI 模型訓(xùn)練對數(shù)據(jù)集的需求特點(diǎn)分析,流量生成的已有研究工作并不能有效提升數(shù)據(jù)集規(guī)模和質(zhì)量,即與本文工作目標(biāo)不一致。本文是首次面向AI 模型訓(xùn)練需求而展開攻擊流量數(shù)據(jù)自動(dòng)生成方面的研究工作,因此本章將以用戶所用數(shù)據(jù)集的來源分類展開介紹。

· 源于真實(shí)網(wǎng)絡(luò)的公開流量數(shù)據(jù)集

在實(shí)際的應(yīng)用過程中,若擁有或易于儲(chǔ)備大規(guī)模、高質(zhì)量的真實(shí)攻擊流量數(shù)據(jù),必然可以作為AI模型訓(xùn)練階段的可用數(shù)據(jù)集,然而并未發(fā)現(xiàn)專門針對DNS 竊密攻擊的數(shù)據(jù)集。深入調(diào)研發(fā)現(xiàn),AI 模型用戶普遍面臨這一挑戰(zhàn),即難以獲取大規(guī)模、有效的、高質(zhì)量的數(shù)據(jù)集,來支撐AI 模型的訓(xùn)練和測試。

參考DNS 相關(guān)的檢測研究工作,整理了5 個(gè)常用公開數(shù)據(jù)集見表2。其中,CTU-13、ISOT 和ISCX已被廣泛應(yīng)用于學(xué)術(shù)研究中的模型訓(xùn)練階段。深入分析發(fā)現(xiàn)這類數(shù)據(jù)集的問題主要有:

(1) 大型公開數(shù)據(jù)集通常為綜合型攻擊數(shù)據(jù),然而DNS 竊密流量數(shù)據(jù)規(guī)模極小,不足以支撐AI 模型的訓(xùn)練和測試;若使用小樣本數(shù)據(jù)進(jìn)行訓(xùn)練,會(huì)導(dǎo)致模型過擬合問題。

(2) 數(shù)據(jù)集更新時(shí)間滯后嚴(yán)重,陳舊數(shù)據(jù)對應(yīng)的原攻擊樣本甚至已失活,導(dǎo)致數(shù)據(jù)失去了其主要價(jià)值,而且這類陳舊的數(shù)據(jù)無法跟上攻擊技術(shù)的迭代發(fā)展。

(3) 這類數(shù)據(jù)主要來源于專業(yè)安全團(tuán)隊(duì)對網(wǎng)絡(luò)攻擊的持續(xù)追蹤和分析,由于團(tuán)隊(duì)利益、企業(yè)核心競爭力、用戶隱私等因素,這類真實(shí)的攻擊流量數(shù)據(jù)極少會(huì)公開分享,致使普通用戶難以大批量、公開獲取。

表2 常見的DNS 相關(guān)攻擊流量數(shù)據(jù)集概況Table 2 Overview of publicly available datasets related to DNS-based attacks

除此之外,也有研究人員提出可以基于真實(shí)流量進(jìn)行審計(jì)與分析,使用已有工具標(biāo)記攻擊流量數(shù)據(jù)。如彭丹等[16]提出了一種整合不同工具進(jìn)行網(wǎng)絡(luò)攻擊數(shù)據(jù)標(biāo)記的方法,主要思想是從教育網(wǎng)骨干網(wǎng)絡(luò)的核心路由器采集原始流量數(shù)據(jù),使用入侵檢測工具、告警分析方法,對流量數(shù)據(jù)進(jìn)行分析并標(biāo)記攻擊流量,從而形成攻擊流量數(shù)據(jù)集。這類攻擊數(shù)據(jù)雖然來源于真實(shí)環(huán)境,但數(shù)據(jù)集的質(zhì)量極其依賴系統(tǒng)部署位置、提取和標(biāo)記規(guī)則、數(shù)據(jù)采集周期長短等因素;此外,源于真實(shí)網(wǎng)絡(luò)場景的流量數(shù)據(jù),用戶隱私問題已經(jīng)成為數(shù)據(jù)共享、流通的主要阻力之一。

· 復(fù)現(xiàn)攻擊樣本和開源工具的流量數(shù)據(jù)

普通研究人員在無法獲取到真實(shí)攻擊數(shù)據(jù)的情況下,為了回避沒有數(shù)據(jù)集可用的問題,學(xué)術(shù)研究工作中通常會(huì)自行構(gòu)建臨時(shí)數(shù)據(jù)集作為替代方案。整理近幾年高度相關(guān)的檢測類研究工作所用數(shù)據(jù)集情況如表3;由表3 分析發(fā)現(xiàn)常見的構(gòu)建方法是:捕獲某個(gè)網(wǎng)絡(luò)的日常DNS 流量作為背景(良性)流量;復(fù)現(xiàn)某幾個(gè)特定攻擊樣本或開源工具,捕獲其流量數(shù)據(jù)作為數(shù)據(jù)集的惡意部分。

表3 近幾年高度相關(guān)研究工作所用數(shù)據(jù)集概況Table 3 Overview of datasets used in highly relevant researches

由表3 分析發(fā)現(xiàn),研究人員在論文工作中自行構(gòu)建的實(shí)驗(yàn)數(shù)據(jù)集基本不公開,僅簡單描述數(shù)據(jù)集的來源和組成部分;這非常不利于其他研究人員對已有成果的性能驗(yàn)證和進(jìn)一步探討。從數(shù)據(jù)質(zhì)量的角度分析,自行構(gòu)建過程中所使用的開源工具種類和真實(shí)攻擊樣本極少,例如表3中就僅僅涉及Denis、FrameworkPOS 兩個(gè)真實(shí)攻擊樣本。對普通用戶而言,自身不具備專業(yè)安全團(tuán)隊(duì)的技術(shù)積累和資源支撐,不僅存在真實(shí)攻擊樣本批量獲取的困難,復(fù)現(xiàn)運(yùn)行真實(shí)攻擊樣本也極具挑戰(zhàn),因?yàn)楹芏喙魳颖局袕V泛使用了諸如對抗沙箱、反虛擬化環(huán)境等對抗技術(shù)。以表3 為例的眾多研究工作中,數(shù)據(jù)集的惡意流量則主要來源于開源工具,然而這些開源工具與真實(shí)攻擊差距較大。以DET[22](Data Exfiltration Toolkit)為例,該工具實(shí)現(xiàn)的DNS 竊密方式存在很多缺陷,例如竊密成功率低、DNS 請求方式不符合實(shí)際攻擊趨勢等。因此,自行構(gòu)建數(shù)據(jù)集中的惡意流量數(shù)據(jù)局限性明顯,數(shù)據(jù)集的完備度受限于惡意樣本、開源工具的多樣性。

與此同時(shí),基于已有攻擊樣本,有研究人員提出采用自動(dòng)化樣本分析和執(zhí)行技術(shù),來獲取目標(biāo)攻擊樣本的流量數(shù)據(jù)。如陳家浩等[23]提出了一種基于Python 符號(hào)執(zhí)行的自動(dòng)化網(wǎng)絡(luò)攻擊流量獲取方法;該方法針對當(dāng)前網(wǎng)絡(luò)上可獲取的Python 網(wǎng)絡(luò)攻擊腳本,采用Python 符號(hào)執(zhí)行技術(shù)和強(qiáng)制執(zhí)行技術(shù),來自動(dòng)化獲取輸入腳本對應(yīng)的攻擊流量數(shù)據(jù),旨在解決大量攻擊場景復(fù)現(xiàn)困難的問題。值得注意的是,該方法需要事先收集Python 攻擊腳本,然而,獲取真實(shí)攻擊的代碼文件是極其困難的,很多攻擊代碼甚至永遠(yuǎn)也不會(huì)公開,即并沒有實(shí)際解決普通用戶獲取困難的問題。

· 其他領(lǐng)域類似問題的研究工作

AI 模型訓(xùn)練數(shù)據(jù)不足的問題在其他領(lǐng)域同樣存在,本文也簡要梳理了其他領(lǐng)域的類似研究工作,主要有數(shù)據(jù)增強(qiáng) (Data Augmentation) 和GAN(Generative Adversarial Networks)方法生成。

數(shù)據(jù)增強(qiáng)技術(shù)是基于有限數(shù)據(jù)產(chǎn)生更多的等價(jià)數(shù)據(jù)來人工擴(kuò)展訓(xùn)練數(shù)據(jù)集的技術(shù),被認(rèn)為是克服訓(xùn)練數(shù)據(jù)不足的有效手段。目前針對圖片的數(shù)據(jù)增強(qiáng)技術(shù),通過旋轉(zhuǎn)、縮放、裁剪等簡單操作即可完成,且增強(qiáng)的數(shù)據(jù)驗(yàn)證是顯而易見的。例如,一張“貓”的圖片通過旋轉(zhuǎn)、縮放后,形成的圖片仍然是一只“貓”,則可以認(rèn)為增強(qiáng)的數(shù)據(jù)是有效;即通過旋轉(zhuǎn)、縮放等操作,可同時(shí)完成數(shù)據(jù)規(guī)模增大和標(biāo)簽化工作。更高級的圖片數(shù)據(jù)增強(qiáng)技術(shù)研究也取得了一些成果,如Zhu 等[24]使用條件GAN 可以將夏季風(fēng)景照轉(zhuǎn)換為對應(yīng)的冬季風(fēng)景照。Luan 等[25]提出了一種基于深度學(xué)習(xí)的照片風(fēng)格轉(zhuǎn)化方法,能一定程度擴(kuò)展圖片數(shù)據(jù)。若應(yīng)用上述方法來增強(qiáng)DNS 竊密流量數(shù)據(jù),首先需要滿足增強(qiáng)保證性假設(shè)的要求,即增強(qiáng)后的DNS 竊密數(shù)據(jù)仍然可以完成既定攻擊,且符合DNS 竊密的基本攻擊原理。對于由0、1 表示的二進(jìn)制數(shù)據(jù),自動(dòng)化修改并驗(yàn)證數(shù)據(jù)、程序的功能,這類技術(shù)目前尚待突破;因此,數(shù)據(jù)增強(qiáng)暫不適用于增強(qiáng)DNS 竊密流量數(shù)據(jù)。

2014 年,Goodfellow 等[26]首次提出GAN,主要由生成器(Generator)和判別器(Discriminator)組成;生成器的目標(biāo)是欺騙判別器,使其不能正確分辨生成數(shù)據(jù)和真實(shí)數(shù)據(jù)。隨著GAN 在樣本對抗中的出色表現(xiàn),也有研究人員嘗試?yán)肎AN 網(wǎng)絡(luò)來解決數(shù)據(jù)集緊缺這一問題。Lee 等[27]提出了使用WGAN 來生成自相似的惡意流量,解決訓(xùn)練數(shù)據(jù)不平衡的問題。深入分析發(fā)現(xiàn),若應(yīng)用GAN網(wǎng)絡(luò)生成DNS竊密數(shù)據(jù),首先需要積累一定規(guī)模的原始DNS 竊密流量;其次,GAN 生成方法的關(guān)鍵在于生成器和判別器的設(shè)計(jì),生成數(shù)據(jù)質(zhì)量由生成器的泛化能力直接決定,最終難點(diǎn)是設(shè)計(jì)一個(gè)能夠完成攻擊目的和數(shù)據(jù)有效性驗(yàn)證的判別器。目前,依據(jù)參數(shù)矩陣中的各項(xiàng)數(shù)值來完成自動(dòng)化攻擊目的和攻擊原理驗(yàn)證,是當(dāng)前技術(shù)無法完成的。

3 DNS 竊密攻擊TTPs

在國內(nèi)外眾多安全專家、團(tuán)隊(duì)的共同努力下,公開的、內(nèi)容詳實(shí)的案例分析報(bào)告已經(jīng)初具規(guī)模。參考大量DNS 竊密攻擊案例分析報(bào)告,本章將梳理DNS竊密攻擊TTPs,作為DNS竊密流量數(shù)據(jù)自動(dòng)生成框架的理論支撐,也可供相關(guān)研究人員作為技術(shù)參考。

3.1 范圍界定

如圖2 所示,本文所研究的DNS 竊密是指:基于標(biāo)準(zhǔn)DNS 協(xié)議自行設(shè)計(jì)規(guī)則,將目標(biāo)主機(jī)(受害者)上的特定目標(biāo)內(nèi)容(如高價(jià)值文件、截獲的敏感內(nèi)容、命令執(zhí)行結(jié)果等)傳送到攻擊者控制的服務(wù)端,且通信流量基本符合DNS 協(xié)議規(guī)范。

在實(shí)際的攻擊活動(dòng)中,攻擊者通常綜合使用多種攻擊技術(shù)來完成一系列攻擊動(dòng)作,DNS 竊密技術(shù)在各種攻擊活動(dòng)中也有不同體現(xiàn)。參考ATT&CK 知識(shí)庫對數(shù)據(jù)泄露(Exfiltration)的分類,典型的DNS 竊密主要包含:

(1) 獨(dú)立于命令與控制信道(后文簡稱“C&C 信道”),特意為執(zhí)行DNS 竊密而制作的惡意代碼段或工具,如APT34-Glimpse、DNSExfiltrator 等;

(2) 直接使用構(gòu)建完成的DNS C&C 信道(基于DNS 構(gòu)建的C&C 信道)執(zhí)行DNS 竊密任務(wù),例如使用DNS C&C 信道回傳收集到的主機(jī)信息、截獲的敏感信息、控制命令執(zhí)行結(jié)果等,都屬于本文所研究的“DNS 竊密”范疇。值得注意的是,通過DNS 響應(yīng)特定IP 指代特定攻擊命令、受害主機(jī)發(fā)送特定DNS請求更新Payload等,暫不屬于本文所指DNS竊密技術(shù)的范疇。

(3) 已成功建立DNS 隧道后,DNS 隧道客戶端向服務(wù)端回傳內(nèi)容的部分,也屬于本文所討論的DNS 竊密范疇。同樣的,由DNS 隧道服務(wù)端向客戶端傳送數(shù)據(jù)的部分,暫不屬于本文所指DNS 竊密的范圍。

綜合大量DNS 竊密攻擊案例分析報(bào)告可知,三類DNS 竊密方式都需要基于標(biāo)準(zhǔn)DNS 協(xié)議構(gòu)建自定義的數(shù)據(jù)傳輸規(guī)則,因DNS 協(xié)議規(guī)范的限制,三類DNS 竊密方式需要將欲竊取內(nèi)容嵌入DNS 請求的域名中。因此,上述三類DNS 竊密形式的基本原理是一致的,本文將以第一類DNS 竊密實(shí)現(xiàn)形式為例,來闡述DNS 竊密攻擊TTPs。為了便于后續(xù)的分析討論,本文特別指定以下說法:

目標(biāo)內(nèi)容:特別指代攻擊者擬竊取的內(nèi)容,可以是文件內(nèi)容、控制命令執(zhí)行結(jié)果、截獲或收集的用戶敏感信息等。

附屬信息:特別指代與目標(biāo)內(nèi)容相關(guān)的其他信息,如目標(biāo)文件名標(biāo)識(shí)、歸屬主機(jī)系統(tǒng)標(biāo)識(shí)、目標(biāo)內(nèi)容校驗(yàn)信息等。

竊密數(shù)據(jù):按預(yù)定義的編碼轉(zhuǎn)換方案,處理目標(biāo)內(nèi)容和附屬信息后,最終形成的需要傳送的數(shù)據(jù),本文用“竊密數(shù)據(jù)”來特別指代。

特制域名:特別指代由攻擊者設(shè)計(jì)的、具有特定組成格式的域名,一般包含竊密子域和攻擊者預(yù)置的二級域名(Second Level Domain,SLD)。

3.2 DNS 竊密機(jī)理

DNS 竊密攻擊中,攻擊者會(huì)事先注冊至少一個(gè)二級域名用于執(zhí)行DNS 竊密任務(wù),并且配置攻擊者控制的DNS 服務(wù)器(后文簡稱為“竊密服務(wù)端”)作為權(quán)威服務(wù)器來解析該SLD 及其所有子域。例如,攻擊者可配置由攻擊者控制的DNS 服務(wù)器,來解析maldns.club 及其所有子域;那么經(jīng)過公共DNS 系統(tǒng)的解析查詢機(jī)制,所有maldns.club 及其子域的解析請求最終會(huì)到達(dá)竊密服務(wù)端。

DNS 竊密攻擊以成功執(zhí)行竊密任務(wù)為基本要求,目標(biāo)內(nèi)容需要通過DNS 解析請求傳送到竊密服務(wù)端,總結(jié)DNS 竊密攻擊的基本流程如圖3,總結(jié)如下:

(1) 竊密客戶端對目標(biāo)內(nèi)容、附屬信息等,按預(yù)定義的內(nèi)容加工流程和方法進(jìn)行處理,從而服務(wù)于攻擊者的特定意圖,例如執(zhí)行壓縮以提升效率、進(jìn)行加密避免明文傳輸?shù)取?/p>

(2) 受限于DNS 對標(biāo)簽、域名長度的限制,竊密客戶端將竊密數(shù)據(jù)分片,并構(gòu)建形成一系列攜帶竊密數(shù)據(jù)分片的特制域名。

(3) 竊密客戶端發(fā)起DNS 請求,依次解析特制域名,即通過DNS 實(shí)際傳送竊密數(shù)據(jù)分片。經(jīng)過DNS 請求解析流程,竊密DNS 請求數(shù)據(jù)包會(huì)最終到達(dá)由攻擊者控制的竊密服務(wù)端。

(4) 配置為全時(shí)段工作的竊密服務(wù)端,從所有DNS 解析請求中,按預(yù)定義規(guī)則識(shí)別并篩選出竊密DNS 請求;除此之外,竊密服務(wù)端通常還會(huì)進(jìn)行策略響應(yīng)。

(5) 竊密服務(wù)端依據(jù)預(yù)定義的特制域名結(jié)構(gòu),從竊密DNS 請求的域名中,分別提取和暫存竊密數(shù)據(jù)分片、輔助信息等。當(dāng)竊密傳送完成后,依據(jù)輔助信息將所有竊密數(shù)據(jù)分片重組,得到完整的竊密數(shù)據(jù)。

(6) 竊密服務(wù)端依據(jù)客戶端使用的內(nèi)容加工處理方法和流程,對竊密數(shù)據(jù)進(jìn)行相逆的處理和轉(zhuǎn)換,從而恢復(fù)得到目標(biāo)內(nèi)容及其附屬信息,進(jìn)行簡單校驗(yàn)后,以存儲(chǔ)到服務(wù)端本地等形式反饋給攻擊者。

3.3 DNS 竊密關(guān)鍵技術(shù)

· 數(shù)據(jù)嵌入與恢復(fù)技術(shù)

綜合前文對DNS 竊密的界定和DNS 竊密機(jī)理的研究,DNS 竊密實(shí)際是通過DNS 請求數(shù)據(jù)包來完成的。參考DNS 協(xié)議規(guī)定的請求報(bào)文格式詳情,DNS 查詢請求主要包含DNS 首部和查詢問題區(qū)域兩個(gè)部分。DNS 首部包含6 個(gè)字段,每個(gè)字段與DNS 數(shù)據(jù)報(bào)文緊密相關(guān),不同取值對應(yīng)在DNS 協(xié)議規(guī)范內(nèi)都具有特定含義。查詢問題區(qū)域中的QCLASS 明確DNS 查詢請求的地址類型,通常取值為1,代表互聯(lián)網(wǎng)地址;而QTYPE 的取值則對應(yīng)DNS 查詢請求的資源類型,例如QTYPE 字段取值為1 則表示請求解析A 記錄。DNS 查詢請求數(shù)據(jù)報(bào)文中的QNAME 部分通常是請求解析的域名,三類典型DNS 竊密攻擊形式的竊密數(shù)據(jù)嵌入位置均是QNAME 部分,這是因?yàn)镼NAME 部分是嵌入竊密數(shù)據(jù)分片的最佳位置。

與此同時(shí),DNS 協(xié)議規(guī)定域名的標(biāo)簽最大長度為63 個(gè)ASCII 字符,完整域名的最大長度為253 個(gè)ASCII 字符。受限于標(biāo)簽和域名長度的限制,竊密數(shù)據(jù)通常需要進(jìn)行分片后,分別通過一系列的DNS 查詢請求序列完成傳送。

為了能夠識(shí)別、篩選出竊密DNS 請求,并按序恢復(fù)各分片數(shù)據(jù),每個(gè)竊密DNS 請求的域名需要包含必要的輔助字符串,常用輔助字符串比如分片序號(hào)、分片歸屬標(biāo)識(shí)信息等。然后將竊密數(shù)據(jù)分片、輔助字符串等,按照預(yù)定義的方式和結(jié)構(gòu)構(gòu)造,從而形成攜帶竊密數(shù)據(jù)分片的特制域名,整理部分代表性攻擊案例中所使用的特制域名結(jié)構(gòu)如表4。如表4 所示,攻擊案例中實(shí)際使用的特制域名結(jié)構(gòu)特征因不同的攻擊樣本實(shí)現(xiàn)而有所差異,例如表4 中的8 個(gè)攻擊案例中所使用的特質(zhì)域名結(jié)構(gòu)均不同。對比分析發(fā)現(xiàn),不同特制域名結(jié)構(gòu)都包含“分片序號(hào)”、“標(biāo)識(shí)符”等關(guān)鍵組成部分,不同點(diǎn)大多只是次要字符串的增改以及各組成部分所處位置的調(diào)整。

表4 攻擊案例中常見的DNS 竊密特制域名結(jié)構(gòu)Table 4 Common structure of crafted subdomains in DNS-based exfiltration campaigns

· 編解碼轉(zhuǎn)換技術(shù)

在DNS 竊密攻擊案例中,內(nèi)容編解碼轉(zhuǎn)換技術(shù)被廣泛使用,主要是針對目標(biāo)內(nèi)容和附屬信息進(jìn)行內(nèi)容形式或格式的轉(zhuǎn)換。編解碼轉(zhuǎn)換是指按預(yù)定義的編解碼方法和流程來轉(zhuǎn)換目標(biāo)內(nèi)容的呈現(xiàn)格式或形式;并且可以按照對應(yīng)相逆過程和方法解碼得到原始內(nèi)容。顯然,上述內(nèi)容編解碼轉(zhuǎn)換方法包含標(biāo)準(zhǔn)的Base64、Base32 等方法,攻擊者也可以自定義內(nèi)容轉(zhuǎn)換和方法,例如按一定流程組合使用常用編碼方法。在實(shí)際攻擊活動(dòng)中,內(nèi)容編解碼轉(zhuǎn)換的設(shè)計(jì)和技術(shù)實(shí)現(xiàn),通常與域名語法規(guī)范、攻擊者意圖緊密相關(guān)。

內(nèi)容編解碼轉(zhuǎn)換的首要目標(biāo)是使得轉(zhuǎn)換后的內(nèi)容符合域名語法規(guī)范。DNS 協(xié)議規(guī)定,域名由層級結(jié)構(gòu)的多級標(biāo)簽構(gòu)成,只能由字母、數(shù)字和連字符組成,且開頭和結(jié)尾只能為字母或數(shù)字。然而,攻擊者欲竊取的目標(biāo)內(nèi)容可能存在非法字符,顯然不能完全符合域名語法。因此,攻擊者必須對目標(biāo)內(nèi)容執(zhí)行內(nèi)容編解碼轉(zhuǎn)換,使所得竊密數(shù)據(jù)基本符合域名語法要求,最簡單方法可直接使用標(biāo)準(zhǔn)Base64URL(基于Base64 編碼方法的改進(jìn),將域名中不能出現(xiàn)的“+”、“/”分別替換為“-”、“_”,并去處尾部的“=”)、Base32 等方法。

除此之外,內(nèi)容編解碼轉(zhuǎn)換還可能服務(wù)于攻擊者的更多意圖。例如,由于DNS 協(xié)議設(shè)計(jì)為明文傳輸,較多攻擊者在實(shí)際的攻擊活動(dòng)中,還會(huì)對目標(biāo)內(nèi)容進(jìn)行加密,從而避免明文傳輸、逃避內(nèi)容檢測。

· DNS 竊密傳送技術(shù)

DNS 竊密傳送技術(shù)直接控制攻擊活動(dòng)的網(wǎng)絡(luò)流量表現(xiàn),主要是依據(jù)特制域名構(gòu)建DNS 請求數(shù)據(jù)包,并直接控制DNS 請求相關(guān)的其他參數(shù)。

攻擊者在設(shè)計(jì)和實(shí)現(xiàn)DNS 竊密傳送技術(shù)時(shí),首先需要重點(diǎn)規(guī)避各級DNS 服務(wù)器的緩存機(jī)制。一般情況下,經(jīng)過編解碼轉(zhuǎn)換處理后的竊密數(shù)據(jù)片,出現(xiàn)2 個(gè)以上完全相同數(shù)據(jù)分片的可能性較小。然而,在實(shí)際的攻擊活動(dòng)中,通常還會(huì)在特制域名的固定位置加入隨機(jī)的冗余部分,從而確保每個(gè)竊密DNS查詢請求都能最終到達(dá)竊密服務(wù)端。

DNS 竊密傳送技術(shù)直接影響竊密流量數(shù)據(jù)的多個(gè)方面,而且不同攻擊者的關(guān)注點(diǎn)和實(shí)際需求會(huì)有所差異,常見的包括竊密DNS 請求間隔、DNS 數(shù)據(jù)包構(gòu)建方法等。以DNS 請求發(fā)起方式為例,攻擊者通常會(huì)依據(jù)受害主機(jī)系統(tǒng)特點(diǎn)來選取DNS 請求發(fā)起方式;例如ISMAgent 攻擊樣本是調(diào)用系統(tǒng)API 的DnsQuery_A 函數(shù)來發(fā)出 DNS 解析請求,而QUADAGENT 攻擊樣本則使用nslookup.exe 可執(zhí)行程序來發(fā)出竊密DNS 請求數(shù)據(jù)包。

· 策略響應(yīng)技術(shù)

依據(jù)DNS 竊密的基本原理分析,針對竊密DNS請求的響應(yīng)并不是執(zhí)行竊密傳送所必須的,但若大量的DNS 請求無響應(yīng)則極為異常,為了對抗檢測攻擊者通常會(huì)按既定策略進(jìn)行響應(yīng)。

策略響應(yīng)技術(shù)就是攻擊者處理大量竊密DNS 查詢請求時(shí),服務(wù)于攻擊活動(dòng)而制定的響應(yīng)策略及其實(shí)現(xiàn)技術(shù)。避免大量DNS 查詢請求無響應(yīng)的異常情況是策略響應(yīng)技術(shù)的關(guān)鍵因素之一,但具體的響應(yīng)策略會(huì)因不同攻擊者及其目的不同而差異明顯。以針對A 記錄的響應(yīng)策略為例,常見的響應(yīng)策略有:

(1) 基礎(chǔ)偽裝類:響應(yīng)某一固定IP、隨機(jī)IP 或規(guī)律變化IP,而響應(yīng)的IP 沒用指定用途。這是攻擊者選取的一種較為簡單的響應(yīng)策略,可以解決大量DNS 查詢請求無響應(yīng)的這一明顯異常問題。比如APT34-Helminth 在執(zhí)行竊密任務(wù)時(shí)就響應(yīng)固定IP“172.16.107.128”。

(2) 強(qiáng)化偽裝類:出于偽裝目的,攻擊者預(yù)置一個(gè)或多個(gè)具有欺騙性的響應(yīng)結(jié)果;例如Helminth 樣本中,對于竊密 DNS 請求的響應(yīng)可以偽裝成“google.com”服務(wù)器的IP 之一。

(3) 穩(wěn)定增強(qiáng)類:在對應(yīng)響應(yīng)中攜帶有利于實(shí)現(xiàn)更穩(wěn)定傳送的信息;例如攜帶已成功收到的竊密數(shù)據(jù)分片序號(hào),從而通知客戶端已經(jīng)傳送成功的竊密數(shù)據(jù)分片。由于這種方式需要攻擊者設(shè)計(jì)完整的重傳機(jī)制,因此目前只在極少數(shù)攻擊案例中被采用。

DNS 竊密攻擊的關(guān)鍵技術(shù)點(diǎn)是攻擊者在實(shí)現(xiàn)過程中難以避免的,或者放棄使用關(guān)鍵技術(shù)點(diǎn)需要付出巨大代價(jià),例如犧牲竊密傳送效率、傳送成功率等,因而防御方可以基于這些關(guān)鍵技術(shù)要點(diǎn)制定更加有效的檢測、防御措施?;谏鲜龉鬞TPs分析,針對DNS 竊密攻擊的防御思路可以從以下幾個(gè)方面開展:

(1) 特制域名:攜帶竊密數(shù)據(jù)分片的一系列特制域名具備固定的結(jié)構(gòu)特征;數(shù)據(jù)分片序號(hào)、各類標(biāo)識(shí)呈現(xiàn)出的規(guī)律等。

(2) DNS 竊密傳送:受限于DNS 包的大小限制,存在大量竊密所用SLD 的子域的DNS 解析請求,且竊密傳送間隔、DNS 請求和響應(yīng)主機(jī)間的固定規(guī)律等,均是DNS 竊密技術(shù)實(shí)現(xiàn)在網(wǎng)絡(luò)流量上的體現(xiàn)。

4 數(shù)據(jù)自動(dòng)生成的框架設(shè)計(jì)與實(shí)現(xiàn)

4.1 基于攻擊TTPs 的數(shù)據(jù)生成及應(yīng)用設(shè)計(jì)

眾所周知,AI 模型訓(xùn)練階段需要足夠規(guī)模的流量數(shù)據(jù)來支撐模型訓(xùn)練;而且訓(xùn)練數(shù)據(jù)集的質(zhì)量越高,訓(xùn)練所得模型性能越好。本文的首要目標(biāo)是解決AI 模型訓(xùn)練階段面臨的數(shù)據(jù)集緊缺、完備度不足的問題,即面向AI 模型訓(xùn)練的流量數(shù)據(jù)自動(dòng)生成的主要目標(biāo)是:

(1) 突破DNS 竊密流量數(shù)據(jù)的規(guī)模局限性,解決數(shù)據(jù)有效性驗(yàn)證的難題,為用戶生成大規(guī)模、有效的DNS 竊密流量數(shù)據(jù)。

(2) 廣泛覆蓋DNS 竊密攻擊案例,拓展未知變體空間,從而有效提升生成流量數(shù)據(jù)集的完備度。

本文從攻擊者的角度出發(fā),明確了攻擊原理的重要作用,提出基于攻擊TTPs 的流量數(shù)據(jù)自動(dòng)生成及應(yīng)用方案,具體設(shè)計(jì)見圖4。

攻擊TTPs 作為樣本數(shù)據(jù)自動(dòng)生成的理論基礎(chǔ),是生成流量數(shù)據(jù)有效性、完備度的重要保證。在國內(nèi)外安全研究人員的共同努力下,曝光攻擊案例的分析報(bào)告已經(jīng)初具規(guī)模,內(nèi)容詳實(shí)的分析報(bào)告基本還原了攻擊樣本的技術(shù)實(shí)現(xiàn)、攻擊策略等?;谝延蟹治鰣?bào)告和開源項(xiàng)目,可以梳理得到DNS 竊密的攻擊TTPs。

在攻擊TTPs的指導(dǎo)下,設(shè)計(jì)并實(shí)現(xiàn)DNS竊密流量數(shù)據(jù)生成系統(tǒng)。該系統(tǒng)通過定制配置文件的方式實(shí)現(xiàn)高擴(kuò)展性,即定制化生成大量逼真的、完備度可調(diào)的DNS 竊密流量數(shù)據(jù);而且生成流量數(shù)據(jù)的有效性可以依據(jù)竊密任務(wù)執(zhí)行結(jié)果進(jìn)行直接驗(yàn)證。

除此之外,通過跟進(jìn)最新的攻擊案例報(bào)告,已有攻擊TTPs 可以得到持續(xù)修改和完善,保證專家知識(shí)體系的完備度和時(shí)效性。持續(xù)更新、完善的攻擊TTPs,可以指導(dǎo)生成系統(tǒng)拓展實(shí)現(xiàn)最新攻擊技術(shù),從而保證生成數(shù)據(jù)的完備度和時(shí)效性。

生成流量數(shù)據(jù)完成有效性驗(yàn)證后,即可作為訓(xùn)練集和測試集,應(yīng)用于AI 模型的訓(xùn)練階段。為了檢驗(yàn)訓(xùn)練所得模型的實(shí)際檢測性能,輔以少量真實(shí)攻擊數(shù)據(jù)來驗(yàn)證模型的真實(shí)檢測性能。與此同時(shí),檢測結(jié)果反饋也可以指導(dǎo)生成系統(tǒng)的持續(xù)完善,進(jìn)一步提高生成數(shù)據(jù)的質(zhì)量。

本文設(shè)計(jì)的流量數(shù)據(jù)自動(dòng)生成及應(yīng)用方案,不僅滿足了AI 模型訓(xùn)練對目標(biāo)類型攻擊流量數(shù)據(jù)的大規(guī)模需求,還可以通過完善數(shù)據(jù)集完備度來有效提升檢測模型性能。區(qū)別于其他流量生成方法,所述方法將攻擊TTPs 作為理論支撐,保證了流量數(shù)據(jù)生成框架的合理性;實(shí)現(xiàn)的流量數(shù)據(jù)自動(dòng)生成系統(tǒng)需要驗(yàn)證能否實(shí)際完成既定攻擊任務(wù),因而生成流量數(shù)據(jù)與真實(shí)攻擊流量數(shù)據(jù)之間的差異性不可區(qū)分。

4.2 MalDNS:DNS 竊密流量自動(dòng)生成框架

遵循4.1 節(jié)的數(shù)據(jù)自動(dòng)生成方案,基于DNS 竊密攻擊TTPs設(shè)計(jì)MalDNS系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了完整的DNS 竊密框架,用于大規(guī)模生成DNS 竊密流量數(shù)據(jù);生成流量數(shù)據(jù)的有效性易于直接驗(yàn)證,而且其完備度可以通過配置文件進(jìn)行調(diào)控。得益于可控環(huán)境下的完整竊密框架,MalDNS 生成流量數(shù)據(jù)的過程可以等效為參數(shù)可調(diào)的真實(shí)攻擊,從而保證了生成流量數(shù)據(jù)與真實(shí)攻擊流量數(shù)據(jù)之間的差異性不可區(qū)分。

MalDNS 系統(tǒng)設(shè)計(jì)如圖5,遵循DNS 竊密攻擊的基本流程,包含DNS 竊密客戶端和服務(wù)端,客戶端對應(yīng)真實(shí)攻擊中的受控主機(jī),而服務(wù)端則對應(yīng)由攻擊者控制的DNS 服務(wù)器。如圖5 所示,MalDNS 系統(tǒng)執(zhí)行DNS 竊密任務(wù)的主要流程可概括為:

(1) DNS 竊密客戶端按配置文件描述的流程對目標(biāo)內(nèi)容進(jìn)行加工處理,形成竊密數(shù)據(jù);然后依據(jù)特制域名相關(guān)參數(shù),將竊密數(shù)據(jù)分片、對應(yīng)輔助字符串等嵌入特制域名;最后調(diào)用指定方式構(gòu)建DNS 請求數(shù)據(jù)包并發(fā)出。

(2) 從客戶端發(fā)出的竊密DNS 請求數(shù)據(jù)包,遵循常規(guī)的DNS 解析流程,最終會(huì)到達(dá)竊密服務(wù)端。由DNS 竊密攻擊TTPs 可知,DNS 竊密傳送使用通用DNS 解析服務(wù)而無需特別實(shí)現(xiàn),調(diào)用客戶端系統(tǒng)支持的DNS 解析請求方式即可;因此,MalDNS 系統(tǒng)對竊密DNS 解析不做定制化設(shè)計(jì)。

(3) 竊密服務(wù)端將識(shí)別并篩選出竊密DNS 請求數(shù)據(jù)包,從QNAME 中提取并暫存竊密數(shù)據(jù)分片、輔助字符串等。當(dāng)竊密任務(wù)傳送完成后,服務(wù)端則依據(jù)輔助信息重組所有竊密數(shù)據(jù)分片,得到完整的竊密數(shù)據(jù)。最后依照與客戶端相逆的內(nèi)容轉(zhuǎn)換處理流程恢復(fù)目標(biāo)內(nèi)容,并以指定形式反饋或存儲(chǔ)。

(4) 服務(wù)端對竊密DNS 解析請求執(zhí)行策略響應(yīng),如避免大量DNS 請求無響應(yīng)的異常、輔助實(shí)現(xiàn)更穩(wěn)定的DNS 竊密傳送等。

表5 DNS 竊密關(guān)鍵技術(shù)矩陣Table 5 Key technologies of DNS-based exfiltration

MalDNS 系統(tǒng)的配置項(xiàng)參考DNS 竊密攻擊TTPs進(jìn)行設(shè)計(jì),旨在提升生成流量數(shù)據(jù)的多樣性和完備度。結(jié)合生成流量數(shù)據(jù)的主要影響因素,MalDNS 系統(tǒng)擬覆蓋DNS 竊密的關(guān)鍵技術(shù)矩陣如表5,表中的*項(xiàng)為非必須實(shí)現(xiàn)的技術(shù)要點(diǎn)。具體的,針對表中每個(gè)技術(shù)要點(diǎn)設(shè)計(jì)一組配置項(xiàng),通過編輯不同配置項(xiàng)的值來還原該技術(shù)要點(diǎn)在不同攻擊案例中的實(shí)現(xiàn)。例如,不同的攻擊案例使用的編碼方法不同,常見的有Base16、Base32、Base64URL 及其組合使用等。

參照表5 設(shè)計(jì)的配置近60 項(xiàng),以json 格式存儲(chǔ)為配置文件;而且配置文件是直接面向用戶的,即用戶可以在攻擊原理范圍內(nèi)對各配置項(xiàng)進(jìn)行定制化編輯,如針對性修改加密、編碼相關(guān)的配置如下:

示例的配置項(xiàng)組合將配置MalDNS 系統(tǒng)在編解碼目標(biāo)內(nèi)容時(shí),使用AES 加解密方法,且對稱密鑰為“THISISMALDNSKEY”;啟用的編碼方法則是Base32。關(guān)于特制域名的配置將竊密所用二級域名設(shè)置為“ntpupdateserver.com”,特制域名最大標(biāo)簽長度為63 個(gè)ASCII 字符,特制域名子域的組成格式為“ ..d.”(其中,target_content 將嵌入竊密數(shù)據(jù)分片,seq_number 則是分片序號(hào)的嵌入位置)。

面向用戶的配置項(xiàng)設(shè)計(jì)是MalDNS 系統(tǒng)生成流量數(shù)據(jù)多樣性的重要方式,可以實(shí)現(xiàn)兩類定制化流量數(shù)據(jù)生成:

(1) 案例還原生成:參考案例報(bào)告編輯各配置項(xiàng)的值,目標(biāo)是高度還原分析報(bào)告中所描述的DNS 竊密攻擊,使得生成流量數(shù)據(jù)與真實(shí)攻擊流量數(shù)據(jù)之間差異不可區(qū)分;從而配置MalDNS 系統(tǒng)生成與目標(biāo)攻擊案例高度相似的DNS 竊密流量數(shù)據(jù)。

(2) 預(yù)測生成:在DNS竊密攻擊原理范疇內(nèi),編輯各配置項(xiàng)的值來描述未來可能被攻擊者使用的DNS 竊密變體;即配置MalDNS 系統(tǒng)預(yù)測生成未知的、符合攻擊原理的DNS 竊密流量數(shù)據(jù)。

4.3 MalDNS 關(guān)鍵功能設(shè)計(jì)與實(shí)現(xiàn)

MalDNS 系統(tǒng)設(shè)計(jì)為C/S 模式,竊密客戶端和服務(wù)端在對應(yīng)階段存在較大關(guān)聯(lián)性,如圖5 所示每一階段都完成了不同的透明傳輸任務(wù)。因此,MalDNS系統(tǒng)劃分為4 個(gè)核心功能模塊,分別是配置項(xiàng)管理、內(nèi)容加工處理、數(shù)據(jù)嵌入與恢復(fù)、DNS 竊密傳送模塊,各部分的功能及模塊間協(xié)同工作情況如圖6。其中,配置項(xiàng)管理部分的作用是處理面向用戶的配置文件,并轉(zhuǎn)化為MalDNS 系統(tǒng)參數(shù);而內(nèi)容加工處理、數(shù)據(jù)嵌入與提取、DNS 竊密傳送3 個(gè)模塊則是一個(gè)完整的DNS 竊密框架,按配置文件描述的方式執(zhí)行DNS 竊密任務(wù),從而大批量生成DNS 竊密流量數(shù)據(jù)。

· 配置項(xiàng)管理

配置項(xiàng)管理的主要功能是管理直接面向用戶的眾多配置項(xiàng),并基于各配置項(xiàng)的值形成定制化的MalDNS 系統(tǒng)參數(shù),用于指導(dǎo)MalDNS 系統(tǒng)生成所需的DNS 竊密流量數(shù)據(jù)。配置項(xiàng)管理主要實(shí)現(xiàn)3個(gè)功能:

(1) 預(yù)處理:對配置文件進(jìn)行預(yù)處理,例如讀取配置項(xiàng)后執(zhí)行分類提取、初始轉(zhuǎn)化等,即基于眾多配置項(xiàng)的值形成初始的系統(tǒng)參數(shù)集合。

(2) 沖突處理:為了便于對照攻擊報(bào)告進(jìn)行定制化編輯,各配置項(xiàng)不可能做到完全獨(dú)立,那么存在相關(guān)性的配置項(xiàng)之間可能存在一些沖突的情況。沖突處理則對這些關(guān)聯(lián)配置項(xiàng)的正確性進(jìn)行必要的確認(rèn)并反饋。例如,由用戶編輯配置的子域標(biāo)簽最大長度為63 字符,又指定竊密數(shù)據(jù)分片長度大于63 字符;在未配置多級標(biāo)簽的情況下,就出現(xiàn)了參數(shù)沖突的情況,因此配置項(xiàng)管理中的沖突管理是很有必要的。

(3) 參數(shù)轉(zhuǎn)化:確認(rèn)初始參數(shù)配置的正確性以后,配置項(xiàng)管理需要基于初始參數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,形成可供MalDNS 系統(tǒng)直接使用的參數(shù)集合,便于生成系統(tǒng)在不同階段直接調(diào)用。

· 內(nèi)容處理加工

內(nèi)容加工處理的主要功能是執(zhí)行目標(biāo)內(nèi)容與竊密數(shù)據(jù)之間的編解碼和轉(zhuǎn)換處理,而且不同攻擊案例使用的轉(zhuǎn)換方法和流程可參照分析報(bào)告自行設(shè)計(jì)。從竊密數(shù)據(jù)傳輸?shù)慕嵌葋砜?內(nèi)容加工處理則是完成了目標(biāo)內(nèi)容的透明傳輸。參考DNS 竊密攻擊TTPs,MalDNS 系統(tǒng)在內(nèi)容加工處理階段需要重點(diǎn)關(guān)注的技術(shù)要點(diǎn)有:

(1) 附屬信息:服務(wù)于竊密數(shù)據(jù)傳送、目標(biāo)內(nèi)容的后續(xù)使用,通常需要額外傳送目標(biāo)內(nèi)容相關(guān)的一些附屬信息。常見的例如:內(nèi)容校驗(yàn)信息可用于校驗(yàn)竊密數(shù)據(jù)的完整性;而目標(biāo)內(nèi)容的文件名、所屬受害主機(jī)標(biāo)識(shí)等,則服務(wù)于目標(biāo)內(nèi)容的進(jìn)一步使用。為了便于竊密傳送和恢復(fù),通常需要將目標(biāo)內(nèi)容、選定的附屬信息、分隔符等,按照預(yù)定規(guī)則進(jìn)行結(jié)構(gòu)化處理。

(2) 內(nèi)容轉(zhuǎn)換:受限于RFC 1034、1035 等DNS相關(guān)標(biāo)準(zhǔn)文檔的規(guī)定,或服務(wù)于特定的攻擊意圖,竊密內(nèi)容通常需要執(zhí)行內(nèi)容轉(zhuǎn)換處理。常用的如壓縮、加密、編解碼等。其中,編碼轉(zhuǎn)換在實(shí)際的攻擊案例中是必不可少的,這是因?yàn)镽FC 1034 中規(guī)定:域名只能由數(shù)字、字母、連字符組成,然而原始目標(biāo)內(nèi)容不能完全符合域名的語法規(guī)范。

值得注意的是,竊密服務(wù)端的內(nèi)容轉(zhuǎn)換處理與客戶端完全對應(yīng),即遵循與客戶端相逆的內(nèi)容編解碼和轉(zhuǎn)換方法,可以恢復(fù)得到目標(biāo)內(nèi)容及其附屬信息。

· 數(shù)據(jù)嵌入與恢復(fù)

數(shù)據(jù)嵌入與恢復(fù)主要完成竊密數(shù)據(jù)與竊密特制域名之間的轉(zhuǎn)換,具體的竊密數(shù)據(jù)分片嵌入、提取和重組將基于相關(guān)配置項(xiàng)來完成。由于竊密特制域名直觀體現(xiàn)在DNS 流量數(shù)據(jù)上,其擴(kuò)展性和還原能力是決定生成DNS 流量數(shù)據(jù)多樣性的重要因素之一。因此,數(shù)據(jù)嵌入與恢復(fù)的主要功能點(diǎn)有:

(1) 分塊處理:參考DNS 標(biāo)準(zhǔn)協(xié)議有關(guān)域名、標(biāo)簽長度的規(guī)定,結(jié)合良性域名長度的統(tǒng)計(jì)分布,將竊密數(shù)據(jù)通過多個(gè)DNS 請求完成竊密傳送;即將竊密數(shù)據(jù)進(jìn)行分塊后對應(yīng)編號(hào),然后分別嵌入到多個(gè)DNS 請求中。

(2) 結(jié)構(gòu)化處理:為了便于服務(wù)端恢復(fù)、提取竊密數(shù)據(jù)分片及其輔助字符串,竊密特制域名需要遵循預(yù)定義的結(jié)構(gòu)進(jìn)行構(gòu)建,攻擊案例中常使用的特制域名如表4。MalDNS 系統(tǒng)的目標(biāo)之一是高度還原大量攻擊案例中所采用的特制域名,即通過相關(guān)配置項(xiàng)值的編輯,能夠還原各案例實(shí)際采用的特制域名結(jié)構(gòu)。除此之外,MalDNS 還能通過配置項(xiàng)的修改執(zhí)行預(yù)測生成,即基于DNS 竊密攻擊發(fā)展趨勢預(yù)測未來可能被采用的特制域名結(jié)構(gòu),從而進(jìn)一步擴(kuò)展可能的變體空間。

(3) 規(guī)范化和偽裝處理:為了使攜帶竊密數(shù)據(jù)的特制域名基本符合域名規(guī)范,弱化特制域名與正常域名之間的不必要差異,需要執(zhí)行必要的域名規(guī)范校驗(yàn)和偽裝處理。例如構(gòu)建的特制域名中避免出現(xiàn)非法字符,將域名的數(shù)字占比調(diào)整為正常域名的統(tǒng)計(jì)均值等。其中,域名規(guī)范化大多可以在設(shè)計(jì)內(nèi)容編解碼轉(zhuǎn)換方案時(shí)同步考慮,然后在這一階段進(jìn)行非法字符校驗(yàn)和反饋即可。

分析實(shí)際攻擊案例發(fā)現(xiàn),分塊和結(jié)構(gòu)化是影響服務(wù)端提取、恢復(fù)目標(biāo)內(nèi)容成功率的關(guān)鍵因素。而規(guī)范化和偽裝處理,則是為了最大化DNS 竊密的隱蔽性和穿透性,有效提升逃避檢測的能力,也是實(shí)際DNS 竊密攻擊中的重要因素。

· 竊密傳送控制

竊密傳送控制主要涉及竊密DNS 請求數(shù)據(jù)包的傳送,以及服務(wù)端按預(yù)定義策略進(jìn)行響應(yīng)。在靶場環(huán)境下,通過捕獲竊密客戶端和服務(wù)端之間的竊密DNS 流量,即為所需的生成流量數(shù)據(jù)。竊密傳送控制階段需要重點(diǎn)實(shí)現(xiàn)包處理、請求管理、策略響應(yīng)3方面的功能:

(1) 包處理:包處理在客戶端主要依據(jù)竊密特制域名相關(guān)配置,構(gòu)建DNS 解析請求數(shù)據(jù)包并發(fā)出;相應(yīng)的,在服務(wù)端識(shí)別并篩選竊密DNS 數(shù)據(jù)包。參考攻擊案例中的包處理方法,MalDNS 不需要特別定制竊密DNS 數(shù)據(jù)包的格式,調(diào)用目標(biāo)系統(tǒng)的DNS 解析系統(tǒng)函數(shù)即可。

(2) 請求管理:對竊密DNS 請求的管理直接影響生成流量數(shù)據(jù)的多個(gè)方面,如DNS 竊密數(shù)據(jù)包發(fā)送頻率控制、竊密傳送工作時(shí)間、DNS 請求方式等。在MalDNS 系統(tǒng)中,竊密傳送控制主要依據(jù)配置項(xiàng)進(jìn)行請求管理,還可以通過配置項(xiàng)進(jìn)行持續(xù)補(bǔ)充、擴(kuò)展。

(3) 策略響應(yīng):服務(wù)于攻擊者的不同意圖,需要按配置文件描述的響應(yīng)策略,對收到的竊密DNS 解析請求執(zhí)行策略響應(yīng)。

5 實(shí)驗(yàn)評估

5.1 數(shù)據(jù)說明

本文設(shè)計(jì)和實(shí)現(xiàn)的MalDNS 系統(tǒng),既能參考案例分析報(bào)告進(jìn)行還原生成,也可以在DNS 竊密原理范疇內(nèi)進(jìn)行預(yù)測生成;而且現(xiàn)有系統(tǒng)基本能夠還原已有案例分析報(bào)告中呈現(xiàn)的DNS 竊密攻擊模式(具有相似數(shù)據(jù)結(jié)構(gòu)、處理流程的,則屬于同一種DNS竊密模式)。

MalDNS 系統(tǒng)的實(shí)現(xiàn)了完整的DNS 竊密框架,即首先需要在靶場環(huán)境下分別部署MalDNS 客戶端和服務(wù)端,按配置文件實(shí)際執(zhí)行DNS 竊密任務(wù)。用戶使用MalDNS 系統(tǒng)生成DNS 竊密流量數(shù)據(jù)時(shí),按需定制配置文件和指定目標(biāo)內(nèi)容集即可;然后捕獲系統(tǒng)執(zhí)行DNS 竊密活動(dòng)的通信流量,即為所需的生成流量數(shù)據(jù)。其中,定制多種DNS 竊密模式的配置文件可以提升生成流量數(shù)據(jù)集的完備度,主要依據(jù)擬還原生成的目標(biāo)案例或預(yù)測性的攻擊變體;目標(biāo)內(nèi)容集(可對應(yīng)實(shí)際攻擊活動(dòng)中擬竊取的目標(biāo)內(nèi)容集合)則根據(jù)流量數(shù)據(jù)規(guī)模需求自行指定,使得生成流量數(shù)據(jù)的規(guī)模完全可控;同時(shí)也可以規(guī)避數(shù)據(jù)集共享時(shí)的隱私問題。

本次實(shí)驗(yàn)所使用的目標(biāo)內(nèi)容集選自Ubuntu 系統(tǒng)“/etc/” 路徑下的默認(rèn)文件,包含選定“enviroment”、“passwd”、“profile”等文檔共100個(gè),文檔大小共287KB。為方便描述和區(qū)分,由MalDNS 系統(tǒng)生成的流量數(shù)據(jù)以“MDG-XXX”命名,而且對應(yīng)配置項(xiàng)組合以還原XXX 竊密活動(dòng)為目標(biāo)。例如“MDG-Glimpse”表示對應(yīng)流量數(shù)據(jù)由MalDNS 系統(tǒng) 生成,且配置文件配置項(xiàng)的組合以還原 APT34-Glimpse 所實(shí)現(xiàn)的DNS 竊密攻擊模式為目標(biāo)。

由于真實(shí)DNS 竊密攻擊流量數(shù)據(jù)的緊缺,本次實(shí)驗(yàn)使用的真實(shí)數(shù)據(jù)主要來源于靶場環(huán)境下的攻擊場景復(fù)現(xiàn)。具體的,在APT34 Glimpse 源碼泄露后,基于收集到的Glimpse 完整代碼文件進(jìn)行攻擊場景復(fù)現(xiàn)和分析,捕獲其執(zhí)行DNS 竊密攻擊活動(dòng)的流量數(shù)據(jù)。與此同時(shí),近幾年相關(guān)檢測類工作常使用DET 作為主要數(shù)據(jù)來源,調(diào)研發(fā)現(xiàn)DET 是利用DNS 執(zhí)行數(shù)據(jù)竊取的代表性開源項(xiàng)目,而且DET能較好完成DNS 竊密任務(wù)。因此,本文也復(fù)現(xiàn)并捕獲了DET 執(zhí)行DNS 竊密活動(dòng)的真實(shí)流量,作為對比樣本數(shù)據(jù)之一。

5.2 生成數(shù)據(jù)評估

本文設(shè)計(jì)的初衷是為AI 模型用戶大規(guī)模生成可用的、完備度可調(diào)的DNS 竊密流量數(shù)據(jù),生成數(shù)據(jù)的有效性是基本要求。得益于部署、運(yùn)行的完整DNS竊密框架,竊密任務(wù)執(zhí)行情況即可作為生成流量數(shù)據(jù)有效性的直接證明,且用戶易于統(tǒng)計(jì)、驗(yàn)證。

為了評估MalDNS 系統(tǒng)生成的DNS 竊密流量數(shù)據(jù)的有效性,結(jié)合課題小組已有真實(shí)DNS 竊密流量數(shù)據(jù)積累情況,本節(jié)主要以還原生成 APT34-Glimpse和開源工具DET的流量數(shù)據(jù)展開分析,對應(yīng)生成的流量數(shù)據(jù)分別是“MDG-Glimpse”和“MDG-DET”。然后展開生成數(shù)據(jù)與真實(shí)數(shù)據(jù)的對比分析。

針對上述指定目標(biāo)內(nèi)容集,不同配置的MalDNS 系統(tǒng)實(shí)際執(zhí)行DNS 竊密任務(wù)統(tǒng)計(jì)情況(部分)如表6,其中以下統(tǒng)計(jì)數(shù)據(jù)都是3 次以上重復(fù)實(shí)驗(yàn)的均值,DNS 數(shù)據(jù)包總量是指不同變體完成竊密任務(wù)所需的DNS 包數(shù)量,成功數(shù)量是竊密服務(wù)端成功恢復(fù)目標(biāo)內(nèi)容的數(shù)量。

表6 MalDNS 系統(tǒng)竊密任務(wù)執(zhí)行情況Table 6 The performance statistics of exfiltrating through MalDNS system

在正常網(wǎng)絡(luò)情況下,如表6 所示,不同參數(shù)配置的MalDNS 系統(tǒng)能夠較好執(zhí)行竊密任務(wù),DNS 竊密成功率為100%。實(shí)驗(yàn)結(jié)果表明,MalDNS 系統(tǒng)具備良好的預(yù)測和還原生成能力,完全可以勝任DNS 竊密流量生成任務(wù),穩(wěn)定的竊密成功率證明生成數(shù)據(jù)是有效的。與已有開源項(xiàng)目DET、DNSExfiltrator 相比,DNS 竊密任務(wù)執(zhí)行成功率更高。分析全部實(shí)驗(yàn)過程中曾經(jīng)出現(xiàn)的1 次恢復(fù)失敗的主要原因是:極差網(wǎng)絡(luò)環(huán)境導(dǎo)致了UDP 丟包個(gè)例,致使某竊密DNS 請求未到達(dá)服務(wù)端;這不屬于本文關(guān)注范疇。

與此同時(shí),本文方法生成的DNS 竊密流量數(shù)據(jù)主要服務(wù)于AI 模型訓(xùn)練,評估生成數(shù)據(jù)在AI 模型視角下的表現(xiàn)情況也是必要的。具體思路是:綜合選用多數(shù)論文中常用特征,分別對真實(shí)的DNS 竊密流量數(shù)據(jù)和生成的DNS 竊密流量數(shù)據(jù)進(jìn)行特征處理,并展開對比分析。

參考近幾年DNS 竊密檢測工作中的常用特征,本文選取其中近20 項(xiàng)關(guān)鍵特征對DNS 竊密流量進(jìn)行特征提取。選用的域名基礎(chǔ)類特征例如子域名長度、子域名數(shù)字占比、子域名公共字串及其占比等;也選用了DNS 響應(yīng)IP 規(guī)律、DNS 請求-應(yīng)答比、DNS請求頻率等其他特征。

為了更好的對比生成數(shù)據(jù)與真實(shí)數(shù)據(jù)之間差異性,使用目前主流的ISOMAP 降維算法,將特征處理后的生成數(shù)據(jù)集與和真實(shí)數(shù)據(jù)集降至三維空間。直觀分布情況如圖7 所示,生成數(shù)據(jù)與真實(shí)攻擊數(shù)據(jù)的空間分布高度擬合,這表明MalDNS 生成系統(tǒng)具備高度還原目標(biāo)DNS 竊密攻擊的能力,在AI 模型視角下生成數(shù)據(jù)集與真實(shí)攻擊流量數(shù)據(jù)集在空間分布上高度擬合度。因此,應(yīng)用本文方法生成的流量數(shù)據(jù)訓(xùn)練AI 模型,其效果可與真實(shí)攻擊數(shù)據(jù)相媲美。

5.3 生成數(shù)據(jù)訓(xùn)練所得模型性能評估

· 檢測模型及評估概述

在可用數(shù)據(jù)集緊缺的大背景下,以攻擊機(jī)理為理論基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)流量數(shù)據(jù)生成系統(tǒng)的方法由本文提出,生成流量數(shù)據(jù)的應(yīng)用效果可以通過訓(xùn)練所得AI 模型的性能進(jìn)行檢驗(yàn)。首先,使用生成數(shù)據(jù)訓(xùn)練所得模型的性能,至少需要達(dá)到其他類似研究工作中的同等水平。理想情況下,生成數(shù)據(jù)訓(xùn)練所得模型性能能夠得到明顯提升;同時(shí)也可以反映AI 模型性能受限于數(shù)據(jù)集的問題。

參考已有惡意DNS 檢測研究工作,使用較多的機(jī)器學(xué)習(xí)檢測模型有隨機(jī)森林、SVM、J48 決策樹、孤立森林等。其中,隨機(jī)森林是一種由多個(gè)決策樹構(gòu)成的分類器,具備較好的可解釋性;而且不同決策樹之間沒有關(guān)聯(lián),在近幾年的惡意DNS 檢測工作中表現(xiàn)良好,因而本文選取隨機(jī)森林檢測模型進(jìn)行評估實(shí)驗(yàn)。

本節(jié)的實(shí)驗(yàn)評估思路是綜合MalDNS 系統(tǒng)還原生成、預(yù)測生成的所有DNS 竊密流量數(shù)據(jù)作為訓(xùn)練階段的數(shù)據(jù)集,使用課題組積累的APT34-Glimpse、DET 等真實(shí)DNS 竊密攻擊數(shù)據(jù)集作為驗(yàn)證數(shù)據(jù)集,對訓(xùn)練所得模型的有效性和檢測能力進(jìn)行驗(yàn)證和評估。即這類寶貴的真實(shí)攻擊數(shù)據(jù)對于AI 模型的訓(xùn)練階段而言是完全“不可見”的,完成模型訓(xùn)練后才啟用真實(shí)DNS 竊密攻擊數(shù)據(jù),用于驗(yàn)證模型對真實(shí)攻擊的檢測能力。

· 模型訓(xùn)練和驗(yàn)證階段

在模型訓(xùn)練階段,實(shí)驗(yàn)所用數(shù)據(jù)集由黑樣本、白樣本兩部分組成。白樣本主要來自于合作企業(yè)局域網(wǎng)的日常DNS 流量數(shù)據(jù),其中DNS 總數(shù)量達(dá)50 多萬。訓(xùn)練階段使用數(shù)據(jù)的黑樣本,則是MalDNS 系統(tǒng)生成的DNS 竊密流量數(shù)據(jù),依據(jù)本次實(shí)驗(yàn)需求生成的黑樣本DNS 總數(shù)量接近45 萬。模型訓(xùn)練過程的5折交叉驗(yàn)證結(jié)果如表7,結(jié)果表明:使用生成流量數(shù)據(jù)進(jìn)行檢測模型訓(xùn)練,對訓(xùn)練測試集的DNS 竊密攻擊具備準(zhǔn)確的檢測能力。

表7 訓(xùn)練階段5 折交叉驗(yàn)證結(jié)果Table 7 5-fold cross-validation results during the model training phase

驗(yàn)證對真實(shí)攻擊的檢測能力時(shí),驗(yàn)證數(shù)據(jù)集的黑樣本主要5.1 節(jié)所述的真實(shí)DNS 竊密攻擊流量。由于驗(yàn)證數(shù)據(jù)集對于檢測模型是完全未知的,模型對這類真實(shí)攻擊數(shù)據(jù)集的檢測能力,能夠?qū)嶋H代表所得模型對未知的真實(shí)DNS 竊密攻擊的檢測能力。本次實(shí)驗(yàn)使用生成流量數(shù)據(jù)集訓(xùn)練所得的隨機(jī)森林檢測模型,對驗(yàn)證數(shù)據(jù)集的檢測結(jié)果見表8。

表8 生成數(shù)據(jù)訓(xùn)練所得模型對真實(shí)攻擊的檢測結(jié)果Table 8 The detection performance of the model trained with generated data against veritable attacks

表8 的檢測結(jié)果表明:使用生成數(shù)據(jù)訓(xùn)練所得檢測模型,對未知、真實(shí)攻擊的檢測能力良好,檢測率均高于99.85%、誤報(bào)率基本為0。進(jìn)一步分析APT34 中出現(xiàn)的8 條漏報(bào)記錄發(fā)現(xiàn),這8 條DNS 數(shù)據(jù)并未實(shí)際執(zhí)行DNS 竊密傳送;而是與SLD 域名的普通解析相關(guān),并沒有實(shí)際傳送竊密數(shù)據(jù)分片,可以認(rèn)為它們并不屬于本文界定的DNS 竊密流量范疇。例如漏報(bào)“mulong.club”(筆者復(fù)現(xiàn)攻擊場景時(shí),注冊使用的二級域名)的DNS 流量為該域名的正常DNS 解析請求,并未攜帶任何竊密數(shù)據(jù)內(nèi)容。

綜上所述,本文實(shí)驗(yàn)在檢測效果方面表現(xiàn)良好,應(yīng)用生成數(shù)據(jù)訓(xùn)練所得到的檢測模型,能夠有效檢測真實(shí)的DNS 竊密攻擊。

6 總結(jié)與下一步工作展望

本文在AI 助力防御的實(shí)踐過程中,發(fā)現(xiàn)并分析訓(xùn)練階段面臨的可用數(shù)據(jù)集緊缺、完備度不足的問題。首次提出面向AI 模型訓(xùn)練的、基于攻擊TTPs的流量數(shù)據(jù)自動(dòng)生成及應(yīng)用方案。遵循該方案,梳理DNS 竊密攻擊TTPs 作為理論基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)了MalDNS 系統(tǒng)用于自動(dòng)生成DNS 竊密流量數(shù)據(jù)。最后對生成流量數(shù)據(jù)的有效性、應(yīng)用于AI 模型訓(xùn)練的效果展開實(shí)驗(yàn)評估。

評估結(jié)果表明:本文提出的基于攻擊TTPs 的流量數(shù)據(jù)生成及應(yīng)用方法是切實(shí)可行的;基于DNS 竊密攻擊TTPs 設(shè)計(jì)和實(shí)現(xiàn)的MalDNS 系統(tǒng),不僅能高度還原已有案例報(bào)告中的DNS 竊密攻擊模式,還具備良好的預(yù)測生成能力。綜合參數(shù)可調(diào)的案例還原生成流量和預(yù)測生成流量數(shù)據(jù),能有效提升數(shù)據(jù)完備度和拓展未知樣本空間,從而有效提升訓(xùn)練所得AI 模型的性能。相較于傳統(tǒng)的訓(xùn)練數(shù)據(jù)收集方法優(yōu)勢明顯:(1)生成數(shù)據(jù)規(guī)模不再受限,降低用戶獲取訓(xùn)練數(shù)據(jù)集的難度;(2)綜合案例還原和預(yù)測生成的流量數(shù)據(jù),可以有效提升數(shù)據(jù)集的完備度;(3)通過竊密任務(wù)執(zhí)行情況易于直接驗(yàn)證生成數(shù)據(jù)的有效性。

本文設(shè)計(jì)的數(shù)據(jù)自動(dòng)生成及應(yīng)用方法,旨在降低AI 模型用戶獲取可用數(shù)據(jù)集的難度,促進(jìn)AI 技術(shù)助力網(wǎng)絡(luò)防御。本文將持續(xù)跟進(jìn)最新DNS 竊密攻擊案例報(bào)告、完善DNS 竊密攻擊TTPs,維持MalDNS系統(tǒng)的持續(xù)更新和擴(kuò)展。同時(shí),MalDNS 系統(tǒng)源碼擬開源供AI 模型用戶免費(fèi)使用,也期望得到更多安全研究專家的關(guān)注,共同改進(jìn)、完善該生成系統(tǒng)。

最后,本文設(shè)計(jì)的數(shù)據(jù)自動(dòng)生成及應(yīng)用方法,同樣適用于面向AI 模型訓(xùn)練的、其他攻擊類型的流量數(shù)據(jù)生成及應(yīng)用。

猜你喜歡
竊密服務(wù)端域名
本期導(dǎo)讀
竊密者是誰
《江蘇教育研究》官方網(wǎng)站域名變更公告
《江蘇教育研究》官方網(wǎng)站域名變更公告
多人聯(lián)機(jī)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)
基于三層結(jié)構(gòu)下機(jī)房管理系統(tǒng)的實(shí)現(xiàn)分析
基于三層結(jié)構(gòu)下機(jī)房管理系統(tǒng)的實(shí)現(xiàn)分析
本 期 導(dǎo) 讀