JP7424470B2 - 分析システム、方法およびプログラム - Google Patents

分析システム、方法およびプログラム Download PDF

Info

Publication number
JP7424470B2
JP7424470B2 JP2022509329A JP2022509329A JP7424470B2 JP 7424470 B2 JP7424470 B2 JP 7424470B2 JP 2022509329 A JP2022509329 A JP 2022509329A JP 2022509329 A JP2022509329 A JP 2022509329A JP 7424470 B2 JP7424470 B2 JP 7424470B2
Authority
JP
Japan
Prior art keywords
attack
attack route
information
route
countermeasure
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
JP2022509329A
Other languages
English (en)
Other versions
JPWO2021192587A1 (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 JPWO2021192587A1 publication Critical patent/JPWO2021192587A1/ja
Application granted granted Critical
Publication of JP7424470B2 publication Critical patent/JP7424470B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、診断対象システムへの攻撃に対する対処に関する判断材料となる情報を表示する分析システム、分析方法および分析プログラムに関する。
複数のコンピュータ等を含む情報処理システムにおいて、情報資産をサイバー攻撃等から守るためのセキュリティ対策をとることが求められている。セキュリティ対策としては、対象となるシステムの脆弱性等を診断し、必要に応じて脆弱性を取り除くこと等が挙げられる。
特許文献1には、運用中のシステムの状態に基づいてリスクを分析し、リスクを軽減するための対策候補から、運用中のシステムに生じる各種制約を考慮した上で、最適な対策方法を提示することができるセキュリティリスク管理システムが記載されている。
また、特許文献2には、セキュリティの専門家でなくても、セキュリティの因果関係のモデルを構築し、適切なセキュリティ対策支援をすることができるようにしたセキュリティ対策支援システムが記載されている。
また、特許文献3には、社会インフラシステムをはじめとする大規模システム全体として適切なセキュリティ対策を立案することを可能にするセキュリティ対策立案支援システムが記載されている。
国際公開第2008/004498号 特開2015-191390号公報 特開2018-077597号公報
セキュリティ診断の対象となるシステムを、診断対象システムと記す。
診断対象システムに対してセキュリティに関する対策を実行するために使用できる予算は、限られている。予算が限られているため、セキュリティ管理者は、全ての対策を実行できない。セキュリティ管理者には、予算内で最適な対策を実行することが求められる。
セキュリティ管理者は、例えば対策の実行に要するコストが提示されると、予算内でどの対策を実行すればよいか判断しやすい。また、診断対象システムにおける攻撃によるリスクの程度が提示されると、セキュリティ管理者は、どの攻撃に対する対策から優先して実行すればよいか判断しやすい。
そこで、本発明は、診断対象システムにおいて実行されるセキュリティ対策を管理者が選択する根拠を提示できる分析システム、分析方法および分析プログラムを提供することを目的とする。
本発明による分析システムは、診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定部と、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出部と、攻撃を防ぐための対策案と、その対策案の実行に要するコストとを特定する対策特定部と、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御部と、攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出する評価値導出部と、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定する時間情報特定部とを備え、表示制御部は、攻撃ルートとともに、その攻撃ルートに対して導出された評価値と、その攻撃ルートに対して特定された対策案およびコストとをディスプレイ装置上に表示し、攻撃ルートとともに、その攻撃ルート上の機器に対して特定された時間情報をディスプレイ装置上に表示することを特徴とする。
本発明による分析方法は、コンピュータが、診断対象システムに含まれる機器のネットワークトポロジを特定し、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出し、攻撃を防ぐための対策案と、その対策案の実行に要するコストとを特定し、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示し、攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出し、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定し、攻撃ルートとともに、その攻撃ルートに対して導出された評価値と、その攻撃ルートに対して特定された対策案およびコストとをディスプレイ装置上に表示し、攻撃ルートとともに、その攻撃ルート上の機器に対して特定された時間情報をディスプレイ装置上に表示することを特徴とする。
本発明による分析プログラムは、コンピュータに、診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定処理、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出処理攻撃を防ぐための対策案と、その対策案の実行に要するコストとを特定する対策特定処理、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御処理、攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出する評価値導出処理、および各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定する時間情報特定処理を実行させるための分析プログラムであって、表示制御処理で、攻撃ルートとともに、その攻撃ルートに対して導出された評価値と、その攻撃ルートに対して特定された対策案およびコストとをディスプレイ装置上に表示させ、攻撃ルートとともに、その攻撃ルート上の機器に対して特定された時間情報をディスプレイ装置上に表示させることを特徴とする。
本発明によれば、診断対象システムにおいて実行されるセキュリティ対策を管理者が選択する根拠を提示できる。
本発明の第1の実施形態の分析システムの例を示すブロック図である。 トポロジ特定部によって特定されるネットワークトポロジの例を示す模式図である。 「機器と攻撃状態との組合せ」の複数の遷移関係を示す情報の例を示す模式図である。 リスク情報記憶部に記憶されている情報の例を示す模式図である。 被害情報記憶部が記憶する情報の例を示す模式図である。 対策情報記憶部に記憶されている情報の例を示す模式図である。 第1の実施形態における攻撃ルートの表示例を示す模式図である。 第1の実施形態における攻撃ルートの他の表示例を示す模式図である。 第1の実施形態における攻撃ルートの他の表示例を示す模式図である。 第1の実施形態の分析システムの処理経過の例を示すフローチャートである。 本発明の第2の実施形態の分析システムの例を示すブロック図である。 脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定に応じて予め定められた時間情報を格納したテーブルの例を示す模式図である。 第2の実施形態における攻撃ルートの表示例を示す模式図である。 第2の実施形態の分析システムの処理経過の例を示すフローチャートである。 本発明の各実施形態の分析システムに係るコンピュータの構成例を示す概略ブロック図である。 本発明の分析システムの概要を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。各実施形態における分析システム1として、診断対象システムを仮想化し、各機器の情報等に基づいてシミュレーションを行うことによって、診断対象システムの分析を行う分析システムが想定されている。
実施形態1.
図1は、本発明の第1の実施形態の分析システムの例を示すブロック図である。第1の実施形態の分析システム1は、データ収集部2と、データ記憶部3と、トポロジ特定部4と、検出部5と、評価値導出部6と、リスク情報記憶部7と、被害情報記憶部8と、被害特定部9と、対策特定部10と、対策情報記憶部11と、表示制御部12と、ディスプレイ装置13とを備える。
データ収集部2は、診断対象システム(セキュリティ診断の対象となるシステム)に含まれる各機器に関する情報を収集する。
診断対象システムの例として、例えば、企業内のIT(Information Technology)システムや、工場やプラント等を制御するためのいわゆるOT(Operational Technology)システム等が挙げられる。ただし、診断対象システムは、これらのシステムに限られない。複数の機器が通信ネットワークを介して接続されたシステムが、診断対象システムとなり得る。
診断対象システムに含まれる各機器は、通信ネットワークを介して接続されている。診断対象システムに含まれる機器の例として、例えば、パーソナルコンピュータ、サーバ、スイッチ、ルータ、工場に設置される工作機器、工作機器の制御装置等が挙げられる。ただし、機器は、上記の例に限定されない。また、機器は、物理的な機器であっても、仮想的な機器であってもよい。
データ収集部2が収集する情報の例として、例えば、機器に搭載されているOS(Operating System)やそのバージョン情報、機器に搭載されているハードウェアの構成情報、機器に搭載されているソフトウェアやそのバージョン情報、機器が他の機器との間で授受する通信データやその通信データの授受に用いた通信プロトコルの情報、機器のポートの状態を示す情報(どのポートが開いているか)等が挙げられる。通信データには、その通信データの送信元や送信先の情報が含まれている。ただし、データ収集部2が収集する情報の例は、上記の例に限定されない。データ収集部2は、機器に関する情報として、他の情報を収集してもよい。
データ収集部2は、診断対象システムに含まれる各機器から、直接、機器に関する情報を収集してもよい。この場合、分析システム1は、各機器と通信ネットワークを介して接続されていればよい。また、データ収集部2は、通信ネットワークを介して、各機器から情報を収集すればよい。
あるいは、データ収集部2は、各機器の情報を収集する情報収集サーバから、各機器に関する情報を取得してもよい。この場合、分析システム1は、情報収集サーバと通信ネットワークを介して接続されていればよい。また、データ収集部2は、通信ネットワークを介して、情報収集サーバから各機器に関する情報を収集すればよい。
また、各機器にエージェントが搭載されている場合には、データ収集部2は、エージェントを介して各機器に関する情報を収集してもよく、エージェントを介して各機器の情報を収集した情報収集サーバから各機器に関する情報を取得してもよい。
各機器に搭載されたエージェントがそれぞれ、機器に関する情報を情報収集サーバに送信する場合、データ収集部2は、その情報収集サーバから、診断対象システムに含まれる各機器に関する情報を収集してもよい。この場合、例えば、分析システム1は、情報収集サーバと通信ネットワークを介して接続されていればよい。また、データ収集部2は、通信ネットワークを介して、その情報収集サーバから各機器に関する情報を収集すればよい。
データ収集部2は、診断対象システムに含まれる各機器に関する情報を収集すると、その情報を、データ記憶部3に記憶させる。
データ記憶部3は、データ収集部2が収集した各機器に関する情報を記憶する記憶装置である。
トポロジ特定部4は、各機器のネットワークトポロジを特定する。具体的には、トポロジ特定部4は、セキュリティ管理者(以下、単に管理者と記す。)から与えられたネットワークトポロジの構成を基に、各機器のネットワークトポロジを特定する。また、トポロジ特定部4は、データ記憶部3に記憶された各機器に関する情報を基に、各機器のネットワークトポロジを特定してもよい。図2は、トポロジ特定部4によって特定されるネットワークトポロジの例を示す模式図である。図2は、複数の機器が通信ネットワークを介して接続されている状況を示している。
検出部5は、データ記憶部3に記憶された各機器に関するセキュリティの情報に基づいて、診断対象システムにおける攻撃ルートを検出する。具体的に、機器に関するセキュリティの情報は、機器に関するセキュリティ対応状況等を含む。
攻撃ルートは、診断対象システムにおいて、実行可能な攻撃の流れを示すものである。具体的には、攻撃ルートは、攻撃の起点となる機器から攻撃の終点となる機器までの、攻撃を受ける機器の順を示すルートである。
検出部5は、各機器に関するセキュリティの情報と、予め定められた分析ルールとに基づいて、攻撃ルートを検出してもよい。
また、例えば、検出部5は、以下に示す方法で攻撃ルートを検出してもよい。
攻撃には、複数の種類がある。機器の有する脆弱性に応じて、受ける可能性がある攻撃は異なる。そこで、本発明の各実施形態では、脆弱性によって攻撃を受ける可能性がある機器の状態を攻撃状態と定義する。例えば、攻撃状態として、「コードを実行できる状態(以下、execCodeと記す。)」、「データを改ざんできる状態(以下、dataInjectと記す。)」、「ファイルにアクセスできる状態(以下、accessFileと記す。)」、「アカウント情報を持っている状態(以下、hasAccountと記す。)」、「DoS(Denial of Service )攻撃を行える状態」等が挙げられる。
また、「機器と攻撃状態との組合せ」から別の「機器と攻撃状態との組合せ」への遷移を示す情報を攻撃シナリオと称することとする。「機器と攻撃状態との組合せ」から別の「機器と攻撃状態との組合せ」への遷移とは、ある機器にてある攻撃が可能になることで、その機器または別の機器で別のある攻撃が可能になることを示すものである。検出部5は、各機器に関するセキュリティの情報と、予め定められた分析ルールとに基づいて、診断対象システムで起こり得る攻撃シナリオを検出する。具体的には、検出部5は、各機器に関するセキュリティの情報が、分析ルールが示す条件に適合するか否かに応じて、攻撃シナリオを検出する。検出部5は、検出した複数の攻撃シナリオにおいて、「機器と攻撃状態との組合せ」をノードとみなし、共通のノードを繋げることで、「機器と攻撃状態との組合せ」の複数の遷移関係を示す情報を得る。図3は、この情報の例を模式的に示す模式図である。図3において、“A”,“B”,“U”,“W”,“X”,“Y”,“Z”はそれぞれ機器を表している。ここでは、図3に示す情報が得られた場合を例にして説明する。
また、検出部5は、ユーザインタフェース(図示略)を介して、管理者から、分析対象の指定を受け付ける。分析対象は、攻撃の起点となる機器、攻撃の終点となる機器、および、それらの組み合わせ等でもよい。また、複数の分析対象の指定があってもよい。検出部5は、管理者から指定された分析対象に関して、「機器と攻撃状態との組合せ」の複数の遷移関係を示す情報(図3参照)に基づいて、攻撃ルートを検出する。
例えば、攻撃の起点となる機器Xと攻撃の終点となる機器Zとが管理者によって指定された場合、検出部5は、図3に模式的に示す情報に基づいて、「X→A→Y→Z」という攻撃ルート(以下、攻撃ルート1と記す。)、および、「X→A→B→Z」という攻撃ルート(以下、攻撃ルート2と記す。)を検出することができる。このように、1つの起点および1つの終点が指定された場合であっても、複数の攻撃ルートが存在することもあり得る。
また、例えば、攻撃の起点となる機器Xと攻撃の終点となる機器Wとが管理者によって指定された場合、検出部5は、図3に模式的に示す情報に基づいて、「X→A→Y→W」という攻撃ルートを検出することができる。
この方法は、検出部5が攻撃ルートを検出する方法の一例である。
上記の方法において、異なる攻撃ルート上に共通の機器が存在する場合であっても、その機器の攻撃状態が同一であるとは限らない。機器が複数の脆弱性を有していたり、1つの脆弱性によって複数の攻撃を受けてしまう可能性もあるため、異なる攻撃ルート上の共通の機器の攻撃状態が異なる場合がある。例えば、上記の攻撃ルート1では、機器Aの攻撃状態は“dataInject”である。また、上記の攻撃ルート2では、機器Aの攻撃状態は“hasAccount”である(図3参照)。
また、管理者に指定された分析対象に対して、必ず攻撃ルートが検出されるとは限らない。例えば、攻撃の起点となる機器Zと攻撃の終点となる機器Xとが管理者によって指定された場合、攻撃ルートは検出されない(図3参照)。すなわち、機器Zから機器Xに至る攻撃は存在しない。
また、管理者が起点のみを指定する場合、検出部5は、重要機器を終点として設定してもよい。また、管理者が終点のみを指定する場合、検出部5は、起点となり得る可能性の高い所定の端末を起点として設定してもよい。
ここで、重要機器とは、診断対象システムにおいて重要な機器であり、攻撃を受けることが好ましくない機器である。どのような種類の機器を重要機器とするかは、予め管理者が定めておけばよい。例えば、アカウント情報(IDとパスワードとの組)を複数保持するアカウントサーバは、重要機器として定められる。また、アカウントサーバ以外の種類の機器が重要機器として定められてもよい。例えば、管理者は、機密情報が格納されるストレージを重要機器としてもよい。また、重要機器に該当する機器の種類は複数であってもよい。また、1つの診断対象システムに、重要機器に該当する機器が複数存在していてもよい。
評価値導出部6は、攻撃ルート上の機器に関する情報と、リスク情報記憶部7に記憶されている情報とに基づいて、その攻撃ルートでの攻撃によるリスクの程度を示す評価値を導出する。評価値導出部6は、攻撃ルート毎に評価値を導出する。
リスク情報記憶部7に記憶されている情報について説明する。図4は、リスク情報記憶部7に記憶されている情報の例を示す模式図である。
種々のソフトウェアと種々のセキュリティ上の脆弱性との関係は予め定められている。リスク情報記憶部7は、種々のソフトウェアと種々の脆弱性との関係とを示す情報を、例えば、テーブル形式で記憶する(図4の上段に示すテーブルを参照)。以下、ソフトウェアと脆弱性との関係を示すテーブルを第1テーブルと記す。管理者は、第1テーブルを予めリスク情報記憶部7に記憶させておけばよい。
セキュリティ上の脆弱性の種類は、大きく分けて2つある。第1の脆弱性は、ソフトウェアや機器(ルータ等)の不具合が原因の脆弱性である。この脆弱性については、様々な機関によって情報が収集、分類されている。また、脆弱性は、適宜、採番される。一例として、共通脆弱性識別子CVE(Common Vulnerabilities and Exposures)では、発見された脆弱性に対して“CVE-****-**** ”という形式の識別子が割り当てられる。第2の脆弱性は、プロトコルの仕様が原因の脆弱性である。このような脆弱性の例として、「FTP(File Transfer Protocol)の悪用」、「Telnetの悪用」等が挙げられる。本発明の各実施形態において、脆弱性は、この第1の脆弱性および第2の脆弱性を含む。
また、リスク情報記憶部7は、脆弱性毎に、脆弱性を利用した攻撃によるリスクの程度を示す評価値を、例えば、テーブル形式で記憶する(図4の下段に示すテーブルを参照)。以下、脆弱性と評価値との関係を示すテーブルを第2テーブルと記す。
第2テーブルに格納される評価値は、予め脆弱性毎に定められていればよい。例えば、脆弱性が、ソフトウェアや機器の脆弱性であれば、その脆弱性に対して定められたCVSS v3(Common Vulnerability Scoring System v3)におけるリスク値が、評価値として用いられてもよい。また、CVSS v3では、「攻撃複雑性(Access Complexity )」、「攻撃元区分(Access Vector )」、「可用性への影響(Availability Impact )」、「攻撃される可能性(Exploitability)」等の情報も含まれる。これらの値に応じて、リスク値を補正した値が評価値として用いられてもよい。また、「発見されて間もない新しい脆弱性であるか否か」、「最近、攻撃されることが多い脆弱性であるか否か」等の情報を考慮して、CVSS v3におけるリスク値を補正した値が評価値として用いられてもよい。また、「発見されて間もない新しい脆弱性であるか否か」、「最近、攻撃されることが多い脆弱性であるか否か」等の情報に基づいて算出された値そのものが評価値の1つとして用いられてもよい。
管理者は、個人情報への到達に寄与する等の影響が大きな脆弱性や、流行している攻撃の原因になる脆弱性に対して、比較的大きな評価値を設定してもよい。
また、「FTPの悪用」、「Telnetの悪用」等のように、プロトコルの仕様が原因の脆弱性の場合には、管理者が、適宜、評価値を予め定めればよい。
上記の例のように、管理者は、脆弱性毎に予め評価値を定め、第2テーブルをリスク情報記憶部7に記憶させておけばよい。
評価値導出部6が、1つの攻撃ルートの評価値を導出する方法の例を説明する。評価値導出部6は、着目している攻撃ルート上の機器毎に、機器に搭載されている各ソフトウェアを確認し、リスク情報記憶部7に記憶されている第1テーブル(図4参照)を参照することによって、機器に搭載されている各ソフトウェアに対応する各脆弱性を判定する。さらに、評価値導出部6は、着目している攻撃ルート上の機器毎に、判定した脆弱性の中から、攻撃ルートに応じた脆弱性を特定する。既に説明したように、異なる攻撃ルート上に共通の機器が存在する場合であっても、その機器の攻撃状態が同一であるとは限らない。従って、上記のように、評価値導出部6は、攻撃ルートに応じた脆弱性を特定する。
評価値導出部6は、着目している攻撃ルート上の機器毎に脆弱性を特定したならば、機器毎に、脆弱性に対応する評価値を第2テーブル(図4参照)から読み込む。そして、評価値導出部6は、攻撃ルート上の機器毎に得られた評価値に基づいて、着目している攻撃ルートの評価値を導出する。例えば、評価値導出部6は、攻撃ルート上の機器毎に得られた評価値の和を、その攻撃ルートの評価値としてもよい。また、例えば、評価値導出部6は、攻撃ルート上の機器毎に得られた評価値の最大値を、その攻撃ルートの評価値としてもよい。
また、評価値導出部6は、攻撃ルート上に重要機器が含まれている場合、特に攻撃ルートの終点が重要機器である場合、攻撃ルート上の機器毎に得られた評価値の和に所定の値が加算または乗算された値を、その攻撃ルートの評価値としてもよい。評価値導出部6は、攻撃ルート毎に、上記の方法で評価値を導出してもよい。
評価値の計算方法の他の例について説明する。評価値導出部6は、脆弱性毎に、脆弱性が診断対象システムにおけるいくつの攻撃パターンで用いられるのかを計算し、その計算結果を、脆弱性の評価値と定めてもよい。ここで、攻撃パターンとは、少なくとも、攻撃の条件となる攻撃状態、攻撃の結果となる攻撃状態、および、その攻撃で利用される脆弱性を含む情報である。そして、上述したように、評価値導出部6は、着目している攻撃ルート上の機器毎に、攻撃ルートに応じた脆弱性を特定する。評価値導出部6は、機器毎に特定した脆弱性の評価値として、その脆弱性を用いる攻撃パターンの数を用いる。このように、評価値導出部6は、攻撃ルート上の機器毎に評価値を求めた後、機器毎に求めた評価値に基づいて、着目している攻撃ルートの評価値を導出する。例えば、評価値導出部6は、攻撃ルート上の機器毎に得られた評価値の和を、その攻撃ルートの評価値としてもよい。また、例えば、評価値導出部6は、攻撃ルート上の機器毎に得られた評価値の最大値を、その攻撃ルートの評価値としてもよい。評価値導出部6は、攻撃ルート毎に、この方法で評価値を導出してもよい。
被害情報記憶部8は、機器の機能に応じた被害情報(攻撃された場合に受ける被害内容を示す情報)を記憶する記憶装置である。
図5は、被害情報記憶部8が記憶する情報の例を示す模式図である。被害情報記憶部8は、例えば、図5に例示するように、機器の機能と、攻撃種類と、被害情報とを対応付けたテーブルを記憶する。攻撃種類は、機器の機能が特定されることにより、特定される。
被害特定部9は、攻撃ルート上の機器毎に、被害情報を特定する。被害特定部9は、この処理を、攻撃ルート毎に行う。ただし、攻撃ルート上には、被害情報が特定されない機器が存在していてもよい。
被害特定部9が1つの攻撃ルートの機器毎に被害情報を特定する方法の例を説明する。被害特定部9は、着目している攻撃ルートの機器毎に、脆弱性と、機器の機能とを特定する。
機器の脆弱性の特定方法は、評価値導出部6による機器の脆弱性特定方法と同様である。すなわち、被害特定部9は、着目している攻撃ルート上の機器毎に、機器に搭載されている各ソフトウェアを確認し、第1テーブル(図4参照)を参照することによって、機器に搭載されている各ソフトウェアに対応する各脆弱性を判定する。さらに、被害特定部9は、着目している攻撃ルート上の機器毎に、判定した脆弱性の中から、攻撃ルートに応じた脆弱性を特定する。
また、被害特定部9は、例えば、以下のように各機器の機能を特定する。
予め、機器の機能に応じた条件が定められている。例えば、「アカウントサーバ機能」に対しては、「アカウントサーバ用のソフトウェアが搭載されている」、「所定のプロトコルで他の機器と通信データを授受する機器である」、あるいは、「所定のポートが開いた状態になっている」という条件のいずれか1つ、あるいは、2つ以上が予め定められている。
また、例えば、「人事情報管理サーバ機能」に対しては、「人事情報管理サーバ用のソフトウェアが搭載されている」という条件が予め定められている。
被害特定部9は、機能を特定しようとしている機器に関する情報を参照し、その情報がどの機能に応じた条件を満たしているのかを判定することによって、その機器の機能を特定すればよい。なお、被害特定部9は、機器に関する情報がどの機能に応じた条件も満たしていないならば、その機器の機能として、「該当する機能なし」という結果を導出してもよい。
上記のような方法で、被害特定部9は、着目している攻撃ルート上の各機器の機能を特定する。
ただし、被害特定部9は、他の方法で機器の機能を特定してもよい。例えば、被害特定部9は、攻撃ルート上の各機器の機能の指定を、ユーザインタフェース(図示略)を介して管理者から受け付けることによって、攻撃ルート上の各機器の機能を特定してもよい。
被害特定部9は、着目している攻撃ルート上の1つの機器に関して、脆弱性および機能を特定したならば、その機能に合致するレコードを被害情報記憶部8が記憶しているテーブル(図5参照)から検索する。該当するレコードがあれば、被害特定部9は、そのレコードに含まれている被害情報を読み込み、読み込んだ被害情報を、その機器の被害情報として特定する。該当するレコードがなければ、被害特定部9は、その機器の被害情報はないと判定する。被害特定部9は、着目している攻撃ルート上の各機器に対して、この動作を行う。この結果、着目している攻撃ルート上の各機器の被害情報が定められる。
被害特定部9は、攻撃ルート毎に上記と同様の動作を行い、各攻撃ルート上の各機器の被害情報を特定する。ただし、上述したように、被害情報が特定されない機器が存在していてもよい。
以上の説明では、被害特定部9が機器の機能に基づいて被害情報を定める場合を示した。他にも被害特定部9は、機器の機能と機器の脆弱性に基づいて被害情報を特定してもよく、攻撃種類等に基づいて特定してもよい。さらに、被害特定部9は、機器の機能と攻撃状態との組から被害情報を特定してもよい。
本実施形態の対策特定部10は、各攻撃ルート上の各機器の被害情報と、その被害情報が示す被害への対策と、対策の実行に要するコストとに基づいて、診断対象システムにおける被害とコストとの関係を出力する。
対策特定部10は、1つの攻撃ルート全体への対策に要するコストを算出する。コストを算出する際、対策特定部10は、図6に示す対策情報を用いる。図6は、対策情報記憶部11に記憶されている情報の例を示す模式図である。
図6に示す対策情報は、被害情報と、対策案と、コストとで構成されている。図6に示す被害情報は、図5に示す被害情報である。また、図6に示す対策案は、被害情報が示す被害への対策の案である。また、図6に示すコストは、対策案の実行に要するコストである。
対策特定部10は、様々な基準で対策案を選択する。例えば、対策特定部10は、コストが最小の対策案を選択する。図6に示す例であれば、対策特定部10は、被害情報「アカウント情報の流出」、「人事情報の流出」のいずれに対しても、対策案「所属部員への啓発」を選択する。対策案「所属部員への啓発」は、所属部員へ電子メール等で注意喚起を促すだけの対策であるため、コストが低い。
また、対策特定部10は、顧客から指定された予算内でコストの和が最大となる対策案を選択してもよい。例えば、指定された予算が「20」であれば、対策特定部10は、被害情報「アカウント情報の流出」、「人事情報の流出」のいずれに対しても、予算内でコストの和が最大(「16」)となる対策案「ファイアウォールのセキュリティレベルの向上」を選択する。対策特定部10がよりコストの和が大きい対策案を選択するほど、管理者は、より効果の大きい対策をとることができる。
また、対策特定部10は、恒久的な対策であるか、暫定的な対策であるかに応じて対策案を選択してもよい。図示しないが、例えば、図6に示す対策情報には、各対策案が「恒久対策」と「暫定対策」のいずれであるかを示す情報が、さらに含まれていてもよい。
具体的には、対策案「パッチの適用」には、「恒久対策」を示す情報が対応付けられる。また、対策案「ファイアウォールのセキュリティレベルの向上」には、「暫定対策」を示す情報が対応付けられる。評価値導出部6は、各対策案が「恒久対策」であるか「暫定対策」であるかに応じて、導出された評価値が所定の割合だけ大きくなるように、評価値を再度導出してもよい。
また、対策特定部10は、運用上の制約条件(システム変更が回避されることが好ましい期間である、等)に従って対策案を選択してもよい。対策特定部10により特定された対策案が、攻撃ルートが示す攻撃を防ぐための対策案になる。また、対策特定部10は、上記のように特定された対策案の実行に要するコストも併せて特定する。
なお、対策特定部10は、対策案に使用されるパッチが配布されたばかりのパッチである場合、パッチに不具合が存在する可能性や、パッチを適用することによって診断対象システムが正常に動作しなくなる可能性が存在するため、対策案「パッチの適用」を除外することもできる。また、同様の理由から、評価値導出部6は、対策案に使用されるパッチが配布されたばかりのパッチである場合、導出された評価値が所定の割合だけ大きくなるように、評価値を再度導出してもよい。
表示制御部12は、トポロジ特定部4によって特定されたネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置13上に表示する。図7は、第1の実施形態における攻撃ルートの表示例を示す模式図である。
図7に示す例では、表示制御部12は、「機器a→機器c→機器b」という攻撃ルート(以下、符号“50”で表し、攻撃ルート50と記す。)を表示している。また、表示制御部12は、「機器d→機器e」という攻撃ルート(以下、符号“51”で表し、攻撃ルート51と記す。)も表示している。
ディスプレイ装置13は、情報を表示する装置であり、一般的なディスプレイ装置でよい。なお、分析システム1がクラウド上に存在する場合には、ディスプレイ装置13は、クラウドに接続される端末のディスプレイ装置等であってもよい。
また、表示制御部12は、各攻撃ルートを表示するとともに、被害情報が特定された機器の近傍に被害情報(すなわち、攻撃された場合に受ける被害内容を示す情報)を表示してもよい。図8は、第1の実施形態における攻撃ルートの他の表示例を示す模式図である。
図8に示す例では、上記の攻撃ルート50上の機器c,bについて、それぞれ被害情報が特定され、表示制御部12が、ディスプレイ装置13上に表示した機器c,bそれぞれの近傍に、対応する被害情報を表示した状態を示している。ここで、表示制御部12は、各攻撃ルートを表示するとともに、機器の近傍にその機器が有する脆弱性等のセキュリティに関する情報を併せて表示してもよい。
なお、表示制御部12は、被害情報が示す被害内容の大きさに応じて文字、ポップアップの大きさ、色を変えてもよい。例えば、予め、被害情報の内容にランクを付しておき、表示制御部12は、被害情報を表示するときに、そのランクに応じて、文字、ポップアップの大きさ、色を定めてもよい。
また、被害情報の表示態様は、上記の例に限定されない。例えば、表示制御部12は、被害情報が特定された機器の近傍に、その機器に関する被害情報があることを表すアイコンを表示してもよい。そして、表示制御部12は、そのアイコンがマウス等によってクリックされた場合に、その機器に関する被害情報を表示してもよい。あるいは、表示制御部12は、そのアイコンがマウスオーバ状態になったときに、その機器に関する被害情報を表示してもよい(ロールオーバ)。また、表示制御部12は、被害情報をポップアップ表示し、マウス等による操作に応じて、そのポップアップ表示の大きさを変化させてもよい。
また、表示制御部12は、各攻撃ルートと被害情報を表示するとともに、攻撃ルートの評価値、攻撃ルートへの対策案およびそのコストを表示してもよい。図9は、第1の実施形態における攻撃ルートの他の表示例を示す模式図である。
図9に示すように、表示制御部12は、破線の下部に評価値導出部6から入力された攻撃ルートの評価値と、対策特定部10から入力された攻撃ルートへの対策案とそのコストを表示している。なお、図9に示す内容は、同一画面上に表示される内容である。
図9に示すように、攻撃ルート50、51の各評価値は、それぞれ「13」、「7」である。なお、表示制御部12は、評価値の昇順、または降順に各攻撃ルートを表示してもよい。
また、図9に示すように、攻撃ルート50への対策案として、機器b,cのいずれにも「所属部員への啓発」を行う案と、機器bに「パッチの適用」を行い機器cに「所属部員への啓発」を行う案とが表示されている。図9に示すように、各対策案のコストは、それぞれ「4」、「6」である。
なお、表示制御部12は、コストの昇順、または降順に各対策案を表示してもよい。図9に示す表示内容に基づいて、管理者は、例えばコストが最小の対策案を選択できる。また、管理者は、例えば顧客から指定された予算内でコストが最大の対策案を選択できる。また、管理者は、所定のコストの範囲内で、評価値が最大の対策案を選択できる。
また、管理者は、例えば評価値が最大の攻撃ルートに対して優先的に対策を実行すると判断することもできる。また、管理者は、他の基準に基づいて優先的に対策を実行する攻撃ルートを判断してもよい。例えば、管理者は、重要機器が含まれる攻撃ルートに対して優先的に対策を実行すると判断してもよい。
なお、図6に示す対策情報には、対策案の実行に要する時間を示す情報が含まれていてもよい。時間を示す情報が含まれている場合、表示制御部12は、対策案とともに時間を示す情報を表示してもよい。
また、所定の対策案が選択された場合、表示制御部12は、選択された対策案が実行されることによって解消される攻撃ルートを表示しないようにしてもよい。具体的には、図9の破線の下部に表示された対策案のいずれかが選択されると、表示制御部12は、破線の上部に表示された対応する攻撃ルートを消すようにしてもよい。
また、図9の破線の下部に表示された対策案のいずれかの上にカーソルが重なり、マウスオーバ状態となった場合に、表示制御部12は、破線の上部に表示された対応する攻撃ルートを消すようにしてもよい。
また、上述したように、ある攻撃ルートにおいて対策案が選択された場合に、他の攻撃ルートにおいても共通の機器が存在し、共通の対策案が有効である場合には、表示制御部12は、共通の機器が存在する攻撃ルートを表示しないようにしてもよい。
以上の処理によって、ある攻撃ルートに対して対策案が実行された場合に消える攻撃ルートが容易に把握可能になる。さらに、他の攻撃ルートに及ぼす影響、すなわち実行される対策案によって、いくつの攻撃ルートを消すことができるかが容易に把握可能になる。
データ収集部2は、例えば、分析プログラムに従って動作するコンピュータのCPU(Central Processing Unit )、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から分析プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、データ収集部2として動作すればよい。また、トポロジ特定部4、検出部5、評価値導出部6、被害特定部9、対策特定部10および表示制御部12は、例えば、分析プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体から分析プログラムを読み込み、そのプログラムに従って、トポロジ特定部4、検出部5、評価値導出部6、被害特定部9、対策特定部10および表示制御部12として動作すればよい。データ記憶部3、リスク情報記憶部7、被害情報記憶部8、および対策情報記憶部11は、例えば、コンピュータが備える記憶装置によって実現される。
次に、処理経過について説明する。図10は、第1の実施形態の分析システム1の処理経過の例を示すフローチャートである。既に説明した事項については説明を省略する。
まず、データ収集部2が、診断対象システムに含まれる各機器に関する情報を収集する(ステップS1)。データ収集部2は、収集した情報をデータ記憶部3に記憶させる。
次に、トポロジ特定部4が、各機器のネットワークトポロジを特定する(ステップS2)。
次に、検出部5が、各機器に関するセキュリティの情報に基づいて、診断対象システムにおける攻撃ルートを検出する(ステップS3)。
次に、評価値導出部6は、ステップS3で検出された攻撃ルート毎に評価値を算出する(ステップS4)。
次に、被害特定部9が、ステップS3で検出された各攻撃ルート上の各機器の被害情報を特定する(ステップS5)。
次に、対策特定部10が、ステップS5で特定された被害情報を基に、各攻撃ルートへの対策案を、実行に要するコストとともに1つ以上特定する(ステップS6)。
次に、表示制御部12が、ネットワークトポロジに重畳させて、ステップS3で検出された攻撃ルートを、ステップS5で特定された被害情報とともにディスプレイ装置13上に表示する。攻撃ルートを表示する際、表示制御部12は、同一画面上にステップS4で算出された評価値、およびステップS6で特定された対策案とそのコストも表示する(ステップS7)。
本実施形態によれば、上記のように、表示制御部12が、攻撃ルートへの対策案を、実行に要するコストとともに1つ以上ディスプレイ装置13上に表示する。従って、管理者は、コスト面を考慮して攻撃ルートへの対策案を容易に選択できる。
また、攻撃ルートの評価値も併せてディスプレイ装置13上に表示されるため、管理者は、対策を実行すると最も効果が大きい攻撃ルートも選択できる。
また、攻撃ルートへの対策案が選択された際、ディスプレイ装置13上に表示されているその攻撃ルートが消え、さらに選択された対策案によって解消される攻撃ルートも併せて消える場合、管理者は、最も効果が大きい対策を容易に把握できる。
実施形態2.
図11は、本発明の第2の実施形態の分析システムの例を示すブロック図である。第1の実施形態の要素と同様の要素については、図1と同一の符号を付す。第2の実施形態の分析システム1は、データ収集部2と、データ記憶部3と、トポロジ特定部4と、検出部5と、評価値導出部6と、リスク情報記憶部7と、被害情報記憶部8と、被害特定部9と、対策特定部10と、対策情報記憶部11と、表示制御部12と、ディスプレイ装置13と、時間情報特定部14と、時間情報記憶部15とを備える。
データ収集部2、データ記憶部3、トポロジ特定部4、検出部5、評価値導出部6、リスク情報記憶部7、被害情報記憶部8、被害特定部9、対策特定部10、対策情報記憶部11、表示制御部12およびディスプレイ装置13は、第1の実施形態におけるそれらの要素と同様であり、説明を省略する。
時間情報特定部14は、機器から収集された情報や、時間情報記憶部15に記憶された情報を参照することによって、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定する。時間情報特定部14が機器毎に時間情報を特定する動作は後述する。
なお、時間情報は、機器への攻撃に要する時間そのものを表す情報であってもよい。機器への攻撃に要する時間は概算値であってもよい。また、時間情報は、機器への攻撃に要する時間を相対的に表した情報であってもよい。機器への攻撃に要する時間を相対的に表した情報は、「長時間」、「中程度の時間」、「短時間」等のラベルであってもよい。以下の説明では、時間情報として、機器への攻撃に要する時間を表した数値を用いる場合を例にする。
換言すると、時間情報は、攻撃のスピードの程度を表している。
時間情報記憶部15は、時間情報特定部14が機器毎に時間情報を特定するために用いる情報を記憶する記憶装置である。
時間情報記憶部15は、脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定(以下に示す例では、認証に関する設定)に応じて定められた時間情報を、例えば、図12に例示するテーブル形式で記憶する。
図12は、脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定に応じて予め定められた時間情報を格納したテーブルの例を示す模式図である。時間情報記憶部15は、図12に例示するテーブルを記憶する。なお、上記のように、時間情報として、機器への攻撃に要する時間を表した数値を用いる場合を例にする。
図12に示す例では、ソフトウェアや機器の脆弱性に関しては、「攻撃前の認証要否(Authentication)」、「攻撃ツールの有無」、「攻撃元区分(Access Vector )」、「攻撃複雑性(Access Complexity )」が予め定められている。「攻撃前の認証要否」、「攻撃元区分」および「攻撃複雑性」は、個々の脆弱性に対応するCVSS v3によって行った評価から分かる。すなわち、管理者は、脆弱性毎に関するCVSS v3による評価結果を参照することで、「攻撃前の認証要否」、「攻撃元区分」および「攻撃複雑性」を知ることができる。
「攻撃前の認証要否」には、「複数(攻撃する場合、2つ以上の認証が必要である)」、「単数(攻撃前に認証が必要である)」、「不要(攻撃前に認証が不要である)」という3つの区分がある。
また、攻撃ツールとは、脆弱性に対する攻撃に使用されるツールである。攻撃ツールの例として、例えば、ダークウェブで配布されているエクスプロイトキット等のハッキングツールが挙げられる。
また、「攻撃元区分」とは、「どこから攻撃可能か」を示す。例えば、「攻撃元区分」が「ローカル」であるならば、USB(Universal Serial Bus)経由等のローカル環境からの攻撃が必要であることを表している。また、例えば、「攻撃元区分」が「ネットワーク」であるならば、リモートからの攻撃が可能であることを表している。
「攻撃複雑性」は、攻撃条件の複雑さであり、「高」、「中」、「低」の3つの区分に分けられている。
管理者は、「機器」、「攻撃前の認証要否」、「攻撃ツールの有無」、「攻撃元区分」、「攻撃複雑性」に応じて、ソフトウェアや機器の脆弱性の時間情報(脆弱性に対する攻撃に要する時間の程度)を予め定める。例えば、図12に例示する“CVE-2016-8*88 ”では、「機器」が「ルータ」であり、「攻撃前の認証要否」が「不要」であり、攻撃ツールが存在し、「攻撃元区分」が「ネットワーク」であり、「攻撃複雑性」が「低」である。これらのことから、管理者は、“CVE-2016-8*88 ”の時間情報を予め定めればよい。
さらに、「攻撃前の認証要否」が「単数」または「複数」である脆弱性に関しては、「パスワードの文字数」、「ロックアウト期間」および「認証間隔」といった、管理者によって予め定められた認証に関する種々の設定の組み合わせに応じて、管理者が時間情報を定める。例えば、図12に示す例では、“CVE-2017-9*99 ”については、「機器」が「サーバ」であり、「攻撃前の認証要否」が「単数」であり、攻撃ツールは存在せず、「攻撃元区分」が「ローカル」であり、「攻撃複雑性」が「高」である。ただし、認証に関する設定(本例では、パスワードの文字数、ロックアウト期間、認証間隔)は、個々の機器の設定によって異なる。従って、管理者は、“CVE-2017-9*99 ”については、各機器で設定されるパスワードの文字数、ロックアウト期間、認証間隔の種々の組み合わせを定める。そして、管理者は、「機器」が「サーバ」であり、「攻撃前の認証要否」が「単数」であり、攻撃ツールは存在せず、「攻撃元区分」が「ローカル」であり、「攻撃複雑性」が「高」であることの他に、各機器に応じた認証に関する複数の設定も考慮して、認証に関する設定の組み合わせに応じて、時間情報を予め定めればよい。従って、図12に例示するテーブルでは、機器と認証に関する複数の設定に応じた“CVE-2017-9*99 ”のレコードが複数存在する。
ここで、攻撃時に認証が必要な場合、攻撃者は、総当たり攻撃のような時間のかかる攻撃を行う。そのため、管理者は、攻撃時に認証が必要な場合には、時間情報の値を大きくし、認証が不要な場合には、時間情報の値を小さくしてもよい。
また、パスワードの文字数が多いほど、攻撃者は攻撃に多くの時間を要する。従って、管理者は、パスワードの文字数が多いほど、時間情報の値を大きくし、パスワードの文字数が少ないほど、時間情報の値を小さくしてもよい。
また、ロックアウト期間が長いほど、攻撃者は攻撃に多くの時間を要する。従って、管理者は、ロックアウト期間が長いほど、時間情報の値を大きくし、ロックアウト期間が短いほど、時間情報の値を小さくしてもよい。認証間隔についても同様である。なお、ロックアウト期間が0秒であるということは、ロックアウトが設定されていないことを意味する。同様に、認証間隔が0秒であるということは、認証間隔が設定されていないことを意味する。
また、攻撃ツールが存在している場合には、攻撃者は、攻撃しやすい。従って、管理者は、攻撃ツールが存在している場合には、時間情報の値を小さくし、攻撃ツールが存在していない場合には、時間情報の値を大きくしてもよい。
また、「攻撃元区分」が「ローカル」である場合には、攻撃者は、攻撃しにくい。従って、管理者は、「攻撃元区分」が「ローカル」である場合には、時間情報の値を大きくし、「攻撃元区分」が「ローカル」でない場合には、時間情報の値を小さくしてもよい。
また、管理者は、「攻撃複雑性」が「高」である場合には、時間情報の値を大きくし、「攻撃複雑性」が「中」である場合には、時間情報の値を中程度とし、「攻撃複雑性」が「低」である場合には、時間情報の値を小さくしてもよい。
また、図12に示す例では、プロトコルの仕様が原因の脆弱性に関して、管理者が、適宜、時間情報を定めている。例えば、図12に示す例では、「FTPの悪用」、「Telnetの悪用」に対して、それぞれ、時間情報として“10”が定められている。ただし、プロトコルの仕様が原因の脆弱性に対する時間情報は、上記の例に限定されない。
上記のように、管理者は、予め、脆弱性に対する時間情報を定め、脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定(認証に関する設定)と、時間情報との対応を示すテーブル(例えば、図12に例示するテーブル)を、時間情報記憶部15に記憶させておく。
時間情報特定部14は、各攻撃ルート上の機器毎に時間情報を特定する。時間情報特定部14が1つの攻撃ルート上の1つの機器の時間情報を特定する動作について説明する。
時間情報特定部14は、着目している機器から収集された情報を参照し、その機器に搭載されている各ソフトウェアを確認し、さらに、リスク情報記憶部7に記憶されている第1テーブル(図4参照)を参照することによって、機器に搭載されている各ソフトウェアに対応する各脆弱性を判定する。さらに、時間情報特定部14は、判定した脆弱性の中から、攻撃ルートに応じた脆弱性を特定する。既に説明したように、異なる攻撃ルート上に共通の機器が存在する場合であっても、その機器の攻撃状態が同一であるとは限らない。従って、上記のように、時間情報特定部14は、着目している機器に関して、攻撃ルートに応じた脆弱性を特定する。
次に、時間情報特定部14は、上記のように特定した脆弱性、着目している機器、および、着目している機器から収集された情報(ロックアウト設定の有無、ロックアウトが設定されている場合のロックアウト期間、認証時における認証間隔設定の有無、認証間隔が設定されている場合の認証間隔、パスワードポリシ)と、時間情報記憶部15に記憶されている図12に例示するテーブルとを照合し、脆弱性、着目している機器、および、着目している機器から収集された情報に応じた時間情報を、図12に例示するテーブルから読み込む。なお、パスワードポリシは、パスワードの文字数等を規定している。また、脆弱性のみから時間情報を特定できる場合には、時間情報特定部14は、着目している機器から収集された情報を参照しなくてもよい。
上記のように、時間情報特定部14は、1つの攻撃ルート上の1つの機器の時間情報を特定する。時間情報特定部14は、この動作を、各攻撃ルートの機器毎に行うことによって、各攻撃ルートの各機器の時間情報を特定する。
本実施形態の対策特定部10は、各攻撃ルート上の各機器の被害情報と、各機器の時間情報と、その被害情報が示す被害への対策と、対策の実行に要するコストとに基づいて、診断対象システムにおける被害と時間とコストとの関係を出力する。
対策特定部10は、攻撃ルート上の機器毎に特定された時間情報に基づいて、着目している攻撃ルートの時間情報を導出する。例えば、対策特定部10は、攻撃ルート上の機器毎に得られた時間情報のうち最短の時間を示す時間情報を、その攻撃ルートの時間情報としてもよい。また、対策特定部10は、攻撃ルート上の機器毎に得られた時間情報が示す各時間の平均時間を示す情報を、その攻撃ルートの時間情報としてもよい。
本実施形態の表示制御部12は、各攻撃ルートと被害情報を表示するとともに、攻撃ルートの評価値、時間情報、攻撃ルートへの対策案およびそのコストを表示する。図13は、第2の実施形態における攻撃ルートの表示例を示す模式図である。
図13に示すように、表示制御部12は、破線の下部に評価値導出部6から入力された攻撃ルートの評価値と、対策特定部10から入力された時間情報と、攻撃ルートへの対策案とそのコストを表示している。なお、図13に示す内容は、同一画面上に表示される内容である。
図13に示すように、攻撃ルート50、51の時間情報は、それぞれ「10」、「50」である。なお、図13に示す時間情報は、攻撃ルート上の機器毎に得られた時間情報のうち最短の時間を示す時間情報である。また、表示制御部12は、時間情報が示す時間の昇順、または降順に各攻撃ルートを表示してもよい。
なお、図13には破線の下部に評価値、時間情報およびコストを表示する例が示されているが、表示制御部12は、破線の上部のネットワークトポロジ上に表示された攻撃ルートの近傍に評価値、時間情報およびコストを表示してもよい。
図13に示す表示内容に基づいて、管理者は、評価値とコストに加えて、時間情報も考慮した上で対策の実行が求められる攻撃ルートを決定できる。例えば、評価値およびコストが同程度の値の攻撃ルートが複数存在した場合に、管理者は、時間情報が示す時間が最短の攻撃ルート、すなわち最も短い時間で攻撃が成功すると考えられる攻撃ルートに対して優先的に対策を実行すると判断できる。
また、例えば、評価値とコストは大きいが時間情報の値が大きい(攻撃が成功するまで時間が長い)攻撃ルートと、評価値とコストはそれほど大きくないが時間情報の値が小さい(攻撃が成功するまでの時間が短い)攻撃ルートが存在する場合がある。そのような場合、管理者は、時間情報の値が小さい攻撃ルート、すなわち相対的に短い時間で攻撃が成功すると考えられる攻撃ルートに対して優先して対策を実行すると判断できる。
なお、表示制御部12は、攻撃ルート上の機器毎に得られた時間情報を、各機器への対策案と対応付けてそれぞれ表示してもよい。
時間特定部14は、例えば、分析プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが、プログラム記録媒体から分析プログラムを読み込み、そのプログラムに従って、時間特定部14として動作すればよい。また、時間情報記憶部15は、例えば、コンピュータが備える記憶装置によって実現される。
次に、処理経過について説明する。図14は、第2の実施形態の分析システム1の処理経過の例を示すフローチャートである。既に説明した事項については説明を省略する。
ステップS11~S14の各処理は、図10に示すステップS1~S4の各処理とそれぞれ同様である。
次に、時間情報特定部14が、ステップS13で検出された各攻撃ルート上の各機器の時間情報を特定する。次に、対策特定部10が、特定された時間情報を基に、ステップS13で検出された攻撃ルート毎に時間情報を導出する(ステップS15)。
ステップS16~S17の各処理は、図10に示すステップS5~S6の各処理とそれぞれ同様である。
次に、表示制御部12が、ネットワークトポロジに重畳させて、ステップS13で検出された攻撃ルートを、ステップS16で特定された被害情報とともにディスプレイ装置13上に表示する。攻撃ルートを表示する際、表示制御部12は、同一画面上にステップS14で算出された評価値、ステップS15で導出された時間情報、およびステップS17で特定された対策案とそのコストも表示する(ステップS18)。
本実施形態によれば、上記のように、表示制御部12が、攻撃ルート上の機器に被害が到達するまでの時間をディスプレイ装置13上に表示する。従って、管理者は、時間の制約を考慮して攻撃ルートへの対策案を容易に選択できる。
なお、各機器には複数のソフトウェアが搭載される可能性があり、各ソフトウェアには複数の脆弱性が存在することもある。新たな脆弱性が発見された場合、管理者は、図4~6、12に例示する各テーブルをアップデートすればよい。
図15は、本発明の各実施形態の分析システム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、通信インタフェース1006とを備える。
本発明の各実施形態の分析システム1は、コンピュータ1000によって実現される。分析システム1の動作は、分析プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その分析プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その分析プログラムに従って、上記の各実施形態で説明した処理を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の各実施形態で説明した処理を実行してもよい。
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図16は、本発明の分析システムの概要を示すブロック図である。本発明の分析システムは、トポロジ特定部4と、検出部5と、対策特定部10とを備える。
トポロジ特定部4は、診断対象システムに含まれる機器のネットワークトポロジを特定する。
検出部5は、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する。
対策特定部10は、攻撃を防ぐための対策案と、対策案の実行に要するコストとを特定する。
そのような構成によって、分析システムは、診断対象システムにおいて実行されるセキュリティ対策を管理者が選択する根拠を提示できる。
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定部と、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出部と、
前記攻撃を防ぐための対策案と、前記対策案の実行に要するコストとを特定する対策特定部とを備える
ことを特徴とする分析システム。
(付記2)
攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報を特定する被害特定部を備え、
対策特定部は、
特定された被害情報を基に対策案を特定する
付記1に記載の分析システム。
(付記3)
対策特定部は、
攻撃ルート上の機器毎に、対策案とコストとを特定する
付記1または付記2に記載の分析システム。
(付記4)
ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御部を備える
付記1から付記3のうちのいずれかに記載の分析システム。
(付記5)
攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出する評価値導出部を備え、
表示制御部は、
攻撃ルートとともに、当該攻撃ルートに対して導出された評価値と、当該攻撃ルートに対して特定された対策案およびコストとをディスプレイ装置上に表示する
付記4に記載の分析システム。
(付記6)
表示制御部は、
攻撃ルート上の機器の近傍に被害情報を表示する
付記5に記載の分析システム。
(付記7)
各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定する時間情報特定部を備え、
表示制御部は、
攻撃ルートとともに、当該攻撃ルート上の機器に対して特定された時間情報をディスプレイ装置上に表示する
付記5または付記6に記載の分析システム。
(付記8)
表示制御部は、
特定された複数の時間情報のうち最も短い時間の程度を表す時間情報を表示する
付記7に記載の分析システム。
(付記9)
コンピュータが、
診断対象システムに含まれる機器のネットワークトポロジを特定し、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出し、
前記攻撃を防ぐための対策案と、前記対策案の実行に要するコストとを特定する
ことを特徴とする分析方法。
(付記10)
コンピュータに、
診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定処理、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出処理、および
前記攻撃を防ぐための対策案と、前記対策案の実行に要するコストとを特定する対策特定処理
を実行させるための分析プログラム。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2020年3月24日に出願された日本特許出願2020-052831を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
本発明は、攻撃ルートを表示する分析システムに好適に適用される。
1 分析システム
2 データ収集部
3 データ記憶部
4 トポロジ特定部
5 検出部
6 評価値導出部
7 リスク情報記憶部
8 被害情報記憶部
9 被害特定部
10 対策特定部
11 対策情報記憶部
12 表示制御部
13 ディスプレイ装置
14 時間情報特定部
15 時間情報記憶部

Claims (10)

  1. 診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定部と、
    機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出部と、
    撃を防ぐための対策案と、当該対策案の実行に要するコストとを特定する対策特定部と
    前記ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御部と、
    攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出する評価値導出部と、
    各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定する時間情報特定部とを備え、
    前記表示制御部は、
    攻撃ルートとともに、当該攻撃ルートに対して導出された評価値と、当該攻撃ルートに対して特定された対策案およびコストとを前記ディスプレイ装置上に表示し、
    攻撃ルートとともに、当該攻撃ルート上の機器に対して特定された時間情報を前記ディスプレイ装置上に表示する
    ことを特徴とする分析システム。
  2. 攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報を特定する被害特定部を備え、
    対策特定部は、
    特定された被害情報を基に対策案を特定する
    請求項1に記載の分析システム。
  3. 対策特定部は、
    攻撃ルート上の機器毎に、対策案とコストとを特定する
    請求項1または請求項2に記載の分析システム。
  4. 表示制御部は、
    攻撃ルート上の機器の近傍に被害情報を表示する
    請求項に記載の分析システム。
  5. 表示制御部は、
    特定された複数の時間情報のうち最も短い時間の程度を表す時間情報を表示する
    請求項に記載の分析システム。
  6. コンピュータが、
    診断対象システムに含まれる機器のネットワークトポロジを特定し、
    機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出し、
    撃を防ぐための対策案と、当該対策案の実行に要するコストとを特定し、
    前記ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示し、
    攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出し、
    各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定し、
    攻撃ルートとともに、当該攻撃ルートに対して導出された評価値と、当該攻撃ルートに対して特定された対策案およびコストとを前記ディスプレイ装置上に表示し、
    攻撃ルートとともに、当該攻撃ルート上の機器に対して特定された時間情報を前記ディスプレイ装置上に表示する
    ことを特徴とする分析方法。
  7. コンピュータが、
    攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報を特定し、
    特定された被害情報を基に対策案を特定する
    請求項6に記載の分析方法。
  8. コンピュータが、
    攻撃ルート上の機器毎に、対策案とコストとを特定する
    請求項6または請求項7に記載の分析方法。
  9. コンピュータに、
    診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定処理、
    機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出処理
    撃を防ぐための対策案と、当該対策案の実行に要するコストとを特定する対策特定処理
    前記ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御処理、
    攻撃ルート毎に、攻撃によるリスクの程度を示す評価値を導出する評価値導出処理、および
    各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表す時間情報を特定する時間情報特定処理を実行させるための分析プログラムであって、
    前記表示制御処理で、
    攻撃ルートとともに、当該攻撃ルートに対して導出された評価値と、当該攻撃ルートに対して特定された対策案およびコストとを前記ディスプレイ装置上に表示させ、
    攻撃ルートとともに、当該攻撃ルート上の機器に対して特定された時間情報を前記ディスプレイ装置上に表示させる
    分析プログラム。
  10. コンピュータに、
    攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報を特定する被害特定処理を実行させ、
    対策特定処理で、
    特定された被害情報を基に対策案を特定させる
    請求項9に記載の分析プログラム。
JP2022509329A 2020-03-24 2021-01-27 分析システム、方法およびプログラム Active JP7424470B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020052831 2020-03-24
JP2020052831 2020-03-24
PCT/JP2021/002833 WO2021192587A1 (ja) 2020-03-24 2021-01-27 分析システム、方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2021192587A1 JPWO2021192587A1 (ja) 2021-09-30
JP7424470B2 true JP7424470B2 (ja) 2024-01-30

Family

ID=77891251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022509329A Active JP7424470B2 (ja) 2020-03-24 2021-01-27 分析システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US20230129114A1 (ja)
JP (1) JP7424470B2 (ja)
WO (1) WO2021192587A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023079721A1 (ja) * 2021-11-08 2023-05-11 日本電気株式会社 データ処理装置、データ処理方法、および記録媒体
CN114710436B (zh) * 2022-04-19 2023-02-07 电子科技大学 一种拓扑攻击下多域无人系统的拓扑重构方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257577A (ja) 2007-04-06 2008-10-23 Lac Co Ltd セキュリティ診断システム、方法およびプログラム
US20150058993A1 (en) 2013-08-23 2015-02-26 The Boeing Company System and method for discovering optimal network attack paths
JP2018077597A (ja) 2016-11-08 2018-05-17 株式会社日立製作所 セキュリティ対策立案支援システムおよび方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257577A (ja) 2007-04-06 2008-10-23 Lac Co Ltd セキュリティ診断システム、方法およびプログラム
US20150058993A1 (en) 2013-08-23 2015-02-26 The Boeing Company System and method for discovering optimal network attack paths
JP2018077597A (ja) 2016-11-08 2018-05-17 株式会社日立製作所 セキュリティ対策立案支援システムおよび方法

Also Published As

Publication number Publication date
WO2021192587A1 (ja) 2021-09-30
JPWO2021192587A1 (ja) 2021-09-30
US20230129114A1 (en) 2023-04-27

Similar Documents

Publication Publication Date Title
US11637853B2 (en) Operational network risk mitigation system and method
JP6312578B2 (ja) リスク評価システムおよびリスク評価方法
JP7424470B2 (ja) 分析システム、方法およびプログラム
WO2020195228A1 (ja) 分析システム、方法およびプログラム
JP6656211B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2020160611A (ja) テストシナリオ生成装置、テストシナリオ生成方法、テストシナリオ生成プログラム
WO2020246227A1 (ja) ルール生成装置、ルール生成方法、及びコンピュータ読み取り可能な記録媒体
US20220174087A1 (en) Analysis system, method, and program
WO2021130943A1 (ja) リスク分析結果表示装置、方法、及びコンピュータ可読媒体
JP7424395B2 (ja) 分析システム、方法およびプログラム
JP7334794B2 (ja) 分析システム、方法およびプログラム
JP7298701B2 (ja) 分析システム、方法およびプログラム
JPWO2020065737A1 (ja) 影響範囲推定装置、影響範囲推定方法、及びプログラム
US20220309171A1 (en) Endpoint Security using an Action Prediction Model
WO2020195230A1 (ja) 分析システム、方法およびプログラム
JP7302665B2 (ja) 分析システム、方法およびプログラム
US11297086B2 (en) Correlation-based network security
WO2021059471A1 (ja) セキュリティリスク分析支援装置、方法、及びコンピュータ可読媒体
US20220237303A1 (en) Attack graph processing device, method, and program
JP7302666B2 (ja) 分析システム、方法およびプログラム
WO2021059520A1 (ja) 分析システム、方法およびプログラム
US20200259855A1 (en) Information processing apparatus, information processing system, security assessment method, and security assessment program
US20240146757A1 (en) Analysis apparatus, analysis system, analysis method and analysis program
Małowidzki et al. TAG: Topological attack graph analysis tool
JP7465835B2 (ja) セキュリティ対策支援装置、および、セキュリティ対策支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220907

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240101

R151 Written notification of patent or utility model registration

Ref document number: 7424470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151