不解密數(shù)據(jù)竟也能識別TLS加密的惡意流量?
加密一直都是保護(hù)用戶通訊隱私的重要特性,可如果惡意程序在傳播過程中也加密的話,對這樣的流量做攔截感覺就麻煩了很多。談到加密,TLS(Transport Layer Security Protocol,傳輸層安全協(xié)議)就是當(dāng)前使用非常廣泛的協(xié)議:國外部分研究機(jī)構(gòu)的數(shù)據(jù)顯示,已有至多60%的網(wǎng)絡(luò)流量采用TLS,當(dāng)然也包括一些惡意程序(雖然大約只有10%)。
來自思科的一組研究人員最近研究出一種方法,不需要對這類流量進(jìn)行解密,就能偵測到采用TLS連接的惡意程序,是不是感覺有點小神奇?
TLS協(xié)議
這是怎么做到的?
思科已經(jīng)公開了這份研究報告,題為《辨認(rèn)使用TLS的惡意程序(無需解密)》(英文其實表達(dá)得更為準(zhǔn)確,名為”Deciphering Malware’s use of TLS”)。我們比較籠統(tǒng)地歸結(jié)原理,其實是TLS協(xié)議本身引入了一系列復(fù)雜的數(shù)據(jù)參數(shù)特性——這些特性是可以進(jìn)行觀測檢查的,這樣自然就能針對通訊雙方做出一些合理的推斷。
這份報告中有提到:“通過這些特性,我們可以檢測和理解惡意程序通訊方式,與此同時TLS本身的加密屬性也能提供良性的隱私保護(hù)。”聽起來似乎還是比較理想的新技術(shù)——在不需要對流量進(jìn)行解密的情況下就達(dá)成流量安全與否的判斷,的確具備很大意義。
為此,思科大約分析了18個惡意程序家族的數(shù)千個樣本,并在企業(yè)網(wǎng)絡(luò)中數(shù)百萬加密數(shù)據(jù)流中,分析數(shù)萬次惡意連接。整個過程中,網(wǎng)絡(luò)設(shè)備的確不對用戶數(shù)據(jù)做處理,僅是采用DPI(深度包檢測技術(shù))來識別clientHello和serverHello握手信息,還有識別連接的TLS版本。
“在這篇報告中,我們主要針對433端口的TLS加密數(shù)據(jù)流,盡可能公正地對比企業(yè)一般的TLS流量和惡意TLS流量。為了要確認(rèn)數(shù)據(jù)流是否為TLS,我們需要用到DPI,以及基于TLS版本的定制signature,還有clientHello和serverHello的信息類型。”
“最終,我們在203個端口之上發(fā)現(xiàn)了229364個TLS流,其中443端口是目前惡意TLS流量使用最普遍的端口。盡管惡意程序端口使用情況多種多樣,但這樣的情況并不多見。”
不僅如此,據(jù)說他們還能就這些惡意流量,基于流量特性將之分類到不同的惡意程序家族中。“我們***還要展示,在僅有這些網(wǎng)絡(luò)數(shù)據(jù)的情況下,進(jìn)行惡意程序家族歸類。每個惡意程序家族都有其獨特的標(biāo)簽,那么這個問題也就轉(zhuǎn)化為不同類別的分類問題。”
“即便使用相同TLS參數(shù),我們依然就夠辨認(rèn)和比較準(zhǔn)確地進(jìn)行分類,因為其流量模式相較其他流量的特性,還是存在區(qū)別的。我們甚至還能識別惡意程序更為細(xì)致的家族分類,當(dāng)然僅通過網(wǎng)絡(luò)數(shù)據(jù)就看不出來了。”
實際上,研究人員自己寫了一款軟件工具,從實時流量或者是抓取到的數(shù)據(jù)包文件中,將所有的數(shù)據(jù)輸出為比較方便的JSON格式,提取出前面所說的數(shù)據(jù)特性。包括流量元數(shù)據(jù)(進(jìn)出的字節(jié),進(jìn)出的包,網(wǎng)絡(luò)端口號,持續(xù)時間)、包長度與到達(dá)間隔時間順序(Sequence of Packet Lengths and Times)、字節(jié)分布(byte distribution)、TLS頭信息。
其實我們談了這么多,還是很抽象,整個過程還是有些小復(fù)雜的。有興趣的同學(xué)可以點擊這里下載思科提供的完整報告。
分析結(jié)果準(zhǔn)確性還不錯
思科自己認(rèn)為,分析結(jié)果還是比較理想的,而且整個過程中還融合了其機(jī)器學(xué)習(xí)機(jī)制(他們自己稱為機(jī)器學(xué)習(xí)classifiers,應(yīng)該就是指對企業(yè)正常TLS流量與惡意流量進(jìn)行分類的機(jī)制,甚至對惡意程序家族做分類),正好做這一機(jī)制的測試。據(jù)說,針對惡意程序家族歸類,其準(zhǔn)確性達(dá)到了90.3%。
“在針對單獨、加密流量的識別中,我們在惡意程序家族歸類的問題上,能夠達(dá)到90.3%的準(zhǔn)確率。在5分鐘窗口全部加密流量分析中,我們的準(zhǔn)確率為93.2%(make use of all encrypted flows within a 5-minute window)。”