999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于流量分析的軟件升級漏洞自動檢測方法

2020-04-15 03:47:32騰金輝光焱舒輝張冰
關(guān)鍵詞:檢測信息

騰金輝,光焱,舒輝,張冰

基于流量分析的軟件升級漏洞自動檢測方法

騰金輝,光焱,舒輝,張冰

(戰(zhàn)略支援部隊信息工程大學(xué),河南 鄭州 450001)

軟件升級過程中,缺乏對升級信息或升級包的認(rèn)證可能會導(dǎo)致基于中間人攻擊的遠(yuǎn)程代碼執(zhí)行漏洞。為此,提出一種升級漏洞自動檢測方法。該方法通過提取升級過程中的網(wǎng)絡(luò)流量,對升級機(jī)制自動畫像,將其與漏洞特征向量匹配,預(yù)判升級漏洞;在模擬驗證環(huán)境中,利用畫像信息實施中間人攻擊,驗證檢測結(jié)果。基于該方法設(shè)計了升級漏洞自動分析與驗證系統(tǒng),對184個Windows應(yīng)用軟件樣本進(jìn)行測試,檢測出117個樣本的升級漏洞,證明了本方法的有效性。

軟件升級;流量分析;漏洞檢測;自動化分析與驗證

1 引言

在整個軟件生命周期中,軟件的維護(hù)升級工作是最重要的環(huán)節(jié)[1],通過升級至新版本,可以達(dá)到增添軟件功能、修復(fù)已知錯誤與漏洞、提升用戶體驗等目的。然而,從軟件安全性角度考慮,一方面,升級過程通常包括可執(zhí)行文件的下載與自動執(zhí)行;另一方面,用戶對升級過程中下載的可執(zhí)行文件,往往有著遠(yuǎn)超一般可執(zhí)行文件的信任程度。因此,若升級過程存在漏洞,由此引發(fā)的升級文件被篡改或替換,極易導(dǎo)致用戶遭受遠(yuǎn)程代碼自動執(zhí)行攻擊,對用戶系統(tǒng)的安全性造成嚴(yán)重?fù)p害。此外,基于軟件升級的攻擊方法是多種攻擊手段的綜合利用,如中間人攻擊、流量劫持、軟件逆向等,因而單一的防御方法不能有效對抗這種攻擊,較之平常的攻擊手段,其成功率更高,更隱蔽[2]。升級過程產(chǎn)生的流量也能更順利地通過基于流量檢測方法的防火墻、殺毒軟件、IDS等的防御監(jiān)控體系,即使用戶終端建立了較為完善的邊界安全防護(hù)機(jī)制、用戶具備較高的安全意識水平,也依然難以填補(bǔ)這一缺陷。

基于軟件升級漏洞的攻擊有較多案例。2017年7月,中國山東、山西、浙江、福建等省爆發(fā)大規(guī)模軟件升級劫持事件,大量計算機(jī)在升級過程中感染木馬病毒;2017年8月,攻擊者通過劫持烏克蘭流行專用會計軟件M.E.Doc的升級服務(wù)器,向用戶推送包含NotPetya病毒的升級包,對政府、銀行、電力系統(tǒng)、通信系統(tǒng)等實施攻擊;2018年12月,一款木馬通過“驅(qū)動人生”的升級通道,利用“永恒之藍(lán)”漏洞攻擊了超過10萬用戶;2019年3月,卡巴斯基實驗室曝光華碩(ASUS)的軟件升級服務(wù)器遭到入侵,攻擊者通過軟件升級,在用戶電腦中安裝惡意程序。上述安全事件都反映出軟件升級機(jī)制漏洞會導(dǎo)致巨大安全風(fēng)險。

目前,已有的針對軟件升級漏洞的相關(guān)研究主要圍繞升級漏洞利用、檢測以及安全防御展開。在升級漏洞利用方面,2017年,360天擎團(tuán)隊發(fā)布關(guān)于國內(nèi)政企類軟件安全性的分析報告,其中包含了針對軟件升級的相關(guān)漏洞的案例以及攻擊原理分析;2015年,彭先覺等[2]提出一種HTTP協(xié)議通信校驗值誤用類型軟件升級漏洞的攻擊方法,并對某團(tuán)購網(wǎng)站的舊版軟件進(jìn)行了實際攻擊測試,驗證了該攻擊的可行性。在升級漏洞檢測方面,2015年,傅建明等[3]提出一種靜態(tài)分析與動態(tài)分析相結(jié)合的針對殺毒軟件升級流程安全性分析方法。2017年,Adam K提出了一種基于特征信息匹配的升級漏洞自動檢測方法,能夠捕獲針對軟件升級過程的攻擊。在安全防御方面,2018年,周振飛[4]從機(jī)理與防御兩個方面,對軟件供應(yīng)鏈污染攻擊進(jìn)行研究,并提出了針對特定種類攻擊的解決方案;2015年,Catuogno等[5]提出一種升級框架,不同于已有的升級框架(如WinGup)使用SSL協(xié)議保證升級過程的安全性,該框架基于非交互式密鑰進(jìn)行升級,同時依賴于靜態(tài)屬性策略的軟件安裝與升級框架,并對該方案進(jìn)行了性能分析。

上述工作從多個方面揭示了軟件升級漏洞的原理以及相應(yīng)的檢測方法。然而,這些工作存在兩方面問題:一是缺乏清晰明確的升級漏洞分類特征描述模型,影響漏洞檢測的范圍和準(zhǔn)確性;二是漏洞分析與檢測的自動化程度較低,難以滿足大批量樣本條件下的檢測要求。

