《C-C加密信道檢測(cè)模型實(shí)現(xiàn)方案案例》2800字_第1頁(yè)
《C-C加密信道檢測(cè)模型實(shí)現(xiàn)方案案例》2800字_第2頁(yè)
《C-C加密信道檢測(cè)模型實(shí)現(xiàn)方案案例》2800字_第3頁(yè)
《C-C加密信道檢測(cè)模型實(shí)現(xiàn)方案案例》2800字_第4頁(yè)
《C-C加密信道檢測(cè)模型實(shí)現(xiàn)方案案例》2800字_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C&C加密信道檢測(cè)模型實(shí)現(xiàn)方案案例綜述目錄TOC\o"1-3"\h\u166281.1整體框架 1127061.2數(shù)據(jù)解析模塊 2186211.3數(shù)據(jù)處理模塊 24901.4特征提取模塊 5279251.5C&C加密信道檢測(cè)模型模塊 6整體框架圖4-1C&C加密信道檢測(cè)整體框架 本文提出的C&C加密信道檢測(cè)模型整體設(shè)計(jì)框架如圖4-1所示,分為數(shù)據(jù)解析、數(shù)據(jù)處理、特征提取、C&C加密信道檢測(cè)這四個(gè)模塊。(1)數(shù)據(jù)解析模塊通過(guò)NetCap框架對(duì)pcap文件進(jìn)行解析,生成結(jié)構(gòu)化審計(jì)記錄,并通過(guò)NetCap自帶的工具將ClientHello消息和ServerHello消息的審計(jì)記錄轉(zhuǎn)化成csv文件,方便后續(xù)的數(shù)據(jù)處理。(2)數(shù)據(jù)處理模塊惡意加密流量樣本中也可能會(huì)包含一些正常的加密流量包,錯(cuò)誤的將這些正常流量標(biāo)記為惡意的,會(huì)對(duì)分類(lèi)器的識(shí)別準(zhǔn)確度造成很大的影響,因此需要對(duì)惡意加密流量進(jìn)行數(shù)據(jù)清洗,以過(guò)濾掉這些臟樣本。然后將清洗過(guò)的ClientHello記錄與ServerHello記錄根據(jù)源ip、目的ip、源端口、目的端口進(jìn)行關(guān)聯(lián),最后對(duì)關(guān)聯(lián)好的數(shù)據(jù)進(jìn)行標(biāo)注。(3)特征提取模塊從處理好的數(shù)據(jù)中提取相應(yīng)的特征生成特征矩陣。由于存在特征值尺度單位差異大的問(wèn)題,對(duì)每維特征進(jìn)行歸一化處理。(4)C&C加密信道檢測(cè)模塊由于數(shù)據(jù)集中存在正負(fù)樣本比例懸殊問(wèn)題,數(shù)據(jù)集的劃分采用分層K折交叉驗(yàn)證方法。分類(lèi)器模型采用隨機(jī)森林模型,它已被證明在加密流量監(jiān)測(cè)這種帶有噪聲標(biāo)簽和數(shù)據(jù)分布不平穩(wěn)的背景設(shè)定下檢測(cè)效果最好。數(shù)據(jù)解析模塊Netcap(NETworkCAPture)框架能有效地將網(wǎng)絡(luò)數(shù)據(jù)包流轉(zhuǎn)換為代表特定協(xié)議的結(jié)構(gòu)化審計(jì)記錄。這些審計(jì)記錄可以存儲(chǔ)在磁盤(pán)上,很適合作為機(jī)器學(xué)習(xí)算法的數(shù)據(jù)源。本研究利用Netcap框架解析pcap文件,提取出pcap文件中TLS流中的元數(shù)據(jù)。Step1:解析pcap文件,對(duì)里面所有的流量包進(jìn)行解析生成結(jié)構(gòu)化審計(jì)記錄(.ncap.gz文件)。1./net.capture

–r

