本發明涉及檢測裝置、檢測方法以及檢測程序。
背景技術:
近年來,利用具有MITB(Man-in-the-browser:中間人)攻擊功能的惡意軟件(Malware)的聯機銀行詐騙造成的損失時常發生。MITB攻擊是指,攔截終端的使用者與Web服務間的通信而竊取、篡改通信內容的攻擊。ZBot或SpyEye等惡意軟件具有MITB攻擊功能,其攔截感染終端與聯機銀行之間的通信而篡改通信數據,由此進行匯款金額的操作或偽裝輸入表單的顯示這樣的攻擊。
在ZBot等惡意軟件中,采用了能夠通過設定文件來指定作為MITB攻擊的對象的通信數據的機制。因此,不限于聯機銀行,攻擊者能夠對與所企圖的Web服務之間的通信數據進行攻擊。設定文件設置在C&C(Command and Control:命令和控制)服務器上,惡意軟件與C&C服務器進行通信而取得該文件從而掌握篡改攻擊的對象和篡改內容。然后,在ZBot等惡意軟件的情況下,使用API(Application Programming Interface:應用程序接口)鉤子(hook)來進行篡改攻擊。例如,通過將與通信數據的發送接收相關的API鉤住,而對加密前或解密后的通信數據進行篡改攻擊。在受到這樣的攻擊的情況下,僅通過SSL來保護通信路徑是無法防止篡改攻擊的。
在對這樣的威脅采取對策的情況下,防止惡意軟件感染本身是理想的。但是,感染攻擊的手法日益巧妙,將感染防患于未然處于困難的狀況。因此,以用戶終端感染到惡意軟件為前提的對策是不可缺少的。
在客戶端側采取惡意軟件感染后的對策的方法主要有2個。1個是對作為攻擊對象的進程進行保護以使得不會進行API鉤子等的方法,另1個是阻止取得對篡改對象和內容進行指定的設定文件的方法。只要能夠防止API鉤子,就能夠將篡改的發生防患于未然。但是,很難在感染了惡意軟件的狀態下可靠地實現此方法。另一方面,在阻止取得設定文件的方法的情況下,由于能夠采用網絡上的對策,因此即使終端感染了惡意軟件也能夠采取對策。不過,必須事先掌握對設定文件進行分發的C&C服務器的IP(Internet Protocol:互聯網協議)地址等。
為了事先收集C&C服務器的IP地址等,一般進行惡意軟件解析。迄今為止,作為通過惡意軟件解析自動地確定C&C服務器的方法,在非專利文獻1中提出了根據系統調用間的通信數據的傳遞關系來確定C&C服務器的方法。該方法著重于僅在惡意軟件與C&C服務器通信時出現的系統調用間的數據的傳遞關系,具有錯誤檢測較少這樣的特征。但是,在系統調用間的數據的傳遞關系上未顯現出特征的情況下無法檢測。
另外,迄今為止,作為進行MITB攻擊的惡意軟件的解析方法提出了非專利文獻2這樣的方法。非專利文獻2的方法在如下的方面上優秀:能夠在不會給Web服務帶來影響的情況下對惡意軟件進行分析,且進行篡改檢測和篡改部位的確定。但是,沒有實現到指定了篡改內容的C&C服務器的確定。
現有技術文獻
非專利文獻
非專利文獻1:P.Wurzinger,L.Bilge,T.Holz,J.Goebel,C.Kruegel,and E.Kirda,"Automatically Generating Models for Botnet Detection",In Proceedings of the 14th European Conference on Research in Computer Security
非專利文獻2:瀬川達也、神薗雅紀、星澤裕二、吉岡克成、松本勉「Man-in-the-Browser攻撃を行うマルウェアの安全な動的解析手法」電子情報通信學會技術研究報告
技術實現要素:
發明要解決的課題
本發明的目的在于提供一種能夠詳細地分析通信數據的篡改的檢測裝置、檢測方法以及檢測程序。
用于解決課題的手段
為了解決上述的課題并達成目的,所公開的檢測裝置的特征在于,具有:跟蹤部,其對通信數據賦予包含與該通信數據的通信目的地信息關聯的屬性信息在內的標簽,且對被賦予了該標簽的通信數據的傳播進行跟蹤;以及檢測部,當在所述通信數據中存在包含與對應于該通信數據的發送目的地或發送源的屬性信息不同的屬性信息在內的標簽的情況下,該檢測部檢測到該通信數據的篡改。
發明效果
根據本申請所公開的實施方式,實現如下的效果:能夠詳細地分析通信數據的篡改。
附圖說明
圖1是示出本實施方式的檢測裝置的概要的結構圖。
圖2是示出本實施方式的檢測裝置中的虛擬計算機和數據傳播跟蹤部的結構的框圖。
圖3是示出本實施方式的標簽的結構例的圖。
圖4是示出本實施方式的通信目的地信息DB中存儲的信息的一例的圖。
圖5是示出本實施方式的篡改檢測部中的對于接收數據的處理流程的流程圖。
圖6是示出本實施方式的篡改檢測部中的對于發送數據的處理流程的流程圖。
圖7是示出執行檢測程序的計算機的圖。
具體實施方式
以下根據附圖詳細地說明本申請的檢測裝置、檢測方法以及檢測程序的實施方式。此外,本申請的檢測裝置、檢測方法以及檢測程序不限于該實施方式。
[實施方式]
在以下的實施方式中,依次說明實施方式的檢測裝置的結構和處理流程,然后,最后說明實施方式的效果。
[檢測裝置的結構]
首先,使用圖1來說明檢測裝置10的結構。圖1是示出本實施方式的檢測裝置的概要的結構圖。如圖1所示,該檢測裝置10具有:惡意軟件執行環境部11、解析結果DB(Data Base:數據庫)12以及C&C服務器通信目的地信息DB 13。以下說明這些各部件的處理。
惡意軟件執行環境部11由進程11B、進程11C、訪客OS(Operating System:操作系統)11D以及虛擬計算機11E構成。訪客OS 11D是用于對惡意軟件11A進行動態解析的環境。另外,惡意軟件11A在訪客OS 11D上被執行而在訪客OS 11D上使瀏覽器等作為惡意軟件11A的攻擊對象的進程11B、進程11C進行動作。
虛擬計算機11E由數據傳播跟蹤部110、命令監視部111、篡改檢測部112以及通信目的地信息DB 113構成。
數據傳播跟蹤部110對通信數據賦予標簽,跟蹤通信數據的傳播。此時,由于唯一地確定通信數據的發送目的地或發送源,因此使標簽保持與通信目的地信息對應的屬性信息等。此外,在以下的說明中,在統稱發送目的地和發送源的情況下,記為“通信目的地”。另外,通信目的地信息是指,例如通信目的地的IP地址或FQDN(Fully Qualified Domain Name:完全限定域名)、URL(Uniform Resource Locator:統一資源定位符)等信息。
這里,使用圖3來說明標簽的結構例。圖3是示出本實施方式的標簽的結構例的圖。如圖3所示,標簽包含“ID(identification:標識)”和“屬性信息”。這里,屬性信息是與通信數據的發送源或發送目的地的通信目的地信息對應的信息。ID是被設定成按照每個該屬性信息連續的值(連號(通番))的信息。即,能夠根據屬性信息與ID的組合而唯一地識別標簽。此外,例如以規定的數據長度為單位對某通信數據賦予標簽。
作為一例,說明對從IP地址“192.168.0.1”的通信目的地接收到的10字節的接收數據賦予標簽的情況。此外,在該例中,說明以1字節為單位賦予標簽、且與IP地址“192.168.0.1”對應的屬性信息是“0x1”的情況。在該情況下,由于以1字節為單位對10字節的接收數據賦予標簽,因此對該接收數據賦予10個標簽。其中,第1個標簽包含ID“1”和屬性信息“0x1”,第2個標簽包含ID“2”和屬性信息“0x1”,第3個標簽包含ID“3”和屬性信息“0x1”,…第10個標簽包含ID“10”和屬性信息“0x1”。這樣,各個標簽包含被賦予連號的ID和與通信目的地對應的屬性信息。此外,在從IP地址“192.168.0.1”的通信目的地再次接收到數據的情況下,對該接收數據賦予例如包含從ID“11”開始的連號的ID在內的多個標簽。另外,在從“192.168.0.2”等與上述IP地址不同的IP地址的通信目的地接收到數據的情況下,對該接收數據賦予例如包含從ID“1”開始的連號的ID在內的多個標簽。
此外,如上所述,以規定的數據長度為單位對通信數據賦予多個本實施方式的標簽并且將多個標簽各自的ID分配成連號是因為由此能夠確定通信數據的篡改內容。例如,如果分配成連號,則多個標簽各自所包含的ID的值按照標簽的排列順序而連續。但是,如果多個標簽各自所包含的ID的值不按照標簽的排列順序連續,則篡改檢測部112能夠檢測到通信數據的篡改,并且能夠確定不連續的附近的數據被篡改。此外,例如,如果ID的編號消失或者其他標簽混入,則篡改檢測部112能夠確定進行了通信數據的改寫或追記。另外,如果在ID的編號中發生偏差,則篡改檢測部112能夠確定其附近的數據被刪除。
即,數據傳播跟蹤部110對通信數據設定標簽,將所設定的標簽所包含的屬性信息和與該屬性信息對應的通信目的地信息轉發給通信目的地信息DB 113之后,在虛擬計算機11E上對通信數據的傳播進行跟蹤。通信目的地信息DB 113將從數據傳播跟蹤部110轉發的屬性信息與通信目的地信息關聯起來進行存儲。此外,關于通信目的地信息DB 113中存儲的信息,將會后面進行說明。
命令監視部111監視在系統內發布的命令。例如,命令監視部111監視由惡意軟件11A所執行的API(Application Programming Interface)調用或系統調用的發布這樣的命令。
當在通信數據中存在包含與對應于該通信數據的發送目的地或發送源的屬性信息不同的屬性信息在內的標簽的情況下,篡改檢測部112檢測到通信數據的篡改。例如,篡改檢測部112根據設定于通信數據的標簽而檢測篡改。而且,篡改檢測部112在檢測出篡改的情況下,將與所包含的屬性信息不同于與通信數據的發送目的地或發送源對應的屬性信息的標簽對應的數據確定為篡改內容,將所確定的篡改內容轉發給解析結果DB 12。解析結果DB 12存儲以從篡改檢測部112轉發的篡改內容為代表的解析結果。
另外,篡改檢測部112在檢測出篡改的情況下,將與所包含的屬性信息不同于與通信數據的發送目的地或發送源對應的屬性信息的標簽相關聯的通信目的地確定為C&C服務器。另外,篡改檢測部112將所確定的通信目的地信息作為C&C服務器的通信目的地信息而轉發給C&C服務器通信目的地信息DB 13。C&C服務器通信目的地信息DB 13存儲從篡改檢測部112轉發的C&C服務器的通信目的地信息。
接著,使用圖2來說明虛擬計算機11E的結構例。圖2是示出本實施方式的檢測裝置中的虛擬計算機和數據傳播跟蹤部的結構的框圖。虛擬計算機11E是向訪客OS11D提供虛擬的硬件的軟件。另外,虛擬計算機11E由虛擬NIC(Network Interface Card:網絡接口卡)114和虛擬盤115、虛擬HW控制器116、虛擬存儲器117、虛擬CPU 118等構成。
為了對數據設定標簽而進行數據的傳播跟蹤,數據傳播跟蹤部110具有:用于保存與虛擬盤115上的數據對應的標簽的盤標簽保存區域110A、用于保存與虛擬存儲器117上的數據對應的標簽的存儲器標簽保存區域110D、以及用于保存與虛擬寄存器118B上的數據對應的標簽的寄存器標簽保存區域110F。
數據傳播跟蹤部110的標簽賦予部110B對通信數據設定能夠唯一地確定發送源的標簽,在轉發給通信目的地信息DB 113之后,將標簽保存在存儲器標簽保存區域110D中。關于設定標簽的時機,在接收數據的情況下,是數據從虛擬NIC 114向虛擬存儲器117復制的時機、或者是剛剛調用了用于接收數據的API/系統調用之后(從函數返回到調用源的時機),另外,在發送數據的情況下,是瀏覽器等正規的應用對用于發送數據的API調用或系統調用進行發布的時機。由標簽傳播部110C(標簽傳播部A)與數據的傳播配合地傳播對數據所設定的標簽。
標簽傳播部110C進行盤標簽保存區域110A與存儲器標簽保存區域110D之間的標簽的傳播。另外,標簽傳播部110E(標簽傳播部B)進行存儲器標簽保存區域110D與寄存器標簽保存區域110F之間的傳播或寄存器標簽保存區域110F之間的標簽的傳播。
另外,命令監視部111監視瀏覽器等正規應用所執行的API調用。在正規應用調用了與數據接收相關的API的情況下,在調用時記錄函數的所有自變量,在返回時向篡改檢測部112進行通知。另外,在API與數據發送相關的情況下,命令監視部111在調用時向數據傳播跟蹤部110進行通知。接收到通知的數據傳播跟蹤部110利用標簽賦予部110B對發送數據設定能夠唯一地確定數據的發送目的地的標簽。此外,與數據接收或數據發送相關的API是惡意軟件解析者等在解析前設定的。
篡改檢測部112在從命令監視部111收到通知之后,通過確認與接收數據對應的標簽而進行對于接收數據的篡改的檢測、篡改內容的確定、指定了篡改內容的C&C服務器的確定。此外,通過在虛擬NIC 114中數據發送時確認與發送數據對應的標簽,篡改檢測部112進行對于發送數據的篡改的檢測、篡改內容的確定、指定了篡改內容的C&C服務器的確定。此外,當在數據傳播時通信數據作為接收數據/發送數據傳遞給實施加密/解密處理的API的情況下,也可以對該API的返回值也進行強制性地傳播標簽的處理。此時,也可以再次重新分配ID。
這里,使用圖4來說明通信目的地信息DB 113中存儲的信息。圖4是示出本實施方式的通信目的地信息DB 113中存儲的信息的一例的圖。如圖4所示,通信目的地信息DB 113將標簽所包含的屬性信息、發送接收信息以及通信目的地信息關聯起來進行存儲。該發送接收信息是表示與通信目的地的通信是接收還是發送的信息,例如,“R”表示接收,“S”表示發送。此外,在圖4中,例示出存儲IP地址作為通信目的地信息的情況。
在圖4所示的例子中,通信目的地信息DB 113將屬性信息“0x1”、發送接收信息“R”以及通信目的地信息“192.168.0.1”關聯起來進行存儲。這表示賦予給來自IP地址“192.168.0.1”的接收數據的屬性信息是“0x1”。另外,通信目的地信息DB 113將屬性信息“0xA”、發送接收信息“R”以及通信目的地信息“192.168.1.10”關聯起來進行存儲。這表示賦予給向IP地址“192.168.1.10”的接收數據的屬性信息是“0xA”。
此外,如圖4的第3行所示,通信目的地信息DB 113將屬性信息“0x3”、發送接收信息“S”以及通信目的地信息“192.168.0.1”關聯起來進行存儲。這表示即使是與第1行的IP地址“192.168.0.1”相同的IP地址,如果發送接收信息是與第1行的“R(接收)”不同的“S(發送)”,則也被賦予不同的屬性信息“0x3”。即,在通信目的地信息DB 113中,對于發送接收信息與通信目的地信息的組合,唯一地設定屬性信息。此外,通信目的地信息DB 113也可以不必須存儲發送接收信息。在該情況下,屬性信息不限于發送接收的方向,按照每個通信目的地進行存儲。另外,屬性信息可以是可變長度的數據,也可以是固定長度的數據。
此外,如上所述,通信目的地信息DB 113將屬性信息與通信目的地的信息關聯起來進行存儲是因為由此能夠進行通信數據的篡改的檢測。例如,篡改檢測部112參照通信目的地信息DB 113,取得與作為處理對象的通信數據的發送目的地或發送源對應的屬性信息。而且,篡改檢測部112參照通信數據所包含的屬性信息,與所取得的屬性信息進行對照。這里,如果未被篡改,則通信數據所包含的所有的屬性信息應該與從通信目的地信息DB 113取得的屬性信息一致。另一方面,如果不一致,則篡改檢測部112能夠檢測到篡改。此外,如果與不同于原本的通信目的地的通信目的地相關聯,則篡改檢測部112能夠將該通信目的地確定為C&C服務器。
[基于檢測裝置的處理]
接著,使用圖5和圖6來說明檢測裝置10中的處理流程。圖5是示出本實施方式的篡改檢測部中的對于接收數據的處理流程的流程圖。圖6是示出本實施方式的篡改檢測部中的對于發送數據的處理流程的流程圖。
首先,使用圖5來說明與篡改檢測部112中的對于接收數據的篡改的檢測、篡改內容的確定、指定了篡改內容的C&C服務器的確定相關的處理。
如圖5所示,篡改檢測部112最初取得在與數據接收相關的API的調用時命令監視部111所記錄的自變量信息和返回值(步驟S101),且取得與各接收數據對應的標簽(步驟S102)。而且,在對接收數據設定有標簽的情況下(步驟S103,“是”),篡改檢測部112開始進行對篡改攻擊的檢測處理。另一方面,在對接收數據未設定標簽的情況下(步驟S103,“否”),篡改檢測部112結束對于該接收數據的處理。
作為對篡改攻擊的檢測處理,篡改檢測部112首先從自變量信息取得通信目的地(步驟S104)。而且,篡改檢測部112對于與接收數據對應的標簽,確認是否帶有與接收數據的發送源對應的屬性信息以外的屬性信息(步驟S105)。這里,當存在帶有與接收數據的發送源對應的屬性信息以外的屬性信息的標簽的情況下(步驟S105,“是”),篡改檢測部112判斷為進行了篡改攻擊,而對進行了篡改攻擊的部位進行確定的處理(步驟S106)。在該情況下,篡改檢測部112判斷為帶有屬性信息為與來自通信目的地的接收數據對應的屬性信息以外的標簽的數據被篡改,在解析結果DB 12中登記篡改內容(步驟S107)。而且,篡改檢測部112從通信目的地信息DB 113提取與篡改后的數據相關聯的通信目的地(步驟S108)。而且,當存在從與從自變量信息取得的通信目的地不同的通信目的地取得的標簽的情況下(步驟S109,“是”),篡改檢測部112將與該標簽相關聯的通信目的地確定為C&C服務器(步驟S110),將所確定的通信目的地登記于C&C服務器通信目的地信息DB 13中(步驟S111)。
而且,篡改檢測部112確認具有相同的屬性信息的標簽的ID是否成為按照數據的排列順序而連續的值(步驟S112)。這是因為將標簽的ID分配成連號,所以當順序在中途發生偏差的情況下可判斷為進行了基于數據刪除的篡改攻擊。這里,在未成為連續的值的情況下(步驟S112,“否”),篡改檢測部112判斷為進行了基于數據刪除的篡改攻擊,在解析結果DB 12中記錄標簽的ID和接收數據(檢查對象數據)(步驟S113),并結束處理。
此外,當不存在帶有與接收數據的發送源對應的屬性信息以外的屬性信息的標簽的情況下(步驟S105,“否”)以及不存在從與從自變量信息取得的通信目的地不同的通信目的地取得的標簽的情況下(步驟S109,“否”),篡改檢測部112轉移到步驟S112的處理。另外,在具有相同的屬性信息的標簽的ID成為按照數據的排列順序而連續的值的情況下(步驟S112,“是”),篡改檢測部112結束對于該接收數據的處理。
接著,使用圖6來說明與篡改檢測部112中的對于發送數據的篡改的檢測、篡改內容的確定、指定了篡改內容的C&C服務器的確定相關的處理。對到達虛擬NIC 114的發送數據進行該處理。
如圖6所示,篡改檢測部112取得與發送數據對應的標簽(步驟S201),當存在標簽的情況下(步驟S202,“是”),開始進行對篡改攻擊的檢測處理。另一方面,當在發送數據中不存在標簽的情況下(步驟S202,“否”),篡改檢測部112結束對于該發送數據的處理。
作為對篡改攻擊的檢測處理,篡改檢測部112首先從發送數據所包含的報頭信息取得發送數據的發送目的地(步驟S203)。而且,確認包含與發送目的地對應的屬性信息以外的屬性信息在內的標簽是否存在于發送數據內(步驟S204)。這里,當包含與發送目的地對應的屬性信息以外的屬性信息在內的標簽存在于發送數據內的情況下(步驟S204,“是”),篡改檢測部112判斷為進行了篡改攻擊,提取出包含與發送目的地對應的屬性信息以外的屬性信息在內的標簽(步驟S205)。而且,篡改檢測部112將與提取出的標簽對應的數據作為篡改部位而登記于解析結果DB 12中(步驟S206)。而且,篡改檢測部112從自通信目的地信息DB 113提取出的標簽取得通信目的地(步驟S207),如果標簽與通信目的地相關聯(步驟S208,“是”),則將與標簽相關聯的通信目的地確定為C&C服務器(步驟S209)。而且,篡改檢測部112將所確定的通信目的地登記于C&C服務器通信目的地信息DB 13中(步驟S210)。
另外,篡改檢測部112確認具有相同的屬性信息的標簽的ID是否成為按照數據的排列順序而連續的值(步驟S211)。這是因為將標簽的ID分配成連號,所以當順序在中途發生偏差的情況下判斷為進行了基于數據刪除的篡改攻擊。這里,在未成為連續的值的情況下(步驟S211,“否”),篡改檢測部112判斷為進行了基于數據刪除的篡改攻擊,在解析結果DB 12中記錄標簽的ID和發送數據(檢查對象數據)(步驟S212),并結束處理。
此外,當包含與發送目的地對應的屬性信息以外的屬性信息在內的標簽不存在于發送數據內的情況下(步驟S204,“否”)以及標簽與通信目的地不相關聯的情況下(步驟S208,“否”),篡改檢測部112轉移到步驟S211的處理。另外,在具有相同的屬性信息的標簽的ID按照數據的排列順序而連續的情況下(步驟S211,“是”),篡改檢測部112結束對于該發送數據的處理。
[實施方式的效果]
如上所述,檢測裝置10對通信數據賦予包含與該通信數據的通信目的地信息關聯的屬性信息在內的標簽,對被賦予了該標簽的通信數據的傳播進行跟蹤。而且,當在通信數據中存在包含與對應于該通信數據的發送目的地或發送源的屬性信息不同的屬性信息在內的標簽的情況下,檢測裝置10檢測到該通信數據的篡改。由此,檢測裝置10能夠詳細地分析通信數據的篡改。
例如,在以往的解析方法中,雖然進行了篡改的檢測和篡改內容的確定,但存在無法對指示了篡改內容的C&C服務器進行確定的問題。為了確定C&C服務器,要求如下的機制:該機制在進行了篡改的檢測和篡改內容的確定之后,能夠對在篡改時所嵌入的數據的出處進行解析。因此,在本實施方式中,對解析系統內的數據的傳播進行跟蹤,應用污點(taint)解析而對在特定的2點間流動的數據包含原本不應該存在的數據的情況進行檢測,不僅實現了篡改檢測和篡改內容的確定,還實現了指示篡改內容的C&C服務器的確定。
[其他實施方式]
此外,在上述的實施方式中,說明了對惡意軟件執行環境中的解析應用的情況,但不限于此。例如,本實施方式的各部件也可以引入到用戶終端中。另外,在利用本實施方式時,也可以只以是否是具有篡改功能的惡意軟件的判定或發生了篡改攻擊的警告通知為目的,不進行C&C服務器確定處理,而只實施對篡改攻擊的檢測處理。此外,在實施C&C服務器確定處理時,也可以根據C&C服務器通信目的地信息DB 13的內容而在VMM(Virtual Machine Monitor:虛擬機監視器)側實施通信的阻斷,也可以與外部IPS(Intrusion Prevention System:入侵防御系統)裝置等協作而采取通信阻斷的措施。此外,C&C服務器也稱為“指令服務器”。
[系統結構等]
另外,圖示的各裝置的各結構要素是功能概念性的,不需要必須在物理上如圖示那樣構成。即,各裝置的分散/整合的具體方式不限于圖示的方式,能夠根據各種負載或使用狀況等而將其全部或者一部分以任意的單位在功能上或者物理上進行分散/整合而構成。此外,關于各裝置所執行的各處理功能,其全部或者任意的一部分可以由CPU和該CPU所解析執行的程序來實現、或者作為基于布線邏輯的硬件來實現。
另外,在本實施方式中所說明的各處理中,也可以手動地進行作為自動地進行的處理而說明的處理的全部或者一部分,或者也可以通過公知的方法自動地進行作為手動地進行的處理而說明的處理的全部或者一部分。除此之外,關于上述文檔中或附圖中所示的處理過程、控制過程、具體的名稱、包含各種數據或參數在內的信息,除了特殊說明的情況以外可以任意變更。
[程序]
另外,關于在上述實施方式中說明的檢測裝置10所執行的處理,也可以創建以計算機可執行的語言進行了描述的程序。例如,關于實施方式的檢測裝置10所執行的處理,也可以創建以計算機可執行的語言進行了描述的檢測程序。在該情況下,通過由計算機執行檢測程序,能夠得到與上述實施方式相同的效果。此外,也可以將該檢測程序記錄在計算機可讀取的記錄介質中,通過使計算機讀入并執行該記錄介質中記錄的檢測程序,由此實現與上述實施方式相同的處理。以下對執行實現與圖1所示的檢測裝置10相同的功能的檢測程序的計算機的一例進行說明。
圖7是示出執行檢測程序的計算機1000的圖。如圖7所例示,計算機1000例如具有存儲器1010、CPU 1020、硬盤驅動器接口1030、盤驅動器接口1040、串行端口接口1050、視頻適配器1060以及網絡接口1070,這些各部件通過總線1080連接。
如圖7所例示,存儲器1010包含ROM(Read Only Memory:只讀存儲器)1011和RAM(Random Access Memory:隨機存取存儲器)1012。ROM 1011例如存儲BIOS(Basic Input Output System:基本輸入輸出系統)等引導程序。如圖7所例示,硬盤驅動器接口1030與硬盤驅動器1090連接。如圖7所例示,盤驅動器接口1040與盤驅動器1041連接。例如磁盤或光盤等可裝卸的存儲介質插入到盤驅動器中。如圖7所例示,串行端口接口1050例如與鼠標1110、鍵盤1120連接。如圖7所例示,視頻適配器1060與例如顯示器1130連接。
這里,如圖7所例示,硬盤驅動器1090例如存儲OS 1091、應用程序1092、程序模塊1093、程序數據1094。即,上述的檢測程序作為描述有由計算機1000執行的指令的程序模塊而存儲于例如硬盤驅動器1090中。
另外,上述實施方式中所說明的各種數據作為程序數據存儲于例如存儲器1010或硬盤驅動器1090中。另外,CPU 1020根據需要將存儲器1010和硬盤驅動器1090中存儲的程序模塊1093和程序數據1094讀出到RAM 1012而執行。
此外,檢測程序的程序模塊1093和程序數據1094不限于存儲于硬盤驅動器1090中的情況,例如也可以存儲于可裝卸的存儲介質中,經由盤驅動器等由CPU 1020讀出。或者,檢測程序的程序模塊1093和程序數據1094也可以存儲于經由網絡(LAN(Local Area Network:局域網)、WAN(Wide Area Network:廣域網)等)連接的其他計算機中而經由網絡接口1070由CPU 1020讀出。
標號說明
10:檢測裝置;11:惡意軟件執行環境部;11A:惡意軟件;11B、11C:進程;11D:訪客OS;11E:虛擬計算機;110:數據傳播跟蹤部;110A:盤標簽保存區域;110B:標簽賦予部;110C:標簽傳播部A;110D:存儲器標簽保存區域;110E:標簽傳播部B;110F:寄存器標簽保存區域;111:命令監視部;112:篡改檢測部;113:通信目的地信息DB;114:虛擬NIC;115:虛擬盤;116:虛擬HW控制器;117:虛擬存儲器;118:虛擬CPU;118B:虛擬寄存器;12:解析結果DB;13:C&C服務器通信目的地信息DB。