JP2023527753A - ナレッジ生成装置、制御方法、及びプログラム - Google Patents

ナレッジ生成装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP2023527753A
JP2023527753A JP2022570415A JP2022570415A JP2023527753A JP 2023527753 A JP2023527753 A JP 2023527753A JP 2022570415 A JP2022570415 A JP 2022570415A JP 2022570415 A JP2022570415 A JP 2022570415A JP 2023527753 A JP2023527753 A JP 2023527753A
Authority
JP
Japan
Prior art keywords
attack
environmental conditions
affected
environmental condition
environmental
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.)
Granted
Application number
JP2022570415A
Other languages
English (en)
Other versions
JP7460242B2 (ja
Inventor
真樹 井ノ口
智彦 柳生
ユバル エロビッチ
アサフ シャブタイ
ロン ビットン
ノアム モスコビッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2023527753A publication Critical patent/JP2023527753A/ja
Application granted granted Critical
Publication of JP7460242B2 publication Critical patent/JP7460242B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ナレッジ生成装置(2000)は、コンピュータ環境に対して実行される攻撃の構成と、その攻撃されるコンピュータ環境の構成と、その攻撃の結果とが含まれる複数の攻撃結果情報(100)を取得する。取得した攻撃結果情報(100)を比較することで、ナレッジ生成装置(2000)は、攻撃の成功に必要なコンピュータ環境の構成に関する環境条件を検出する。ナレッジ生成装置(2000)は、選択ルール(200)に基づいて、検出された環境条件の選択を行い、選択された環境条件が含まれるナレッジ情報(300)を生成する。選択ルールは、環境条件に影響される攻撃の集合の特徴に基づいて、環境条件をナレッジ情報(300)に含めるかどうかを決めるルールを表す。【選択図】図1

Description

本開示は全体として、コンピュータセキュリティ、特に、コンピュータシステムに対する攻撃に関する。
コンピュータシステムのセキュリティを高めるために、リスク評価が求められる。そのため、リスク評価を容易にする様々なシステムが開発されている。特許文献1は、セキュリティの観点からコンピュータシステムの要求解析を行う技術を開示している。特許文献1に開示されているシステムは、攻撃の目的を達成するために必要な要素(コンピュータ資源など)及びそれら要素間の依存関係が示される攻撃モデルを提供する。特許文献2は、目標デバイスのセキュリティを評価するために、評価デバイスを利用してそのデバイスに対して様々な攻撃を実行する技術を開示している。
特開2008-250680号公報 特開2015-114833号公報
前述した特許文献に開示されているシステムによる出力は、リスク評価の観点からは有用性でない情報が含まれうる。特許文献1については、システムが、冗長性と要素間の矛盾に基づいていくつかの要素を除外する。しかしながら、冗長性と要素間の矛盾以外の観点は考慮されていない。特許文献2については、その出力から有用でない情報を除外する必要性が議論されていない。
本開示の目的の一つは、リスク評価に有用な情報を提供可能な技術を開示することである。
本開示は、少なくとも一つのプロセッサと、命令が格納されているメモリとを有するナレッジ生成装置を提供する。前記少なくとも一つのプロセッサは、前記命令を実行することにより、コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、を実行するように構成される。
本開示はさらに、少なくとも一つのプロセッサと、命令が格納されているメモリとを有するナレッジ生成装置を提供する。前記少なくとも一つのプロセッサは、前記命令を実行することにより、コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成すること、を実行するように構成される。
本開示はさらに、コンピュータによって実行される制御方法を提供する。前記制御方法は、コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、を含む。
本開示はさらに、コンピュータによって実行される制御方法を提供する。前記制御方法は、コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成すること、を含む。
本開示はさらに、プログラムが格納されている非一時的なコンピュータ可読媒体を提供する。前記プログラムは、コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、をコンピュータに実行させる。
本開示はさらに、プログラムが格納されている非一時的なコンピュータ可読媒体を提供する。前記プログラムは、コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成すること、をコンピュータに実行させる。
本開示によれば、リスク評価に有用な情報を提供可能な技術が提供できる。
図1は、実施形態1のナレッジ生成装置の概念を示す。 図2は、実施形態1のナレッジ生成装置の機能構成の例を示すブロック図である。 図3は、ナレッジ生成装置を実現するコンピュータのハードウエア構成の例を示すブロック図である。 図4は、実施形態1のナレッジ生成装置によって実行される処理の流れの例を示すフローチャートである。 図5は、攻撃結果情報の構成の例を示す。 図6は、環境条件のグループを示す。 図7は、第1グループに属する環境条件に影響される攻撃の例を示す。 図8は、第2グループに属する環境条件に影響される攻撃の例を示す。 図9は、第3グループに属する環境条件に影響される攻撃の例を示す。 図10は、第4グループに属する環境条件に影響される攻撃の例を示す。 図11は、環境条件をグループに分けるための境界の他の例を示す第1の図である。 図12は、環境条件をグループに分けるための境界の他の例を示す第2の図である。 図13は、OSの種類ごとのコンピュータ環境の分類を示す。 図14は、ナレッジ情報の構成の例を示す第1の図である。 図15は、ナレッジ情報の構成の例を示す第2の図である。 図16は、変換ルールの構成の例を示す。 実施形態2のナレッジ生成装置の機能構成の例を示すブロック図である。 実施形態2のナレッジ生成装置によって実行される処理の流れの例を示すフローチャートである。
以下、図面を参照しながら、本開示に係る実施の形態の例が記述される。図面を通して同じ要素には同じ符号が付され、冗長な説明は必要に応じて省略される。
実施形態1
図1は、実施形態1のナレッジ生成装置2000の概念を示す図である。なお、図1はナレッジ生成装置2000の動作を限定するものではなく、ナレッジ生成装置2000の可能な動作の例を示すにすぎない。
ナレッジ生成装置2000は、コンピュータ環境への攻撃を成功させるために必要なコンピュータ環境に関する条件(例えば、「ポート po1 がオープンされている」、「サービス s1 が動いている」など)についての情報を提供する。「コンピュータ環境」という用語は、複数のマシンで構成されるコンピュータシステム、又は単一のマシンを指しうる。以下、ナレッジ生成装置2000によって提供される上述の情報は、「ナレッジ情報」と記述される。
ナレッジ生成装置2000は、コンピュータ環境に対して実行された攻撃の複数の結果に基づいて、ナレッジ情報300を生成する。そのために、ナレッジ生成装置2000は、複数の攻撃結果情報100を取得する。攻撃結果情報100は、コンピュータ環境に対して実行された攻撃の構成、攻撃されたコンピュータ環境の構成、及び攻撃結果を含む。複数の攻撃結果情報100は、攻撃の構成、コンピュータ環境の構成、又はその双方についてそれぞれ異なる。
得られた複数の攻撃結果情報100を比較することにより、ナレッジ生成装置2000は、攻撃の成功に必要なコンピュータ環境の構成に関する条件を検出する。以下、攻撃の成功に必要なものとして検出されたコンピュータ環境の構成に関する条件は、「環境条件」と記述される。単純な例として、攻撃結果情報 i1 が、コンピュータ環境においてサービス s1 が動作している時に攻撃 a1 が成功したことを示す一方で、攻撃結果情報 i2 が、コンピュータ環境においてサービス s1 が動作していない時に攻撃 a1 が失敗したことを示すとする。この場合、i1 と i2 とを比較することにより、「サービス s1 が動作している」は、環境条件として検出されうる。
しかしながら、リスク評価などの観点では、何らかの理由により、前述したように検出された環境条件のうちのいくつかは、他のものよりも有用性が低い可能性がある。例えば、ある環境条件 c1 を満たすことがコンピュータ環境の通常の動作に必須である場合、環境条件 c1 を無効にすることは難しい。そのため、「環境条件 c1 が満たされない場合に攻撃が失敗する」というナレッジは、有用でないと考えられうる。なお、この開示において、「環境条件を無効にする」とは、「環境条件が満たされないようにコンピュータ環境を構成する」ということを意味する。同様に、「環境条件を有効にする」とは、「環境条件が満たされるようにコンピュータ環境を構成する」ということを意味する。
上述した着目点に基づき、ナレッジ生成装置2000は、ユーザに対して提供されるべき環境条件を少なくする。具体的には、ナレッジ生成装置2000は、選択ルール200に基づいて、検出された環境条件の選択を行い、選択された環境条件が含まれるナレッジ情報300を生成する。言い換えれば、複数の攻撃結果情報100の比較によって検出された環境条件のいくつかが、ナレッジ情報300から除外されうる。
選択ルール200は、環境条件によって影響を受ける(その結果が影響を受ける)攻撃の集合の特徴に基づいて、環境条件をナレッジ情報300に含めるかどうかを決定するためのルールを表す。そのため、特定の環境条件を選択するかどうかを決めるとき、ナレッジ生成装置2000は、その環境条件によって影響を受ける攻撃の特徴を算出する。そして、ナレッジ生成装置2000は、その環境条件を選択するか否かを、算出した特徴と選択ルール200とを比較することによって決定する。
<作用効果の例>
上述したように、実施形態1のナレッジ生成装置2000は、環境条件(攻撃成功のために満たされるべきコンピュータ環境の構成に関するもの)をナレッジ情報に含めるかどうかを、その環境条件によって影響を受ける攻撃の集合の特徴に基づいて決める。言い換えれば、その環境条件によって影響を受ける攻撃の集合の特徴に基づいて、ナレッジ情報に含めることが決まった環境条件のみが、ユーザに提供される。そのため、実施形態1のナレッジ生成装置2000は、リスク評価の観点から提供されることが有用なナレッジのみを有効にする。言い換えれば、リスク評価の観点から有用でないナレッジをユーザに提供することを避けることができる。
以下、ナレッジ生成装置2000に関するより詳細な説明が記述される。
<機能構成の例>
図2は、実施形態1のナレッジ生成装置2000の機能構成の例を示すブロック図である。図2において、ナレッジ生成装置2000は、取得部2020、検出部2040、及び生成部2060を有する。取得部2020は、複数の攻撃結果情報100を取得する。検出部2040は、複数の攻撃結果情報100の比較を通じて1つ以上の環境条件を検出する。生成部2060は、選択ルール200に基づいて、検出された環境条件の中から1つ以上の環境条件を選択し、選択された環境条件を示すナレッジ情報300を生成する。
<ハードウエア構成の例>
ナレッジ生成装置2000は、1つ以上のコンピュータで実現されうる。それら1つ以上のコンピュータのそれぞれは、ナレッジ生成装置2000を実現するために作成された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン又はモバイルデバイスなどの汎用のコンピュータであってもよい。ナレッジ生成装置2000は、コンピュータにアプリケーションをインストールすることで実現されうる。そのアプリケーションは、コンピュータをナレッジ生成装置2000として機能させるプログラムで実現される。言い換えれば、そのプログラムは、ナレッジ生成装置2000の機能構成部を実装したものである。
図3は、ナレッジ生成装置2000を実現するコンピュータ1000のハードウエア構成の例を示すブロック図である。図3において、コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータの送信及び受信をするためのデータ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などといったプロセッサである。メモリ1060は、RAM(Random Access Memory)又は ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と周辺デバイス(キーボード、マウス、又はディスプレイデバイスなど)との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。
ストレージデバイス1080は、前述したプログラムを格納しうる。CPU1040は、ナレッジ生成装置2000の各機能構成部を実現するためにそのプログラムを実行する。さらに、ストレージデバイス1080は、攻撃結果情報100及び選択ルール200を格納しうる。しかしながら、ナレッジ生成装置2000は、攻撃結果情報100、選択ルール200、又は双方を、コンピュータ1000の外部に設けられている1つ以上のストレージデバイスから取得してもよい。
コンピュータ1000は、図3に示される構成に限定されない。例えば、前述したように、ナレッジ生成装置2000は複数のコンピュータで実現されうる。この場合、それらのコンピュータは、ネットワークを介して互いに接続されうる。
図4は、実施形態1のナレッジ生成装置2000によって実行される処理の流れの例を示すフローチャートである。取得部2020は、複数の攻撃結果情報100を取得する(S102)。検出部2040は、取得した攻撃結果情報100に基づいて、環境条件を検出する(S104)。生成部2060は、選択ルール200に基づいて、ナレッジ情報300に含めるべき環境条件を選択する(S106)。生成部2060は、選択された条件環境を含むナレッジ情報300を生成する(S108)。
<攻撃結果情報>
前述した通り、攻撃結果情報100は、コンピュータ環境に対して実行された攻撃の構成、攻撃されたコンピュータ環境の構成、及び攻撃結果を含みうる。攻撃の構成は、エクスプロイトコード及びペイロードなどといった、1つ以上の属性を含みうる。エクスプロイトコードは、コンピュータ環境の弱点(すなわち脆弱性)を突くためのプログラムを含む。ペイロードは、コンピュータ環境の脆弱性をうまく突いた後に達成したい目的のためのプログラムを含む。例えば、エクスプロイトコードは、コンピュータ環境のバッファオーバーフロー脆弱性を突くためのプログラムであることがあり、ペイロードは、エクスプロイトコードによってコンピュータ環境のバッファがオーバーフローした後にそのコンピュータ環境で実行されるべきマルウエアでありうる。
コンピュータ環境の構成は、コンピュータ環境で動作しているオペレーティングシステム、コンピュータ環境にインストールされているパッケージ、コンピュータ環境で動作しているサービス、オープンされているポート、ユーザアカウントの存在、プロセスの実行権限、ファイルへのアクセス権限、及びセキュリティ手段(例えば、アンチウイルスソフトウエア、侵入防止システム、進入検知システム、及びアプリケーションのホワイトリスト)などといった1つ以上の属性を含む。なお、パッケージとは、アプリケーションの実行に必要なコンポーネント(例えば、実行ファイル、構成ファイル、及びライブラリ)の管理単位である。
攻撃結果は、攻撃が成功したかどうかを把握可能な情報を示しうる。なお、攻撃結果は、攻撃の成功又は失敗を直接的に示す必要はない。例えば、攻撃が成功であれば、攻撃結果は、攻撃によって生じた1つ以上の問題を示してもよい。攻撃結果が、「ルート権限で不明なプログラムが実行された」ということを示すとする。この結果から、コンピュータ環境において攻撃が成功したと認識することができる。
<<攻撃結果情報の構成例>>
攻撃結果情報100の具体的な構成は限定されない。図5は、攻撃結果情報100の構成の例を示す。図5において、攻撃結果情報100は、テーブル形式で構成されている。攻撃結果情報100は、攻撃識別情報(ID: identifier)110、攻撃構成120、環境構成130、及び結果140という列を含む。攻撃識別情報は、コンピュータ環境に対して実行された各攻撃に割り当てられた識別情報を表す。
攻撃構成120は、攻撃の構成を表す。具体的には、この例の攻撃構成120は、エクスプロイトコード121及び攻撃構成120という列を有する。エクスプロイトコード121及びペイロード122はそれぞれ、コンピュータ環境への攻撃に利用されたエクスプロイトコードとペイロードを表す。
環境構成130は、コンピュータ環境の構成を表す。具体的には、この例の環境構成130は、OS131、パッケージリスト132、サービスリスト133、及びポートリスト134という列を有する。OS131は、コンピュータ環境で動作しているOSを表す。言い換えれば、OS131は、コンピュータ環境に含まれるマシン上で動作しているOSを表す。パッケージリスト132は、コンピュータ環境にインストールされているパッケージのリストを表す。サービスリスト133は、コンピュータ環境で動作しているサービスのリストを表す。ポートリスト134は、コンピュータ環境の外部に対してオープンされているポート(例えば、TCP 又は UDP のポート)のリストを表す。
なお、上述したコンピュータ環境の属性は、コンピュータ環境の構成の単なる例示であり、変更可能である。コンピュータ環境の構成は、攻撃結果に影響を与えうる任意の他の属性を含みうる。さらに、上述した属性のうちの1つ以上が、コンピュータ環境の構成に含まれなくてもよい。
<<攻撃結果情報の生成>>
攻撃結果情報100は、様々な攻撃及びコンピュータ環境の構成の下で、コンピュータ環境を攻撃することにより、生成される。単純な例として、可能な攻撃の構成がN通りあり、可能なコンピュータ環境の構成がM通りあるとする。この場合、理論的には、可能な攻撃が NxM 通り存在しうる。そのため、これら NxM 通りの可能な各攻撃をコンピュータ環境に対して実行することで、NxM 個の攻撃結果情報100を生成しうる。しかしながら、攻撃結果情報100を生成するために、可能な攻撃の全てを実行する必要はない。
なお、攻撃の対象となるコンピュータ環境は、任意のコンピュータ環境を表したものであってもよいし、実在するコンピュータ環境を表したものであってもよい。後者の場合、例えば、様々な攻撃構成でそのコンピュータ環境を攻撃することにより、現在の実際の構成のコンピュータ環境において成功する攻撃を検出することができる。その後、コンピュータ環境の構成を様々に変えながら、成功した攻撃をそのコンピュータ環境に対して再度行う。結果として、成功する攻撃を示す攻撃結果情報と、失敗した攻撃を示す攻撃結果情報とを得ることができる。そして、それらの攻撃結果情報を比較することにより、ナレッジ生成装置2000は、現存の環境条件を攻撃に対して脆弱にするために必要な環境条件を検出することができる。この検出された環境条件は、それらの攻撃を回避するためのナレッジと考えることができる。
特定の構成のコンピュータ環境で攻撃を実行するために、意図した通りにコンピュータ環境を構成できる必要がある。この構成は任意の方法で実現してよく、手動でも自動でもよい。なお、意図した通りにコンピュータ環境の構成を設定する方法には、任意の既知の技術を適用できる。例えば、コンピュータ環境は、1つ以上の仮想マシンで構成される。仮想マシンの構成は物理マシンの構成よりも容易に変更できるため、容易に、意図した通りにコンピュータ環境を構成できる。
なお、攻撃結果情報の生成は、ナレッジ生成装置2000によって行われてもよいし、ナレッジ生成装置2000以外のマシンによって行われてもよい。
<攻撃結果情報の取得:S102>
取得部2020は、複数の攻撃結果情報100を取得する(S102)。攻撃結果情報100を取得する方法は様々である。例えば、取得部2020によって取得されるべき攻撃結果情報100は、取得部2020からアクセス可能なストレージデバイスに予め格納されている。この場合、取得部2020は、そのストレージデバイスから複数の攻撃結果情報100を読み出す。その他にも例えば、攻撃結果情報100は、攻撃結果情報100を生成したシステムによって送信された攻撃結果情報100を受信してもよい。その他にも例えば、ナレッジ生成装置2000自身が攻撃結果情報100を生成してもよい。
<環境条件の決定:S104>
検出部2040は、コンピュータ環境への攻撃の成功に必要な環境条件を検出する(S106)。この決定は、取得した複数の攻撃結果情報100を比較することによって行われる。例えば、検出部2040は、攻撃構成に基づいて、複数の攻撃結果情報100をグループに分ける。具体的には、攻撃構成が互いに同じである複数の攻撃結果情報100が、同一のグループに分類される。そして、グループごとに、検出部2040は、そのグループに含まれる複数の攻撃結果情報100を互いに比較する。こうすることにより、検出部2040は、そのグループに対応する攻撃の達成に必要なコンピュータ環境の構成に関する1つ以上の条件を検出する。上述した比較によって検出されたコンピュータ環境の構成に関する条件は、コンピュータ環境として扱われる。なお、環境条件を検出するために取得した複数の攻撃結果情報100を比較する具体的な方法は、前述した方法に限定されない。
<環境条件の選択:S106>
生成部2060は、選択ルール200に基づいて、ステップS104において検出された環境条件の中から、ナレッジ情報300に含めるべき環境条件を選択する(S106)。ナレッジ情報300に環境条件を含めるかどうかは、その環境条件に影響される攻撃の集合の特徴に基づいて決定される。なお、「攻撃が環境条件に影響される」とは、「その環境条件が有効の場合にはその攻撃が成功する一方で、その環境条件が無効の場合にはその攻撃が成功しない」ことを意味する。
例えば、選択ルール200は、ナレッジ情報300に或る環境条件を含める条件(以下、挿入条件)を含んでよく、挿入条件は、その環境条件に影響される攻撃の集合の特徴に関する条件である。ステップS104で検出された各環境条件について、生成部2060は、攻撃結果情報100に基づいて、その環境条件に影響される攻撃の集合の特徴を算出し、算出された特徴が選択ルール200に示されている挿入条件を満たすかどうかを判定する。算出された特徴が挿入条件を満たす場合、生成部2060は、その環境条件をナレッジ情報300に含めることを決定する。一方、算出された特徴が挿入条件を満たさない場合、生成部2060は、その環境条件をナレッジ情報300に含めないことを決定する。
攻撃 a1 から a4 があり、環境条件 e1 が満たされる場合にそれらの攻撃の結果が成功であるとする。この場合、環境条件 e1 をナレッジ情報300に含めるかどうかは、攻撃 a1 から a4 の集合特徴に依存する。この集合の特徴が選択ルール200内の挿入条件を満たすと判定された場合、生成部2060は、環境条件 e1 をナレッジ情報300に含める。一方、攻撃 a1 から a4 の集合の特徴が選択ルール200内の挿入条件を満たさないと判定されたばあい、生成部2060は、環境条件 e1 をナレッジ情報300に含めない。
なお、選択ルール200は、複数の挿入条件を含んでもよい。この場合、例えば、算出した特徴が選択ルール200内の挿入条件のいずれか1つを満たす場合、生成部2060は、その環境条件をナレッジ情報300に含めると決定してもよい。
選択ルール200は、挿入条件に代えて、ナレッジ情報300に環境条件を含めない条件(以下、除外条件)を含んでもよく、除外条件は、環境条件に影響される攻撃の集合の特徴に関する条件である。この場合、各環境条件について、生成部2060は、その環境条件に影響される攻撃の集合の特徴を算出し、算出した特徴が選択ルール200内の除外条件を満たすかどうかを判定する。算出した特徴が除外条件を満たす場合、生成部2060は、その環境条件をナレッジ情報300に含めないことを決定する。一方、算出した特徴が除外条件を満たさない場合、生成部2060は、その環境条件をナレッジ情報300に含めることを決定する。
<<選択ルールの例>>
以下、選択ルール200の例が記述される。例えば、各環境条件は、その環境条件に影響される攻撃の集合の特徴に基づいて、環境条件の複数のグループのうちの1つに分類される。この場合、挿入条件は、ナレッジ情報300に含められるべき環境条件の1つ以上のグループを表す。
ナレッジ情報300に含められるべき環境条件を選択するために、各環境条件について、生成部2060は、その環境条件がどのグループに属するのかを判定し、その環境条件が属すると判定されたグループが、挿入条件によって示されているグループに含まれるかどうかを判定する。その環境条件が属するものであると判定されたグループが挿入条件によって示されるグループに含まれる場合、生成部2060は、その環境条件をナレッジ情報300に含めることを決定する。一方、その環境条件が属するものであると判定されたグループが挿入条件によって示されるグループに含まれない場合、生成部2060は、その環境条件をナレッジ情報300に含めないことを決定する。
ここで、環境条件を分類する方法の例について記述する。攻撃攻勢がエクスプロイトコードとペイロードを含むとする。攻撃の集合の中に、環境条件に影響されるいくつかのエクスプロイトコードが存在しうる(攻撃結果が、その環境条件が有効である場合には成功であるが、その環境条件が無効である場合には失敗である)。同様に、環境条件に影響されるいくつかのペイロードが存在しうる(その結果が、その環境条件が有効である場合には成功であるが、その環境条件が無効である場合には失敗である)。
そのため、環境条件に影響されるエクスプロイトコードとペイロードの数は、攻撃の集合の特徴として扱うことができる。なお、ペイロードがパラメータを取る場合(すなわち、各ペイロードがコードとパラメータの組み合わせで構成される場合)、コードは同一であるがパラメータが異なるペイロードは、同一のペイロードとしてカウントされてもよいし、異なるペイロードとしてカウントされてもよい。環境条件に影響されるエクスプロイトコードとペイロードの数に基づき、環境条件は4つのグループのうちの1つに分類されうる(少数のエクスプロイトコードと多数のペイロードに影響を与える環境条件のための第1グループ、少数のエクスプロイトコードと少数のペイロードに影響を与える環境条件のための第2グループ、多数のエクスプロイトコードと多数のペイロードに影響を与える環境条件のための第3グループ、及び多数のエクスプロイトコードと少数のペイロードに影響を与える環境条件のための第4グループ)。
図6は、環境条件のグループを表す。グループG1からG4ははそれぞれ、第1グループから第4グループに対応する。横軸は、環境条件に影響されるエクスプロイトコードの数を表す。縦軸は、環境条件に影響されるペイロードの数を表す。各プロットは、検出部2040によって検出された環境条件のうちの1つに対応する。具体的には、或る環境条件に対応するプロットは、その環境条件に影響されるエクスプロイトコードの数とペイロードの数とのペアを表す。
閾値 th1 は、多数と考えられるエクスプロイトコードの数と少数と考えられるエクスプロイトコードの数との境界を表す。具体的には、th1 以上であるエクスプロイトコードの数は多数として扱われ、th1 より少ないエクスプロイトコードの数は少数として扱われる。同様に、閾値 th2 は、多数と考えられるペイロードの数と少数と考えられるペイロードの数との境界を表す。 具体的には、th2 以上であるペイロードの数は多数として扱われ、th2 より少ないペイロードの数は少数として扱われる。
選択ルール200が、「環境条件がグループ G2 に分類される(言い換えれば、エクスプロイトコードの数が th1 より少なく、ペイロードの数が th2 より少ない)」という挿入条件を示すとする。この場合、生成部2060は、環境条件に影響される攻撃の集合の特徴として、その環境条件に影響を受けるエクスプロイトコードとペイロードの数を算出する。その後、生成部2060は、算出したエクスプロイトコードの数と閾値 th1 との比較、及び、算出したペイロードの数と閾値 th2 との比較により、環境条件がグループ G2 に分類されるか否かを判定する。環境条件がグループ G2 に分類されると判定された場合、生成部2060は、その環境条件をナレッジ情報300に含めることを決定する。一方、環境条件がグループ G2 に分類されないと判定された場合、生成部2060は、その環境条件をナレッジ情報300に含めないことを決定する。
なお、エクスプロイトコードの数がペイロードの数に対する相対値(例えば、エクスプロイトコードの実際の数を、ペイロードの実際の数で割った値)として表されてもよいし、その逆でもよい。エクスプロイトコードの数がペイロードの数の相対値として表される場合、エクスプロイトコードの数に関する閾値(例えば th1)も、ペイロードの数に対するエクスプロイトコードの数の比率で表される。同様に、ペイロードの数がエクスプロイトコードの数に対する相対値として表される場合、ペイロードの数に関する閾値(例えば th2)も、エクスプロイトコードの数に対するペイロードの数の比率で表される。
ここで、第1から第4グループの特徴について記述する。図7は、第1グループに属する環境条件に影響される攻撃の例を示す。図7において、アプリケーションに対する攻撃は、そのアプリケーションの脆弱性を突くエクスプロイトコードとペイロードの一つとのペアで表される。例えば、エクスプロイトコード X1 とペイロード Y1 とのペアは、アプリケーション A1 に対する攻撃のうちの一つを表す。
第1グループは、環境条件に影響されるペイロードが多数である一方で環境条件に影響されるエクスプロイトコードは少数であることを表すため、環境条件を無効にする結果、ペイロードにかかわらず攻撃が失敗するようになる可能性が高い。例えば図7は、環境条件が無効にされる結果、エクスプロイトコード X1 を持つ攻撃が、そのペイロードにかかわらず失敗するようになることを表す。これは、この環境条件が、アプリケーションに特有の脆弱性を突く攻撃の回避に役立つことを意味する。そのため、この環境条件は高い確度で、リスク評価の観点において有用なナレッジでありうる。
図8は、第2グループに属する環境条件に影響される攻撃の例を示す。第2グループは、環境条件に影響されるエクスプロイトコードの数とペイロードの数の双方が少数であることを表すため、環境条件を無効にすることで、エクスプロイトコードとペイロードとの特定のペアで構成される攻撃が失敗するようになる可能性が高い。例えば図8は、環境条件が無効になることにより、エクスプロイトコード X1 とペイロード Y1 とのペアで構成される攻撃が失敗するようになることを示す。これは、この環境条件が、エクスプロイトコードとペイロードとの特定のペアで構成される攻撃の回避に有用であることを意味する。そのため、この環境条件は高い確度で、リスク評価の観点におけて有用なナレッジでありうる。
図9は、第3グループに属する環境条件に影響される攻撃の例を示す。第3グループは、環境条件に影響されるエクスプロイトコードの数とペイロードの数の双方が多数であることを表すため、構成にかかわらず攻撃が失敗するようになる可能性が高い。例えば図9は、環境条件が無効になることにより、全ての攻撃が失敗するようになることを示す。これは、攻撃だけでなくコンピュータ環境の通常の動作にも影響しうるため、この環境条件を無効にすることは好ましくないことを意味する。そのため、この環境条件は高い確度で、リスク評価の観点において有用ではないだろう。
図10は、第4グループに属する環境条件に影響される攻撃の例を示す。第4グループは、環境条件に影響されるエクスプロイトコードの数は多数である一方で、環境条件に影響されるペイロードの数は少数であることを表すため、環境条件は特定のペイロードだけに影響する可能性が高い。例えば図10は、環境条件がペイロード Y1 を持つ攻撃のみに影響することを表す。そのため、この環境条件は高い確度で、リスク評価の観点において有用ではないだろう。
選択ルール200は、上述した各グループの特徴に基づいて定義されることが好ましい。例えば選択ルール200は、ナレッジ情報300に含めるものとして、第3又は第4グループに分類される環境条件が選択されるように定義される。しかしながら、ナレッジ情報300に含められない環境条件のグループが少なくとも1つ存在する限り、ナレッジ生成装置2000についての制限はない。例えば選択ルール200は、ナレッジ情報300に含めるものとして、第4グループに分類される環境条件が選択されるように定義されてもよい。その他にも例えば、ナレッジ情報300に含めるものとして、第2、第3、又は第4グループに分類される環境条件が選択されるように定義されてもよい。
なお、生成部2060は、攻撃の特徴として、必ずしもエクスプロイトコードの数及びペイロードの数の双方を扱う必要はない。図6において、選択ルール200が、「第3又は第4グループに分類される環境条件が、ナレッジ情報300に含めるものとして選択される」を示すとする。この場合、環境条件をナレッジ情報300に含めるかどうかを決定するためには、ペイロードの数を考慮する必要がない。そのため、生成部2060は、攻撃の特徴としてペイロードの数を扱う必要がない。
なお、環境条件を前述した4つのグループに分けるための境界は、互いに直行する2つの直線に限定されない。例えば、第1グループと第3グループを分ける閾値は、第2グループと第4グループを分ける閾値と異なってもよい。同様に、第1グループと第2グループを分ける閾値は、第3グループと第4グループを分ける閾値と異なってもよい。図11及び図12は、環境条件をグループに分けるための境界の他の例を示す。図11において、閾値 th3 は第2グループと第4グループを分ける一方、閾値 th4 は第1グループ及び第3グループを分ける。図12において、閾値 th5 は第1グループと第2グループを分ける一方、閾値 th6 は第3グループと第4グループを分ける。
環境条件のグループの境界(例えば、図6における閾値 th1 と th2)を定義する方法は様々である。例えば、ナレッジ生成装置2000の管理者等が、グループの各境界を手動で定めてもよい。その他にも例えば、グループの各境界は、機械学習によって決定されてもよい。具体的には、環境条件に影響される攻撃の特徴の複数の集合と、その環境条件が属するグループとが、予め訓練データとして用意される。そして、分類対象の環境条件に影響される攻撃の集合を取得し、かつ、その環境条件に一つのグループを割り当てる識別器が、訓練データを用いて訓練される。訓練の結果、識別器の訓練されたパラメータとして、グループの境界を決定することができる。
攻撃結果情報100は、さらに分類されてもよい。例えば、攻撃の集合の特徴に従って環境条件を分類する前に、生成部2060は、攻撃されたコンピュータ環境で動作している OS に基づいて環境条件を分類してもよい。この場合、例えば検出部2040は、複数の攻撃結果情報100を、攻撃結果情報100に示されている OS に基づいてグループに分け、各グループについての環境条件を検出する。そして、各 OS のグループについて、生成部2060は、前述した攻撃の特徴に基づき、環境条件をさらにグループ分ける。なお、この分類は、サービスなど、コンピュータ環境の他の属性に基づいて行われてもよい。
図13は、 OS ごとのコンピュータ環境の分類を示す。このケースでは、コンピュータ環境に適用される2つの種類の OS(o1 及び o2)が存在する。各攻撃結果情報100は、2つの OS の種類の内の1つに分類され、OS の種類ごとに環境条件が検出される。そして生成部2060は、o1 と o2 のグループそれぞれについて、環境条件の分類を行う。
なお、前述した通り、選択ルール200は、挿入条件の代わりに除外条件を示してもよい。例えば選択ルール200は、「環境条件がグループ G2 に分類される」という挿入条件の代わりに、「環境条件がグループ G1、G3、又は G4 に分類される」という除外条件を示してもよい。このケースでは、生成部2060は、除外条件が満たされる場合には環境条件をナレッジ情報300に含めないことを決定する一方で、生成部2060は、除外条件が満たされない場合には環境条件をナレッジ情報300に含めることを決定する。
選択ルール200は、前述したグループによって定義されることには限定されない。例えば選択ルール200は、識別器(環境条件に影響される攻撃の特徴に基づいて、環境条件をナレッジ情報300に含めるか否かを決定するように訓練されたもの)として実現されてもよい。この場合において、訓練データは、環境条件に影響される攻撃の特徴と、その環境条件がナレッジ情報300に含まれるべきかどうかを表すフラグとのセットで表される。識別器は、前述した訓練データの複数のセットを利用して予め訓練される。
ナレッジ情報を生成する際、生成部2060は、環境条件に影響される攻撃の特徴を識別器に入力することにより、環境条件がナレッジ情報300に含まれるべきかどうかを表すフラグを得る。そのフラグが、その環境条件がナレッジ情報300に含まれるべきであることを表す場合、生成部2060は、その環境条件をナレッジ情報300に含める。そのフラグが、その環境条件がナレッジ情報300に含まれるべきでないことを表す場合、生成部2060は、その環境条件をナレッジ情報300に含めない。
<ナレッジ情報の生成:S108>
生成部2060は、S106において選択された(ナレッジ情報300に含めるべきであると判定された)環境条件が含まれるナレッジ情報300を生成する(S108)。ナレッジ情報300の構成は、特定のものに限定されない。図14及び図15はナレッジ情報300の構成の例を示す。図14において、生成部2060は、選択された環境条件のリストを示す1つのナレッジ情報300を生成する。
一方で、図15において、生成部2060は、選択された環境条件を複数のグループに分け、グループごとのナレッジ情報300を生成する。例えば、同一のナレッジ情報300に含まれる環境条件は、その成功にその環境条件が要求される攻撃がもたらす問題を共通にする。言い換えれば、ナレッジ情報300は、攻撃によって生じる問題ごとに生成される。
図15に図示されるように、ナレッジ情報300は、環境条件だけでなく、攻撃によって生じる問題も含むことが好適である。各攻撃によって生じる問題は、その攻撃に対応する攻撃結果情報100内の攻撃結果によって記述されうる。
生成部2060は、攻撃結果情報100内の記述をそのまま用いてもよいし、その記述を何かしらの方法で変更してもよい。後者の場合、例えば生成部2060は、攻撃結果情報100における記述を一般化してもよい。攻撃結果情報100の攻撃結果において、「不明なプログラム p1 がルート権限で実行される」と記述されているとする。この結果は、コンピュータ環境で任意のプログラムが実行されうることを暗に示している。そのため、この攻撃によって生じる問題は、「任意のプログラムが実行されうる」と一般化できる。さらに、攻撃結果情報100の攻撃結果において、「ファイル f1 が生成される」と記述されているとする。この攻撃結果情報100に基づいて、この攻撃の問題は、「任意のファイルが操作される」と一般化できる。
前述した一般化は、攻撃結果情報100の攻撃結果における記述をより一般化された記述に変換する所定ルール(以下、変換ルール)を用いて実現されうる。変換ルールは、生成部2060からアクセス可能なストレージデバイスに予め格納されうる。図16は、変換ルールの構成の例を示す。図16において、変換ルール400はテーブル形式で構成されている。変換ルール400は、生記述420及び一般化問題440という列を含む。生記述420は、攻撃結果情報100の攻撃結果における記述を表す。一般化問題440は、攻撃によって生じる問題を一般化された態様で表す。
ステップS106で選択された環境条件に影響される各攻撃について、生成部2060は、変換ルール400に従って、その攻撃の攻撃結果情報100における攻撃結果を一般化問題に変換する。そして、生成部2060は、一般化問題に基づいて、選択された環境条件に影響される攻撃をグループに分ける。具体的には、一般化問題が互いに等しい攻撃が、同一のグループに分類される。そして、生成部2060は、各グループについてナレッジ情報300を生成する。特定のグループについて生成されたナレッジ情報300は、そのグループに分類される攻撃の少なくとも一つに影響を与える環境条件と、それらの攻撃が共通に持つ一般化問題とを含む。
生成部2060は、生成したナレッジ情報300を任意の方法で出力する。例えば生成部2060は、ナレッジ情報300をストレージデバイスに格納する。その他にも例えば、生成部2060は、他の装置(選択ルール200のユーザによって利用されるコンピュータなど)に対してナレッジ情報300を送信する。
実施形態2
実施形態2のナレッジ生成装置2000は、攻撃によって生じる問題であって一般化された態様で表されたものと共に攻撃の成功に必要な環境条件を示すナレッジ情報300を提供する。この一般化を実行する具体的な方法は、実施形態1に記述された通りである。実施形態2のナレッジ生成装置2000は、攻撃の集合の特徴に基づいてナレッジ情報300に含めるべき環境条件を絞り込む必要はない。
例えば実施形態2のナレッジ生成装置2000は、以下のように動作する。ナレッジ生成装置2000は、複数の攻撃結果情報100を取得する。ナレッジ生成装置2000は、複数の攻撃結果情報100を互いに比較することにより、攻撃に影響を与える環境条件を検出する。少なくとも一つの環境条件に影響される各攻撃について、ナレッジ生成装置2000は、変換ルール400に従って、攻撃結果情報100の攻撃結果を一般化問題に変換する。各一般化問題について、ナレッジ生成装置は、その一般化問題及びその一般化問題に対応する環境条件を含むナレッジ情報300を生成する。
なお、「特定の一般化問題に対応する環境条件」とは、その環境条件に影響される攻撃によって生じる問題がその一般化問題として一般化されるものを意味する。
<作用効果の例>
リスク評価の観点からは、攻撃によって生じる問題を一般化された態様で認識できることが好適である。実施形態2のナレッジ生成装置によれば、攻撃によって生じる問題を一般化された態様で示すナレッジ情報を得ることができる。そのため、実施形態2のナレッジ生成装置は、リスク評価に有用なナレッジを提供することができる。
<機能構成の例>
図17は、実施形態2のナレッジ生成装置2000の機能構成の例を示すブロック図である。実施形態2のナレッジ生成装置2000は、取得部2020、検出部2040、及び第2生成部2080を有する。取得部2020は、複数の攻撃結果情報100を取得する。検出部2040は、複数の攻撃結果情報100を互いに比較することで、攻撃に影響を与える環境条件を検出する。第2生成部2080は、一般化問題及びその一般化問題に対応する環境条件を含むナレッジ情報300を生成する。
<ハードウエア構成の例>
実施形態2のナレッジ生成装置2000のハードウエア構成は、実施形態1のナレッジ生成装置2000のハードウエア構成と同様に、図3で表されうる。しかしながら、実施形態2のストレージデバイス1080は、実施形態2のナレッジ生成装置2000の機能を実装するプログラムを格納する。
<処理の流れ>
図18は、実施形態2のナレッジ生成装置2000によって実行される処理の流れを示すフローチャートである。取得部2020は、複数の攻撃結果情報100を取得する(S202)。検出部2040は、複数の攻撃結果情報100を互いに比較することにより、攻撃に影響を与える環境条件を検出する(S204)。少なくとも一つの環境条件に影響される各攻撃について、第2生成部2080は、変換ルール400に従って、攻撃結果情報100の攻撃結果を一般化問題に変換する(S206)。各一般化問題について、第2生成部2080は、その一般化問題とその一般化問題に対応する環境条件を含むナレッジ情報300を生成する(S208)。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
少なくとも一つのプロセッサと、
命令が格納されているメモリとを有し、
前記少なくとも一つのプロセッサは、前記命令を実行することにより、
コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、
前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、
を実行するように構成されるナレッジ生成装置。
(付記2)
前記選択ルールは、前記環境条件が前記コンピュータ環境の通常の動作に必要である場合には、前記環境条件を前記ナレッジ情報に含めないように決定するルールを含む、付記1に記載のナレッジ生成装置。
(付記3)
前記攻撃の前記構成は、その攻撃を構成するエクスプロイトコード及びペイロードを含み、かつ、
前記環境条件に影響される前記攻撃の前記集合の前記特徴は、前記環境条件に影響される前記エクスプロイトコードの数と、前記環境条件に影響される前記ペイロードの数とで表される、付記1に記載のナレッジ生成装置。
(付記4)
前記選択ルールは、前記環境条件の一つ以上のグループを示し、
前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
前記選択ルールに示される前記グループは、選択されるべき前記環境条件を示し、
前記ナレッジ情報の生成は、
前記検出された環境条件を前記グループに分類し、
前記選択ルールに示されるいずれか一つのグループに含まれる、前記検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記3に記載のナレッジ生成装置。
(付記5)
前記選択ルールは、前記環境条件の1つ以上のグループを示し、
前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
前記選択ルールに示される前記グループは、選択されないべき前記環境条件を含み、
前記ナレッジ情報の生成は、
前記検出された環境条件を前記グループに分類し、
前記選択ルールに示されるいずれの前記グループにも含まれない、前記検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記3に記載のナレッジ生成装置。
(付記6)
前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の閾値を示し、
前記ナレッジ情報の生成は、
前記環境条件に影響される前記エクスプロイトコードの数が閾値以上である場合に、その検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記3に記載のナレッジ生成装置。
(付記7)
前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の第1閾値と、前記環境条件に影響される前記ペイロードの数の第2閾値とを示し、
前記ナレッジ情報の生成は、
前記環境条件に影響される前記エクスプロイトコードの数が前記第1閾値以上であり、なおかつ、前記環境条件に影響される前記ペイロードの数が前記第2閾値以上である場合に、その検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記3に記載のナレッジ生成装置。
(付記8)
前記ナレッジ情報の生成は、
前記選択された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、
各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成することを含む、付記1から7いずれか一項に記載のナレッジ生成装置。
(付記9)
少なくとも一つのプロセッサと、
命令が格納されているメモリとを有し、
前記少なくとも一つのプロセッサは、前記命令を実行することにより、
コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、
前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、
各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれるナレッジ情報を生成すること、
を実行するように構成されるナレッジ生成装置。
(付記10)
コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、
前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、を含む、コンピュータによって実行される制御方法。
(付記11)
前記選択ルールは、前記環境条件が前記コンピュータ環境の通常の動作に必要である場合には、前記環境条件を前記ナレッジ情報に含めないように決定するルールを含む、付記10に記載の制御方法。
(付記12)
前記攻撃の前記構成は、その攻撃を構成するエクスプロイトコード及びペイロードを含み、かつ、
前記環境条件に影響される前記攻撃の前記集合の前記特徴は、前記環境条件に影響される前記エクスプロイトコードの数と、前記環境条件に影響される前記ペイロードの数とで表される、付記10に記載の制御方法。
(付記13)
前記選択ルールは、前記環境条件の一つ以上のグループを示し、
前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
前記選択ルールに示される前記グループは、選択されるべき前記環境条件を示し、
前記ナレッジ情報の生成は、
前記検出された環境条件を前記グループに分類し、
前記選択ルールに示されるいずれか一つのグループに含まれる、前記検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記12に記載の制御方法。
(付記14)
前記選択ルールは、前記環境条件の1つ以上のグループを示し、
前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
前記選択ルールに示される前記グループは、選択されないべき前記環境条件を含み、
前記ナレッジ情報の生成は、
前記検出された環境条件を前記グループに分類し、
前記選択ルールに示されるいずれの前記グループにも含まれない、前記検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記12に記載の制御方法。
(付記15)
前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の閾値を示し、
前記ナレッジ情報の生成は、
前記環境条件に影響される前記エクスプロイトコードの数が閾値以上である場合に、その検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記12に記載の制御方法。
(付記16)
前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の第1閾値と、前記環境条件に影響される前記ペイロードの数の第2閾値とを示し、
前記ナレッジ情報の生成は、
前記環境条件に影響される前記エクスプロイトコードの数が前記第1閾値以上であり、なおかつ、前記環境条件に影響される前記ペイロードの数が前記第2閾値以上である場合に、その検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記12に記載の制御方法。
(付記17)
前記ナレッジ情報の生成は、
前記選択された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、
各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成することを含む、付記10から16いずれか一項に記載の制御方法。
(付記18)
コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、
前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、
各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれるナレッジ情報を生成すること、を含む、コンピュータによって実行される制御方法。
(付記19)
コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、
前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、をコンピュータに実行させるプログラムが格納されている、非一時的なコンピュータ可読記憶媒体。
(付記20)
前記選択ルールは、前記環境条件が前記コンピュータ環境の通常の動作に必要である場合には、前記環境条件を前記ナレッジ情報に含めないように決定するルールを含む、付記19に記載の記憶媒体。
(付記21)
前記攻撃の前記構成は、その攻撃を構成するエクスプロイトコード及びペイロードを含み、かつ、
前記環境条件に影響される前記攻撃の前記集合の前記特徴は、前記環境条件に影響される前記エクスプロイトコードの数と、前記環境条件に影響される前記ペイロードの数とで表される、付記19に記載の記憶媒体。
(付記22)
前記選択ルールは、前記環境条件の一つ以上のグループを示し、
前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
前記選択ルールに示される前記グループは、選択されるべき前記環境条件を示し、
前記ナレッジ情報の生成は、
前記検出された環境条件を前記グループに分類し、
前記選択ルールに示されるいずれか一つのグループに含まれる、前記検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記21に記載の記憶媒体。
(付記23)
前記選択ルールは、前記環境条件の1つ以上のグループを示し、
前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
前記選択ルールに示される前記グループは、選択されないべき前記環境条件を含み、
前記ナレッジ情報の生成は、
前記検出された環境条件を前記グループに分類し、
前記選択ルールに示されるいずれの前記グループにも含まれない、前記検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記21に記載の記憶媒体。
(付記24)
前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の閾値を示し、
前記ナレッジ情報の生成は、
前記環境条件に影響される前記エクスプロイトコードの数が閾値以上である場合に、その検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記21に記載の記憶媒体。
(付記25)
前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の第1閾値と、前記環境条件に影響される前記ペイロードの数の第2閾値とを示し、
前記ナレッジ情報の生成は、
前記環境条件に影響される前記エクスプロイトコードの数が前記第1閾値以上であり、なおかつ、前記環境条件に影響される前記ペイロードの数が前記第2閾値以上である場合に、その検出された環境条件を選択し、かつ、
前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、付記21に記載の記憶媒体。
(付記26)
前記ナレッジ情報の生成は、
前記選択された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、
各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成することを含む、付記19から25いずれか一項に記載の記憶媒体。
(付記27)
コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、
前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、
各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれるナレッジ情報を生成すること、をコンピュータに実行させるプログラムが格納されている非一時的なコンピュータ可読記憶媒体。
100 攻撃結果情報
110 攻撃識別情報
120 攻撃構成
121 エクスプロイトコード
122 ペイロード
130 環境構成
131 OS
132 パッケージリスト
133 サービスリスト
134 ポートリスト
140 結果140
200 選択ルール200
300 ナレッジ情報
400 変換ルール
420 生記述
440 一般化問題
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 ナレッジ生成装置2000
2020 取得部
2040 検出部
2060 生成部
2080 第2生成部
ストレージデバイス1080は、前述したプログラムを格納しうる。プロセッサ1040は、ナレッジ生成装置2000の各機能構成部を実現するためにそのプログラムを実行する。さらに、ストレージデバイス1080は、攻撃結果情報100及び選択ルール200を格納しうる。しかしながら、ナレッジ生成装置2000は、攻撃結果情報100、選択ルール200、又は双方を、コンピュータ1000の外部に設けられている1つ以上のストレージデバイスから取得してもよい。
図4は、実施形態1のナレッジ生成装置2000によって実行される処理の流れの例を示すフローチャートである。取得部2020は、複数の攻撃結果情報100を取得する(S102)。検出部2040は、取得した攻撃結果情報100に基づいて、環境条件を検出する(S104)。生成部2060は、選択ルール200に基づいて、ナレッジ情報300に含めるべき環境条件を選択する(S106)。生成部2060は、選択された環境条件を含むナレッジ情報300を生成する(S108)。
なお、攻撃の対象となるコンピュータ環境は、任意のコンピュータ環境を表したものであってもよいし、実在するコンピュータ環境を表したものであってもよい。後者の場合、例えば、様々な攻撃構成でそのコンピュータ環境を攻撃することにより、現在の実際の構成のコンピュータ環境において成功する攻撃を検出することができる。その後、コンピュータ環境の構成を様々に変えながら、成功した攻撃をそのコンピュータ環境に対して再度行う。結果として、成功する攻撃を示す攻撃結果情報と、失敗した攻撃を示す攻撃結果情報とを得ることができる。そして、それらの攻撃結果情報を比較することにより、ナレッジ生成装置2000は、現存の環境を攻撃に対して脆弱にするために必要な環境条件を検出することができる。この検出された環境条件は、それらの攻撃を回避するためのナレッジと考えることができる。
<環境条件の検出:S104>
検出部2040は、コンピュータ環境への攻撃の成功に必要な環境条件を検出する(S106)。この検出は、取得した複数の攻撃結果情報100を比較することによって行われる。例えば、検出部2040は、攻撃構成に基づいて、複数の攻撃結果情報100をグループに分ける。具体的には、攻撃構成が互いに同じである複数の攻撃結果情報100が、同一のグループに分類される。そして、グループごとに、検出部2040は、そのグループに含まれる複数の攻撃結果情報100を互いに比較する。こうすることにより、検出部2040は、そのグループに対応する攻撃の達成に必要なコンピュータ環境の構成に関する1つ以上の条件を検出する。上述した比較によって検出されたコンピュータ環境の構成に関する条件は、環境条件として扱われる。なお、環境条件を検出するために取得した複数の攻撃結果情報100を比較する具体的な方法は、前述した方法に限定されない。

Claims (27)

  1. 少なくとも一つのプロセッサと、
    命令が格納されているメモリとを有し、
    前記少なくとも一つのプロセッサは、前記命令を実行することにより、
    コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
    前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、
    前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、
    を実行するように構成されるナレッジ生成装置。
  2. 前記選択ルールは、前記環境条件が前記コンピュータ環境の通常の動作に必要である場合には、前記環境条件を前記ナレッジ情報に含めないように決定するルールを含む、請求項1に記載のナレッジ生成装置。
  3. 前記攻撃の前記構成は、その攻撃を構成するエクスプロイトコード及びペイロードを含み、かつ、
    前記環境条件に影響される前記攻撃の前記集合の前記特徴は、前記環境条件に影響される前記エクスプロイトコードの数と、前記環境条件に影響される前記ペイロードの数とで表される、請求項1に記載のナレッジ生成装置。
  4. 前記選択ルールは、前記環境条件の一つ以上のグループを示し、
    前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
    前記選択ルールに示される前記グループは、選択されるべき前記環境条件を示し、
    前記ナレッジ情報の生成は、
    前記検出された環境条件を前記グループに分類し、
    前記選択ルールに示されるいずれか一つのグループに含まれる、前記検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項3に記載のナレッジ生成装置。
  5. 前記選択ルールは、前記環境条件の1つ以上のグループを示し、
    前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
    前記選択ルールに示される前記グループは、選択されないべき前記環境条件を含み、
    前記ナレッジ情報の生成は、
    前記検出された環境条件を前記グループに分類し、
    前記選択ルールに示されるいずれの前記グループにも含まれない、前記検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項3に記載のナレッジ生成装置。
  6. 前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の閾値を示し、
    前記ナレッジ情報の生成は、
    前記環境条件に影響される前記エクスプロイトコードの数が閾値以上である場合に、その検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項3に記載のナレッジ生成装置。
  7. 前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の第1閾値と、前記環境条件に影響される前記ペイロードの数の第2閾値とを示し、
    前記ナレッジ情報の生成は、
    前記環境条件に影響される前記エクスプロイトコードの数が前記第1閾値以上であり、なおかつ、前記環境条件に影響される前記ペイロードの数が前記第2閾値以上である場合に、その検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項3に記載のナレッジ生成装置。
  8. 前記ナレッジ情報の生成は、
    前記選択された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、
    各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成することを含む、請求項1から7いずれか一項に記載のナレッジ生成装置。
  9. 少なくとも一つのプロセッサと、
    命令が格納されているメモリとを有し、
    前記少なくとも一つのプロセッサは、前記命令を実行することにより、
    コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
    前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、
    前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、
    各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれるナレッジ情報を生成すること、
    を実行するように構成されるナレッジ生成装置。
  10. コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
    前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、
    前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、を含む、コンピュータによって実行される制御方法。
  11. 前記選択ルールは、前記環境条件が前記コンピュータ環境の通常の動作に必要である場合には、前記環境条件を前記ナレッジ情報に含めないように決定するルールを含む、請求項10に記載の制御方法。
  12. 前記攻撃の前記構成は、その攻撃を構成するエクスプロイトコード及びペイロードを含み、かつ、
    前記環境条件に影響される前記攻撃の前記集合の前記特徴は、前記環境条件に影響される前記エクスプロイトコードの数と、前記環境条件に影響される前記ペイロードの数とで表される、請求項10に記載の制御方法。
  13. 前記選択ルールは、前記環境条件の一つ以上のグループを示し、
    前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
    前記選択ルールに示される前記グループは、選択されるべき前記環境条件を示し、
    前記ナレッジ情報の生成は、
    前記検出された環境条件を前記グループに分類し、
    前記選択ルールに示されるいずれか一つのグループに含まれる、前記検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項12に記載の制御方法。
  14. 前記選択ルールは、前記環境条件の1つ以上のグループを示し、
    前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
    前記選択ルールに示される前記グループは、選択されないべき前記環境条件を含み、
    前記ナレッジ情報の生成は、
    前記検出された環境条件を前記グループに分類し、
    前記選択ルールに示されるいずれの前記グループにも含まれない、前記検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項12に記載の制御方法。
  15. 前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の閾値を示し、
    前記ナレッジ情報の生成は、
    前記環境条件に影響される前記エクスプロイトコードの数が閾値以上である場合に、その検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項12に記載の制御方法。
  16. 前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の第1閾値と、前記環境条件に影響される前記ペイロードの数の第2閾値とを示し、
    前記ナレッジ情報の生成は、
    前記環境条件に影響される前記エクスプロイトコードの数が前記第1閾値以上であり、なおかつ、前記環境条件に影響される前記ペイロードの数が前記第2閾値以上である場合に、その検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項12に記載の制御方法。
  17. 前記ナレッジ情報の生成は、
    前記選択された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、
    各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成することを含む、請求項10から16いずれか一項に記載の制御方法。
  18. コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
    前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、
    前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、
    各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれるナレッジ情報を生成すること、を含む、コンピュータによって実行される制御方法。
  19. コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
    前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、かつ、
    前記検出された環境条件のうちの一部を含むナレッジ情報を生成し、前記検出された環境条件のうちの前記一部は選択ルールに基づいて選択され、前記選択ルールは、前記環境条件に影響される攻撃の集合の特徴に基づいて前記環境条件を選択するかどうかを決定するルールであること、をコンピュータに実行させるプログラムが格納されている、非一時的なコンピュータ可読記憶媒体。
  20. 前記選択ルールは、前記環境条件が前記コンピュータ環境の通常の動作に必要である場合には、前記環境条件を前記ナレッジ情報に含めないように決定するルールを含む、請求項19に記載の記憶媒体。
  21. 前記攻撃の前記構成は、その攻撃を構成するエクスプロイトコード及びペイロードを含み、かつ、
    前記環境条件に影響される前記攻撃の前記集合の前記特徴は、前記環境条件に影響される前記エクスプロイトコードの数と、前記環境条件に影響される前記ペイロードの数とで表される、請求項19に記載の記憶媒体。
  22. 前記選択ルールは、前記環境条件の一つ以上のグループを示し、
    前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
    前記選択ルールに示される前記グループは、選択されるべき前記環境条件を示し、
    前記ナレッジ情報の生成は、
    前記検出された環境条件を前記グループに分類し、
    前記選択ルールに示されるいずれか一つのグループに含まれる、前記検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項21に記載の記憶媒体。
  23. 前記選択ルールは、前記環境条件の1つ以上のグループを示し、
    前記環境条件は、前記環境条件に影響される前記攻撃の前記集合の前記特徴に基づいて前記グループに分類され、
    前記選択ルールに示される前記グループは、選択されないべき前記環境条件を含み、
    前記ナレッジ情報の生成は、
    前記検出された環境条件を前記グループに分類し、
    前記選択ルールに示されるいずれの前記グループにも含まれない、前記検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項21に記載の記憶媒体。
  24. 前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の閾値を示し、
    前記ナレッジ情報の生成は、
    前記環境条件に影響される前記エクスプロイトコードの数が閾値以上である場合に、その検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項21に記載の記憶媒体。
  25. 前記選択ルールは、前記環境条件に影響される前記エクスプロイトコードの数の第1閾値と、前記環境条件に影響される前記ペイロードの数の第2閾値とを示し、
    前記ナレッジ情報の生成は、
    前記環境条件に影響される前記エクスプロイトコードの数が前記第1閾値以上であり、なおかつ、前記環境条件に影響される前記ペイロードの数が前記第2閾値以上である場合に、その検出された環境条件を選択し、かつ、
    前記選択された環境条件が含まれる前記ナレッジ情報を生成することを含む、請求項21に記載の記憶媒体。
  26. 前記ナレッジ情報の生成は、
    前記選択された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、
    各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれる前記ナレッジ情報を生成することを含む、請求項19から25いずれか一項に記載の記憶媒体。
  27. コンピュータ環境に対して実行される攻撃の構成と、前記コンピュータ環境の構成と、前記攻撃の結果とをそれぞれが示す複数の攻撃結果情報を取得し、
    前記複数の攻撃結果情報の比較により、それぞれが前記攻撃の成功に必要な前記コンピュータ環境に関する条件である一つ以の環境条件を検出し、
    前記検出された環境条件に影響される前記攻撃の前記結果から一般化された問題への変換を、前記攻撃の前記結果と前記一般化された問題との所定の対応関係に基づいて実行し、かつ、
    各前記一般化された問題について、前記一般化された問題と、その結果がその一般化された問題に変換された前記攻撃に影響される前記選択された環境条件とが含まれるナレッジ情報を生成すること、をコンピュータに実行させるプログラムが格納されている非一時的なコンピュータ可読記憶媒体。
JP2022570415A 2020-05-29 2020-05-29 ナレッジ生成装置、制御方法、及びプログラム Active JP7460242B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/021308 WO2021240770A1 (en) 2020-05-29 2020-05-29 Knowledge generation apparatus, control method, and storage device

Publications (2)

Publication Number Publication Date
JP2023527753A true JP2023527753A (ja) 2023-06-30
JP7460242B2 JP7460242B2 (ja) 2024-04-02

Family

ID=78723286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022570415A Active JP7460242B2 (ja) 2020-05-29 2020-05-29 ナレッジ生成装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20230214496A1 (ja)
JP (1) JP7460242B2 (ja)
WO (1) WO2021240770A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6116524B2 (ja) 2014-06-05 2017-04-19 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
JP6454617B2 (ja) 2015-07-31 2019-01-16 株式会社日立製作所 マルウェア動作環境推定方法、その装置およびシステム
WO2019093059A1 (ja) 2017-11-10 2019-05-16 国立研究開発法人産業技術総合研究所 脅威分析装置、脅威分析方法、及び脅威分析プログラム

Also Published As

Publication number Publication date
JP7460242B2 (ja) 2024-04-02
US20230214496A1 (en) 2023-07-06
WO2021240770A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
US10956477B1 (en) System and method for detecting malicious scripts through natural language processing modeling
EP3716110B1 (en) Computer-security event clustering and violation detection
US11899786B2 (en) Detecting security-violation-associated event data
Zarni Aung Permission-based android malware detection
RU2706896C1 (ru) Система и способ выявления вредоносных файлов с использованием модели обучения, обученной на одном вредоносном файле
US10015185B1 (en) Risk score aggregation for automated detection of access anomalies in a computer network
Khasawneh et al. Ensemble learning for low-level hardware-supported malware detection
EP3716111B1 (en) Computer-security violation detection using coordinate vectors
CN109145600B (zh) 使用静态分析元素检测恶意文件的***和方法
US8479296B2 (en) System and method for detecting unknown malware
CN110383278A (zh) 用于检测恶意计算事件的***和方法
Khasawneh et al. EnsembleHMD: Accurate hardware malware detectors with specialized ensemble classifiers
US9762593B1 (en) Automatic generation of generic file signatures
US10853489B2 (en) Data-driven identification of malicious files using machine learning and an ensemble of malware detection procedures
US8626675B1 (en) Systems and methods for user-specific tuning of classification heuristics
US11669779B2 (en) Prudent ensemble models in machine learning with high precision for use in network security
Yerima et al. Android malware detection: An eigenspace analysis approach
JP2017142744A (ja) 情報処理装置、ウィルス検出方法及びプログラム
Jiang et al. Android malware family classification based on sensitive opcode sequence
KR20200045529A (ko) 신분 인증 방법, 장치, 서버 및 컴퓨터 판독 가능 매체
Pathak et al. Study on decision tree and KNN algorithm for intrusion detection system
Falor et al. A deep learning approach for detection of SQL injection attacks using convolutional neural networks
Dehkordy et al. DroidTKM: Detection of trojan families using the KNN classifier based on manhattan distance metric
Fernando et al. Network attacks identification using consistency based feature selection and self organizing maps
KR20180133726A (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230208

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240314

R150 Certificate of patent or registration of utility model

Ref document number: 7460242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150