為解決上述問題,本文提出一種基于流量分析的軟件升級漏洞自動檢測方法。該方法通過對軟件升級過程中網(wǎng)絡(luò)通信流量特征的分析,建立面向流量特征的升級漏洞特征分類模型;綜合使用字符串模糊匹配和頻率加權(quán)比對等方法,實現(xiàn)對升級過程網(wǎng)絡(luò)數(shù)據(jù)流特征的提取與分析,實現(xiàn)對升級過程的自動畫像,進(jìn)而通過特征向量匹配,實現(xiàn)對多種類型升級漏洞的自動化檢測。同時,設(shè)計漏洞自動化驗證平臺,通過模擬攻擊的方法,對漏洞檢測的結(jié)果進(jìn)行自動驗證,提高檢測結(jié)果的準(zhǔn)確性。

2 升級漏洞特征模型

2.1 升級漏洞的分類

軟件在線升級的內(nèi)容本身,無論是程序組件還是完整的升級包,都可視為公開的數(shù)據(jù)和資源,無須進(jìn)行保密。軟件升級過程的漏洞,主要體現(xiàn)為對升級服務(wù)器和升級包的認(rèn)證機(jī)制漏洞,主要包括對升級服務(wù)器身份認(rèn)證缺失,以及對升級包的真實性、完整性與新鮮性認(rèn)證的缺失等。從升級漏洞的具體形式來看,主要體現(xiàn)在升級過程的3個不同階段。分別是發(fā)起階段,客戶端與服務(wù)器交互,獲取相關(guān)配置信息與升級包URL;下載階段,客戶端根據(jù)URL下載升級包;安裝階段,安裝升級包。涉及網(wǎng)絡(luò)數(shù)據(jù)的主要為前兩個階段,根據(jù)這兩個階段網(wǎng)絡(luò)數(shù)據(jù)特征,對升級漏洞進(jìn)行分類,如表1所示。

(1) HTTP協(xié)議通信類漏洞

對于無防護(hù),在流量側(cè)可直接通過中間人的方式劫持并篡改發(fā)起階段的數(shù)據(jù)包中的升級包下載鏈接,將其替換為惡意代碼的下載鏈接從而實現(xiàn)惡意代碼的下載,并在安裝階段實現(xiàn)遠(yuǎn)程代碼與程序的自動執(zhí)行,具體實例如CNTV央視影音客戶端(測試版本4.4.0.0,受影響版本4.6.2.1及以下,CNNVD=201903-1283)。

對于校驗誤用,在流量側(cè)可直接通過中間人的方式劫持并篡改發(fā)起階段的數(shù)據(jù)包中的新版本下載鏈接以及對應(yīng)的校驗值,將其替換為惡意代碼的下載鏈接以及對應(yīng)的校驗值,從而實現(xiàn)惡意代碼的下載并在安裝階段實現(xiàn)遠(yuǎn)程代碼與程序的自動執(zhí)行,具體實例如優(yōu)酷視頻播放器(測試版本7.2.6.8110,受影響版本7.7.7.4191及以下,CNVD-2018-06299)。

(2) HTTPS協(xié)議通信類漏洞

對于HTTPS保護(hù)缺失,在流量側(cè)可通過中間人的方式劫持篡改完成。對于發(fā)起階段使用HTTP協(xié)議的,可劫持該階段的配置信息并進(jìn)行篡改。對于下載階段可通過強(qiáng)制返回虛假重定向數(shù)據(jù)包,完成發(fā)起階段或下載階段的HTTPS協(xié)議繞過,實現(xiàn)惡意代碼的下載,從而在安裝階段實現(xiàn)遠(yuǎn)程代碼與程序的自動執(zhí)行,具體實例如5K Player(加密傳輸配置信息,下載階段使用HTTP協(xié)議,測試版本5.0,受影響版本5.7及以下),GOM AUDIO(HTTP協(xié)議傳輸HTTPS鏈接以及配置信息,測試版本2.3.35.5296,受影響版本2.3.38.5300及以下)。

對于HTTP重定向誤用,在流量側(cè)可分別劫持下載階段或發(fā)起階段的重定向的返回數(shù)據(jù)包并對重定向鏈接進(jìn)行篡改,完成HTTPS協(xié)議繞過,實現(xiàn)惡意代碼的下載,從而在安裝階段實現(xiàn)遠(yuǎn)程代碼與程序的自動執(zhí)行,具體實例如SweetHome3D(下載過程使用重定向,測試版本5.5,受影響版本5.7及以下),TunesKit Audiobook Converter (發(fā)起階段使用重定向,測試版本3.0.3,受影響版本3.0.8及以下)。

表1 漏洞分類特征描述

2.2 升級漏洞特征向量

為實現(xiàn)軟件升級漏洞的自動化檢測,首先需要對升級漏洞特征進(jìn)行定義和描述。然后通過對實例分析總結(jié),從升級過程的網(wǎng)絡(luò)流量數(shù)據(jù)中,篩選出與升級漏洞檢測相關(guān)的22種關(guān)鍵信息要素,將其取值對應(yīng)的向量。作為升級漏洞的檢測依據(jù),即升級漏洞特征向量,信息要素按照升級的發(fā)起和下載兩個階段劃分如表2所示。

將表1中的漏洞分類與表2中信息要素相結(jié)合,得到不同類型的升級漏洞特征向量,如表3所示。

3 升級漏洞的自動檢測方法

基于漏洞特征向量,本節(jié)給出一種軟件升級漏洞自動化檢測方法,以關(guān)鍵信息要素的提取與分析為基礎(chǔ),按照“升級畫像—漏洞檢測—漏洞驗證—結(jié)果確認(rèn)”的方法,實現(xiàn)升級漏洞自動分析與檢測,流程如圖1所示。

漏洞流程分為4步。

Step1 升級畫像。結(jié)合文件操作記錄與升級流量記錄,對升級過程中與漏洞檢測相關(guān)的關(guān)鍵數(shù)據(jù)包進(jìn)行定位,提取其中的關(guān)鍵信息要素,構(gòu)建描述升級過程與機(jī)制的“升級畫像”。

