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

下載本文檔

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

文檔簡介

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加密信道檢測模型模塊 6整體框架圖4-1C&C加密信道檢測整體框架 本文提出的C&C加密信道檢測模型整體設(shè)計(jì)框架如圖4-1所示,分為數(shù)據(jù)解析、數(shù)據(jù)處理、特征提取、C&C加密信道檢測這四個(gè)模塊。(1)數(shù)據(jù)解析模塊通過NetCap框架對pcap文件進(jìn)行解析,生成結(jié)構(gòu)化審計(jì)記錄,并通過NetCap自帶的工具將ClientHello消息和ServerHello消息的審計(jì)記錄轉(zhuǎn)化成csv文件,方便后續(xù)的數(shù)據(jù)處理。(2)數(shù)據(jù)處理模塊惡意加密流量樣本中也可能會(huì)包含一些正常的加密流量包,錯(cuò)誤的將這些正常流量標(biāo)記為惡意的,會(huì)對分類器的識(shí)別準(zhǔn)確度造成很大的影響,因此需要對惡意加密流量進(jìn)行數(shù)據(jù)清洗,以過濾掉這些臟樣本。然后將清洗過的ClientHello記錄與ServerHello記錄根據(jù)源ip、目的ip、源端口、目的端口進(jìn)行關(guān)聯(lián),最后對關(guān)聯(lián)好的數(shù)據(jù)進(jìn)行標(biāo)注。(3)特征提取模塊從處理好的數(shù)據(jù)中提取相應(yīng)的特征生成特征矩陣。由于存在特征值尺度單位差異大的問題,對每維特征進(jìn)行歸一化處理。(4)C&C加密信道檢測模塊由于數(shù)據(jù)集中存在正負(fù)樣本比例懸殊問題,數(shù)據(jù)集的劃分采用分層K折交叉驗(yàn)證方法。分類器模型采用隨機(jī)森林模型,它已被證明在加密流量監(jiān)測這種帶有噪聲標(biāo)簽和數(shù)據(jù)分布不平穩(wěn)的背景設(shè)定下檢測效果最好。數(shù)據(jù)解析模塊Netcap(NETworkCAPture)框架能有效地將網(wǎng)絡(luò)數(shù)據(jù)包流轉(zhuǎn)換為代表特定協(xié)議的結(jié)構(gòu)化審計(jì)記錄。這些審計(jì)記錄可以存儲(chǔ)在磁盤上,很適合作為機(jī)器學(xué)習(xí)算法的數(shù)據(jù)源。本研究利用Netcap框架解析pcap文件,提取出pcap文件中TLS流中的元數(shù)據(jù)。Step1:解析pcap文件,對里面所有的流量包進(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ì)先嘗試訪問Google、Facebook等正常服務(wù),以判斷受害主機(jī)網(wǎng)絡(luò)是否連通。若簡單把惡意流量捕獲文件中的所有TLS流量都標(biāo)記為惡意的,則這些正常流量也會(huì)被標(biāo)記為惡意流量,這樣會(huì)導(dǎo)致分類器面對這類流量時(shí)做出錯(cuò)誤的判斷。圖4-2某惡意軟件通過訪問Google來判斷主機(jī)網(wǎng)絡(luò)連接是否正常Alexa是專門計(jì)算網(wǎng)站世界排名的網(wǎng)站。對數(shù)據(jù)解析模塊得到的TLSClientHello.csv文件,通過查詢每個(gè)TLS流中訪問的主機(jī)是否在Alexa網(wǎng)站的流行度排名前100萬,由此來過濾掉惡意流量捕獲文件中的正常流量。(1)分析請求邏輯在/siteinfo網(wǎng)站上查詢的世界流行度排名,用GET方法提交請求,網(wǎng)頁跳轉(zhuǎn)到/siteinfo/。由此可以推出,查詢某域名的世界流行度排名的網(wǎng)址規(guī)律,為以下形式:1/siteinfo/待查詢的域名(2)獲取排名信息我們想得到的信息是某域名在全世界的排名,可以通過精確定位排名在網(wǎng)頁中的位置,獲得域名的排名。該排名所在元素(<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ù)以上分析,編寫獲取域名全球排名的代碼段如下,若該函數(shù)返回1,則認(rèn)為該域名對應(yīng)的TLS流量正常,將流量記錄從TLSClientHello.csv中移除。123456789101112131415161718192021def

getRank(url):

alexa_base_url

=

'/siteinfo/'url_for_rank

=

alexa_base_url

+

url

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

=

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

=

