JP7207536B2 - ルール生成装置、ルール生成方法、及びプログラム - Google Patents

ルール生成装置、ルール生成方法、及びプログラム Download PDF

Info

Publication number
JP7207536B2
JP7207536B2 JP2021524736A JP2021524736A JP7207536B2 JP 7207536 B2 JP7207536 B2 JP 7207536B2 JP 2021524736 A JP2021524736 A JP 2021524736A JP 2021524736 A JP2021524736 A JP 2021524736A JP 7207536 B2 JP7207536 B2 JP 7207536B2
Authority
JP
Japan
Prior art keywords
attack
information
history information
rule
successful
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.)
Active
Application number
JP2021524736A
Other languages
English (en)
Other versions
JPWO2020246227A5 (ja
JPWO2020246227A1 (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 JPWO2020246227A1 publication Critical patent/JPWO2020246227A1/ja
Publication of JPWO2020246227A5 publication Critical patent/JPWO2020246227A5/ja
Application granted granted Critical
Publication of JP7207536B2 publication Critical patent/JP7207536B2/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、セキュリティ業務に用いるルールを生成する、ルール生成装置、ルール生成方法に関し、更には、これらを実現するためのプログラムに関する。
サイバー攻撃による脅威へのセキュリティ対策として、SOC(Security Operation Center)、CSIRT(Computer Security Incident Response Team)などの必要性が高まっている。ところが、SOC、CSIRTなどでは、分析官の経験、知識に基づいて、セキュリティ業務が行われているため、分析官の経験、知識が、セキュリティ業務の精度に影響を与える。
そこで、セキュリティ業務を支援する提案がされている。特許文献1によれば、互いに類似するサイバー攻撃の情報を、運用者、分析官に分かり易く提示することで、セキュリティ業務を支援する技術が開示されている。その技術によれば、監視対象の情報処理システム内におけるマルウェアの検出に応じて、マルウェアの情報を含むサイバー攻撃イベントの情報が登録されると、過去のサイバー攻撃イベントに関する情報を記憶した記憶部を参照して、登録されたサイバー攻撃イベントと所定の類似関係を有する他のサイバー攻撃イベントの検索を実行する。
特開2018-032354号公報
しかしながら、特許文献1に開示の技術を用いても、なお分析官の経験、知識に基づく部分が多いため、セキュリティ業務の精度を向上させることは困難である。また、運用者、分析官が、すべてのアラートをチェックすることは困難である。
そこで、セキュリティ業務を支援するエキスパートシステムを用いることで、セキュリティ業務の精度を向上させる提案がされている。ところが、現状ではエキスパートシステムで使用するルールは、エキスパートシステムを保守、管理する運用者(技術者、管理者)が手動で作成しているため、実用的なルールを生成することは困難である。
一つの側面として、セキュリティ業務に用いるルールを生成する、ルール生成装置、ルール生成方法、及びプログラムを提供することを目的とする。
上記目的を達成するため、一つの側面におけるルール生成装置は、
攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集部と、
前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成部と、
同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成部と、
前記攻撃成功条件と前記履歴情報とを用いてルールを生成する、ルール生成部と、
を有することを特徴とする。
また、上記目的を達成するため、一側面におけるルール生成方法は、
攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集ステップと、
前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成ステップと、
同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成ステップと、
前記攻撃成功条件と前記履歴情報とを用いてルールを生成する、ルール生成ステップと、
を有することを特徴とする方法。
さらに、上記目的を達成するため、一側面におけるプログラムは
コンピュータに、
攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集ステップと、
前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成ステップと、
同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成ステップと、
前記攻撃成功条件と前記履歴情報とを用いてルールを生成する、ルール生成ステップと、
を実行させることを特徴とする。
一つの側面として、セキュリティ業務に用いるルールを生成することができる。
図1は、ルール生成装置の一例を示す図である。 図2は、ルール生成装置を有するシステムの一例を示す図である。 図3は、環境情報のデータ構造の一例を示す図である。 図4は、攻撃成功情報のデータ構造の一例を示す図である。 図5は、二分決定グラフの一例を示す図である。 図6は、変形例1のシステムの一例を示す図である。 図7は、ルール生成装置の動作の一例を示す図である。 図8は、ルール生成装置の一例を示す図である。 図9は、ルールの生成を説明するための図である。 図10は、攻撃時履歴情報の生成を説明するための図である。 図11は、ルール生成装置を有するシステムの一例を示す図である。 図12は、ルール生成装置の動作の一例を示す図である。 図13は、ルール生成装置、分析支援装置を実現するコンピュータの一例を示す図である。
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
(実施形態1)
最初に、図1を用いて、実施形態1におけるルール生成装置1の構成について説明する。図1は、ルール生成装置の一例を示す図である。
実施形態1においては、攻撃シナリオを用いて模擬システムに攻撃を実行し、攻撃が実行された模擬システムから環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールを自動で生成する。すなわち、実施形態1においては、ドメイン知識を十分にカバーした実用的なルールを自動生成する。
攻撃シナリオとは、攻撃の始点となる機器から、攻撃の目標となる機器に対して攻撃を実行するために用いる攻撃手順を表す情報である。
模擬システムは、攻撃を再現するための環境を構築したシステムである。模擬システムは、攻撃の標的となる組織の被害環境を模擬したシステムである。また、模擬システムは、例えば、被害環境を模擬したシステムと、攻撃の標的となる組織へ攻撃をするための攻撃環境を模擬したシステムとを有してもよい。さらに、模擬システムは、攻撃を再現するための環境を仮想環境に実現してもよい。
なお、模擬システムを用いる理由は、稼働中の実システムに攻撃ができないため、模擬システムに攻撃を実行する。
環境(被害環境、又は攻撃環境、又は両方)を構成する要素は、例えば、コンピュータ(サーバ、端末)、0S(Operating System)、ソフトウェア、ネットワーク、通信、設定などである。
[装置構成]
図1に示すルール生成装置1は、セキュリティ業務に用いるルールを生成する装置である。また、図1に示すように、ルール生成装置1は、収集部2と、生成部3とを有する。
このうち、収集部2は、攻撃が実行された模擬システムの環境情報と履歴情報と攻撃情報とを収集する。生成部3は、模擬システムに対する攻撃を分析するために用いるルールを生成する。
環境情報は、模擬システムに構築された環境を表す情報である。履歴情報は、模擬システムで用いられた情報などである。攻撃情報は、模擬システムに対して実行した攻撃に関する情報である。
実施形態1においては、攻撃シナリオを用いて模擬システムに攻撃を実行し、攻撃が実行された模擬システムから環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールが生成できる。すなわち、実施形態1においては、ドメイン知識を十分にカバーした実用的なルールを自動生成することができる。
なお、攻撃シナリオとは、攻撃の始点となる機器から、攻撃の目標となる機器に対して攻撃を実行するために用いる攻撃手順を表す情報である。
[システム構成]
続いて、図2を用いて、実施形態1におけるルール生成装置1の構成をより具体的に説明する。図2は、ルール生成装置を有するシステムの一例を示す図である。
図2に示すように、実施形態1におけるルール生成装置1は、収集部2、生成部3に加えて、分析部4、出力情報生成部5を有する。また、図2に示すように、ルール生成装置1を有するシステムは、攻撃実行環境部20、構築部21、攻撃部22、出力装置23、実システム24を有する。
なお、図2に示すシステムにおいて、ルール生成装置1、攻撃実行環境部20、構築部21、攻撃部22それぞれを別々の装置としたが、これらのうち二つ以上を組み合わせて同じ装置としてもよい。
また、生成部3は、図2に示すように、攻撃成功ルール生成部3a、攻撃失敗ルール(攻撃対策ルール)生成部3b、攻撃時観測ルール生成部3c、攻撃成功時観測ルール生成部3d、攻撃失敗時観測ルール生成部3e、攻撃成功時結果ルール生成部3fを有する。
攻撃実行環境部20は、模擬システム20aを構築するために用いられる装置である。具体的には、攻撃実行環境部20は、一つ以上の物理サーバコンピュータなどの情報処理装置から構成される。
模擬システム20aは、例えば、フィジカルレイヤ、エミュレーションレイヤ、シミュレーションレイヤ、スタブレイヤなどから構築されるシステムが考えられる。また、レイヤそれぞれには、OS、ソフトウェア、ハードウェア、ネットワーク、仮想マシンなどが構築される。
構築部21は、模擬システム20aを攻撃実行環境部20に構築する。具体的には、構築部21は、環境を変更することにより、種類の異なる模擬システム20aを、攻撃実行環境部20に構築する。このように、構築部21を用いることにより、想定可能な仮想環境を網羅的に再現できる。
攻撃部22は、攻撃シナリオに基づいて、模擬システム20aに対して攻撃を実行する。具体的には、攻撃部22は、複数の異なる攻撃シナリオを用いて、模擬システム20aの一部又は全体を対象として、攻撃を実行する。このように、攻撃部22は、攻撃シナリオを変更して、模擬システム20aに対して、想定される様々な攻撃を試行できるので、想定される攻撃を網羅できる。
出力装置23は、出力情報生成部5により、出力可能な形式に変換された、出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。出力装置23は、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。更に、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力装置23は、プリンタなどの印刷装置でもよい。出力情報の詳細は後述する。
ルール生成装置について具体的に説明する。
収集部2は、攻撃シナリオに基づいて攻撃された、攻撃実行環境部20に構築された模擬システム20aなどから情報を収集し、不図示の記憶部に記憶する。
具体的には、収集部2は、攻撃無しの状態において、環境ごとに、環境情報と履歴情報とを収集する。また、収集部2は、攻撃有の状態において、環境ごとに、環境情報と履歴情報と攻撃情報とを収集する。そして、収集部2は、収集したこれらの情報を収集情報として記憶部に記憶する。
記憶部は、例えば、ルール生成装置1に設けられてもよいし、ルール生成装置1以外に設けてもよい。更に、記憶部は、複数の記憶部を用いて構成されていてもよい。
環境情報は、例えば、模擬システム20aに構築される、ネットワーク、ホストコンピュータ、OS、アプリケーション、ログイン権限などの環境に関する情報である。なお、環境情報には、実システム24に対する攻撃の可否に影響するその他の要素が含まれてもよい。
履歴情報は、例えば、ログ情報、パケット情報、設定情報、プロセス情報、イベント情報、サービスポート情報、ファイル情報などの模擬システムで用いられた情報である。
また、履歴情報は、例えば、攻撃情報の内容に基づいて、(1)攻撃無しの状態において収集した履歴情報の集合(攻撃無しの履歴集合)と、以下に示す攻撃有りの状態において収集した履歴情報の集合(攻撃有りの履歴集合)とに分類し、記憶部に記憶してもよい。
攻撃有りの履歴集合とは、例えば、(2)攻撃成功実行前履歴集合、(3)攻撃失敗実行前履歴集合、(4)攻撃成功実行中履歴集合、(5)攻撃失敗実行中履歴集合、(6)攻撃成功実行後履歴集合、(7)攻撃失敗実行後履歴集合などである。
(2)攻撃成功実行前履歴集合は、攻撃情報が有する攻撃結果が攻撃の成功を示し、履歴情報が有する日時情報が攻撃開始前の日時を示している場合に、分類される履歴情報の集合である。(3)攻撃失敗実行前履歴集合は、攻撃情報が有する攻撃結果が攻撃の失敗を示し、履歴情報が有する日時情報が攻撃開始前の日時を示している場合に、分類される履歴情報の集合である。
(4)攻撃成功実行中履歴集合は、攻撃情報が有する攻撃結果が攻撃の成功を示し、履歴情報が有する日時情報が攻撃実行中の日時を示している場合に、分類される履歴情報の集合である。(5)攻撃失敗実行中履歴集合は、攻撃情報が有する攻撃結果が攻撃の失敗を示し、履歴情報が有する日時情報が攻撃実行中の日時を示している場合に、分類される履歴情報の集合である。
(6)攻撃成功実行後履歴集合は、攻撃情報が有する攻撃結果が攻撃の成功を示し、履歴情報が有する日時情報が攻撃終了後の日時を示している場合に、分類される履歴情報の集合である。(7)攻撃失敗実行後履歴集合は、攻撃情報が有する攻撃結果が攻撃の失敗を示し、履歴情報が有する日時情報が攻撃終了後の日時を示している場合に、分類される履歴情報の集合である。
分類方法について具体的に説明する。収集部2は、まず、履歴情報に既知の技術であるマスク処理を実行する。マスク処理とは、例えば、履歴情報に含まれる、日時情報、プロセスID、動的割当ポート番号などを表す情報のうち、実行ごとに変化するような部分に対して行う処理である。
続いて、収集部2は、マスク処理をした履歴情報を、(1)攻撃無しの履歴集合と、攻撃有り履歴集合とに分類する。続いて、生成部3は、履歴情報に含まれる日時情報を参照して、攻撃情報に含まれる攻撃時間、攻撃結果を表す情報に基づいて、履歴情報を、(2)から(7)に示した集合に分類する。
なお、攻撃が成功した場合については、あらかじめ定義した結果(例えば、プログラムの実行、ファイル内容の書き換え、ファイルの読込、削除、運用者権限の取得など)に基づいて、更に分類してもよい。
攻撃情報は、例えば、攻撃種類、攻撃時間、攻撃結果などの情報を有する、模擬システムに対して実行した攻撃に関する情報である。
攻撃種類は、例えば、攻撃の手順、攻撃に利用した脆弱性、モジュールなどを表す情報である。攻撃時間は、例えば、攻撃開始日時、攻撃終了日時などを表す情報である。
攻撃結果は、例えば、攻撃の成功又は失敗を表す情報である。攻撃が成功したか、失敗したかは、あらかじめ定義した結果が実現されたか否かで判断する。あらかじめ定義された結果とは、例えば、プログラムの実行、ファイル内容の書き換え、ファイルの読込、削除、運用者権限の取得などである。
また、攻撃情報に攻撃確率を含めてもよい。その理由は、攻撃は1回の試行で成功しない場合もあるためである。攻撃確率は、攻撃を複数回試行した成功確率とする。例えば、同一環境において攻撃を10回試行し8回成功した場合、成功確率は0.8となる。
生成部3は、攻撃シナリオを用いて攻撃した模擬システム20aに関する環境情報と、履歴情報と、攻撃情報とを用いて、攻撃知識ベースを生成して、記憶部に記憶する。
攻撃知識ベースは、例えば、攻撃を分析するために用いるルールなどである。ルールとは、例えば、(A)攻撃成功ルール、(B)攻撃失敗ルール、(C)攻撃時観測ルール、(D)攻撃成功時観測ルール、(E)攻撃失敗時観測ルール、(F)攻撃成功時結果ルールなどのルールである。
具体的には、生成部3は、まず、攻撃シナリオに基づいて攻撃した模擬システム20aに関する環境情報と、履歴情報と、攻撃情報とを用いて、攻撃シナリオごとに、成立条件を抽出する。
成立条件は、例えば、(a)攻撃成功条件、(b)攻撃可能条件、(c)攻撃失敗条件、(d)攻撃時の痕跡、(e)攻撃成功時の痕跡、(f)攻撃失敗時の痕跡、(g)攻撃成功による環境変化などの条件である。
(a)攻撃成功条件とは、例えば、どの攻撃シナリオが成功するのかを表す条件である。(b)攻撃可能条件とは、例えば、攻撃を実行するために最低限必要な環境を表す条件である。(c)攻撃失敗条件とは、例えば、どの攻撃シナリオが失敗するのかを表す条件である。
(d)攻撃時の痕跡とは、例えば、環境ごとに、攻撃シナリオが実行した場合、どのような痕跡が残るかを表す情報である。(e)攻撃成功時の痕跡とは、例えば、環境ごとに、攻撃シナリオが成功した場合、どのような痕跡が残るかを表す情報である。(f)攻撃失敗時の痕跡とは、例えば、環境ごとに、攻撃シナリオが失敗した場合、どのような痕跡が残るかを表す情報である。
(g)攻撃成功による環境変化とは、例えば、環境ごとに、攻撃シナリオが成功した場合、システムに起こる環境の変化を表す情報である。
成立条件の抽出について説明をする。生成部3は、(a)攻撃成功条件、及び、(c)攻撃失敗条件を、攻撃成功時と攻撃失敗時の環境情報の差分から抽出する。また、生成部3は、(b)攻撃可能条件を、攻撃成功時と攻撃失敗時の環境情報の共通部から抽出する。
また、生成部3は、(d)攻撃時の痕跡を、攻撃無し時と攻撃成功時、攻撃無し時と攻撃失敗時の履歴情報(例えば、ログ情報、パケット情報など)の差分から抽出する。また、生成部3は、(e)攻撃成功時の痕跡、及び、(f)攻撃失敗時の痕跡を、攻撃成功時と攻撃失敗時の履歴情報の差分から抽出する。
また、生成部3は、(g)攻撃成功による環境変化を、攻撃無し時と攻撃成功時の環境情報の差分から抽出する。
続いて、生成部3は、(A)から(F)に示したルールを生成する。攻撃成功ルール生成部3aは、模擬システム20aに対して攻撃が成功した場合、(a)攻撃成功条件と(b)攻撃可能条件とを用いて、(A)攻撃成功ルールを生成する。
攻撃成功ルール生成部3aについて、図3を用いて具体的に説明をする。図3は、環境情報のデータ構造の一例を示す図である。図3の例は、環境情報を二値化した例を示している。すなわち、図3の例では、「Login」はログイン権限を表している。「user」は分析官などの利用者権限を表し、「admin」は運用者(技術者、管理者)などの運用者権限を表している。
なお、ホストコンピュータに対する利用者権限「user」を用いて、ログインする場合には「1」とし、ログインしない場合には「0」とする。また、ホストコンピュータに対する運用者権限「admin」を用いて、ログインする場合には「1」とし、ログインしない場合には「0」とする。
また、「wds7」「wds10」は、ホストコンピュータにインストールされるオペレーションシステム「OS」を表している。オペレーションシステム「OS」として「wds7」を用いる場合には「1」とし、「wds7」を用いない場合には「0」とする。オペレーションシステムOSとして「wds10」を用いる場合には「1」とし、「wds10」を用いない場合には「0」とする。
また、「ofc10」は、ホストコンピュータにインストールされるアプリケーション「Application」を表している。アプリケーション「Application」として「ofc10」を用いる場合には「1」とする。なお、アプリケーション「Application」として「ofc10」を用いない場合には「0」とする。
また、「KB12345」は、ホストコンピュータにインストールされるセキュリティパッチ「Security Patch」を表している。セキュリティパッチ「Security Patch」として「KB12345」を用いる場合には「1」とし、「KB12345」を用いない場合には「0」とする。
具体的には、攻撃成功ルール生成部3aは、まず、攻撃部22が模擬システム20aに対して攻撃xを試行した場合に、攻撃xが成功した環境を抽出する。図4は、攻撃成功情報のデータ構造の一例を示す図である。図4に示す「Attack Succeed」の情報は、模擬システム20aの環境に対して、攻撃xを試行した場合に、攻撃xが成功したか否かを表す。図4の例では、攻撃成功ルール生成部3aは、攻撃xが成功した場合には「1」とし、攻撃xが失敗した場合には「0」とする。
続いて、攻撃成功ルール生成部3aは、図4に示す攻撃成功情報などを用いて、攻撃が成功した環境(「攻撃成功」が「1」の環境)を抽出する。その後、攻撃成功ルール生成部3aは、その環境に基づいて、攻撃xが実行可能な(b)攻撃可能条件と、攻撃xが成功する(a)攻撃成功条件とを抽出する。
(b)攻撃可能条件については、攻撃が成功したか失敗したかに関わらず、実行できた場合をすべて「1」と表し、攻撃が実行できた環境を抽出する。そうすると、図4の例では、(b)攻撃可能条件として、「wds7」が「1」で、かつ「ofc10」が「1」の環境、及び、「wds10」が「1」で、かつ「ofc10」が「1」の環境が抽出される。
また、図4の例では、(a)攻撃成功条件として、「wds7」が「1」で「ofc10」が「1」で「KB12345」が「0」の環境、及び、「wds10」が「1」で「ofc10」が「1」で「KB12345」が「0」の環境が抽出される。
更に、攻撃成功ルール生成部3aは、図5に示すような二分決定グラフを用いて、(b)攻撃可能条件と(a)攻撃成功条件とを抽出してもよい。図5は、二分決定グラフの一例を示す図である。なお、(a)攻撃成功条件は、ZDD(Zero-suppressed Binary Decision Diagram)などの既知のアルゴリズムを用いてもよい。
続いて、攻撃成功ルール生成部3aは、抽出した(b)攻撃可能条件と(a)攻撃成功条件とを用いて、(A)攻撃成功ルールを生成する。例えば、数1に示す(b)攻撃可能条件と(a)攻撃成功条件とに対応する論理式を、攻撃成功ルール生成部3aに入力して、数2に示すような(A)攻撃成功ルールを生成する。なお、数3は攻撃可能ルールを示す。
(数1)
(b)攻撃可能条件の論理式:
(wds7 or wds10) & ofc10 & (Login(user) or Login(admin))
(a)攻撃成功条件の論理式:
¬KB12345
(数2)
(A)攻撃成功ルール
AttackSucceed (attacker, _host, _privilege, x) :-
NotSatisfy (_host, software, “KB12345”)
ExecuteAttack (_attacker, _host, _privilege, x)
(数3)
攻撃可能ルール
ExecuteAttack (_attacker, _host, _privilege, x) :-
Satisfy (_host, software, “wds7”)
Satisfy (_host, software, “ofc10”)
LoginSucceed (_attacker, _host、_privilege)
ここで、Satisfy (_host, software, “wds7”)は、_hostにおいて”wds7”というソフトウェアがインストールされているという条件を満たしていることを表している。LoginSucceed (_attacker, _host, _privilege)は、_attackerが_hostに_privilegeの権限でログインできることを表している。NotSatisfyは、Satisfyの否定を表している。ExecuteAttack (_attacker, _host, _privilege, x)は、_attackerが_hostに対して_privilegeの権限で攻撃xを行ったことを表している。AttackSucceed (_attacker, _host, _privilege, x)は、_attackerが_hostで_privilegeの権限で行った攻撃xが成功することを表している。
攻撃失敗ルール生成部3bは、模擬システム20aに対して攻撃が失敗した場合、(c)攻撃失敗条件から(B)攻撃失敗ルールを生成する。
具体的には、攻撃失敗ルール生成部3bは、攻撃xが、セキュリティパッチ「KB12345」が適用されている環境において、攻撃が失敗する場合、数4に示す(B)攻撃失敗ルールを生成する。
(数4)
(B)攻撃失敗ルール
AttackFail (_attacker, _host, _privilege, x) :-
Satisfy (_host, software, KB12345)
ExecuteAttack (_attacker, _privilege, _host, x)
攻撃時観測ルール生成部3cは、模擬システム20aに対して攻撃が観測された場合、(d)攻撃時の痕跡から(C)攻撃時観測ルールを生成する。
具体的には、攻撃時観測ルール生成部3cは、攻撃xを実行した場合、履歴情報としてログ情報「z1」が観測された場合、数5に示す(C)攻撃時観測ルールを生成する。
(数5)
(C)攻撃時観測ルール
Observe (_host, log, z1) :-
ExecuteAttack (_attacker, _host, _privilege, x)
攻撃成功時観測ルール生成部3dは、模擬システム20aに対して攻撃の成功が観測された場合、(e)攻撃成功時の痕跡から(D)攻撃成功時観測ルールを生成する。
具体的には、攻撃成功時観測ルール生成部3dは、ホストコンピュータAからホストコンピュータBへの攻撃xが成功した場合、ネットワークでホストコンピュータAからホストコンピュータBへのパケット情報「z2」が観測された場合、数6に示す(D)攻撃成功時観測ルールを生成する。
(数6)
(D)攻撃成功時観測ルール
Observe (_subnetA, _hostA, _hostB, z2) :-
AttackSucceed (_attacker, _hostA, _hostB, x)
BelongTo (_hostA, _subnetA)

Observe (_subnetB, _hostA, _hostB, z2) :-
AttackSucceed (_attacker, _hostA, _hostB, x)
BelongTo (_hostB, _subnetB)
攻撃失敗時観測ルール生成部3eは、模擬システム20aに対して攻撃の失敗が観測された場合、(f)攻撃失敗時の痕跡から(E)攻撃失敗時観測ルールを生成する。
具体的には、攻撃失敗時観測ルール生成部3eは、攻撃xが失敗した場合、履歴情報としてログ情報「z3」が観測された場合、数7に示す(E)攻撃失敗時観測ルールを生成する。
(数7)
(E)攻撃失敗時観測ルール
Observe (_host, log, z3) :-
AttackFail (_attacker, _host, _privilege, x)
なお、履歴情報(痕跡)を二値化する場合には、例えば、ホストコンピュータAからホストコンピュータBへTCP(Transmission Control Protocol)を用いて宛先ポート番号へパケットが送信されていれば「1」とし、それ以外は「0」とする。また、例えば、ホストコンピュータAのイベントログに「XXX」というログがあれば「1」とし、そうでなければ「0」とする。
攻撃成功時結果ルール生成部3fは、模擬システム20aに対して攻撃が成功し、環境に生じた変化を抽出した場合、(g)攻撃成功による環境変化から(F)攻撃成功時結果ルールを生成する。
具体的には、攻撃成功時結果ルール生成部3fは、攻撃xが成功した場合、リモートデスクトップサービス(TCP:3389)が立ち上がるという環境変化が現れた場合、数8に示す(F)攻撃成功時結果ルールを生成する。
(数8)
(F)攻撃成功時結果ルール
Satisfy (_host, service, rdp, tcp, 3389) :-
AttackSucceed (_attacker, _host, _privilege, x)
なお、例えば、環境変化を二値化する場合には、例えば、ホストコンピュータAにおいて、所定のTCPポートでサービスが立ち上がれば「1」とし、そうでなければ「0」とする。
攻撃の成功確率が判明している場合、その確率をルールの属性情報として付与することもできる。なお、上記のルールは簡略化した一例であり、これに限定されるものではない。
このように、実施形態1においては、攻撃シナリオを用いて模擬システム20aに攻撃を実行し、攻撃が実行された模擬システム20aに関する環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールが生成できる。すなわち、実施形態1においては、ドメイン知識を十分にカバーした実用的なルールを自動生成することができる。
分析部4は、対象のシステム(実システム24)から収集した環境情報と履歴情報と攻撃情報、及び、攻撃成功ルール、又は攻撃失敗ルール、又は攻撃時観測ルール、又は攻撃成功時観測ルール、又は攻撃失敗時観測ルール、又は攻撃成功時結果ルール、又はこれらのうち二つ以上を用いて、攻撃を分析する。
具体的には、分析部4は、実システム24から、環境情報と履歴情報と攻撃情報とを収集する。また、分析部4は、不図示の記憶部から、攻撃成功ルール、又は攻撃失敗ルール、又は攻撃時観測ルール、又は攻撃成功時観測ルール、又は攻撃失敗時観測ルール、又は攻撃成功時結果ルール、又はこれらのうち二つ以上を収集する。
続いて、分析部4は、収集した情報を用いて、攻撃を分析する。分析とは、例えば、リスク評価、リスク対策、攻撃推定、追跡、緩和対処、監視強化などある。
リスク評価の分析とは、例えば、実システム24に存在するリスクを評価するための分析である。リスク対策の分析とは、例えば、攻撃に対するリスクを最小化するために効果的な対策を分析することである。攻撃推定(攻撃の分析)とは、例えば、攻撃シナリオを推定するための分析である。
追跡の分析とは、例えば、特定された攻撃から、次に続く攻撃行動を予測し、どこまで攻撃が進行しているか判断する分析である。緩和対処の分析とは、例えば、攻撃がこれ以上進行しないために実施すべき緩和対処を分析することである。すなわち、次に起こりうる攻撃を未然に防止するため、攻撃を成立させる条件に対して効果的な防御を分析することである。監視強化の分析とは、例えば、攻撃が発生した場合、攻撃において観測される痕跡を用いて、監視場所となる環境と、監視対象となる履歴情報を推定するための分析である。
出力情報生成部5は、分析結果を用いて、出力装置23に出力するために用いる出力情報を生成する。出力情報は、例えば、運用者、分析官が、上述したリスク評価、リスク対策、攻撃推定、追跡、緩和対処、監視強化などの分析作業をする場合に、運用者、分析官の作業を支援するために用いる情報である。
具体的には、出力情報生成部5は、リスク評価の分析を支援するために、リスク評価の分析結果を、出力装置23に出力するために用いる出力情報を生成する。例えば、出力情報生成部5は、成立条件と攻撃結果とを組み合わせて攻撃グラフに関する出力情報を生成し、出力装置23に出力する。
また、出力情報生成部5は、リスク対策の分析を支援するために、攻撃リスクを最小化する効果的なリスク対策の分析結果を、出力装置23に出力するために用いる出力情報を生成する。
また、出力情報生成部5は、攻撃推定(攻撃の分析)を支援するために、痕跡と現在の環境に基づいて推定した攻撃シナリオを、出力装置23に出力するために用いる出力情報を生成する。
また、出力情報生成部5は、追跡の分析を支援するために、特定された攻撃から、次に続く攻撃行動を予測した結果を、出力装置23に出力するために用いる出力情報を生成する。
また、出力情報生成部5は、緩和対処を支援するために、攻撃がこれ以上進行しないために実施すべき緩和対処(次に起こりうる攻撃を未然に防止するため、攻撃を成立させる条件に対して効果的な防御手段)を、出力装置23に出力するために用いる出力情報を生成する。
また、出力情報生成部5は、監視強化を支援するために、攻撃において観測される痕跡を用いて推定された、監視場所となる環境と、監視対象となる履歴情報とを、出力装置23に出力するために用いる出力情報を生成する。
このように、実施形態1においては、攻撃を分析する、運用者、分析官に、分析結果を提示することで、セキュリティ業務を支援することができる。
[変形例1]
変形例1について説明する。図2の例においては、分析部4と出力情報生成部5とを有するルール生成装置1について説明したが、変形例1では、分析部4と出力情報生成部5とをルール生成装置1から分離したシステムについて説明する。変形例1のシステムとしては、例えば、図6に示すような構成としてもよい。
図6は、変形例1のシステムの一例を示す図である。図6の例では、ルール生成装置1は、収集部2と生成部3とを有し、分析支援装置61は、分析部4と出力情報生成部5とを有している。
図6の例においては、ルール生成装置1は、上述した攻撃シナリオを用いて攻撃した模擬システム20aに関する環境情報と、履歴情報と、攻撃情報とを用いて、(A)攻撃成功ルール、(B)攻撃失敗ルール、(C)攻撃時観測ルール、(D)攻撃成功時観測ルール、(E)攻撃失敗時観測ルール、(F)攻撃成功時結果ルールなどの攻撃知識ベースを生成して、記憶部62に記憶する。
また、図6の例においては、分析支援装置61が有する分析部4は、対象のシステム(実システム24)から、収集した環境情報と履歴情報と攻撃情報とを取得する。また、分析支援装置61が有する分析部4は、記憶部62から、模擬システム20aの攻撃成功ルール、又は攻撃失敗ルール、又は攻撃時観測ルール、又は攻撃成功時観測ルール、又は攻撃失敗時観測ルール、又は攻撃成功時結果ルール、又はこれらのうち二つ以上を収集する。
図6の例においては、分析支援装置61が有する分析部4は、収集した情報を用いて攻撃を分析する。例えば、分析部4は、リスク評価、リスク対策、攻撃推定、追跡、緩和対処、監視強化などの分析をする。
分析支援装置61が有する出力情報生成部5は、分析部4が生成した分析結果を用いて、出力装置23に出力するために用いる出力情報を生成する。出力情報は、例えば、運用者、分析官が、上述したリスク評価、リスク対策、攻撃推定、追跡、緩和対処、監視強化などの作業をする場合に、運用者、分析官の作業を支援するために用いる情報である。
このように、変形例1よれば、攻撃シナリオを用いて模擬システム20aに攻撃を実行し、攻撃が実行された模擬システムから環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールが生成できる。すなわち、実施形態1においては、ドメイン知識を十分にカバーした実用的なルールを自動生成することができる。
また、変形例1よれば、攻撃を分析する、運用者、分析官に、分析結果を提示することで、セキュリティ業務を支援することができる。
[装置動作]
次に、実施形態1におけるルール生成装置1の動作について図7を用いて説明する。図7は、ルール生成装置の動作の一例を示す図である。以下の説明においては、適宜図2から図6を参照する。また、実施形態1では、ルール生成装置1を動作させることによって、ルール生成方法が実施される。よって、実施形態1におけるルール生成方法の説明は、以下のルール生成装置の動作説明に代える。
収集処理について説明する。
図7に示すように、最初に、収集部2は、攻撃シナリオに基づいて攻撃された、攻撃実行環境部20に構築された模擬システム20aの環境情報と履歴情報と攻撃情報とを収集し、不図示の記憶部に記憶する(ステップA1)。
具体的には、ステップA1において、収集部2は、攻撃無しの状態において、環境ごとに、環境情報と履歴情報とを収集する。また、ステップA1において、収集部2は、攻撃有の状態において、環境ごとに、環境情報と履歴情報と攻撃情報とを収集する。そして、ステップA1において、収集部2は、収集したこれらの情報を収集情報として記憶部に記憶する。
なお、ステップA1において、収集部2は、収集した履歴情報を、攻撃情報の内容に基づいて、集合ごとに分類してもよい。
続いて、生成部3は、攻撃シナリオを用いて攻撃した模擬システム20aに関する環境情報と、履歴情報と、攻撃情報とを用いて、攻撃知識ベースを生成して、記憶部に記憶する(ステップA2)。ステップA2において、生成部3は、(A)攻撃成功ルール、(B)攻撃失敗ルール、(C)攻撃時観測ルール、(D)攻撃成功時観測ルール、(E)攻撃失敗時観測ルール、(F)攻撃成功時結果ルールなどのルールを生成する。
具体的には、ステップA2において、生成部3は、まず、攻撃シナリオに基づいて攻撃した模擬システム20aに関する環境情報と、履歴情報と、攻撃情報とを用いて、攻撃シナリオごとに、例えば、(a)攻撃成功条件、(b)攻撃可能条件、(c)攻撃失敗条件、(d)攻撃時の痕跡、(e)攻撃成功時の痕跡、(f)攻撃失敗時の痕跡、(g)攻撃成功による環境変化などの条件を抽出する。
生成部3は、例えば、(a)攻撃成功条件、及び、(c)攻撃失敗条件を、攻撃成功時と攻撃失敗時の環境情報の差分から抽出する。また、生成部3は、(b)攻撃可能条件を、攻撃成功時と攻撃失敗時の環境情報の共通部から抽出する。
また、生成部3は、(d)攻撃時の痕跡を、攻撃無し時と攻撃成功時、攻撃無し時と攻撃失敗時の履歴情報(例えば、ログ情報、パケット情報など)の差分から抽出する。また、生成部3は、(e)攻撃成功時の痕跡、及び、(f)攻撃失敗時の痕跡を、攻撃成功時と攻撃失敗時の履歴情報の差分から抽出する。
また、生成部3は、(g)攻撃成功による環境変化を、攻撃無し時と攻撃成功時の環境情報の差分から抽出する。
続いて、ステップA2において、攻撃成功ルール生成部3aは、模擬システム20aに対して攻撃が成功した場合、(a)攻撃成功条件と(b)攻撃可能条件とを用いて、(A)攻撃成功ルールを生成する。
また、ステップA2において、攻撃失敗ルール生成部3bは、模擬システム20aに対して攻撃が失敗した場合、(c)攻撃失敗条件から(B)攻撃失敗ルールを生成する。
また、ステップA2において、攻撃時観測ルール生成部3cは、模擬システム20aに対して攻撃が観測された場合、(d)攻撃時の痕跡から(C)攻撃時観測ルールを生成する。
また、ステップA2において、攻撃成功時観測ルール生成部3dは、模擬システム20aに対して攻撃の成功が観測された場合、(e)攻撃成功時の痕跡から(D)攻撃成功時観測ルールを生成する。
また、ステップA2において、攻撃失敗時観測ルール生成部3eは、模擬システム20aに対して攻撃の失敗が観測された場合、(f)攻撃失敗時の痕跡から(E)攻撃失敗時観測ルールを生成する。
また、ステップA2において、攻撃成功時結果ルール生成部3fは、模擬システム20aに対して攻撃が成功し、環境に生じた変化を抽出した場合、(g)攻撃成功による環境変化から(F)攻撃成功時結果ルールを生成する。
続いて、ルール生成装置1は、ルール生成の処理を終了する指示を取得した場合(A3:Yes)には、ルール生成の処理を終了し、ルール生成の処理を継続する場合(A3:No)には、ステップA1に移行する。
続いて、分析部4は、対象のシステム(実システム24)から収集した環境情報と履歴情報と攻撃情報、及び、模擬システム20aの攻撃成功ルール、又は攻撃失敗ルール、又は攻撃時観測ルール、又は攻撃成功時観測ルール、又は攻撃失敗時観測ルール、又は攻撃成功時結果ルール、又はこれらのうち二つ以上を用いて、攻撃を分析する(ステップA4)。
具体的には、ステップA4において、分析部4は、実システム24から、環境情報と履歴情報と攻撃情報とを収集する。また、分析部4は、記憶部から、攻撃成功ルール、又は攻撃失敗ルール、又は攻撃時観測ルール、又は攻撃成功時観測ルール、又は攻撃失敗時観測ルール、又は攻撃成功時結果ルール、又はこれらのうち二つ以上を収集する。
続いて、ステップA4において、分析部4は、収集した情報を用いて、攻撃を分析する。分析とは、例えば、リスク評価、リスク対策、攻撃推定、追跡、緩和対処、監視強化などある。
続いて、出力情報生成部5は、分析結果を用いて、出力装置23に出力するために用いる出力情報を生成する(ステップA5)。
具体的には、ステップA5において、出力情報生成部5は、リスク評価の分析を支援するために、すなわちリスク評価の分析結果を運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。出力情報生成部5は、例えば、成立条件と攻撃結果とを組み合わせて、リスク評価で用いる攻撃グラフに関する出力情報を生成する。
また、ステップA5において、出力情報生成部5は、リスク対策の分析を支援するために、すなわち攻撃リスクを最小化する効果的なリスク対策の分析結果を運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。
また、ステップA5において、出力情報生成部5は、攻撃推定(攻撃の分析)を支援するために、すなわち痕跡と現在の環境に基づいて推定した攻撃シナリオを運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。
また、ステップA5において、出力情報生成部5は、追跡の分析を支援するために、すなわち特定された攻撃から、次に続く攻撃行動を予測した結果を運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。
また、ステップA5において、出力情報生成部5は、監視強化を支援するために、すなわち攻撃において観測された痕跡を用いて推定された、監視場所となる環境と、監視対象となる履歴情報とを運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。
また、ステップA5において、出力情報生成部5は、緩和対処を支援するために、すなわち攻撃がこれ以上進行しないために実施すべき緩和対処(次に起こりうる攻撃を未然に防止するため、攻撃を成立させる条件に対して効果的な防御手段)を運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。
また、ステップA5において、出力情報生成部5は、監視強化を支援するために、すなわち攻撃において観測される痕跡を用いて推定された、監視場所となる環境と、監視対象となる履歴情報とを運用者、分析官に提示するために、出力装置23に出力するために用いる出力情報を生成する。
続いて、出力情報生成部5は、生成した出力情報を出力装置23に出力する(ステップA6)。続いて、ルール生成装置1は、分析支援の処理を終了する指示を取得した場合(A7:Yes)には、分析支援の処理を終了し、分析支援の処理を継続する場合(A7:No)には、ステップA4に移行する。
[変形例1の動作]
変形例1の動作について説明する。変形例1においては、ステップA4からA6の処理を、分析支援装置61の分析部4及び出力情報生成部5を用いて実行させる。また、変形例1においては、ステップA7の処理は、分析支援装置61を用いて、分析支援の処理を終了させる。
[実施形態1の効果]
以上のように実施形態1によれば、攻撃シナリオを用いて模擬システムに攻撃を実行し、攻撃が実行された模擬システムから環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールが生成できる。すなわち、実施形態1においては、ドメイン知識を十分にカバーした実用的なルールを自動生成することができる。
また、攻撃を分析する、運用者、分析官に、分析結果を提示することで、セキュリティ業務を支援することができる。
[プログラム]
実施形態1におけるプログラムは、コンピュータに、図7に示すステップA1からA7を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態1におけるルール生成装置とルール生成方法とを実現することができる。この場合、コンピュータのプロセッサは、収集部2、生成部3(攻撃成功ルール生成部3a、攻撃失敗ルール生成部3b、攻撃時観測ルール生成部3c、攻撃成功時観測ルール生成部3d、攻撃失敗時観測ルール生成部3e、攻撃成功時結果ルール生成部3f)、分析部4、出力情報生成部5として機能し、処理を行なう。
また、実施形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、収集部2、生成部3(攻撃成功ルール生成部3a、攻撃失敗ルール生成部3b、攻撃時観測ルール生成部3c、攻撃成功時観測ルール生成部3d、攻撃失敗時観測ルール生成部3e、攻撃成功時結果ルール生成部3f)、分析部4、出力情報生成部5のいずれかとして機能してもよい。
(実施形態2)
図8を用いて、実施形態2におけるルール生成装置100の構成について説明する。図8は、ルール生成装置の一例を示す図である。
実施形態2においては、攻撃シナリオを用いて模擬システムに攻撃を実行し、攻撃が実行された模擬システムから環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールを自動で生成する。すなわち、実施形態2においては、ドメイン知識を十分にカバーした実用的なルールを自動生成する。
模擬システムは、攻撃を再現するための環境を構築したシステムである。模擬システムは、攻撃の標的となる組織の被害環境を模擬したシステムである。また、模擬システムは、例えば、被害環境を模擬したシステムと、攻撃の標的となる組織へ攻撃をするための攻撃環境を模擬したシステムとを有してもよい。さらに、模擬システムは、攻撃を再現するための環境を仮想環境に実現してもよい。
環境(被害環境、又は攻撃環境、又は両方)を構成する要素は、例えば、コンピュータ(サーバ、端末)、0S(Operating System)、ソフトウェア、ネットワーク、通信、設定などである。
[装置構成]
ルール生成装置100は、攻撃を分析するために用いるルールを自動で生成する装置である。また、図8に示すように、ルール生成装置100は、収集部200と、攻撃成功条件生成部300と、攻撃時履歴生成部400と、ルール生成部500とを有する。ルール生成装置100は、例えば、サーバコンピュータなどの情報処理装置である。
収集部200は、攻撃対象のシステムを模擬した模擬システムから、模擬システムに構築された環境を表す環境情報と、模擬システムに記録された履歴情報と、模擬システムに対して実行された攻撃の有無及び成功失敗とを表す攻撃情報とを収集する。
環境情報は、環境を構成する要素を表す情報である。環境情報は、例えば、コンピュータ、0S、ソフトウェア、起動サービス、ネットワーク通信の可否などの要素を表す情報である。
履歴情報は、模擬システムに記録されたログなどを表す情報である。履歴情報は、例えば、OS、プログラム、通信、プロセス起動停止、コマンド実行、ファイルアクセスなどのログを表す情報である。
攻撃情報は、模擬システムに対して実行された攻撃に関する情報である。攻撃情報は、例えば、攻撃の種類、攻撃の有無、攻撃の成功失敗などを表す情報を有する。
攻撃成功条件生成部300は、まず、攻撃情報を用いて環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出する。続いて、攻撃成功条件生成部300は、攻撃成功時の環境情報の要素をすべて含む攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求める。続いて、攻撃成功条件生成部300は、求めた差分に、攻撃に失敗したことを表す除外情報を付する。続いて、攻撃成功条件生成部300は、除外情報を付した差分を攻撃成功時の環境情報に追加する。続いて、攻撃成功条件生成部300は、追加した環境情報を用いて攻撃成功条件を生成する。
攻撃成功条件生成部300について、図9を用いて、具体的に説明をする。図9は、ルールの生成を説明するための図である。
数9に示した攻撃情報が上述した収集部200により収集された場合、攻撃成功条件生成部300は、攻撃Mに成功したことを表す攻撃情報#1-1、#2-1に基づいて、図9に示した、攻撃成功時の環境情報#1(a,b,c,d)、環境情報#2(a,c,f)を抽出する。すなわち、攻撃Mが成功した環境を抽出する。
(数9)
攻撃情報#1-0 :攻撃M、攻撃無し
攻撃情報#1-1 :攻撃M、攻撃有り、攻撃成功#1
攻撃情報#2-0 :攻撃M、攻撃無し
攻撃情報#2-1 :攻撃M、攻撃有り、攻撃成功#2
攻撃情報#3-0 :攻撃M、攻撃無し
攻撃情報#3-1 :攻撃M、攻撃有り、攻撃失敗#1
攻撃情報#4-0 :攻撃M、攻撃無し
攻撃情報#4-1 :攻撃M、攻撃有り、攻撃失敗#2
また、攻撃成功条件生成部300は、攻撃Mに失敗したことを表す攻撃情報#3-1、#4-1に基づいて、図9に示した、攻撃失敗時の環境情報#3(a,b,c,d,f)、#4(a,c,f,g)を抽出する。すなわち、攻撃Mが失敗した環境を抽出する。
上述した環境情報の要素(a,b,c,d,e,f,g)は、上述したOS、ソフトウェア、起動サービス、ネットワーク通信の可否などを表す。
次に、攻撃成功条件生成部300は、攻撃Mに成功した時の環境情報#1、#2それぞれと、攻撃Mに失敗した時の環境情報#3、#4と比較し、攻撃成功時の環境情報の要素が、攻撃失敗時の環境情報の要素にすべて含まれているか否かを判定する。
比較した結果、図9の例では、攻撃成功時の環境情報#1の要素が、攻撃失敗時の環境情報#3の要素にすべて含まれているので、環境情報#1と環境情報#3との差分を求める。攻撃失敗時の環境情報#3の要素(a,b,c,d,f)に、攻撃成功時の環境情報#1の要素(a,b,c,d)がすべて含まれているので、差分は要素(f)となる。
また、比較した結果、図9の例では、攻撃成功時の環境情報#2の要素が、攻撃失敗時の環境情報#4の要素にすべて含まれているので、環境情報#2の要素と環境情報#4との差分を求める。攻撃失敗時の環境情報#4の要素(a,c,f,g)に、攻撃成功時の環境情報#2の要素(a,c,f)がすべて含まれているので、差分は要素(g)となる。
次に、攻撃成功条件生成部300は、差分に攻撃に失敗したことを表す除外情報を付す。図9の例では、攻撃M#1に対する差分を示す要素fに除外情報notを付している(not f)。また、攻撃M#2に対する差分を示す要素gに除外情報notを付している(not g)。
次に、攻撃成功条件生成部300は、除外情報を付した差分を攻撃成功時の環境情報に追加する。図9の例では、環境情報#1の要素(a,b,c,d)に除外情報を付した要素(not f)を追加する(a,b,c,d,not f)。また、環境情報#2の要素(a,c,f)に除外情報を付した要素(not g)を追加する(a,c,f,not g)。
次に、攻撃成功条件生成部300は、追加した環境情報を用いて攻撃成功条件を生成する。図9の例では、除外情報を付した要素を追加した環境情報#1と環境情報#2を用いて、図9に示す攻撃成功条件(a,b,c,d,not f)or(a,c,f,not g)を生成する。
攻撃時履歴生成部400は、同じ攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた差分に共通する攻撃成功時共通履歴情報を抽出する。また、攻撃時履歴生成部400は、同じ攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を抽出し、攻撃失敗時の環境情報すべてに共通する攻撃失敗時共通履歴情報を抽出する。続いて、攻撃時履歴生成部400は、攻撃成功時共通履歴情報と攻撃失敗時共通履歴情報と用いて、攻撃時履歴を生成する。
攻撃時履歴生成部400について、図10を用いて、具体的な説明をする。図10は、攻撃時履歴の生成を説明するための図である。
数9に示した環境情報及び攻撃情報が、上述した収集部200により収集された場合、攻撃時履歴生成部400は、攻撃Mが成功した環境を表す環境情報#1に対応する、攻撃情報♯1-0(x,y)に関連した攻撃無し時の履歴情報#1-0と、攻撃情報♯1-1に関連した攻撃成功時の履歴情報#1-1(x,y,w,p)とを抽出する。
また、攻撃時履歴生成部400は、攻撃Mが成功した環境情報#2に対応する、攻撃情報♯2-0に関連する攻撃無し時の履歴情報#2-0(x,y)と、攻撃情報♯2-1(攻撃成功)に関連する攻撃成功時の履歴情報#2-1(x,y,w,p,z)とを抽出する。
なお、上述した履歴情報の要素(x,y,w,p,z)は、上述したOS、プログラム、通信、プロセス起動停止、コマンド実行、ファイルアクセスなどのログを表す。
次に、攻撃時履歴生成部400は、抽出した攻撃無し時の履歴情報#1-0と攻撃成功時の履歴情報#1-1との差分(w,p)と、攻撃無し時の履歴情報#2-0と攻撃成功時の履歴情報#2-1との差分(w,p,z)とを求める。
次に、攻撃時履歴生成部400は、攻撃成功時の差分(w,p)と(w,p,z)に共通する要素を抽出して、攻撃成功時共通履歴情報(w,p)を生成する。
攻撃時履歴生成部400は、攻撃Mが失敗した環境を表す環境情報#3に対応する、攻撃情報♯3-0(x,z)に関連した攻撃無し時の履歴情報#3-0と、攻撃情報♯3-1に関連した攻撃成功時の履歴情報#3-1(x,z,w,q)とを抽出する。
また、攻撃時履歴生成部400は、攻撃Mが失敗した環境を表す環境情報#4に対応する、攻撃情報♯4-0に関連した攻撃無し時の履歴情報#4-0(x,z)と、攻撃情報♯4-1(攻撃失敗)に関連した攻撃失敗時の履歴情報#4-1(x,z,q)とを抽出する。
次に、攻撃時履歴生成部400は、抽出した攻撃無し時の履歴情報#3-0と攻撃失敗時の履歴情報#3-1との差分(w,q)と、攻撃無し時の履歴情報#4-0と攻撃失敗時の履歴情報#4-1との差分(w,q)とを求める。
次に、攻撃時履歴生成部400は、攻撃失敗時の差分(w,q)と(w,q)に共通する要素を抽出し、攻撃失敗時共通履歴情報(w,q)を生成する。
次に、攻撃時履歴生成部400は、攻撃成功時共通履歴情報(w、p)と攻撃失敗時共通履歴情報(w,q)と用いて、攻撃成功時共通履歴情報と攻撃失敗時共通履歴情報とに共通する要素(w)、攻撃成功時だけに現れる要素(p)、攻撃失敗時だけに現れる要素(q)を抽出して、図10の攻撃時履歴に示すような攻撃時履歴情報を生成する。
ルール生成部500は、模擬システムに対する攻撃を分析するためのルールを生成する。具体的には、ルール生成部500は、攻撃成功時観測ルール、攻撃成功時結果ルール、攻撃時観測ルール、攻撃失敗時観測ルールを生成する。
攻撃成功時観測ルールの生成について説明する。
ルール生成部500は、攻撃成功時共通履歴情報のうち、攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する。ルール生成部500は、例えば、数10に示すような攻撃成功時観測ルールを生成する。
(数10)
SuccessAttack(_host, attack M):-
Observe(_host, network, p):-
SuccessAttack(_host, attack M)は、ホストコンピュータ(_host)に対して、攻撃Mが成功したことを表している。Observe(_host, network, p)は、ホストコンピュータ(_host)に対して、攻撃Mが成功したときに収集(観測)された履歴情報の要素(p)を表している。数10の「network」は、要素(p)の種類が、ネットワークに関するログであることを表している。要素の種類は、ネットワークに関するログ「network」以外にも、例えば、ログ「log」、ファイルに関するログ「file」、メモリに関するログ「memory」などがある。
攻撃成功時結果ルールの生成について説明する。
ルール生成部500は、攻撃成功時において収集された履歴情報の要素がプロセスの挙動に関す要素である場合、攻撃成功条件を用いて攻撃成功時結果ルールを生成する。ルール生成部500は、例えば、数11に示すような攻撃成功時結果ルールを生成する。
(数11)
ExecCode(_attacker, _host, p):-
Satisfy(_host, os, a)
Satisfy(_host, service, b)
Satisfy(_attacker, privilege, c)
Satisfy(_host, network, d)
NotSatisfy(_host, software, f)
ExecCode(_attacker, _host, p)は、攻撃成功時において収集された履歴情報の要素(p)がプロセスの挙動に関す要素である場合に、攻撃者(_attacker)が、ホストコンピュータ(host)に対してコマンド実行したことを表している。
なお、数11の例では、ルール生成部500は、要素(p)がコマンド実行ログであるので、コマンド実行を表すルール「ExecCode」を選択している。
また、ルール生成部500は、プロセスの挙動に関す要素の種類に応じて、「ExecCode」以外にも、例えば、データ改ざんに関する「DataTamper」、又はデータアクセスに関する「DataAccess」などを選択する。
Satisfy(_host, os, a)、Satisfy(_host, service, b)、Satisfy(_attacker, privilege, c)、Satisfy(_host, network, d)、NotSatisfy(_host, software, f)は、攻撃Mが成功した場合の攻撃成功条件(a,b,c,d,not f)を表している。
攻撃Mが成功する条件は、環境情報の要素(a,b,c,d)が表す環境があり、要素(f)が表す環境がない場合なので、環境情報の要素があることを表すSatisfy()に要素(a,b,c,d)を付し、環境情報の要素がないことを表すNotSatisfy()に要素(f)を付す。
数11では、要素(a)はOS「os」を表し、要素(b)はサービス「service」を表し、要素(c)は権限「privilege」を表し、要素(d)はネットワーク「network」を表し、要素(f)はソフトウェア「software」を表している。
攻撃成功時結果ルールの生成について説明する。
ルール生成部500は、攻撃成功時共通履歴情報と攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成する。ルール生成部500は、例えば、数12に示すような攻撃成功時観測ルールを生成する。
(数12)
ExecuteAttack(_host, attack M):-
Observe(_host, log, w):-
ExecuteAttack(_host, attack M)は、ホストコンピュータ(_host)に対して、攻撃Mを実行した場合を表している。Observe(_host, network, p)は、ホストコンピュータ(_host)に対して攻撃Mを実行したときに、成功時と失敗時に共通して観測される要素(w)を表している。数12の「log」は、要素(w)の種類が、ログに関することを表している。
攻撃失敗時観測ルールの生成について説明する。
ルール生成部500は、攻撃失敗時共通履歴情報のうち、攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成する。ルール生成部500は、例えば、数13に示すような攻撃失敗時観測ルールを生成する。
(数13)
FailedAttack(_host, attack M):-
Observe(_host, log, q):-
FailedAttack (_host, attack M)は、ホストコンピュータ(_host)に対して、攻撃Mが失敗したことを表している。Observe(_host, log, q)は、ホストコンピュータ(_host)に対して、攻撃Mが失敗したときに収集(観測)された履歴情報の要素(q)を表している。数5の「log」は、要素(q)の種類が、ログに関することを表している。
[システム構成]
図11を用いて、実施形態2におけるシステムの構成を説明する。図11は、ルール生成装置を有するシステムの一例を示す図である。ただし、出力装置23、実システム24については、実施形態1で説明をしたので、説明を省略する。
図11に示すように、実施形態2におけるルール生成装置100は、収集部200、生成部3、分析部4、出力情報生成部5を有する。また、図11に示すように、ルール生成装置100を有するシステムは、攻撃部22、出力装置23、実システム24、模擬システム600を有する。
実施形態2では、図11に示すように、生成部3は、上述した攻撃成功条件生成部300と攻撃時履歴生成部400とルール生成部500とを有する。
模擬システム600は、攻撃対象となる実システム24を模擬したシステムである。模擬システム600は、攻撃を再現するための環境を構築したシステムである。
模擬システム600は、攻撃の標的となる組織の被害環境を模擬したシステムである。また、模擬システム600は、例えば、被害環境を模擬したシステムと、攻撃の標的となる組織へ攻撃をするための攻撃環境を模擬したシステムとを有してもよい。さらに、模擬システム600は、攻撃を再現するための環境を仮想環境に実現してもよい。
実施形態2の攻撃部22は、攻撃シナリオに基づいて、模擬システム600に対して攻撃を実行する。具体的には、攻撃部22は、複数の異なる攻撃シナリオを用いて、模擬システム600の一部又は全体を対象として、攻撃を実行する。このように、攻撃部22は、攻撃シナリオを変更して、模擬システム600に対して、想定される様々な攻撃を試行できるので、想定される攻撃を網羅できる。
実施形態2の分析部4は、対象のシステム(実システム24)から収集した環境情報と履歴情報と攻撃情報、及び、攻撃成功時観測ルール、又は攻撃成功時結果ルール、又は攻撃時観測ルール、又は攻撃失敗時観測ルール、又はこれらのうち二つ以上を用いて、攻撃を分析する。
[装置動作]
次に、実施形態2におけるルール生成装置100の動作について図12を用いて説明する。以下の説明においては、適宜図8から図11を参照する。また、実施形態2では、ルール生成装置100を動作させることによって、ルール生成方法が実施される。よって、実施形態2におけるルール生成方法の説明は、以下のルール生成装置の動作説明に代える。
実施形態2の収集処理について説明する。
図12に示すように、最初に、収集部200は、攻撃シナリオに基づいて攻撃された、模擬システム600の環境情報と履歴情報と攻撃情報とを収集し、不図示の記憶部に記憶する(ステップB1)。
具体的には、ステップB1において、収集部200は、攻撃無しの状態において、環境ごとに、環境情報と履歴情報とを収集する。また、ステップB1において、収集部200は、攻撃有の状態において、環境ごとに、環境情報と履歴情報と攻撃情報とを収集する。そして、ステップB1において、収集部200は、収集したこれらの情報を収集情報として記憶部に記憶する。
続いて、生成部3は、攻撃シナリオを用いて攻撃した模擬システム600に関する環境情報と、履歴情報と、攻撃情報とを用いて、攻撃知識ベースを生成して、記憶部に記憶する(ステップB2)。ステップB2において、生成部3は、攻撃成功時観測ルール、又は攻撃成功時結果ルール、又は攻撃時観測ルール、又は攻撃失敗時観測ルールなどのルールを生成する。
具体的には、ステップB2において、攻撃成功条件生成部300は、まず、攻撃情報を用いて環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出する。続いて、攻撃成功条件生成部300は、攻撃成功時の環境情報の要素をすべて含む攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求める。
続いて、ステップB2において、攻撃成功条件生成部300は、求めた差分に、攻撃に失敗したことを表す除外情報を付する。続いて、攻撃成功条件生成部300は、除外情報を付した差分を攻撃成功時の環境情報に追加する。続いて、攻撃成功条件生成部300は、追加した環境情報を用いて攻撃成功条件を生成する。
次に、ステップB2において、攻撃時履歴生成部400は、同じ攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた差分に共通する攻撃成功時共通履歴情報を抽出する。
また、攻撃時履歴生成部400は、同じ攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を抽出し、攻撃失敗時の環境情報すべてに共通する攻撃失敗時共通履歴情報を抽出する。続いて、攻撃時履歴生成部400は、攻撃成功時共通履歴情報と攻撃失敗時共通履歴情報と用いて、攻撃時履歴を生成する。
次に、ステップB2において、ルール生成部500は、模擬システムに対する攻撃を分析するためのルールを生成する。具体的には、ルール生成部500は、攻撃成功時観測ルール、攻撃成功時結果ルール、攻撃時観測ルール、攻撃失敗時観測ルールを生成する。
続いて、ルール生成装置100は、ルール生成の処理を終了する指示を取得した場合(A3:Yes)、ルール生成の処理を終了し、ルール生成の処理を継続する場合(A3:No)には、ステップB1に移行する。
続いて、分析部4は、対象のシステム(実システム24)から収集した環境情報と履歴情報と攻撃情報、及び、攻撃成功時観測ルール、又は攻撃成功時結果ルール、又は攻撃時観測ルール、又は攻撃失敗時観測ルール、又はこれらのうち二つ以上を用いて、攻撃を分析する(ステップB4)。
続いて、出力情報生成部5は、分析結果を用いて、出力装置23に出力するために用いる出力情報を生成する(ステップA5)。
続いて、出力情報生成部5は、生成した出力情報を出力装置23に出力する(ステップA6)。続いて、ルール生成装置1は、分析支援の処理を終了する指示を取得した場合(A7:Yes)には、分析支援の処理を終了し、分析支援の処理を継続する場合(A7:No)には、ステップB4に移行する。
[実施形態2の効果]
以上のように実施形態2によれば、攻撃シナリオを用いて模擬システムに攻撃を実行し、攻撃が実行された模擬システムから環境情報と履歴情報と攻撃情報とを収集し、収集したこれらの情報に基づいて、攻撃の分析(セキュリティ業務)に用いるルールが生成できる。すなわち、実施形態においては、ドメイン知識を十分にカバーした実用的なルールを自動生成することができる。
また、攻撃を分析する、運用者、分析官に、分析結果を提示することで、セキュリティ業務を支援することができる。
[プログラム]
実施形態2におけるプログラムは、コンピュータに、図12に示すステップB1、B2、A3、B4、A5からA7を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態2におけるルール生成装置とルール生成方法とを実現することができる。この場合、コンピュータのプロセッサは、収集部200、生成部3(攻撃成功条件生成部300、攻撃時履歴生成部400、ルール生成部500)、分析部4、出力情報生成部5として機能し、処理を行なう。
また、実施形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、収集部200、生成部3(攻撃成功条件生成部300、攻撃時履歴生成部400、ルール生成部500)、分析部4、出力情報生成部5のいずれかとして機能してもよい。
[物理構成]
ここで、実施形態におけるプログラムを実行することによって、ルール生成装置、分析支援装置を実現するコンピュータについて図13を用いて説明する。図13は、実施形態における、ルール生成装置、分析支援装置を実現するコンピュータの一例を示すブロック図である。
図13に示すように、コンピュータ150は、CPU151と、メインメモリ152と、記憶装置153と、入力インターフェイス154と、表示コントローラ155と、データリーダ/ライタ156と、通信インターフェイス157とを備える。これらの各部は、バス161を介して、互いにデータ通信可能に接続される。なお、コンピュータ150は、CPU151に加えて、又はCPU151に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
CPU151は、記憶装置153に格納された、本実施の形態におけるプログラム(コード)をメインメモリ152に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ152は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体160に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス157を介して接続されたインターネット上で流通するものであってもよい。
また、記憶装置153の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス154は、CPU151と、キーボード及びマウスといった入力機器158との間のデータ伝送を仲介する。表示コントローラ155は、ディスプレイ装置159と接続され、ディスプレイ装置159での表示を制御する。
データリーダ/ライタ156は、CPU151と記録媒体160との間のデータ伝送を仲介し、記録媒体160からのプログラムの読み出し、及びコンピュータ150における処理結果の記録媒体160への書き込みを実行する。通信インターフェイス157は、CPU151と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体160の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
なお、本実施の形態におけるルール生成装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。さらに、ルール生成装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
[付記]
以上の実施の形態に関し、更に以下の付記を開示する。上述した実施の形態の一部又は全部は、以下に記載する(付記1)から(付記15)により表現することができるが、以下の記載に限定されるものではない。
(付記1)
攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集部と、
前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成部と、
同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成部と、
前記攻撃成功条件と前記履歴情報とを用いてルールを生成する、ルール生成部と、
を有することを特徴とするルール生成装置。
(付記2)
付記1に記載のルール生成装置であって、
前記ルール生成部は、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する
ことを特徴とするルール生成装置。
(付記3)
付記1又は2に記載のルール生成装置であって、
前記ルール生成部は、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素がプロセスの挙動に関す要素である場合、前記攻撃成功条件を用いて攻撃成功時結果ルールを生成する
ことを特徴とするルール生成装置。
(付記4)
付記1から3のいずれか一つに記載のルール生成装置であって、
前記ルール生成部は、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成する
ことを特徴とするルール生成装置。
(付記5)
付記1から4のいずれか一つに記載のルール生成装置であって、
前記ルール生成部は、前記攻撃成功時共通履歴情報のうち攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成する
ことを特徴とするルール生成装置。
(付記6)
攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集ステップと、
前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成ステップと、
同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成ステップと、
前記攻撃成功条件と前記履歴情報とを用いてルールを生成する、ルール生成ステップと、
ことを特徴とするルール生成方法。
(付記7)
付記6に記載のルール生成方法であって、
前記ルール生成ステップにおいて、攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する
ことを特徴とするルール生成方法。
(付記8)
付記6又は7に記載のルール生成方法であって、
前記ルール生成ステップにおいて、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素がプロセスの挙動に関す要素である場合、前記攻撃成功条件を用いて攻撃成功時結果ルールを生成する
ことを特徴とするルール生成方法。
(付記9)
付記6から8のいずれか一つに記載のルール生成方法であって、
前記ルール生成ステップにおいて、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成する
ことを特徴とするルール生成方法。
(付記10)
付記6から9のいずれか一つに記載のルール生成方法であって、
前記ルール生成ステップにおいて、前記攻撃成功時共通履歴情報のうち攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成する
ことを特徴とするルール生成方法。
(付記11)
コンピュータに、
攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集ステップと、
前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成ステップと、
同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成ステップと、
前記攻撃成功条件と前記履歴情報とを用いてルールを生成する、ルール生成ステップと、
を実行させるプログラム。
(付記12)
付記11に記載のプログラムであって、
前記ルール生成ステップにおいて、攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する
ことを特徴とするプログラム
(付記13)
付記11又は12に記載のプログラムであって、
前記ルール生成ステップにおいて、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素がプロセスの挙動に関す要素である場合、前記攻撃成功条件を用いて攻撃成功時結果ルールを生成する
ことを特徴とするプログラム
(付記14)
付記11から13のいずれか一つに記載のプログラムであって、
前記ルール生成ステップにおいて、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成する
ことを特徴とするプログラム
(付記15)
付記11から14のいずれか一つに記載のプログラムであって、
前記ルール生成ステップにおいて、前記攻撃成功時共通履歴情報のうち攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成する
ことを特徴とするプログラム
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2019年6月6日に国際出願されたPCT/JP2019/022643を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように本発明によれば、セキュリティ業務に用いる実用的なルールを自動生成することができる。本発明は、ドメイン知識を十分にカバーした実用的なルールが必要な分野において有用である。
1、100 ルール生成装置
2、200 収集部
3 生成部
3a 攻撃成功ルール生成部
3b 攻撃失敗ルール生成部
3c 攻撃時観測ルール生成部
3d 攻撃成功時観測ルール生成部
3e 攻撃失敗時観測ルール生成部
3f 攻撃成功時結果ルール生成部
4 分析部
5 出力情報生成部
20 攻撃実行環境部
20a 模擬システム
21 構築部
22 攻撃部
23 出力装置
24 実システム
61 分析支援装置
62 記憶部
150 コンピュータ
151 CPU
152 メインメモリ
153 記憶装置
154 入力インターフェイス
155 表示コントローラ
156 データリーダ/ライタ
157 通信インターフェイス
158 入力機器
159 ディスプレイ装置
160 記録媒体
161 バス
300 攻撃成功条件生成部
400 攻撃時履歴生成部
500 ルール生成部
600 模擬システム

Claims (15)

  1. 攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集する、収集手段と、
    前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成する、攻撃成功条件生成手段と、
    同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成する、攻撃時履歴生成手段と、
    前記攻撃成功条件と前記攻撃時履歴情報とを用いてルールを生成する、ルール生成手段と、
    を有するルール生成装置。
  2. 請求項1に記載のルール生成装置であって、
    前記ルール生成手段は、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する
    ルール生成装置。
  3. 請求項1又は2に記載のルール生成装置であって、
    前記ルール生成手段は、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素がプロセスの挙動に関す要素である場合、前記攻撃成功条件を用いて攻撃成功時結果ルールを生成する
    ルール生成装置。
  4. 請求項1から3のいずれか一つに記載のルール生成装置であって、
    前記ルール生成手段は、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成する
    ルール生成装置。
  5. 請求項1から4のいずれか一つに記載のルール生成装置であって、
    前記ルール生成手段は、前記攻撃成功時共通履歴情報のうち攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成する
    ルール生成装置。
  6. コンピュータが、
    攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集し、
    前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成し、
    同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成し、
    前記攻撃成功条件と前記攻撃時履歴情報とを用いてルールを生成する
    ルール生成方法。
  7. 請求項6に記載のルール生成方法であって、
    前記ルールの生成において、攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する
    ルール生成方法。
  8. 請求項6又は7に記載のルール生成方法であって、
    前記ルールの生成において、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素がプロセスの挙動に関す要素である場合、前記攻撃成功条件を用いて攻撃成功時結果ルールを生成する
    ルール生成方法。
  9. 請求項6から8のいずれか一つに記載のルール生成方法であって、
    前記ルールの生成において、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成する
    ルール生成方法。
  10. 請求項6から9のいずれか一つに記載のルール生成方法であって、
    前記ルールの生成において、前記攻撃成功時共通履歴情報のうち攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成する
    ルール生成方法。
  11. 攻撃対象のシステムを模擬した模擬システムから、前記模擬システムに構築された環境を表す環境情報と、前記模擬システムに記録された履歴情報と、前記模擬システムに対して実行された攻撃の有無及び成功失敗を表す攻撃情報とを収集し、
    前記攻撃情報を用いて前記環境情報から、攻撃成功時の環境情報と攻撃失敗時の環境情報とを抽出し、前記攻撃成功時の環境情報をすべて含む前記攻撃失敗時の環境情報と、当該攻撃成功時の環境情報との差分を求め、前記差分に攻撃に失敗したことを表す除外情報を付し、前記除外情報を付した差分を前記攻撃成功時の環境情報に追加して、攻撃成功条件を生成し、
    同じ前記攻撃成功時の環境情報ごとに、攻撃無し時の履歴情報と攻撃成功時の履歴情報との差分を求め、求めた前記攻撃成功時の前記差分に共通する攻撃成功時共通履歴情報、及び、同じ前記攻撃失敗時の環境情報ごとに、攻撃無し時の履歴情報と攻撃失敗時の履歴情報との差分を求め、求めた前記攻撃失敗時の前記差分に共通する攻撃失敗時共通履歴情報を抽出し、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報と用いて、攻撃時履歴情報を生成し、
    前記攻撃成功条件と前記攻撃時履歴情報とを用いてルールを生成する
    処理をコンピュータに実行させるプログラム。
  12. 請求項11に記載のプログラムであって、
    前記ルールの生成において、攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素を用いて攻撃成功時観測ルールを生成する
    プログラム。
  13. 請求項11又は12に記載のプログラムであって、
    前記ルールの生成において、前記攻撃成功時共通履歴情報のうち攻撃成功時のみに収集される履歴情報の要素がプロセスの挙動に関す要素である場合、前記攻撃成功条件を用いて攻撃成功時結果ルールを生成する
    プログラム。
  14. 請求項11から13のいずれか一つに記載のプログラムであって、
    前記ルールの生成において、前記攻撃成功時共通履歴情報と前記攻撃失敗時共通履歴情報とに共通する履歴情報の要素を用いて攻撃時観測ルールを生成させる
    プログラム。
  15. 請求項11から14のいずれか一つに記載のプログラムであって、
    前記ルールの生成において、前記攻撃成功時共通履歴情報のうち攻撃失敗時のみに収集される履歴情報の要素を用いて攻撃失敗時観測ルールを生成させる
    プログラム。
JP2021524736A 2019-06-06 2020-05-18 ルール生成装置、ルール生成方法、及びプログラム Active JP7207536B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPPCT/JP2019/022643 2019-06-06
PCT/JP2019/022643 WO2020246011A1 (ja) 2019-06-06 2019-06-06 ルール生成装置、ルール生成方法、及びコンピュータ読み取り可能な記録媒体
PCT/JP2020/019646 WO2020246227A1 (ja) 2019-06-06 2020-05-18 ルール生成装置、ルール生成方法、及びコンピュータ読み取り可能な記録媒体

Publications (3)

Publication Number Publication Date
JPWO2020246227A1 JPWO2020246227A1 (ja) 2020-12-10
JPWO2020246227A5 JPWO2020246227A5 (ja) 2022-02-16
JP7207536B2 true JP7207536B2 (ja) 2023-01-18

Family

ID=73653091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021524736A Active JP7207536B2 (ja) 2019-06-06 2020-05-18 ルール生成装置、ルール生成方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220237302A1 (ja)
JP (1) JP7207536B2 (ja)
WO (2) WO2020246011A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360378B2 (en) * 2014-08-22 2019-07-23 Nec Corporation Analysis device, analysis method and computer-readable recording medium
WO2023105613A1 (ja) * 2021-12-07 2023-06-15 日本電気株式会社 セキュリティ保証装置、セキュリティ保証方法、及びコンピュータ読み取り可能な記録媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060191010A1 (en) 2005-02-18 2006-08-24 Pace University System for intrusion detection and vulnerability assessment in a computer network using simulation and machine learning
JP2017033286A (ja) 2015-07-31 2017-02-09 株式会社日立製作所 マルウェア動作環境推定方法、その装置およびシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941856B2 (en) * 2004-12-06 2011-05-10 Wisconsin Alumni Research Foundation Systems and methods for testing and evaluating an intrusion detection system
US20080098476A1 (en) * 2005-04-04 2008-04-24 Bae Systems Information And Electronic Systems Integration Inc. Method and Apparatus for Defending Against Zero-Day Worm-Based Attacks
US10089475B2 (en) * 2016-11-25 2018-10-02 Sap Se Detection of security incidents through simulations
WO2019225216A1 (ja) * 2018-05-21 2019-11-28 日本電信電話株式会社 判定方法、判定装置および判定プログラム
GB2593509A (en) * 2020-03-25 2021-09-29 British Telecomm Computer vulnerability identification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060191010A1 (en) 2005-02-18 2006-08-24 Pace University System for intrusion detection and vulnerability assessment in a computer network using simulation and machine learning
JP2017033286A (ja) 2015-07-31 2017-02-09 株式会社日立製作所 マルウェア動作環境推定方法、その装置およびシステム

Also Published As

Publication number Publication date
US20220237302A1 (en) 2022-07-28
JPWO2020246227A1 (ja) 2020-12-10
WO2020246227A1 (ja) 2020-12-10
WO2020246011A1 (ja) 2020-12-10

Similar Documents

Publication Publication Date Title
US11240262B1 (en) Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US11483318B2 (en) Providing network security through autonomous simulated environments
JP5972401B2 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
RU2454705C1 (ru) Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения
RU2514140C1 (ru) Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
JP4938576B2 (ja) 情報収集システムおよび情報収集方法
RU2617654C2 (ru) Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
JP6285390B2 (ja) サイバー攻撃分析装置及びサイバー攻撃分析方法
EP3352110B1 (en) System and method for detecting and classifying malware
CN107463841B (zh) 检测恶意计算机系统的系统和方法
JP7207536B2 (ja) ルール生成装置、ルール生成方法、及びプログラム
CN111183620B (zh) 入侵调查
JP6712207B2 (ja) セキュリティ対策装置
EP3688950B1 (en) Intrusion detection
US10635811B2 (en) System and method for automation of malware unpacking and analysis
RU2510530C1 (ru) Способ автоматического формирования эвристических алгоритмов поиска вредоносных объектов
CN110659478A (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
EP3252645B1 (en) System and method of detecting malicious computer systems
CN113824748B (zh) 一种资产特征主动探测对抗方法、装置、电子设备及介质
US20240022589A1 (en) Risk analysis device, analysis target element determination device, and method
JP7255679B2 (ja) 攻撃グラフ加工装置、方法およびプログラム
JP7238987B2 (ja) セキュリティ訓練支援装置、セキュリティ訓練支援方法、及びプログラム
JP6333763B2 (ja) マルウェア解析装置およびマルウェア解析方法
JP7168010B2 (ja) 行動計画推定装置、行動計画推定方法、及びプログラム
WO2023032015A1 (ja) 攻撃分析支援装置、攻撃分析支援方法、およびコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

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: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221219

R151 Written notification of patent or utility model registration

Ref document number: 7207536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151