Step2 漏洞檢測。根據(jù)升級畫像的向量描述,結(jié)合漏洞特征向量,進(jìn)行基于向量匹配的漏洞檢測,得到漏洞檢測預(yù)結(jié)果。

Step3 漏洞驗證。在模擬攻擊環(huán)境下,根據(jù)檢測結(jié)果進(jìn)行驗證形成最終的檢測結(jié)論。該方法綜合了理論分析與實際驗證,有效確保了分析的準(zhǔn)確性。

Step4 結(jié)果確認(rèn)。根據(jù)模擬攻擊結(jié)果對檢測結(jié)論進(jìn)行確認(rèn),并輸出畫像、檢測結(jié)果、漏洞驗證配置文件。

表2 升級關(guān)鍵信息要素

【注】*項目實際情況可為空,括號中內(nèi)容為表3中漏洞特征向量的對應(yīng)值。

表3 升級漏洞特征向量

【注】*項目根據(jù)實際情況可選(具體值可為空/0/1),空白為使用HTTPS協(xié)議無法提取具體值,值的說明參見表2括號中內(nèi)容。

圖1 漏洞檢測流程

Figure 1 The flow of vulnerability detection

下面按照流程分別介紹各個步驟所使用的具體方法。

3.1 升級流量記錄

升級過程中軟件客戶端與升級服務(wù)器之間的網(wǎng)絡(luò)通信數(shù)據(jù)中,包含關(guān)于升級方式、升級流程、升級安裝包格式等一系列關(guān)鍵信息。為了對升級過程網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行提取與分析,本文使用tshark進(jìn)行實現(xiàn)。為便于對網(wǎng)絡(luò)流量數(shù)據(jù)包的自動化分析,將流量記錄以json格式保存,單個json格式流量包結(jié)構(gòu)示例如圖2所示。

圖2 json數(shù)據(jù)包結(jié)構(gòu)

Figure 2 The structure diagram of json data packet

3.2 升級畫像

升級畫像所需的信息提取關(guān)鍵在于對發(fā)起階段和下載階段的相關(guān)數(shù)據(jù)包進(jìn)行準(zhǔn)確定位。根據(jù)目標(biāo)軟件升級模式的不同,采用分別基于下載階段信息和發(fā)起階段信息兩種信息定位和提取方法。

3.2.1 基于下載階段信息的升級畫像

該方法首先在流量記錄的同時,通過文件監(jiān)控,獲取升級包文件名,并計算該文件對應(yīng)的各種可能校驗值(校驗值類型見表2 發(fā)起階段prog_verify信息欄)。在此基礎(chǔ)上,按照4個步驟實現(xiàn)基于下載階段的升級畫像,流程如圖3所示。

Step1 通信協(xié)議掃描記錄

對所有的通信數(shù)據(jù)包進(jìn)行掃描,判斷通信協(xié)議并記錄,如果存在HTTP協(xié)議,進(jìn)行Step2,否則結(jié)束。

Step2 下載階段數(shù)據(jù)包定位

采用兩種算法對下載階段數(shù)據(jù)包進(jìn)行定位

算法1 基于升級包文件名的精確搜索定位

輸入 升級包文件名,升級流量數(shù)據(jù)包

輸出 下載階段數(shù)據(jù)包信息

算法步驟:

1) 對所有HTTP協(xié)議的流量數(shù)據(jù)包進(jìn)行“GET”關(guān)鍵字匹配,提取下載請求及其對應(yīng)的URL;

2) 在1)提取的所有下載請求及其對應(yīng)的URL中,搜索文件監(jiān)控到的升級包文件名,提取該文件下載請求的URL及其所在數(shù)據(jù)包的通信五元組并輸出。

算法結(jié)束

算法2 基于文件類型的模糊匹配定位

輸入 軟件名,升級流量數(shù)據(jù)包

輸出 下載階段數(shù)據(jù)包信息

圖3 基于下載階段信息的升級畫像流程

算法步驟:

1) 對所有HTTP協(xié)議的流量數(shù)據(jù)包進(jìn)行“GET”關(guān)鍵字匹配,提取下載請求及其對應(yīng)的URL;

2) 在1)提取的所有下載請求及其對應(yīng)的URL中,篩選exe、msi、rar、zip等類型的可執(zhí)行文件的下載請求及其URL;

3) 根據(jù)Levenshtein Distance算法[6]分別計算所有下載請求URL中的文件名和測試軟件名之間的相似度為:

4) 選取與舊版本程序文件名相似度最大的新下載程序文件名,提取對應(yīng)下載請求中的升級包URL及通信五元組,并輸出。

算法結(jié)束

Step3 發(fā)起階段數(shù)據(jù)包定位

根據(jù)Step2提取到的升級包URL,采用基于加權(quán)向量的配置信息數(shù)據(jù)包定位算法對數(shù)據(jù)包進(jìn)行定位。

算法3 基于加權(quán)向量的發(fā)起階段數(shù)據(jù)包定位

輸入 升級包URL,升級流量數(shù)據(jù)包

輸出 發(fā)起階段數(shù)據(jù)包信息

算法步驟:

1) 對算法2提取的升級包URL按照協(xié)議名稱://服務(wù)器名稱(IP地址)/路徑/文件名進(jìn)行拆分,形成搜索字典;

2) 對1)中的搜索字典,在所有HTTP協(xié)議的流量數(shù)據(jù)包的http_file_data數(shù)據(jù)段內(nèi)容中進(jìn)行搜索匹配,統(tǒng)計搜索字典中各個字符串在該數(shù)據(jù)段中出現(xiàn)的次數(shù),形成各個數(shù)據(jù)包相應(yīng)的字典統(tǒng)計向量;

3) 分別計算各個數(shù)據(jù)包對應(yīng)的字典統(tǒng)計向量加權(quán)和,權(quán)重及計算公式如表4所示。

表4 權(quán)重信息

