專利名稱:一種云計(jì)算環(huán)境下的取證方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于云計(jì)算和計(jì)算機(jī)取證(computer forensics)技術(shù)領(lǐng)域,具體涉及一種云計(jì)算環(huán)境下的取證方法及系統(tǒng)。
背景技術(shù):
云計(jì)算類似于傳統(tǒng)的C/S模式,服務(wù)接入端為Client端,而服務(wù)提供端為Server端。云取證(cloud forensics)是指在云計(jì)算環(huán)境中對于數(shù)字證據(jù)的固定、提取、分析和鑒定。主要用于捕獲犯罪分子入侵云計(jì)算環(huán)境后遺留的痕跡并作為證據(jù)呈送司法部門。當(dāng)前的云取證技術(shù),分為兩種第一種是以接入端取證為主。如2011年black hat大會(huì)上,斯坦福大學(xué)的 Elie Bursztein 教授提出的 OWADE 取證工具(Doing forensics in the cloudage OffADE:beyond files recovery forensic);第二種則以服務(wù)提供端取證為主。取證步驟為提取虛擬機(jī)鏡像文件一鏡像文件本地加載一利用取證工具進(jìn)行取證。從取證角度來看,云計(jì)算存在著兩大關(guān)鍵特性規(guī)模大和動(dòng)態(tài)變化(如云的彈性擴(kuò)展特性)。以上特性加大了云取證的難度,云取證至少面臨以下四大問題第一個(gè)問題是云中數(shù)據(jù)物理存放地點(diǎn)不確定。例如,某個(gè)應(yīng)用所產(chǎn)生的數(shù)據(jù)可能分散在一臺或者多臺服務(wù)器中。第二個(gè)問題是邏輯上相關(guān)的數(shù)據(jù)可能分散存放。例如,某應(yīng)用同時(shí)部署在不同的服務(wù)器上,而該應(yīng)用所產(chǎn)生的數(shù)據(jù)則可能分散在不同的服務(wù)器中。第三個(gè)問題是待取證數(shù)據(jù)的規(guī)模大,而真正與犯罪相關(guān)的信息很少,可能需要對多臺VM (虛擬機(jī))和/或物理磁盤進(jìn)行分析。第四個(gè)問題是云的彈性擴(kuò)展機(jī)制要求取證能及時(shí)適應(yīng)系統(tǒng)的規(guī)模的變化,即彈性 取證。
發(fā)明內(nèi)容
本發(fā)明的目的在于基于虛擬化平臺,提出一種云計(jì)算環(huán)境下的取證方法及系統(tǒng),化“被動(dòng)取證”為“主動(dòng)取證”,即系統(tǒng)(或應(yīng)用)主動(dòng)提供可能與犯罪活動(dòng)相關(guān)的信息給取證部門,一旦有取證需求,取證部門不再去原系統(tǒng)(或應(yīng)用)查找,直接在本部門即可實(shí)現(xiàn)取證。為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種云計(jì)算環(huán)境下的取證方法,其步驟包括I)云服務(wù)提供商在其虛擬服務(wù)器中設(shè)置用于取證的應(yīng)用程序編程接口 ;2)云應(yīng)用直接調(diào)用所述應(yīng)用程序編程接口,對傳輸?shù)目梢蓴?shù)據(jù)進(jìn)行簽名并生成校驗(yàn)值,然后將所述可疑數(shù)據(jù)傳輸至一取證虛擬機(jī);3)所述取證虛擬機(jī)對所述可疑數(shù)據(jù)進(jìn)行重新校驗(yàn),并存儲(chǔ)通過校驗(yàn)的可疑數(shù)據(jù);4)對所述取證虛擬機(jī)中存儲(chǔ)的可疑數(shù)據(jù)進(jìn)行分析,獲取數(shù)字證據(jù)。進(jìn)一步地,步驟I)所述的可疑數(shù)據(jù)是指可能含有犯罪證據(jù)的定制的數(shù)據(jù),可以是某種日志,也可以是某種內(nèi)存易失性數(shù)據(jù)。云應(yīng)用對于可疑數(shù)據(jù)的辨別是通過可疑數(shù)據(jù)的特征來進(jìn)行,比如,為了獲取某個(gè)時(shí)間點(diǎn)入侵云系統(tǒng)的犯罪記錄,可將可疑數(shù)據(jù)定制為“時(shí)間特征為某年某月某日某時(shí)某分某秒”的日志記錄。進(jìn)一步地,步驟3)所述重新校驗(yàn)的方法為所述取證虛擬機(jī)重新計(jì)算所述可疑數(shù)據(jù)的校驗(yàn)值,如果與步驟2)生成的校驗(yàn)值相同,則校驗(yàn)通過;否則,校驗(yàn)不通過。進(jìn)一步地,所述取證虛擬機(jī)將接收的可疑數(shù)據(jù)設(shè)定為只讀,并只允許單個(gè)進(jìn)程對可疑數(shù)據(jù)進(jìn)行訪問。進(jìn)一步地,若所述取證虛擬機(jī)中發(fā)現(xiàn)未簽名的數(shù)據(jù),則通知取證虛擬機(jī)的管理域DomainO并報(bào)警。進(jìn)一步地,取證虛擬機(jī)的管理域DomainO定時(shí)向云服務(wù)提供商發(fā)送請求(Request),云服務(wù)提供商收到請求后進(jìn)行回復(fù);若沒有收到回復(fù),DomainO報(bào)警并啟動(dòng)虛擬機(jī)重放器(VM Player)”,記錄云服務(wù)提供商的虛擬服務(wù)器的運(yùn)行信息,并在事后進(jìn)行回 放取證。所記錄的運(yùn)行信息包括系統(tǒng)運(yùn)行的線程、程序發(fā)起的系統(tǒng)調(diào)用、用戶對系統(tǒng)的操作記錄。云服務(wù)供應(yīng)商收到報(bào)警之后通過VM Player回放虛擬服務(wù)器在這段時(shí)間內(nèi)所運(yùn)行的系統(tǒng)命令、用戶操作記錄,系統(tǒng)管理員根據(jù)回放記錄分析用戶及系統(tǒng)的行為,若確定有人入侵該服務(wù)器,可將回放記錄作為證據(jù)進(jìn)行保存。一種云計(jì)算環(huán)境下的取證系統(tǒng),適用于上述方法,包括虛擬服務(wù)器、取證虛擬機(jī)和云應(yīng)用,其間建立通信連接;所述虛擬服務(wù)器由云服務(wù)提供商運(yùn)行,其內(nèi)設(shè)置用于取證的應(yīng)用程序編程接口 ;所述云應(yīng)用直接調(diào)用所述應(yīng)用程序編程接口,對傳輸?shù)目梢蓴?shù)據(jù)進(jìn)行簽名并生成校驗(yàn)值,然后將所述可疑數(shù)據(jù)傳輸至所述取證虛擬機(jī);所述取證虛擬機(jī)對所述可疑數(shù)據(jù)進(jìn)行重新校驗(yàn),并存儲(chǔ)通過校驗(yàn)的可疑數(shù)據(jù),用于獲取數(shù)字證據(jù)。進(jìn)一步地,所述取證系統(tǒng)還包括一取證虛擬機(jī)保護(hù)模塊,設(shè)于虛擬監(jiān)控機(jī)內(nèi),用于防止其它虛擬機(jī)加載所述取證虛擬機(jī)的磁盤并對可疑數(shù)據(jù)進(jìn)行修改。下面進(jìn)一步說明本發(fā)明的技術(shù)原理。本發(fā)明在原有云環(huán)境下的取證框架下,提供一個(gè)專門的取證虛擬機(jī)(ForensicVirtual Machine,FVM)。云服務(wù)提供商提供一組API (Forensic API,取證API),相應(yīng)的云應(yīng)用直接調(diào)用該API,將可能存在犯罪活動(dòng)的可疑數(shù)據(jù)(Forensic Data)存儲(chǔ)在專門的取證虛擬機(jī)FVM中。本發(fā)明解決了當(dāng)前云取證技術(shù)中存在的下述問題I)云中數(shù)據(jù)物理存放地點(diǎn)不確定由于相應(yīng)的云應(yīng)用通過直接調(diào)用Forensic API將Forensic Data存儲(chǔ)在FVM中,調(diào)查人員不需再關(guān)心一個(gè)或者多個(gè)云服務(wù)提供商中的數(shù)據(jù)的物理存放地址。2)邏輯上相關(guān)的數(shù)據(jù)可能分散存放由于云服務(wù)提供商中相應(yīng)的云應(yīng)用所產(chǎn)生的Forensic Data都發(fā)送給了 FVM,在FVM中可以對這些數(shù)據(jù)進(jìn)行分類,能夠提供完整的證據(jù),形成完整的數(shù)據(jù)鏈。3)待取證數(shù)據(jù)規(guī)模大,而真正與犯罪相關(guān)的信息很少本發(fā)明通過“主動(dòng)取證”,而并非當(dāng)有取證需求時(shí),才去查找可能與犯罪相關(guān)的信息??赡艽嬖诜缸锘顒?dòng)的“可疑數(shù)據(jù)”已經(jīng)存儲(chǔ)在專門的取證虛擬機(jī)FVM中,不再需要對云服務(wù)提供商本身進(jìn)行取證。4)云的彈性擴(kuò)展機(jī)制要求取證能及時(shí)適應(yīng)系統(tǒng)的規(guī)模變化本發(fā)明中,只要相應(yīng)的云應(yīng)用調(diào)用了云服務(wù)提供商提供的Forensic API,云系統(tǒng)規(guī)模變化時(shí),取證不再受影響。
為了確?!翱梢蓴?shù)據(jù)”在傳輸過程中沒有被修改,在數(shù)據(jù)傳輸前生成校驗(yàn)值,在FVM中重新計(jì)算該校驗(yàn)值并進(jìn)行匹配。為了防止未知應(yīng)用惡意調(diào)用Forensic API向FVM中傳輸干擾數(shù)據(jù),云服務(wù)供應(yīng)商為每一個(gè)經(jīng)過審核的Cloud App頒發(fā)數(shù)字證書,該App用自己的證書對數(shù)據(jù)進(jìn)行簽名。特殊情況下,如果FVM中發(fā)現(xiàn)未簽名數(shù)據(jù),則通知DomainO并報(bào)警。上述框架還可能存在下面的安全問題,本發(fā)明也進(jìn)一步提供了相應(yīng)的解決辦法I)從FVM內(nèi)部保證“可疑數(shù)據(jù)”的安全Xen的隔離性能保證FVM不受其他VM中惡意程序的攻擊。FVM中“可疑數(shù)據(jù)”接收完成后設(shè)定為只讀,不允許修改。對FVM進(jìn)行精簡,只允許單個(gè)進(jìn)程,如Forensic app對“可疑數(shù)據(jù)”進(jìn)行訪問。2)防止其它VM加載FVM的磁盤,從而對“可疑數(shù)據(jù)”進(jìn)行修改在DomainO中配置FVM的磁盤塊不能被其他VM加載。在虛擬監(jiān)控機(jī)(Xen Hypervisor)中增加FVM保護(hù)模塊(FVM Grardian Module),該模塊負(fù)責(zé)監(jiān)控系統(tǒng)磁盤讀寫相關(guān)的“超級調(diào)用”,當(dāng)發(fā)現(xiàn)有非FVM中的程序請求通過“超級調(diào)用”讀寫FVM中的磁盤時(shí),拒絕該程序的請求。3)虛擬服務(wù)器端負(fù)責(zé)發(fā)送數(shù)據(jù)的進(jìn)程被惡意程序干擾而停止運(yùn)行時(shí)的處理方法DomainO定時(shí)向虛擬服務(wù)器發(fā)送請求(request),虛擬服務(wù)器收到時(shí)需回復(fù);若沒收到回復(fù),DomainO報(bào)警且啟動(dòng)“VM Player”,記錄該服務(wù)器的運(yùn)行情況,并可在事后進(jìn)行回放取證。本發(fā)明針對當(dāng)前云取證所面臨的問題,化“被動(dòng)取證”為“主動(dòng)取證”,由云服務(wù)提供商提供一組API,相應(yīng)的云應(yīng)用直接調(diào)用該API,將可能存在犯罪活動(dòng)的數(shù)據(jù)存儲(chǔ)在專門的取證虛擬機(jī)中。一旦有取證需求,取證部門不再去原系統(tǒng)(或應(yīng)用)查找,直接在專門的取證虛擬機(jī)上即可實(shí)現(xiàn)取證,大大提高了云計(jì)算環(huán)境下取證的效率。
圖I為實(shí)施例中云計(jì)算環(huán)境下的取證方法的步驟流程圖。圖2為實(shí)施例中云計(jì)算環(huán)境下的取證系統(tǒng)的架構(gòu)示意圖。
具體實(shí)施例方式下面通過實(shí)施例并結(jié)合附圖,對本發(fā)明作進(jìn)一步的說明。圖I為本實(shí)施例中云計(jì)算環(huán)境下的取證方法的步驟流程圖。首先,云服務(wù)提供商在其虛擬服務(wù)器中部署用于取證的應(yīng)用程序編程接口(取證API);然后,云應(yīng)用直接調(diào)用用于取證的應(yīng)用程序編程接口,通過云服務(wù)提供商頒發(fā)的數(shù)字證書對傳輸?shù)目梢蓴?shù)據(jù)進(jìn)行簽名并生成校驗(yàn)值,然后將可疑數(shù)據(jù)傳輸至一取證虛擬機(jī);然后,取證虛擬機(jī)對可疑數(shù)據(jù)進(jìn)行重新校驗(yàn),校驗(yàn)通過后將所述可疑數(shù)據(jù)存儲(chǔ)在證據(jù)倉庫中;最后,對所述證據(jù)倉庫中存儲(chǔ)的可疑數(shù)據(jù)進(jìn)行分析,以獲取數(shù)字證據(jù)。圖2為適用于上述方法的取證系統(tǒng)的架構(gòu)示意圖。該取證系統(tǒng)包括底層硬件設(shè)備、虛擬監(jiān)控機(jī)(Xen Hypervisor)、虛擬服務(wù)器I和2、取證虛擬機(jī)(FVM)以及云應(yīng)用I和2。虛擬服務(wù)器中設(shè)有取證API,虛擬監(jiān)控機(jī)內(nèi)設(shè)有FVM保護(hù)模塊,取證虛擬機(jī)中設(shè)有證據(jù)倉庫。下文通過具體的應(yīng)用實(shí)例說明上述方法和系統(tǒng)的實(shí)施過程。、
假設(shè)A公司購買大量硬件資源,并在這些硬件之上安裝開源云計(jì)算平臺XCP,然后以虛擬服務(wù)器(Virtual Server,VS)的形式對外提供租用服務(wù)。假設(shè)A公司采用了本發(fā)明的取證方案,則該公司需在其供租用的VS中部署好取證API。假設(shè)B是一家小型的互聯(lián)網(wǎng)公司,其主要業(yè)務(wù)是對外提供網(wǎng)上支付服務(wù),類似于支付寶。B公司為了省去服務(wù)器的購買及維護(hù)成本,選擇租用A公司提供的VS,并將自己的業(yè)務(wù)部署在VS中。B公司的業(yè)務(wù)主要由兩個(gè)云應(yīng)用構(gòu)成,云應(yīng)用I為網(wǎng)上支付程序,云應(yīng)用2為用戶信息管理程序,如圖2所示。為了避免單臺VS宕機(jī)從而引發(fā)整個(gè)業(yè)務(wù)無法辦理的情況出現(xiàn),B公司向A公司申請租用2臺VS(圖2中的服務(wù)器I和服務(wù)器2),并在申請書中明確說明B公司的業(yè)務(wù)數(shù)據(jù)非常重要,希望A公司加強(qiáng)對B公司數(shù)據(jù)的保護(hù),避免被黑客破壞。A公司在接到B公司的申請后,告訴B公司可以使用VS中的取證API,將其業(yè)務(wù)中
的可疑數(shù)據(jù)通過取證API存儲(chǔ)到FVM中??梢蓴?shù)據(jù)是指可能包含證據(jù)的數(shù)據(jù),在該示例中是指B公司客戶的登錄日志、交易日志以及VS系統(tǒng)日志。A公司為B公司的云應(yīng)用I及云應(yīng)用2分別簽發(fā)一張數(shù)字證書,證書中包含了該應(yīng)用的數(shù)字簽名(64位)信息。B公司簡單的修改其云應(yīng)用I及云應(yīng)用2的源碼,在一些涉及“可疑數(shù)據(jù)”的地方調(diào)用A提供的取證API (參考表I或表2),然后將云應(yīng)用I及云應(yīng)用2正式部署在VSl及VS2中。B公司的業(yè)務(wù)正式開始上線,其客戶C通過云應(yīng)用I (網(wǎng)上支付程序)打款給客戶D,操作完成后云應(yīng)用I生成一條交易記錄,并將該交易信息及其數(shù)字證書提供給取證API。A公司部署在VS中的取證程序利用云應(yīng)用I的數(shù)字證書對交易記錄進(jìn)行簽名,并用MD5算法對簽名后的交易記錄生成一個(gè)128位的校驗(yàn)值,然后傳輸給FVM。FVM收到數(shù)據(jù)后,利用MD5算法對數(shù)據(jù)進(jìn)行重新校驗(yàn),若得到的校驗(yàn)值相同則校驗(yàn)通過,并在校驗(yàn)通過后將該“可疑數(shù)據(jù)”存儲(chǔ)在FVM的證據(jù)倉庫中。上述校驗(yàn)值也可以通過其它算法生成。為了保證FVM內(nèi)部“可疑數(shù)據(jù)”的安全,取證虛擬機(jī)將接收的可疑數(shù)據(jù)設(shè)定為只讀,并只允許單個(gè)進(jìn)程對可疑數(shù)據(jù)進(jìn)行訪問。若取證虛擬機(jī)中發(fā)現(xiàn)未簽名的數(shù)據(jù),則通知取證虛擬機(jī)的管理域DomainO并報(bào)警。為了防止其它VM加載FVM的磁盤,從而對“可疑數(shù)據(jù)”進(jìn)行修改,在圖2所示的虛擬監(jiān)控機(jī)中設(shè)有FVM保護(hù)模塊,該模塊負(fù)責(zé)監(jiān)控系統(tǒng)磁盤讀寫相關(guān)的“超級調(diào)用”,當(dāng)發(fā)現(xiàn)有非FVM中的程序請求通過“超級調(diào)用”讀寫FVM中的磁盤時(shí),拒絕該程序的請求。假設(shè)黑客E竊取了客戶C的交易密碼,其通過云應(yīng)用I從C賬戶上轉(zhuǎn)了 10萬人民幣到自己賬號上,則該黑客的交易操作可以被云應(yīng)用I完整的記錄下來,并存儲(chǔ)在證據(jù)倉庫中??蛻鬋向公安機(jī)關(guān)報(bào)案后,公安機(jī)關(guān)從證據(jù)倉庫中可以提取到客戶C的交易記錄,并在該記錄中發(fā)現(xiàn)黑客E的ip地址,從而可以成功抓獲黑客E。表I.取證API示例I
權(quán)利要求
1.一種云計(jì)算環(huán)境下的取證方法,其步驟包括 1)云服務(wù)提供商在其虛擬服務(wù)器中設(shè)置用于取證的應(yīng)用程序編程接ロ; 2)云應(yīng)用直接調(diào)用所述應(yīng)用程序編程接ロ,對傳輸?shù)目梢蓴?shù)據(jù)進(jìn)行簽名并生成校驗(yàn)值,然后將所述可疑數(shù)據(jù)傳輸至一取證虛擬機(jī); 3)所述取證虛擬機(jī)對所述可疑數(shù)據(jù)進(jìn)行重新校驗(yàn),并存儲(chǔ)通過校驗(yàn)的可疑數(shù)據(jù); 4)對所述取證虛擬機(jī)中存儲(chǔ)的可疑數(shù)據(jù)進(jìn)行分析,獲取數(shù)字證據(jù)。
2.如權(quán)利要求I所述的方法,其特征在于,所述可疑數(shù)據(jù)是指可能含有犯罪證據(jù)的數(shù)據(jù),包括登錄日志、交易日志和虛擬服務(wù)器系統(tǒng)日志。
3.如權(quán)利要求I所述的方法,其特征在于,所述重新校驗(yàn)的方法為所述取證虛擬機(jī)重新計(jì)算所述可疑數(shù)據(jù)的校驗(yàn)值,如果與步驟2)生成的校驗(yàn)值相同,則校驗(yàn)通過;如果與步驟2)生成的校驗(yàn)值不同,則校驗(yàn)不通過。
4.如權(quán)利要求I所述的方法,其特征在于,所述取證虛擬機(jī)將接收的可疑數(shù)據(jù)設(shè)定為只讀,并只允許單個(gè)進(jìn)程對可疑數(shù)據(jù)進(jìn)行訪問。
5.如權(quán)利要求I所述的方法,其特征在于,若所述取證虛擬機(jī)中發(fā)現(xiàn)未簽名的數(shù)據(jù),則通知取證虛擬機(jī)的管理域并報(bào)警。
6.如權(quán)利要求I所述的方法,其特征在于取證虛擬機(jī)的管理域定時(shí)向云服務(wù)提供商發(fā)送請求,云服務(wù)提供商收到后進(jìn)行回復(fù);若沒收到回復(fù),取證虛擬機(jī)的管理域報(bào)警且啟動(dòng)虛擬機(jī)重放器,記錄云服務(wù)提供商的虛擬服務(wù)器的運(yùn)行信息,并在事后進(jìn)行回放取證。
7.如權(quán)利要求6所述的方法,其特征在于,所述運(yùn)行信息包括系統(tǒng)運(yùn)行的線程、程序發(fā)起的系統(tǒng)調(diào)用和用戶對系統(tǒng)的操作記錄。
8.如權(quán)利要求I所述的方法,其特征在于,通過在虛擬監(jiān)控機(jī)中設(shè)置ー取證虛擬機(jī)保護(hù)模塊,防止其它虛擬機(jī)加載所述取證虛擬機(jī)的磁盤并對可疑數(shù)據(jù)進(jìn)行修改。
9.一種云計(jì)算環(huán)境下的取證系統(tǒng),其特征在于,包括虛擬服務(wù)器、取證虛擬機(jī)和云應(yīng)用,其間建立通信連接; 所述虛擬服務(wù)器由云服務(wù)提供商運(yùn)行,其內(nèi)設(shè)置用于取證的應(yīng)用程序編程接ロ ; 所述云應(yīng)用直接調(diào)用所述應(yīng)用程序編程接ロ,對傳輸?shù)目梢蓴?shù)據(jù)進(jìn)行簽名并生成校驗(yàn)值,然后將所述可疑數(shù)據(jù)傳輸至所述取證虛擬機(jī); 所述取證虛擬機(jī)對所述可疑數(shù)據(jù)進(jìn)行重新校驗(yàn),并存儲(chǔ)通過校驗(yàn)的可疑數(shù)據(jù),用于獲取數(shù)字證據(jù)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于還包括一取證虛擬機(jī)保護(hù)模塊,設(shè)于虛擬監(jiān)控機(jī)內(nèi),用于防止其它虛擬機(jī)加載所述取證虛擬機(jī)的磁盤并對可疑數(shù)據(jù)進(jìn)行修改。
全文摘要
本發(fā)明提供一種云計(jì)算環(huán)境下的取證方法,其步驟包括云服務(wù)提供商在其虛擬服務(wù)器中設(shè)置用于取證的應(yīng)用程序編程接口;云應(yīng)用直接調(diào)用所述應(yīng)用程序編程接口,對傳輸?shù)目梢蓴?shù)據(jù)進(jìn)行簽名并生成校驗(yàn)值,然后將所述可疑數(shù)據(jù)傳輸至一取證虛擬機(jī);所述取證虛擬機(jī)對所述可疑數(shù)據(jù)進(jìn)行重新校驗(yàn),并存儲(chǔ)通過校驗(yàn)的可疑數(shù)據(jù);對可疑數(shù)據(jù)進(jìn)行分析,獲取數(shù)字證據(jù)。本發(fā)明將可能含有犯罪證據(jù)的可疑數(shù)據(jù)存儲(chǔ)在專門的取證虛擬機(jī)中,大大提高了云計(jì)算環(huán)境下取證的效率。
文檔編號G06F9/455GK102739774SQ201210170280
公開日2012年10月17日 申請日期2012年5月28日 優(yōu)先權(quán)日2012年5月28日
發(fā)明者丁麗萍, 謝亞龍 申請人:中國科學(xué)院軟件研究所