本發(fā)明涉及判定用于OS(OperatingSystem:操作系統)上的執(zhí)行文件是否是惡意軟件(malware)(有惡意的軟件)的技術。
背景技術:
::最近,提出了一些判定用于MS-Windows(注冊商標)、AppleOS-X、Linux(注冊商標)以及Unix(注冊商標)等OS上的執(zhí)行文件是否是惡意軟件的方法。例如,在判定用于MS-Windows或Unix等中的執(zhí)行文件是否是惡意軟件的防病毒系統中,使用將執(zhí)行文件執(zhí)行而判定的動態(tài)判定和不執(zhí)行而進行判定的靜態(tài)判定這2種方法,在判定中特別要求速度的情況下使用靜態(tài)判定。作為靜態(tài)判定的方法,代表性的能夠舉出哈希(hash)值一致判定以及模式匹配判定(簽名掃描)。哈希值一致判定是預先將已有的惡意軟件的MD(MessageDigestAlgorithm:消息摘要算法)5、SHA(SecureHashAlgorithm:安全散列算法)1、SHA256等的哈希值登記到數據庫中,只要判定對象的執(zhí)行文件的哈希值與登記到數據庫的哈希值一致,就將該執(zhí)行文件判定為惡意軟件的方法。模式匹配判定是預先將已有的惡意軟件所包含的特定的字符串或字節(jié)碼登記到數據庫中,只要判定對象的執(zhí)行文件包含數據庫中登記的字符串·字節(jié)碼(bytecode)中的任意方,就將該執(zhí)行文件判定為惡意軟件的方法。這些方法具有誤檢測率(將不是惡意軟件的執(zhí)行文件錯誤地判定為惡意軟件的比率)小的優(yōu)點,但是難以檢測出改造了已有的惡意軟件的子類型的惡意軟件或新型的惡意軟件。因此,作為對判定對象的執(zhí)行文件是否是子類型/新型的惡意軟件進行判定的方法,提出了啟發(fā)式(heuristic)判定。這是基于在此之前的經驗來定義惡意軟件的可能性而按照該定義進行判定的方法。作為啟發(fā)式判定,提出了一些使用機器學習技術的方法。在記載于專利文獻1的技術中,預先學習執(zhí)行文件所包含的可讀字符串,以常用于惡意軟件中的單詞包含于判定對象的執(zhí)行文件中的程度是多少為基準,判定該執(zhí)行文件的惡意軟件的可能性。在機器學習中,首先將學習對象執(zhí)行文件(示教數據)轉換成一些參數的組之后利用機器學習算法進行學習。將該參數的組稱為特征向量或者簡稱為特征,將該組所包含的參數的數量稱為特征向量維度。另外,將使執(zhí)行文件轉換成特征向量稱為特征提取。作為特征向量的例子,在記載于專利文獻1的技術中,單詞的單詞名與該單詞出現數量的組是特征向量,單詞種類的數量是特征向量維度。并不是特征向量維度越大則判定精度越好,有時判定精度相反地變差。該現象被公知為“維度詛咒”(非專利文獻1、2)。在記載于非專利文獻3的技術中,示出了嘗試基于使用執(zhí)行文件的PE(PortableExecutable:可移植性可執(zhí)行文件)報頭(header)信息的機器學習的惡意軟件判定,且通過使用維度壓縮的方法來縮小特征向量維度,來獲得更好的判定精度。作為常用于維度壓縮的方法中的技術例如有主成分分析。這是將具有相關性的特征彼此自動地合并成1個特征的方法(例如,因為人類的身高與體重2個特征大體具有比例關系,因此將這2個特征合并成1個特征等的方法。在本例中,可將合并成1個的特征例如定義成身體的大小,但通常無法定義的情況較多)?,F有技術文獻專利文獻專利文獻1:日本特開2012-027710號公報非專利文獻非專利文獻1:坂野鋭,山田敬嗣,"怪奇??!次元の呪い---識別問題,パターン認識,データマイニングの初心者のために(前編)”,信息處理,vol.43,no.5,pp.562-567(2002)非專利文獻2:坂野鋭,山田敬嗣,"怪奇!!次元の呪い---識別問題,パターン認識,データマイニングの初心者のために(後編)”,信息處理,vol.43,no.6,pp.658-663(2002)非專利文獻3:Shafiq,etal.,"PE-Miner:MiningStructuralInformationtoDetectMaliciousExecutablesinRealtime”,RAID'09,2009.技術實現要素:發(fā)明要解決的課題當在惡意軟件判定中應用機器學習技術時,為了獲得更好的判定精度,如上所述地需要進行縮小特征向量維度等特征向量的調整。但是,專利文獻1所述的技術沒有明確地具有進行特征向量的調整的功能。非專利文獻3所述的技術通過維度壓縮這樣的方式進行特征向量的調整。然而,惡意軟件判定有時根據目的不同而所求的判定精度不同。例如,面向一般的用戶要求特別降低誤檢測率。相反,有時在專家收集新型的惡意軟件的目的下,即使多少存在誤檢測,也希望提高檢測率(將作為惡意軟件的執(zhí)行文件正確地判定為惡意軟件的比率)。基于維度壓縮的方式大致自動地進行,因此有助于整體地提高判定精度,但難以按照特別降低誤檢測率等不同目的進行特征向量的調整。另外,因為主成分分析等維度壓縮是合并某特征與其他特征而機器地生成另外的特征的方法,因此人難以理解所生成的特征,并沒有考慮到專家的知識而實施特征向量的調整。因此,本發(fā)明的目的在于,提供如下的技術:能夠在不進行維度壓縮那樣的特征的自動轉換的情況下,根據目的而進行特征向量的調整。用于解決課題的手段本發(fā)明的惡意軟件判定器包含:特征選擇數據庫,其包含屬性表和屬性值表;特征選擇設定部,當輸入了執(zhí)行文件的屬性的屬性名時,該特征選擇設定部將所輸入的屬性名的屬性作為提取對象的屬性登記到所述屬性表中,當輸入了執(zhí)行文件的屬性的屬性值時,該特征選擇設定部將所輸入的屬性值作為刪除對象或非刪除對象的屬性值登記到所述屬性值表中;特征提取部,當輸入了執(zhí)行文件時,該特征提取部從該執(zhí)行文件中提取作為提取對象登記于所述屬性表中的屬性的屬性值,生成包含所提取的屬性值作為特征的特征向量;特征選擇部,其從所述特征提取部生成的特征向量中刪除作為刪除對象登記于所述屬性值表中的屬性值或者刪除除了作為非刪除對象登記于所述屬性值表中的屬性值以外的屬性值,來重構該特征向量;分類器,當所述特征選擇部重構了學習對象執(zhí)行文件的特征向量時,該分類器基于該特征向量和該學習對象執(zhí)行文件的特征向量是否是惡意軟件的信息,進行該學習對象執(zhí)行文件的機器學習,當所述特征選擇部重構了判定對象的執(zhí)行文件的特征向量時,該分類器基于所述機器學習的結果和該特征向量,對該判定對象的執(zhí)行文件計算惡意軟件的可能性的分數;以及判定部,其基于所述分類器計算出的判定對象的執(zhí)行文件的分數,判定該判定對象的執(zhí)行文件是否是惡意軟件。本發(fā)明的第1惡意軟件判定系統具有:所述惡意軟件判定器;以及特征選擇測試器,所述特征選擇測試器包含:特征選擇指示部,其反復進行從組合了1個以上的由屬性名和屬性值構成的特征的組中選擇1個組而向所述惡意軟件判定器的所述特征選擇設定部輸入的處理;檢驗部,其反復進行每當所述特征選擇指示部向所述特征選擇設定部輸入所述組時,向所述惡意軟件判定器的所述特征提取部輸入學習對象執(zhí)行文件后輸入判定對象的執(zhí)行文件的處理;以及指標計算部,每當所述特征選擇指示部向所述特征選擇設定部輸入所述組時,該指標計算部從所述惡意軟件判定器的所述判定部獲取判定結果,且基于該判定結果,計算表示所述判定部的判定精度的良好程度的指標,其中,所述判定結果針對所述檢驗部向所述特征提取部反復輸入的各判定對象的執(zhí)行文件,包含該判定對象的執(zhí)行文件的分數和表示是否將該判定對象的執(zhí)行文件判定為惡意軟件的信息,所述特征選擇指示部選擇向所述特征選擇設定部輸入的組中的所述指標計算部計算出的指標最高的組而向所述特征選擇設定部輸入。本發(fā)明的第2惡意軟件判定系統具有:所述惡意軟件判定器;以及用戶接口,所述用戶接口包含:特征一覽表獲取部,其獲取執(zhí)行文件的屬性的屬性名和屬性值;以及特征選擇輸入部,其顯示設定畫面,其中,該設定畫面包含所述特征一覽表獲取部獲取的屬性名和屬性值的一覽表,所述特征選擇輸入部將屬性名與第1復選框一起顯示于所述設定畫面上,對于作為提取對象登記于所述屬性表中的屬性的屬性名,在該第1復選框上標注選中標記,所述特征選擇輸入部將屬性值與第2復選框一起顯示于所述設定畫面上,對于除了作為刪除對象登記于所述屬性值表中的屬性值以外的屬性值或者作為非刪除對象登記于所述屬性值表中的屬性值,在該第2復選框上標注選中標記,當手動地變更了所述第1復選框或者所述第2復選框的選中標記狀況時,所述特征選擇輸入部將在變更后的所述第1復選框上標注有選中標記的屬性名輸入到所述惡意軟件判定器的所述特征選擇設定部,并且將在變更后的所述第2復選框上未標注選中標記的屬性值或者標注有選中標記的屬性值輸入到所述惡意軟件判定器的所述特征選擇設定部。本發(fā)明的惡意軟件判定方法是惡意軟件判定器執(zhí)行的惡意軟件判定方法,該惡意軟件判定方法包括:特征選擇設定步驟,當輸入了執(zhí)行文件的屬性的屬性名時,將所輸入的屬性名的屬性作為提取對象的屬性登記于屬性表中,當輸入了執(zhí)行文件的屬性的屬性值時,將所輸入的屬性值作為刪除對象或非刪除對象的屬性值登記于屬性值表中;特征提取步驟,當輸入了執(zhí)行文件時,從該執(zhí)行文件中提取作為提取對象登記于所述屬性表中的屬性的屬性值,生成包含所提取的屬性值作為特征的特征向量;特征選擇步驟,從通過所述特征提取步驟生成的特征向量中刪除作為刪除對象登記于所述屬性值表中的屬性值或者刪除除了作為非刪除對象登記的屬性值以外的屬性值,來重新構該特征向量;分類步驟,當通過所述特征選擇步驟重構了學習對象執(zhí)行文件的特征向量時,基于該特征向量和該學習對象執(zhí)行文件的特征向量是否是惡意軟件的信息,進行該學習對象執(zhí)行文件的機器學習,當通過所述特征選擇步驟重構了判定對象的執(zhí)行文件的特征向量時,基于所述機器學習的結果和該特征向量,對該判定對象的執(zhí)行文件計算惡意軟件的可能性的分數;以及判定步驟,基于通過所述分類步驟計算出的判定對象的執(zhí)行文件的分數,判定該判定對象的執(zhí)行文件是否是惡意軟件。本發(fā)明的程序使計算機作為如下單元發(fā)揮作用:存儲單元,其包含屬性表和屬性值表;特征選擇設定單元,當輸入了執(zhí)行文件的屬性的屬性名時,該特征選擇設定單元將所輸入的屬性名的屬性作為提取對象的屬性登記于所述屬性表中,當輸入了執(zhí)行文件的屬性的屬性值時,該特征選擇設定單元將所輸入的屬性值作為刪除對象或非刪除對象的屬性值登記于所述屬性值表中;特征提取單元,當輸入了執(zhí)行文件時,該特征提取單元從該執(zhí)行文件中提取作為提取對象登記于所述屬性表中的屬性的屬性值,生成包含所提取的屬性值作為特征的特征向量;特征選擇單元,其從所述特征提取單元生成的特征向量中刪除作為刪除對象登記于所述屬性值表中的屬性值或者刪除除了作為非刪除對象登記于所述屬性值表中的屬性值以外的屬性值,來重構該特征向量;分類單元,當所述特征選擇單元重構了學習對象執(zhí)行文件的特征向量時,該分類單元基于該特征向量和該學習對象執(zhí)行文件的特征向量是否是惡意軟件的信息,進行該學習對象執(zhí)行文件的機器學習,當所述特征選擇單元重構了判定對象的執(zhí)行文件的特征向量時,該分類單元基于所述機器學習的結果和該特征向量,對該判定對象的執(zhí)行文件計算惡意軟件的可能性的分數;以及判定單元,其基于所述分類單元計算出的判定對象的執(zhí)行文件的分數,判定該判定對象的執(zhí)行文件是否是惡意軟件。發(fā)明效果根據本發(fā)明的惡意軟件判定器,當輸入了屬性名·屬性值時,特征選擇設定部將該屬性名的屬性作為提取對象的屬性登記于屬性表中,將該屬性值作為刪除對象或非刪除對象的屬性值登記于屬性值表中。而且,當進行基于機器學習的惡意軟件判定時,特征提取部提取僅作為提取對象登記于屬性表中的屬性的屬性值而生成特征向量,特征選擇部從特征向量中還刪除作為刪除對象登記于屬性值表中的屬性值或者除了作為非刪除對象登記于屬性值表中的屬性值以外的屬性值。因而,通過指定不需要的或者有用的屬性·屬性值,而能夠從特征向量中刪除與不需要的屬性·屬性值相關的特征,或者能夠僅將與有用的屬性·屬性值相關的特征包含于特征向量中,因此能夠實現判定精度的提高,并且能夠進行縮小特征向量維度等特征向量的調整。另外,因為不進行維度壓縮這樣的特征的自動轉換,因此能夠考慮到專家的知識而實施特征向量的調整。另外,通過根據目的指定屬性·屬性值,也能夠根據目的進行特征向量的調整。附圖說明圖1是示出本發(fā)明的第1實施方式的惡意軟件判定器的結構的結構圖。圖2A是說明本發(fā)明的第1實施方式的惡意軟件判定器中的特征選擇設定處理的概要的流程圖。圖2B是說明本發(fā)明的第1實施方式的惡意軟件判定器中的示教數據學習處理的概要的流程圖。圖2C是說明本發(fā)明的第1實施方式的惡意軟件判定器中的對象文件判定處理的概要的流程圖。圖3是說明本發(fā)明的第1實施方式的惡意軟件判定器中的屬性表和屬性值表1的圖。圖4是說明本發(fā)明的第1實施方式的惡意軟件判定器中的屬性值表2的圖。圖5是示出本發(fā)明的第2實施方式的惡意軟件判定系統的結構的結構圖。圖6是說明本發(fā)明的第2實施方式的特征選擇測試器中的處理的概要的流程圖。圖7是示出本發(fā)明的第3實施方式的惡意軟件判定系統的結構的結構圖。圖8是說明本發(fā)明的第3實施方式的特征選擇UI上顯示的設定畫面的圖。具體實施方式以下參照附圖對用于實施本發(fā)明的方式進行說明。在縮小特征向量維度的方法中,除了維度壓縮之外還有特征選擇這樣的方法。該方法是通過對各特征進行取舍選擇而搜索達到目標判定精度的組合的特征向量,來縮小特征向量維度的方法。本發(fā)明的惡意軟件判定器使用上述的特征選擇這樣的方法作為縮小特征向量維度的方法。(1)第1實施方式(1-1)第1實施方式的結構圖1示出本發(fā)明的第1實施方式的惡意軟件判定器10的結構圖。如圖1所示,本實施方式的惡意軟件判定器10具有特征選擇設定部11、特征選擇數據庫(存儲單元)12、特征提取部13、特征選擇部14、分類器15以及判定部16。本實施方式的惡意軟件判定器10進行學習對象執(zhí)行文件的PE/COFF(PortableExecutable/CommonObjectFileFormat:可移植性可執(zhí)行文件/通用對象文件格式)報頭信息的機器學習,且進行判定對象的執(zhí)行文件是否是惡意軟件的判定,該惡意軟件判定器10具有在進行這些學習和判定時能夠選擇特征向量所包含的特征的特征選擇功能。(1-2)第1實施方式的動作本實施方式的惡意軟件判定器10首先設定特征向量所包含的特征(特征選擇設定處理。圖2A)。接著,進行由已有的惡意軟件和不是惡意軟件的執(zhí)行文件(好軟件:goodware)構成的示教數據的機器學習(示教數據學習處理。圖2B)。學習后,能夠判定判定對象的執(zhí)行文件是否是惡意軟件(對象文件判定處理。圖2C)。以下分別對本實施方式的惡意軟件判定器10中的特征選擇設定處理、示教數據學習處理以及對象文件判定處理進行說明。(1-2-1)特征選擇設定處理在圖2A中示出對本實施方式的惡意軟件判定器10中的特征選擇設定處理的概要進行說明的流程圖。如圖2A所示,當手動輸入或者從其他裝置輸入了與特征選擇相關的設定時(步驟A1),特征選擇設定部11將與該特征選擇相關的設定登記到特征選擇數據庫12中(步驟A2)。與特征選擇相關的設定由從執(zhí)行文件中提取的PE/COFF報頭信息等屬性的屬性名和各屬性的屬性值中的從特征中刪除的屬性值構成。圖3示出特征選擇數據庫12的數據結構。如圖3所示,特征選擇數據庫12包含屬性表和屬性值表1。特征選擇設定部11將從執(zhí)行文件中提取的屬性的屬性名反映在屬性表中。具體而言,對于描述在與特征選擇相關的設定中的屬性,作為從執(zhí)行文件提取的提取對象的屬性來進行處理,在屬性表中,將該屬性的屬性名的ON/OFF(啟用/禁用)字段的值登記為ON。另一方面,對于未描述在與特征選擇相關的設定中的屬性,作為從執(zhí)行文件不提取的非提取對象的屬性來進行處理,在屬性表中,將該屬性的屬性名的ON/OFF字段的值登記為OFF。特征選擇設定部11將各屬性的屬性值中的從特征中刪除的屬性值反映在屬性值表1中。具體而言,對于描述在與特征選擇相關的設定中的屬性值,作為從特征向量中刪除的刪除對象的屬性值來進行處理,且登記到屬性值表1中。(1-2-2)示教數據學習處理圖2B示出對本實施方式的惡意軟件判定器10中的示教數據學習處理的概要進行說明的流程圖。在示教數據學習處理中使用的示教數據由作為已有的惡意軟件和好軟件的執(zhí)行文件(學習對象執(zhí)行文件)以及表示該執(zhí)行文件是否是惡意軟件的分類的信息構成。此外,也可以使用從執(zhí)行文件中僅剪切描述有PE/COFF報頭信息的部分而得到的信息來代替執(zhí)行文件。對于示教數據,按照特征提取部13、特征選擇部14、分類器15的順序進行處理。如圖2B所示,首先,特征提取部13在輸入了示教數據時從示教數據中的執(zhí)行文件中提取PE/COFF報頭信息的各屬性的屬性值,進而生成包含所提取的屬性值作為特征的特征向量(步驟B1)。作為從執(zhí)行文件中提取PE/COFF報頭信息的各屬性的屬性值的方法,能夠利用使用dumpbin.exe(MicrosoftVisualC++)、objdump(Linux等Unix)等工具的方法、或使用在那些工具等中使用的程序庫的方法等。關于屬性值,僅提取出在特征選擇數據庫12的屬性表中成為ON的屬性的屬性值。這樣,因為從特征向量中刪除不需要的屬性,因此特征向量維度減小相應部分。在PE/COFF報頭信息的屬性中,存在以1個屬性具有多個值的屬性。例如,Characteristics(特性)屬性具有“Executable(可執(zhí)行文件)"、“32bitwordmachine(32位字機器)"、“Debuginformationstripped(去除了調試信息)"等多個值。這些值分別被視為1個特征(在本例中,以1個屬性提取3個特征)。關于Filesize(文件大小)等具有數值數據的屬性,將屬性值轉換成1kB以下、1kB~100kB、100kB~500kB、500kB~1MB、1MB以上等適當的間隔的范圍的名稱而進行處理。對于這些特征的值,也可以進行tf-idf(termtrequency-inversedocumentfrequency:詞頻-逆向文件頻率)等適當的加權。接著,特征選擇部14按照屬性值表1從特征向量中刪除特征,由此進行特征選擇而重構特征向量(步驟B2)。例如,如圖3所示,在屬性值登記于屬性值表1中的情況下,如果“Characteristics”:“Executable”包含于特征向量中,則將特征“Characteristics”:“Executable”從特征向量中刪除。接著,分類器15接收由前級的特征提取部13和特征選擇部14處理過的特征向量和學習對象執(zhí)行文件是否是惡意軟件的分類的信息,且進行該學習對象執(zhí)行文件的機器學習(步驟B3)。對于分類器15也可以使用邏輯回歸、支持向量機、感知器、Passive-Aggressive(被動攻擊)、單純貝葉斯、決策樹等適當的分類器。(1-2-3)對象文件判定處理在圖2C中示出對本實施方式的惡意軟件判定器10中的對象文件判定處理的概要進行說明的流程圖。在對象文件判定處理中使用的判定對象的執(zhí)行文件既可以是該執(zhí)行文件整體,也可以是從該執(zhí)行文件中僅剪切描述有PE/COFF報頭信息的部分而得到的信息。對于判定對象的執(zhí)行文件,按照特征提取部13、特征選擇部14、分類器15、判定部16的順序進行處理。首先,當向特征提取部13輸入判定對象的執(zhí)行文件時,特征提取部13和特征選擇部14對該判定對象的執(zhí)行文件進行與(1-2-2)示教數據學習處理時同樣的處理(步驟C1、C2)。接著,分類器15基于(1-2-2)示教數據學習處理時的機器學習的結果以及由前級的特征提取部13和特征選擇部14處理過的特征向量,用分數這樣的數值來計算判定對象的執(zhí)行文件的惡意軟件的可能性(步驟C3)。作為計算惡意軟件的可能性的分數的方法,例如,能夠利用如下的公知的方法等:利用記載于專利文獻1的技術,以常用于惡意軟件中的特征包含于判定對象的執(zhí)行文件的特征向量中的程度是多少為基準,進行判定。接著,判定部16基于由分類器15計算出的分數,對判定對象的執(zhí)行文件是否是惡意軟件進行判定,且輸出判定結果(步驟C4)。判定結果既可以僅是將判定對象的執(zhí)行文件分類到惡意軟件/好軟件中的哪一方的信息,也可以對該信息附加由分類器15計算出的分數。作為判定方法的一例,能夠舉出如果分數是閾值以上則是惡意軟件,如果不足該閾值則是好軟件的閾值判定。此外,在本實施方式中,特征選擇部14進行從特征向量中刪除屬性值表1中登記的屬性值的處理,但也可以與其相反地進行僅將屬性值表中登記的屬性值包含于特征向量中的處理。在該情況下,在與特征選擇相關的設定中,指定作為特征來包含的屬性值來代替從特征中刪除的屬性值,準備圖4的屬性值表2來代替圖3的屬性值表1,將所指定的屬性值作為非刪除對象的屬性值登記于屬性值表2中。如圖4所示,在屬性值登記于屬性值表2中的情況下,在特征向量中,作為與ImportDLL(導入DLL)屬性相關的特征而僅留下“ImportDLL”:“WINSOCK32.DLL”、“ImportDLL”:“WININET.DLL”的屬性值,對于除此以外的ImportDLL屬性的屬性值,全部刪除。在執(zhí)行文件所具有的屬性值中,存在對惡意軟件判定幾乎無用的屬性值和非常有用的屬性值。例如,作為無用的屬性值,存在必定出現于任何執(zhí)行文件中的屬性值“Characteristics”:“Executable”,作為有用的屬性值,存在經常出現于間諜軟件等具有通信功能的惡意軟件中的“ImportDLL”:“WINSOCK32.DLL”等。因此,在將無用的屬性值登記于屬性值表1中且從特征向量中刪除而明確地判明有用的屬性值的情況下,能夠如下這樣地分開使用:準備屬性值表2來代替屬性值表1,將有用的屬性值登記于屬性值表2中,僅用該屬性值進行判定。如上所述,在本實施方式中,特征選擇設定部11在手動地輸入或者從其他裝置輸入了屬性名·屬性值時,將該屬性名的屬性作為提取對象的屬性登記于屬性表中,且將該屬性值作為刪除對象或非刪除對象的屬性值登記于屬性值表中。而且,當進行基于機器學習的惡意軟件判定時,特征提取部13僅提取作為提取對象登記于屬性表中的屬性的屬性值而生成特征向量,特征選擇部14還從特征向量中刪除作為刪除對象登記于屬性值表中的屬性值或者除了作為非刪除對象登記的屬性值以外的屬性值。因而,通過指定對惡意軟件判定器10不需要的或者有用的屬性·屬性值,能夠從特征向量中刪除與不需要的屬性·屬性值相關的特征,或者能夠僅將與有用的屬性·屬性值相關的特征包含于特征向量中,因此實現判定精度的提高,并且能夠進行縮小特征向量維度等特征向量的調整。另外,因為能夠減小特征向量維度,因此能夠減輕分類器15的處理,能夠實現機器學習或惡意軟件判定的高速化。另外,因為不包含維度壓縮這樣的特征的自動轉換,因此能夠進行考慮到專家的知識的屬性·屬性值的指定。例如,公知如下情況:在報頭信息的屬性中,存在Sectionalignment(區(qū)段對齊)、Filealignment(文件對齊)等具有默認值的屬性,這些具有默認值的屬性有時在惡意軟件值中偏離其默認值。另外,公知惡意軟件使用被稱為打包器(packer)的執(zhí)行文件壓縮軟件的傾向比好軟件多,對此可以用Sectionflags(區(qū)段標志)屬性來判定。因此,利用這些知識能夠進行有用的屬性·屬性值的指定。有時候即使好軟件也使用打包器。因此,在希望特別降低惡意軟件判定器10的誤檢測率的情況下,通過僅指定具有默認值的屬性,而不指定Sectionflags屬性等,也能夠根據目的進行特征向量的調整。(2)第2實施方式本發(fā)明的第2實施方式的惡意軟件判定系統自動地從其他裝置向圖1所示的惡意軟件判定器10輸入與特征選擇相關的設定。(2-1)第2實施方式的結構圖5示出本發(fā)明的第2實施方式的惡意軟件判定系統的結構圖。如圖5所示,本實施方式的惡意軟件判定系統除了惡意軟件判定器10之外還設置有作為其他裝置的對特征選擇進行測試的特征選擇測試器20。另外,特征選擇測試器20具有特征選擇指示部21、檢驗部22以及指標計算部23。自動地進行特征選擇的方法大體上有封裝法、過濾法、嵌入法,在本實施方式中使用封裝法。封裝法是實際針對各種特征選擇的設定進行機器學習·分類而測定精度來搜索最好精度的特征選擇的設定的方法。特征的組合的搜索方法有測試所有的組合的蠻力法、設法減少測試次數的變量增加法、變量減少法、逐步法(stepwise)等方法。在本實施方式中,對使用了變量增加法的情況進行說明,但也可以使用其他搜索方法。(2-2)第2實施方式的動作以下對特征選擇測試器20中的處理進行說明。首先,對特征選擇測試器20中的處理的概要進行說明。在圖6中示出對特征選擇測試器20中的處理的概要進行說明的流程圖。如圖6所示,首先,特征選擇指示部21讀入在選擇特征時作為候選的特征的列表(特征候選列表)(步驟D1)。接著,特征選擇指示部21按照搜索方法從這些候選的特征中選擇1個特征選擇的設定且輸入到惡意軟件判定器10,其中,該特征選擇的設定是組合1個以上的由屬性名和屬性值構成的特征的組(步驟D2)。接著,檢驗部22對包含已有的惡意軟件和已有的好軟件的檢驗用數據進行劃分而生成示教數據和判定對象的執(zhí)行文件(步驟D3)。接著,檢驗部22將示教數據輸入到惡意軟件判定器10,使惡意軟件判定器10學習示教數據后(步驟D4),將判定對象的執(zhí)行文件輸入到惡意軟件判定器10,使惡意軟件判定器10對判定對象的執(zhí)行文件是否是惡意軟件進行判定(步驟D5)。該判定結果(惡意軟件·好軟件的分類的信息和惡意軟件的可能性的分數)由指標計算部23獲取(交叉檢驗)。檢驗部22對于通過步驟D3生成的示教數據和判定對象的執(zhí)行文件的全部,反復步驟D4、D5。指標計算部23在檢驗部22完成了檢驗的情況下(步驟D6的“是”),將判定對象的執(zhí)行文件的各個判定結果與檢驗用數據進行核對來進行評價,且計算表示惡意軟件判定器10的判定部16的判定精度的良好程度的指標(步驟D7)。特征選擇指示部21基于在指標計算部23中計算的指標,判斷是測試其他特征選擇的設定還是結束測試(步驟D8)。如果測試其他特征選擇的設定,則返回步驟D2,且將其他特征選擇的設定輸入到惡意軟件判定器10而進行以后的處理。另一方面,如果結束了其他特征選擇的設定,則選出在測試中指標最高(判定精度最好)的特征選擇的設定而輸入到惡意軟件判定器10(步驟D9)并結束處理。接著,對特征選擇測試器20中的上述處理進行更詳細的說明。特征候選列表是屬性的屬性名和該屬性的屬性值作為特征候選來描述的列表。特征選擇測試器20對該特征候選列表中描述的屬性名和屬性值進行各種組合,且搜索其中判定精度最好的組合。在此,作為例子,以下說明將特征A、B、C、D描述于特征候選列表中的情況。當然,特征候選列表中描述的特征不限于4個,對于屬性名、屬性值也可以自由地描述。在本實施方式中使用的作為搜索方法的變量增加法是逐個增加所使用的特征(或者屬性)而在判定精度(或者指標)成為最高值之處結束的方法。在本例的特征的候選A、B、C、D的情況下,首先,分別用特征選擇的設定[A]、[B]、[C]、[D]測定判定精度,采用判定精度最高的特征選擇的設定。在本例中,[A]時為最高。然后,對[A]增加1個特征,且用[AB]、[AC]、[AD]來測定判定精度。此時,如果沒有比[A]的判定精度高的特征選擇的設定則結束,且將[A]作為特征選擇的結果。否則,還采用判定精度最高的特征選擇的設定。在本例中,[AC]時為最高。接著,與上次相同,對[AC]增加1個特征,且用[ACB]、[ACD]來測定判定精度,如果沒有比上次高的精度則結束,否則還采用判定精度最高的特征選擇的設定。進行反復直到對其進行測試的特征選擇的設定不存在為止。特征選擇指示部21按照上述變量增加法,將特征選擇的設定最終規(guī)定成1個,且將該特征選擇的設定輸入到惡意軟件判定器10。在檢驗部22中使用的檢驗用數據與第1實施方式的示教數據同樣地由已有的惡意軟件和好軟件的執(zhí)行文件以及表示該執(zhí)行文件是否是惡意軟件的分類的信息構成。作為在檢驗部22中進行的交叉檢驗,代表性的方法有留出法(Holdout)檢驗和N-劃分交叉檢驗,并且使用哪種方法都可以,其中,該留出法檢驗將檢驗用數據劃分為2而僅進行1次檢驗,該N-劃分交叉檢驗均等地劃分成N個而進行N次檢驗。作為在指標計算部23中計算的指標(判定精度),在機器學習的領域中經常使用AUC(AreaUndertheCurve:曲線下的面積)。在AUC良好(大)的情況下,檢測率、誤檢測率都具有變好的傾向。在本實施方式中,也可以將AUC作為指標。另外,也能夠使用其他指標。一般檢測率與誤檢測率具有相反的關系,但有時候希望在非常低地抑制誤檢測率的基礎上使檢測率得到相應的提高。作為該情況下的指標,能夠使用將惡意軟件判定器10的判定部16的誤檢測率調整成非常低(例如0.1%以下)時的判定部16的檢測率。相反,有時候希望使檢測率非常高的同時使誤檢測率也相應地降低。作為該情況下的指標,能夠使用基于將判定部16的檢測率調整成非常高(例如99.9%以上)時的判定部16的誤檢測率的指標(1-誤檢測率)。此外,關于在判定部16中的誤檢測率或者檢測率的調整,例如在進行閾值判定的情況下,能夠通過該閾值的調整來實現。在指標計算部23中計算出指標后,特征選擇指示部21判斷用其他特征選擇的設定進行測試還是結束測試。在變量增加法的情況下,按照以下順序進行判斷。此外,以下的“個數”是指特征選擇的設定中所包含的特征(屬性)的數量。1)如果在相同個數的特征選擇的設定中存在未測試的特征選擇的設定,則測試該未測試的特征選擇的設定(例如,如果僅2個組[AB]、[AC]測試完成,則也測試[AD])。2)在測試所有相同個數的特征選擇的設定的情況下(a)當在當前個數≠1且當前個數下最好的指標≤當前個數-1下最好的指標時,采用在當前個數-1下最好的指標的特征選擇的設定并結束([A]成為最好的特征選擇的設定)。(b)在上述以外的情況下,采用在當前個數下最好的指標的特征選擇的設定([AB]、[AC]、[AD]中的最好的[AC])。3)如果個數與最大數量(特征候選列表所包含的屬性·屬性值的數量)相同則結束。如果較少,則測試將個數逐個增加的特征選擇的設定(測試[AC*](*=B,D)的特征選擇的設定)。如上所述,在本實施方式中,能夠自動地設定特征選擇,且在指標計算部23中根據目的而計算適當的表示判定精度好程度的指標,由此能夠構成具有與誤檢測率的降低、檢測率的提高等使用目的一致的判定精度的惡意軟件判定器10。(3)第3實施方式本發(fā)明的第3實施方式的惡意軟件判定系統手動地輸入向圖1所示的惡意軟件判定器10輸入與特征選擇相關的設定。(3-1)第3實施方式的結構圖7示出本發(fā)明的第3實施方式的惡意軟件判定系統的結構圖。如圖7所示,本實施方式的惡意軟件判定系統除了惡意軟件判定器10之外還設置有特征選擇UI(UserInterface:用戶接口)30,特征選擇UI30從已有的惡意軟件·好軟件中收集特征,且使用該特征的一覽表手動地進行特征選擇。另外,特征選擇UI30具有特征一覽表獲取部31和特征選擇輸入部32。特征一覽表獲取部31從已有的惡意軟件·好軟件中獲取特征,生成該特征的一覽表。已有的惡意軟件·好軟件也可以使用第1實施方式的示教數據或第2實施方式的檢驗用數據。特征選擇輸入部32基于由特征一覽表獲取部31生成的特征的一覽表和惡意軟件判定器10的特征選擇數據庫12的信息來顯示設定畫面。(3-2)第3實施方式的設定畫面以下對在特征選擇輸入部32上顯示的設定畫面進行說明。在圖8中示出設定畫面的例子。在圖8中,屬性名/屬性值和出現數量是基于由特征一覽表獲取部31生成的特征的一覽表而被顯示的。在由特征一覽表獲取部31生成的特征的一覽表中包含屬性的屬性名和屬性值以及具有該屬性值的執(zhí)行文件的數量的信息。屬性名/屬性值能夠通過+/-按鈕來切換僅對屬性的屬性名的顯示與對屬性的屬性名及其屬性的所有屬性值的顯示。屬性值的出現數量表示具有該屬性值的執(zhí)行文件數/執(zhí)行文件總數。出現數量的顯示有助于從特性向量中除去不怎么頻繁出現的屬性值等的判斷。復選框1、2是基于特征選擇數據庫12的信息而被顯示的。復選框1反映屬性表的ON/OFF字段,ON/OFF字段為ON的屬性名(即作為提取對象登記于屬性表中的屬性的屬性名)上標注有選中標記。復選框2反映屬性值表1的內容,在作為刪除對象登記于屬性值表1中的屬性值上未標注選中標記,相反,在除了作為刪除對象登記的屬性值以外的屬性值(未登記的屬性值)上標注有選中標記。當在該設定畫面中手動地變更了復選框1、2的任意方的選中標記狀況時,特征選擇輸入部32將在復選框1中標注有選中標記的屬性名和在復選框2中未標注選中標記的屬性值作為特征選擇設定而輸入到惡意軟件判定器10的特征選擇設定部11。因此,在該設定畫面中,對于希望包含于特征向量中的屬性·屬性值標注選中標記,相反,對于希望排除的屬性·屬性值,通過去掉選中標記而能夠手動且簡單地進行特征選擇的設定。但是,也可以不具有出現數量的顯示功能。相反,也可以具有按照每個惡意軟件/好軟件顯示出現數量的功能。此外,在準備屬性值表2來代替屬性值表1的情況下,復選框2反映屬性值表2的內容。即,在作為非刪除對象登記于屬性值表2中的屬性值上標注選中標記,在除了作為非刪除對象登記于屬性值表2中的屬性值以外的屬性值(未登記的屬性值)上未標注選中標記。另外,在手動地變更了復選框1、2的任意方的選中標記狀況的情況下,輸入到惡意軟件判定器10的屬性值成為在復選框2上標注選中標記的屬性值。如上所述,在本實施方式中,能夠手動地設定特征選擇,且在屬性名·屬性值的指定中使用復選框1、2,因此能夠提供方便性較好的特征選擇設定。此外,也可以組合第2實施方式和第3實施方式,在第2實施方式中自動地設定特征選擇后,通過第3實施方式閱覽/修改特征選擇設定。本發(fā)明的惡意軟件判定器10能夠通過計算機和程序來實現,也能夠將該程序記錄于存儲介質中,還能夠通過網絡提供該程序。標號說明10:惡意軟件判定器;11:特征選擇設定部;12:特征選擇數據庫;13:特征提取部;14:特征選擇部;15:分類器;16:判定部;20:特征選擇測試器;21:特征選擇指示部;22:檢驗部;23:指標計算部;30:特征選擇UI;31:特征一覽表獲取部;32:特征選擇輸入部。當前第1頁1 2 3 當前第1頁1 2 3