4) 在所有HTTP協(xié)議的流量數(shù)據(jù)包的http_file_data數(shù)據(jù)段內(nèi)容中,對以http://或https://開頭,以.ini/.dat/.xml/.cfg等配置文件類型擴(kuò)展名結(jié)尾的URL進(jìn)行搜索匹配,匹配成功,則截取其URL,通信五元組并輸出,轉(zhuǎn)至5);

5)根據(jù)3)、4)定位數(shù)據(jù)包對應(yīng)的通信五元組進(jìn)行發(fā)起階段數(shù)據(jù)包定位,提取發(fā)起升級請求的內(nèi)容及對應(yīng)的升級請求URL并輸出。

算法結(jié)束

Step4 重定向掃描

算法4 重定向掃描

輸入 發(fā)起階段和下載階段通信五元組,升級流量數(shù)據(jù)包

輸出 升級過程重定向信息

算法步驟:

1) 對所有HTTP協(xié)議的流量數(shù)據(jù)包進(jìn)行“301/302/303 Found”匹配,記錄所有的重定向請求包以及回應(yīng)包;

2) 在1)提取的所有重定向數(shù)據(jù)包中,對Step2中發(fā)起階段請求URL和Step3中下載階段升級包URL進(jìn)行掃描匹配,記錄匹配結(jié)果中重定向請求包以及響應(yīng)包中的URL、協(xié)議類型以及對應(yīng)的升級階段并輸出。

算法結(jié)束

Step5 畫像信息輸出

將Step1~Step4輸出的信息進(jìn)行整理,填充到表2升級畫像的對應(yīng)位置,輸出畫像。

3.2.2 基于發(fā)起階段信息的升級畫像

該方法首先在流量記錄的同時,通過文件監(jiān)控,獲取升級包文件名,并計算該文件對應(yīng)的各種可能校驗值(校驗值類型見表2 發(fā)起階段prog_verify信息欄)。在此基礎(chǔ)上,按照4個步驟實現(xiàn)基于下載階段的升級畫像,流程如圖4所示。

圖4 基于發(fā)起階段信息的升級畫像流程

Figure 4 The flow of upgrade process based on request stage information

Step1 通信協(xié)議判別

對所有的通信數(shù)據(jù)包進(jìn)行掃描,判斷通信協(xié)議并記錄,如果存在HTTP協(xié)議,則進(jìn)行Step2,否則結(jié)束。

Step2 發(fā)起階段數(shù)據(jù)包定位

采用兩種算法對新版本程序下載數(shù)據(jù)包進(jìn)行定位。

算法5 基于升級包文件名的精確搜索定位

輸入 升級包文件名,升級流量數(shù)據(jù)包

輸出 發(fā)起階段數(shù)據(jù)包信息

算法步驟:

1) 在所有HTTP協(xié)議的流量數(shù)據(jù)包的http_file_data數(shù)據(jù)段內(nèi)容中進(jìn)行搜索匹配,截取所有以http://或https://開頭,以.exe/.msi/.zip/.rar等可執(zhí)行文件后綴名結(jié)尾的URL字符串,并記錄;

2) 在1)提取的結(jié)果中,對文件監(jiān)控獲得的升級包文件名進(jìn)行匹配,如果匹配成功,記錄該URL及其所在數(shù)據(jù)包的通信五元組,并在該數(shù)據(jù)段中搜索相關(guān)的校驗信息,記錄使用的相關(guān)校驗方法以及校驗值并輸出,轉(zhuǎn)至4),如果URL提取失敗,轉(zhuǎn)至3);

3) 在所有HTTP協(xié)議的流量數(shù)據(jù)包的http_file_data數(shù)據(jù)段內(nèi)容中對以http://或https://開頭,以.ini/.dat/.xml/.cfg等配置文件類型擴(kuò)展名結(jié)尾的URL進(jìn)行搜索匹配,若匹配成功,則將其URL進(jìn)行截取,提取其通信五元組并輸出;

4) 根據(jù)2)3)定位數(shù)據(jù)包對應(yīng)的通信五元組進(jìn)行發(fā)起階段數(shù)據(jù)包定位,提取發(fā)起升級請求的內(nèi)容及對應(yīng)的升級請求URL并輸出。

算法結(jié)束

算法6 基于文件類型的模糊匹配定位

輸入 程序名,升級流量數(shù)據(jù)包

輸出 發(fā)起階段數(shù)據(jù)包信息

算法步驟:

1) 在所有HTTP協(xié)議的流量數(shù)據(jù)包的http_file_data數(shù)據(jù)段內(nèi)容中進(jìn)行搜索匹配,截取數(shù)據(jù)包中所有以http://或https://開頭,以.exe/.msi/.zip/.rar等可執(zhí)行文件后綴名結(jié)尾的字符串,并記錄;

2) 在1)提取的結(jié)果中,提取所有URL中文件名部分,根據(jù)Levenshtein Distance算法分別計算每個URL中文件名與舊版本程序文件名的相似度,選取超過閾值且最大的即為升級包URL,并在該數(shù)據(jù)段中搜索相關(guān)的校驗信息,記錄使用的相關(guān)校驗方法以及校驗值,提取其所在數(shù)據(jù)包的通信五元組并輸出,轉(zhuǎn)至4),如果URL提取失敗,轉(zhuǎn)至3);

3) 在所有HTTP協(xié)議的流量數(shù)據(jù)包的http_file_data數(shù)據(jù)段內(nèi)容中對以http://或https://開頭,以.ini/.dat/.xml/.cfg等配置文件類型擴(kuò)展名結(jié)尾的URL進(jìn)行搜索匹配,匹配成功,則截取其URL,提取其通信五元組并輸出,轉(zhuǎn)至4);

4) 根據(jù)2)、3)定位數(shù)據(jù)包對應(yīng)的通信五元組進(jìn)行發(fā)起階段數(shù)據(jù)包定位,提取發(fā)起升級請求的內(nèi)容及對應(yīng)的升級請求URL并輸出。

