反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng),所述系統(tǒng)包括:密盾反匯編分析模塊,采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼,并獲取密碼算法和密鑰素材;密盾多路徑分析模塊,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息,并執(zhí)行各路徑;密盾木馬控制端生成模塊,根據(jù)生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段;模擬反彈木馬控制端響應(yīng)反彈木馬請求,并完成加密數(shù)據(jù)驗(yàn)證,生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。本發(fā)明可以安全有效重建反彈木馬控制端網(wǎng)絡(luò)行為的重要功能。
【專利說明】反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng)【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及木馬【技術(shù)領(lǐng)域】,特別是涉及木馬的控制分析【技術(shù)領(lǐng)域】,具體為一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng)。
【背景技術(shù)】
[0002]反彈木馬是駐留在用戶計(jì)算機(jī)里的一段服務(wù)程序,而攻擊者控制的則是相應(yīng)的客戶端程序。服務(wù)程序通過特定的端口,打開用戶計(jì)算機(jī)的連接資源。一旦攻擊者所掌握的客戶端程序發(fā)出請求,反彈木馬便和他連接起來,將用戶的信息竊取出去。
[0003]反彈端口型木馬分析了防火墻的特性后發(fā)現(xiàn):防火墻對于連入的鏈接往往會進(jìn)行非常嚴(yán)格的過濾,但是對于連出的鏈接卻疏于防范。于是,與一般的木馬相反,反彈端口型木馬的服務(wù)端(被控制端)使用主動端口,客戶端(控制端)使用被動端口,木馬定時監(jiān)測控制端的存在,發(fā)現(xiàn)控制端上線立即彈出端口王動連結(jié)控制端打開的王動端口,為了隱蔽起見,控制端的被動端口一般開在80,這樣,即使用戶使用端口掃描軟件檢查自己的端口,發(fā)現(xiàn)的也是類似TCP UserIP: 1026ControlIerIP:80ESTABLISHED的情況,稍微疏忽一點(diǎn)你就會以為是自己在瀏覽網(wǎng)頁。(防火墻也會這么認(rèn)為的,我想大概沒有哪個防火墻會不給用戶向外連接80端口吧,嘿嘿)看到這里,有人會問:那服務(wù)端怎么能知道控制端的IP地址呢?難道控制端只能使用固定的IP地址?
[0004]實(shí)際上,這種反彈端口的木馬常常會采用固定IP的第三方存儲設(shè)備來進(jìn)行IP地址的傳遞。舉一個簡單的例子:事先約定好一個個人主頁的空間,在其中放置一個文本文件,木馬每分鐘去GET—次這個文件,如果文件內(nèi)容為空,就什么都不做,如果有內(nèi)容就按照文本文件中的數(shù)據(jù)計(jì)算出控制端的IP和端口,反彈一個TCP鏈接回去,這樣每次控制者上線只需要FTP —個INI文件就可以告訴木馬自己的位置,為了保險(xiǎn)起見,這個IP地址甚至可以經(jīng)過一定的加密,除 了服務(wù)和控制端,其他的人就算拿到了也沒有任何的意義。對于一些能夠分析報(bào)文、過濾TCP/UDP的防火墻,反彈端口型木馬同樣有辦法對付,簡單的來說,控制端使用80端口的木馬完全可以真的使用HTTP協(xié)議,將傳送的數(shù)據(jù)包含在HTTP的報(bào)文中,難道防火墻真的精明到可以分辨通過HTTP協(xié)議傳送的究竟是網(wǎng)頁還是控制命令和數(shù)據(jù)? 一般使用反彈型木馬,比如灰鴿子,你可以先申請一個免費(fèi)主頁空間,里面建立一個文件,然后配置灰鴿子讀取里面的數(shù)據(jù),你每次上線后修改這個文件,讓他指向你的IP,就可以了。
[0005]此外,現(xiàn)有分析反彈木馬技術(shù)多采用蜜網(wǎng)蜜罐系統(tǒng),對于特殊木馬分析有較大風(fēng)險(xiǎn)。因?yàn)樘厥饽抉R是由專業(yè)技術(shù)人員開發(fā)、針對特定目標(biāo)、完成特別用途的一種重要的技術(shù)手段,其使用是嚴(yán)格限定范圍的,導(dǎo)致蜜網(wǎng)蜜罐系統(tǒng)一方面難以捕獲,另一方面在其它位置捕獲的樣本在蜜網(wǎng)蜜罐系統(tǒng)內(nèi)無法分析,甚至?xí)詺颖尽?br>
【發(fā)明內(nèi)容】
[0006]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中分析反彈木馬程序時分析難度大、風(fēng)險(xiǎn)高的問題。
[0007]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明在一方面提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼;運(yùn)行完整的反彈木馬匯編代碼,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并在分析過程中獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息;根據(jù)所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段;分別執(zhí)行各路徑,在執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求;執(zhí)行完所有路徑之后,根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
[0008]優(yōu)選地,還包括根據(jù)所述反彈木馬匯編代碼分析獲取反彈木馬執(zhí)行程序中的密碼算法和密鑰素材,依據(jù)所述密碼算法和所述密鑰素材選擇密鑰交換算法,生成加密密鑰;根據(jù)所述生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段,在模擬反彈木馬控制端響應(yīng)反彈木馬請求完成加密數(shù)據(jù)驗(yàn)證。
[0009]優(yōu)選地,所述靜態(tài)語義分析方法為:首選使用遞歸式反匯編算法得到程序匯編代碼,再使用線性掃描算法分析遺留代碼片段,形成完整的反彈木馬匯編代碼。
[0010]優(yōu)選地,靜態(tài)語義分析的內(nèi)容包括根據(jù)代碼指令特性、結(jié)構(gòu)特性,還原代碼流程和功能框圖。
[0011]優(yōu)選地,分析所有可能的路徑過程中的操作包括:創(chuàng)建進(jìn)程快照、約束關(guān)系,修改變量以及恢復(fù)進(jìn)程快照,并標(biāo)記各快照點(diǎn),記錄各快照點(diǎn)的相關(guān)信息;各快照點(diǎn)的相關(guān)信息至少包括約束關(guān)系、判斷條件、指令內(nèi)存地址。
[0012]優(yōu)選地,在執(zhí)行各路徑過程中:當(dāng)遍歷到某快照點(diǎn)時,首先判斷此快照點(diǎn)是否為已經(jīng)遍歷過的快照點(diǎn),如果是,則不再對此快照點(diǎn)進(jìn)行所述操作,按照實(shí)際路徑繼續(xù)執(zhí)行,如果否,則對此快照點(diǎn)進(jìn)行所述操作,并構(gòu)造遍歷此快照點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。
[0013]優(yōu)選地,報(bào)告中反映的反彈木馬控制端網(wǎng)絡(luò)行為功能包括:名應(yīng)答,建連響應(yīng)及認(rèn)證過程會話。
[0014]本發(fā)明在另外一方面提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng),包括:密盾反匯編分析模塊,采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼;密盾多路徑分析模塊,與密盾反匯編分析模塊相連,運(yùn)行完整的反彈木馬匯編代碼,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并在分析過程中獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息,同時執(zhí)行各路徑;密盾木馬控制端生成模塊,與所述密盾多路徑分析模塊和密盾反匯編分析模塊相連,根據(jù)所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段;在密盾多路徑分析模塊執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,所述密盾木馬控制端生成模塊所述根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并在執(zhí)行完所有路徑之后,所述密盾木馬控制端生成模塊根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
[0015]優(yōu)選地,密盾反匯編分析模塊還根據(jù)所述反彈木馬匯編代碼分析獲取反彈木馬執(zhí)行程序中的密碼算法和密鑰素材;所述密盾木馬控制端生成模塊依據(jù)所述密碼算法和所述密鑰素材選擇密鑰交換算法,生成加密密鑰;根據(jù)所述生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段,在模擬反彈木馬控制端響應(yīng)反彈木馬請求完成加密數(shù)據(jù)驗(yàn)證。
[0016]優(yōu)選地,所述靜態(tài)語義分析方法為:首選使用遞歸式反匯編算法得到程序匯編代碼,再使用線性掃描算法分析遺留代碼片段,形成完整的反彈木馬匯編代碼;靜態(tài)語義分析的內(nèi)容包括根據(jù)代碼指令特性、結(jié)構(gòu)特性,還原代碼流程和功能框圖。
[0017]優(yōu)選地,分析所有可能的路徑過程中的操作包括:創(chuàng)建進(jìn)程快照、約束關(guān)系,修改變量以及恢復(fù)進(jìn)程快照,并標(biāo)記各快照點(diǎn),記錄各快照點(diǎn)的相關(guān)信息;在執(zhí)行各路徑過程中:當(dāng)遍歷到某快照點(diǎn)時,首先判斷此快照點(diǎn)是否為已經(jīng)遍歷過的快照點(diǎn),如果是,則不再對此快照點(diǎn)進(jìn)行所述操作,按照實(shí)際路徑繼續(xù)執(zhí)行,如果否,則對此快照點(diǎn)進(jìn)行所述操作,并構(gòu)造遍歷此快照點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。
[0018]如上所述,本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng),具有以下有益效果:
[0019]1、本發(fā)明可以有效重建反彈木馬控制端網(wǎng)絡(luò)行為的重要功能,可以分析反彈木馬的工作流程,了解其功能、掌握對受害系統(tǒng)可能進(jìn)行的破壞活動,為系統(tǒng)損失評估提供信息,掌握木馬的漏洞利用技術(shù)、自啟動技術(shù)、自保護(hù)技術(shù)等為防御和清除木馬提供信息,為開發(fā)高效和實(shí)用的監(jiān)測系統(tǒng)奠定堅(jiān)實(shí)基礎(chǔ)。
[0020]2、本發(fā)明采用靜態(tài)語義分析方法,所以不需要真實(shí)執(zhí)行木馬可執(zhí)行文件,因此可以分析不能運(yùn)行的中間形式的二進(jìn)制代碼,由于無需實(shí)際執(zhí)行代碼,因此靜態(tài)語義分析時木馬不會危害系統(tǒng)安全,而且靜態(tài)語義分析方法可以在木馬文件執(zhí)行前對代碼的流程有個全局的掌握,不受具體進(jìn)程執(zhí)行流程的限制,可以對代碼詳盡的細(xì)粒度分析。
[0021]3、本發(fā)明可以降低被木馬覺察反跟蹤的可能性,有利于對木馬進(jìn)行完全的控制,防止木馬程序自毀,而且可以獲取執(zhí)行的每條指令信息并方便快速標(biāo)識。
[0022]4、通過分析反彈木馬程序,可以掌握木馬使用的新技術(shù)和新手段,學(xué)習(xí)其高超的計(jì)算機(jī)技術(shù),澄清實(shí)現(xiàn)機(jī)理。
【專利附圖】
【附圖說明】
[0023]圖1顯示為本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法的流程示意圖。
[0024]圖2顯示為本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法的執(zhí)行參考圖。
[0025]圖3顯示為本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng)的結(jié)構(gòu)示意圖。
[0026]元件標(biāo)號說明
[0027]I 反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng)
[0028]11密盾反匯編分析模塊
[0029]12密盾多路徑分析模塊
[0030]13密盾木馬控制端生成模塊【具體實(shí)施方式】
[0031]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0032]本發(fā)明的目的在于提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中分析反彈木馬程序時分析難度大、風(fēng)險(xiǎn)高的問題。以下將詳細(xì)闡述本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng)的原理及實(shí)施方式,使本領(lǐng)域技術(shù)人員不需要創(chuàng)造性勞動即可理解本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng)。
[0033]在反彈木馬樣本的分析過程中,經(jīng)常僅掌握木馬在被控主機(jī)的可執(zhí)行程序,由于互聯(lián)網(wǎng)分析存在安全隱患,因此不能在互聯(lián)網(wǎng)絡(luò)環(huán)境中執(zhí)行分析,為了澄清木馬的工作流程和網(wǎng)絡(luò)行為特征,采用基于QEMU模擬器的多路徑分析方法剖析木馬程序,重構(gòu)木馬控制端的關(guān)鍵功能完成其網(wǎng)絡(luò)行為分析和提取。
[0034]請參閱圖1,顯示為本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法的流程示意圖。如圖1所示,本發(fā)明提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,以下詳細(xì)說明本發(fā)明的方法。需要說明的是,若反彈木馬在執(zhí)行過程中沒有密碼控制的分部,相應(yīng)刪除對密鑰的分析步驟即可,由于多數(shù)主控端都會采用密碼的方式進(jìn)行控制,所以本發(fā)明的實(shí)施例是以反彈木馬執(zhí)行中需要輸入主控端的密碼為例進(jìn)行說明的。
[0035]首先,采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼,并根據(jù)所述反彈木馬匯編代碼分析獲取反彈木馬執(zhí)行程序中的密碼算法和密鑰素材。靜態(tài)語義分析方法是本領(lǐng)域技術(shù)人員所熟知的,在此不再詳細(xì)贅述。
[0036]具體地,在本實(shí)施例中,所述靜態(tài)語義分析方法為:首選使用遞歸式反匯編算法得到程序匯編代碼,再使用線性掃描算法分析遺留代碼片段,形成完整的反彈木馬匯編代碼。其優(yōu)點(diǎn)在于:
[0037]I)不需要真實(shí)執(zhí)行木馬可執(zhí)行文件,因此可以分析不能運(yùn)行的中間形式的二進(jìn)制代碼。
[0038]2)由于無需實(shí)際執(zhí)行代碼,因此靜態(tài)語義分析時木馬不會危害系統(tǒng)安全。
[0039]3)靜態(tài)語義分析方法可以在木馬文件執(zhí)行前對代碼的流程有個全局的掌握。
[0040]4)不受具體進(jìn)程執(zhí)行流程的限制,可以對代碼詳盡的細(xì)粒度分析。
[0041]靜態(tài)語義分析的內(nèi)容包括根據(jù)代碼指令特性、結(jié)構(gòu)特性,還原代碼流程和功能框圖。通過靜態(tài)語義分析代碼指令特性、結(jié)構(gòu)特性,還原代碼流程、功能框圖,重點(diǎn)分析特殊木馬樣本的加密機(jī)制和加密算法,提取密碼生成素材。
[0042]之后便可依據(jù)所述密碼算法和所述密鑰素材選擇密鑰交換算法,生成加密密鑰。
[0043]接著,運(yùn)行完整的反彈木馬匯編代碼,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并在分析過程中獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。
[0044]然后根據(jù)所述生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段。[0045]在這里需要說明的是,反彈木馬控制端功能程序片段是逐漸完善的,在獲取到密碼算法和所述密鑰素材時,便可選擇密鑰交換算法,生成加密密鑰生成反彈木馬控制端功能程序片段。之后,通過不斷獲取的所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息逐漸增加和完善反彈木馬控制端功能程序片段。
[0046]分析所有可能的路徑過程中的操作包括:創(chuàng)建進(jìn)程快照、約束關(guān)系,修改變量以及恢復(fù)進(jìn)程快照,并標(biāo)記各快照點(diǎn),記錄各快照點(diǎn)的相關(guān)信息,其中,各快照點(diǎn)的相關(guān)信息至少包括約束關(guān)系、判斷條件、指令內(nèi)存地址。
[0047]在執(zhí)行各路徑過程中:當(dāng)遍歷到某快照點(diǎn)時,首先判斷此快照點(diǎn)是否為已經(jīng)遍歷過的快照點(diǎn),如果是,則不再對此快照點(diǎn)進(jìn)行所述操作,按照實(shí)際路徑繼續(xù)執(zhí)行,如果否,則對此快照點(diǎn)進(jìn)行所述操作,并構(gòu)造遍歷此快照點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。
[0048]在造所有可能的路徑之后,按一定的執(zhí)行策略,分別執(zhí)行各路徑,在執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并完成加密數(shù)據(jù)驗(yàn)證,驗(yàn)證獲取所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。執(zhí)行完所有路徑之后,根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求和加密數(shù)據(jù)驗(yàn)證生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
[0049]具體地,可以采用利用QEMU模擬器的多路徑分析方法動態(tài)分析反彈木馬的所有工作情況?;赒EMU模擬器的多路徑分析方法動態(tài)分析使用標(biāo)識已遍歷節(jié)點(diǎn)和循環(huán)代碼特殊處理模式,可以提高分析效率和代碼覆蓋率。其優(yōu)點(diǎn)在于:1)可以降低被木馬覺察反跟蹤的可能性;2)有利于對木馬進(jìn)行完全的控制,防止木馬程序自毀;3)可以獲取執(zhí)行的每條指令信息并方便快速標(biāo)識。
[0050]采用基于污染數(shù)據(jù)傳播理論構(gòu)造程序的不同執(zhí)行路徑,在木馬動態(tài)分析過程中自動遍歷所有可能的執(zhí)行路徑,分析不同條件下木馬的網(wǎng)絡(luò)行為,可確保木馬分析的全面性。在模擬器中加載木馬的可執(zhí)行文件,在分析過程中創(chuàng)建進(jìn)程快照、約束關(guān)系以及修改變量、恢復(fù)進(jìn)程快照等操作和標(biāo)記各快照點(diǎn)(即遍歷的節(jié)點(diǎn)),記錄節(jié)點(diǎn)的相關(guān)信息(包括約束關(guān)系、判斷條件、指令內(nèi)存地址等)。在路徑遍歷過程中,當(dāng)遍歷到某節(jié)點(diǎn)時,首先判斷此節(jié)點(diǎn)是否為已經(jīng)遍歷過的節(jié)點(diǎn),如果是,則不在此處作創(chuàng)建快照等操作,按照實(shí)際路徑繼續(xù)執(zhí)行;如果不是,則需要創(chuàng)建進(jìn)程快照和約束系統(tǒng)等,并構(gòu)造遍歷此節(jié)點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。重復(fù)上述操作,直至覆蓋程序中所有代碼。
[0051]最后,綜合分析此可執(zhí)行文件相關(guān)的所有系統(tǒng)調(diào)用信息,包括調(diào)用的類型以及使用的參數(shù)等,重點(diǎn)獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。根據(jù)網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用信息自動輔之于手工生成木馬控制端重要功能程序片段,模擬木馬控制端響應(yīng)木馬請求,完成加密數(shù)據(jù)驗(yàn)證,便于分析木馬后續(xù)工作模式,全面掌握木馬的工作流程,生成一份完整詳盡的分析報(bào)告,其中,報(bào)告中反映的反彈木馬控制端網(wǎng)絡(luò)行為功能包括:名應(yīng)答,建連響應(yīng)及認(rèn)證過程會話。
[0052]本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法具體在執(zhí)行時,可參考圖2所示的流程。
[0053]首先采用靜態(tài)語義分析方法,分析木馬加密機(jī)制,提取密鑰素材;此時,便可選擇密鑰交換算法,生成加密密鑰生成反彈木馬控制端功能程序片段。之后,運(yùn)行完整的反彈木馬匯編代碼,分析木馬執(zhí)行路徑信息,生成木馬執(zhí)行各路徑的配置,即執(zhí)行策略,一條條路徑依次執(zhí)行,由于在執(zhí)行路徑時會標(biāo)記快照點(diǎn),所以可以判斷是否所有路徑執(zhí)行完畢,若全部執(zhí)行路徑執(zhí)行完畢則結(jié)束,否則執(zhí)行一條完整的路徑,在執(zhí)行一條路徑的過程中,若需要和控制端進(jìn)行網(wǎng)絡(luò)連接,根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并完成加密數(shù)據(jù)驗(yàn)證,驗(yàn)證獲取所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。之后,繼續(xù)沿著該路徑繼續(xù)執(zhí)行,一旦需要和控制端進(jìn)行網(wǎng)絡(luò)連接,根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并完成加密數(shù)據(jù)驗(yàn)證,驗(yàn)證獲取所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息,直到執(zhí)行完該路徑,獲取執(zhí)行該路徑時的所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。若在執(zhí)行路徑中不需要網(wǎng)絡(luò)連接,則直接獲取該路徑時的所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。
[0054]作為網(wǎng)絡(luò)安全工作人員,分析特殊木馬的工作流程、使用技術(shù)及其發(fā)展趨勢,為開發(fā)高效和實(shí)用的監(jiān)測系統(tǒng)奠定堅(jiān)實(shí)基礎(chǔ),而且木馬分析是網(wǎng)絡(luò)應(yīng)急響應(yīng)、信息取證的基礎(chǔ)。通過對大量的反彈木馬就行分析,了解其功能、掌握對受害系統(tǒng)可能進(jìn)行的破壞活動,為系統(tǒng)損失評估提供信息,掌握木馬的漏洞利用技術(shù)、自啟動技術(shù)、自保護(hù)技術(shù)等為防御和清除木馬提供信息。通過分析特殊木馬程序,還可以掌握木馬使用的新技術(shù)和新手段,學(xué)習(xí)其高超的計(jì)算機(jī)技術(shù),澄清實(shí)現(xiàn)機(jī)理。
[0055]為實(shí)現(xiàn)上述方法,本發(fā)明在另外一方面提供一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng),如圖3所示,所述反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng)I包括:密盾反匯編分析模塊11、密盾多路徑分析模塊12和密盾木馬控制端生成模塊13。
[0056]所述密盾反匯編分析模塊11采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼,并根據(jù)所述反彈木馬匯編代碼分析獲取反彈木馬執(zhí)行程序中的密碼算法和密鑰素材。
[0057]在這里,所述靜態(tài)語義分析方法為:首選使用遞歸式反匯編算法得到程序匯編代碼,再使用線性掃描算法分析遺留代碼片段,形成完整的反彈木馬匯編代碼。
[0058]靜態(tài)語義分析的內(nèi)容包括根據(jù)代碼指令特性、結(jié)構(gòu)特性,還原代碼流程和功能框圖。通過靜態(tài)語義分析代碼指令特性、結(jié)構(gòu)特性,還原代碼流程、功能框圖,重點(diǎn)分析特殊木馬樣本的加密機(jī)制和加密算法,提取密碼生成素材。
[0059]所述密盾多路徑分析模塊12與密盾反匯編分析模塊11相連,運(yùn)行完整的反彈木馬匯編代碼的反彈木馬程序,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并在分析過程中獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。
[0060]在造所有可能的路徑之后,按一定的執(zhí)行策略,分別執(zhí)行各路徑,在執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并完成加密數(shù)據(jù)驗(yàn)證;執(zhí)行完所有路徑之后,根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求和加密數(shù)據(jù)驗(yàn)證生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
[0061]分析所有可能的路徑過程中的操作包括:創(chuàng)建進(jìn)程快照、約束關(guān)系,修改變量以及恢復(fù)進(jìn)程快照,并標(biāo)記各快照點(diǎn),記錄各快照點(diǎn)的相關(guān)信息,其中,各快照點(diǎn)的相關(guān)信息至少包括約束關(guān)系、判斷條件、指令內(nèi)存地址。
[0062]在執(zhí)行各路徑過程中:當(dāng)遍歷到某快照點(diǎn)時,首先判斷此快照點(diǎn)是否為已經(jīng)遍歷過的快照點(diǎn),如果是,則不再對此快照點(diǎn)進(jìn)行所述操作,按照實(shí)際路徑繼續(xù)執(zhí)行,如果否,則對此快照點(diǎn)進(jìn)行所述操作,并構(gòu)造遍歷此快照點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。[0063]具體地,采用基于污染數(shù)據(jù)傳播理論構(gòu)造程序的不同執(zhí)行路徑,在木馬動態(tài)分析過程中自動遍歷所有可能的執(zhí)行路徑,分析不同條件下木馬的網(wǎng)絡(luò)行為,可確保木馬分析的全面性。在模擬器中加載木馬的可執(zhí)行文件,在分析過程中創(chuàng)建進(jìn)程快照、約束關(guān)系以及修改變量、恢復(fù)進(jìn)程快照等操作和標(biāo)記各快照點(diǎn)(即遍歷的節(jié)點(diǎn)),記錄節(jié)點(diǎn)的相關(guān)信息(包括約束關(guān)系、判斷條件、指令內(nèi)存地址等)。在路徑遍歷過程中,當(dāng)遍歷到某節(jié)點(diǎn)時,首先判斷此節(jié)點(diǎn)是否為已經(jīng)遍歷過的節(jié)點(diǎn),如果是,則不在此處作創(chuàng)建快照等操作,按照實(shí)際路徑繼續(xù)執(zhí)行;如果不是,則需要創(chuàng)建進(jìn)程快照和約束系統(tǒng)等,并構(gòu)造遍歷此節(jié)點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。重復(fù)上述操作,直至覆蓋程序中所有代碼。
[0064]最后,綜合分析此可執(zhí)行文件相關(guān)的所有系統(tǒng)調(diào)用信息,包括調(diào)用的類型以及使用的參數(shù)等,重點(diǎn)獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息。
[0065]所述密盾木馬控制端生成模塊13與所述密盾多路徑分析模塊12和密盾反匯編分析模塊11相連,根據(jù)所述生產(chǎn)的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段;在密盾多路徑分析模塊12執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,所述密盾木馬控制端生成模塊13所述根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并完成加密數(shù)據(jù)驗(yàn)證,并在執(zhí)行完所有路徑之后,所述密盾木馬控制端生成模塊13根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求和加密數(shù)據(jù)驗(yàn)證生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
[0066]也就是說在所述密盾木馬控制端生成模塊13中,根據(jù)網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用信息自動輔之于手工生成木馬控制端重要功能程序片段,模擬木馬控制端響應(yīng)木馬請求,完成加密數(shù)據(jù)驗(yàn)證,便于分析木馬后續(xù)工作模式,全面掌握木馬的工作流程,生成一份完整詳盡的分析報(bào)告,其中,報(bào)告中反映的反彈木馬控制端網(wǎng)絡(luò)行為功能包括:名應(yīng)答,建連響應(yīng)及認(rèn)證過程會話。
[0067]在所述密盾木馬控制端生成模塊13中,根據(jù)所述生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段。在這里需要說明的是,反彈木馬控制端功能程序片段是逐漸完善的,在獲取到密碼算法和所述密鑰素材時,便可選擇密鑰交換算法,生成加密密鑰生成反彈木馬控制端功能程序片段。之后,通過不斷獲取的所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息逐漸增加和完善反彈木馬控制端功能程序片段。
[0068]具體實(shí)施時,可在Redhat6.3系統(tǒng)上安裝QEMU模擬器,模擬X86的CPU個數(shù)為32個,模擬網(wǎng)卡為Intel-82576芯片組的“本地連接”;安裝由密盾多路徑分析模塊12構(gòu)成的軟件,安裝由密盾木馬控制端生成模塊13構(gòu)成的軟件,安裝由密盾反匯編分析模塊11構(gòu)成的靜態(tài)語義分析軟件。
[0069]將木馬執(zhí)行程序在密盾多路徑分析模塊12運(yùn)行,工程師參與調(diào)試分析獲取密碼算法和密鑰素材,分析信息自動導(dǎo)入密盾木馬控制端生成模塊13,選擇密鑰交換算法,生成加密密鑰。
[0070]在密盾多路徑分析模塊12運(yùn)行木馬程序,獲取代碼執(zhí)行路徑參數(shù),生成執(zhí)行策略,當(dāng)需要網(wǎng)絡(luò)連接時,系統(tǒng)會暫停,待工程師將網(wǎng)絡(luò)連接參數(shù)輸入到密盾木馬控制端生成模塊13后,執(zhí)行啟動網(wǎng)絡(luò)服務(wù)監(jiān)聽程序;繼續(xù)執(zhí)行密盾多路徑分析模塊12,完成所有分析后,選擇“生成報(bào)告”,系統(tǒng)產(chǎn)生分析報(bào)告。
[0071]綜上所述,本發(fā)明的一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法及系統(tǒng),達(dá)到了以下有益效果:
[0072]1、本發(fā)明可以分析反彈木馬的工作流程,了解其功能、掌握對受害系統(tǒng)可能進(jìn)行的破壞活動,為系統(tǒng)損失評估提供信息,掌握木馬的漏洞利用技術(shù)、自啟動技術(shù)、自保護(hù)技術(shù)等為防御和清除木馬提供信息,為開發(fā)高效和實(shí)用的監(jiān)測系統(tǒng)奠定堅(jiān)實(shí)基礎(chǔ)。
[0073]2、本發(fā)明采用靜態(tài)語義分析方法,所以不需要真實(shí)執(zhí)行木馬可執(zhí)行文件,因此可以分析不能運(yùn)行的中間形式的二進(jìn)制代碼,由于無需實(shí)際執(zhí)行代碼,因此靜態(tài)語義分析時木馬不會危害系統(tǒng)安全,而且靜態(tài)語義分析方法可以在木馬文件執(zhí)行前對代碼的流程有個全局的掌握,不受具體進(jìn)程執(zhí)行流程的限制,可以對代碼詳盡的細(xì)粒度分析。
[0074]3、本發(fā)明可以降低被木馬覺察反跟蹤的可能性,有利于對木馬進(jìn)行完全的控制,防止木馬程序自毀,而且可以獲取執(zhí)行的每條指令信息并方便快速標(biāo)識。
[0075]4、通過分析反彈木馬程序,可以掌握木馬使用的新技術(shù)和新手段,學(xué)習(xí)其高超的計(jì)算機(jī)技術(shù),澄清實(shí)現(xiàn)機(jī)理。
[0076]所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。
[0077]上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬【技術(shù)領(lǐng)域】中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
【權(quán)利要求】
1.一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,包括: 采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼; 運(yùn)行完整的反彈木馬匯編代碼,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并在分析過程中獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息; 根據(jù)所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段; 分別執(zhí)行各路徑,在執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求; 執(zhí)行完所有路徑之后,根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
2.根據(jù)權(quán)利要求1所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,還包括根據(jù)所述反彈木馬匯編代碼分析獲取反彈木馬執(zhí)行程序中的密碼算法和密鑰素材,依據(jù)所述密碼算法和所述密鑰素材選擇密鑰交換算法,生成加密密鑰;根據(jù)所述生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段,在模擬反彈木馬控制端響應(yīng)反彈木馬請求完成加密數(shù)據(jù)驗(yàn)證。
3.根據(jù)權(quán)利要求1所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,所述靜態(tài)語義分析方法為:首選使用遞歸式反匯編算法得到程序匯編代碼,再使用線性掃描算法分析遺留代碼片段,形成完整的反彈木馬匯編代碼。
4.根據(jù)權(quán)利要求1所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,靜態(tài)語義分析的內(nèi)容包括根據(jù)代碼指令特性、結(jié)構(gòu)特性,還原代碼流程和功能框圖。
5.根據(jù)權(quán)利要求1所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,分析所有可能的路徑過程中的操作包括:創(chuàng)建進(jìn)程快照、約束關(guān)系,修改變量以及恢復(fù)進(jìn)程快照,并標(biāo)記各快照點(diǎn),記錄各快照點(diǎn)的相關(guān)信息;各快照點(diǎn)的相關(guān)信息至少包括約束關(guān)系、判斷條件、指令內(nèi)存地址。
6.根據(jù)權(quán)利要求5所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,在執(zhí)行各路徑過程中: 當(dāng)遍歷到某快照點(diǎn)時,首先判斷此快照點(diǎn)是否為已經(jīng)遍歷過的快照點(diǎn),如果是,則不再對此快照點(diǎn)進(jìn)行所述操作,按照實(shí)際路徑繼續(xù)執(zhí)行,如果否,則對此快照點(diǎn)進(jìn)行所述操作,并構(gòu)造遍歷此快照點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。
7.根據(jù)權(quán)利要求1所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的方法,其特征在于,報(bào)告中反映的反彈木馬控制端網(wǎng)絡(luò)行為功能包括:名應(yīng)答,建連響應(yīng)及認(rèn)證過程會話。
8.一種反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng),其特征在于,包括: 密盾反匯編分析模塊,采用靜態(tài)語義分析方法對反彈木馬執(zhí)行程序進(jìn)行分析,形成完整的反彈木馬匯編代碼; 密盾多路徑分析模塊,與密盾反匯編分析模塊相連,運(yùn)行完整的反彈木馬匯編代碼,獲取代碼執(zhí)行路徑參數(shù),分析和構(gòu)造所有可能的路徑并在分析過程中獲取反彈木馬執(zhí)行過程中網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息,同時執(zhí)行各路徑; 密盾木馬控制端生成模塊,與所述密盾多路徑分析模塊和密盾反匯編分析模塊相連,根據(jù)所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段;在密盾多路徑分析模塊執(zhí)行過程中若需要與控制端進(jìn)行網(wǎng)絡(luò)連接,所述密盾木馬控制端生成模塊所述根據(jù)所述反彈木馬控制端功能程序片段模擬反彈木馬控制端響應(yīng)反彈木馬請求,并在執(zhí)行完所有路徑之后,所述密盾木馬控制端生成模塊根據(jù)模擬的反彈木馬控制端響應(yīng)反彈木馬請求生成反映反彈木馬控制端網(wǎng)絡(luò)行為功能的報(bào)告。
9.根據(jù)權(quán)利要求8所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng),其特征在于,密盾反匯編分析模塊還根據(jù)所述反彈木馬匯編代碼分析獲取反彈木馬執(zhí)行程序中的密碼算法和密鑰素材;所述密盾木馬控制端生成模塊依據(jù)所述密碼算法和所述密鑰素材選擇密鑰交換算法,生成加密密鑰;根據(jù)所述生成的加密密鑰、所述網(wǎng)絡(luò)訪問和網(wǎng)絡(luò)函數(shù)調(diào)用的詳細(xì)信息生成反彈木馬控制端功能程序片段,在模擬反彈木馬控制端響應(yīng)反彈木馬請求完成加密數(shù)據(jù)驗(yàn)證。
10.根據(jù)權(quán)利要求8所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng),其特征在于,所述靜態(tài)語義分析方法為:首選使用遞歸式反匯編算法得到程序匯編代碼,再使用線性掃描算法分析遺留代碼片段,形成完整的反彈木馬匯編代碼;靜態(tài)語義分析的內(nèi)容包括根據(jù)代碼指令特性、結(jié)構(gòu)特性,還原代碼流程和功能框圖。
11.根據(jù)權(quán)利要求8所述的反彈木馬控制端網(wǎng)絡(luò)行為功能重建的系統(tǒng),其特征在于,分析所有可能的路徑過程中的操作包括:創(chuàng)建進(jìn)程快照、約束關(guān)系,修改變量以及恢復(fù)進(jìn)程快照,并標(biāo)記各快照點(diǎn),記錄各快照點(diǎn)的相關(guān)信息; 在執(zhí)行各路徑過程中:當(dāng)遍歷到某快照點(diǎn)時,首先判斷此快照點(diǎn)是否為已經(jīng)遍歷過的快照點(diǎn),如果是,則不再對此快照點(diǎn)進(jìn)行所述操作,按照實(shí)際路徑繼續(xù)執(zhí)行,如果否,則對此快照點(diǎn)進(jìn)行所述操作,并構(gòu)造遍歷此快照點(diǎn)對應(yīng)的所有可能路徑,分析其網(wǎng)絡(luò)行為。
【文檔編號】H04L29/06GK103491077SQ201310408125
【公開日】2014年1月1日 申請日期:2013年9月9日 優(yōu)先權(quán)日:2013年9月9日
【發(fā)明者】耿振民 申請人:無錫華御信息技術(shù)有限公司