(58)【調査した分野】(Int.Cl.,DB名)
前記知識情報は、前記振る舞いによって実現される機能、前記振る舞いと前記機能との関係又は前記機能と前記目的との関係の少なくとも一つを更に含む、請求項1に記載の分析装置。
前記目的推定手段は、前記目的を推定するために用いた前記振る舞いの履歴に関する情報に基づいて、所定の条件を満たす前記振る舞いを特定する、請求項1から3のいずれか一項に記載の分析装置。
前記目的推定手段は、前記知識情報に含まれる情報とマルウェアとの関係を示す情報に基づいて、前記振る舞いの目的を推定する、請求項1から4のいずれか一項に記載の分析装置。
【発明を実施するための形態】
【0014】
本発明の各実施形態について、添付の図面を参照して説明する。なお、本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素は、例えば
図3に示すような情報処理装置50とソフトウェアとの任意の組み合わせにより実現することができる。情報処理装置50は、例えばCPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Ramdom Access Memory)53、RAM53にロードされるプログラム54、プログラム54を格納する記憶装置55、記憶媒体56の読み書きを行うドライブ装置57、ネットワーク59と接続する通信インターフェイス58、データの入出力を行う入出力インターフェイス60、及び各構成要素を接続するバス61を含む。また、各装置の実現方法には様々な変形例がある。例えば、各装置は、専用の装置として実現することができる。また、各装置は、複数の装置の組み合わせにより実現することができる。
【0015】
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態における分析装置及び当該分析装置を含む分析システム等の構成を示す図である。
図2は、本発明の第1の実施形態における分析装置及び当該分析装置を含む分析システム等の別の構成を示す図である。
図4は、本発明の第1の実施形態における分析装置によって用いられる振る舞いパターン等の例を示す図である。
図5は、本発明の第1の実施形態における分析装置によって用いられる振る舞いパターンと目的との関係の例を示す図である。
図6は、本発明の第1の実施形態における分析装置によって用いられる知識情報の例を示す図である。
図7は、本発明の第1の実施形態における分析装置によって推定された振る舞いに対する目的の例である。
図8は、本発明の第1の実施形態における分析装置の動作を示すフローチャートである。
図9及び
図10は、本発明の第1の実施形態における分析装置の変形例の構成を示す図である。
図11及び
図12は、本発明の第1の実施形態における分析装置の別の変形例の構成を示す図である。
【0016】
図1に示すとおり、本発明の第1の実施形態における分析装置100は、目的推定部110を備える。目的推定部110は、コンピュータにおける所定の振る舞いと、当該所定の振る舞いと当該所定の振る舞いを実行する目的との関係を含む知識情報とに基づいて、当該所定の振る舞いの目的を推定する。
【0017】
なお、本実施形態の一例として、分析装置100は、
図2のように、振る舞いとその振る舞いを実行する目的との関係を含む知識情報を記憶する知識情報記憶部120に記憶する構成とすることができる。この場合に、目的推定部110は、知識情報記憶部120に記憶された知識情報を用いて、振る舞いの目的を推定する。ただし、分析装置100は、このような構成に限られず、知識情報が目的推定部110によって利用可能となるような任意の構成とすることができる。
【0018】
最初に、本実施形態における分析装置100にて用いられる知識情報と、その構成要素等について説明する。本実施形態において、知識情報は、分析装置100が振る舞いに対する目的を推定する場合に用いる情報である。知識情報には、ある振る舞いと、当該振る舞いに対する目的と、当該振る舞いと当該目的との関係とが少なくとも含まれる。
【0019】
本実施形態において、振る舞いは、例えばネットワークに接続されたコンピュータにおける何らかの動作であり、より詳しくは、マルウェア(malware)のように、悪意のある不正なソフトウェア等によって行われる特徴的な動作である。
【0020】
なお、本実施形態における分析装置100によって主に目的の推定対象となる振る舞いは、例えば、マルウェア等の動作を検知する検知装置150によって検知されたマルウェアの振る舞いである。
【0021】
検知装置150は、例えば上述したIDSやSIEMツールであり、公知の手法を用いてマルウェア等の動作を検知する。検知装置150は、例えば、マルウェア動作ログ151に記録された動作が、マルウェアの振る舞いを記録した振る舞いパターンに該当するパターンが存在するか否かを判定することによって、マルウェア等の動作を検知する。マルウェア動作ログ151は、マルウェアを動作させた場合に行われたネットワーク通信、API(Application Programming Interface)の呼び出し、ファイルやメモリへのアクセス等のコンピュータの動作の記録を含む。また、検知装置150は、ネットワーク152における通信内容を読み取り、当該読み取った動作が、振る舞いパターンに該当するパターンが存在するか否かを判定することによって、マルウェア等の動作を検知することもできる。
【0022】
図4(A)は、マルウェア動作ログ151の一例である。
図4(B)は、検知装置150にて用いられる振る舞いパターンの一例である。本実施形態において、振る舞いパターンは、検知装置150によって検知対象となる、マルウェアの一つ以上の振る舞いである。検知装置150は、例えば、マルウェア動作ログに記録された動作の各々が、振る舞いパターンに含まれる振る舞いのいずれかに該当すると、マルウェア等の動作を検知したとして、その旨を該当した振る舞いと共に示す。一つの具体例として、
図4(A)に示すマルウェア動作ログに記載された動作L01は、“Action”が振る舞いパターンP01の“Action”と同様に“Wait”である。また、動作L01は、“Duration”の値である“4948”が、振る舞いパターンP01の“DurationMin”の値である300より大きく、“DurationMax”の値である“86400”より小さい。したがって、この動作L01は、
図4(B)に示す振る舞いパターンのP01に該当する。この場合に、検知装置150は、マルウェアの動作を検出した旨を、
図4(B)に示す振る舞いパターンのP01と併せて任意の形式で出力する。
【0023】
また、本実施形態において、目的とは、コンピュータにおいて上述した振る舞いを実行することによって、例えばマルウェアを利用する攻撃者が実現しようとする事柄である。本実施形態において、目的は、情報システム等の構成要素や動作に関連する事項に限られない。例えば、本実施形態における分析装置100は、「個人情報販売ビジネス」のように、情報システム等の構成要素や動作がどうなるかを全く説明していない事項を目的として扱うことができる。すなわち、本実施形態における目的は、お金を儲けるなどのように、社会的な達成事項を含むことができる。なお、この場合において、攻撃者は、例えばネットワークや情報システムに対して何らかの危害を加える意図を持つ者である。そして、振る舞いと当該振る舞いを実行する目的との関係は、上述した振る舞いと、攻撃者がマルウェアを用いて当該振る舞いを行う目的とを結びつける関係である。
【0024】
なお、上述した目的は、1つ以上の機能によって実現されると考えることができる。また、上述した振る舞いは、ある機能の一部が現れたものと考えることができる。したがって、振る舞いとその振る舞いを実行する目的との関係は、これらが直接に結びつけられる場合に限られない。すなわち、振る舞いとその振る舞いを実行する目的との関係は、振る舞いと振る舞いによって実現される機能との関係と、当該機能と当該機能を実行する目的との関係を用いて表される場合がある。知識情報には、機能、振る舞いと機能との関係、及びその機能と目的との関係が含まれる。
【0025】
また、上述した目的や機能は、より詳細な機能や目的に具体化できる場合がある。すなわち、目的、機能は、階層的である場合がある。このような場合には、振る舞いとその振る舞いを実行する目的との関係は、更に目的同士の関係や、機能同士の関係を用いて表される場合がある。知識情報には、これらの関係が含まれる。
【0026】
図5は、振る舞いと、その振る舞いを実行する目的との関係の一例を示す図である。
図5においては、すなわち、振る舞いとその振る舞いを実行する目的との関係は、振る舞いと振る舞いによって実現される機能との関係と、当該機能と当該機能を実行する目的との関係を用いて表されている。
【0027】
図5(A)に示す通り、例えば検知装置150等によって検知される「時間待ち」という振る舞いは、「ボット(bot)の発見を困難にする」との機能に関係付けられている。また、「ボットの発見を困難にする」という機能は、「DDoS(Distributed Denial of Service)攻撃帯域販売ビジネス」という目的に関係付けられている。
図5(A)に示す関係に基づくと、したがって、「時間待ち」という振る舞いは、例えば「DDoS攻撃帯域販売ビジネス」を目的として行われていると考えることが可能である。また、これらの振る舞い、機能、目的及び関係は、例えば
図5(B)から(E)の各々に示すように、各々に識別子を付与することによって表現される。
【0028】
図6は、知識情報の一例を示す。
図6に示すような知識情報は、例えば、上述した検知装置150等によって検知された事実から、攻撃者の真の目的や意図を発想することができる分析者の知識や経験に基づいて作成される。ただし、
図6に示すような知識情報は、任意の方法によって作成される。また、分析装置100が知識情報記憶部120を備える場合、
図5に示す関係や
図6に示す知識情報は、例えば知識情報記憶部120に記憶される。また、分析装置100は、
図5に示す関係や
図6に示す知識情報を、図示しない表示装置等に表示することができる。
【0029】
次に、本実施形態における分析装置100の各構成要素について詳細を説明する。本実施形態において、目的推定部110は、コンピュータにおける所定の振る舞い及び当該振る舞いと当該振る舞いを実行する目的との関係に基づいて、振る舞いを実行する目的を推定する。
【0030】
目的推定部110は、例えば上述した
図5に示す振る舞いと目的との関係や、
図6に示す知識情報に基づいて、振る舞いを実行する目的を推定する。
すなわち、目的推定部110は、これらの関係や知識情報に基づいて、振る舞いに関係付けられた目的を特定する。そして、目的推定部110は、当該特定した目的を、振る舞いを実行する目的として推定する。例えば、
図5に示す振る舞いと目的との関係に基づく場合、目的推定部110は、「時間待ち」という振る舞いは、「DDoS攻撃帯域販売ビジネス」という目的に関係付けられていると特定することができる。したがって、目的推定部110は、「時間待ち」という振る舞いは、「DDoS攻撃帯域販売ビジネス」を目的とすると推定する。また、
図6に示す知識情報に基づく場合、目的推定部110は、“MACT−2014−0005”とラベル付された振る舞いは、
図7に示す目的の少なくとも一つを目的とすると推定する。すなわち、目的推定部110は、「カード・個人情報販売ビジネス」、「クリック詐欺ビジネス」、「身代金ビジネス」、「DDoS攻撃帯域販売ビジネス」の少なくとも一つを目的とすると推定する。また、分析装置100は、
図7によって示されるような、目的推定部110によって推定された振る舞いと目的との関係を、任意の形式にて出力することができる。例えば、分析装置100は、当該振る舞いと目的との関係を、図示しない表示装置等に表示したり、任意のファイルに出力したりすることができる。
【0031】
続いて、
図8を用いて、本実施形態における分析装置100の動作の一例を説明する。
【0032】
分析装置100の目的推定部110は、まず、目的の推定対象となる振る舞いのリストを取得する(ステップS101)。
【0033】
続いて、分析装置100は、ステップS101にて取得した振る舞いのリストから、当該リストに含まれる振る舞いの一つを取得する(ステップS102)。この場合において、分析装置100は、任意の基準で当該リストから振る舞いの一つを取得することができる。
【0034】
続いて、目的推定部110は、ステップS102にて取得した振る舞いから関係のリストを取得する(ステップS103)。分析装置100が知識情報記憶部120を備える場合、関係のリストは知識情報記憶部120から読み出される。
【0035】
続いて、目的推定部110は、関係のリストから、一方にステップS102にて選択した振る舞いを含む関係を選択する(ステップS104)。
【0036】
続いて、目的推定部110は、ステップS104にて選択された関係を用いて、ステップS102にて取得した振る舞いに対して当該関係によって対応付けられている目的を取得する(ステップS105)。ステップS104にて選択された関係が、上述した振る舞いとその振る舞いを実行する目的とを直接に関係付けていない場合には、目的推定部110は、当該関係から関係リストに含まれる関係を順次辿ることによって目的を推定する。
【0037】
続いて、目的推定部110は、ステップS103にて取得した関係のリストに含まれる全ての関係について、ステップS104及びステップS105の処理を実行したかを確認する(ステップS106)。全ての関係について処理を実行していない場合、目的推定部110は、ステップS104に戻り、上述した関係リストに含まれる関係のうち、処理を実行していない関係を選択して処理を継続する。全ての関係について処理を実行した場合、目的推定部110は、次のステップS107の処理へ進む。
【0038】
続いて、目的推定部110は、振る舞いのリストに含まれるすべての振る舞いについて処理を実行したかを確認する(ステップS107)。全ての振る舞いについて処理を実行していない場合(ステップS107:No)、目的推定部110は、ステップS102に戻り、上述した振る舞いのリストから、処理を実行していない振る舞いを選択して処理を継続する。
【0039】
全ての振る舞いについて処理を実行した場合(ステップS107:Yes)、分析装置は、目的推定部110がステップS105にて取得した目的を、振る舞いを実行するための目的であると推定して終了する。なお、分析装置100は、推定された目的を任意の形式で出力することができる。
【0040】
以上のとおり、本実施形態における分析装置100は、目的推定部110が、コンピュータにおける所定の振る舞い及び当該振る舞いと当該振る舞いを実行する目的との関係に基づいて、前記振る舞いの目的を推定する。したがって、本実施形態における分析装置100は、攻撃者の意図や目的に関する情報を求めることができる。
【0041】
一般的なセキュリティ監視業務において、上述したIDSやSIEM等の技術によって検知されたマルウェア等の振る舞いから、マルウェアを利用する攻撃者の意図や、攻撃者が攻撃を行う目的を推測することは必ずしも容易ではない。マルウェア等の振る舞いから攻撃者の意図や目的を推測することが可能であるのは、一般的に、マルウェア等の活動に関する多くの知識や分析経験を有する分析者に限られている。
【0042】
しかしながら、本実施形態における分析装置100を用いることにより、例えばマルウェア等の活動に関する知識や分析経験の少ない分析者であっても、振る舞いから攻撃者の意図や目的を推測することが可能となる。すなわち、本実施形態における分析装置100を用いることにより、マルウェア等の活動に関する知識や分析経験の少ない分析者が、例えば攻撃者の真の目的や意図を阻害する対策を講じることが可能となる。
【0043】
(第1の実施形態の変形例)
本実施形態における分析装置100は、種々の変形例が考えられる。例えば、本実施形態において、目的の推定対象となる振る舞いは、検知装置150にて検知した振る舞いに限られない。本実施形態における分析装置100は、その目的を推定すべき任意の振る舞いを目的の推定対象とすることができる。
【0044】
また、本実施形態における分析装置100が、検知装置150にて検知した振る舞いに対する目的を推定する場合においては、分析装置100及び検知装置150は、種々の動作を行うことができる。
【0045】
例えば、検知装置150は、マルウェアが実行されている監視対象であるネットワーク152に接続し、ネットワーク152からパケットを受信するたびに、マルウェアの動作を検知する構成とすることができる。また、この場合において、検知装置150がマルウェアの動作を検知した場合には、分析装置100は、検知装置150にて検知されたマルウェアの振る舞いに対する目的を推定することができる。このようにすることで、分析者は、マルウェアの振る舞いをリアルタイムに観察しつつ、マルウェアの分析を行うことが可能となる。
【0046】
また、分析装置100の具体的構成は、種々の形態が考えられる。例えば、分析装置100及び検知装置150等は、一つの分析システムとして構成されることができる。
図9は、分析装置100及び検知装置150を一体の分析システム10として構成する場合の一例を示す。また、分析装置100と一つ以上の検知装置150−1・・・Nとが、
図10に示すように、ネットワークを介して接続される構成とすることができる。
【0047】
また、分析装置100が知識情報記憶部120を備える場合、
図11に示すように、目的推定部110と知識情報記憶部120とは、ネットワークを介して接続される構成とすることができる。この場合には、例えばクラウドのサービスとして、知識情報記憶部120に記憶された知識情報が、複数の目的推定部110に対して提供される構成とすることができる。
【0048】
また、本実施形態における分析装置100は、
図12に示すように、いわゆるクラウドのサービスとして提供される構成とすることができる。この場合には、分析装置100の利用者は、例えば端末装置160を用いてネットワークを介して分析装置100に接続する。このような構成とすることで、分析装置100の知識情報記憶部120に記憶された知識情報が、複数の分析者によって共有される。
【0049】
(第2の実施形態)
続いて、本発明の第2の実施形態について説明する。
図13は、本発明の第2の実施形態における分析装置が用いる振る舞いの適合度を算出する方法の例を示す図である。
図14は、本発明の第2の実施形態における分析装置100が用いる振る舞いの適合度を算出する方法の別の例を示す図である。
図15は、本発明の第2の実施形態における分析装置100が振る舞いの適合度を用いて目的を推定する場合の推定方法の例を示す図である。
図16は、本発明の第2の実施形態における分析装置100が用いる知識情報に対して追加情報を特定した例を示す図である。
図17は、本発明の第2の実施形態における分析装置100が用いる知識情報に対して追加情報を特定した別の例を示す図である。
図18は、本発明の第2の実施形態における分析装置100が用いる振る舞いと当該振る舞いを引き起こすマルウェアとの対応を示す情報の例を示す図である。
図19は、本発明の第2の実施形態における分析装置100が用いる振る舞いと目的との関係を含む知識情報に関連する分析者に関する情報の例を示す図である。
【0050】
本実施形態における分析装置100は、本発明の第1の実施形態における分析装置100と同様の構成とすることができる。本実施形態における分析装置100は、振る舞い又は振る舞いと目的との関係に関する付加情報を用いて振る舞いの目的を推定する点が、本発明の第1の実施形態における分析装置100と異なる。
【0051】
本実施形態における分析装置100を用いて、検知装置にて検知されたマルウェアの振る舞いに対してその目的を求める場合、検知された振る舞いが複数である場合や、結果として複数の目的が推定されることがある。振る舞いから推定される目的が、振る舞いによって攻撃者が実現しようとする実際の目的と一致する可能性は、各々の目的によって異なる場合がある。
【0052】
本実施形態における分析装置100は、振る舞い又は振る舞いと目的との関係に関する付加情報を用いて振る舞いの目的を推定する。このようにすることで、本実施形態における分析装置100は、目的を推定する精度を高めることができる。
【0053】
(付加情報が振る舞いの適合度である例)
本実施形態において、分析装置100が用いる付加情報の例を説明する。
一つの例として、分析装置100は、付加情報として、マルウェアの動作に対する目的の推定対象となる振る舞いの適合度を用いる。
【0054】
例えば
図1に示す構成において、検知装置150によって検知されたマルウェアの振る舞いは、検知装置150が保持するマルウェアの振る舞いパターンと完全に一致する場合に限られず、一部が一致する場合がある。そこで、本実施形態における分析装置100は、目的の推定対象となる振る舞いと、予め特定されたマルウェアの振る舞いとの一致の程度を振る舞いの適合度として利用して、振る舞いに対する目的を推定する。
【0055】
図13から
図15を用いて、適合度の算出方法及び適合度を利用した分析装置100による目的の推定方法の例を説明する。この例においては、適合度は、検知装置150によって算出される。なお、振る舞いの適合度は、検知装置150によって算出される場合に限られない。振る舞いの適合度は、例えば、分析者が、自身の経験に基づいて振る舞いの各々に対して与える形で算出されることもできる。振る舞いの適合度は、分析装置100によって利用できる形式であれば任意の方法で算出することができる。
【0056】
図13は、振る舞いの適合度の算出方法の例を示す。適合度の算出方法に示す例では、マルウェア動作ログに、マルウェアの動作として動作L01が記録されている。また、検知装置150は、振る舞いパターンとしてP01からP06までのパターンを用いる。この場合において、動作L01は、振る舞いパターンP01と“Action”が一致する。また、動作L01の“Duration”の値は、振る舞いパターンP01の“DurationMin”の値と“DurationMax”の値との間に含まれる。すなわち、動作L01は、振る舞いパターンP01に該当する。また、動作L01の“Action”は、振る舞いパターンP02又はP03の“Action”と一致する。すなわち、動作L01は、振る舞いパターンP02又はP03の一部と一致する。この場合において、検知装置150は、例えば動作L01に対する振る舞いパターンP01の適合度を1.0とする。また、検知装置150は、例えば動作L01に対する振る舞いパターンP02又はP03の適合度を0.5とする。
【0057】
図14は、振る舞いの適合度の算出方法に関する別の例を示す。
図14に示す例では、マルウェア動作ログに、マルウェアの動作として動作L09が記録されている。また、検知装置150は、振る舞いパターンとしてP31及びP32のパターンを用いる。この場合において、動作L09は、振る舞いパターンP31及びP32の双方と“Action”が一致する。また、動作L09の“DstPort”の値は、振る舞いパターンP31の“DstPort”の値と一致する。そして、動作L09の“DstPort”の値は、振る舞いパターンP32の“DstPort”の値と一部の桁が一致する。すなわち、動作L09は、振る舞いパターンP31に該当する。また、動作L09は、振る舞いパターンP32の一部と一致する。この場合において、検知装置150は、例えば動作L09に対する振る舞いパターンP31の適合度を1.0とする。また、検知装置150は、例えば動作L09に対する振る舞いパターンP32の適合度を0.5とする。
【0058】
次に、
図15を用いて、振る舞いの適合度が与えられた場合における分析装置100による目的の推定方法の一例を説明する。
図15においては、目的との推定対象である振る舞いP21からP29は、機能F31からF35を介して、目的B21又はB22と関係付けられている。また、振る舞いP21からP29の各々には、適合度が割り当てられている。
【0059】
振る舞いの適合度が与えられた場合の一例として、分析装置100は、振る舞いから目的を推定することと併せて、推定された目的に対する適合度を算出する。この場合において、分析装置100は、振る舞いP21からP29の適合度に基づいて、機能F31からF35の各々の適合度を算出する。また、分析装置100は、一例として機能F31からF35の各々の適合度に基づいて、目的B21又はB22の各々の適合度を算出する。
【0060】
この例において、下位要素から推定される上位要素が、一つの下位要素のみから推定される場合は、分析装置100は、当該上位要素の適合度は、推定される基となる下位要素と同じとして算出することができる。
図14に示す例では、振る舞いP21と機能F31との関係が該当する。
【0061】
また、この例において、下位要素から推定される上位要素が複数の下位要素から推定され、かつ、当該上位要素を実現するためには、複数の下位要素の各々が必要とされる場合がある。この場合において、分析装置100は、例えば複数の下位要素の各々の適合度を重みづけした値を、上位要素の適合度として算出する。
図15に示す例では、分析装置100は、機能F34の適合度を、関係付けられている振る舞いP25及びP26の適合度をそれぞれ0.7及び0.3にて重みづけし、0.3*0.7+0.0*0.3=0.21として算出する。なお“*”は乗算を示す記号である。
【0062】
更に、この例において、下位要素から推定される上位要素が複数の下位要素から推定され、かつ、当該上位要素を実現するためには、複数の下位要素のいずれか一つがあれば十分である場合がある。この場合において、分析装置100は、例えば複数の下位要素の各々の適合度のうち、最も大きな値を、上位要素の適合度として算出する。
図14に示す例では、分析装置100は、機能F35の適合度を、関係付けられている振る舞いP27からP29のうち最も大きな適合度である0.8として算出する。
【0063】
図15に示す例では、分析装置100は、目的B21及びB22の適合度を上記の説明と同様の手順にて算出する。例えば、目的B21の適合度は0.603、目的B22の適合度は0.3として算出される。
【0064】
したがって、
図15に示す例では、分析装置100の利用者は、適合度に基づいて、振る舞いP21からP29を基に推定された目的B21及びB22のうち、目的B21の可能性が高いと判断することができる。すなわち、分析装置100の利用者は、例えば外部からネットワークや情報システムへの攻撃が「DDoS攻撃帯域販売ビジネス」を目的であることを前提として、当該攻撃に対する対策を取ることが可能となる。
【0065】
なお、上記の例では、振る舞いの適合度は、数値で表した。しかしながら、振る舞いの適合度は、上記の形式に限られず、本実施形態における分析装置100が利用することができる任意の形式とすることができる。例えば、振る舞いの適合度は、予め定められた複数の段階のいずれかに格付けする形式で与えられる。
【0066】
(付加情報が振る舞いの履歴情報である例)
本実施形態において、分析装置100が用いる付加情報の別の一例を説明する。この例において、分析装置100は、付加情報として、目的を推定した振る舞いの履歴情報を用いる。
【0067】
この場合において、分析装置100は、振る舞いに対する目的の推定を行う場合に、推定対象とされた振る舞いを履歴情報として例えば
図2に示す知識情報記憶部120に記憶する。そして、分析装置100は、記憶された履歴情報に基づいて、振る舞いに対する目的の推定結果と併せて、又は、目的の推定結果と別に、履歴情報に基づいて所定の条件を満たす振る舞いに関する情報を特定する。
【0068】
分析装置100によって特定される振る舞いに関する情報は、いくつかの例が考えられる。このような情報の一つの例は、履歴情報において所定の回数を超えて現れる振る舞いに関する情報である。
【0069】
履歴情報において、所定の回数を超え、例えば目的を推定する場合に常に現れる振る舞いは、実際にマルウェアによって常に同一の動作が行われている場合を示すだけに限られない。例えば、上述した振る舞いは、検知装置150によってマルウェアの動作を検知するためには適当な条件ではない可能性があることが考えられる。したがって、分析装置100は、例えば履歴情報において所定の回数を超えて現れる振る舞いを特定する。
【0070】
分析装置100は、上述する振る舞いに関する情報を、種々の方法にて特定することができる。一例として、分析装置100は、上述したような振る舞いを検知した場合に、その旨を振る舞いに対して推定した目的と併せて任意の形式にて出力する。このようにすることで、分析装置100の利用者は、出力された振る舞いを参照し、振る舞いの条件を修正したり、検知装置150に用いて検知するマルウェアの動作の対象から除外するよう検知装置150の振る舞いパターンを設定したりすることができる。
【0071】
また、分析装置100は、例えば履歴情報において所定の回数を超えて現れる振る舞いに関する情報を検知装置150に提供することができる。この場合に、検知装置150は、当該振る舞いを検知対象とするマルウェアの振る舞いパターンから除外することができる。
【0072】
分析装置100によって特定される振る舞いに関する情報の別の例は、履歴情報において出現する振る舞いの数又は頻度に関する情報である。
【0073】
分析装置100が保持する履歴情報は、分析装置100を用いて目的の推定対象となる振る舞いの数が減少していることを示す場合が考えられる。このような場合には、マルウェアは、例えば、検知装置150にて検知対象とされる振る舞いパターンにない未知の動作を行っている(すなわち、検知装置150はマルウェアの動作を検知できない)可能性がある。
【0074】
したがって、分析装置100は、例えば目的の推定対象となる振る舞いの数が減少している場合に、履歴情報において出現する振る舞いの数が減少していることを、振る舞いに関する情報として特定する。
【0075】
分析装置100は、任意の形式にて、履歴情報において出現する振る舞いの数が減少していることを、振る舞いに関する情報として特定することができる。分析装置100は、例えば
図16に示すように、知識情報記憶部120に記憶される知識情報に、特別な振る舞いを追加して表すことができる。この特別な振る舞いは、例えばマルウェアの動作に関して状況が不明である旨を表す。また、この特別な振る舞いは、例えばすべての機能と関係付けられる形式とすることができる。この場合に、分析装置100の目的推定部110は、振る舞いに対する目的を推定する場合に、当該特別な振る舞いに対して常に目的を推定する構成とすることができる。このようにすることで、分析装置100の利用者は、検知装置150によって検知できない未知のマルウェアの動作が存在する可能性があることを知ることができる。
【0076】
また、分析装置100が保持する履歴情報は、分析装置100を用いて目的の推定対象となる特定の振る舞いの出現頻度が減少していることを示す場合が考えられる。このような場合には、分析装置100は、履歴情報において出現する特定の振る舞いの出現頻度が減少していることを、振る舞いに関する情報として特定する。
【0077】
この場合に、分析装置100は、知識情報記憶部120に記憶される知識情報を、例えば
図17に示すような形式とすることで表すことができる。つまり、分析装置100は、知識情報記憶部120に記憶される知識情報に、特別な振る舞いを、履歴情報にて出現数が減少した振る舞いと関連付けて追加することで、振る舞いに関する情報として特定する。この場合において、特別な振る舞いは、例えば関連付けられた振る舞いに関するマルウェアの動作について状況が不明である旨を表す。
【0078】
また、分析装置100は、例えば上述した特別な振る舞いに関する情報を、履歴情報にて出現数が減少した振る舞いと関連付けて検知装置150に提供することができる。この場合において、検知装置150は、例えば分析装置100の履歴情報にて出現数が減少した振る舞いが検知される場合に、当該特別な振る舞いが検知装置150にて常に検知される構成とすることができる。
【0079】
このようにすることで、分析装置100の利用者は、例えば検知装置150によって検知している特定のマルウェアの動作が変化した可能性があることを知ることができる。また、分析装置100の利用者は、攻撃者が同一の目的を達成するために、別のマルウェアを利用するようになった可能性があることを知ることができる。更に、マルウェアの分析者は、分析装置100によって追加された特別な振る舞いが、履歴情報にて出現頻度が減少した振る舞いと関係付けられていることから、分析に注力すべきマルウェアの動作等を明確に知ることが可能となる。
【0080】
なお、
図16や
図17に示すように、分析装置100によって知識情報に特別な振る舞いが追加された場合、分析装置100は、例えば特別な振る舞いが追加された知識情報を図示しない表示装置等に表示することができる。このようにすることで、分析装置100の利用者は、振る舞いに関する情報を知ることが容易になる。
【0081】
また、知識情報に特別な振る舞いが追加される場合は、上述した場合に限られない。分析装置100は、知識情報に、特別な振る舞いを、履歴情報が上述した条件以外の所定の条件を満たす振る舞いと関連付けて追加するができる。また、分析装置100は、上述した意味合いと異なる意味合いで、特別な振る舞いを知識情報に追加することができる。
【0082】
(付加情報が振る舞いとマルウェアとの関係である例)
本実施形態において、分析装置100が用いる付加情報の更に別の一例を説明する。この例において、分析装置100は、付加情報として、目的の推定対象となる振る舞いと、その振る舞いを引き起こすマルウェアとの関係に関する情報を用いる。
【0083】
既知のマルウェアに関しては、既知のマルウェアと、マルウェアによって引き起こされる振る舞いと、当該マルウェアによって実現しようとする目的との対応が既に明らかである場合がある。この場合には、分析装置100は、その対応関係を用いることで、振る舞いに対する目的を(推定するのではなく)特定することが可能となる。したがって、この例においては、分析装置100は、目的の推定対象となる振る舞いと、その振る舞いを引き起こすマルウェアとの関係に関する情報を用いることで、振る舞いに対する目的を特定しようとする。
【0084】
この場合において、分析装置100の知識情報記憶部120は、振る舞いと当該振る舞いを引き起こすマルウェアとの対応を示す情報を保持する。
図18(A)は、知識情報記憶部120に記憶される情報の例である。
図18(A)に示す例では、マルウェアの検体識別名が、そのマルウェアと関連する振る舞いとその機能との関係、又は機能と目的との間の関係と対応付けられている。このような情報は、例えば既知の分析結果に基づいて分析者により作成される。
【0085】
また、分析装置100の目的推定部110は、振る舞いに対応する目的を推定する場合に、上述した情報を参照する。そして、例えば振る舞いと、振る舞いに対して推定された目的との関係に、マルウェアとの対応を示す情報が存在する場合には、目的推定部110は、当該目的を、振る舞いによって実現されようとする目的であるとして特定する。
【0086】
分析装置100が目的の推定対象となる振る舞いと、その振る舞いを引き起こすマルウェアとの関係に関する情報を用いる場合の例を示す。一例として、
図18(B)に示す例において、分析装置100の目的推定部110が振る舞い“MACT−2014−0010”に対する目的を推定する場合を想定する。
図18(B)によると、振る舞い“MACT−2014−0010”に対しては、4つの目的が推定される。
【0087】
一方、
図18(A)によると、関係識別子としてR30及びR32が付された関係に対して、マルウェアの検体識別名“W32.Morto.B”が対応付けられている。したがって、目的推定部110は、“MACT−2014−0010”は、検体識別子が“W32.Morto.B”であるマルウェアにて引き起こされたものであり、この振る舞いに対する目的を「クリック詐欺ビジネス」と特定する。
【0088】
なお、マルウェアの検体識別名は、知識情報記憶部120に記憶される知識情報に含まれる振る舞いや機能と関連付けられることもできる。
【0089】
また、分析装置100は、目的の推定対象となる振る舞いと、その振る舞いを引き起こすマルウェアとの関係に関する情報を用いて目的を推定した結果を任意の形式で出力することができる。例えば、分析装置100は、振る舞いに対して推定された目的のうち、上記の情報に基づいて特定された目的の表示形式を変えて任意の出力装置に出力することができる。
【0090】
(付加情報が分析者に関する情報である例)
本実施形態において、分析装置100が用いる付加情報の更に別の一例を説明する。この例において、分析装置100は、付加情報として、振る舞いと目的との関係を含む知識情報に関連する分析者に関する情報を用いる。
【0091】
知識情報として知識情報記憶部120に記憶される振る舞いと目的との関係は、一例として、マルウェアの活動に関して知識や経験を有する分析者によって作成される。この場合に、作成される振る舞いと目的との関係に関する知識情報は、分析者の知識や経験に依存する。すなわち、作成される知識情報の信頼度(例えば、情報の正確さ)は、当該情報を作成した分析者によって異なる場合がある。
【0092】
そこで、分析装置100は、振る舞いと目的との関係を含む知識情報に関連する分析者に関する情報を用いる。このようにすることで分析装置100は、信頼度の高い情報に基づいて振る舞いに対する目的を推定することが可能となる。
【0093】
知識情報を作成した分析者に関する情報の一例として、分析者の各々に対して信頼度を表すランク(階級)付けした情報がある。
図19(A)は、分析者と、分析者に関するランクとの関係を示す。
図19(A)においては、ランクの値は、マルウェアの活動に関する知識や経験の多さや、作成した情報の信頼度の高さを示す。すなわち、
図19(A)の例では、識別子がA22である分析者が、最も信頼度が高いといえる。
【0094】
また、
図19(B)は、知識情報記憶部120に記憶される知識情報に含まれる振る舞いと目的との関係と、当該関係を作成した分析者との対応を示す図である。
図19(B)によると、関係識別子R40、R41及びR42である関係の各々は、識別子がA11である分析者によって当該関係が作成されている。また、
図19(B)によると、関係識別子R43及びR44である関係は、識別子がA22である分析者によって当該関係が作成されている。
【0095】
そして、分析装置100の目的推定部110は、振る舞いと目的との関係に加え、
図19(A)及び(B)に示す情報を用いて、振る舞いに対する目的を推定する。
【0096】
一例として、目的推定部110は、振る舞いに対して推定された目的と併せて、目的を推定するために用いた関係とその関係を作成した分析者の情報を出力する。このようにすることで、分析装置100の利用者は、分析装置100によって推定された振る舞いに対する目的のうち、識別子がA22である分析者によって関係付けられた目的の可能性が高いと判断することができる。
【0097】
なお、分析装置100は、上述した方法以外の方法にて、振る舞いと目的との関係を含む知識情報を作成した分析者に関する情報を用いることができる。例えば、分析装置100の目的推定部110は、ランクが所定値以上の分析者によって作成された知識情報を用いて、振る舞いに対する目的を推定することができる。また、目的推定部110は、特定の分析者によって作成された知識情報を用いて、振る舞いに対する目的を推定することができる。更に、目的推定部110は、上述した適合度を算出する場合に、分析者に対するランクの値も用いて適合度を算出することもできる。
【0098】
以上のとおり、本実施形態における分析装置100は、振る舞い又は振る舞いと目的との関係に関する付加情報を用いて振る舞いの目的を推定する。すなわち、本実施形態における分析装置100は、振る舞い又は振る舞いと目的との関係では表すことのできない情報をも用いて振る舞いに対する目的を推定することができる。したがって、本実施形態における分析装置100は、目的を推定する精度を高めることができる。
【0099】
なお、本実施形態における分析装置100は、上記説明した情報と異なる情報を、付加情報として用いて振る舞いに対する目的を推定することができる。また、本実施形態における分析装置100は、上述した付加情報を、互いに組み合わせて用いることができる。
【0100】
更に、本発明の第1の実施形態における分析装置100の変形例に関する構成は、本実施形態における分析装置100の各々の例と互いに組み合わせて用いることが可能である。
【0101】
(第3の実施形態)
続いて、本発明の第3の実施形態について説明する。
図20は、本発明の第3の実施形態における分析装置300及び当該分析装置を含む分析システム等の構成を示す図である。
図21は、本発明の第3の実施形態における分析装置300において、知識情報入力部130が知識情報を受付ける場合の手順を示すフローチャートである。
図22は、知識情報入力部130が知識情報を受付ける場合における入力画面の一例である。
【0102】
図20に示すとおり、本発明の第3の実施形態における分析装置300は、目的推定部110と、知識情報記憶部120と、知識情報入力部130とを備える。目的推定部110及び知識情報記憶部120は、本発明の第1の実施形態における分析装置100と同様の機能を備える。知識情報入力部130は、振る舞いと目的との関係を含む知識情報を受付ける。
【0103】
すなわち、本実施形態における分析装置300は、知識情報入力部130を備える点が、本発明の第1の実施形態における分析装置100と異なる。本実施形態における分析装置300は、これ以外の構成は、本発明の第1の実施形態における分析装置100と同様とすることができる。
【0104】
本実施形態において、知識情報入力部130は、少なくとも振る舞いと目的との関係を含む知識情報を受付ける。知識情報入力部130によって新たに受付けられた知識情報は、例えば知識情報記憶部120に追加される。そして、知識情報記憶部120によって記憶された新たな知識情報は、目的推定部110にて振る舞いに対する目的を推定する場合に用いられる。
【0105】
このように、本実施形態における分析装置300は、知識情報入力部130を備えることで、知識情報入力部130によって新たに追加された知識情報を用いて、振る舞いに対する目的を推定することができる。したがって、本実施形態における分析装置300は、新たなマルウェアが検出された場合や、分析者によってマルウェアに対する分析が行われた場合に、それらに関する情報を知識情報に反映して目的を推定することが容易になる。
【0106】
なお、知識情報入力部130が受付ける知識情報は、振る舞いと目的との関係に限られない。知識情報入力部130は、振る舞いを実行する目的も受け付けることができる。また、知識情報入力部130は、振る舞いによって実現される機能、振る舞いと機能との関係、又は機能と目的との関係を受付けることができる。
【0107】
また、知識情報入力部130が受付ける知識情報は、知識情報記憶部120に記憶されなくともよい。知識情報入力部130が受付ける知識情報は、目的推定部110にて目的を推定する際に利用可能であればよい。
【0108】
次に、
図21を用いて、知識情報入力部130によって知識情報を受付ける手順の例を説明する。なお、以下の例では、知識情報入力部130は、振る舞いを実行する目的、振る舞いによって実現される機能、振る舞いと機能との関係、又は機能と目的との関係を受付けるものとする。
【0109】
知識情報入力部130は、最初に、知識情報記憶部120から、知識情報である、振る舞い、機能、目的及び関係の情報を各々読み出して取得する(ステップS301)。
【0110】
続いて、知識情報入力部130は、追加する知識情報を図示しない入力部などから受付ける(ステップS302)。
【0111】
続いて、知識情報入力部130は、受付けて追加する知識情報の種類を確認する(ステップS303)。受付ける知識情報が目的である場合、知識情報入力部130は、目的を受付けて知識情報記憶部120に追加する(ステップS304)。受付ける知識情報が機能である場合、知識情報入力部130は、機能を受付けて知識情報記憶部120に追加する(ステップS305)。ステップS304又はステップS305の処理が終わると、知識情報入力部130は、ステップS315の処理へ進む。また、受付ける知識情報が関係である場合、知識情報入力部130は、次のステップS306へ進む。
【0112】
ステップS306において、知識情報入力部130は、受付ける関係の種類を確認する。
図21に示す例では、知識情報入力部130は、知識情報記憶部120に追加する関係が、振る舞いと機能との関係か否かを確認する。知識情報記憶部120に追加する関係が、振る舞いと機能との関係である場合(ステップS306:Yes)、知識情報入力部130は、関係の追加対象となる振る舞いをステップS301にて取得した情報から選択する(ステップS307)。続いて、知識情報入力部130は、関係の追加対象となる機能をステップS301にて取得した情報から選択する(ステップS308)。続いて、知識情報入力部130は、ステップS307及びS308で各々選択された振る舞いと機能との関係が知識情報記憶部120に知識情報として存在するか否かを確認する(ステップS309)。当該関係が知識情報記憶部120に存在しない場合(ステップS309:No)、知識情報入力部130は、振る舞いと機能との関係を作成し知識情報記憶部120に追加する(ステップS310)。当該関係が知識情報記憶部120に既に存在する場合(ステップS309:Yes)、知識情報入力部130は、特に処理を行わない。ステップS309及びステップS310の処理が終わると、知識情報入力部130は、ステップS315の処理へ進む。
【0113】
一方、知識情報記憶部120に追加する関係が、振る舞いと機能との関係ではない場合(ステップS306:No)、知識情報入力部130は、機能と目的との関係を追加すると判断する。そして、知識情報入力部130は、関係の追加対象となる機能をステップS301にて取得した情報から選択する(ステップS311)。続いて、知識情報入力部130は、関係の追加対象となる目的をステップS301にて取得した情報から選択する(ステップS312)。
【0114】
続いて、知識情報入力部130は、ステップS311及びS312で各々選択された機能と目的との関係が知識情報記憶部120に知識情報として存在するか否かを確認する(ステップS313)。当該関係が知識情報記憶部120に存在しない場合(ステップS313:No)、知識情報入力部130は、機能と目的との関係を作成し知識情報記憶部120に追加する(ステップS314)。当該関係が知識情報記憶部120に既に存在する場合(ステップS313:Yes)、知識情報入力部130は、特に処理を行わない。ステップS313及びステップS314の処理が終わると、知識情報入力部130は、ステップS315の処理へ進む。
【0115】
最後に、知識情報入力部130は、他に追加する知識情報の有無を確認する(ステップS315)。追加する情報がある場合、知識情報入力部130は、ステップS302に戻って処理を継続する。追加する情報がない場合、知識情報入力部130は、処理を終了する。
【0116】
なお、知識情報入力部130は、図示しない表示装置等に入力画面を表示することで、知識情報を受付けることができる。
図22は、入力画面の例を示す。知識情報入力部130は、機能又は目的を受付ける場合に、例えば
図22(A)又は
図22(B)の各々のような入力画面を表示装置等に表示する。また、知識情報入力部130は、例えば関係を受付ける場合に、例えば
図22(C)のような入力画面を表示装置等に表示する。この場合に、分析装置300の利用者は、例えばこの入力画面に対し、振る舞いから機能まで、又は機能から目的をマウスでドラッグ操作を行うことで、登録したい関係を知識情報入力部130に与えることができる。
図22(C)における矢印は、マウスでドラッグ操作を行うことで、登録したい関係を知識情報入力部130に与える場合の例である。
【0117】
以上のとおり、本実施形態における分析装置300は、知識情報入力部130を備えることで、新たな知識情報を受付けることができる。そのため、本実施形態における分析装置300は、新たに受付けた知識情報を用いて振る舞いに対する目的を推定することができる。したがって、本実施形態における分析装置300は、目的を推定する精度を高めることができる。
【0118】
なお、本発明の第1及び第2の各実施形態における分析装置及びその変形例に関する構成は、本実施形態における分析装置300と互いに組み合わせて用いることができる。
【0119】
(第4の実施形態)
続いて、本発明の第4の実施形態について説明する。
図23は、本発明の第4の実施形態における分析装置400及び当該分析装置を含む分析システム等の構成を示す図である。
図24は、本発明の第4の実施形態における分析装置400によって予測される振る舞い又は機能の例を示す図である。
【0120】
図23に示すとおり、本発明の第4の実施形態における分析装置400は、目的推定部110と、知識情報記憶部120と、活動予測部140とを備える。目的推定部110及び知識情報記憶部120は、本発明の第1の実施形態における分析装置100と同様の機能を備える。活動予測部140は、知識情報記憶部120に記憶された知識情報に基づいて、目的推定部110にて推定された目的を実現する振る舞い又は機能を予測する。
【0121】
すなわち、本実施形態における分析装置400は、活動予測部140を備える点が、本発明の第1の実施形態における分析装置100と異なる。本実施形態における分析装置400は、これ以外の構成は、本発明の第1の実施形態における分析装置100と同様とすることができる。
【0122】
本実施形態において、活動予測部140は、知識情報記憶部120に記憶された知識情報に基づいて、目的推定部110にて推定された目的を実現する振る舞い又は機能を予測する。一例として、活動予測部140は、知識情報に基づいて推定された目的から、知識情報に含まれる関係を振る舞い又は機能に向かって推定時と逆に辿ることで、当該目的を実現する振る舞い又は機能を予測する。
【0123】
図24は、活動予測部140が振る舞い又は機能を予測する場合の一例を示す。この場合において、
図24の上側にあるように、まず、目的推定部110が、“MACT−2014−0010”との振る舞いから、「感染拡大」という機能を介して「DDoS攻撃帯域販売ビジネス」という目的を推定する。続いて、活動予測部140は、
図24の下側にあるように、当該目的を実現する振る舞い又は機能を予測する。例えば、活動予測部140は、「感染拡大」という機能を実現するために、更に、“MACT−2014−0005”及び“MACT−2014−0011”との振る舞いがあることを予測する。また、活動予測部140は、「DDoS攻撃帯域販売ビジネス」という目的を実現するために、「回線速度調査」と「攻撃」との機能があることを予測する。更に、活動予測部140は、「回線速度調査」との機能を実現するために、“MACT−2014−0012”及び“MACT−2014−0002”との振る舞いがあることを予測する。なお、活動予測部140は、予測された機能を実現するために行われる振る舞いに関する知識情報がない場合は、その旨を任意の形式で示す。一例として、
図24の例では、また、「攻撃」の機能を実現するために行われる振る舞いが知識情報に無いことは、雲のアイコンにて示されている。
【0124】
また、活動予測部140にて予測された振る舞いや機能は、任意の形式で出力される。
【0125】
あるマルウェアによって実現される目的が、振る舞いの異なる他のマルウェアによっても実現可能である場合、攻撃者は、当該他のマルウェアを用いて目的を実現しようとする可能性がある。すなわち、それまで検知されていたマルウェアの振る舞いが検知されなくなった場合、攻撃者は、振る舞いの異なる別のマルウェアを作成し実行している可能性がある。本実施形態における分析装置400は、このような場合に、活動予測部140が知識情報を用いることで、当該別のマルウェアによる振る舞いを予測することができる。したがって、分析装置400の利用者は、推定された目的と共に、予測される別の振る舞いを知ることができる。そのため、分析装置400の利用者は、例えば予測された振る舞いや機能に対する対策を講じることが可能となる。
【0126】
以上のとおり、本実施形態における分析装置400は、活動予測部140を備える。そして、本実施形態における分析装置400は、活動予測部140によって、推定された目的を実現する振る舞いや機能を予測する。したがって、本実施形態における分析装置400は、その利用者が、推定された目的から、その目的を実現する他のマルウェアの活動を予測することを可能とする。すなわち、分析装置400の利用者は、例えばマルウェアの振る舞いが検知装置等で検知された場合に、他のマルウェアの活動を予測して対策を講じることが可能となる。
【0127】
なお、本発明の第1から第3の各実施形態における分析装置及びその変形例に関する構成は、本実施形態における分析装置400と互いに組み合わせて用いることができる。
【0128】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。