算法結(jié)束

Step3 下載階段數(shù)據(jù)包定位

算法7 基于搜索匹配的下載階段數(shù)據(jù)包定位

輸入 升級包URL,升級流量數(shù)據(jù)包

輸出 下載階段數(shù)據(jù)包信息

算法步驟:

1) 對所有HTTP協(xié)議的包進(jìn)行“GET”關(guān)鍵字匹配,提取下載請求及其對應(yīng)的URL

2) 在1)提取的所有下載請求及其對應(yīng)的URL中,搜索匹配Step2中提取的升級包URL,記錄匹配成功的下載請求數(shù)據(jù)包及其信五元組并輸出。

算法結(jié)束

Step4 重定向掃描

方法同基于下載階段信息的升級畫像中對應(yīng)部分。

Step5 畫像信息輸出

將Step1—Step4輸出的信息進(jìn)行整理,填充到表2升級畫像的對應(yīng)位置,輸出畫像。

以上兩種算法相結(jié)合可針對表1中包含的四大類升級漏洞完成信息提取,對比如表5所示。

兩種升級畫像算法的核心都是獲取升級包的URL,并以此為線索完成對發(fā)起階段和下載階段數(shù)據(jù)包的定位,基于發(fā)起階段信息的升級畫像算法是先通過對HTTP協(xié)議數(shù)據(jù)包http_file_data數(shù)據(jù)段掃描獲取升級包的URL及其配置信息,然后根據(jù)該URL完成對下載階段數(shù)據(jù)包的定位,基于下載階段信息的升級畫像算法是先通過對HTTP 協(xié)議數(shù)據(jù)包中所有的“GET”請求掃描獲取升級包URL,然后根據(jù)該升級包URL完成對發(fā)起階段數(shù)據(jù)包的定位。

以央視影音客戶端(無防護(hù)類,漏洞編號:CNNVD=201903-1283)為示例,升級畫像算法在分析過程中提取的關(guān)鍵信息如紅框所示,升級畫像如圖5所示。

表5 算法能力分析

【注】“√”表示算法可提取該情況下畫像信息,“×”表示算法不可提取該情況下畫像信息。

圖5 央視影音客戶端升級發(fā)起階段數(shù)據(jù)包

Figure 5 The data packet of request stage during CNTV client upgrade process

發(fā)起階段:程序使用HTTP協(xié)議請求新版本的配置信息(編號178),隨后服務(wù)器使用HTTP協(xié)議對請求進(jìn)行了回應(yīng)(編號181)。

回應(yīng)的配置信息以明文方式傳輸,其中包含了新版本程序的下載鏈接以及相關(guān)校驗值如圖6所示。

下載階段:程序根據(jù)配置信息中的URL使用HTTP協(xié)議進(jìn)行升級包的下載(編號2256)。央視影音客戶端升級下載階段數(shù)據(jù)包如圖7所示。

央視影音客戶端升級畫像如圖8所示。

圖6 央視影音客戶端升級發(fā)起階段信息

Figure 6 The infomation of request stage during CNTV client upgrade process

圖7 央視影音客戶端升級下載階段數(shù)據(jù)包

Figure 7 The data packet of download stage during CNTV client upgrade process

圖8 央視影音客戶端升級畫像

Figure 8 The portrait of CNTV client upgrade process

3.3 漏洞檢測

本節(jié)采用基于自動驗證的漏洞檢測模式并提出基于畫像信息升級向量匹配算法進(jìn)行升級流程漏洞的自動化檢測,其中漏洞檢測算法具體實現(xiàn)如下。

算法8 漏洞檢測算法

輸入 升級流程預(yù)畫像,漏洞檢測規(guī)則集

輸出 升級流程漏洞檢測預(yù)結(jié)果

算法步驟:

1) 讀入升級流程預(yù)畫像,用于漏洞檢測;

2) 對升級流程預(yù)畫像各個階段信息數(shù)據(jù)進(jìn)行處理,形成升級流程向量形式的描述;

3) 根據(jù)漏洞檢測規(guī)則集中的向量特征進(jìn)行匹配,如果匹配成功,輸出對應(yīng)的匹配結(jié)果。

算法結(jié)束

以央視影音客戶端為例,如圖9所示,根據(jù)其畫像,得到的升級流程向量為[0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1],將該向量與表3中的漏洞特征向量進(jìn)行匹配,可判定其漏洞類型為無防護(hù)漏洞。

圖9 央視影音漏洞檢測向量

Figure 9 The vulnerability detection vectors of CNTV client

3.4 漏洞驗證

為提高檢測結(jié)果的準(zhǔn)確性,防止漏報、誤報,構(gòu)建模擬驗證環(huán)境,對漏洞檢測結(jié)果進(jìn)行驗證,整體思路如圖10所示。

圖10 漏洞驗證思路

Figure 10 The method of vulnerability validation

(1) 目標(biāo)載荷預(yù)處理

對目標(biāo)載荷進(jìn)行預(yù)處理,處理內(nèi)容如下。

1) 根據(jù)畫像檢查升級包是否有壓縮,是否特殊格式,若有則在不影響載荷功效的情況下將載荷調(diào)整為相同格式。

2) 根據(jù)畫像檢查升級包是否有校驗,且讀取出是哪一類校驗,調(diào)用openssl庫函數(shù)的對應(yīng)校驗函數(shù)對步驟1)處理后的載荷計算校驗值,將計算出的校驗值替換原升級包的散列值。

3) 根據(jù)畫像檢查升級包是否有文件大小校驗,計算經(jīng)過步驟2)處理后的載荷大小,將結(jié)果替換原有畫像的數(shù)值。

4) 根據(jù)畫像信息更改惡意載荷名稱與原升級包名稱一致。