./pcap/malware.pcap

–out

./ncap生成的審計(jì)記錄中會(huì)有兩個(gè)關(guān)于TLS的文件,TLSClientHello.ncap.gz和TLSServerHello.ncap.gz。Step2:將關(guān)于TLS的結(jié)構(gòu)化審計(jì)記錄輸出為csv格式,生成兩個(gè)csv文件,TLSClientHello.csv是pcap文件中所有ClientHello消息包的相關(guān)數(shù)據(jù),TLSServerHello.csv文件是pcap文件中所有ServerHello消息包的相關(guān)數(shù)據(jù)。12./net.dump

–r

./ncap/TLSClientHello.ncap.gz

>

./NetCap-output/TLSClientHello.csv./net.dump

–r

./ncap/TLSServerHello.ncap.gz

>

./NetCap-output/TLSServerHello.csv數(shù)據(jù)處理模塊數(shù)據(jù)清洗很多惡意軟件在與C&C服務(wù)器通信前會(huì)先嘗試訪問(wèn)Google、Facebook等正常服務(wù),以判斷受害主機(jī)網(wǎng)絡(luò)是否連通。若簡(jiǎn)單把惡意流量捕獲文件中的所有TLS流量都標(biāo)記為惡意的,則這些正常流量也會(huì)被標(biāo)記為惡意流量,這樣會(huì)導(dǎo)致分類(lèi)器面對(duì)這類(lèi)流量時(shí)做出錯(cuò)誤的判斷。圖4-2某惡意軟件通過(guò)訪問(wèn)Google來(lái)判斷主機(jī)網(wǎng)絡(luò)連接是否正常Alexa是專(zhuān)門(mén)計(jì)算網(wǎng)站世界排名的網(wǎng)站。對(duì)數(shù)據(jù)解析模塊得到的TLSClientHello.csv文件,通過(guò)查詢(xún)每個(gè)TLS流中訪問(wèn)的主機(jī)是否在Alexa網(wǎng)站的流行度排名前100萬(wàn),由此來(lái)過(guò)濾掉惡意流量捕獲文件中的正常流量。(1)分析請(qǐng)求邏輯在/siteinfo網(wǎng)站上查詢(xún)的世界流行度排名,用GET方法提交請(qǐng)求,網(wǎng)頁(yè)跳轉(zhuǎn)到/siteinfo/。由此可以推出,查詢(xún)某域名的世界流行度排名的網(wǎng)址規(guī)律,為以下形式:1/siteinfo/待查詢(xún)的域名(2)獲取排名信息我們想得到的信息是某域名在全世界的排名,可以通過(guò)精確定位排名在網(wǎng)頁(yè)中的位置,獲得域名的排名。該排名所在元素(<pclass=bigdata>)在HTML文檔中的結(jié)構(gòu)如下:123456789101112113<div

class="rank-global">

<div>

<div>

<p

class="big

data">

<span

class="hash">#</span>

1

</p>

<p

class="information">

In

global

internet

traffic

and

engagement

over

the

past90days

</p>

</div>

</div>

...<div>根據(jù)以上分析,編寫(xiě)獲取域名全球排名的代碼段如下,若該函數(shù)返回1,則認(rèn)為該域名對(duì)應(yīng)的TLS流量正常,將流量記錄從TLSClientHello.csv中移除。123456789101112131415161718192021def

getRank(url):

alexa_base_url

=

'/siteinfo/'url_for_rank

=

alexa_base_url

+

url

#要爬取的目標(biāo)網(wǎng)頁(yè)#訪問(wèn)URL,獲取對(duì)應(yīng)的HTML文檔page

=

requests.get(url_for_rank)#使用BeautifulSoup解析HTML文檔soup

=

BeautifulSoup(page.content,

'html.parser')#通過(guò)class來(lái)定位我們想要得到的<p

class="big

data">這個(gè)元素

global_rank

=

