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

基于Volatility的圖形化用戶界面的實現(xiàn)和應(yīng)用

2021-04-01 14:04:25李嘉鑫張國榮梁成輝唐遠(yuǎn)新翟繼強(qiáng)
計算機(jī)與網(wǎng)絡(luò) 2021年1期

李嘉鑫 張國榮 梁成輝 唐遠(yuǎn)新 翟繼強(qiáng)

摘要:Volatility是一個基于Python語言的開源內(nèi)存取證框架,因功能強(qiáng)大而廣泛應(yīng)用在計算機(jī)內(nèi)存取證和分析領(lǐng)域。針對Volatility基于命令行用戶界面(CLI)參數(shù)繁多和使用不便的問題,使用Visual Studio 2016 C++集成開發(fā)環(huán)境,在詳細(xì)分析Volatility命令數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上,利用匿名管道和進(jìn)程執(zhí)行技術(shù)設(shè)計,實現(xiàn)了一個通用的Windows圖形用戶界面的Volatility操作程序,中文界面、交互性強(qiáng),方便用戶對內(nèi)存轉(zhuǎn)儲文件進(jìn)行解析和研究。

關(guān)鍵詞:取證;Volatility;命令行用戶界面;圖形用戶界面

中圖分類號:TP393文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2021)01-60-4

0引言

內(nèi)存取證作為計算機(jī)取證科學(xué)的重要分支,是指從計算機(jī)物理內(nèi)存和頁面交換文件中查找、提取、分析易失性證據(jù),是對傳統(tǒng)基于文件系統(tǒng)取證的重要補充,是對抗網(wǎng)絡(luò)攻擊或網(wǎng)絡(luò)犯罪的有力武器[1]。Volatility是一個使用Python語言編寫的內(nèi)存取證工具的框架[2],可以對現(xiàn)有絕大多數(shù)操作系統(tǒng)進(jìn)行內(nèi)存取證分析,并且支持多種內(nèi)存鏡像格式。

但是Volatility作為一款基于CLI的命令行工具[3],只能通過手動輸入命令來使用各種功能,并且命令種類繁雜,每種命令還包含多個參數(shù),對于非專業(yè)人士來說難于使用。

因此本文提出使用Visual Studio 2016 C++集成開發(fā)環(huán)境[4]設(shè)計和實現(xiàn)一個Windows平臺上運行的Volatility圖形化界面操作程序,用戶可以利用本程序方便快速地進(jìn)行內(nèi)存分析和取證。

1系統(tǒng)設(shè)計

Volatility圖形化界面操作程序采用Windows的窗口消息機(jī)制進(jìn)行構(gòu)建,免去了多余的第三方依賴。同時,為了能夠讓非專業(yè)人士方便快速地進(jìn)行內(nèi)存分析和取證,設(shè)計了一套簡單且高效的操作模式替代原本繁雜的手工指令輸入操作。

界面全部采用圖形化操作,為了以線性方式更為直觀地進(jìn)行操作,系統(tǒng)將操作步驟劃分為打開鏡像文件、選擇鏡像信息、選擇操作命令和設(shè)置命令參數(shù)。系統(tǒng)整體的運行流程是接收用戶輸入、構(gòu)建命令文本、執(zhí)行命令及取回執(zhí)行結(jié)果,主要分為構(gòu)建模塊和控制模塊,其中構(gòu)建模塊負(fù)責(zé)處理用戶輸入以及構(gòu)建對應(yīng)的操作命令,控制模塊負(fù)責(zé)使用操作命令對Volatility進(jìn)行控制并取回運行結(jié)果。

1.1操作命令的構(gòu)建

Volatility作為一個功能強(qiáng)大的內(nèi)存取證框架,支持多種命令,不同的命令對應(yīng)的參數(shù)字段又各有不同。為了實現(xiàn)可視化的命令構(gòu)建并且減少重復(fù)的樣板代碼,必須提高代碼的抽象程度。這就要求程序?qū)τ诓煌拿顟?yīng)該采取統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)進(jìn)行抽象,并且能夠根據(jù)該數(shù)據(jù)結(jié)構(gòu)繪制出對應(yīng)的配置面板。