BeautifulSoup(page.content,

'html.parser')#通過class來定位我們想要得到的<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)起來,方便后續(xù)特征提取操作。根據(jù)TLS來源標(biāo)記數(shù)據(jù),若TLS來自正常流量,則標(biāo)記為0,反之,若TLS來自惡意加密流量,則標(biāo)記為1。具體關(guān)聯(lián)與標(biāo)注流程見以下偽代碼。表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寫入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對df_clienthello中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)Executor.map(fn,df_clienthello)特征提取模塊特征矩陣C&C加密信道檢測模型所需要的特征已經(jīng)在3.3.2節(jié)進(jìn)行了詳細(xì)的介紹,因此,本節(jié)主要關(guān)注特征是如何提取的。本模塊的輸入是數(shù)據(jù)處理模塊輸出的data.csv文件,該文件已經(jīng)過數(shù)據(jù)清洗、關(guān)聯(lián)與標(biāo)記。但是輸入的內(nèi)容是文本形式,本模塊將其轉(zhuǎn)化成一個(gè)格式規(guī)整的特征矩陣,具體轉(zhuǎn)化方法見下表。表4-2特征矩陣轉(zhuǎn)化方法特征大小數(shù)據(jù)類型特征值轉(zhuǎn)化方法源端口是否由操作系統(tǒng)隨機(jī)分配1Int源端口位于49152-65535范圍內(nèi),則特征值為1,否則為0目的端口是否為常見TLS端口1Int目的端口為附錄。。中給出的常見TLS端口,則特征值為1,否則為0客戶端提供的加密組件146Vector提供了哪個(gè)加密組件,則對應(yīng)的特征值為1,沒提供的加密組件對應(yīng)的特征值為0,如某TLS流提供了50這個(gè)加密組件,則該流對應(yīng)的cs_50特征值為1客戶端支持的擴(kuò)展16Vector轉(zhuǎn)化方法同加密組件特征客戶端支持的擴(kuò)展數(shù)量1Integer計(jì)算客戶端支持的擴(kuò)展數(shù)量客戶端支持的橢圓曲線36Vector轉(zhuǎn)化方法同加密組件特征客戶端支持的橢圓曲線點(diǎn)4Vector轉(zhuǎn)化方法同加密組件特征證書有效時(shí)長1Int證書有效時(shí)間-證書頒發(fā)時(shí)間證書中SAN擴(kuò)展中域名的數(shù)量1Int計(jì)算證書中SAN擴(kuò)展中域名的數(shù)量是否是自簽名證書1Int若證書是自簽名證書,則特征值為1,否則為0特征矩陣歸一化由于提取出的特征值單位尺度不同,為了消除特征間單位和尺度差異的影響,以對每維特征同等對待,需要對提取出的特征進(jìn)行歸一化。本文零均值歸一化方法(公式4-1)對特征進(jìn)行歸一化,使得每維特征均值維0方差維1。經(jīng)過此方法歸一化處理后的特征將符合標(biāo)準(zhǔn)正態(tài)分布。xC&C加密信道檢測模型模塊數(shù)據(jù)集劃分由3.1節(jié)可知,處理完后分別得到正常流量樣本110490個(gè),惡意流量樣本6422個(gè),這種過于懸殊的樣本比可能會(huì)在訓(xùn)練過程中使模型產(chǎn)生偏差,如果該組數(shù)據(jù)用于驗(yàn)證,則可能使測試結(jié)果產(chǎn)生偏差。因此,采用分層K折交叉驗(yàn)證(StratifiedK-Foldcross-validator)方法來對模型進(jìn)行訓(xùn)練。該方法將包含正常流量(負(fù)樣本)和惡意流量(正樣本)的打亂數(shù)據(jù)集分解為K組。其中1組作為測試集,另外的K-1組用于訓(xùn)練模型。該過程重復(fù)K次,每次選擇不同的組作為測試集。最后計(jì)算K次運(yùn)行的評(píng)價(jià)指標(biāo)的平均值。通過這種方法,K組數(shù)據(jù)不是隨機(jī)劃分的,而是通過保留正負(fù)樣本的百分比進(jìn)行劃分,這種分層確保了一個(gè)組不會(huì)只包含正樣本或負(fù)樣本。分類器構(gòu)建Cisco團(tuán)隊(duì)提出不準(zhǔn)確的基本事實(shí)和高度不固定的數(shù)據(jù)分布使得機(jī)器學(xué)習(xí)算法在惡意網(wǎng)絡(luò)流量監(jiān)測中結(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論