IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧 ▶ ビー.ジー.ネゲブ テクノロジーズ アンド アプリケーションズ リミテッド, アット ベン‐グリオン ユニバーシティーの特許一覧

特許7473246攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム
<>
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図1
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図2
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図3
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図4
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図5
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図6
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図7
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図8
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図9
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図10
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図11
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図12
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図13
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図14
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図15
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図16
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図17
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図18
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図19
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図20
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図21
  • 特許-攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラム
(51)【国際特許分類】
   G06F 21/56 20130101AFI20240416BHJP
【FI】
G06F21/56
【請求項の数】 29
(21)【出願番号】P 2022541900
(86)(22)【出願日】2020-01-17
(65)【公表番号】
(43)【公表日】2023-03-09
(86)【国際出願番号】 JP2020001484
(87)【国際公開番号】W WO2021144954
(87)【国際公開日】2021-07-22
【審査請求日】2022-07-06
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(73)【特許権者】
【識別番号】518286264
【氏名又は名称】ビー.ジー.ネゲブ テクノロジーズ アンド アプリケーションズ リミテッド, アット ベン‐グリオン ユニバーシティー
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】井ノ口 真樹
(72)【発明者】
【氏名】柳生 智彦
(72)【発明者】
【氏名】シャブタイ アサフ
(72)【発明者】
【氏名】エロビッチ ユバル
(72)【発明者】
【氏名】ビットン ロン
(72)【発明者】
【氏名】ビンヤミニ ホダヤ
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2004-342072(JP,A)
【文献】国際公開第2014/208427(WO,A1)
【文献】特開2007-199966(JP,A)
【文献】三友 仁史 ほか,不正アクセス対策向け脆弱性情報の自動構築に向けた考察,第64回(平成14年)全国大会講演論文集(3) データベースとメディア ネットワーク,日本,社団法人情報処理学会,2002年03月12日,pp.3-377-3-378
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出する抽出手段と、
前記第1及び第2の攻撃情報の類似性を判断する判断手段と、
前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完する補完手段と、
を備
前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完することは、前記第2の攻撃ナレッジに含まれる一部の情報を前記第1の攻撃ナレッジに追加することである、
攻撃情報処理装置。
【請求項2】
前記第1及び第2の攻撃情報のそれぞれは、コンピュータシステムの脆弱性が記述された脆弱性情報である、
請求項1に記載の攻撃情報処理装置。
【請求項3】
前記第1及び第2の攻撃ナレッジのそれぞれは、前記サイバー攻撃の前提条件及び結果を含む、
請求項1または2に記載の攻撃情報処理装置。
【請求項4】
前記抽出手段は、前記第1及び第2の攻撃情報の文章を分割することによって得られた形態素の分散表現ベクトルを取得し、前記取得した分散表現ベクトルに基づいて前記第1及び第2の攻撃ナレッジを抽出する、
請求項1乃至3のいずれか一項に記載の攻撃情報処理装置。
【請求項5】
前記形態素は、一つの単語または複数の単語から構成される、
請求項4に記載の攻撃情報処理装置。
【請求項6】
前記抽出手段は、前記分散表現ベクトルを取得した形態素に対し、前記第1及び第2の攻撃ナレッジに関連するラベルを付与し、前記付与されたラベルに基づいて、前記第1及び第2の攻撃ナレッジを抽出する、
請求項4または5に記載の攻撃情報処理装置。
【請求項7】
前記抽出手段は、前記ラベルと前記攻撃ナレッジにおける条件との対応関係に基づいて、前記第1及び第2の攻撃ナレッジを抽出する、
請求項6に記載の攻撃情報処理装置。
【請求項8】
前記判断手段は、前記ラベルが付与された形態素ごとの分散表現ベクトルの差に基づいて、前記類似性を判断する、
請求項6または7に記載の攻撃情報処理装置。
【請求項9】
前記判断手段は、前記分散表現ベクトルの差の平均値または重み付き平均値に基づいて、前記類似性を判断する、
請求項8に記載の攻撃情報処理装置。
【請求項10】
前記判断手段は、前記第1及び第2の攻撃情報に含まれるコンポーネントの情報に基づいて前記類似性を判断する、
請求項1乃至9のいずれか一項に記載の攻撃情報処理装置。
【請求項11】
前記判断手段は、前記第1及び第2の攻撃情報のDescriptionに含まれる記述に基づいて前記類似性を判断する、
請求項1乃至10のいずれか一項に記載の攻撃情報処理装置。
【請求項12】
前記判断手段は、前記第1及び第2の攻撃情報に含まれる参照情報に基づいて前記類似性を判断する、
請求項1乃至11のいずれか一項に記載の攻撃情報処理装置。
【請求項13】
前記判断手段は、前記第1及び第2の攻撃情報に含まれる攻撃情報の識別情報に基づいて前記類似性を判断する、
請求項1乃至12のいずれか一項に記載の攻撃情報処理装置。
【請求項14】
前記判断手段は、前記第1及び第2の攻撃情報の文章の類似度に基づいて前記類似性を判断する、
請求項1乃至13のいずれか一項に記載の攻撃情報処理装置。
【請求項15】
前記類似度は、前記第1及び第2の攻撃情報における特定の単語の出現頻度、特定の単語の出現順序、またはそれらの統計情報を含む特徴量に基づいた類似度である、
請求項14に記載の攻撃情報処理装置。
【請求項16】
前記類似度は、前記特徴量のクラスタリングの結果の類似度である、
請求項15に記載の攻撃情報処理装置。
【請求項17】
前記判断手段は、前記類似度と所定値との比較結果に基づいて、前記類似性を判断する、
請求項14乃至16のいずれか一項に記載の攻撃情報処理装置。
【請求項18】
前記判断手段は、前記抽出された攻撃ナレッジに基づいて前記類似性を判断する、
請求項1乃至17のいずれか一項に記載の攻撃情報処理装置。
【請求項19】
前記判断手段は、前記第1及び第2の攻撃ナレッジに含まれる条件が互いに一致する割合に基づいて、前記類似性を判断する、
請求項18に記載の攻撃情報処理装置。
【請求項20】
前記第1及び第2の攻撃情報が互いに類似していると判断された場合、前記補完手段は、前記第1の攻撃ナレッジを補完する、
請求項1乃至19のいずれか一項に記載の攻撃情報処理装置。
【請求項21】
前記補完手段は、前記第1及び第2の攻撃情報の類似度に応じて、前記第1の攻撃ナレッジを補完する、
請求項1乃至19のいずれか一項に記載の攻撃情報処理装置。
【請求項22】
前記第1の攻撃ナレッジに含まれる条件が前記第2の攻撃ナレッジに含まれる条件と競合する場合、前記補完手段は、補完される前記第1の攻撃ナレッジに元から含まれていた条件を優先させながら、前記第1の攻撃ナレッジを補完する、
請求項1乃至21のいずれか一項に記載の攻撃情報処理装置。
【請求項23】
前記第1の攻撃情報は、分析対象の攻撃情報であり、前記第2の攻撃情報は、所定の攻撃情報に含まれる、
請求項1乃至22のいずれか一項に記載の攻撃情報処理装置。
【請求項24】
サイバー攻撃の記述を含む複数の攻撃情報から、前記サイバー攻撃の条件を示す複数の攻撃ナレッジを抽出する抽出手段と、
前記複数の攻撃情報と前記複数の攻撃ナレッジとの関係を学習した学習モデルを生成する学習手段と、
前記学習モデルを用いて、入力された攻撃情報から抽出される攻撃ナレッジを、前記入力された攻撃情報に類似する攻撃情報に基づいて、補完する補完手段と、
を備える、攻撃情報処理装置。
【請求項25】
前記補完された攻撃ナレッジに含まれる条件に基づいて実験環境を構築し、前記実験環境において前記サイバー攻撃の実験を行う攻撃実験手段と、
前記実験の結果に基づいて補完された攻撃ナレッジを補正する補正手段と、をさらに備える、
請求項1乃至23のいずれか一項に記載の攻撃情報処理装置。
【請求項26】
前記抽出手段、前記判断手段、または前記補完手段により、前記実験の結果に基づいて使用される学習モデルを生成する学習手段をさらに備える、
請求項25に記載の攻撃情報処理装置。
【請求項27】
サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出し、
前記第1及び第2の攻撃情報の類似性を判断し、
前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完
前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完することは、前記第2の攻撃ナレッジに含まれる一部の情報を前記第1の攻撃ナレッジに追加することである、
攻撃情報処理方法。
【請求項28】
前記第1及び第2の攻撃情報のそれぞれは、コンピュータシステムの脆弱性が記述された脆弱性情報である、
請求項27に記載の攻撃情報処理方法。
【請求項29】
サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出し、
前記第1及び第2の攻撃情報の類似性を判断し、
前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完
前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完することは、前記第2の攻撃ナレッジに含まれる一部の情報を前記第1の攻撃ナレッジに追加することである、
処理をコンピュータに実行させるための攻撃情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラムを格納する非一時的なコンピュータ可読媒体に関する。
【背景技術】
【0002】
近年、コンピュータシステムの脆弱性を攻撃するサイバー攻撃が著しく増加しているため、サイバーセキュリティへの脅威が高まっている。そのため、毎年、さらには、毎日、新たに発見される脆弱性に関連する攻撃情報に対応することが望まれている。
【0003】
例えば、関連する技術として、非特許文献1が知られている。非特許文献1は、脆弱性情報データベースであるNVD(National Vulnerability Database)から抽出された情報に基づいて攻撃グラフを生成する技術を開示している。非特許文献1では、キーワードマッチングおよび/または機械学習を用いて、NVDから攻撃条件が抽出されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】M.Ugur Aksu, Kemal Bicakci, M.Hadi Dilek, A.Murat Ozbayoglu, and E.Islam Tatli, "Automated Generation of Attack Graphs Using NVD", The Eighth ACM Conference on Data and Application Security and Privacy (CODASPY '18), 2018, P.135-142
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示された技術などの関連する技術では、キーワードマッチングおよび/または機械学習を用いて、一般に公開されている攻撃情報から攻撃条件が抽出される。しかしながら、関連する技術で抽出するように情報を抽出した場合、攻撃条件を含む攻撃ナレッジを得ることが困難な場合があるという問題がある。
【0006】
本開示の一つの目的は、このような課題に鑑み、より正確な攻撃ナレッジを得ることが可能な攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラムを格納する非一時的なコンピュータ可読媒体を提供することである。
【課題を解決するための手段】
【0007】
本開示に係る攻撃情報処理装置は、サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出する抽出部と、前記第1及び第2の攻撃情報の類似性を判断する判断部と、前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完する補完部と、を備える。
【0008】
本開示に係る攻撃情報処理装置は、サイバー攻撃の記述を含む複数の攻撃情報から、前記サイバー攻撃の条件を示す複数の攻撃ナレッジを抽出する抽出手段と、前記複数の攻撃情報と前記複数の攻撃ナレッジとの関係を学習した学習モデルを生成する学習手段と、前記学習モデルを用いて、入力された攻撃情報から抽出される攻撃ナレッジを、前記入力された攻撃情報に類似する攻撃情報に基づいて、補完する補完手段と、を備える。
【0009】
本開示に係る攻撃情報処理方法は、サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出し、前記第1及び第2の攻撃情報の類似性を判断し、前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完することを含む。
【0010】
本開示に係る攻撃情報処理プログラムが格納された非一時的なコンピュータ可読媒体は、サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出し、前記第1及び第2の攻撃情報の類似性を判断し、前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完する処理をコンピュータに実行させるための攻撃情報処理プログラムが格納された非一時的なコンピュータ可読媒体である。
【発明の効果】
【0011】
本開示によれば、より正確な攻撃ナレッジを得ることが可能な攻撃情報処理装置、攻撃情報処理方法及び攻撃情報処理プログラムを格納する非一時的なコンピュータ可読媒体を提供することができる。
【図面の簡単な説明】
【0012】
図1図1は、実施の形態で使用される攻撃情報の例を示している。
図2図2は、関連する攻撃ナレッジ生成方法を示している。
図3図3は、実施の形態に係る攻撃情報処理装置の概要を示す構成図である。
図4図4は、実施の形態に係る攻撃ナレッジ生成方法の概要を示している。
図5図5は、実施の形態1に係る攻撃情報処理システムの構成例を示す構成図である。
図6図6は、実施の形態1に係る情報抽出部の構成例を示す構成図である。
図7図7は、実施の形態1に係る類似性判断部の構成例を示す構成図である。
図8図8は、実施の形態1に係る攻撃情報処理システムによって実行される動作例を示すフローチャートである。
図9図9は、実施の形態1に係る情報抽出処理の例を示すフローチャートである。
図10図10は、実施の形態1に係る類似性判断処理の例を示すフローチャートである。
図11図11は、実施の形態1に係る情報補完処理の例を示すフローチャートである。
図12図12は、実施の形態1に係る攻撃ナレッジ生成規則の具体例を示している。
図13図13は、実施の形態1に係る類似性判断基準の具体例を示している。
図14図14は、実施の形態1に係る情報補完処理の具体例を示している。
図15図15は、実施の形態1に係る情報補完処理の具体例を示している。
図16図16は、実施の形態2に係る攻撃情報処理システムの構成例を示す構成図である。
図17図17は、実施の形態2に係る攻撃情報処理システムによって実行される動作例を示している。
図18図18は、実施の形態3に係る攻撃情報処理システムの構成例を示す構成図である。
図19図19は、実施の形態3に係る攻撃情報処理システムによって実行される動作例を示している。
図20図20は、実施の形態4係る攻撃情報処理システムの構成例を示す構成図である。
図21図21は、実施の形態4に係る攻撃情報処理システムによって実行される動作例を示している。
図22図22は、実施の形態に係るコンピュータのハードウェア構成の概要を示す構成図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本開示に係る実施の形態を説明する。各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略される。
【0014】
(実施の形態に至る検討)
まず、実施の形態で使用される攻撃情報について説明する。攻撃情報の代表的な例は、脆弱性情報である。脆弱性情報は、例えば、CVE(Common Vulnerabilities and Exposures)である。CVEには、CVE-IDが割り当てられ、CVE-IDごとにNVDなどのインターネット上の脆弱性情報データベースで公開されている。
【0015】
図1は、脆弱性情報データベースで公開されている攻撃情報(脆弱性情報)の具体例を示している。図1に示すように、攻撃情報には、それぞれの攻撃情報に割り当てられた“CVE-ID”、それぞれの攻撃情報について記述された“Description”、それぞれの攻撃情報の参考情報を示す“References”等が含まれる。このように、攻撃情報の具体的な内容は、“Description”に自然言語で記述されており、構造化されていない。このため、攻撃情報を処理しない限り、攻撃情報をコンピュータシステムに取り込んでセキュリティ対策等に利用することができない。
【0016】
そこで、発明者らは、自然言語で記述された攻撃情報から、コンピュータシステムで使用可能な攻撃ナレッジを生成する方法を検討した。攻撃ナレッジとは、攻撃の条件を示す情報であり、攻撃の前提条件、すなわち攻撃の事前条件と、攻撃結果、すなわち攻撃の事後条件とを含む情報である。
【0017】
関連する技術では、キーワードマッチングおよび/または機械学習を用いることで、攻撃情報から攻撃ナレッジが生成される。しかしながら、図1に示すように、一般に公開されている攻撃情報(情報源)は、詳細に記述されていないことが多い。そのため、発明者らは、関連する技術では、図2に示すように、一般に公開されている攻撃情報から攻撃ナレッジを単純に抽出すると、正確な攻撃ナレッジを得ることができないという課題を見出した。例えば、図2の例では、攻撃情報に“Software”と“Config”という用語が含まれるため、攻撃ナレッジとして、正しい条件“Software”と“Config”を得ることができる。しかし、“Open Port”と“Library”という用語が攻撃情報に含まれていないため、正しい条件を得ることができない。
【0018】
そこで、以下に示す実施の形態では、攻撃情報が詳細に記述されていない場合でも、より正確な攻撃ナレッジを得ることを可能とする。
【0019】
(実施の形態の概要)
図3は、実施の形態に係る攻撃情報処理装置10の概要を示している。図3に示すように、攻撃情報処理装置10は、抽出部11、判断部12、補完部13を備える。
【0020】
抽出部11は、サイバー攻撃の記述を含む第1及び第2の攻撃情報から、サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出する。例えば、第1の攻撃情報は分析対象の攻撃情報(新しい攻撃情報)であり、第2の攻撃情報は所定の攻撃情報(可能な限りすべての既知の攻撃情報)に含まれる。判断部12は、第1及び第2の攻撃情報の類似性を判断する。補完部13は、判断部12により判断された類似性に基づいて、第1及び第2の攻撃ナレッジの一方を、他方の攻撃ナレッジで補完する。
【0021】
このように、実施の形態では、攻撃ナレッジは、複数の攻撃情報から抽出され、抽出された攻撃ナレッジは、複数の攻撃情報の類似性に基づいて補完される。例えば、図4に示すように、第1の攻撃情報と第2の攻撃情報は互いに類似しており、第1の攻撃情報に“Port”と“Library”という用語が含まれ、第2の攻撃情報に“Port”と“Library”という用語が含まれないとする。この場合、第2の攻撃ナレッジは、第1の攻撃ナレッジで得られた(第1の攻撃情報から取得された)条件“Open Port”と“Library”により補完される。このように、複数の攻撃情報(情報源)を組み合わせることにより、欠けている情報を補完する(すなわち埋める)ことができ、より正確な攻撃ナレッジを得ることができる。
【0022】
(実施の形態1)
以下、図面を参照して実施の形態1を説明する。図5は、本実施の形態に係る攻撃情報処理システム1の構成例を示している。本実施の形態に係る攻撃情報処理システム1は、公開されている複数の攻撃情報から複数の攻撃ナレッジを生成するシステムである。
【0023】
図5に示すように、攻撃情報処理システム(または攻撃情報処理装置)1は、攻撃ナレッジ生成装置100、攻撃情報DB(データベース)200、および攻撃ナレッジDB300を備えている。攻撃情報DB200と攻撃ナレッジDB300は、攻撃ナレッジ生成装置100にインターネット等のネットワークを介して接続されていてもよいし、攻撃ナレッジ生成装置100に直接接続されていてもよい。あるいは、攻撃ナレッジ生成装置100、攻撃情報DB200、攻撃ナレッジDB300を含む装置を使用してもよい。
【0024】
攻撃情報DB200は、脆弱性情報など、一般に公開されている攻撃情報を記憶するデータベースである。攻撃情報DB200は、CVEやNVD、JVN(Japan Vulnerability Notes)などのように公の組織によって公開されるデータベース、または、セキュリティベンダーやその他のベンダーによって公開されるデータベースである。また、攻撃情報DB200は、複数の攻撃情報を公開していれば、データベースに限らず、例えばブログでもよい。
【0025】
攻撃情報は、自然言語で記述された文章を含む攻撃関連情報である。例えば、攻撃情報は、図1で示したようなコンピュータシステムの脆弱性を記述した脆弱性情報である。攻撃情報は、脆弱性情報に限らず、サイバー攻撃に関連するその他の種類の情報でもよい。例えば、攻撃情報は、脆弱性があるとは認識されていないが、攻撃されるリスクのあるプロトコルの仕様等でもよい。
【0026】
攻撃ナレッジDB300は、攻撃ナレッジ生成装置100によって生成された攻撃ナレッジを記憶する記憶装置である。攻撃ナレッジは、攻撃情報DB200に記憶された攻撃情報に対応しており、上記のように前提条件と攻撃結果を含んでいる。例えば、前提条件は、使用されているポート、使用されているソフトウェア・ライブラリ等である。さらに、攻撃結果は、コード実行、特権昇格、ファイルアクセス等である。
【0027】
攻撃ナレッジ生成装置100は、攻撃情報取得部110、情報抽出部120、類似性判断部130、補完情報生成部140、および記憶部150を備えている。なお、攻撃ナレッジ生成装置100は、後述の動作が可能であれば、その他の構成でもよい。
【0028】
攻撃情報取得部110は、攻撃情報DB200から複数の攻撃情報を取得する。例えば、攻撃情報取得部110は、インターネットを介して、NVDなどのデータベースにアクセスし、データベースに登録されている攻撃情報を取得する。
【0029】
情報抽出部120は、攻撃情報取得部110によって取得された攻撃情報に基づいて攻撃ナレッジを生成する。情報抽出部120は、攻撃情報から、自然言語で記述された文章を含む情報を抽出し、それにより、あらかじめ決められた形式で攻撃ナレッジを生成する。情報抽出部120は、生成された攻撃ナレッジを攻撃ナレッジDB300に格納する。
【0030】
類似性判断部130は、複数の攻撃情報の類似性を判断する。類似性判断部130は、攻撃情報取得部110によって取得された攻撃情報を用いて類似性を判断してもよいし、情報抽出部120によって抽出された情報を用いて類似性を判断してもよい。類似性判断部130は、一つの判断基準に基づいて類似性を判断してもよいし、複数の判断基準を組み合わせることによって類似性を判断してもよい。
【0031】
補完情報生成部140は、類似する攻撃情報の攻撃ナレッジに基づいて、攻撃ナレッジを補完する。補完情報生成部140は、複数の攻撃情報が類似すると判断された場合、類似する攻撃情報の攻撃ナレッジの情報を用いることによって(すなわち、他の攻撃情報の攻撃ナレッジを用いることによって)、それぞれの攻撃ナレッジを補完する。補完情報生成部140は、攻撃ナレッジDB300に格納されている攻撃ナレッジを類似性(類似度)にしたがって、補完し更新する。
【0032】
記憶部150は、攻撃ナレッジ生成装置100によって実行される動作(処理)に必要な情報を記憶する。例えば、記憶部150は、フラッシュメモリなどの不揮発性メモリやハードディスク装置等でもよい。例えば、記憶部150は、取得した攻撃情報や、情報抽出の処理に必要な学習モデル等を記憶する。なお、必要に応じて学習モデル等を外部から取得してもよい。
【0033】
図6は、情報抽出部120の構成例を示している。図6に示すように、例えば、情報抽出部120は、表現(Representation)部121、抽出(Extraction)部122、および導出(Derivation)部123を備えている。表現部121は、入力される攻撃情報に含まれる各単語の分散表現ベクトルを取得する分散表現ベクトル生成部である。抽出部122は、分散表現ベクトルの系列に変換された攻撃情報における各単語にラベルを付けるラベル付与部である。導出部123は、付与されたラベルに基づいて、あらかじめ決められた規則に従って攻撃ナレッジを生成する攻撃ナレッジ生成部である。
【0034】
図7は、類似性判断部130の構成例を示している。図7に示すように、例えば、類似性判断部130は、特定部131、判断部132を備えている。特定部131は、類似性を判断するための判断基準を特定する。判断部132は、特定された判断基準にしたがって、複数の攻撃情報の類似性(類似度)を判断する。
【0035】
次に、本実施の形態に係る攻撃情報処理システム1によって実行される動作について説明する。図8は、本実施の形態に係る攻撃情報処理システム1において、攻撃情報の取得から、補完された攻撃ナレッジの生成までの流れを示している。図9は、図8に示される情報抽出処理(S102)の流れを示し、図10は、図8に示される類似性判断処理(S103)の流れを示している。また、図11は、図8に示される情報補完処理(S105)の流れを示している。
【0036】
図8に示すように、まず、攻撃ナレッジ生成装置100は、攻撃情報を取得し(S101)、取得した攻撃情報から情報を抽出する(S102)。攻撃情報取得部110が、攻撃情報DB200から複数の攻撃情報を取得すると、情報抽出部120は、取得された複数の攻撃情報から情報を抽出し、抽出した情報から複数の攻撃ナレッジを生成する。
【0037】
情報抽出処理(S102)では、図9に示すように、表現部121は、データ表現(Data Representation)処理を行う(S111)。表現部121は、取得された攻撃情報に含まれる文章を単語(形態素)に分割し、分割した各単語の分散表現ベクトルを取得する。分散表現ベクトルは、Word2Vec(skip-gram, CBoW(Countinuous Bag-of-Words))などの分散表現ツールを使用することにより取得できる。なお、一つの分散表現ベクトルを取得する単位(形態素)は一つの単語でもよいし、複数の単語から構成されてもよい。例えば、“Denial of service(サービスの拒否)”など複数の単語からなる一般的に使用されるフレーズを一つの単語とみなして、そのようなフレーズから一つの分散表現ベクトルを取得してもよい。表現部121は、例えば、事前に複数の攻撃情報における分散表現を学習した学習モデルを生成し、生成された学習モデルを記憶部150に格納する。そして、表現部121は、格納された分散表現学習モデルを使用することにより、入力される攻撃情報における分散表現ベクトルを取得する。
【0038】
次に、抽出部122は、エンティティ抽出(Entity Extraction)処理を行う(S112)。抽出部122は、分散表現ベクトルが取得された攻撃情報における各単語に対し、攻撃ナレッジに関連するラベルを付与する。ラベルは、攻撃ナレッジの条件に対応している。例えば、ラベルは、ソフトウェア、バージョン、OS、プロトコル、ポート、攻撃手段、攻撃結果、攻撃ベクトル、認証、権限、セキュリティ機構等に対応する。なお、一つの単語に複数のラベルを付与してもよい。抽出部122は、例えば、事前に単語のラベルを示す教師データを学習した学習モデルを生成し、学習モデルを記憶部150に格納する。そして、抽出部122は、格納されたラベル学習モデルを使用することにより、分散表現ベクトルが取得された単語にラベルを付与する。
【0039】
次に、導出部123は、インサイト導出(Insights Derivation)処理を行う(S113)。導出部123は、付与されたラベルに基づいて、ラベルを攻撃ナレッジの条件に関連付ける規則に従って攻撃ナレッジを生成する。図12は、ラベルから攻撃ナレッジを生成するための規則の例を示している。図12に示すような変換規則をあらかじめ記憶部150に記憶しておき、記憶された変換規則を用いて攻撃ナレッジが生成される。図12に示すように、例えば、変換規則では、各ラベルに、攻撃ナレッジの条件のタイプと条件の詳細が関連付けられている。条件のタイプは、前提条件(pre-condition)または攻撃結果(post-condition)を示す。
【0040】
規則1は、単語のラベルが“ソフトウェア”である場合の規則の例である。規則1にしたがうと、例えば、導出部123は、単語“ブラウザA”にラベル“ソフトウェア”が付与されている場合、条件{pre-condition,“ブラウザA”がインストールされている}を攻撃ナレッジに組み込む。
【0041】
規則2は、単語のラベルが“ポート”である場合の規則の例である。規則2にしたがうと、例えば、導出部123は、単語“ポート120”にラベル“ポート”が付与されている場合、条件{pre-condition,“ポート120”が開いている}を攻撃ナレッジに組み込む。
【0042】
規則3は、単語のラベルが“攻撃結果”である場合の規則の例である。規則3にしたがうと、例えば、導出部123は、単語“コード実行”にラベル“攻撃結果”が付与されている場合、攻撃ナレッジに条件{post-condition,“コード実行”が可能となる}を攻撃ナレッジに組み込む。
【0043】
次に、攻撃ナレッジ生成装置100は、攻撃情報の類似性を判断する(S103)。上記のように、情報抽出部120が、攻撃情報に基づいて攻撃ナレッジを生成すると、類似性判断部130は、攻撃情報を補完可能か否か判断するため、攻撃情報の類似性を判断する。なお、類似性は、攻撃情報に基づいて判断してもよいし、情報抽出処理によって得られた情報に基づいて判断してもよいため、類似性判断処理は、情報抽出処理の後に行ってもよいし、情報抽出処理と同時に行ってもよい。
【0044】
類似性判断処理(S103)では、図10に示すように、特定部131は、類似性を判断するための判断基準を特定し(S121)、判断部132は、その特定された判断基準にしたがって、複数の攻撃情報の類似性を判断する。なお、類似性判断処理では、複数の攻撃情報が互いに類似しているか否かを判断してもよいし、複数の攻撃情報の類似度を判断してもよい。
【0045】
図13は、複数の攻撃情報の類似性を判断するための判断基準の例を示している。図13に示すような判断基準をあらかじめ記憶部150に記憶しておき、記憶された判断基準を用いて類似性を判断する。例えば、特定部131は、図13に示すような判断要素と判断条件を含む判断基準のうち少なくとも一つを選択する。さらに、判断部132は、選択された判断基準に従って類似性を判断する。複数の判断基準は、判断処理のためにAND条件を使用して組み合わせてもよいし、判断処理のためにOR条件を使用して組み合わせてもよい。
【0046】
基準1は、攻撃情報の対象コンポーネントが類似性を判断するための要素として使用される判断基準の例である。コンポーネントの情報は、攻撃情報に含まれる情報から直接取得してもよいし、情報抽出部120によって抽出された情報(ラベル付けされた単語や生成された攻撃ナレッジ)から取得してもよい。例えば、コンポーネントは、ソフトウェア、ミドルウェア、ハードウェア等でもよい。なお、コンポーネントは、判断要素の単位の一例である。すなわち、判断要素の単位は、コンポーネントに限らず、モジュール、ライブラリ等でもよい。基準1にしたがうと、例えば、判断部132は、複数の攻撃情報から得られる脆弱性のあるコンポーネントが互いに同一であれば、複数の攻撃情報が互いに類似すると判断する。なお、コンポーネントは互いに同一である必要はない。すなわち、判断部132は、コンポーネントが互いに関連している場合に、攻撃情報が互いに類似すると判断してもよい。
【0047】
基準2は、情報抽出部120から出力された攻撃ナレッジが類似性を判断するための要素として使用される判断基準の例である。判断部132は、攻撃ナレッジの一つに含まれる前提条件及び攻撃結果が、他の攻撃ナレッジに含まれるものと同一であるか否かを判断する。基準2にしたがうと、例えば、判断部132は、情報抽出部120によって生成された複数の攻撃ナレッジに含まれる全ての前提条件及び攻撃結果の数に対し、同じ前提条件及び攻撃結果の数の割合が所定の閾値以上の場合、複数の攻撃情報は互いに類似すると判断する。
【0048】
基準3は、攻撃情報に含まれる文章の類似度を判断要素として使用する判断基準の例である。すなわち、攻撃情報の“Description”の記述に基づいて類似性を判断する。例えば、攻撃情報の文章に含まれる特定の単語の出現頻度や出現順序、その統計情報などの特徴量を類似度として使用する。そして、類似度と所定の閾値との比較結果に基づいて類似性を判断する。基準3にしたがうと、例えば、判断部132は、複数の攻撃情報の“Description”に記述された文章の特徴量を算出する。そして、判断部132は、算出された類似度が所定の閾値以上である場合、複数の攻撃情報は互いに類似すると判断する。
【0049】
基準4は、攻撃情報における文章のクラスタリング結果を判断要素として使用する判断基準の例である。例えば、基準3と同様に、攻撃情報の文章に含まれる特定の単語の出現頻度や出現順序、その統計情報などを特徴量として使用する。そして、特徴量に基づいてクラスタリングを行う。このクラスタリングの結果を類似度として使用する。基準4にしたがうと、例えば、判断部132は、複数の攻撃情報の“Description”に記述された文章の特徴量を算出し、算出された特徴量に基づいてクラスタリングを行う。そして、判断部132は、複数の攻撃情報が同じクラスタに分類された場合、複数の攻撃情報は互いに類似すると判断する。
【0050】
基準5は、情報抽出部120によって抽出された攻撃情報における単語の分散表現ベクトルを判断要素として使用する判断基準の例である。単語の分散表現ベクトルが近い(または類似している)場合、単語が互いに類似していると考えられる。このため、分散表現ベクトルの差に基づいて類似性を判断する。基準5にしたがうと、例えば、判断部132は、情報抽出部120によりラベル付けされた複数の攻撃情報における文章中の要素(単語)ごとに、その要素の分散表現ベクトルの差を決定する。これらの要素の分散表現ベクトルの差の平均値または重み付き平均値を類似度として使用する。そして、判断部132は、この類似度が所定の閾値以下である場合、複数の攻撃情報は互いに類似すると判断する。
【0051】
基準6は、対象の攻撃情報の文章中で参照されている、または対象の攻撃情報を参照している別の攻撃情報を判断要素として使用する判断基準の例である。すなわち、攻撃情報に含まれる参照情報に基づいて類似性を判断する。例えば、攻撃情報の文章から抽出される攻撃情報の識別子に基づいて類似性を判断する。例えば、攻撃情報がCVEの場合、その識別子はCVE-IDである。基準6にしたがうと、例えば、判断部132は、複数の攻撃情報の“Description”内で参照されている識別子を取得する。そして、判断部132は、取得した識別子が互いに同じ場合、複数の攻撃情報は類似していると判断する。なお、攻撃情報で参照されている情報は、攻撃情報の“Description”内で参照されている情報に限らず、攻撃情報の“References”内で参照されている情報でもよい。また、攻撃情報にCVE互換情報や脆弱性分類情報等がある場合、それらを参照してもよい。
【0052】
基準7は、攻撃情報の識別子を判断要素とする判断基準の例である。すなわち、攻撃情報に含まれる、攻撃情報の識別情報に基づいて類似性を判断する。別の情報源が同じ攻撃情報について公開する場合がある。このため、攻撃情報の識別子に基づいて類似性を判断する。基準6と同様に、例えば、攻撃情報がCVEの場合、識別子はCVE-IDである。基準7にしたがうと、例えば、判断部132は、複数の攻撃情報の“CVE-ID”に記述されたCVE-IDを取得する。そして、判断部132は、CVE-IDが同じ場合、複数の攻撃情報は類似すると判断する。
【0053】
次に、攻撃ナレッジ生成装置100は、類似性があるか否か判断する(S104)。そして、複数の攻撃情報に類似性がある場合、攻撃ナレッジ生成装置100は、攻撃ナレッジの情報を補完する(S105)。上記のように、類似性判断部130により複数の攻撃情報が互いに類似していると判断された場合、補完情報生成部140は、それらに含まれる情報を用いて、攻撃情報の前提条件及び攻撃結果を補完する。
【0054】
なお、類似性の有無を判断した結果、類似性がある場合に情報を補完してもよいし、類似度に応じて情報を補完してもよい。例えば、所定の閾値よりも高い類似度を有する攻撃情報のみを用いることによって情報を補完してもよい。閾値を下げることによって、攻撃ナレッジの条件の数を増やすことができる。逆に、閾値を上げることによって、攻撃ナレッジの条件を絞り込むことができる。この閾値は、保護すべき資産および/またはそのリスクに応じて定義してもよい。
【0055】
情報補完処理(S105)では、図11に示すように、補完情報生成部140は、補完される情報の間に競合(Conflict)があるか否かを判断する(S131)。攻撃ナレッジに元から(オリジナルに)含まれていた条件とその攻撃ナレッジに追加する条件とが、攻撃の条件として互いに共存できない場合、競合が有ると判断する。すなわち、両方の条件が存在するためにAND条件が成立しない場合、競合がある。例えば、コンポーネントがオペレーティングシステムAであるという条件と、コンポーネントがオペレーティングシステムBであるという条件は、同時に成立しないため、競合があると判断する。
【0056】
補完する情報に競合がない場合、補完情報生成部140は、複数の攻撃ナレッジの情報を互いに補完する(S132)。例えば、図14に示すように、攻撃情報AiとAjが互いに類似すると判断された場合、補完情報生成部140は、攻撃情報Aiに含まれる一部の情報を使って攻撃ナレッジAjを補完し、攻撃情報Ajに含まれる一部の情報を使って攻撃ナレッジAiを補完する。
【0057】
この例では、攻撃情報Aiの攻撃ナレッジに前提条件または攻撃結果として“www”及び“vvv”が含まれ、攻撃情報Ajの攻撃ナレッジに前提条件または攻撃結果として“yyy”及び“zzz”が含まれている。そして、攻撃情報Aiの攻撃ナレッジに、攻撃情報Ajの攻撃ナレッジに含まれる“yyy”及び“zzz”を追加し、攻撃情報Ajの攻撃ナレッジに、攻撃情報Aiの攻撃ナレッジに含まれる“www”及び“vvv”を追加する。
【0058】
一方、補完する情報に競合がある場合、補完情報生成部140は、補完される攻撃ナレッジに元から(オリジナルに)含まれていた情報を優先させながら、情報を補完する(S133)。例えば、図15に示すように、攻撃情報AiとAjが互いに類似しており、攻撃情報AiとAjの一部が互いに競合していると判断された場合、補完情報生成部140は、競合する情報は追加しない。すなわち、補完情報生成部140は、競合する情報以外の情報を使って攻撃情報を補完する。
【0059】
この例では、攻撃情報Aiの攻撃ナレッジに前提条件または攻撃結果として“www1”及び“vvv”が含まれ、攻撃情報Ajの攻撃ナレッジに前提条件または攻撃結果として“www2”及び“zzz”が含まれている。このとき、“www1”と“www2”に競合があるとする。そして、攻撃情報Aiの攻撃ナレッジに対し、攻撃情報Ajの攻撃ナレッジに含まれる条件のうち、競合がある“www2”は追加しない。すなわち、攻撃情報Aiの攻撃ナレッジに対し、競合がない“zzz”のみを追加する。また、攻撃情報Ajの攻撃ナレッジに対し、攻撃情報Aiの攻撃ナレッジに含まれる条件のうち、競合がある“www1”は追加しない。すなわち、攻撃情報Ajの攻撃ナレッジに対し、競合がない“vvv”のみを追加する。
【0060】
以上のように、本実施の形態では、脆弱性情報などの一般に公開されている攻撃情報から前提条件及び攻撃結果を含む攻撃ナレッジを生成し、類似している攻撃情報を用いて、生成された攻撃ナレッジを補完する。このように、攻撃情報が詳細に記述されていない場合でも、他の攻撃情報に含まれる条件を用いることにより攻撃ナレッジを補完することで、より正確な攻撃ナレッジを生成することができる。
【0061】
(実施の形態2)
次に、図面を参照して実施の形態2を説明する。図16は、本実施の形態に係る攻撃情報処理システム2の構成例を示している。図16に示すように、攻撃情報処理システム2は、実施の形態1の場合と同様、攻撃ナレッジ生成装置100、攻撃情報DB200、および攻撃ナレッジDB300を備えている。
【0062】
攻撃ナレッジ生成装置100は、実施の形態1の構成と比べて、さらに訓練部160を備え、類似性判断部130及び補完情報生成部140の代わりに、類似性判断及び補完情報生成部170を備えている。
【0063】
訓練部160は、攻撃情報と情報抽出部120によって生成された攻撃ナレッジを学習(訓練)する学習部である。類似性判断及び補完情報生成部170は、訓練部160によって訓練された学習モデルを使用することにより、類似性判断部130及び補完情報生成部140と同様の機能を実現する。
【0064】
図17は、本実施の形態に係る攻撃情報処理システム2によって実行される動作の流れを示している。図17に示すように、情報抽出部120は、実施の形態1と同様に、攻撃情報から攻撃ナレッジを生成する(S201)。次に、訓練部160は、攻撃情報と情報抽出部120によって生成された攻撃ナレッジを学習し、それによって学習モデルを生成する(S202)。次に、類似性判断及び補完情報生成部170は、訓練部160によって訓練された学習モデルを使用して、類似度を判定し、補完情報を生成する(S203)。類似性判断及び補完情報生成部170は、学習モデルを用いて入力された攻撃情報から攻撃ナレッジを抽出し、抽出された攻撃ナレッジをその入力された攻撃情報に類似する攻撃情報に基づいて補完する。類似性の判断方法や情報の補完方法は、実施の形態1と同様である。
【0065】
本実施の形態では、学習モデルは、攻撃情報と情報抽出部からの出力を使って補完された攻撃ナレッジを直接的に出力するように学習する。例えば、生成される攻撃ナレッジごと(攻撃条件ごとなど)に別々の学習モデルを生成する。これにより、類似度判定と補完情報生成を同時に実現することができる。
【0066】
(実施の形態3)
次に、図面を参照して実施の形態3を説明する。図18は、本実施の形態に係る攻撃情報処理システム3の構成例を示している。図18に示すように、攻撃情報処理システム3は、実施の形態1及び2の場合と同様、攻撃ナレッジ生成装置100、攻撃情報DB200、および攻撃ナレッジDB300を備え、さらに、攻撃実験装置400を備えている。
【0067】
攻撃実験装置400は、攻撃実験部401及び情報補正部402を備えている。攻撃実験部401は、攻撃ナレッジ生成装置100によって生成された攻撃ナレッジを用いて攻撃実験を行う。情報補正部402は、攻撃実験部401による攻撃の結果に基づいて攻撃ナレッジを補正する。
【0068】
図19は、本実施の形態に係る攻撃情報処理システム3によって実行される動作の流れを示している。図19に示すように、攻撃ナレッジ生成装置100は、実施の形態1及び2と同様、攻撃情報から攻撃ナレッジを抽出し、攻撃情報の類似性を判断し、攻撃情報の類似性に基づいて攻撃ナレッジを補完する(S301)。
【0069】
次に、攻撃実験部401は、攻撃ナレッジ生成装置100によって生成された攻撃ナレッジを用いて攻撃実験を行う(S302)。攻撃実験部401は、補完された攻撃ナレッジに含まれる条件に基づいて攻撃環境を構築する。さらに、攻撃実験部401は、攻撃ナレッジに含まれる条件からその攻撃環境において実際に攻撃できるか否かを観察し、また攻撃の結果を観察する。
【0070】
次に、情報補正部402は、攻撃実験部401による攻撃の結果に基づいて攻撃ナレッジを補正する(S303)。情報補正部402は、観察された情報に基づいて攻撃ナレッジを補正する。例えば、攻撃実験が失敗した場合、攻撃ナレッジに含まれる一部の条件を補正し、補正された攻撃ナレッジを用いてさらに攻撃実験を行う。これらの処理は、攻撃実験が成功するまで繰り返される。
【0071】
本実施の形態では、実施の形態1及び2の構成に加えて、補完された攻撃ナレッジを用いることにより攻撃実験を行う。そうすることにより、攻撃ナレッジの生成精度をさらに向上することができる。
【0072】
(実施の形態4)
次に、図面を参照して実施の形態4を説明する。図20は、本実施の形態に係る攻撃情報処理システム4の構成例を示している。図20に示すように、攻撃情報処理システム4は、実施の形態3の場合と同様、攻撃ナレッジ生成装置100、攻撃情報DB200、攻撃ナレッジDB300、および攻撃実験装置400を備え、さらに、学習装置500を備えている。学習装置500は、攻撃実験装置400によって補正された攻撃ナレッジを学習する。学習モデルは、情報抽出部120によって実行される情報抽出処理、類似性判断部130によって実行される類似性判断処理、補完情報生成部140によって実行される情報補完処理において、使用される。
【0073】
図21は、本実施の形態に係る攻撃情報処理システム4によって実行される動作の流れを示している。図21に示すように、攻撃ナレッジ生成装置100は、実施の形態1及び2と同様、攻撃情報から攻撃ナレッジを抽出し、攻撃情報の類似性を判断し、攻撃情報の類似性に基づいて攻撃ナレッジを補完する(S401)。次に、攻撃実験装置400は、実施の形態3と同様、攻撃実験を行い(S402)、攻撃実験の結果に基づいて攻撃ナレッジを補正する(S403)。
【0074】
次に、学習装置500は、攻撃実験装置400によって補正された攻撃ナレッジを学習し、それによって学習モデルを生成する(S404)。その後、生成された学習モデルを用いて、攻撃ナレッジ生成装置100は、情報を抽出し、類似性を判断し、補完情報を生成する。学習モデルは、情報抽出処理、類似性判断処理、補完情報生成処理の一部または全てにおいて、使用される。
【0075】
本実施の形態では、攻撃実験の結果を情報抽出部および/または類似性判断部にフィードバックすることにより、攻撃ナレッジの生成精度をさらに向上することができる。
【0076】
なお、上述の実施形態における各構成は、ソフトウェア、ハードウェア、またはそれらの両方によって構成されてもよい。さたに、各構成は、1つのハードウェアデバイスまたは1つのソフトウェアプログラムから構成されてもよいし、複数のハードウェアデバイス又はソフトウェアプログラムから構成されてもよい。図22に示すように、各装置及び各機能(各処理)は、CPU(Central Processing Unit)等のプロセッサ21、及びメモリ22、すなわち記憶装置を有するコンピュータ20によって実現されてもよい。例えば、メモリ22に実施形態における方法を行うためのプログラム(攻撃情報処理プログラム)を格納し、各機能を、メモリ22に格納されたプログラムをプロセッサ21で実行することにより実現してもよい。
【0077】
プログラムは、任意のタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに格納及び供給することができる。非一時的なコンピュータ可読媒体は、任意のタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフロッピーディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(compact disc read only memory)、CD-R(compact disc recordable)、CD-R/W(compact disc rewritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、任意のタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、有線通信路(例えば電線、光ファイバ)又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0078】
なお、本開示は上記実施の形態に限られたものではなく、本開示のスコープ及び趣旨から逸脱することなく必要に応じて変更することが可能である。
【0079】
実施の形態を参照して、本開示を上記で説明したが、本開示は上記実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0080】
上記開示された実施形態の全部又は一部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出するように構成された抽出部と、
前記第1及び第2の攻撃情報の類似性を判断するように構成された判断部と、
前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完するように構成された補完部と、
を備える、攻撃情報処理装置。
(付記2)
前記第1及び第2の攻撃情報のそれぞれは、コンピュータシステムの脆弱性が記述された脆弱性情報である、
付記1に記載の攻撃情報処理装置。
(付記3)
前記第1及び第2の攻撃ナレッジのそれぞれは、前記サイバー攻撃の前提条件及び結果を含む、
付記1または2に記載の攻撃情報処理装置。
(付記4)
前記抽出部は、前記第1及び第2の攻撃情報の文章を分割することによって得られた形態素の分散表現ベクトルを取得し、前記取得した分散表現ベクトルに基づいて前記第1及び第2の攻撃ナレッジを抽出する、
付記1乃至3のいずれか一項に記載の攻撃情報処理装置。
(付記5)
前記形態素は、一つの単語または複数の単語から構成される、
付記4に記載の攻撃情報処理装置。
(付記6)
前記抽出部は、前記分散表現ベクトルを取得した形態素に対し、前記第1及び第2の攻撃ナレッジに関連するラベルを付与し、前記付与されたラベルに基づいて、前記第1及び第2の攻撃ナレッジを抽出する、
付記4または5に記載の攻撃情報処理装置。
(付記7)
前記抽出部は、前記ラベルと前記攻撃ナレッジにおける条件との対応関係に基づいて、前記第1及び第2の攻撃ナレッジを抽出する、
付記6に記載の攻撃情報処理装置。
(付記8)
前記判断部は、前記ラベルが付与された形態素ごとの分散表現ベクトルの差に基づいて、前記類似性を判断する、
付記6または7に記載の攻撃情報処理装置。
(付記9)
前記判断部は、前記分散表現ベクトルの差の平均値または重み付き平均値に基づいて、前記類似性を判断する、
付記8に記載の攻撃情報処理装置。
(付記10)
前記判断部は、前記第1及び第2の攻撃情報に含まれるコンポーネントの情報に基づいて前記類似性を判断する、
付記1乃至9のいずれか一項に記載の攻撃情報処理装置。
(付記11)
前記判断部は、前記第1及び第2の攻撃情報のDescriptionに含まれる記述に基づいて前記類似性を判断する、
付記1乃至10のいずれか一項に記載の攻撃情報処理装置。
(付記12)
前記判断部は、前記第1及び第2の攻撃情報に含まれる参照情報に基づいて前記類似性を判断する、
付記1乃至11のいずれか一項に記載の攻撃情報処理装置。
(付記13)
前記判断部は、前記第1及び第2の攻撃情報に含まれる攻撃情報の識別情報に基づいて前記類似性を判断する、
付記1乃至12のいずれか一項に記載の攻撃情報処理装置。
(付記14)
前記判断部は、前記第1及び第2の攻撃情報の文章の類似度に基づいて前記類似性を判断する、
付記1乃至13のいずれか一項に記載の攻撃情報処理装置。
(付記15)
前記類似度は、前記第1及び第2の攻撃情報における特定の単語の出現頻度、特定の単語の出現順序、またはそれらの統計情報を含む特徴量に基づいた類似度である、
付記14に記載の攻撃情報処理装置。
(付記16)
前記類似度は、前記特徴量のクラスタリングの結果の類似度である、
付記15に記載の攻撃情報処理装置。
(付記17)
前記判断部は、前記類似度と所定値との比較結果に基づいて、前記類似性を判断する、
付記14乃至16のいずれか一項に記載の攻撃情報処理装置。
(付記18)
前記判断部は、前記抽出された攻撃ナレッジに基づいて前記類似性を判断する、
付記1乃至17のいずれか一項に記載の攻撃情報処理装置。
(付記19)
前記判断部は、前記第1及び第2の攻撃ナレッジに含まれる条件が互いに一致する割合に基づいて、前記類似性を判断する、
付記18に記載の攻撃情報処理装置。
(付記20)
前記第1及び第2の攻撃情報が互いに類似していると判断された場合、前記補完部は、前記第1の攻撃ナレッジを補完する、
付記1乃至19のいずれか一項に記載の攻撃情報処理装置。
(付記21)
前記補完部は、前記第1及び第2の攻撃情報の類似度に応じて、前記第1の攻撃ナレッジを補完する、
付記1乃至19のいずれか一項に記載の攻撃情報処理装置。
(付記22)
前記第1の攻撃ナレッジに含まれる条件が前記第2の攻撃ナレッジに含まれる条件と競合する場合、前記補完部は、補完される前記第1の攻撃ナレッジに元から含まれていた条件を優先させながら、前記第1の攻撃ナレッジを補完する、
付記1乃至21のいずれか一項に記載の攻撃情報処理装置。
(付記23)
前記第1の攻撃情報は、分析対象の攻撃情報であり、前記第2の攻撃情報は、所定の攻撃情報に含まれる、
付記1乃至22のいずれか一項に記載の攻撃情報処理装置。
(付記24)
サイバー攻撃の記述を含む複数の攻撃情報から、前記サイバー攻撃の条件を示す複数の攻撃ナレッジを抽出するように構成された抽出部と、
前記複数の攻撃情報と前記複数の攻撃ナレッジとの関係を学習した学習モデルを生成するように構成された学習部と、
前記学習モデルを用いて、入力された攻撃情報から抽出される攻撃ナレッジを、前記入力された攻撃情報に類似する攻撃情報に基づいて、補完するように構成された補完部と、
を備える、攻撃情報処理装置。
(付記25)
前記補完された攻撃ナレッジに含まれる条件に基づいて実験環境を構築し、前記実験環境において前記サイバー攻撃の実験を行うように構成された攻撃実験部と、
前記実験の結果に基づいて補完された攻撃ナレッジを補正するように構成された補正部と、をさらに備える、
付記1乃至23のいずれか一項に記載の攻撃情報処理装置。
(付記26)
前記抽出部、前記判断部、または前記補完部により、前記実験の結果に基づいて使用される学習モデルを生成するように構成された学習部をさらに備える、
付記25に記載の攻撃情報処理装置。
(付記27)
サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出し、
前記第1及び第2の攻撃情報の類似性を判断し、
前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完する、
攻撃情報処理方法。
(付記28)
前記第1及び第2の攻撃情報のそれぞれは、コンピュータシステムの脆弱性が記述された脆弱性情報である、
付記27に記載の攻撃情報処理方法。
(付記29)
サイバー攻撃の記述を含む第1及び第2の攻撃情報から、前記サイバー攻撃の条件を示す第1及び第2の攻撃ナレッジを抽出し、
前記第1及び第2の攻撃情報の類似性を判断し、
前記判断された類似性に基づいて、前記第1の攻撃ナレッジを前記第2の攻撃ナレッジで補完する、
処理をコンピュータに実行させるための攻撃情報処理プログラム。
(付記30)
前記第1及び第2の攻撃情報のそれぞれは、コンピュータシステムの脆弱性が記述された脆弱性情報である、
付記29に記載の攻撃情報処理プログラム。
【符号の説明】
【0081】
1~4 攻撃情報処理システム
10 攻撃情報処理装置
11 抽出部
12 判断部
13 補完部
20 コンピュータ
21 プロセッサ
22 メモリ
100 攻撃ナレッジ生成装置
110 攻撃情報取得部
120 情報抽出部
121 表現部
122 抽出部
123 導出部
130 類似性判断部
131 特定部
132 判断部
140 補完情報生成部
150 記憶部
160 訓練部
170 類似性判断及び補完情報生成部
200 攻撃情報DB
300 攻撃ナレッジDB
400 攻撃実験装置
401 攻撃実験部
402 情報補正部
500 学習装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22