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