本發(fā)明涉及信息處理系統(tǒng)、控制方法及控制程序。
背景技術(shù):
以往,在惡意軟件的分析方法中,大體分為靜態(tài)分析和動態(tài)分析。靜態(tài)分析是通過對惡意軟件的程序代碼進(jìn)行分析而掌握惡意軟件所具備的功能的方法。其中,靜態(tài)分析對惡意軟件所具備的功能全面地進(jìn)行分析,因此需要進(jìn)行通過諸多人手的作業(yè)。另外,動態(tài)分析是通過準(zhǔn)備對惡意軟件的行為進(jìn)行記錄的環(huán)境,并在該環(huán)境內(nèi)使惡意軟件進(jìn)行動作,從而對惡意軟件的功能進(jìn)行分析的方法。動態(tài)分析中的行為的提取與靜態(tài)分析相比,容易實現(xiàn)自動化。
作為這樣的惡意軟件的動態(tài)分析的一種,具有動態(tài)污點分析。在動態(tài)污點分析中,例如在虛擬機(jī)器中,虛擬CPU(Central Processing Unit:中央處理器)對在虛擬存儲器、虛擬盤等中惡意軟件所讀寫的數(shù)據(jù)流進(jìn)行追蹤。更具體地,動態(tài)污點分析由污點標(biāo)簽的賦予、污點標(biāo)簽的傳輸、污點標(biāo)簽的檢測這樣的3個階段構(gòu)成。
例如,在對由惡意軟件所導(dǎo)致的機(jī)密信息的泄漏進(jìn)行檢測的情況下,虛擬CPU執(zhí)行以下的處理。首先,在第1階段中,虛擬CPU使惡意軟件進(jìn)行動作。然后,虛擬CPU在包括機(jī)密信息的文件被讀入到存儲器中的階段,與包括機(jī)密信息的文件的存儲器中的存儲位置對應(yīng)地賦予表示機(jī)密信息的污點標(biāo)簽。通常,該污點標(biāo)簽被存儲到與OS(Operating System:操作系統(tǒng))所管理的物理存儲器獨立地準(zhǔn)備的區(qū)域(也稱為“影子存儲器”)中。該區(qū)域被安裝成從OS、應(yīng)用(包括惡意軟件)無法訪問。
之后,在第2階段中,虛擬CPU通過對寄存器和存儲器區(qū)域之間的傳送命令等進(jìn)行監(jiān)視,從而根據(jù)機(jī)密信息的復(fù)制而傳輸污點標(biāo)簽。并且,在第3階段中,虛擬CPU確認(rèn)是否對從網(wǎng)絡(luò)接口輸出的數(shù)據(jù)賦予了表示機(jī)密信息的污點標(biāo)簽。在對所輸出的數(shù)據(jù)賦予了污點標(biāo)簽的情況下,虛擬CPU檢測出機(jī)密信息要被輸出到外部的情況。
另外,作為應(yīng)用了動態(tài)污點分析的例子,具有通過污點標(biāo)簽來實現(xiàn)調(diào)試器中的斷點的技術(shù)。在該技術(shù)中,利用者對想要中斷程序的部位(設(shè)定“斷點”的部位)提前分配污點標(biāo)簽。并且,虛擬CPU檢測是否與所執(zhí)行的命令對應(yīng)地賦予污點標(biāo)簽,在賦予了污點標(biāo)簽的情況下中斷程序。另外,還有作為污點標(biāo)簽的傳輸目的地而向盤進(jìn)行傳輸?shù)募夹g(shù)。
另外,作為惡意軟件的動態(tài)分析方法的一種,進(jìn)行了如下嘗試:將預(yù)先準(zhǔn)備的FTP(File Transfer Protocol)賬戶信息等(稱為蜜標(biāo)honey token)設(shè)定在分析用PC,故意進(jìn)行由惡意軟件導(dǎo)致的信息泄漏,從而追蹤攻擊者的舉動。由此,能夠掌握攻擊者如何濫用所取得的信息。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:特開2012-83798號公報
非專利文獻(xiàn)
非專利文獻(xiàn)1:川古谷裕平、巖村誠、針生剛男、使用污點標(biāo)簽的分析對象代碼的識別方法、電子信息通信學(xué)會、信息通信系統(tǒng)安全研究會,2012年7月(川古谷裕平、巖村誠、針生剛男、テイントタグを用いた分析対象コードの識別方法、電子情報通信學(xué)會、情報通信システムセキュリティ研究會,2012年7月)
非專利文獻(xiàn)2:Mitsuaki Akiyama,Takeshi Yagi,Kazufumi Aoki,Takeo Hariu,Youki Kadobayashi:Active Credential Leakage for Observing Web-Based Attack Cycle.RAID 2013:pp.223-243
非專利文獻(xiàn)3:青木一史、川古谷裕平、巖村誠、伊藤光恭、通過半透性虛擬互聯(lián)網(wǎng)而進(jìn)行的惡意軟件的動態(tài)分析、惡意軟件對策研究人才培養(yǎng)工作室,2009年10月(青木一史、川古谷裕平、巖村誠、伊藤光恭、半透性仮想インターネットによるマルウェアの動的分析、マルウェア対策研究人材育成ワークショップ,2009年10月)
技術(shù)實現(xiàn)要素:
發(fā)明要解決的課題
但是,在上述的以往技術(shù)中,存在無法在不向他人波及損害的情況下對惡意軟件的舉動進(jìn)行分析的問題。
例如,在故意進(jìn)行由惡意軟件導(dǎo)致的信息泄漏的動態(tài)分析時,需要將惡意軟件的通信目的地作為實際互聯(lián)網(wǎng)而向攻擊者側(cè)發(fā)送蜜標(biāo)。而在惡意軟件中進(jìn)行垃圾郵件的發(fā)送等,在與實際互聯(lián)網(wǎng)連接時,會發(fā)生對他人帶來損害的活動。根據(jù)這樣的情況,需要通過切斷可能會對他人帶來損害的通信或在分析者所準(zhǔn)備的模擬互聯(lián)網(wǎng)內(nèi)繼續(xù)進(jìn)行通信等而進(jìn)行對他人不會帶來損害的方法。
這樣,在對惡意軟件進(jìn)行動態(tài)分析時,需要根據(jù)其通信意圖而將通信目的地切換到實際互聯(lián)網(wǎng)或模擬互聯(lián)網(wǎng)。以往,根據(jù)其通信目的地IP(Internet Protocol:互聯(lián)網(wǎng)協(xié)議)地址、URL(Uniform Resource Locator:統(tǒng)一資源定位器)、通信有效載荷的信息等而切換通信目的地,但是對未知的通信目的地、難讀通信有效載荷的情況難以應(yīng)對。
公開的技術(shù)是鑒于上述問題而創(chuàng)造的,本發(fā)明的目的在于以不向他人波及損害的方式對惡意軟件的舉動進(jìn)行分析。
解決課題的手段
本申請所公開的信息處理系統(tǒng)具有:第1信息處理裝置,其對所起動的惡意軟件的舉動進(jìn)行分析;及第2信息處理裝置,其對從所述第1信息處理裝置發(fā)送的發(fā)送信息進(jìn)行傳送。所述第1信息處理裝置具備存儲部和發(fā)送部,所述第2信息處理裝置具備提取部和傳送部。存儲部將數(shù)據(jù)和對所述數(shù)據(jù)賦予的標(biāo)簽信息對應(yīng)地進(jìn)行存儲。發(fā)送部在所述惡意軟件發(fā)送數(shù)據(jù)時,生成包括發(fā)送的數(shù)據(jù)及對所述發(fā)送的數(shù)據(jù)賦予的標(biāo)簽信息的發(fā)送信息,對所述第2信息處理裝置發(fā)送所述發(fā)送信息。提取部從接收到的所述發(fā)送信息提取所述標(biāo)簽信息。傳送部根據(jù)所提取的所述標(biāo)簽信息而決定所述發(fā)送信息的傳送目的地,向所決定的所述傳送目的地傳送所述發(fā)送信息。
發(fā)明效果
根據(jù)所公開的信息處理裝置的一個方式,具有如下效果:以不向他人波及損害的方式對惡意軟件的舉動進(jìn)行分析。
附圖說明
圖1是表示信息處理系統(tǒng)的結(jié)構(gòu)例的圖。
圖2是表示實現(xiàn)信息處理系統(tǒng)的信息處理裝置的結(jié)構(gòu)例的圖。
圖3是表示影子存儲器中存儲的信息的一例的圖。
圖4是表示污點標(biāo)簽類別信息表中存儲的信息的一例的圖。
圖5是表示在對數(shù)據(jù)未賦予污點標(biāo)簽的情況下由虛擬NIC生成的幀的結(jié)構(gòu)的一例的圖。
圖6是表示在對數(shù)據(jù)賦予污點標(biāo)簽的情況下由虛擬NIC生成的幀的結(jié)構(gòu)的一例的圖。
圖7是表示由虛擬NIC進(jìn)行幀生成的處理的步驟的流程圖。
圖8是表示由虛擬機(jī)器進(jìn)行的處理的步驟的流程圖。
圖9是表示執(zhí)行控制程序的計算機(jī)的圖。
圖10是表示實現(xiàn)信息處理系統(tǒng)的信息處理裝置的另一結(jié)構(gòu)例的圖。
具體實施方式
下面,根據(jù)附圖來詳細(xì)說明所公開的信息處理系統(tǒng)、控制方法及控制程序的實施方式。另外,公開的發(fā)明并不僅限于本實施方式。
(第1實施方式)
圖1是表示信息處理系統(tǒng)1的結(jié)構(gòu)例的圖。如圖1所示,信息處理系統(tǒng)1具備模擬互聯(lián)網(wǎng)裝置2、實際互聯(lián)網(wǎng)連接裝置3、實際互聯(lián)網(wǎng)4、惡意軟件通信目的地切換裝置5、惡意軟件執(zhí)行環(huán)境6。
模擬互聯(lián)網(wǎng)裝置2借助于惡意軟件通信目的地切換裝置5而受理來自惡意軟件執(zhí)行環(huán)境6的通信,在保存的同時判別通信的協(xié)議,并生成與協(xié)議對應(yīng)的數(shù)據(jù)。并且,模擬互聯(lián)網(wǎng)裝置2作為響應(yīng)而發(fā)送在惡意軟件執(zhí)行環(huán)境6中生成的數(shù)據(jù)。模擬互聯(lián)網(wǎng)裝置2通過生成與該協(xié)議對應(yīng)的服務(wù)器響應(yīng)而實現(xiàn)。
實際互聯(lián)網(wǎng)連接裝置3借助于實際互聯(lián)網(wǎng)4而控制與外部裝置之間的通信。實際互聯(lián)網(wǎng)4是與外部裝置連接的網(wǎng)絡(luò)。
惡意軟件執(zhí)行環(huán)境6是用于執(zhí)行惡意軟件的環(huán)境。另外,在此所謂的“惡意軟件”是有悪意的軟件的總稱。
惡意軟件通信目的地切換裝置5與模擬互聯(lián)網(wǎng)裝置2、實際互聯(lián)網(wǎng)連接裝置3、惡意軟件執(zhí)行環(huán)境6連接,例如控制惡意軟件執(zhí)行環(huán)境6與模擬互聯(lián)網(wǎng)裝置2之間的信息的傳送。另外,惡意軟件通信目的地切換裝置5控制惡意軟件執(zhí)行環(huán)境6與實際互聯(lián)網(wǎng)連接裝置3之間的信息的傳送。另外,在信息處理系統(tǒng)1中,假設(shè)信息以幀形式交換的情況而進(jìn)行說明。
在這樣的信息處理系統(tǒng)1中,例如,惡意軟件執(zhí)行環(huán)境6作為蜜標(biāo)而提前設(shè)定惡意軟件有可能嘗試信息泄漏的數(shù)據(jù)。另外,在此所謂“數(shù)據(jù)”中包括程序及程序所參照的數(shù)據(jù)。例如,在著名的FTP客戶所使用的設(shè)定文件中寫入分析者所準(zhǔn)備的FTP賬戶信息(FTP服務(wù)器、用戶名、密碼)。此時,與該設(shè)定文件對應(yīng)地作為屬性信息而設(shè)定污點標(biāo)簽。并且,惡意軟件執(zhí)行環(huán)境6起動惡意軟件,在惡意軟件執(zhí)行環(huán)境6所具備的虛擬網(wǎng)絡(luò)接口(虛擬NIC)中進(jìn)行發(fā)送處理時,將發(fā)送數(shù)據(jù)和污點標(biāo)簽對應(yīng)地發(fā)送到惡意軟件通信目的地切換裝置5。
另外,惡意軟件通信目的地切換裝置5接收從惡意軟件執(zhí)行環(huán)境6接收到的數(shù)據(jù)和與該數(shù)據(jù)關(guān)聯(lián)的污點標(biāo)簽。并且,惡意軟件通信目的地切換裝置5根據(jù)污點標(biāo)簽而決定數(shù)據(jù)的傳送目的地是模擬互聯(lián)網(wǎng)裝置2還是實際互聯(lián)網(wǎng)連接裝置3。例如,在賦予了表示FTP賬戶信息的污點標(biāo)簽的數(shù)據(jù)的情況下,傳送到實際互聯(lián)網(wǎng)連接裝置3。
下面,對模擬互聯(lián)網(wǎng)裝置2、實際互聯(lián)網(wǎng)連接裝置3、實際互聯(lián)網(wǎng)4、惡意軟件通信目的地切換裝置5及惡意軟件執(zhí)行環(huán)境6分別作為虛擬機(jī)器而在1臺信息處理裝置內(nèi)實現(xiàn)的情況進(jìn)行說明。
圖2是表示實現(xiàn)信息處理系統(tǒng)1的信息處理裝置10的結(jié)構(gòu)例的圖。另外,在圖2中,僅圖示了信息處理系統(tǒng)1中的相當(dāng)于惡意軟件通信目的地切換裝置5的虛擬機(jī)器40及相當(dāng)于惡意軟件執(zhí)行環(huán)境6的虛擬機(jī)器30。如圖2所示,信息處理裝置10在物理機(jī)器20上實現(xiàn)虛擬機(jī)器30和虛擬機(jī)器40。
物理機(jī)器20具備未圖示的硬件、主機(jī)OS(Operating System:操作系統(tǒng))、虛擬機(jī)器軟件。硬件是構(gòu)成信息處理裝置10的電子電路、周邊機(jī)器,例如是存儲器、CPU(Central Processing Unit:中央處理器)等。另外,硬件存儲后述的分析對象程序33和存儲了用于進(jìn)行其分析的環(huán)境的盤的圖像文件。換言之,硬件存儲在虛擬機(jī)器30上起動的客戶OS32的圖像。另外,關(guān)于客戶OS32,將后述。同樣地,硬件存儲后述的分析對象程序43和存儲了用于進(jìn)行其分析的環(huán)境的盤的圖像文件。換言之,硬件存儲在虛擬機(jī)器40上起動的客戶OS42的圖像。另外,關(guān)于客戶OS42,將后述。
主機(jī)OS是構(gòu)成使虛擬機(jī)器30及虛擬機(jī)器40動作的底盤的OS,使用硬件而執(zhí)行。虛擬機(jī)器軟件是在主機(jī)OS上動作,并提供虛擬機(jī)器30及虛擬機(jī)器40的軟件。例如,虛擬機(jī)器軟件將虛擬硬件31分配給客戶OS32而使虛擬機(jī)器30進(jìn)行動作。另外,虛擬機(jī)器軟件將虛擬硬件41分配給客戶OS42而使虛擬機(jī)器40進(jìn)行動作。
虛擬機(jī)器30例如具備虛擬硬件31、客戶OS32、分析對象程序33。虛擬硬件31是使用從虛擬機(jī)器軟件提供的虛擬盤、虛擬物理存儲器、虛擬CPU等而使客戶OS32進(jìn)行動作,并執(zhí)行各種處理的虛擬的信息處理裝置。客戶OS32使分析對象程序33進(jìn)行動作。分析對象程序33是在信息處理裝置10中作為分析對象的程序、應(yīng)用,例如為惡意軟件。
另外,虛擬硬件31是使客戶OS32進(jìn)行動作而執(zhí)行各種處理的虛擬的信息處理裝置,具備虛擬存儲器34a、影子存儲器34b、虛擬盤35a、影子盤35b、虛擬NIC(Network Interface Card:網(wǎng)絡(luò)接口卡)36、虛擬CPU37及污點標(biāo)簽類別信息表38。另外,從虛擬機(jī)器軟件提供虛擬存儲器34a、影子存儲器34b、虛擬盤35a、影子盤35b、虛擬NIC36、虛擬CPU37及污點標(biāo)簽類別信息表38等。
虛擬存儲器34a是將信息處理裝置10所具備的物理存儲器中的規(guī)定區(qū)域作為在虛擬機(jī)器30進(jìn)行動作的客戶OS32所使用的存儲器而分配來實現(xiàn)的虛擬的存儲器。例如,虛擬存儲器34a通過虛擬CPU37而存儲從虛擬盤35a讀出的程序、數(shù)據(jù)。
影子存儲器34b是存儲位置信息的數(shù)據(jù)結(jié)構(gòu)體,該位置信息是將用于指定存儲數(shù)據(jù)的虛擬存儲器34a上的存儲位置的信息和表示數(shù)據(jù)為監(jiān)視對象的污點標(biāo)簽對應(yīng)起來的位置信息。例如,作為影子存儲器34b的結(jié)構(gòu),既可以是單純的排列結(jié)構(gòu),也可以作為樹結(jié)構(gòu)而保持污點標(biāo)簽。另外,作為存儲的信息,既可具備作為污點標(biāo)簽的值,也可具備作為朝向保持污點信息的數(shù)據(jù)結(jié)構(gòu)體的指針的值。
使用圖3,對影子存儲器34b的一例進(jìn)行說明。圖3是表示存儲在影子存儲器34b中的信息的一例的圖。如圖3所示,影子存儲器34b將“數(shù)據(jù)ID”、“虛擬存儲器的地址”和“污點標(biāo)簽ID”對應(yīng)地進(jìn)行存儲。
在此,“數(shù)據(jù)ID”表示數(shù)據(jù)的識別符。例如,在“數(shù)據(jù)ID”中存儲“0001”、“0002”等。另外,“虛擬存儲器的地址”是表示在虛擬存儲器34a上的存儲位置的位置信息。例如,在“虛擬存儲器的地址”中存儲“0x0010”、“0x0020”等。“污點標(biāo)簽ID”是用于識別是監(jiān)視對象的識別符。例如,在“污點標(biāo)簽ID”中存儲“1”、“2”等。
作為一例,在圖3所示的影子存儲器34b中,表示識別符為“0001”的數(shù)據(jù)存儲在虛擬存儲器34a的地址“0x0010”,被賦予污點標(biāo)簽“1”。另外,圖3所示的影子存儲器34b中,表示識別符為“0002”的數(shù)據(jù)存儲在虛擬存儲器34a的地址“0x0020”,被賦予污點標(biāo)簽“2”。另外,圖3所示的數(shù)值等到底是例示,并不是對值等進(jìn)行限定。另外,這些污點標(biāo)簽是針對由利用者選擇的數(shù)據(jù)而提前被設(shè)定的。
虛擬盤35a是將信息處理裝置10所具備的物理盤中的規(guī)定區(qū)域作為在虛擬機(jī)器30進(jìn)行動作的客戶OS32所使用的區(qū)域而分配來實現(xiàn)的虛擬的盤。例如,虛擬盤35a存儲將虛擬CPU37作為執(zhí)行對象的程序、成為程序的處理對象的數(shù)據(jù)等。
影子盤35b是存儲位置信息的數(shù)據(jù)結(jié)構(gòu)體,該位置信息是將用于指定存儲數(shù)據(jù)的虛擬盤35a上的存儲位置的信息和表示數(shù)據(jù)為監(jiān)視對象的污點標(biāo)簽對應(yīng)起來的位置信息。例如,作為影子盤35b的結(jié)構(gòu),既可以是單純的排列結(jié)構(gòu),也可以作為樹結(jié)構(gòu)而保持污點標(biāo)簽。另外,作為存儲的信息,既可以具備作為污點標(biāo)簽的值,也可以具備作為朝向保持污點信息的數(shù)據(jù)結(jié)構(gòu)體的指針的值。另外,影子盤35b代替影子存儲器34所存儲的“虛擬存儲器的地址”而存儲表示虛擬盤35a上的存儲位置的位置信息即“虛擬盤的地址”。另外,這些污點標(biāo)簽是針對由利用者選擇的數(shù)據(jù)而提前被設(shè)定的。
污點標(biāo)簽類別信息表38存儲表示與污點標(biāo)簽對應(yīng)的數(shù)據(jù)的傳送目的地的污點標(biāo)簽類別信息。圖4是表示污點標(biāo)簽類別信息表38所存儲的信息的一例的圖。如圖4所示,污點標(biāo)簽類別信息表38存儲將“污點標(biāo)簽ID”和“外部發(fā)送狀態(tài)”對應(yīng)起來的信息。
在此,污點標(biāo)簽類別信息表38所存儲的“污點標(biāo)簽ID”表示污點標(biāo)簽的識別符。例如,在“污點標(biāo)簽ID”中存儲有“1”、“2”等值。另外,污點標(biāo)簽類別信息表38所存儲的“外部發(fā)送狀態(tài)”中存儲表示許可借助于實際互聯(lián)網(wǎng)4而與外部裝置之間通信的“許可”、表示不許可借助于實際互聯(lián)網(wǎng)4而與外部裝置之間通信的“不許可”等。即,在“外部發(fā)送狀態(tài)”為“許可”的情況下,數(shù)據(jù)被傳送到實際互聯(lián)網(wǎng)連接裝置3,在“外部發(fā)送狀態(tài)”為“不許可”的情況下,數(shù)據(jù)被傳送到模擬互聯(lián)網(wǎng)裝置2。
作為一例,在圖4所示的污點標(biāo)簽類別信息表38中,賦予了污點標(biāo)簽ID“1”的數(shù)據(jù)表示許可借助于實際互聯(lián)網(wǎng)4而與外部裝置之間通信。另外,在圖4所示的污點標(biāo)簽類別信息表38中,賦予了污點標(biāo)簽ID“2”的數(shù)據(jù)表示不許可借助于實際互聯(lián)網(wǎng)4而與外部裝置之間通信。
虛擬CPU37是將信息處理裝置10所具備的物理CPU中的規(guī)定處理能力作為在虛擬機(jī)器30進(jìn)行動作的客戶OS32所使用的CPU而分配來實現(xiàn)的虛擬的CPU。例如,虛擬CPU37具備未圖示的程序執(zhí)行功能部和更新功能部。
另外,虛擬CPU37具備未圖示的虛擬寄存器和影子寄存器。虛擬寄存器是將信息處理裝置10所具備的物理寄存器/物理存儲器/物理盤中的規(guī)定區(qū)域作為在虛擬機(jī)器30進(jìn)行動作的客戶OS32所使用的區(qū)域而分配來實現(xiàn)的虛擬的寄存器。例如,虛擬寄存器存儲通過虛擬CPU37而從虛擬存儲器34a讀出的程序、數(shù)據(jù)。另外,影子寄存器是存儲位置信息的數(shù)據(jù)結(jié)構(gòu)體,該位置信息是將用于指定存儲數(shù)據(jù)的虛擬寄存器上的存儲位置的信息和表示數(shù)據(jù)為監(jiān)視對象的污點標(biāo)簽對應(yīng)起來的位置信息。
程序執(zhí)行功能部是執(zhí)行存儲在虛擬盤35a中的程序的處理部。例如,程序執(zhí)行功能部從虛擬盤35a讀出程序而展開到虛擬存儲器34a。換言之,程序執(zhí)行功能部從虛擬盤35a讀出執(zhí)行對象的程序而存儲到虛擬存儲器34a之后,執(zhí)行存儲在虛擬存儲器34a中的執(zhí)行對象的程序。
更新功能部根據(jù)數(shù)據(jù)流而更新將表示數(shù)據(jù)的存儲位置的信息和標(biāo)簽對應(yīng)起來的位置信息。例如,在程序執(zhí)行功能部執(zhí)行分析對象程序33的期間,當(dāng)數(shù)據(jù)被復(fù)制而存儲到其他的存儲區(qū)域或被移動到其他的存儲區(qū)域時,更新功能部與成為復(fù)制目的地、移動目的地的存儲區(qū)域的存儲位置關(guān)聯(lián)地存儲污點標(biāo)簽。另外,在此所謂的“存儲區(qū)域”中包括虛擬寄存器、虛擬存儲器34a及虛擬盤35a。
更具體地,更新功能部以與在執(zhí)行分析對象程序33的過程中產(chǎn)生的虛擬寄存器與虛擬存儲器34a之間及虛擬存儲器34a與虛擬盤35a之間的數(shù)據(jù)的復(fù)制、在生成運(yùn)算命令的情況下,成為數(shù)據(jù)的復(fù)制目的地、移動目的地的存儲區(qū)域的存儲位置關(guān)聯(lián)的方式,在與各個存儲區(qū)域?qū)?yīng)的影子寄存器、影子存儲器34b及影子盤35b中存儲污點標(biāo)簽。換言之,更新功能部對于成為復(fù)制目的地、移動目的地的存儲區(qū)域的存儲位置而傳輸污點標(biāo)簽。另外,下面,有時將影子寄存器、影子存儲器34b及影子盤35b統(tǒng)稱為影子區(qū)域。
虛擬NIC36由客戶OS32作為NIC而被識別,并作為在物理CPU進(jìn)行動作的軟件而實現(xiàn)。另外,通過由虛擬NIC36對物理NIC進(jìn)行控制,從而客戶OS32通過物理NIC而與虛擬機(jī)器40(惡意軟件通信目的地切換裝置5)進(jìn)行通信。
在此,在惡意軟件發(fā)送數(shù)據(jù)時,虛擬NIC36生成包括發(fā)送的數(shù)據(jù)和對所發(fā)送的數(shù)據(jù)賦予的污點標(biāo)簽的幀,向虛擬機(jī)器40(惡意軟件通信目的地切換裝置5)發(fā)送幀。更具體地,虛擬NIC36參照影子存儲器34b或影子盤35b而判定對所發(fā)送的數(shù)據(jù)是否賦予污點標(biāo)簽。并且,在判定為賦予了有污點標(biāo)簽的情況下,虛擬NIC36生成包括數(shù)據(jù)和污點標(biāo)簽的幀。另外,在判定為對所發(fā)送的數(shù)據(jù)未賦予污點標(biāo)簽的情況下,生成包括虛擬NIC數(shù)據(jù)的幀。
利用圖5及圖6,對通過虛擬NIC36而生成的幀進(jìn)行說明。圖5是表示在對數(shù)據(jù)未賦予污點標(biāo)簽的情況下通過虛擬NIC36而生成的幀的結(jié)構(gòu)的一例的圖,圖6是表示在對數(shù)據(jù)賦予了污點標(biāo)簽的情況下通過虛擬NIC36而生成的幀的結(jié)構(gòu)的一例的圖。
如圖5所示,幀通常由8字節(jié)的“前導(dǎo)碼”、6字節(jié)的“目的地MAC地址”、6字節(jié)的“發(fā)送源MAC地址”、2字節(jié)的“類型”、46~1500字節(jié)的“數(shù)據(jù)”、4字節(jié)的“FCS”構(gòu)成。在對數(shù)據(jù)未賦予污點標(biāo)簽的情況下,虛擬NIC36將所發(fā)送的數(shù)據(jù)存儲到“數(shù)據(jù)”。在此,在數(shù)據(jù)尺寸小于1500字節(jié)的情況下,虛擬NIC36從數(shù)據(jù)之后起填充至偏移第1521字節(jié)為止,以數(shù)據(jù)長度位于偏移第1522字節(jié)的位置。
另外,在對數(shù)據(jù)賦予了污點標(biāo)簽的情況下,當(dāng)虛擬NIC36從虛擬CPU37受理數(shù)據(jù)的發(fā)送請求時,取得所發(fā)送的數(shù)據(jù)的尺寸。并且,如圖6所示,虛擬NIC36將數(shù)據(jù)的尺寸作為2字節(jié)的值,從前導(dǎo)碼計數(shù)(以后,稱為偏移)而設(shè)定在第1522字節(jié)的“數(shù)據(jù)長度”。在此,在數(shù)據(jù)尺寸小于1500字節(jié)的情況下,虛擬NIC36從數(shù)據(jù)之后起填充至偏移第1521字節(jié)為止,以數(shù)據(jù)長度位于偏移第1522字節(jié)的位置。另外,在數(shù)據(jù)尺寸最大(1500字節(jié))時,數(shù)據(jù)尺寸位于數(shù)據(jù)之后。
并且,虛擬NIC36將與存儲有所發(fā)送的數(shù)據(jù)的虛擬存儲器對應(yīng)的影子存儲器的內(nèi)容追加到偏移第1524字節(jié)以后的“污點標(biāo)簽存儲區(qū)域”,將此作為幀而發(fā)送。換言之,虛擬NIC36在發(fā)送數(shù)據(jù)時,將對數(shù)據(jù)賦予的污點標(biāo)簽存儲到超過規(guī)定的最大可發(fā)送尺寸的幀內(nèi)的區(qū)域。這是因為,例如,在虛擬NIC36將數(shù)據(jù)和與其對應(yīng)的污點標(biāo)簽作為另外的幀而發(fā)送時,通信分組數(shù)會倍增,并且在數(shù)據(jù)或污點標(biāo)簽到達(dá)接收側(cè)之后,還需要進(jìn)行等待與其成對的污點標(biāo)簽或數(shù)據(jù)的處理。虛擬NIC36將數(shù)據(jù)和污點標(biāo)簽存儲在同一個幀中,從而能夠解決這樣的問題。關(guān)于污點標(biāo)簽,既可以對發(fā)送數(shù)據(jù)的每1字節(jié)分配1字節(jié),而在需要將256個以上的數(shù)據(jù)的屬性區(qū)別開的情況下,也可以對發(fā)送數(shù)據(jù)的每1字節(jié)分配多個字節(jié)的污點標(biāo)簽。另外,虛擬NIC36通過安裝對巨型幀非對應(yīng)的硬件,從而能夠控制OS請求發(fā)送比1500字節(jié)大的數(shù)據(jù)的事例。
接著,對虛擬機(jī)器40進(jìn)行說明。虛擬機(jī)器40例如具備虛擬硬件41、客戶OS42、分析對象程序43。虛擬硬件41是使用從虛擬機(jī)器軟件提供的虛擬盤、虛擬物理存儲器、虛擬CPU等而使客戶OS42進(jìn)行動作,從而執(zhí)行各種處理的虛擬的信息處理裝置??蛻鬙S42使分析對象程序43進(jìn)行動作。分析對象程序43是在信息處理裝置10中作為分析對象的程序、應(yīng)用。
另外,虛擬硬件41是使客戶OS42進(jìn)行動作而執(zhí)行各種處理的虛擬的信息處理裝置,具備虛擬存儲器44a、影子存儲器44b、虛擬盤45a、影子盤45b、虛擬NIC46、虛擬CPU47及污點標(biāo)簽類別信息表48。另外,從虛擬機(jī)器軟件提供虛擬存儲器44a、影子存儲器44b、虛擬盤45a、影子盤45b、虛擬NIC46、虛擬CPU47及污點標(biāo)簽類別信息表48等。
另外,虛擬硬件41所具備的虛擬存儲器44a與虛擬硬件31所具備的虛擬存儲器34a具備相同的功能,虛擬硬件41所具備的影子存儲器44b與虛擬硬件31所具備的影子存儲器34b具備相同的功能。另外,影子存儲器44b中未提前設(shè)定污點標(biāo)簽,而是通過后述的虛擬CPU47的存儲控制功能部而被設(shè)定。
另外,虛擬硬件41所具備的虛擬盤45a與虛擬硬件31所具備的虛擬盤35a具備相同的功能,虛擬硬件41所具備的影子盤45b與虛擬硬件31所具備的影子盤35b具備相同的功能。另外,在影子盤45b中未提前設(shè)定污點標(biāo)簽,而是通過后述的虛擬CPU47的存儲控制功能部而被設(shè)定。另外,虛擬硬件41所具備的污點標(biāo)簽類別信息表48與虛擬硬件31所具備的污點標(biāo)簽類別信息表38具備相同的功能。
虛擬CPU47是通過將信息處理裝置10所具備的物理CPU中的規(guī)定處理能力作為在虛擬機(jī)器40進(jìn)行動作的客戶OS42使用的CPU進(jìn)行分配來實現(xiàn)的虛擬的CPU。虛擬CPU47除了進(jìn)一步具備存儲控制功能部這一點之外,具備與虛擬CPU37相同的功能。
存儲控制功能部在提取包括在所接收到的幀的數(shù)據(jù)而存儲到虛擬存儲器44a時,將污點標(biāo)簽存儲到與寫入目的地的虛擬存儲器44a對應(yīng)的影子存儲器44b。例如,在對所接收到的數(shù)據(jù)賦予了污點標(biāo)簽的情況下,存儲控制功能部將數(shù)據(jù)和污點標(biāo)簽對應(yīng)地存儲到影子存儲器44b。另外,在對所接收到的數(shù)據(jù)未賦予污點標(biāo)簽的情況下,存儲控制功能部不執(zhí)行處理。另外,與對所接收到的數(shù)據(jù)是否賦予污點標(biāo)簽的情況無關(guān)地,虛擬CPU47將所接收到的數(shù)據(jù)存儲到虛擬存儲器44a。
關(guān)于虛擬NIC46,由客戶OS42作為NIC而被識別,并作為在物理CPU中動作的軟件而實現(xiàn)。另外,通過由虛擬NIC46控制物理NIC,從而客戶OS42通過物理NIC而與虛擬機(jī)器30(惡意軟件執(zhí)行環(huán)境6)、模擬互聯(lián)網(wǎng)裝置2及實際互聯(lián)網(wǎng)連接裝置3進(jìn)行通信。
另外,客戶OS42在接收到幀的情況下,決定幀的傳送目的地,并將幀傳送到所決定的傳送目的地。客戶OS42具備未圖示的提取功能部和傳送功能部。在此,在接收TCP這樣的數(shù)據(jù)之前交換用于建立連接的分組的協(xié)議的情況下,客戶OS42例如通過進(jìn)行TCP三次握手而建立TCP的對話,從而在確定通信目的地之前接收數(shù)據(jù)和與此對應(yīng)的污點標(biāo)簽。
例如,客戶OS42的提取功能部判定對所接收到的數(shù)據(jù)是否賦予污點標(biāo)簽。并且,在判定為賦予了污點標(biāo)簽的情況下,客戶OS42的提取功能部從接收到的幀提取污點標(biāo)簽。并且,客戶OS42的傳送功能部根據(jù)所提取的污點標(biāo)簽而決定幀的傳送目的地。
更具體地,客戶OS42的提取功能部參照所接收到的幀的幀長而判定對數(shù)據(jù)是否賦予污點標(biāo)簽。在此,在幀長為1526字節(jié)的情況下,客戶OS42的提取功能部判定為對數(shù)據(jù)未賦予污點標(biāo)簽,在幀長為1529字節(jié)的情況下,客戶OS42的提取功能部判定為對數(shù)據(jù)賦予了污點標(biāo)簽。
并且,在判定為對數(shù)據(jù)賦予了污點標(biāo)簽的情況下,客戶OS42的提取功能部提取污點標(biāo)簽。例如,客戶OS42的提取功能部從幀的偏移第1522字節(jié)中,將實際數(shù)據(jù)的尺寸值作為實際數(shù)據(jù)而提取。由此,虛擬CPU47將所提取的實際數(shù)據(jù)復(fù)制到虛擬存儲器44a。另外,客戶OS42的提取功能部從偏移第1524字節(jié)以后提取污點標(biāo)簽。由此,虛擬CPU47將所提取的污點標(biāo)簽復(fù)制到影子存儲器44b。由此,可執(zhí)行惡意軟件執(zhí)行環(huán)境6與惡意軟件通信目的地切換裝置5之間的污點標(biāo)簽的收發(fā)。
并且,客戶OS42的傳送功能部參照污點標(biāo)簽類別信息而讀出與所提取的污點標(biāo)簽對應(yīng)的“外部發(fā)送狀態(tài)”。在此,在“外部發(fā)送狀態(tài)”為表示許可與外部裝置之間的通信的“許可”的情況下,客戶OS42的傳送功能部將接收到的幀傳送到實際互聯(lián)網(wǎng)連接裝置3。另外,在“外部發(fā)送狀態(tài)”為表示不許可與外部裝置之間的通信的“不許可”的情況下,客戶OS42的傳送功能部將接收到的幀傳送到模擬互聯(lián)網(wǎng)裝置2。另外,在對數(shù)據(jù)未賦予污點標(biāo)簽的情況下,客戶OS42的傳送功能部不傳送接收到的幀。另外,在對數(shù)據(jù)未賦予污點標(biāo)簽的情況下,客戶OS42的傳送功能部將所接收到的幀傳送到模擬互聯(lián)網(wǎng)裝置2或?qū)嶋H互聯(lián)網(wǎng)連接裝置3的任一方。
接著,利用圖7,對通過虛擬機(jī)器30所具備的虛擬NIC36而處理的步驟進(jìn)行說明。圖7是表示通過虛擬NIC36而生成幀的處理的步驟的流程圖。如圖7所示,虛擬NIC36判定是否受理數(shù)據(jù)的發(fā)送請求(步驟S101)。在此,在判定為未受理數(shù)據(jù)的發(fā)送請求的情況下(步驟S101,否),虛擬NIC36重復(fù)步驟S101的判定處理。
另外,在判定為受理了數(shù)據(jù)的發(fā)送請求的情況下(步驟S101,是),虛擬NIC36判定數(shù)據(jù)是否與污點標(biāo)簽對應(yīng)(步驟S102)。在此,在判定為數(shù)據(jù)與污點標(biāo)簽對應(yīng)的情況下(步驟S102,是),虛擬NIC36讀出與數(shù)據(jù)對應(yīng)的污點標(biāo)簽(步驟S103)。并且,虛擬NIC36生成包括數(shù)據(jù)和污點標(biāo)簽的幀(步驟S104)。
另外,在判定為數(shù)據(jù)與污點標(biāo)簽未對應(yīng)的情況下(步驟S102,否),虛擬NIC36生成包括數(shù)據(jù)的幀(步驟S105)。虛擬NIC36在步驟S104或步驟S105之后,將所生成的幀發(fā)送到虛擬機(jī)器40(步驟S106),結(jié)束處理。
接著,利用圖8,對通過虛擬機(jī)器40而處理的步驟進(jìn)行說明。圖8是表示通過虛擬機(jī)器40而處理的步驟的流程圖。如圖8所示,虛擬機(jī)器40的客戶OS42的提取功能部判定是否接收到幀(步驟S201)。在此,在判定為未接收到幀的情況下(步驟S201,否),客戶OS42的提取功能部重復(fù)步驟S201的判定處理。
另外,在判定為接收到幀的情況下(步驟S201,是),客戶OS42的提取功能部判斷在幀中是否包括污點標(biāo)簽(步驟S202)。在此,在判定為在幀中包括污點標(biāo)簽的情況下(步驟S202,是),客戶OS42的提取功能部提取污點標(biāo)簽(步驟S203)。接著,客戶OS42向虛擬CPU47請求污點標(biāo)簽類別信息(步驟S204)。另外,在判定為在幀中不包括污點標(biāo)簽的情況下(步驟S202,否),客戶OS42的提取功能部結(jié)束處理。
另外,虛擬CPU47判定是否請求污點標(biāo)簽類別信息(步驟S205)。在此,在判定為請求了污點標(biāo)簽類別信息的情況下(步驟S205,是),虛擬CPU47向客戶OS42響應(yīng)污點標(biāo)簽類別信息,向客戶OS42請求數(shù)據(jù)和污點標(biāo)簽(步驟S206)。另外,在判定為未請求污點標(biāo)簽類別信息的情況下(步驟S205,否),虛擬CPU47重復(fù)步驟S205的判定處理。
客戶OS42取得污點標(biāo)簽類別信息(步驟S207),向虛擬CPU47響應(yīng)數(shù)據(jù)和污點標(biāo)簽(步驟S208)。并且,虛擬CPU47取得數(shù)據(jù)和污點標(biāo)簽(步驟S209)。接著,虛擬CPU47的存儲控制功能部將數(shù)據(jù)和污點標(biāo)簽對應(yīng)地存儲到影子存儲器44b(步驟S210)。這樣,虛擬CPU47的存儲控制功能部將數(shù)據(jù)和污點標(biāo)簽對應(yīng)地存儲到影子存儲器44b,從而例如能夠?qū)⒄瘴埸c標(biāo)簽并傳送到外部的數(shù)據(jù)為了事后的分析而進(jìn)行保存。
另外,客戶OS42的傳送功能部參照污點標(biāo)簽類別信息而判定污點標(biāo)簽(步驟S211),判定是否許可與實際互聯(lián)網(wǎng)連接(步驟S212)。在此,在判定為許可與實際互聯(lián)網(wǎng)連接的情況下(步驟S212,是),客戶OS42的傳送功能部向?qū)嶋H互聯(lián)網(wǎng)連接裝置3傳送幀(步驟S213)。另外,在判定為不許可與實際互聯(lián)網(wǎng)連接的情況下(步驟S212,否),客戶OS42的傳送功能部向模擬互聯(lián)網(wǎng)裝置2傳送幀(步驟S214)。
如上述,在第1實施方式的信息處理裝置10中,在動態(tài)分析惡意軟件時,將惡意軟件執(zhí)行環(huán)境6中的污點標(biāo)簽傳輸給網(wǎng)絡(luò),從而能夠高精度地切換惡意軟件的通信目的地。
在此,在動態(tài)分析惡意軟件時,具有敢于許可與存在于互聯(lián)網(wǎng)的攻擊者通信的事例和切斷通信或傳送到模擬互聯(lián)網(wǎng),以不向他人波及損害的事例。在以往的技術(shù)中,在通信目的地為完全未知的目的地的情況下、難以讀出通信有效載荷的情況下,難以決定通信目的地。另外,在第1實施方式的信息處理裝置10中,提前在惡意軟件執(zhí)行環(huán)境6中,對想要發(fā)送到攻擊者的信息賦予污點標(biāo)簽,并將該污點標(biāo)簽傳送到惡意軟件通信目的地切換裝置5。由此,惡意軟件通信目的地切換裝置5通過參照污點標(biāo)簽,從而在不依賴于目的地IP地址、通信有效載荷的情況下,能夠?qū)阂廛浖ㄐ诺哪康牡厍袚Q到模擬互聯(lián)網(wǎng)或?qū)嶋H互聯(lián)網(wǎng)。
另外,在上述的實施方式中,對惡意軟件通信目的地切換裝置5參照污點標(biāo)簽類別信息表48而判定是否許可與外部裝置之間的通信來決定傳送目的地的情況進(jìn)行了說明,但實施方式不限于此。例如,惡意軟件執(zhí)行環(huán)境6可以僅對許可與外部裝置之間的通信的數(shù)據(jù)賦予污點標(biāo)簽。例如,惡意軟件執(zhí)行環(huán)境6僅對FTP賬戶信息賦予污點標(biāo)簽。在該情況下,惡意軟件通信目的地切換裝置5在所接收到的幀中包括污點標(biāo)簽的情況下,將數(shù)據(jù)發(fā)送到實際互聯(lián)網(wǎng)連接裝置3,在不存在污點標(biāo)簽的情況下,發(fā)送到模擬互聯(lián)網(wǎng)裝置2。或者,惡意軟件執(zhí)行環(huán)境6僅對不許可與外部裝置之間的通信的數(shù)據(jù)賦予污點標(biāo)簽。例如,惡意軟件執(zhí)行環(huán)境6僅對分析對象的惡意軟件賦予污點標(biāo)簽。在該情況下,在所接收到的幀中包括污點標(biāo)簽的情況下,惡意軟件通信目的地切換裝置5將污點標(biāo)簽發(fā)送到模擬互聯(lián)網(wǎng)裝置2,在不存在污點標(biāo)簽的情況下,將數(shù)據(jù)發(fā)送到實際互聯(lián)網(wǎng)連接裝置3。
另外,惡意軟件通信目的地切換裝置5將目的地IP地址、通信有效載荷的確認(rèn)結(jié)果和污點標(biāo)簽結(jié)合而決定傳送目的地。
另外,如圖6所示,在上述的實施方式中,虛擬NIC36在偏移第1522字節(jié)存儲數(shù)據(jù)長度,但也可以不包括該數(shù)據(jù)長度而從偏移第1522字節(jié)起開始污點標(biāo)簽存儲區(qū)域。在該情況下,從巨型幀的尺寸減去1526字節(jié)(1522字節(jié)+FCS的字節(jié)數(shù))的尺寸構(gòu)成污點標(biāo)簽存儲區(qū)域的尺寸,由該尺寸決定實際數(shù)據(jù)的尺寸(在數(shù)據(jù)每1字節(jié)的污點標(biāo)簽為1字節(jié)的情況下,與污點標(biāo)簽存儲區(qū)域的尺寸相同)。另外,虛擬NIC36可以不填充數(shù)據(jù)而生成幀。在該情況下,從巨型幀的尺寸減去28字節(jié)(至數(shù)據(jù)為止的22字節(jié)+數(shù)據(jù)長度的2字節(jié)+FCS的4字節(jié))的尺寸構(gòu)成數(shù)據(jù)的尺寸和污點存儲區(qū)域的尺寸之和,由該尺寸可決定實際數(shù)據(jù)的尺寸(在數(shù)據(jù)每1字節(jié)的污點標(biāo)簽為1字節(jié)的情況下,將該尺寸除以2而獲得的值構(gòu)成實際數(shù)據(jù)的尺寸)。另外,虛擬NIC36可以不填充數(shù)據(jù)且不包括數(shù)據(jù)長度而生成幀。
另外,在上述的實施方式中,對模擬互聯(lián)網(wǎng)裝置2、實際互聯(lián)網(wǎng)連接裝置3、實際互聯(lián)網(wǎng)4、惡意軟件通信目的地切換裝置5及惡意軟件執(zhí)行環(huán)境6分別作為虛擬機(jī)器而在1臺信息處理裝置內(nèi)實現(xiàn)的情況進(jìn)行了說明,但實施方式不限于此。例如,也可以是模擬互聯(lián)網(wǎng)裝置2、實際互聯(lián)網(wǎng)連接裝置3、實際互聯(lián)網(wǎng)4、惡意軟件通信目的地切換裝置5及惡意軟件執(zhí)行環(huán)境6分別作為虛擬機(jī)器而在多個信息處理裝置中以任意的組合分散而實現(xiàn)?;蛘?,也可以在信息處理系統(tǒng)1中,模擬互聯(lián)網(wǎng)裝置2、實際互聯(lián)網(wǎng)連接裝置3、實際互聯(lián)網(wǎng)4、惡意軟件通信目的地切換裝置5、惡意軟件執(zhí)行環(huán)境6分別作為獨立的信息處理裝置而實現(xiàn)。
(第2實施方式)
以上,對本發(fā)明的實施方式進(jìn)行了說明,但是本發(fā)明除了上述實施方式以外,也可以其他實施方式實施。在此,下面對該其他實施方式進(jìn)行說明。
(系統(tǒng)結(jié)構(gòu))
另外,在本實施方式中說明的各個處理中,將以自動進(jìn)行的方式進(jìn)行說明的處理的全部或一部分可以手動的方式進(jìn)行或?qū)⒁允謩舆M(jìn)行的方式進(jìn)行說明的處理的全部或一部分通過公知的方法而自動進(jìn)行。另外,關(guān)于上述文中、附圖中所示的處理步驟、控制步驟、具體名稱、包括各種的數(shù)據(jù)、參數(shù)的信息,除了特別記載的情況之外,可任意地變更。
另外,圖示的各個裝置的各個結(jié)構(gòu)要素是功能概念性的要素,無需一定要物理性地如圖示這樣構(gòu)成。即,各個裝置的分散、綜合的具體形態(tài)不限于圖示的情況,可根據(jù)各種的負(fù)荷、使用狀況等而將其全部或一部分以任意的單位功能性地或物理性地分散、綜合而構(gòu)成。例如,虛擬機(jī)器30及虛擬機(jī)器40分別可由獨立的信息處理裝置10而實現(xiàn)。例如,如圖10所示,虛擬機(jī)器30由信息處理裝置10a的物理機(jī)器20a而實現(xiàn),虛擬機(jī)器40由信息處理裝置10b的物理機(jī)器20b而實現(xiàn)。在該情況下,從虛擬機(jī)器30發(fā)送的幀經(jīng)由連接信息處理裝置10a、10b之間的網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))而到達(dá)虛擬機(jī)器40。
(程序)
另外,關(guān)于上述實施例1的信息處理裝置所執(zhí)行的處理,可制作成以計算機(jī)可執(zhí)行的語言記述的特定程序。在該情況下,計算機(jī)執(zhí)行特定程序,從而可獲得與上述實施方式相同的效果。進(jìn)而,將該特定程序記錄到計算機(jī)可讀取的記錄介質(zhì),并使計算機(jī)讀入記錄在該記錄介質(zhì)的特定程序而執(zhí)行,從而實現(xiàn)與上述實施方式相同的處理。下面,對執(zhí)行用于實現(xiàn)與圖1等所示的信息處理裝置10相同的功能的控制程序的計算機(jī)的一例進(jìn)行說明。
圖9是表示執(zhí)行控制程序的計算機(jī)1000的圖。如圖9所示,計算機(jī)1000例如具備存儲器1010、CPU1020、硬盤驅(qū)動接口1030、盤驅(qū)動接口1040、串行端口接口1050、視頻適配器1060、網(wǎng)絡(luò)接口1070。這些各個部通過總線1080而連接。
存儲器1010包括ROM(Read Only Memory:只讀存儲器)1011及RAM(Random Access Memory:隨機(jī)存取存儲器)1012。ROM1011例如存儲BIOS(Basic Input Output System:基本輸入輸出系統(tǒng))等引導(dǎo)程序。硬盤驅(qū)動接口1030與硬盤驅(qū)動1090連接。盤驅(qū)動接口1040與盤驅(qū)動1100連接。盤驅(qū)動1100中例如插入磁盤、光盤等可裝卸的存儲介質(zhì)。在串行端口接口1050例如連接鼠標(biāo)1110及鍵盤1120。在視頻適配器1060例如連接顯示器1130。
在此,如圖9所示,硬盤驅(qū)動1090例如存儲OS1091、應(yīng)用程序1092、程序模塊1093及程序數(shù)據(jù)1094。在上述實施方式中說明的控制程序例如存儲于硬盤驅(qū)動1090、存儲器1010。
另外,控制程序例如作為記載有通過計算機(jī)1000而執(zhí)行的指令的程序模塊,例如存儲于硬盤驅(qū)動1090。具體地,記載有如下步驟的程序模塊存儲于硬盤驅(qū)動1090:在第1計算機(jī)執(zhí)行與在上述實施方式中說明的虛擬NIC36相同的信息處理的發(fā)送步驟;在第2計算機(jī)執(zhí)行與在上述實施方式中說明的客戶OS42的提取功能部相同的信息處理的提取步驟;執(zhí)行與客戶OS42的傳送功能部相同的信息處理的傳送步驟。
另外,使用于通過控制程序而進(jìn)行的信息處理的數(shù)據(jù)作為程序數(shù)據(jù)而例如存儲于硬盤驅(qū)動1090。并且,CPU1020根據(jù)需要而將存儲于硬盤驅(qū)動1090的程序模塊、程序數(shù)據(jù)讀出到RAM1012,從而執(zhí)行上述各個步驟。
另外,涉及控制程序的程序模塊、程序數(shù)據(jù)不限于存儲于硬盤驅(qū)動1090的情況,例如也可以存儲于可裝卸的存儲介質(zhì),并借助于盤驅(qū)動1100等而通過CPU1020而讀出?;蛘?,涉及控制程序的程序模塊、程序數(shù)據(jù)存儲于借助于LAN(Local Area Network:局域網(wǎng))、WAN(Wide Area Network:廣域網(wǎng))等網(wǎng)絡(luò)而連接的其他的計算機(jī),并借助于網(wǎng)絡(luò)接口1070而通過CPU1020來讀出。
(其他)
另外,關(guān)于本實施方式中說明的控制程序,可借助于互聯(lián)網(wǎng)等網(wǎng)絡(luò)而進(jìn)行配置。另外,控制程序可記錄于硬盤、軟盤(FD)、CD-ROM、MO、DVD等由計算機(jī)可讀取的記錄介質(zhì),并通過計算機(jī)從記錄介質(zhì)讀出而執(zhí)行。
符號說明
10,10a,10b 信息處理裝置
20,20a,20b 物理機(jī)器
30,40 虛擬機(jī)器
31,41 虛擬硬件
32,42 客戶OS
33,43 分析對象程序
34a,44a 虛擬存儲器
34b,44b 影子存儲器
35a,45a 虛擬盤
35b,45b 影子盤
36,46 虛擬NIC
37,47 虛擬CPU
38,48 污點標(biāo)簽類別信息表
1000 計算機(jī)
1010 存儲器
1011ROM
1012RAM
1020CPU
1030 硬盤驅(qū)動接口
1040 盤驅(qū)動接口
1050 串行端口接口
1060 視頻適配器
1070 網(wǎng)絡(luò)接口
1080 總線
1090 硬盤驅(qū)動
1091OS
1092 應(yīng)用程序
1093 程序模塊
1094 程序數(shù)據(jù)
1100 盤驅(qū)動
1110 鼠標(biāo)
1120 鍵盤
1130 顯示器