非法進程檢測方法及非法進程檢測系統的製作方法
2023-05-28 16:36:21 3
專利名稱:非法進程檢測方法及非法進程檢測系統的製作方法
技術領域:
本發明涉及用於檢測非法進程(process)的方法及系統,該非法進程有經由網絡進行非法活動的計算機病毒等。
背景技術:
作為對經由網絡的非法入侵的對策之一,可以列舉出網絡型入侵檢測系統。作為與網絡型入侵檢測系統相關的技術,在專利文獻1中有記載。在專利文獻1中,入侵檢測裝置監視經由網絡的通信,對正在流動的包進行分析,並判斷是否被非法入侵。此外,在判斷為正在被非法入侵的情況下,進行通信截斷等對策。作為應用網絡型入侵檢測系統來檢測在網絡內部是否存在感染了計算機病毒的終端的技術,在專利文獻2及非專利文獻1中有記載。在專利文獻2記載的技術中,基於經由網絡的通信的監視結果來執行異常通信的檢測。在檢測到異常通信的情況下,向終端通知異常通信的特徵模式,終端通過與自身進行的通信的特徵模式進行比較,來判定過去是否進行了異常的通信。此外,在非專利文獻1記載的技術中,監視經由網絡的通信,通過將由一臺終端進行的多個網絡活動建立起關聯,來檢測正在進行可疑活動的終端。現有技術文獻專利文獻專利文獻1 日本特開2002-73433專利文獻2 日本特開2008-278272非專利文獻:"BotHunter detecting Malware Infection Through IDS-Driven Dialog Correlation,,、Guofei Gu、Phillip Porras>Vinod Yegneswaran、Marth Fong and Wenke Lee、Proceedings of 16th USENIX Security Symposium、pp.167_182、2007.發明所要解決的技術問題近年來,被稱為殭屍病毒(BOT)的一種計算機病毒成了很嚴重的問題。殭屍病毒在用戶的終端(計算機)上進行動作,按照經由網絡的來自遠程處的攻擊者的指令進行非法活動。殭屍病毒的非法活動中有以軟體的脆弱性為目標進行攻擊活動、使得無法提供服務的攻擊、垃圾郵件的發送、以及將感染了殭屍病毒的終端內的機密信息向外部發送等。不同於以往的蠕蟲病毒等計算機病毒,殭屍病毒並不一定非要以軟體的脆弱性為目標進行攻擊。在專利文獻1、專利文獻2記載的技術中,存在如下的問題雖然能夠對以軟體的脆弱性為目標進行的包含異常數據的攻擊進行檢測,但卻不能夠對垃圾郵件的發送、 機密信息向外部的發送這樣的非法活動進行檢測。這是因為,例如垃圾郵件的發送,並不是發送使軟體的動作產生異常這樣的數據,而是經由與普通郵件相同的步驟被發送的。
此外,在非專利文獻1記載的技術中,存在如下的問題在多個網絡活動(基於郵件發送和IRC (Internet Relay Chat)進行的會話通信)沒有通過非法進程等而是正規地進行的情況下,將正常的終端誤檢測為可疑終端。這樣,在使用了以往的入侵檢測系統的異常檢測中,很難將依據正規手續的非法活動與正常的活動區分檢測出來。
發明內容
用於解決技術問題的技術手段如上所示,通過僅監視網絡中的活動來檢測非法進程是困難的,因此在本發明中, 監視終端內的進程的活動或網絡中的進程的活動、或者兩者,將該活動與該進程的標識符之間建立關聯,通過相同的進程或相關的進程組來對活動進行匯總,從而判定是否正在進行非法活動。在此,所謂兩個進程相關是指,在遞歸地逆推出生成各個進程的進程(母進程) 時,兩者存在共通的進程。本發明的具體方式如下所示。終端及通信監視裝置及非法進程判定裝置與內部網絡相連接。監視終端內的存儲器訪問或對存儲裝置及輸入裝置的訪問等(以下稱為系統訪問),將通過系統訪問的監視得到的活動和終端內的進程建立關聯,並通知給非法進程判定裝置。此外,在通信監視裝置中監視終端執行的通信,將通過通信的監視得到的活動和終端內的進程建立關聯,並通知給非法進程判定裝置。在非法進程判定裝置中參照通知來的活動,根據滿足規定條件的活動是否是通過相同或相關的進程執行的,來判定在所述終端內是否有非法進程在活動。發明效果根據本發明,能夠檢測僅通過監視經由網絡進行的通信難以檢測的非法進程的活動。
圖1示出了非法進程檢測系統的結構例。圖2示出了構成非法進程檢測系統的各裝置的硬體結構例。圖3示出了構成非法進程檢測系統的各裝置的軟體結構例。圖4示出了進程信息資料庫的結構例。圖5示出了系統監視結果資料庫的結構例。圖6示出了通信監視結果資料庫的結構例。圖7示出了判定策略的結構例。圖8示出了系統監視部的處理流程例。圖9示出了通信監視部的處理流程例。圖10示出了進程信息關聯建立部的處理流程例。圖11示出了非法進程判定部的處理流程例。圖12示出了實施例2中的終端的軟體結構例。
具體實施方式
以下,使用
本發明的實施方式。另外,以下的說明僅示出本發明的實施方式,但並不限制本發明的結構及功能等。實施例1圖1示出了本實施例的非法進程檢測系統100的結構例。非法進程檢測系統100 具備終端101、通信監視裝置102、非法進程判定裝置103,這些各部分通過內部網絡104連接。內部網絡104上還連接有未圖示的終端或通信裝置等。通信監視裝置102還與網際網路等的外部網絡105連接。在圖1中,通信監視裝置102設置為經由通信監視裝置102在內部網絡104與外部網絡105之間進行通信,但是通信監視裝置102的設置位置並不限於圖1的位置,只要設置在能夠監視內部網絡104與外部網絡105之間的通信的位置即可。圖2示出了本非法進程檢測系統的各裝置101、102、103的硬體結構例。構成各裝置的硬體實際上具有同樣的裝置結構,通過由各運算裝置執行的軟體來決定各自的動作。終端101是信息處理裝置,是用戶所持有的PC等終端。終端101具備運算裝置 211、存儲器212、硬碟等存儲裝置213、網卡等通信裝置214、鍵盤或滑鼠等輸入裝置215、以及LCD(Liquid Crystal Display)等顯示裝置216。運算裝置211執行在存儲裝置213中保存的程序,進行各部的控制。存儲裝置213保存運算裝置211執行的程序和運算裝置211 使用的數據等。通信裝置214經由網絡104從其他裝置接收數據並傳送給運算裝置211, 並且,將運算裝置211生成的數據經由網絡104向其他裝置發送。運算裝置211控制輸入裝置215、顯示裝置216,從輸入裝置215輸入數據,並將數據向顯示裝置216輸出。存儲裝置213中保存有程序,程序被從存儲裝置213載入存儲器212,由運算裝置211執行。終端 101將這些程序從存儲裝置213載入並執行,但是作為其他例子,也可以是從⑶、DVD等的光學記錄介質、MO等光磁記錄介質、磁帶介質、磁記錄介質、或者半導體存儲器等記錄介質載入該程序。此外,作為其他例子,也可以是從其他裝置經由通信介質載入這些程序。所謂通信介質是指,網絡、或者在該網絡中傳播的數位訊號或載波。通信監視裝置2具備運算裝置221、存儲器222、硬碟等存儲裝置223、網卡等通信裝置2 和225、鍵盤或滑鼠等輸入裝置226、以及IXD等顯示裝置227。非法進程判定裝置103具備運算裝置231、存儲器232、硬碟等存儲裝置233、網卡等通信裝置234、鍵盤或滑鼠等輸入裝置235、以及LCD等顯示裝置236。作為通信監視裝置102及非法進程判定裝置103的硬體的動作,依據於終端101的動作。圖3示出了構成非法進程檢測系統100的終端101、通信監視裝置102、以及非法進程判定裝置103的軟體結構例。本實施例中,通過非法進程檢測系統100來檢測終端101正在內部動作的非法進程。終端101具有數據收發部311,與內部網絡104之間收發信息;在內部動作的進程312; 系統監視部313,監視進程312對存儲裝置213或輸入裝置215等的訪問;進程信息關聯建立部314,將經由數據收發部311的與內部網絡4之間的通信和進程建立關聯;系統監視結果通知部315,將系統監視部313的監視結果向非法進程判定裝置103發送;以及進程信息資料庫316,保存表示針對終端101內的進程、哪個進程生成了哪個進程的母子關係的信肩、ο進程312是保存在存儲裝置213等中的任意程序在終端101內執行時的實例(instance),執行經由數據收發部311的與內部網絡4之間的信息的收發、對存儲器212或輸入裝置215等的訪問、或者上述兩者。將由進程312進行的對存儲器212、輸入裝置215 等存儲裝置及輸入輸出裝置的訪問稱作系統訪問,將與內部網絡4之間的信息收發稱作通信。本實施例中的監視對象是這些系統訪問及通信。圖4示出了進程信息資料庫316的一個例子。進程信息資料庫316由進程標識符 401、母進程標識符402構成。進程標識符401是用於確定終端101內的進程的標識符。母進程標識符402是生成了進程標識符401所表示的進程的進程(母進程)的標識符。返回圖3進行說明。通信監視裝置102具有數據收發部321,與內部網絡104之間收發信息;數據收發部322,與外部網絡105之間收發信息;通信監視部323,監視在內部網絡104和外部網絡105之間通信的信息;以及通信監視結果通知部324,將通信監視部 323的監視結果向非法進程判定裝置103發送。非法進程判定裝置103具有數據收發部331,與內部網絡104之間收發信息;系統監視結果接收部332,經由數據收發部331接收從終端101的系統監視結果通知部315通知來的系統監視結果;通信監視結果接收部333,經由數據收發部331接收從通信監視裝置 102的通信監視結果通知部3M通知來的通信監視結果;系統監視結果資料庫334,對接收到的系統監視結果進行儲存;通信監視結果資料庫335,對接收到的通信監視結果進行儲存;判定策略(policy)336,用於對非法活動(以下,作為假定為計算機病毒等的用語而使用非法的「活動」,非法活動是非法進程的執行所伴隨的非法的「處理」或「動作」。同樣,正規進程的執行所伴隨的「處理」或「動作」也是「活動」。)進行規定;非法進程判定部337, 比較系統監視結果資料庫334、通信監視結果資料庫335和判定策略336的內容,從而判定在終端101內正在動作的進程是否是非法進程;以及判定結果通知部338,基於由非法進程判定部337得到的判定結果,通知警告。圖5中示出了系統監視結果資料庫334的一個例子。系統監視結果資料庫334由終端標識符501、進程標識符502、關聯進程標識符列表503、活動內容504構成。終端標識符501是進行了由系統監視部313檢測到的活動的終端的標識符。進程標識符502是進行了由系統監視部313檢測到的活動的、由終端標識符501確定的終端101內的進程的標識符。關聯進程標識符列表503是如生成由進程標識符502確定的進程的進程(母進程)的標識符、生成該母進程的進程的標識符這樣,從進程標識符502遞歸地求出母進程而得到的進程標識符的列表。以下,在不帶附圖標記提及「關聯進程標識符列表」的情況下,表示對某個進程遞歸地求出其母進程而得到的進程標識符的列表。活動內容504是表示由系統監視部313檢測到的活動內容的信息。圖6中示出了通信監視結果資料庫335的一個例子。通信監視結果資料庫335由終端標識符601、進程標識符602、關聯進程標識符列表603、通信參數604、通信內容605構成。終端標識符601是由通信監視部323檢測到了活動的終端101的標識符。進程標識符 602是通過由通信監視部323檢測到了活動的終端標識符601所確定的終端101內的進程的標識符。關聯進程標識符列表603是如生成由進程標識符602確定的進程的進程(母進程)的標識符、生成該母進程的進程的標識符這樣,從進程標識符602遞歸地求出母進程而得到的進程標識符的列表。通信參數604是由通信監視部323檢測到的通信的參數,由協議 606、發信源IP (Internet Protocol)地址607、發信源埠號608、發送目的地IP位址609、發送目的地埠號610構成。通信內容605是由通信監視部323檢測到的通信內容(通信種類)。圖7中示出了判定策略336的一個例子。判定策略336由判定條件監視結果列表701、判定結果702構成。判定條件監視結果列表701是作為為了在非法進程判定部337 中判定非法進程的活動而應該滿足的條件的監視結果的列表。判定條件監視結果列表701 由一個或多個監視結果703構成,各個監視結果703由類目(category) 704和內容705構成。類目704表示監視結果703是由系統監視部313檢測到的,還是由通信監視部323檢測到的,內容705表示由系統監視部313或通信監視部323檢測到的活動的內容。判定結果702是在判定條件監視結果列表701所包含的監視結果全部滿足條件的情況下從非法進程判定部33得到的判定結果。關於向判定策略336的信息登錄,在本實施例中不進行規定。作為信息登錄的例子,有像網絡管理者通過手動進行登錄的、現有的殺毒軟體等那樣定期地訪問外部站點而下載所登錄的信息等的例子。對非法進程檢測系統100的動作進行說明。終端101內的進程312進行保存在存儲器212、存儲裝置213中的數據的讀寫,以及對輸入裝置215、顯示裝置216的訪問(將這些統稱為系統訪問)。在系統監視部313中,監視由進程312進行的終端101內的系統訪問,確認是否存在正在進行可疑活動的進程。在本實施例中,系統監視部313所監視的對象的進程是在終端101內動作的全部進程,但是也可以將由系統監視部313作為監視對象的進程僅設為特定的進程、或僅設為由特定的用戶起動的進程等,對成為監視對象的進程施加限制。圖8中示出了系統監視部313的處理流程圖的一個例子。系統監視部313起動後,進行進程的起動和系統訪問的監視(步驟801)。若檢測到進程的起動或由任意進程進行的系統訪問(步驟802),則確認是否是進程起動的檢測(步驟803)。在是進程起動的檢測的情況下,取得檢測到起動的進程的標識符、以及生成該進程的進程(母進程)的標識符(步驟804)。進程的標識符及母進程的標識符利用 OS (Operating System)的功能來取得,或者通過終端101內的存儲器212的特定部位的讀取來取得。將所取得的進程標識符和母進程標識符登錄在進程信息資料庫316中(步驟
805),返回至步驟801,繼續進行監視。在終端101內的進程中存在有明顯不是非法進程的進程(正規進程)的情況下,可以在向進程信息資料庫316登錄時,對進程進行過濾處理, 以避免將與正規進程的進程標識符一致的進程標識符或母進程標識符登錄在進程信息資料庫316中。在步驟803中,在是系統訪問的檢測的情況下,確定該系統訪問的內容(步驟
806),在步驟807中判斷是否要將該系統訪問向非法進程判定部337通知(步驟807)。系統訪問監視及其內容的確定例如是,如「P2P文件交換軟體環境中的節點型信息流出防止功能的提案」(作者松岡正明、松木隆宏、寺田真敏、鬼頭哲郎、仲小路博史,出自「信息處理學會計算機安全研究會研究報告Vol. 2008 No. 71 pp. 115-122,2008. 」)中記載的、通過監視終端101內的文件訪問來進行的對特定文件夾內的訪問的檢測,或者如 「基於終端內的動作監視的信息洩漏病毒的檢測方法的相關研究」(作者鬼頭哲郎、松木隆宏、松岡正明、仲小路博史、寺田真敏,出自「信息處理學會計算機安全研究會研究報告 Vol. 2008 No. 71 pp. 317-322,2008. 」)所記載的、通過監視任意進程對OS的功能調用來進行的預先規定的功能調用的組合的相同進程的執行的檢測等。在步驟807中判斷為不通知系統訪問的情況下,返回至步驟801,繼續進行系統訪問的監視。在判斷為通知系統訪問的情況下,取得執行了該系統訪問的進程的標識符(步驟808),從進程信息資料庫316取得所取得的進程的相關進程標識符列表(步驟809)。執行了系統訪問的進程通過終端101的存儲器212的特定部位的讀取來確定。有時也由OS 將這樣的存儲器的讀取作為功能來提供。調用系統監視結果通知部315 (步驟810),向非法進程判定裝置103通知系統監視結果(進程的標識符(步驟808的結果)、關聯進程標識符列表(步驟809的結果)、活動內容(步驟806的結果)),返回至步驟801,繼續進行系統訪問的監視。進程312除了進行系統訪問之外,還經由數據收發部311進行通信。在終端101 內的進程信息關聯建立部314中,監視由進程312進行的經由數據收發部311的通信,將進程和通信參數建立關聯。進程信息關聯建立部314是具有將進程的信息和通信的參數建立關聯的功能的軟體,提供在通信監視裝置102的通信監視部323檢測到通信的情況下,能夠確認實施該通信的進程是什麼進程的信息。圖9中示出了進程信息關聯建立部314的處理流程圖的一個例子。進程信息關聯建立部314監視經由數據收發部311進行的包的發送(步驟901)。若檢測到包的發送(步驟902),則暫時停止該包的發送(步驟903),確認被發送的包是否是IP包(步驟904)。在不是IP包的情況下,經由數據收發部311將該包發送(步驟908),返回至步驟901,繼續進行監視。在被發送的包是IP包的情況下,取得試圖發送該包的進程的標識符(步驟905), 從進程信息資料庫316取得所取得的進程的關聯進程標識符列表(步驟906)。想試圖發送包的進程利用OS的功能來取得,或者通過終端101內的存儲器212的特定部位的讀取來確定。將所取得的進程的標識符及關聯進程標識符列表嵌入到該包中(步驟907),發送嵌入了進程的標識符及關聯進程標識符列表的包(步驟908),返回至步驟901,繼續進行監視。在步驟907中,進程標識符等,例如「P2P文件交換軟體環境中的信息流通對策構造的研究」(作者寺田真敏、鬼頭哲郎、仲小路博史、松木隆宏、松岡正明,出自「信息處理學會計算機安全研究會研究報告Vol. 2008NO. 21 pp. 243-248,2008. 」)所記載的那樣,嵌入 IP包的可選欄位(option field)中。通過向IP包嵌入進程信息,在由通信監視部323檢測到了通信的情況下,能夠不依賴於其他信息,而通過參照包的特定部分(例如可選欄位),來確定執行了該通信的進程。作為進程信息關聯建立部314中的將通信和進程建立對應的其他例子,可以是, 每當執行通信時,預先記錄通信參數與進程標識符之間的對應,並在規定的定時通知給通信監視裝置。在終端101內的進程312向外部網絡105發送了包的情況下,該包從通信監視裝置102經過。在通信監視裝置102內的通信監視部323中,監視從通信監視裝置102經過的包,確定經過的包的通信是什麼樣的通信。
圖10中示出了通信監視部323的處理流程圖的一個例子。通信監視部323監視在通信監視裝置102內經過的通信(步驟1001)。若檢測到通信(步驟100 ,則確定該通信的活動內容(步驟1003),判斷是否通知該活動(步驟1004)。活動內容例如使用專利文獻1所記載那樣的現有的入侵檢測系統中的方法,或者基於想要經過的包的IP位址或埠號來確定。在步驟1004中判斷為不進行通知的情況下,返回至步驟1001,繼續進行監視。 在步驟1004中判斷為進行通知的情況下,取得與執行了該通信的進程有關的信息(步驟 1005)。步驟1005中的與進程有關的信息的取得、即進程標識符和關聯進程標識符列表的取得,是根據終端101的進程關聯建立部314中的通信與進程之間的對應建立方式而變化的。如上所述,在進程關聯建立部314中對IP包嵌入了進程標識符及關聯進程標識符列表的情況下,通過提取被嵌入包中的信息,來取得進程標識符及關聯進程標識符列表。調用通信監視結果通知部324(步驟1006),向非法進程判定裝置103通知通信監視結果(進行了通信的進程的標識符、關聯進程標識符列表、通信內容),返回至步驟1001, 繼續進行通信的監視。終端101內的系統監視部313及通信監視裝置102內的通信監視部323檢測到的與活動有關的信息,分別通過系統監視結果通知部315及通信監視結果通知部3M被發送給非法進程判定裝置103。在系統監視結果接收部332中,接收從終端101送來的系統監視結果,並向系統監視結果資料庫334記錄接收到的系統監視結果,調用該系統監視結果作為參數,調用非法進程判定部337。在通信監視結果接收部333中,接收從通信監視裝置 102發送來的通信監視結果,向通信監視結果資料庫335記錄接收到的通信監視結果,調用該通信監視結果作為參數,調用非法進程判定部337。在非法進程判定部337中,基於作為參數被賦予的監視結果、在系統監視結果資料庫334、通信監視結果資料庫335及判定策略 336中保存的信息,判定在終端101內是否有非法進程在活動。圖11中示出了非法進程判定部337的處理流程圖的一個例子。非法進程判定部 337,取得作為參數被傳遞來的監視結果(步驟1101)。作為參數被傳遞來的監視結果是系統監視結果和通信監視結果的某個,以下將兩者總稱為監視結果來處理。從所取得的監視結果提取終端標識符(步驟1102)。參照系統監視結果資料庫334 (步驟1103),確認是否存在具有與步驟1102中提取的終端標識符相同的終端標識符的系統監視結果(步驟1104)。 在系統監視結果資料庫334中存在具有與提取到的終端標識符相同的終端標識符的系統監視結果的情況下,前進至步驟1105,在不存在的情況下,前進至步驟1107。確認在具有與提取到的終端標識符相同的終端標識符的系統監視結果之中的、與所取得的監視結果相關的系統監視結果是否存在於系統監視結果資料庫334中(步驟1105)。在系統監視結果資料庫334中存在與提取到的監視結果相關的系統監視結果的情況下,取得相關的系統監視結果(步驟1106)。某個監視結果與其他系統監視結果相關是指,某個監視結果所包含的進程標識符或在關聯進程標識符列表中記載的某個進程標識符,與其他系統監視結果所包含的進程標識符或在關聯進程標識符列表中記載的某個進程標識符相一致。參照通信監視結果資料庫335(步驟1107),確認是否存在具有與步驟1102中提取到的終端標識符相同的終端標識符的通信監視結果(步驟1108)。在通信監視結果資料庫335中存在具有與提取到的終端標識符相同的終端標識符的通信監視結果的情況下,前進至步驟1109,在不存在的情況下,進入步驟1011。確認在具有與提取到的終端標識符相同的終端標識符的通信監視結果之中是否存在與所取得的監視結果相關的通信監視結果 (步驟1109)。在通信監視結果資料庫335中存在與所取得的監視結果相關的通信監視結果的情況下,取得相關的通信監視結果(步驟1110)。某個監視結果與其他通信監視結果相關的含義如上所述。參照判定策略(步驟1111),根據在步驟1101中取得的監視結果、在步驟1106中取得的系統監視結果、以及在步驟1110中取得的通信監視結果,確認是否存在全部滿足判定條件的策略(步驟1112)。對圖11的處理流程圖進行了簡化,因此,若簡單明了地說明步驟1112的確認對象,也就是說,對是否存在全部滿足判定條件的策略進行確認的對象是, 在通過步驟1106取得與步驟1101中取得的監視結果相關的系統監視結果時和在通過步驟 1110取得與步驟1101中取得的監視結果相關的通信監視結果時的、在步驟1101中取得的監視結果。即,是以與步驟1101中取得的監視結果相關的監視結果已經存在於系統監視結果資料庫334或通信監視結果資料庫335中的情況為對象的。在不存在相應的策略的情況下結束處理。在存在相應的策略的情況下,判定為正在由非法進程進行著活動(步驟 1113),調用判定結果通知部338(步驟1114),將步驟1101中取得的監視結果記錄在系統監視結果資料庫334或通信監視結果資料庫335中,結束處理。若由非法進程判定部337調用了判定結果通知部338,則判定結果通知部338將表示終端101內有非法進程在活動的消息和被判定為非法的進程的進程標識符,作為警告通知給終端101、或者未圖示的通信控制裝置、或者管理內部網絡104的組織。終端101若接收到警告,則採取使被判定為非法的進程停止、及/或阻斷進程對系統的訪問或通信等措施,由此來抑制非法進程的活動。此外,作為除了對進程本身的措施之外可採取的措施,有禁止該非法進程的在執行文件之後的起動、在該非法進程的執行文件的進程另外還存在的情況下,停止該進程等。若通信控制裝置接收到警告,則控制由被判定為非法進程在活動的終端101進行的通信、或由終端101進行的通信之中被判定為非法的進程的通信。在此,所謂控制是指, 通信的截斷、帶域限制、路徑變更等。執行該控制的通信控制裝置連接在從終端101訪問外部網絡105時經過的路徑上,或者在通信監視裝置102內內置通信控制裝置的功能。若對內部網絡104進行管理的組織接收到警告,則向被判定為非法進程正在活動的終端101發送警告、向與內部網絡104連接的終端101以外的終端發送警告、向通信控制裝置發送警告等,實施提高網絡整體安全性的對策。在本實施例中,使用了終端101、通信監視裝置102、非法進程判定裝置103這3個裝置,但是,也可以是,終端101或通信監視裝置102兼做非法進程判定裝置103,是由2個裝置構成的系統。在終端101兼做非法進程判定裝置103的情況下,不需要使系統監視結果通知部315和系統監視結果接收部332經由網絡進行連接,從系統監視結果通知部315 直接向系統監視結果接收部332通知系統監視結果。同樣,在通信監視裝置102兼做非法進程判定裝置103的情況下,不需要使通信監視結果通知部3M和通信監視結果接收部333 經由網絡進行連接,從通信監視結果通知部3M直接向通信監視結果接收部333通知通信監視結果。CN 102473221 A說明書9/10 頁此外,也可以是終端101兼做通信監視裝置102。在該情況下,通信監視部323進行監視的對象的通信,不是內部網絡104與外部網絡105之間的通信,而是終端101對內部網絡104進行的通信。此外,在該情況下,進程信息關聯建立部314不需要進行圖9的步驟907中的將進程標識符及關聯進程標識符列表向IP包的嵌入,而是將進程標識符及關聯進程標識符列表與通信參數之間的對應預先保持在存儲器或存儲裝置中,使得通信監視部 323在圖10的步驟1005中取得進程標識符及關聯進程標識符列表時能夠進行參照即可。此外,在本實施例中,在由系統監視結果通知部315及通信監視結果通知部3M通知的信息中包含有進行了活動的進程標識符及其關聯進程標識符列表,但是,通知的信息中也可以不包括關聯進程標識符列表。在該情況下,從終端101向非法進程判定裝置103 通知保存在進程信息資料庫316中的信息,在非法進程判定裝置103的系統監視結果接收部332及通信監視結果接收部333中,根據保存進程信息資料庫316中的信息取得關聯進程標識符列表。根據本實施例,利用進程標識符將通過系統的監視得到的活動和通過通信的監視得到的活動建立關聯,能夠檢測非法進程正在活動的情況。實施例2作為近年來備受矚目的技術,有被稱作虛擬機監視器的技術。虛擬機監視器是在終端101這樣的信息處理裝置上進行動作的軟體,使與實際的終端同樣使用的虛擬機動作。虛擬機由於是在虛擬機監視器上進行動作(虛擬機在虛擬機監視器的控制下進行動作),所以,虛擬機監視器能夠通過參照自身所管理的存儲器,來監視正在虛擬機監視器上動作的虛擬機的狀態。在殭屍病毒等非法進程中,存在具有檢測在終端內正在進行監視並監視無效化的功能的,但是,通過使用虛擬機監視器從外部監視非法進程正在動作的虛擬機,使得監視不會被無效化。在本實施例中示出了用戶利用的終端是虛擬機的情況的例子。本實施例與實施例 1之間的不同點在於終端101的軟體結構。關於與實施例1相同的內容,省略說明。圖12示出了本實施例中的終端101的軟體結構。終端101與內部網絡104連接, 在終端101中,虛擬機監視器1201進行動作,並且虛擬機1202也在工作。虛擬機1202的硬體結構與實施例1的終端101相同,具備運算裝置、存儲器、存儲裝置、通信裝置、輸入裝置、顯示裝置(僅圖示了一部分)。在虛擬機1202內活動的進程1203,與實施例1中的進程312 —樣,進行經由數據收發部1204的與內部網絡104的通信、對存儲器1205或存儲裝置1206、輸入裝置1207、顯示裝置1208等的訪問。將該訪問稱作系統訪問。在本實施例中,在虛擬機監視器1201上,除了具有虛擬機1202以外,還具有與內部網絡10之間收發數據的數據收發部1209、系統監視部1210、進程信息關聯建立部1211、 系統監視結果通知部1212、以及進程信息資料庫1213。在系統監視部1210中,從虛擬機 1202的外部監視進程1203在虛擬機1202內部進行的系統訪問。在進程信息關聯建立部 1211中,從虛擬機1202的外部監視從虛擬機1202向內部網絡104的通信,將虛擬機1202 內的進程與監視到的通信的通信參數建立關聯。系統監視結果通知部1212將由系統監視部1210得到的監視結果經由數據收發部1209發送給非法進程判定裝置103。進程信息資料庫1213針對虛擬機1202內的進程,保存該進程的進程標識符和生成該進程的進程(母進程)的進程標識符。
系統監視部1210的處理除了從虛擬機1202的外部監視虛擬機1202內部的系統訪問之外,與圖8所示實施例1中的系統監視部313的處理是相同的。此外,同樣地,進程信息關聯建立部1211的處理除了從虛擬機1202的外部取得進程的信息之外,與圖9所示實施例1中的進程信息關聯建立部314的處理是相同的。同樣地,系統監視結果通知部1212 的動作與實施例1中的系統監視結果通知部315的動作是相同的,進程信息資料庫1213的構造與圖4所示實施例1中的進程信息資料庫316的構造是相同的。根據本實施例,通過從虛擬機1202的外側監視虛擬機1202內部,能夠不受到非法進程使安全軟體無效化等影響地進行監視,對於阻礙終端監視這樣的惡劣的非法進程也能夠進行檢測。
100 非法進程檢測系統、101 終端、102 通信監視裝置、103 非法進程判定裝置、 104 內部網絡、105 外部網絡、313 系統監視部、314 進程信息關聯建立部、315 系統監視結果通知部、316 進程信息資料庫、323 通信監視部、3 通信監視結果通知部、332 系統監視結果接收部、333 通信監視結果接收部、334 系統監視結果資料庫、335 通信監視結果資料庫、336 判定策略、337 非法進程判定部、338 判定結果通知部。
權利要求
1.一種非法進程檢測方法,是檢測在與網絡連接的終端內進行動作的非法進程的非法進程檢測系統中的非法進程檢測方法,其特徵在於,所述非法進程檢測系統,監視伴隨著所述終端中的進程的執行的、對所述終端的存儲裝置和輸入輸出裝置進行的訪問即系統訪問,將通過所述系統訪問的監視得到的、作為所述進程的處理的第一活動和執行了所述第一活動的所述進程建立關聯,並記錄在系統監視結果資料庫中,監視伴隨著所述終端中的所述進程的執行的、經由所述網絡進行的通信,將通過所述通信的監視得到的、作為所述進程的處理的第二活動和執行了所述第二活動的所述進程建立關聯,並記錄在通信監視結果資料庫中,判定在所述系統監視結果資料庫或者所述通信監視結果資料庫中是否已經記錄有與所述第一和第二活動的至少一方相同、並且是與執行的所述進程相同或相關的進程的活動,在被判定為已記錄的所述活動滿足預先決定的規定的條件時,判定為執行的所述進程是非法進程。
2.如權利要求1所述的非法進程檢測方法,其特徵在於,與執行了所述活動的進程相關的進程是指,將執行了所述活動的進程作為第一進程, 將所述相關的進程作為第二進程,在所述第一進程和通過對生成所述第一進程的母進程遞歸地進行逆推而得到的第一進程列表、以及所述第二進程和通過對生成所述第二進程的母進程遞歸地進行逆推而得到的第二進程列表中,存在共通的進程。
3.如權利要求1所述的非法進程檢測方法,其特徵在於,所述終端在經由所述網絡進行的通信的IP包中嵌入表示執行了該通信的進程的信息 所述非法進程檢測系統在所述通信的監視中,提取與所述第二活動相對應地嵌入在所述IP包中的所述進程的信息,將提取到的所述信息所表示的所述進程作為執行了所述第二活動的進程。
4.如權利要求1所述的非法進程檢測方法,其特徵在於,所述非法進程檢測系統根據在所述終端內執行了所述活動的進程是非法進程的判定,輸出警告。
5.如權利要求1所述的非法進程檢測方法,其特徵在於,在所述終端是虛擬機的情況下,對所述虛擬機進行控制的虛擬機監視器監視所述虛擬機中的所述系統訪問,將所述虛擬機中的所述第一活動和執行了所述第一活動的所述進程信息建立關聯。
6.一種非法進程檢測系統,是連接有終端、通信監視裝置和非法進程判定裝置的網絡中的非法進程檢測系統,其特徵在於,包括終端,監視伴隨著進程的執行而對存儲裝置和輸入輸出裝置進行的訪問即系統訪問, 將通過所述系統訪問的監視得到的、作為所述進程的處理的第一活動和執行了所述第一活動的所述進程建立關聯,並作為訪問監視結果進行通知,在經由網絡進行的通信中包含有表示執行了該通信的所述進程的信息;通信監視裝置,經由所述網絡與所述終端連接,提取經由所述網絡進行的所述通信中包含的表示所述進程的信息,監視所述通信,將通過所述通信的監視得到的第二活動和提取到的所述進程建立關聯,並作為通信監視結果進行通知;以及非法進程判定裝置,與所述終端和所述通信監視裝置連接,具有記錄有從所述終端通知來的所述訪問監視結果和從所述通信監視裝置通知來的所述通信監視結果的資料庫,在所述訪問監視結果或所述通信監視裝置所包含有的所述第一或所述第二活動滿足規定條件,並且已經作為由與所述第一或所述第二活動建立了關聯的所述進程相同或相關的進程執行的活動記錄在所述資料庫中時,判定為在所述終端內非法進程正在活動。
7.如權利要求6所述的非法進程檢測系統,其特徵在於,所述終端記錄表示所述進程的母子關係的信息,在所述訪問監視結果的通知時,以包含所述進程和根據所述進程對母進程遞歸地進行逆推而得到的進程列表的方式進行通知, 在對所述通信監視裝置的通信中,還包含有根據所述進程對母進程遞歸地進行逆推而得到的進程列表,所述通信監視裝置在所述通信監視結果的通知時,還包含有所述進程列表。
8.如權利要求6所述的非法進程檢測系統,其特徵在於,與執行了所述活動的進程相關的進程是指,將執行了所述活動的進程作為第一進程, 將所述相關的進程作為第二進程,在所述第一進程和對生成所述第一進程的母進程遞歸地進行逆推而得到的第一進程列表、以及所述第二進程和對生成所述第二進程的母進程遞歸地進行逆推而得到的第二進程列表中,存在共通的進程。
9.如權利要求6所述的非法進程檢測系統,其特徵在於,所述終端在經由所述網絡進行的通信的IP包中,作為表示所述進程的信息,嵌入所述進程的標識符。
10.如權利要求6所述的非法進程檢測系統,其特徵在於,所述非法進程判定裝置根據在所述終端內非法進程正在活動的判定,輸出警告。
11.如權利要求6所述的非法進程檢測系統,其特徵在於,所述終端由虛擬機執行所述進程,監視所述終端內部的所述系統訪問,將通過所述訪問的監視得到的所述第一活動和執行了所述第一活動的所述進程建立關聯並通知給所述非法進程判定裝置,在由所述終端執行的經由所述網絡的通信中嵌入表示執行了該通信的所述進程的信息,並具備對所述虛擬機進行控制的虛擬機監視器。
全文摘要
將通過監視終端內的對存儲裝置及輸入輸出裝置的系統訪問而得到的活動及通過監視由終端執行的經由網絡的通信而得到的活動,與產生這些活動的終端內的進程建立關聯,在這些活動是通過相同或相關的進程執行的規定活動的情況下,檢測為在該終端內非法進程正在動作。
文檔編號G06F21/22GK102473221SQ20108003422
公開日2012年5月23日 申請日期2010年6月7日 優先權日2009年9月1日
發明者仲小路博史, 大河內一彌, 川口信隆, 川口龍之進, 重本倫宏, 鬼頭哲郎 申請人:株式會社日立製作所