soup.select('.rank-global

.data')try:#用text方法獲取元素中的文本內(nèi)容,并去掉里面的換行,然后正則表達(dá)式匹配數(shù)字

match

=

re.search(r'[\d,]+',

global_rank[0].text.strip())#match得到的排名是字符形式的數(shù)字,且含有逗號(hào)分隔符,將其去掉逗號(hào)分隔符,并轉(zhuǎn)換為數(shù)字形式

ranking=int(match.group().replace(',',''))#若url位于top前100w返回1,否則返回0

if

ranking

<

1000000:

return

1

else:

return

0

except:

return

0數(shù)據(jù)關(guān)聯(lián)與標(biāo)注用Netcap框架解析TLS流,會(huì)生成兩個(gè)csv文件,TLSClientHello.csv是pcap文件中所有ClientHello消息包的相關(guān)數(shù)據(jù),TLSServerHello.csv文件是pcap文件中所有ServerHello消息包的相關(guān)數(shù)據(jù)。我們要提取的特征中既包含ClientHello消息包的相關(guān)數(shù)據(jù)也包含ServerHello消息包的相關(guān)數(shù)據(jù)。因此,我們需要將TLSClientHello.csv和TLSServerHello.csv中的記錄關(guān)聯(lián)起來(lái),方便后續(xù)特征提取操作。根據(jù)TLS來(lái)源標(biāo)記數(shù)據(jù),若TLS來(lái)自正常流量,則標(biāo)記為0,反之,若TLS來(lái)自惡意加密流量,則標(biāo)記為1。具體關(guān)聯(lián)與標(biāo)注流程見(jiàn)以下偽代碼。表4-1數(shù)據(jù)關(guān)聯(lián)與標(biāo)注偽代碼算法數(shù)據(jù)關(guān)聯(lián)與標(biāo)注12345678910111213輸入:TLSServerHello.csv,TLSClientHello.csv,label輸出:data.csvfunctioncorrelate_data(s_hellolist,label,chelloentry):fors_hello_datainshellolist:ifshello_data的源ip==chelloentry的目的ip&&shello_data的目的ip==chelloentry的源ip&&shello_data的源端口==chelloentry的目的端口&&shello_data的目的端口==chelloentry的源端口:entry<-shello_data中目的ip與源ip移除,然后與chelloentry、label連接將entry寫(xiě)入data.csv文件df_serverhello<-讀取TLSServerHello.csvdf_clienthello<-讀取TLSClientHello.csv#用partial函數(shù)將correlate_data的部分參數(shù)預(yù)先綁定為指定值fn<-partial(fn,df_serverhello,label)#用多進(jìn)程方法調(diào)用fn對(duì)df_clienthello中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)Executor.map(fn,df_clienthello)特征提取模塊特征矩陣C&C加密信道檢測(cè)模型所需要的特征已經(jīng)在3.3.2節(jié)進(jìn)行了詳細(xì)的介紹,因此,本節(jié)主要關(guān)注特征是如何提取的。本模塊的輸入是數(shù)據(jù)處理模塊輸出的data.csv文件,該文件已經(jīng)過(guò)數(shù)據(jù)清洗、關(guān)聯(lián)與標(biāo)記。但是輸入的內(nèi)容是文本形式,本模塊將其轉(zhuǎn)化成一個(gè)格式規(guī)整的特征矩陣,具體轉(zhuǎn)化方法見(jiàn)下表。表4-2特征矩陣轉(zhuǎn)化方法特征大小數(shù)據(jù)類(lèi)型特征值轉(zhuǎn)化方法源端口是否由操作系統(tǒng)隨機(jī)分配1Int源端口位于49152-65535范圍內(nèi),則特征值為1,否則為0目的端口是否為常見(jiàn)TLS端口1Int目的端口為附錄。。中給出的常見(jiàn)TLS端口,則特征值為1,否則為0客戶(hù)端提供的加密組件146Vector提供了哪個(gè)加密組件,則對(duì)應(yīng)的特征值為1,沒(méi)提供的加密組件對(duì)應(yīng)的特征值為0,如某TLS流提供了50這個(gè)加密組件,則該流對(duì)應(yīng)的cs_50特征值為1客戶(hù)端支持的擴(kuò)展16Vector轉(zhuǎn)化方法同加密組件特征客戶(hù)端支持的擴(kuò)展數(shù)量1Integer計(jì)算客戶(hù)端支持的擴(kuò)展數(shù)量客戶(hù)端支持的橢圓曲線36Vector轉(zhuǎn)化方法同加密組件特征客戶(hù)端支持的橢圓曲線點(diǎn)4Vector轉(zhuǎn)化方法同加密組件特征證書(shū)有效時(shí)長(zhǎng)1Int證書(shū)有效時(shí)間-證書(shū)頒發(fā)時(shí)間證書(shū)中SAN擴(kuò)展中域名的數(shù)量1Int計(jì)算證書(shū)中SAN擴(kuò)展中域名的數(shù)量是否是自簽名證書(shū)1Int若證書(shū)是自簽名證書(shū),則特征值為1,否則為0特征矩陣歸一化由于提取出的特征值單位尺度不同,為了消除特征間單位和尺度差異的影響,以對(duì)每維特征同等對(duì)待,需要對(duì)提取出的特征進(jìn)行歸一化。本文零均值歸一化方法(公式4-1)對(duì)特征進(jìn)行歸一化,使得每維特征均值維0方差維1。經(jīng)過(guò)此方法歸一化處理后的特征將符合標(biāo)準(zhǔn)正態(tài)分布。xC&C加密信道檢測(cè)模型模塊數(shù)據(jù)集劃分由3.1節(jié)可知,處理完后分別得到正常流量樣本110490個(gè),惡意流量樣本6422個(gè),這種過(guò)于懸殊的樣本比可能會(huì)在訓(xùn)練過(guò)程中使模型產(chǎn)生偏差,如果該組數(shù)據(jù)用于驗(yàn)證,則可能使測(cè)試結(jié)果產(chǎn)生偏差。因此,采用分層K折交叉驗(yàn)證(StratifiedK-Foldcross-validator)方法來(lái)對(duì)模型進(jìn)行訓(xùn)練。該方法將包含正常流量(負(fù)樣本)和惡意流量(正樣本)的打亂數(shù)據(jù)集分解為K組。其中1組作為測(cè)試集,另外的K-1組用于訓(xùn)練模型。該過(guò)程重復(fù)K次,每次選擇不同的組作為測(cè)試集。最后計(jì)算K次運(yùn)行的評(píng)價(jià)指標(biāo)的平均值。通過(guò)這種方法,K組數(shù)據(jù)不是隨機(jī)劃分的,而是通過(guò)保留正負(fù)樣本的百分比進(jìn)行劃分,這種分層確保了一個(gè)組不會(huì)只包含正樣本或負(fù)樣本。分類(lèi)器構(gòu)建Cisco團(tuán)隊(duì)提出不準(zhǔn)確的基本事實(shí)和高度不固定的數(shù)據(jù)分布使得機(jī)器學(xué)習(xí)算法在惡意網(wǎng)絡(luò)流量監(jiān)測(cè)中結(jié)果不理想ADDINEN.CITE<EndNote><Cite><Author>Anderson</Author><Year>2017</Year><RecNum>12</RecNum><DisplayText><styleface="superscript">[3]</style></DisplayText><record><rec-number>12</rec-number><foreign-keys><keyapp="EN"db-id="rr0wseffnsaffqex0v05x25wa00fsp5vvsrx"timestamp="1619964716">12</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>Anderson,Blake</author><author>McGrew,David</author></authors></contributors><titles><title>Machinelearningforencryptedmalwaretrafficclassification:accountingfornoisylabelsandnon-statio

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論