JP2016031629A - 特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラム - Google Patents
特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラム Download PDFInfo
- Publication number
- JP2016031629A JP2016031629A JP2014153506A JP2014153506A JP2016031629A JP 2016031629 A JP2016031629 A JP 2016031629A JP 2014153506 A JP2014153506 A JP 2014153506A JP 2014153506 A JP2014153506 A JP 2014153506A JP 2016031629 A JP2016031629 A JP 2016031629A
- Authority
- JP
- Japan
- Prior art keywords
- feature
- combination
- features
- malware
- verification data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】マルウェア判定に用いる特徴の選択に要する試行回数を低減し、かつ、試行の終了時期を予想しやすくする。【解決手段】システムは、ファイル内に含まれる情報から抽出した特徴の候補群に対し、実験計画法で用いられる直交表により特徴の試行の組み合わせを作成する。そして、システムは、検証用のファイルの分類結果と、推論データのファイルそれぞれがマルウェアか否かの正解情報とを照合することにより、当該特徴の組み合わせによる分類(判定)精度を算出する。その後、システムは、算出に用いた特徴を説明変数とし、当該特徴を用いた場合の分類精度を目的変数とした回帰分析により候補それぞれの寄与度の大きさ計算する。そして、システムはその寄与度の大きさにより特徴を選択し、その選択結果を出力する。【選択図】図1
Description
本発明は、特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラムに関する。
従来、マルウェア判定において、ファイルのバイナリ情報に含まれる情報から特徴を抽出し、特徴ベクトルを作成することで、マルウェアか否かを判定する技術がある。
例えば、従来技術において、マルウェアの実行ファイル中に含まれる可読文字列をあらかじめ機械学習し、マルウェアでよく用いられる語を抽出する。そして、その抽出した語が検査ファイル中にどの程度含まれるかを基準にマルウェアらしさを判定する。この例で、マルウェア中の単語名とその出現数が特徴で、それら特徴を集めたものが特徴ベクトルとなる。集めた特徴の数(この例では単語名の数)は特徴ベクトル次元と呼ばれる。
ここで、特徴ベクトル次元が大きいほど、判定精度がよくなるというわけではなく、逆に悪くなる場合がある(非特許文献1,2参照)。そのため、特徴ベクトル次元を削減する方法が提案されている。特徴ベクトル次元を削減する方法として特徴選択がある。この特徴選択は安定した判定精度向上が行え、人間が理解しやすいという利点がある。特徴選択の方法には、ラッパー法、フィルター法、埋め込み法等があるが、この中でラッパー法は最も高い判定精度の特徴選択が行え、様々な分類器に適用できるという長所がある。
しかし、ラッパー法は、すべての特徴の組み合わせを用いた試行(総当たり法)を用いるので計算量が多い。そこで、組み合わせに用いる特徴の数を1つずつ増やしながら、判定精度が最大となる特徴の組み合わせを探索する変数増加法や、用いる特徴の数を1つずつ減らしながら、判定精度が最大となる特徴の組み合わせを探索する変数減数法(非特許文献3参照)が提案されている。また、遺伝子アルゴリズムを用いた探索法(非特許文献4参照)も提案されている。
坂野 鋭他、「怪奇!!次元の呪い---識別問題,パターン認識,データマイニングの初心者のために(前編)」、情報処理、vol.43、no.5、pp.562-567、2002
坂野 鋭他、「怪奇!!次元の呪い---識別問題,パターン認識,データマイニングの初心者のために(後編)」、情報処理、vol.43、no.6、pp.658-663、2002
元田 浩他、「機械学習とデータマイニング」、人工知能学会誌、Vol.12、No.4、p.505、1997
浜本 義彦他、「遺伝的アルゴリズムを用いた特徴選択法」、電子情報通信学会論文誌A、Vol.J78-A、No.10、pp.1385-1389、1995
しかし、前記した変数増加法や変数減数法(非特許文献2参照)は、総当たり法よりも試行回数を低減できるが、特徴の数がp個であった場合に、最小2p−1回、最大p(p+1)/2回の試行が必要である。また、遺伝子アルゴリズムを用いた探索方法は、経験上、選択対象の特徴の個数が非常に多い場合は変数増加法等より試行回数が少なくて済むと言われているが、終了時期を予測するのは難しい。そこで、本発明は前記した問題を解決し、マルウェア判定に用いる特徴の探索に要する試行回数を低減し、かつ、試行の終了時期を予想しやすくすることを課題とする。
前記した課題を解決するため、本発明は、ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いる情報を特徴として選択する特徴選択装置であって、特徴の候補と、マルウェアのファイルおよびマルウェア以外のファイルからなる検証用データとの入力を受け付ける入力部と、前記特徴の候補の数に応じた直交表を作成する直交表作成部と、前記直交表を参照して特徴の組み合わせを決定する組み合わせ決定部と、前記特徴の組み合わせによる前記検証用データのファイルの分類結果と、前記検証用データのファイルそれぞれがマルウェアか否かの情報との照合結果を用いて、前記特徴の組み合わせそれぞれによる前記検証用データの分類精度を算出する精度算出部と、前記分類精度を目的変数とし、前記特徴を説明変数とした回帰分析を行い、前記回帰分析により得られた前記特徴それぞれの寄与度の大きさに応じて、前記特徴を選択する分析部とを備えることを特徴とする。
本発明によれば、マルウェア判定に用いる特徴の探索に要する試行回数を低減し、かつ、試行の終了時期を予想しやすくすることできる。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について第1の実施形態および第2の実施形態に分けて説明する。なお、本発明は各実施形態に限定されない。また、各実施形態は適宜組み合わせ可能である。
(概要)
各実施形態の特徴選択システム(システム)の概要を説明する。各実施形態のシステムは、ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いられる特徴となる情報(特徴)を選択する。ここでの特徴選択は、ラッパー法を用いるものとする。ここで、システムの特徴選択装置は、特徴選択に要する試行回数を低減するため、実験計画法を用いる。この実験計画法は、統計的品質管理等において、品質測定の試行回数を低減するために頻繁に用いられる方法である。
各実施形態の特徴選択システム(システム)の概要を説明する。各実施形態のシステムは、ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いられる特徴となる情報(特徴)を選択する。ここでの特徴選択は、ラッパー法を用いるものとする。ここで、システムの特徴選択装置は、特徴選択に要する試行回数を低減するため、実験計画法を用いる。この実験計画法は、統計的品質管理等において、品質測定の試行回数を低減するために頻繁に用いられる方法である。
実験計画法では、品質に影響を与える制御可能な操作(例えば、工程Aを実施する/しない、ある原材料の投入量を5gにする/10gにする等)のことを因子と呼び、その因子と品質測定値(測定値)に対して統計的分析を行う。統計的分析には重回帰分析がよく用いられる。これは、測定値と因子の関係を以下の式(1)に示す線形式で近似し、その係数α,β[1],…,β[p]を求めることで、因子が測定値に与える影響を見積もる方法である。この線形式の事を回帰モデルとも呼ぶ。
式(1)におけるyは測定値で、目的変数ともいう。xkは説明変数と呼ばれ、因子kがあり/無しのような2操作の場合(2水準系)、「あり」のときxk=1、「無し」のときxk=0として処理する。例えば、4つの因子、A、B、C、Dについて、AとCがある場合、測定結果yに対する説明変数は{xAxBxCxD}={1010}となる。係数β[k]が正に大きいほど、それに対応する因子kは測定値に正の影響を強く与え、逆に負に大きい場合は負の影響を強く与え、0に近い場合はほとんど影響を与えないと言える。このように分析で得られた係数の大小により、各因子の影響度を把握できる。そこで、各実施形態のシステムは、測定値をマルウェアか否かの分類精度のよさとし、因子をファイルに含まれる様々な情報(特徴)とし、重回帰分析で得られた係数の大きさに基づき、ファイルのマルウェアらしさを判定するときに用いる特徴を選択する。
重回帰分析における係数の算出には、実際の測定値と、その測定をした際の説明変数を回帰モデルに代入して得られた値である予測値との差(残差)をとり、その差の二乗和を最小にする方法(残差の最小二乗法)が用いられる。最小二乗法を用いる上で、説明変数がp個あり、それらが二水準系(各因子の操作がある/無し等の2種類のみのとき)であるとき、最低何件の測定データが必要で、そのデータを得るための因子の組み合わせは何が適切なのかは実験計画法でよく検討されている。
例えば、p≦2q−1となるような最小の整数qを選ぶと、2q件の測定データが必要で、その測定データはLx直交表(ここでのxは「2q」)に基づいて因子を組み合わせればよいことがわかっている。例えば、因子が5個の場合、5≦2q−1を満たす最小のqは3なので、最低23=8件の測定データ(8回の試行)が必要で、その因子の組み合わせはL8直交表を用いて決定すればよい。なお、この直交表はアダマール行列を用いて算出され、詳細については後記する。
各実施形態のシステム(以下、適宜、システムと略す)は、マルウェアらしさの判定に用いるファイルの特徴の選択において、選択する特徴(または特徴の集まり)それぞれを1つの因子とみなし、特徴(または特徴の集まり)を含める/含めないの2操作を行う2水準系として、実験計画法を適用し、上記のような直交表を用いることで、より少ない試行回数での特徴の探索を行う。
なお、システムは、試行対象の特徴(または特徴の集まり)の組み合わせを決定すると、この決定した組み合わせを用いて検証用データに対し試行を行う。ここで用いる検証用データは、複数のファイルからなり、それぞれのファイルがマルウェアか否かの情報を含む。
システムは、まず、検証用データの一部を教師データとして決定した特徴の組み合わせを用いた機械学習を行う。例えば、システムは、教師データを用いてどのような特徴の組み合わせを持つファイルがマルウェアである度合いが高いかを学習する。そして、システムは、その機械学習の結果を用いて、検証用データの残りのデータ(推論データ)に対しマルウェアか否かの分類を行う。その後、システムは、この分類結果を、推論データの正解(マルウェアか否か)と突き合わせ、当該特徴による分類精度のよさを得る。これを試行対象の特徴すべてについて実行する。次に、システムは、試行対象の特徴の組み合わせにおける各特徴を因子、分類精度のよさを測定値とした回帰分析を行い、各因子の係数を求める。なお、機械学習における測定値は割合のように0〜1の間の値を取る場合が多いため、システムは、回帰モデルとして、以下の式(2)に示すロジスティック回帰モデルを用いる。
上記のように、システムは、特徴探索のための試行の組み合わせの決定において、実験計画法の直交表を用いるので、試行回数を低減することができる。また、上記のように実験計画法の直交表を用いることで試行回数が決まるので、試行の終了時期を予想しやすくなる。
(第1の実施形態)
次に、図1を用いて本発明の第1の実施形態のシステムを説明する。第1の実施形態のシステムは、特徴選択装置10と分類装置20とを備える。なお、各実施形態において、特徴選択装置10と分類装置20とは別個の装置として説明するが、1つの装置により実現してもよい。
次に、図1を用いて本発明の第1の実施形態のシステムを説明する。第1の実施形態のシステムは、特徴選択装置10と分類装置20とを備える。なお、各実施形態において、特徴選択装置10と分類装置20とは別個の装置として説明するが、1つの装置により実現してもよい。
特徴選択装置10は、ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを精度よく判定(分類)できる特徴となる情報(特徴)を選択する。ここでは、特徴選択装置10が、ファイルのPE/COFF(Portable Executable/Common Object File Format)ヘッダ情報に含まれるファイルの属性を特徴として選択する場合を例に説明する。
例えば、PE/COFFヘッダ情報は様々な属性(ファイル名、ファイルサイズ、Characteristics、Number of sections、Entry point等)を持つが、特徴選択装置10は、これらの属性のうち、より判定(分類)精度がよくなる属性を特徴として選択する。なお、これらの属性は、1つの属性で複数個の特徴を含んでいるものもある。例えば、Characteristics属性は、その属性が持つ値であるExecutable、32 bit word machine、Symbols stripped等を含む。ここで、特徴選択装置10が個々の特徴を選択するというより、特徴の集まり(つまり、属性に対応する値の集まり)をまとめて選択する場合を例に説明するが、個々の特徴を選択する場合でも同様に適用できる。ここでは、特徴選択装置10に入力される特徴の候補群は、ファイル名、ファイルサイズ、Characteristics、Number of sections、Entry pointの5個の属性である場合を例に説明する。
この特徴選択装置10は、システムのユーザ等から特徴の候補群の入力を受け付けると、実験計画法の直交表(詳細は後記)に基づき、試行する特徴の組み合わせを決定する。そして、特徴選択装置10は、この決定した特徴の組み合わせ(特徴ベクトル)を分類装置20へ出力し、分類装置20に対し、当該特徴ベクトルを用いた検証用データの分類を指示する。なお、この検証用データは、マルウェアのファイルおよびマルウェアではない(グッドウェア)のファイルと、それぞれのファイルがマルウェアか否かを示す情報とを含むデータである。そして、特徴選択装置10は、分類装置20から分類結果を受け取る。その後、特徴選択装置10は、分類装置20から受け取った特徴ベクトルと当該特徴ベクトルによる分類結果とを用いて回帰分析を行い、特徴ごとの係数の値を得る。そして、特徴選択装置10は、得られた特徴の係数の大きさに応じて、特徴を選択する。
分類装置20は、特徴選択装置10から特徴ベクトルと検証用データとを受け取ると、特徴ベクトルと検証用データから抽出した教師データとを用いて、マルウェアか否かの分類の機械学習を行う。そして、分類装置20は、機械学習の結果を用いて、検証用データのうち残りのデータ(推論データ)の分類を行い、分類結果を特徴選択装置10へ出力する。なお、この分類装置20による分類には、例えば、ロジスティック回帰を用いてもよいし、サポートベクターマシン、パーセプトロン、Passive-Aggressive、単純ベイズ、決定木等を用いてもよい。
(特徴選択装置)
次に、特徴選択装置10を詳細に説明する。特徴選択装置10は、直交表作成部11と、組み合わせ決定部12と、検証部13と、特徴抽出部14と、精度算出部15と、分析部16とを備える。
次に、特徴選択装置10を詳細に説明する。特徴選択装置10は、直交表作成部11と、組み合わせ決定部12と、検証部13と、特徴抽出部14と、精度算出部15と、分析部16とを備える。
直交表作成部11は、組み合わせ決定部12からの指示に基づき、特徴の候補の組み合わせの数に応じた直交表を作成する。例えば、ファイル名、ファイルサイズ、Characteristics、Number of sections、Entry pointの5個の属性を候補とした場合、因子(属性)の個数p=5であるので、以下の式(3)により2q=8となるので、L8直交表を作成する。作成した直交表は、組み合わせ決定部12へ出力する。
このL8直交表は、アダマール行列を用いることで得ることができる。例えば、直交表作成部11は、このL8直交表の作成にあたり、まず以下の式(4)に示すように、2次アダマール行列をq=3個直積(クロネッカー積)することで8次アダマール行列を作成する。
そして、直交表作成部11は、作成したアダマール行列に対し、前記した式(2)のαに相当する1列目を削除し、−1を0に置き換えて、式(5)に示すようなL8直交表を作成する。
組み合わせ決定部12は、入力部(図示省略)経由で特徴の候補群の入力を受け付ける。例えば、特徴の候補群として、ファイル名(A)、ファイルサイズ(B)、Characteristics(C)、Number of sections(D)、Entry point(E)等の属性群の入力を受け付ける。そして、組み合わせ決定部12は、直交表作成部11に対し、この属性の数(例えば、5個)に応じた直交表(式(5)参照)の作成を指示する。その後、組み合わせ決定部12は、直交表作成部11により作成された直交表を受け取ると、この直交表を用いて属性の組み合わせを決定し、この決定した属性の組み合わせによる検証を検証部13に対し指示する。
例えば、組み合わせ決定部12が、式(5)に示すL8直交表を受け取った場合を考える。この場合、組み合わせ決定部12は、まず式(5)に示すL8直交表の行を1つ選択し、この選択した行に基づいて、属性の組み合わせを決定する。例えば、組み合わせ決定部12は、組み合わせ決定にあたり、L8直交表から選択した行の先頭の値から特徴の候補群である属性A、B、C、D、Eの順に対応させていき、0に対応した場合はその属性は組み合わせに含めず、1に対応した場合は組み合わせに含める。具体例をあげると、組み合わせ決定部12が、式(5)に示すL8直交表の2行目(0101010)を選択した場合、順に0→A、1→B、0→C、1→D、0→Eというように対応させていくと、属性の組み合わせは{BD}になる。組み合わせ決定部12は、このような処理を直行表に示されるすべての行について実施し、属性の組み合わせを決定する。
検証部13は、組み合わせ決定部12により決定された特徴の候補の組み合わせ(ここでは、属性の組み合わせ)それぞれについて、検証用データを用いた検証を行う。ここでの検証は分類装置20による分類結果を用いた交差検証により行われる。交差検証の場合、検証部13は、まず、検証用データを教師データと推論データとに分割する。次に、検証部13は、分類装置20に対し、決定された属性の組み合わせ(具体的には特徴抽出部14により生成された特徴ベクトル)と教師データとを用いた機械学習を行わせる。その後、検証部13は、分類装置20に対し、機械学習の成果を用いて推論データに対する推論(分類)を行わせる。そして、検証部13は、分類装置20から推論データに対する分類結果を得る。この分類結果は、精度算出部15へ出力する。
なお、検証部13で行われる交差検証として、例えば、検証用データを2分割し、1回のみ検証を行うホールドアウト検証や、N個に等分割し、N回の検証を行うN−分割交差検証等があり、どの手法を用いてもよい。例えば、10−分割交差検証は次のように行う。まず、検証部13は、検証用データをランダムに10個の均等の件数を含むグループに分割する。次に、検証部13は、分割データ2〜10を教師データ、分割データ1を推論データとして、分類装置20に分類を行わせる。さらに、検証部13は、分割データ1と3〜10を教師データ、分割データ2を推論データとして分類装置20に分類を行わせる。このように、検証部13は、すべての分割データが1回は推論データとして使われるまで、分類装置20に繰り返し分類を行わせる。
特徴抽出部14は、組み合わせ決定部12により決定された属性の組み合わせにしたがって、特徴ベクトルを生成する。例えば、特徴抽出部14は、属性の組み合わせが{BD}である場合、教師データから属性B(ファイルサイズ)と属性D(Number of sections)に対応する値を抽出し、特徴ベクトルを生成する。また、同様に、特徴抽出部14は、推論データからも属性B(ファイルサイズ)と属性D(Number of sections)に対応する値を抽出し、特徴ベクトルを生成する。そして、特徴抽出部14は、検証部13から出力された教師データおよびこの教師データから生成した特徴ベクトル、推論データおよびこの推論データから生成した特徴ベクトルを分類装置20へ出力する。
精度算出部15は、検証部13から出力された分類結果を受け取ると、検証用データの推論データと突き合わせ、当該特徴ベクトルによる分類精度のよさを示す指標の値を算出する。つまり、精度算出部15は、分類装置20による特徴ベクトルを用いた推論データの分類結果と、推論データにおける各ファイルがマルウェアか否かの情報を参照して、当該特徴ベクトルによる分類精度がどの程度の高いかを示す指標の値を算出する。
ここでの指標は、例えば、AUC(Area Under the Curve)を用いる。AUCが大きい場合は、真陽性率(True Positive Rate:TPR)が高く、かつ、偽陽性率(False Positive Rate:FPR)が低くなる傾向がある。指標は、AUC以外を用いてもよい。例えば、マルウェア判定では、偽陽性率が低いことが重要な場合もあり、その場合は真陰性率(True Negative Rate、1−FPR)を指標として用いてもよい。
精度算出部15は、算出した指標の値を、この指標の算出に用いた属性の組み合わせ(例えば、組み合わせ決定部12が選択した式(5)に示すL8直交表の1行のうち、p=5個までの値)とともに記憶部(図示省略)の所定領域に保存する。精度算出部15は、このような処理を組み合わせ決定部12が決定した属性の組み合わせそれぞれについて実行する。例えば、属性の組み合わせに式(5)に示すL8直交表を用いる場合、8行すなわち8件の属性の組み合わせがあるので、精度算出部15は、8件分の属性の組み合わせと、属性の組み合わせそれぞれの指標の値とを記憶部(図示省略)に保存する。
分析部16は、記憶部(図示省略)に保存された属性の組み合わせを説明変数とし、当該組み合わせを用いた場合の指標の値を目的変数とした回帰分析(例えば、重回帰分析やロジスティック回帰分析)を行う。これにより各属性に対応した係数(寄与度)が算出される。そして、分析部16は、算出された属性それぞれの係数の大きさに応じて、属性を選択する。例えば、分析部16は、閾値(例えば、0)以上の係数を持つ属性を全て選択してもよいし、係数の大きな順に並べ、上位X%(例えば、30%等)の属性を選択してもよい。また、分析部16が、統計的検定も実施している場合は、各係数のt検定のp−値を用いて、p−値<0.05となる正の係数を持つ属性を選択してもよい。分析部16は上記のようにして選択した属性を、選択結果として出力する。なお、分析部16は、属性(特徴)それぞれの寄与度の出力を行い、属性(特徴)の選択は、本システムのユーザが行うようにしてもよい。
また、重回帰分析およびロジスティック回帰分析は、SPSS(IBM社)、R(オープンソフトウェア)等の統計処理ツール、NAG(NAG社)、ALGLIB(オープンソフトウェア)等の統計演算ライブラリを用いてもよい。
上記のように、システムは、特徴探索のための試行の組み合わせの決定において、実験計画法の直交表を用いるので、試行回数を低減することができる。また、システムは、試行の組み合わせの決定において実験計画法の直交表を用いることで試行回数が決まるので、試行の終了時期を予想することができる。
(処理手順)
次に、図2を用いて、システムの処理手順を説明する。
次に、図2を用いて、システムの処理手順を説明する。
まず、特徴選択装置10の組み合わせ決定部12は、入力部(図示省略)経由で特徴(例えば、属性)の候補群の入力を受け付ける(S1)。そして、組み合わせ決定部12は、直交表作成部11に対し、特徴の候補の数(例えば、5個)に応じた直交表(式(5)参照)の作成を指示する。
直交表作成部11は、組み合わせ決定部12からの指示に基づき、組み合わせ決定部12から出力された特徴の候補の数(例えば、5個)に応じた直交表(式(5)参照)を作成する(S2)。組み合わせ決定部12は、S2で作成された直行表(式(5)参照)から未選択の組み合わせを1つ取得し、試行する特徴の組み合わせを決定する(S3)。
S3の後、検証部13は、検証用データから教師データと推論データを作成する(S4)。そして、特徴抽出部14は、検証部13からの指示に基づき、教師データから特徴抽出を行い、特徴ベクトルを作成し、作成した特徴ベクトルと教師データを分類装置20へ出力する(S5)。また、特徴抽出部14は、検証部13からの指示に基づき、推論データから特徴抽出を行い、特徴ベクトルを作成し、作成した特徴ベクトルと推論データを分類装置20へ出力する(S6)。
S6の後、分類装置20は、特徴選択装置10から出力された教師データと特徴ベクトルを用いて機械学習を行い、その機械学習の結果を用いて、推論データに対する推論(分類)を行い、分類結果を特徴選択装置10へ出力する(S7:分類実行)。
S7の後、特徴選択装置10の検証部13は、検証が完了したか否かを判定し(S8)、まだ検証が完了していなければ(S8でNo)、S4へ戻る。一方、検証が完了していれば(S8でYes)、検証部13は分類装置20による分類結果を精度算出部15へ出力し、精度算出部15は出力された分類結果に基づき、特徴ベクトルを用いた推論データの分類精度のよさを示す指標の値を算出する(S9)。
S9の後、直行表(式(5)参照)の組み合わせのうち、S3以降の処理を実施していないものがあれば(S10でNo)、S3へ戻る。一方、直行表(式(5)参照)の全ての組み合わせについて、S3以降の処理を実施済みであれば(S10でYes)、分析部16は特徴の組み合わせごとの指標の値を分析し、特徴ごとの指標への寄与度を算出する(S11)。そして、分析部16は、算出された寄与度の高さに応じて特徴を選択し、選択結果を出力する(S12)。
このようにすることでシステムは、マルウェアであるか否かの判定に有効な特徴を選択することができる。
なお、本システムにおける、特徴探索のための試行回数は、因子(例えば、属性)の個数pに応じて、2q(qは、p≦2q−1を満たす最小の整数)ごとのステップで増えていく。ここで、試行回数が比較的多くなるのは、pが2のべき数に当たる場合で、例えば、p=8の時は、q=4となる。この場合、本システムは、L8直交表ではなく、L16直交表を用いる必要があり、16回の試行が必要となる。しかし、このような場合の試行回数を考慮しても、必要となる試行回数は高々2p回である。なお、変数増加法および変数減数法を用いた場合の試行回数は、最小2p−1回、最大p(p+1)/2回である。したがって、たいていの場合、これらの手法よりも本システムによる手法の方が、試行回数が少なくて済むことがわかる。また、本システムの場合、試行回数はpの値に応じて固定されており、試行の終了時期の予測も容易である。さらに、本システムは、回帰分析により特徴(または特徴の集まり)それぞれの、マルウェアか否かの分類精度への寄与度が数値化されるので、システムのユーザ等、人間が介在した特徴選択も行いやすくなる。
(第2の実施形態)
次に本発明の第2の実施形態を説明する。第2の実施形態のシステムは、特徴の候補群のうち、検証用データにおいて組(セット)で出現する度合いの高い特徴についてはいずれかの特徴で代表させ、代表以外の特徴(冗長特徴)を削除する。そして、システムは、冗長特徴の削除後の特徴を対象に、試行対象の特徴の組み合わせを決定する。例えば、検証用データにおいて属性Aの値と属性Bの値とが組で出現する度合いが高い場合、システムは、これらのうち属性Aを代表とし、属性Bを削除して試行対象の属性の組み合わせを決定する。
次に本発明の第2の実施形態を説明する。第2の実施形態のシステムは、特徴の候補群のうち、検証用データにおいて組(セット)で出現する度合いの高い特徴についてはいずれかの特徴で代表させ、代表以外の特徴(冗長特徴)を削除する。そして、システムは、冗長特徴の削除後の特徴を対象に、試行対象の特徴の組み合わせを決定する。例えば、検証用データにおいて属性Aの値と属性Bの値とが組で出現する度合いが高い場合、システムは、これらのうち属性Aを代表とし、属性Bを削除して試行対象の属性の組み合わせを決定する。
ここで、組で出現する度合いの高い特徴(属性)としては、例えば、ファイルのロック・アンロック(KERNEL32.dllのAPI(Application Programming Interface)、LockFileとUnLockFile)や、描画処理におけるメモリ確保・解放(gdiplus.dllのAPI、GdipAllocとGdipFree)等がある。また、マルウェアでは専用のDLL(Dynamic Link Library)を持ち、それらのDLL中のAPIを使用することがあり、そのマルウェアの亜種では同じDLL名・API名の組が出現することも多い。したがって、当該DLL名とAPI名も組(セット)で出現する度合いの高い特徴として考えられる。
このようにシステムが組で出現する度合いの高い特徴群について冗長特徴の削除を行うことにより、各特徴の交互作用を低減できる。その結果、システムは実験計画法によって、特徴の寄与度(影響度)をより正確に算出することができる。また、システムが冗長特徴を削除することで、回帰分析で対象となる因子を削減できるので、処理時間を低減することができる。
ここで前記した交互作用について簡単に説明する。交互作用とは、ある因子の影響が他の因子の有る/無しで変化することをいう。例えば、因子Aと因子Bとの両方があるときに、単独(因子Aまたは因子Bのみ)の場合の予想よりも目的変数がより大きくなったり、逆により小さくなったりする場合がある。このような場合、前者を正の交互作用があるといい、後者を負の交互作用があるという。
例えば、システムに入力される特徴の候補群の中には、前記のようにファイル内で必ず組で出現する特徴がある。ここで、システムが、マルウェアか否かの分類に用いる特徴として、その組で出現する特徴が1つでも含まれていれば、その組で出現する他の特徴を追加しても、分類精度に影響を与えないことが多い。そのため、負の交互作用を生じる可能性がある。実験計画法においては、この負の交互作用は各因子の係数(寄与度)をより0に近い値として算出してしまい、その組に出現する各特徴の寄与度を小さいものと誤ってしまう可能性がある。つまり、システムは特徴の寄与度(影響度)を正確に算出することができない可能性がある。
そこで、システムが、上記のような冗長特徴の削除を行うことで、負の交互作用を低減するような試行対象の特徴の組み合わせを決定できるので、特徴の寄与度(影響度)をより正確に算出することができる。また、システムが冗長特徴を削除することで、回帰分析で対象となる因子を削減できるので、処理時間を低減することができる。
(構成)
第2の実施形態のシステムの構成を、図3を用いて説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。図3に示すように、第2の実施形態のシステムにおける特徴選択装置10aは冗長特徴削減部17をさらに備える。
第2の実施形態のシステムの構成を、図3を用いて説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。図3に示すように、第2の実施形態のシステムにおける特徴選択装置10aは冗長特徴削減部17をさらに備える。
冗長特徴削減部17は、特徴の候補群のうち、検証用データにおいて組で出現する特徴群についてはいずれかの特徴で代表させ、代表以外の特徴(冗長特徴)を削除する。そして、冗長特徴削減部17は、冗長特徴削除後の特徴の候補群を、組み合わせ決定部12へ出力する。この後、組み合わせ決定部12は、出力された冗長特徴削除後の特徴の候補群を対象に試行に用いる特徴の組み合わせを決定する。
(処理手順)
特徴選択装置10aは、例えば、図4に示す手順で特徴選択を行う。まず、特徴選択装置10aの冗長特徴削減部17は、特徴の候補群の入力を受け付けると(S20)、検証用データを読み込み、入力された特徴の候補群のうち、組で出現する特徴群を特定する(S21)。そして、冗長特徴削減部17は、組で出現する特徴群について、1つ代表となる特徴を残し、他の特徴は削除する(S22)。そして、特徴選択装置10aは、S22で削除済みの特徴群を対象に、図2のS2〜S13と同様の処理を行う(S23)。
特徴選択装置10aは、例えば、図4に示す手順で特徴選択を行う。まず、特徴選択装置10aの冗長特徴削減部17は、特徴の候補群の入力を受け付けると(S20)、検証用データを読み込み、入力された特徴の候補群のうち、組で出現する特徴群を特定する(S21)。そして、冗長特徴削減部17は、組で出現する特徴群について、1つ代表となる特徴を残し、他の特徴は削除する(S22)。そして、特徴選択装置10aは、S22で削除済みの特徴群を対象に、図2のS2〜S13と同様の処理を行う(S23)。
次に、図5に例示する特徴組データベースの記録情報を用いて、図4のS21の処理を、具体例を用いて説明する。特徴組データベースは、冗長特徴削減部17が検証用データにおいて組で出現した特徴を記録したデータベースである。ここでは、冗長特徴削減部17に、特徴の候補群として、5つの特徴A,B,C,D,Eが入力され、4つの検証用データ{A,B}、{B,C,D}、{C,D,E}、{A,E}が入力された場合を例に説明する。冗長特徴削減部17は、この4つの検証用データについて、特徴組データベースを用いながら、いずれの検証用データにおいても組で出現する特徴群を特定する場合を例に説明する。
まず、冗長特徴削減部17は、1つめの検証用データ{A,B}を読み込むと、この検証用データに登場するA,Bは新規の特徴なので新規の特徴リストに登録し、このA,Bを特徴組データベースに登録する。また、この新規の特徴リストに登録した特徴は2個以上なので、冗長特徴削減部17は、特徴組データベースにA,Bが組であると記録(○印)する。なお、既登録の特徴はないので、既登録の特徴リストは空の状態である(図5の(1))。
次に、冗長特徴削減部17は、2つめの検証用データ{B,C,D}を読み込むと、この検証用データに登場するC,Dは、新規の特徴なので、新規の特徴リストに登録し、特徴組データベースに登録する。なお、Bは、既登録の特徴なので、既登録の特徴リストに登録する。さらに、冗長特徴削減部17は、新規の特徴リストに登録した特徴は2個以上なので、特徴組データベースにC,Dが組であると記録(○印)する。次に、冗長特徴削減部17は既登録の特徴リストに登録されるBについて、このBと組であると記録(○印)された特徴(A)を取り出す。ここで、冗長特徴削減部17は、Aが既登録の特徴リストには含まれているかを確認すると含まれていない。したがって、冗長特徴削減部17は、特徴組データベースからA,Bの組の記録(○印)を取り消す。つまり、冗長特徴削減部17は、過去の検証用データにおいて、BはAと組で出現していたが、現在の検証用データにおいては、BはAと組で出現していないので、特徴組データベースからA,Bが組であるという記録(○印)を取り消す(図5の(2))。
次に、冗長特徴削減部17は、3つめの検証用データ{C,D,E}を読み込むと、この検証用データに登場するEは新規の特徴なので、新規の特徴リストに登録し、特徴組データベースに登録する。また、C,Dは既登録の特徴なので既登録の特徴リストに登録する。新規の特徴はEの1つのみなので、冗長特徴削減部17は、特徴組データベースにおいて特徴の登録のみ行い、組の記録(○印)は行わない。次に、冗長特徴削減部17は既登録の特徴リストに登録されるCについて、このCと組であると記録(○印)された特徴(D)を取り出す。このDは既登録の特徴リスト({C,D})に含まれるため、冗長特徴削減部17は、C,Dの組の記録(○印)を残したままにする。Dについても同様である(図5の(3))。
次に、冗長特徴削減部17は、4つめの検証用データ{A,E}を読み込むと、この検証用データに新規の特徴はないので、新規の特徴リストは空で、既登録の特徴リストにA,Eを登録する。ここで、冗長特徴削減部17は既登録の特徴リストに登録されるAについて、特徴組データベースにおいて組として記録(○印)された特徴はないのでそのままとする。Eについても同様である(図5の(4))。
最後に、冗長特徴削減部17は、特徴組データベースから組の記録(○印)がない行を削除し、重複する組の行(D行)を削除すると、C−Dの組が残る。これにより4つの検証用データにおいて組で出現する特徴群{C,D}が特定される。
すなわち、冗長特徴削減部17は、図6に示す処理を行う。まず、冗長特徴削減部17は、検証用データを1件読み込み、特徴を抽出する(S31)。つまり、冗長特徴削減部17は、検証用データに、特徴の候補群に示される特徴があれば、その特徴を抽出する。
次に、冗長特徴削減部17は、特徴組データベースと突き合わせ、S31で抽出した各特徴を、既登録の特徴リストと、新規の特徴リストとに分ける(S32)。つまり、冗長特徴削減部17は、S31で抽出した各特徴について、以前にも処理し、特徴組データベースに登録済みとなっている特徴と、初めて処理する新規の特徴とに分ける。
S32の後、冗長特徴削減部17は、新規の特徴リストの各特徴を特徴組データベース(図5参照)に登録し、さらに、リスト(新規の特徴リスト)の要素が2個以上あるならば、特徴組データベースにおいて、それらの特徴を「組」と記録する(S33)。
S33の後、冗長特徴削減部17は、既登録の特徴リストの各特徴について、その特徴と「組」であると記録された特徴を特徴組データベース(図5参照)から取り出し、「組」である特徴が既登録の特徴リストに含まれていなければ、「組」の記録を取り消す(S34)。
S34の後、冗長特徴削減部17がまだ読み込んでいない検証用データがあれば(S35でNo)、S31へ戻る。一方、検証用データを全て読み込み済みであれば(S35でYes)、冗長特徴削減部17は、特徴組データベース(図5参照)に重複する「組」の記録があれば削除し、整理する(S36)。すなわち、冗長特徴削減部17は、特徴組データベースにおいて、組{A,B,C}、組{B,A,C}…のように、順序が入れ違いとなっている組について、1組のみ残し、あとは削除する。なお、例えば、組{A,B,C}を残したい場合、冗長特徴削減部17は、その組の2番目以降の要素であるBとCで始まる組を検索し、削除すればよい。
このようにすることで、冗長特徴削減部17は、特徴の候補群のうち、検証用データにおいて組で出現する特徴を特定することができる。
なお、上記の処理において、冗長特徴削減部17は特徴組データベースにおいて、例えば、A−BとB−Aのように順序が入れ替わった両方の組を管理しているが、片方の組、例えば、A−Bのみを管理してもよい。
また、第2の実施形態のシステムにおいて、冗長特徴削除部17は、各検証用データにおいて必ず組で出現する特徴群に対し冗長特徴の削除を行うことしたがこれに限定されない。例えば、冗長特徴削除部17は、各検証用データにおいて、組で出現する度合いが所定の閾値以上の特徴群に対し冗長特徴の削除を行うことしてもよい。
第2の実施形態のシステムによれば、特徴の候補群から冗長特徴の削除を行うので、負の交互作用を低減するような試行対象の特徴の組み合わせを決定できる。その結果、システムは特徴の寄与度(影響度)をより正確に算出することができる。また、システムが冗長特徴を削除することで、回帰分析で対象となる因子を削減できるので、処理時間を低減することができる。
なお、マルウェアのファイルにおいて上記のように組で出現する特徴は多数あることが知られている。したがって、システムが、特徴探索の試行の前に、冗長特徴の削減を行い、負の交互作用を低減するような試行対象の特徴の組み合わせを決定することの効果は非常に高いと考えられる。
(実験結果)
ここで、第2の実施形態のシステムの実験結果を述べる。ここでは、検証用データとして、マルウェアとグットウェアが半々になるように、約1000個の実行ファイルを無作為に抽出したデータを用いた。この検証用データにおいて、呼出DLL名と呼出API名を含む特徴の数を数えたところ約10,000個であった。ここで、第2の実施形態のシステムにより、この検証用データを対象に、呼出DLL名と呼出API名を含む特徴の冗長特徴削減を行ったところ、約4,000〜5,000個まで特徴を減らすことができた。
ここで、第2の実施形態のシステムの実験結果を述べる。ここでは、検証用データとして、マルウェアとグットウェアが半々になるように、約1000個の実行ファイルを無作為に抽出したデータを用いた。この検証用データにおいて、呼出DLL名と呼出API名を含む特徴の数を数えたところ約10,000個であった。ここで、第2の実施形態のシステムにより、この検証用データを対象に、呼出DLL名と呼出API名を含む特徴の冗長特徴削減を行ったところ、約4,000〜5,000個まで特徴を減らすことができた。
前者について、2k型直交表を用いた特徴選択を実施する場合、その試行回数は16384回必要であるが、後者については、4096回、または、8192回で済み、大幅に試行回数を削減できた。また、交互作用を排除できたことから、回帰分析における各特徴の係数をより正確に算出することができるようになった。
(その他の実施形態)
なお、前記した各実施形態において、特徴の候補群はシステムのユーザ等により入力されるものとして説明したが、システムが検証用データ等から自動で抽出するようにしてもよい。この場合のシステムは、図7に示すように、特徴選択装置10b内に候補抽出部18を備える。この候補抽出部18は検証用データから特徴抽出を行い、得られた特徴の一覧を特徴の候補群として、組み合わせ決定部12へ出力する。このようにすることで、システムのユーザが特徴の候補群を入力する手間を省ける。
なお、前記した各実施形態において、特徴の候補群はシステムのユーザ等により入力されるものとして説明したが、システムが検証用データ等から自動で抽出するようにしてもよい。この場合のシステムは、図7に示すように、特徴選択装置10b内に候補抽出部18を備える。この候補抽出部18は検証用データから特徴抽出を行い、得られた特徴の一覧を特徴の候補群として、組み合わせ決定部12へ出力する。このようにすることで、システムのユーザが特徴の候補群を入力する手間を省ける。
(プログラム)
また、上記実施形態に係る特徴選択装置10,10a,10bが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、特徴選択装置10,10a,10bと同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
また、上記実施形態に係る特徴選択装置10,10a,10bが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、特徴選択装置10,10a,10bと同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
図8は、特徴選択プログラムを実行するコンピュータを示す図である。図12に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図8に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、特徴選択プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明した特徴選択装置10,10a,10bが実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、特徴選択プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、特徴選択プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10,10a,10b 特徴選択装置
11 直交表作成部
12 組み合わせ決定部
13 検証部
14 特徴抽出部
15 精度算出部
16 分析部
17 冗長特徴削減部
18 候補抽出部
20 分類装置
11 直交表作成部
12 組み合わせ決定部
13 検証部
14 特徴抽出部
15 精度算出部
16 分析部
17 冗長特徴削減部
18 候補抽出部
20 分類装置
Claims (8)
- ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いる情報を特徴として選択する特徴選択装置であって、
特徴の候補と、マルウェアのファイルおよびマルウェア以外のファイルからなる検証用データとの入力を受け付ける入力部と、
前記特徴の候補の数に応じた直交表を作成する直交表作成部と、
前記直交表を参照して特徴の組み合わせを決定する組み合わせ決定部と、
前記特徴の組み合わせによる前記検証用データのファイルの分類結果と、前記検証用データのファイルそれぞれがマルウェアか否かの情報との照合結果を用いて、前記特徴の組み合わせそれぞれによる前記検証用データの分類精度を算出する精度算出部と、
前記分類精度を目的変数とし、前記特徴を説明変数とした回帰分析を行い、前記回帰分析により得られた前記特徴それぞれの寄与度の大きさに応じて、前記特徴を選択する分析部とを備えることを特徴とする特徴選択装置。 - 前記決定された特徴の組み合わせそれぞれについて、前記検証用データから抽出された教師データを用いて機械学習を行い、前記機械学習の結果を用いて、前記検証用データから抽出された教師データ以外のデータである推論データのファイルそれぞれがマルウェアか否かの分類を行う分類部をさらに備えることを特徴とする請求項1に記載の特徴選択装置。
- 前記特徴選択装置は、さらに、
前記検証用データを参照して、前記特徴の候補のうち、前記検証用データにおいて組で出現する特徴群があったとき、当該特徴群の中から選択したいずれかの1つの特徴以外を冗長特徴として削除する冗長特徴削減部を備え、
前記直交表作成部は、
前記冗長特徴が削除された特徴の候補の数に応じた直交表を作成することを特徴とする請求項1または請求項2に記載の特徴選択装置。 - 前記入力部は、
前記特徴の候補として、前記特徴の属する属性の候補の入力を受け付け、
前記組み合わせ決定部は、
前記直交表を参照して、前記属性の試行の組み合わせを決定し、
前記特徴選択装置は、さらに、
前記決定された組み合わせにおける各属性に対応する特徴を抽出する特徴抽出部を備えることを特徴とする請求項1ないし請求項3のいずれか1項に記載の特徴選択装置。 - 前記検証用データに含まれる情報群を、前記特徴の候補として抽出する候補抽出部をさらに備えることを特徴とする請求項1ないし請求項4のいずれか1項に記載の特徴選択装置。
- ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いる情報を特徴として選択する特徴選択装置を有する特徴選択システムであって、
前記特徴選択装置は、
特徴の候補と、マルウェアのファイルおよびマルウェア以外のファイルからなる検証用データとの入力を受け付ける入力部と、
前記特徴の候補の数に応じた直交表を作成する直交表作成部と、
前記直交表を参照して特徴の組み合わせを決定する組み合わせ決定部と、
分類装置から、前記特徴の組み合わせによる前記検証用データのファイルの分類結果と、前記検証用データのファイルそれぞれがマルウェアか否かを示す情報との照合結果を用いて、前記特徴の組み合わせそれぞれによる前記検証用データの分類精度を算出する精度算出部と、
前記分類精度を目的変数とし、前記特徴を説明変数とした回帰分析を行い、前記回帰分析により得られた前記特徴それぞれの寄与度の大きさに応じて、前記特徴を選択する分析部とを備え、
前記分類装置は、
前記特徴選択装置により決定された特徴の組み合わせそれぞれについて、前記検証用データから抽出された教師データを用いて機械学習を行い、前記機械学習の結果を用いて、前記検証用データから抽出された教師データ以外のデータである推論データのファイルそれぞれがマルウェアか否かの分類を行うことを特徴とする特徴選択システム。 - ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いる情報を特徴として選択する特徴選択装置が、
特徴の候補と、マルウェアのファイルおよびマルウェア以外のファイルからなる検証用データとの入力を受け付けるステップと、
前記特徴の候補の数に応じた直交表を作成するステップと、
前記直交表を参照して特徴の組み合わせを決定するステップと、
分類装置から、前記特徴の組み合わせによる前記検証用データのファイルの分類結果と、前記検証用データのファイルそれぞれがマルウェアか否かの情報との照合結果を用いて、前記特徴の組み合わせそれぞれによる前記検証用データの分類精度を算出するステップと、
前記分類精度を目的変数とし、前記特徴を説明変数とした回帰分析を行い、前記回帰分析により得られた前記特徴それぞれの寄与度の大きさに応じて、前記特徴を選択するステップとを含み、
前記分類装置が、
前記特徴選択装置により決定された特徴の組み合わせそれぞれについて、前記検証用データから抽出された教師データを用いて機械学習を行い、前記機械学習の結果を用いて、前記検証用データから抽出された教師データ以外のデータである推論データのファイルそれぞれがマルウェアか否かの分類を行うステップを含んだことを特徴とする特徴選択方法。 - ファイル内に含まれる情報群から、当該ファイルのマルウェアらしさを判定するときに用いる情報を特徴として選択するための特徴選択プログラムであって、
特徴の候補と、マルウェアのファイルおよびマルウェア以外のファイルからなる検証用データとの入力を受け付けるステップと、
前記特徴の候補の数に応じた直交表を作成するステップと、
前記直交表を参照して特徴の組み合わせを決定する組み合わせステップと、
前記特徴の組み合わせによる前記検証用データのファイルの分類結果と、前記検証用データのファイルそれぞれがマルウェアか否かの情報との照合結果を用いて、前記特徴の組み合わせそれぞれによる前記検証用データの分類精度を算出するステップと、
前記分類精度を目的変数とし、前記特徴を説明変数とした回帰分析を行い、前記回帰分析により得られた前記特徴それぞれの寄与度の大きさに応じて、前記特徴を選択するステップとをコンピュータに実行させることを特徴とする特徴選択プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014153506A JP2016031629A (ja) | 2014-07-29 | 2014-07-29 | 特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014153506A JP2016031629A (ja) | 2014-07-29 | 2014-07-29 | 特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016031629A true JP2016031629A (ja) | 2016-03-07 |
Family
ID=55441973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014153506A Pending JP2016031629A (ja) | 2014-07-29 | 2014-07-29 | 特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016031629A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101819322B1 (ko) * | 2016-03-16 | 2018-02-28 | 주식회사 엘지유플러스 | 악성코드 분석모듈 및 그 악성코드 분석방법 |
CN109697361A (zh) * | 2017-10-20 | 2019-04-30 | 北京理工大学 | 一种基于木马特征的木马分类方法 |
KR20190123369A (ko) | 2018-04-11 | 2019-11-01 | 고려대학교 산학협력단 | 머신러닝 기반 악성코드 탐지를 위한 특성선정 방법 및 이를 수행하기 위한 기록매체 및 장치 |
CN111047343A (zh) * | 2018-10-15 | 2020-04-21 | 京东数字科技控股有限公司 | 用于信息推送的方法、装置、系统及介质 |
JP2020119384A (ja) * | 2019-01-25 | 2020-08-06 | 富士通株式会社 | 解析プログラム、解析装置、及び解析方法 |
-
2014
- 2014-07-29 JP JP2014153506A patent/JP2016031629A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101819322B1 (ko) * | 2016-03-16 | 2018-02-28 | 주식회사 엘지유플러스 | 악성코드 분석모듈 및 그 악성코드 분석방법 |
CN109697361A (zh) * | 2017-10-20 | 2019-04-30 | 北京理工大学 | 一种基于木马特征的木马分类方法 |
KR20190123369A (ko) | 2018-04-11 | 2019-11-01 | 고려대학교 산학협력단 | 머신러닝 기반 악성코드 탐지를 위한 특성선정 방법 및 이를 수행하기 위한 기록매체 및 장치 |
CN111047343A (zh) * | 2018-10-15 | 2020-04-21 | 京东数字科技控股有限公司 | 用于信息推送的方法、装置、系统及介质 |
JP2020119384A (ja) * | 2019-01-25 | 2020-08-06 | 富士通株式会社 | 解析プログラム、解析装置、及び解析方法 |
US11593457B2 (en) | 2019-01-25 | 2023-02-28 | Fujitsu Limited | Recording medium recording analysis program, information processing apparatus, and analysis method |
JP7265872B2 (ja) | 2019-01-25 | 2023-04-27 | 富士通株式会社 | 解析プログラム、解析装置、及び解析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3139297B1 (en) | Malware determination device, malware determination system, malware determination method, and program | |
JP6823523B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6839342B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US9412077B2 (en) | Method and apparatus for classification | |
CN110188047B (zh) | 一种基于双通道卷积神经网络的重复缺陷报告检测方法 | |
JP2016031629A (ja) | 特徴選択装置、特徴選択システム、特徴選択方法、および、特徴選択プログラム | |
Idris et al. | Ensemble based efficient churn prediction model for telecom | |
CN103870840A (zh) | 基于改进的潜在狄利克雷分配的自然图像分类方法 | |
CN106598997B (zh) | 一种计算文本主题归属度的方法及装置 | |
JP6281491B2 (ja) | テキストマイニング装置、テキストマイニング方法及びプログラム | |
JP2020135171A (ja) | 機械学習プログラム検証装置および機械学習プログラム検証方法 | |
WO2008062822A1 (fr) | Dispositif d'exploration de texte, procédé d'exploration de texte et programme d'exploration de texte | |
Sagala et al. | Enhanced churn prediction model with boosted trees algorithms in the banking sector | |
JP7452623B2 (ja) | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム | |
JP2017026482A (ja) | データ処理装置、決定木生成方法、識別装置及びプログラム | |
CN111125329B (zh) | 一种文本信息筛选方法、装置及设备 | |
CN112819085A (zh) | 基于机器学习的模型优化方法、装置及存储介质 | |
JP6984729B2 (ja) | 意味推定システム、方法およびプログラム | |
Khamsan et al. | Handling highly imbalanced output class label: a case study on Fantasy Premier League (FPL) virtual player price changes prediction using machine learning | |
CN115829712A (zh) | 数据信息安全分级方法及装置 | |
JP2020140452A (ja) | ノード情報推定方法、ノード情報推定プログラムおよび情報処理装置 | |
JP2016048485A (ja) | 遺伝子発現情報解析装置、遺伝子発現情報解析方法、及びプログラム | |
JP6199497B2 (ja) | データ処理システム | |
JP6975682B2 (ja) | 医学情報処理装置、医学情報処理方法、及び医学情報処理プログラム | |
CN113807374A (zh) | 信息处理装置、信息处理方法和计算机可读存储介质 |