5) 惡意載荷上傳至惡意程序服務(wù)器等待目標(biāo)主機(jī)下載。

(2) 漏洞驗證配置文件生成

驗證配置信息中包含幾項內(nèi)容。

1) 升級關(guān)鍵數(shù)據(jù)包定位信息

依據(jù)畫像信息中的發(fā)起階段和下載階段相關(guān)的協(xié)議類型以及關(guān)鍵信息如URL、檢驗信息等進(jìn)行實時流量的劫持與定位。

2) 中間人攻擊待篡改信息

根據(jù)漏洞檢測預(yù)結(jié)論,針對不同類型的漏洞,結(jié)合畫像信息和惡意載荷信息將實時升級過程中的配置文件數(shù)據(jù)包,重定向數(shù)據(jù)包中的URL、相關(guān)校驗信息等關(guān)鍵字段信息篡改為惡意載荷的信息。

漏洞驗證配置文件生成如圖11所示。

(3) 模擬攻擊目標(biāo)主機(jī)

將漏洞驗證配置文件輸入到監(jiān)聽執(zhí)行模塊,惡意程序服務(wù)器啟動,目標(biāo)主機(jī)進(jìn)行軟件升級時進(jìn)行關(guān)鍵數(shù)據(jù)劫持與篡改,促使目標(biāo)主機(jī)下載惡意載荷,完成攻擊。

以央視影音客戶端為例,漏洞驗證過程如圖12所示。

根據(jù)漏洞檢測預(yù)結(jié)論,指導(dǎo)提取畫像中升級流量定位信息與待篡改關(guān)鍵信息,同時將惡意載荷上傳至服務(wù)器并獲取URL,將以上信息整理形成漏洞驗證配置文件并上傳至中間人攻擊監(jiān)聽執(zhí)行模塊,實施中間人攻擊。

圖11 漏洞驗證配置文件生成

Figure 11 The generation of configuration files for vulnerability validation

圖12 漏洞驗證過程

Figure 12 The vulnerability validation process

3.5 結(jié)果確認(rèn)

驗證過程中,若模擬環(huán)境監(jiān)測到目標(biāo)主機(jī)完成了惡意載荷的下載,校驗與自動執(zhí)行則判定預(yù)檢測結(jié)果正確,輸出最終的升級漏洞檢測結(jié)果。

4 方法實現(xiàn)與驗證

為了驗證上述檢測方法的有效性,本文設(shè)計并實現(xiàn)了一個基于該方法的升級漏洞自動分析與驗證系統(tǒng)。系統(tǒng)包含數(shù)據(jù)分析模塊、漏洞檢測模塊與漏洞驗證模塊,分別實現(xiàn)升級流量記錄與畫像生成、升級過程漏洞檢測,以及對檢測結(jié)果驗證的功能。利用該系統(tǒng),對184個Windows應(yīng)用軟件樣本進(jìn)行了分析測試,證明了方法的有效性。

4.1 系統(tǒng)組成

設(shè)計升級漏洞自動分析與驗證系統(tǒng),系統(tǒng)架構(gòu)如圖13所示。

數(shù)據(jù)分析模塊:由升級流量記錄模塊和升級流程畫像生成模塊兩部分組成,該部分負(fù)責(zé)升級流程的網(wǎng)絡(luò)數(shù)據(jù)信息的記錄與分析,系統(tǒng)使用tshark(wireshark的命令行工具)對升級流程的所有網(wǎng)絡(luò)數(shù)據(jù)流量進(jìn)行記錄,并將記錄的pcapng格式數(shù)據(jù)包轉(zhuǎn)為json格式數(shù)據(jù)包后,進(jìn)行流量數(shù)據(jù)分析,形成升級流程畫像。

漏洞檢測模塊:根據(jù)輸入的畫像信息,結(jié)合升級流程漏洞檢測規(guī)則集,依據(jù)升級漏洞檢測算法對升級漏洞進(jìn)行檢測并生成檢測結(jié)論。

漏洞驗證模塊:驗證檢測結(jié)果的正確性,模塊基于Kali Ettercap中間人攻擊框架[7]實現(xiàn),根據(jù)畫像信息和漏洞檢測預(yù)結(jié)論生成指導(dǎo)中間人攻擊的Ettercap配置文件,在攻擊配置文件的指導(dǎo)下,在模擬環(huán)境中對軟件升級過程進(jìn)行攻擊,根據(jù)驗證結(jié)果,得到最終的漏洞檢測結(jié)論。

圖13 升級漏洞自動分析與驗證系統(tǒng)架構(gòu)

Figure 13 The structure of automatic vulnerability analysis and verification system

4.2 測試環(huán)境與結(jié)果

升級漏洞自動化檢測系統(tǒng)分為宿主機(jī)和虛擬機(jī)兩部分,主程序Updanalyze.exe運(yùn)行在宿主機(jī)上,負(fù)責(zé)將待測程序安裝包、自動化分析腳本上傳至虛擬機(jī)與從虛擬機(jī)回傳結(jié)果。由VMware Workstation構(gòu)建的虛擬化Windows操作系統(tǒng)負(fù)責(zé)安裝待測程序、自動化分析升級過程與自動化驗證。測試環(huán)境網(wǎng)絡(luò)拓?fù)淙鐖D14所示。

圖14 測試環(huán)境網(wǎng)絡(luò)拓?fù)?/p>

Figure 14 The network topology diagram of testing environment

(1) 軟件樣本測試結(jié)果

對12類184款國內(nèi)外的Windows應(yīng)用軟件進(jìn)行測試,包含有升級漏洞的樣本數(shù)量為117個,所占比例超過60%,涵蓋了瀏覽器、輸入法等12個軟件功能類別,根據(jù)漏洞類型和目標(biāo)類別,對測試結(jié)果進(jìn)行統(tǒng)計。漏洞分布統(tǒng)計如圖15所示,不同軟件類別含漏洞占比如圖16所示。