本模塊包括三部分:

(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計

Volatility操作命令包含命令名、命令描述和多個命令參數(shù),操作命令的數(shù)據(jù)結(jié)構(gòu)如下:

分別定義了該參數(shù)在窗后標(biāo)簽上提示的文本、構(gòu)成實際命令的參數(shù)文本、該參數(shù)是單選參數(shù)或多選參數(shù)(如指定進(jìn)程標(biāo)識符和指定進(jìn)程名稱都是單選參數(shù),在構(gòu)成命令時只能取其中的一個;而顯示詳細(xì)信息就是多選參數(shù),可以附加在單選參數(shù)后)、負(fù)責(zé)選定參數(shù)的控件、參數(shù)是否默認(rèn)選定、參數(shù)值的提供類型(如使用下拉框或文本框提供)、負(fù)責(zé)參數(shù)值的控件、下拉框的默認(rèn)內(nèi)容以及值的檢查類型(如整數(shù)、十六進(jìn)制數(shù)、字符串等)。

通過以上數(shù)據(jù)結(jié)構(gòu),可以把Volatility支持的命令統(tǒng)一且完整地錄入至程序中。

(2)配置面板的繪制

選擇不同命令后應(yīng)該根據(jù)命令本身的使用方法繪制出對應(yīng)的配置面板。首先清空當(dāng)前面板,重新初始化上一次選擇命令后的現(xiàn)場,然后根據(jù)該命令參數(shù)的個數(shù)來調(diào)整整個面板的布局,最后根據(jù)每個命令參數(shù)調(diào)出對應(yīng)的選擇控件和輸入控件。

(3)構(gòu)建命令文本

通過上一節(jié)的操作,用戶在設(shè)置完成參數(shù)后,點擊運行會生成對應(yīng)的命令文本,構(gòu)建命令時會使用參數(shù)數(shù)據(jù)結(jié)構(gòu)中的pszParam字段以及用戶在面板中輸入或選定的值進(jìn)行拼接,還要使用參數(shù)數(shù)據(jù)結(jié)構(gòu)中的ValidationType字段進(jìn)行對應(yīng)的輸入檢查(如整數(shù)或十六進(jìn)制數(shù)格式的檢查)。

1.2使用操作命令對Volatility的控制

Volatility是一款基于命令行操作的內(nèi)存取證框架,使用給定參數(shù)啟動后會把相應(yīng)結(jié)果輸出至標(biāo)準(zhǔn)輸出,為了讓圖形界面得到結(jié)果需要將Volatility的結(jié)果輸出重定向。

(1)創(chuàng)建子進(jìn)程用于運行Volatility

主進(jìn)程本身已經(jīng)負(fù)責(zé)圖形界面的運行,不能用于實際運行Volatility,否則在等待Volatility運行時圖形界面會失去響應(yīng),必須使Volatility運行在新建的子進(jìn)程中。

創(chuàng)建進(jìn)程需要使用CreateProcess函數(shù),其函數(shù)定義如下:

下面只介紹程序中用到的參數(shù),其余參數(shù)均為默認(rèn)值NULL。

參數(shù)lpCommandLine指定子進(jìn)程運行程序的命令行文本,在參數(shù)lpApplicationName為NULL時必須包含要運行的應(yīng)用程序文件名;參數(shù)bInheritHandles指定創(chuàng)建的子進(jìn)程是否可以繼承父進(jìn)程擁有的句柄;參數(shù)dwCreationFlags指定創(chuàng)建的子進(jìn)程的創(chuàng)建標(biāo)志,如CREATE_NEW_CONSOLE和CREATE_NO_WINDOW分別表示子進(jìn)程需要新的控制臺和子進(jìn)程無需啟動窗口;參數(shù)lpStartupInfo指定預(yù)設(shè)置啟動信息結(jié)構(gòu)體的指針,啟動信息結(jié)構(gòu)體標(biāo)識進(jìn)程啟動時的初始信息,如標(biāo)準(zhǔn)輸入句柄、標(biāo)準(zhǔn)輸出句柄、標(biāo)準(zhǔn)錯誤句柄等;參數(shù)lpProcessInformation指定接受進(jìn)程信息結(jié)構(gòu)體指針。

(2)創(chuàng)建匿名管道傳遞Volatility運行結(jié)果

在創(chuàng)建進(jìn)程時設(shè)置的啟動信息結(jié)構(gòu)體包含關(guān)于標(biāo)準(zhǔn)輸出句柄和標(biāo)準(zhǔn)錯誤句柄的設(shè)置,為了重定向Volatility的運行結(jié)果,需要創(chuàng)建匿名管道用于子進(jìn)程向父進(jìn)程傳遞結(jié)果。

創(chuàng)建管道需要使用CreatePipe函數(shù)[5],其函數(shù)定義如下:

參數(shù)hReadPipe和hWritePipe分別指定接收管道讀寫句柄的指針;參數(shù)lpPipeAttributes指定安全參數(shù)結(jié)構(gòu)體指針,該結(jié)構(gòu)體標(biāo)識了管道句柄是否可以被新進(jìn)程繼承。

父進(jìn)程使用CreatePipe函數(shù)創(chuàng)建匿名管道后使用CreateProcess函數(shù)創(chuàng)建子進(jìn)程,并在啟動信息結(jié)構(gòu)體中指明輸出重定向至匿名管道的寫入句柄,父進(jìn)程就可以使用ReadFile函數(shù)讀取匿名管道中Volatility的運行結(jié)果。

2應(yīng)用測試

應(yīng)用測試中,程序運行于Windows 10 64位主機(jī)上,測試鏡像為Windows 7 32位的系統(tǒng)內(nèi)存鏡像[6],目標(biāo)是提取系統(tǒng)鏡像中的敏感資產(chǎn),如圖1所示。

使用pslist命令獲取當(dāng)前系統(tǒng)鏡像中的所有進(jìn)程信息,可以看到,存在iexplore.exe,notepad.exe,mspaint.exe,TrueCrypt.exe等進(jìn)程,如圖2所示。

使用netscan命令查看系統(tǒng)鏡像的網(wǎng)絡(luò)連接情況和套接字信息,分析后沒有異常,如圖3所示。

在分析網(wǎng)絡(luò)連接無異常之后,可以對cmd歷史命令進(jìn)行提取,如圖4所示。

最為關(guān)鍵的是,可以使用memdump命令來提取以上可疑進(jìn)程的dmp數(shù)據(jù)。

在notepad.exe進(jìn)程數(shù)據(jù)中成功獲取一個非偽加密的zip壓縮包文件,嘗試爆破密碼無果,使用strings命令對原始數(shù)據(jù)敏感信息進(jìn)行過濾分析操作,strings -e l ./3524.dmp| grep "pan"-B 5 -A 5>notepad.txt,如圖5所示。

在對加密磁盤軟件TrueCrypt.exe程序提取之后,將其掛載至主機(jī)磁盤,可以獲取key,如圖6所示。

至此,通過內(nèi)存取證軟件對目標(biāo)系統(tǒng)鏡像完成了敏感資產(chǎn)的搜集與提取測試工作。

3結(jié)束語

針對Volatility只能進(jìn)行輸入繁瑣命令的問題,使用Visual Studio C++語言設(shè)計和實現(xiàn)了一個通用的Windows圖形化界面操作程序,測試結(jié)果表明,可以方便實現(xiàn)Windows平臺下Volatility內(nèi)存取證框架的快速使用,更好地發(fā)揮Volatility內(nèi)存取證框架強(qiáng)大的取證分析能力。

參考文獻(xiàn)

[1]張瑜,劉慶中,李濤,等.內(nèi)存取證研究與進(jìn)展[J].軟件學(xué)報, 2015,26(5):1151-1172.

[2] LIGH M H,CASE A,LEVY J,et al..The Art of Memory Forensics [M].Indianapolis:Wiley,2014.

[3] MICHALAS A,MURRAY R.MemTri: A Memory Forensics Triage Tool Using Bayesian Network and Volatility[C]//The 9th ACM CCS International Workshop on Managing Insider Security Threats.Dallas:ACM,2017:57-66.

[4]孫鑫.VC++深入詳解:第3版[M].北京:清華大學(xué)出版社, 2019.

[5]王耀輝.Windows匿名管道技術(shù)及DOS命令重定向技術(shù)在可視化系統(tǒng)集成中的應(yīng)用[J].長春工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2012,33(3):274-277.

[6]翟繼強(qiáng),肖亞軍,楊海陸,等.基于內(nèi)存池標(biāo)記快速掃描技術(shù)的Windows內(nèi)核驅(qū)動對象掃描[J].西北工業(yè)大學(xué)學(xué)報,2019,37(5):1044-1052.

主站蜘蛛池模板: 午夜高清国产拍精品| 亚洲综合经典在线一区二区| 中国一级毛片免费观看| 黄色在线网| 国产一区二区视频在线| 国产精品99久久久久久董美香| 成人伊人色一区二区三区| 国产精品手机在线播放| 国产中文在线亚洲精品官网| 制服丝袜在线视频香蕉| 国产美女一级毛片| 一级看片免费视频| 欧美在线精品一区二区三区| 日韩AV手机在线观看蜜芽| 国产国拍精品视频免费看| 亚洲精品自在线拍| 欧美成人手机在线观看网址| 欧美中出一区二区| 在线国产91| 波多野结衣无码AV在线| 91亚洲视频下载| 欧美成人手机在线观看网址| 亚洲精品无码久久久久苍井空| 午夜三级在线| 国产 日韩 欧美 第二页| 成人在线观看不卡| 久久香蕉国产线| 18禁高潮出水呻吟娇喘蜜芽| 亚洲男人天堂2020| 国产欧美视频综合二区| 国产精品无码AV中文| 91视频99| 免费看a级毛片| 免费一级无码在线网站| 免费A∨中文乱码专区| 欧美α片免费观看| 最新亚洲av女人的天堂| 久久国产精品77777| 欧美国产日韩在线观看| 国产在线高清一级毛片| 色成人综合| 伊人久久综在合线亚洲91| 国产福利小视频在线播放观看| 中文字幕日韩欧美| 无码免费视频| 亚洲自拍另类| 制服丝袜一区| 国产最爽的乱婬视频国语对白| 国产成+人+综合+亚洲欧美| 重口调教一区二区视频| 无码人妻免费| 波多野结衣二区| 国产精品久久久精品三级| 欧美劲爆第一页| 国产办公室秘书无码精品| 91亚洲免费视频| 日韩成人在线视频| 99精品欧美一区| 色偷偷综合网| 免费一级成人毛片| 91偷拍一区| 免费一级毛片在线观看| 国产麻豆精品手机在线观看| 亚洲天堂精品在线观看| 国产麻豆精品手机在线观看| 97se亚洲综合| 欧美视频二区| 国产精品永久在线| 久久国产亚洲偷自| 26uuu国产精品视频| 美女免费黄网站| 一本一本大道香蕉久在线播放| 久久久久亚洲精品成人网 | 国产农村精品一级毛片视频| 亚洲动漫h| 无码高清专区| 国产精品久久久久鬼色| 精品久久综合1区2区3区激情| 亚洲第一极品精品无码| 免费观看国产小粉嫩喷水 | 无码专区国产精品一区| 无码中文字幕加勒比高清|