圖15 漏洞分布統(tǒng)計

Figure 15 The statistics of vulnerability distribution

圖16 不同軟件類別含漏洞占比

Figure 16 The proportion of vulnerabilities in different software types

從圖15可以看出,目前主要的漏洞形式是無防護(hù)與校驗誤用兩個類型,占全部已分析樣本總數(shù)的58%,而重定向誤用和HTTPS防護(hù)缺失的情況相對較少,合計僅占全部樣本的12%。

從圖16可以看出,在目前已分析的12類軟件樣本中,瀏覽器類中漏洞樣本占比相對較少,僅為20%,下載工具類中漏洞的樣本占比例最高,達(dá)到100%,其余類別中,含漏洞軟件的比例從40%到80%不等。

(2) 系統(tǒng)性能測試結(jié)果

系統(tǒng)性能測試分析如表6所示。

經(jīng)過實際測試,系統(tǒng)誤報率為7%,系統(tǒng)漏報率為10%,原因分析如下。

表6 系統(tǒng)性能測試分析

系統(tǒng)誤報的樣本共8個,其中3個樣本在校驗過程中使用了非標(biāo)準(zhǔn)密碼算法,如截短MD5,系統(tǒng)未能有效檢測,誤報為“無防護(hù)”,實際應(yīng)為“校驗誤用”;5個樣本由于發(fā)起階段使用HTTPS協(xié)議傳輸配置信息時,其中包含了校驗信息,由于使用加密傳輸,僅根據(jù)流量數(shù)據(jù)無法檢測,導(dǎo)致在下載階段使用了HTTP協(xié)議情況下誤報為“HTTPS保護(hù)缺失”,實際應(yīng)為“無漏洞”。針對以上問題,可在后續(xù)的工作中,通過動態(tài)二進(jìn)制插樁監(jiān)控軟件升級過程中的關(guān)鍵函數(shù)調(diào)用并提取其參數(shù)[8]的方法對其加解密并在校驗過程進(jìn)行詳細(xì)分析。

系統(tǒng)漏報的漏洞共7個,其中3個樣本在軟件安裝結(jié)束后,立刻自動完成了升級的發(fā)起階段,系統(tǒng)未能記錄到該階段的流量數(shù)據(jù),實際2個樣本應(yīng)為“無防護(hù)”,1個樣本應(yīng)為“散列誤用”,針對此問題,可在軟件安裝前即開始網(wǎng)絡(luò)流量記錄,確保升級流量記錄的完整性;4個樣本在升級過程中未進(jìn)行發(fā)起階段,直接通過HTTP協(xié)議訪問固定域名下載升級包,實際應(yīng)為“無防護(hù)”,針對此問題,可通過人工進(jìn)行輔助判斷以提高準(zhǔn)確性。

5 結(jié)束語

軟件升級是應(yīng)用軟件的必備模塊,如果在線升級的流程設(shè)計或代碼實現(xiàn)中存在漏洞,將對用戶主機(jī)的安全性構(gòu)成嚴(yán)重威脅。然而現(xiàn)有的升級漏洞檢測方法和手段,缺乏統(tǒng)一的方法和標(biāo)準(zhǔn),效率低下、嚴(yán)重依賴人工,難以滿足對大批量高效分析和檢測的要求。

為解決這一問題,對大量軟件樣本升級流程和機(jī)制進(jìn)行分析與研究,本文提出了一種基于網(wǎng)絡(luò)流量的升級漏洞檢測方法。首先記錄和分析流量,生成畫像,并根據(jù)畫像通過特征匹配進(jìn)行漏洞檢測,最后對檢測結(jié)果進(jìn)行驗證得出最終結(jié)論。本文還設(shè)計并實現(xiàn)基于此方法的面向Windows應(yīng)用軟件的升級漏洞自動檢測與驗證系統(tǒng),系統(tǒng)由數(shù)據(jù)提取與分析、漏洞檢測與漏洞自動驗證3個子系統(tǒng)組成,實現(xiàn)了升級流程信息的自動提取和分析,以及基于此的漏洞檢測與驗證功能。通過對184個軟件樣本的分析測試,檢測出117個樣本的升級漏洞,證明了該方法和系統(tǒng)能夠高效準(zhǔn)確地發(fā)現(xiàn)軟件升級機(jī)制中存在的漏洞。

[1] 張海藩. 軟件工程導(dǎo)論[M]. 北京: 清華大學(xué)出版社, 1998.

ZHANG H F. Introduction to software engineering[M]. Beijing: Tsinghua University Press, 1998.

[2] 彭先覺, 胡勇. 利用軟件在線升級的攻擊[J]. 通信技術(shù), 2015(10): 1183-1186.

PENG X J, HU Y. Attacks using online software upgrade[J]. Communications Technology, 2015 (10): 1183-1186.

[3] 傅建明, 劉高, 李鵬偉. 一種殺毒軟件升級流程的安全性分析方法[J]. 武漢大學(xué)學(xué)報(理學(xué)版). 2015(6): 509-516.

FU J M, LIU G, LI P W. A security analysis method of antivirus software upgrade process[J] .Journal of Wuhan University (Natrual Science Edition). 2015 (6): 509-516.

[4] 周振飛. 軟件供應(yīng)鏈污染機(jī)理與防御研究[D]. 北京: 北京郵電大學(xué), 2018.

ZHOU Z F. Research on software supply chain pollution mechanism and defense[D] .Beijing: Beijing University of Posts and Telecommunications, 2018.

[5] CATUOGNO L, GALDI C, PERSIANO G. Guaranteeing dependency enforcement in software updates[M]. Secure IT Systems. Springer International Publishing, 2015.

[6] 趙作鵬, 尹志民, 王潛平, 等. 一種改進(jìn)的編輯距離算法及其在數(shù)據(jù)處理中的應(yīng)用[J]. 計算機(jī)應(yīng)用, 2009, 29(2): 424-426.

ZHAO Z P, YIN Z M, WANG Q P, et al. An improved edit distance algorithm and its application in data processing [J]. Journal of Computer Applications, 2009, 29 (2): 424-426.

[7] 劉倩. 基于Kali Linux的網(wǎng)絡(luò)安全技術(shù)探討與研究[D]. 長春: 吉林大學(xué), 2018.

LIU Q. Discussion and research on network security technology based on Kali Linux [D]. Changchun: Jilin University, 2018.

[8] 王乾. 基于動態(tài)二進(jìn)制分析的關(guān)鍵函數(shù)定位技術(shù)研究[D]. 鄭州: 信息工程大學(xué), 2012.

WANG Q. Research on key function location technology based on dynamic binary analysis [D]. Zhengzhou: Information Engineering University, 2012.

Automatic detection method of software upgrade vulnerabilitybased on network traffic analysis

TENG Jinhui, GUANG Yan, SHU Hui, ZHANG Bing

Strategic Support Force Information Engineering University, Zhengzhou 450001, China

During the software upgrade process, the lack of authentication for upgrade information or packages can lead to remote code execution vulnerabilities based on man-in-the-middle attack. An automatic detection method for upgrading vulnerabilities was proposed. The method described the upgrade mechanism by extracting the network traffic during the upgrade process, then matched it with the vulnerability feature vector to anticipate upgrading vulnerabilities. In a validation environment, the man-in-the-middle attack using the portrait information was carried out to verify the detection results. In addition, an automatic vulnerability analysis and verification system based on this method was designed. 184 Windows applications samples was test and 117 upgrade vulnerabilities were detected in these samples, which proved validity of the method.

software upgrade, network traffic analysis, vulnerability detection, automated analysis and validation

TheNational Key R & D Program of China(No.2018YFB08011601)

TP309.5

A

10.11959/j.issn.2096?109x.2020004

騰金輝(1996? ),男,河南洛陽人,戰(zhàn)略支援部隊信息工程大學(xué)助理研究員,主要研究方向為基于大數(shù)據(jù)的安全機(jī)制分析以及漏洞利用。

光焱(1983? ),男,安徽樅陽人,博士,戰(zhàn)略支援部隊信息工程大學(xué)講師,主要研究方向為安全機(jī)制分析與漏洞挖掘。

舒輝(1974? ),男,江蘇鹽城人,戰(zhàn)略支援部隊信息工程大學(xué)教授、博士生導(dǎo)師,主要研究方向為網(wǎng)絡(luò)安全、漏洞檢測。

張冰(1989? ),男,河南鄭州人,碩士,主要研究方向為軟件工程。

論文引用格式:騰金輝, 光焱, 舒輝, 等. 基于流量分析的軟件升級漏洞自動檢測方法[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2020, 6(1): 94-108.

TENG J H, GUANG Y, SHU H, et al. Automatic detection method of software upgrade vulnerability based on network traffic analysis [J]. Chinese Journal of Network and Information Security, 2020, 6(1): 94-108.

2019?05?14;

2019?08?12

騰金輝,1013787991@qq.com

國家重點研發(fā)計劃基金資助項目(No.2018YFB08011601)

猜你喜歡
檢測信息
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
小波變換在PCB缺陷檢測中的應(yīng)用
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 久久精品aⅴ无码中文字幕| 亚洲综合色在线| 亚洲成人在线免费| 热思思久久免费视频| 国产靠逼视频| 91视频精品| 99国产精品一区二区| 免费看美女毛片| 婷婷综合在线观看丁香| 国产激爽爽爽大片在线观看| 波多野结衣在线se| 一本大道无码日韩精品影视| 成人自拍视频在线观看| 亚洲一区二区日韩欧美gif| 青青草原国产一区二区| 呦视频在线一区二区三区| 女人18毛片一级毛片在线| 欧美成人精品欧美一级乱黄| 国产久操视频| 亚洲动漫h| 国产精品无码影视久久久久久久| 尤物国产在线| 日韩不卡高清视频| 欧美三级视频在线播放| 99无码中文字幕视频| 一级毛片免费高清视频| 五月天综合婷婷| 国产精品30p| 亚洲天堂2014| 亚洲第一国产综合| 欧美专区日韩专区| 亚洲综合色婷婷中文字幕| 三级国产在线观看| 99久久精彩视频| 亚洲视频影院| 欧美日韩一区二区三区四区在线观看| 国产成人精品一区二区不卡| 日韩麻豆小视频| 国产综合色在线视频播放线视| 国产成人无码AV在线播放动漫| 国产手机在线小视频免费观看| 国产精品久久自在自2021| 波多野结衣一区二区三区88| 五月婷婷导航| 九色综合伊人久久富二代| 欧美综合区自拍亚洲综合绿色 | 久久精品视频亚洲| 国产在线自乱拍播放| 国产美女在线观看| 性欧美在线| 久久精品国产999大香线焦| 91外围女在线观看| 欧美国产日韩在线| 露脸一二三区国语对白| 亚洲三级成人| 欧美在线精品一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 国产午夜不卡| 国产一级毛片高清完整视频版| 国产99视频在线| 国产精品欧美在线观看| 亚洲一区第一页| 久久综合色88| 国产精品观看视频免费完整版| 美女无遮挡免费网站| 国产欧美日韩一区二区视频在线| 亚洲成a人片| 国产成人夜色91| 国产午夜小视频| 麻豆国产原创视频在线播放 | 操操操综合网| 亚洲国产日韩欧美在线| 色哟哟色院91精品网站 | 亚洲欧美日韩色图| 国产毛片片精品天天看视频| 中文字幕2区| 97人妻精品专区久久久久| 日韩福利在线观看| 国产亚洲美日韩AV中文字幕无码成人| 99热在线只有精品| 欧美在线国产| 手机在线看片不卡中文字幕|