[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7255679B2 - 攻撃グラフ加工装置、方法およびプログラム - Google Patents

攻撃グラフ加工装置、方法およびプログラム Download PDF

Info

Publication number
JP7255679B2
JP7255679B2 JP2021528041A JP2021528041A JP7255679B2 JP 7255679 B2 JP7255679 B2 JP 7255679B2 JP 2021528041 A JP2021528041 A JP 2021528041A JP 2021528041 A JP2021528041 A JP 2021528041A JP 7255679 B2 JP7255679 B2 JP 7255679B2
Authority
JP
Japan
Prior art keywords
attack
graph
attack graph
nodes
processing device
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
JP2021528041A
Other languages
English (en)
Other versions
JPWO2020255185A1 (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 JPWO2020255185A1 publication Critical patent/JPWO2020255185A1/ja
Application granted granted Critical
Publication of JP7255679B2 publication Critical patent/JP7255679B2/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
    • 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 Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、攻撃グラフ加工装置、攻撃グラフ加工方法および攻撃グラフ加工プログラムに関する。
複数のコンピュータ等を含む情報処理システムに代表される診断対象システムにおいて、情報資産をサイバー攻撃等から守るためのセキュリティ対策をとることが求められている。セキュリティ対策としては、対象となるシステムの脆弱性等を診断し、必要に応じて脆弱性を取り除くこと等が挙げられる。
また、特許文献1には、セキュリティを考慮したシステム要件定義を分析する際に、非熟練者であっても、熟練者と同等のレベルのセキュリティ分析を効率的に、かつ低コストで行えるよう支援することのできるセキュリティ要求分析支援装置が記載されている。
また、特許文献2には、標的型攻撃及びマルウェアの活動の分析、及び、今後の攻撃の動向を予測することが可能なサイバー攻撃分析装置が記載されている。また、特許文献3には、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するシステムが記載されている。
また、非特許文献1には、MulVALという既存のセキュリティ分析ツールが記載されている。
特開2008-250680号公報 特開2016-206943号公報 特表2016-528656号公報
X. Ou, S. Govindavajhala, and A. Appel, "MulVAL: A logic-based network security analyzer," USENIX Association, 14th USENIX Security, pp. 113-128, August, 2005.
セキュリティ診断の対象となるシステムを、診断対象システムと記す。診断対象システムにおいて起こり得る攻撃への効果的な対策をセキュリティ管理者(以下、単に管理者とも呼ぶ。)が実行するためには、診断対象システムにおいて起こり得る攻撃が分かりやすくセキュリティ管理者に提示されることが求められる。
そこで、本発明は、診断対象システムにおける攻撃を容易に分析できる攻撃グラフ加工装置、攻撃グラフ加工方法および攻撃グラフ加工プログラムを提供することを目的とする。
本発明による攻撃グラフ加工装置は、診断対象システムの状態、または診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出するノード抽出部と、抽出されたノードに基づいて攻撃グラフを簡略化するグラフ構成部とを備えることを特徴とする。
本発明による攻撃グラフ加工方法は、攻撃グラフ加工装置で実行される攻撃グラフ加工方法であって、攻撃グラフ加工装置が、診断対象システムの状態、または診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出し、抽出されたノードに基づいて攻撃グラフを簡略化することを特徴とする。
本発明による攻撃グラフ加工プログラムは、コンピュータに、診断対象システムの状態、または診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出する抽出処理、および抽出されたノードに基づいて攻撃グラフを簡略化する簡略化処理を実行させることを特徴とする。
本発明によれば、診断対象システムにおける攻撃を容易に分析できる。
攻撃グラフの例を示す説明図である。 攻撃グラフ生成システムの例を示す説明図である。 攻撃グラフ生成ルールの例を示す説明図である。 グラフ生成用入力ファイルの例を示す説明図である。 攻撃グラフ生成システム900により生成された攻撃グラフの例を示す説明図である。 Arp スプーフィングによるなりすましの例を示す説明図である。 本発明の第1の実施形態の攻撃グラフ加工装置の構成例を示すブロック図である。 攻撃グラフ生成ルールの他の例を示す説明図である。 攻撃グラフ生成ルールの他の例を示す説明図である。 攻撃グラフと攻撃グラフから抽出されるノードの例を示す説明図である。 グラフ構成部120による攻撃グラフの簡略化の例を示す説明図である。 グラフ構成部120によるノードの削除処理の例を示す説明図である。 グラフ構成部120によるノードの削除処理の他の例を示す説明図である。 グラフ構成部120によるノードの削除処理の他の例を示す説明図である。 攻撃グラフと攻撃グラフから抽出されるノードの他の例を示す説明図である。 第1の実施形態の攻撃グラフ加工装置100による攻撃グラフ加工処理の動作を示すフローチャートである。 本発明の第2の実施形態の攻撃グラフ加工装置の構成例を示すブロック図である。 第2の実施形態の攻撃グラフ加工装置101による攻撃グラフ加工処理の動作を示すフローチャートである。 本発明の第3の実施形態の攻撃グラフ加工装置の構成例を示すブロック図である。 本発明の第3の実施形態の攻撃グラフ加工装置の他の構成例を示すブロック図である。 第3の実施形態の攻撃グラフ加工装置102による攻撃グラフ加工処理の動作を示すフローチャートである。 攻撃グラフ加工装置のハードウェア構成例を示す説明図である。 攻撃グラフ加工装置の概要を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。最初に、本発明の各実施形態において前提となる事項を説明する。
攻撃グラフは、システムの状態、またはシステムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフである。システム状態は、例えば、使用されているOS(Operating System)の状態、ソフトウェアの状態、脆弱性の状態、ネットワーク構成の状態である。また、攻撃の主体の状態は、例えば、あるホストにログイン可能な状態、または通信可能な状態である。
上記の関係性として、以下のような種類の関係性が考えられる。
例えば、攻撃に関する関係性が考えられる。攻撃に関する関係性は、ある前提条件が成立したときに攻撃が可能となり、その攻撃により結果的に至る状態(consequence )を示す。
また、例えば、攻撃の主体の状態に関する性質を表す関係性が考えられる。攻撃の主体の状態に関する性質を表す関係性は、ある攻撃の主体がある状態に至ったときにどのような状態に至るかを示す。例えば、あるホストにログイン可能になれば、隣接するホストと通信可能になるような関係性が該当する。
また、例えば、システム状態の性質を表す関係性が考えられる。システム状態の性質を表す関係性は、あるシステム状態に至ったときにどのような状態に至るかを示す。例えば、ファイアウォールのルールが書き換えられて論理的なネットワーク構成が変更されたときに、あるホスト間が通信可能な状態になるような関係性が該当する。
攻撃グラフは、ある関係性によって導出されたノードを別の関係性の前提とすることで、攻撃の主体が初期状態からどのような攻撃の流れでどのような状態に至るかを表現する。以下、攻撃グラフが表現する攻撃の流れを、攻撃パスと呼ぶ。
攻撃パスは、基本的に1つ以上のノードで構成されている。また、診断対象システムにおいて実行可能であると判断された攻撃を表すノードが次の攻撃の前提条件になる場合、攻撃グラフは、複数のステップで構成される攻撃を表現できる。
図1は、攻撃グラフの例を示す説明図である。図1に示すノード50~52、ノード54~55は、攻撃が実行可能になるための条件をそれぞれ表す。また、図1に示すノード53、56は、診断対象システムにおいて実行可能であると判断された攻撃をそれぞれ表す。
図1に示す攻撃グラフは、例えば条件「ホストA において任意のコードを実行可能」、条件「ホストA からホストB に信号を送信可能」、条件「ホストB のネットワークサービスにリモートから攻撃可能な脆弱性X がある」という3つの条件が成立したときに攻撃「ホストB において一般権限で任意のコードを実行可能」が実行可能になることを意味する。
攻撃「ホストB において一般権限で任意のコードを実行可能」は、ノード50~53で構成されている攻撃パスに対応する。また、図1に示す”AND” は、攻撃パスにおいて各条件が論理積の関係、すなわち各条件が全て成立するときに攻撃が実行可能となり、それ以外のときに攻撃が実行不可能となる関係にあることを意味する。
また、図1に示す攻撃グラフは、条件「ホストB において一般権限で任意のコードを実行可能」、条件「ホストB にローカルから攻撃可能な特権昇格の脆弱性がある」という2つの条件が成立したときに攻撃「ホストB において管理者権限で任意のコードを実行可能」が実行可能になることを意味する。また、条件「ホストB の管理者のクレデンシャル取得」が成立したときにも攻撃「ホストB において管理者権限で任意のコードを実行可能」が実行可能になることを意味する。
攻撃「ホストB において管理者権限で任意のコードを実行可能」は、ノード50~56で構成されている攻撃パスに対応する。また、図1に示す”OR”は、攻撃パスにおいて各条件が論理和の関係、すなわち各条件が少なくとも1つ成立するときに攻撃が実行可能となり、各条件が全て成立しないときに攻撃が実行不可能となる関係にあることを意味する。
なお、「リモートから攻撃可能な脆弱性」は、通信ネットワークを介して攻撃可能な脆弱性である。また、「ローカルから攻撃可能なホストに存在する脆弱性」は、ホストにログインしている状態やホストにおいてコードを実行可能な状態から攻撃可能な脆弱性である。脆弱性は、ローカルから攻撃可能な脆弱性と、リモートから攻撃可能な脆弱性とに大別される。
また、特権昇格の脆弱性は、本来攻撃の主体が有していない権限でのコード実行やファイルへのアクセスを可能とする脆弱性である。また、クレデンシャルは、認証に使われる情報全般(例えば、IDとパスワードの組)を意味する。
次に、攻撃グラフを自動で生成するシステムの例を説明する。図2は、攻撃グラフ生成システムの例を示す説明図である。
図2に示す攻撃グラフ生成システム900は、攻撃グラフ生成ルール(以下、単にルールとも呼ぶ。)とグラフ生成用入力ファイルとを用いて攻撃グラフを自動で生成するシステムである。
図2に示す攻撃グラフ生成ルールは、攻撃や診断対象システム内の各要素の関係を表すルールである。例えば、前提となる複数の状態の組み合わせから別の状態を導出するルールが、攻撃グラフ生成ルールとして使用される。
攻撃グラフ生成ルールは、診断対象システムの構成要素の識別子や攻撃の主体の識別子を引数として含む述語が記されることによって、診断対象システムの状態や攻撃の主体の状態を表すことができる。
また、攻撃グラフ生成ルールは、述語間の関連性を表す。例えば、攻撃グラフ生成ルールは、一階述語論理に基づいて記述可能である。
以下、攻撃グラフ生成ルールの具体例を、図3~4を参照して説明する。なお、図3~4に示す述語のそれぞれの引数は、何らかのエンティティやパラメータを表現するラベルや識別子に対応する。それらの引数にラベルや識別子が代入されることによって、各述語は、具体的なエンティティに関する状態を表現できる。
図3は、攻撃グラフ生成ルールの例を示す説明図である。図3に示す攻撃グラフ生成ルールは、非特許文献1に記載されているMulVALで用いられる表現方法で記載されている。
図3に示す1行目の攻撃「execCode(H, Perm):- 」は、攻撃の主体がホストH においてPerm権限(アクセス権限)でコードを実行可能であることを意味する。
また、図3に示す2行目の前提条件「vulExists(H, _, Software, remoteExploit, privEscalation), 」は、ホストH のソフトウェアSoftwareにはリモートから攻撃可能(remoteExploit) な特権昇格(privEscalation)の脆弱性が存在することを意味する。
なお、上記の例において引数H 、Softwareにはラベルや識別子が代入され得るが、remoteExploit 、privEscalationはそれぞれ“リモートから攻撃可能”、“特権昇格”を意味する具体的なラベルである。以下、攻撃グラフ生成ルール内の述語に関して、引数に具体的なラベルが代入されている状態であることが明示されている場合を除き、各引数には、何らかのラベルや識別子が代入され得る。
また、図3に示す3行目の前提条件「networkServiceInfo(H, Software, Protocol, Port, Perm),」は、ホストH においてソフトウェアSoftwareが権限Permで実行されており、プロトコルProtocolの通信をポート番号Portで待ち受けていることを意味する。
また、図3に示す4行目の前提条件「netAccess(H, Protocol, Port)」は、攻撃の主体がホストH にプロトコルProtocol、ポート番号Portで通信可能であること、すなわちデータを到達させることができることを意味する。
図3に示す2行目~4行目の全ての前提条件が成立したとき、図3に示す1行目の攻撃(execCode)が実行可能になる。すなわち、攻撃グラフ生成ルールは、攻撃グラフが表現する攻撃パスに対応する攻撃が実行可能になる条件を示すルールに相当する。なお、「攻撃が実行可能になる」とは、第三者にとって攻撃が実行可能であることが分かることを意味する。
また、図2に示すグラフ生成用入力ファイルは、アセスメント対象システムまたは攻撃の主体の状態、前提、および脆弱性情報等のグラフ生成に利用される情報が記述されたファイルである。
図2に示すグラフ生成用入力ファイルは、攻撃グラフ生成ルール中で使用される述語に関して、必要に応じて具体的なラベルや識別子を引数に代入して列挙することによって構成可能である。以下に説明するグラフ生成用入力ファイルの具体例における各引数には、ラベルや識別子が代入されている。
図4は、グラフ生成用入力ファイルの例を示す説明図である。図4に示す1行目の情報「attackerLocated(zoneA). 」は、攻撃の主体がサブネットであるゾーンzoneA に存在していることを意味する。
また、図4に示す2行目の情報「attackGoal(execCode(hostX,admin)).」は、攻撃目標がホストhostX において権限admin で任意のコードが実行可能となることであることを意味する。
また、図4に示す3行目の情報「hacl(zoneA,hostX,tcp,80).」は、ゾーンzoneA とホストhostX 間がプロトコルTCP(transmission control protocol)、ポート番号80で通信可能であることを意味する。
また、図4に示す4行目の情報「vulExists(hostX,cveXXXX,vulSoftware,remoteExploit,privEscalation).」は、ホストhostX 上のソフトウェアvulSoftware にはリモートから攻撃可能(remoteExploit) な特権昇格(privEscalation)の脆弱性が存在することを意味する。なお、識別子cveXXXは、脆弱性の識別子である。
また、図4に示す5行目の情報「networkServiceInfo(hostX,vulSoftware,tcp,80,admin). 」は、ホストhostX においてソフトウェアvulSoftware が権限admin で実行されており、プロトコルtcp の通信をポート番号80で待ち受けていることを意味する。
図3に示す攻撃グラフ生成ルールと図4に示すグラフ生成用入力ファイルとを用いて、攻撃グラフ生成システム900は、攻撃グラフを生成する。図5は、攻撃グラフ生成システム900により生成された攻撃グラフの例を示す説明図である。
図5に示す5番~8番のノードは、グラフ生成用入力ファイルに記述されている情報に相当する。また、図5に示す2番、4番のノードは、攻撃グラフ生成ルールと対応するノードである。図5に示す攻撃グラフは、生成中に適用された攻撃グラフ生成ルールと対応するノードを含む場合がある。
なお、攻撃グラフ生成ルールと対応するノードは、ノードに入力するエッジである入力エッジに対応するノードの論理積が成立するときに、ルールが成立するノードである。例えば、4番のノード(Rule 6)のルールは、5番のノードの条件と6番のノードの条件が両方成立する場合に成立する。4番のノードのルールが成立すると、3番のノードの攻撃が実行可能になる。
また、図5に示す1番、3番のノードは、攻撃グラフ生成ルールにより導出されるノードである。なお、攻撃グラフ生成ルールにより導出されるノードは、入力エッジに対応するノードの論理和が成立するときに、攻撃が実行可能になるノードである。
図5に示す例では、1番、3番のノードへの入力エッジは1本だけである。しかし、一般的には攻撃グラフ生成ルールにより導出されるノードへの入力エッジは複数である。入力エッジが複数である場合、入力元の条件が1つでも成立すれば、または攻撃が1つでも実行可能になれば、攻撃グラフ生成ルールにより導出されるノードの攻撃も実行可能になる。
なお、攻撃グラフが表現する関係性は、図1に示すようにエッジおよびエッジに付加された”AND” や”OR”の情報の組み合わせで表されてもよいし、図5に示すように関係性を示すノードで表現されてもよい。
図6は、Arp スプーフィングによるなりすましの例を示す説明図である。図6に示すAttackerは、Arp(Address resolution protocol)プロトコルの応答を偽装することによってLAN(Local Area Network) 上で通信機器のなりすましを行う。具体的には、Attackerは、Routerに対してArp spoofingを行った後、Host2 からHost1 へ向けて送信されたdataflowを受信する。
自動生成された攻撃グラフのノードの数は、手動で攻撃グラフを生成する場合に比べて多くなる傾向にある。例えば、自身で攻撃グラフを記述するセキュリティ管理者は、攻撃の本質的な内容に関与しない条件を省略して攻撃グラフを生成する場合がある。
しかし、攻撃グラフが自動で生成される場合、攻撃グラフの生成に必要な全ての条件が考慮される。そのため、攻撃グラフに含まれるノードの数が、手動で攻撃グラフが生成される場合に比べて増える傾向にある。ノードが増えることによって、攻撃グラフの視認性が低下する。
上記の理由により、図6に示す攻撃の程度でも自動で生成された攻撃グラフには100個ほどのノードが含まれる場合がある。以下、多数のノードを含む攻撃グラフの視認性を向上させることができる攻撃グラフ加工装置を説明する。
実施形態1.
図7は、本発明の第1の実施形態の攻撃グラフ加工装置の構成例を示すブロック図である。第1の実施形態の攻撃グラフ加工装置100は、ノード抽出部110と、グラフ構成部120と、分類情報記憶部130と、簡略化ポリシ取得部140と、攻撃グラフ表示部150とを備える。
本実施形態の攻撃グラフ加工装置100は、攻撃グラフ生成ルールの分類情報に基づいて攻撃グラフ内のノードを抽出することによって攻撃グラフを簡略化する。
本実施形態の分類情報は、所定のグループに分類された攻撃グラフ生成ルールを示す。換言すると、分類情報が示す1つのグループは、攻撃グラフ生成ルールが分類される1つの基準に対応する。
ノード抽出部110は、入力された攻撃グラフに対して、簡略化ポリシで指定される分類情報を使用して、ノードを抽出する機能を有する。なお、簡略化ポリシは、攻撃グラフの簡略化に使用される分類情報を示す情報である。
グラフ構成部120は、ノード抽出部110により抽出されたノードを基に簡略化された攻撃グラフを構成する機能を有する。
分類情報記憶部130は、複数の攻撃グラフ生成ルールそれぞれに対応する各分類情報を記憶する機能を有する。
簡略化ポリシ取得部140は、簡略化ポリシを取得する入力インタフェースである。なお、簡略化ポリシ取得部140は、攻撃グラフ加工装置100に備えられていなくてもよい。
攻撃グラフ表示部150は、簡略化された攻撃グラフを表示する出力インタフェースである。なお、攻撃グラフ表示部150は、攻撃グラフ加工装置100に備えられていなくてもよい。例えば、攻撃グラフ表示部150は、攻撃グラフ加工装置100に対して遠隔地に存在していてもよい。
攻撃グラフ生成ルールが分類される基準は、いくつか考えられる。例えば、攻撃グラフ生成ルールは、ルールの内容に応じて、すなわちルールそのものが何を表すかに応じて分類されてもよい。攻撃グラフ生成ルールがルールの内容に応じて分類される場合、分類情報は、攻撃の主体の行動に関するルールのグループ、システムの関係を表すルールのグループ等を示す。
また、攻撃グラフ生成ルールは、ルールから導出されるノードに応じて分類されてもよい。攻撃グラフ生成ルールがルールから導出されるノードに応じて分類される場合、分類情報は、攻撃の主体の状態を示すノードを導出するルールのグループ、ホストまたは通信ネットワークの状態を示すノードを導出するルールのグループ等を示す。なお、1つの攻撃グラフ生成ルールは、2つ以上のグループに分類される場合もある。
図8は、攻撃グラフ生成ルールの他の例を示す説明図である。図8に示す1行目の攻撃「execCode3(Principal, Host, admin):- 」は、攻撃の主体であるPrincipal がホストHost上で管理者権限で任意のコードを実行可能であることを意味する。
また、図8に示す2行目の前提条件「localAccess3(Principal, Host, User),」は、攻撃の主体であるPrincipal がホストHostにユーザアカウントUserの権限でログイン可能であることを意味する。また、図8に示す3行目の前提条件「localService3(Host, Prog, User),」は、ホストHost上でプログラムProgがユーザアカウントUserの権限で動作することを意味する。
また、図8に示す4行目の前提条件「vulSoftware5(Host, _vulID, Prog, localEploit, privEsc), 」は、プログラムProgにはローカルからエクスプロイト(脆弱性の悪用)可能な特権昇格の脆弱性が存在することを意味する。なお、localExploitは、ローカルから攻撃可能であることを示すラベルである。また、privEsc は、特権昇格の脆弱性が存在することを示すラベルである。
また、図8に示す5行目の前提条件「maliciousl(Principal) 」は、Prinicipal には悪意がある(Principal は攻撃の主体である)ことを意味する。
なお、図8に示す「malicious1(Principal) 」は、Principal の部分に対応するラベルや識別子で表される主体に悪意があることを示す述語の例である。図8に示す2行目~5行目の全ての前提条件が成立したとき、図8に示す1行目の攻撃(execCode3 )が実行可能になる。
図8に示す攻撃グラフ生成ルールは、特権昇格の脆弱性を悪用する攻撃が実行可能になる条件を示すルールである。よって、図8に示す攻撃グラフ生成ルールは、攻撃の主体の行動に関するルールのグループに含まれている。
また、図8に示す攻撃グラフ生成ルールは、攻撃の主体の状態を示すノードを導出するルールのグループ、またはホストに関連するノードを導出するルールのグループに含まれていてもよい。
図9は、攻撃グラフ生成ルールの他の例を示す説明図である。図9に示す1行目の条件「l2Connection5(SrcHost, DstHost, Subnet, Prot, ipSubnet):- 」は、ホストSrcHost とホストDstHost がOSI 参照モデルにおけるデータリンク層で接続していることを意味する。
また、図9に示す2行目の前提条件「located3(SrcHost, Subnet, ipSubnet),」は、ホストSrcHost がサブネットSubnetに存在することを意味する。また、図9に示す3行目の前提条件「located3(DstHost, Subnet, ipSubnet) 」は、ホストDstHost がサブネットSubnetに存在することを意味する。図9に示す2行目~3行目の全ての前提条件が成立したとき、図9に示す1行目の条件が成立する。
図9に示す攻撃グラフ生成ルールは、同じサブネットに存在するノードはデータリンク層で接続していることを表すルールである。よって、図9に示す攻撃グラフ生成ルールは、システムの関係を表すルールのグループに含まれている。
また、図9に示す攻撃グラフ生成ルールは、通信ネットワークの状態を示すノードを導出するルールのグループに含まれていてもよい。なお、図8~9に示す述語のそれぞれの引数は、何らかのエンティティやパラメータを表現するラベルや識別子に対応する。それらの引数にラベルや識別子が代入されることによって、各述語は、具体的なエンティティに関する状態を表現できる。
以下、ノード抽出部110の動作例を説明する。最初に、ノード抽出部110は、攻撃グラフの簡略化に使用する分類情報を決定する。すなわち、ノード抽出部110は、管理者から入力された簡略化ポリシ等に従って、抽出するノードに関連する攻撃グラフ生成ルールが分類されたグループを決定する。
ノード抽出部110は、分類情報記憶部130に格納されている分類情報のうち1つ以上の分類情報を選択する。例えば分類情報記憶部130にグループAに分類されるルールを示す分類情報、グループBに分類されるルールを示す分類情報、グループCに分類されるルールを示す分類情報の3種類が格納されているとき、ノード抽出部110は、グループA~Cのうち1つ以上の分類情報を選択する。
次に、ノード抽出部110は、選択された分類情報が示す攻撃グラフ生成ルールに関連するノードを攻撃グラフから抽出する。抽出されるノードは、攻撃グラフ生成ルール自体と対応するノード、攻撃グラフ生成ルールが前提条件とするノード、攻撃グラフ生成ルールが導出するノードのいずれか1つ以上のノードである。
また、攻撃グラフに攻撃グラフ生成ルールの識別子が含まれる場合、ノード抽出部110は、識別子と分類情報とを基に各ノードが選択された分類情報が示す攻撃グラフ生成ルールに関連するノードか否かをそれぞれ判断する。識別子が含まれる場合、分類情報記憶部130には、分類情報とルールの識別子との組が1つ以上記憶される。
また、攻撃グラフに攻撃グラフ生成ルールの識別子が含まれない場合、ノード抽出部110は、例えば各ノードが、各ノードの入出力エッジの情報の組み合わせから選択された分類情報が示す攻撃グラフ生成ルールに関連するノードか否かをそれぞれ判断する。
識別子が含まれない場合、分類情報記憶部130には、入力エッジのノードに含まれる情報種別の情報と、出力エッジに含まれる情報種別の情報と、分類情報との組が1つ以上記憶される。情報種別の情報は、IP(Internet Protocol) アドレスなどの通信ネットワーク関連の識別情報、ソフトウェア名、脆弱性番号等を示す。
図10は、攻撃グラフと攻撃グラフから抽出されるノードの例を示す説明図である。図10に示す例では、グループ「分類X」に分類された攻撃グラフ生成ルール自体と対応するノード(「分類X:RuleA 」、「分類X:RuleB 」)と、攻撃グラフ生成ルールが導出するノード(「Derived X 」、「Derived W 」)が抽出対象のノードである。
以下、グラフ構成部120の動作例を説明する。グラフ構成部120は、ノード抽出部110により抽出されなかったノードを、攻撃グラフの論理構成を維持しながら削除する。なお、「攻撃グラフの論理構成を維持する」とは、ノードが削除される前と後で攻撃グラフが示すノード間の関係性が変わらないことを意味する。ノード間の関係性は、”AND” または”OR”等の論理関係を表す関係性である。
例えば、グラフ構成部120は、攻撃の主体の行動に関するルールに関連する特定のノードのみを残し、他のノードを削除する。図11は、グラフ構成部120による攻撃グラフの簡略化の例を示す説明図である。図11(a)に示す内容は、図10に示す攻撃グラフと攻撃グラフから抽出されるノードと同様である。
図11(b)に示すように、グラフ構成部120は、ノード抽出部110により抽出されなかったノードを削除する。なお、グラフ構成部120は、図11(b)に示すように、グラフ生成用入力ファイルの記述と対応するノードを攻撃グラフに残す。
グラフ構成部120が抽出されなかったノードを攻撃グラフの論理構成を維持しながら削除する方法を、図12~14を参照して説明する。
最初に、グラフ構成部120は、ノード抽出部110により抽出されたノード以外を、削除を試みるノードとして抽出する。
次いで、グラフ構成部120は、削除を試みるノードであるノードR に関して、それぞれ図12~14に示すように攻撃グラフを変更する。
具体的には、グラフ構成部120は、最初に削除を試みるノードをタグ付けする。次いで、グラフ構成部120は、削除されても攻撃グラフの”AND” の構造、および”OR”の構造に影響がないノードを削除する。各段階において”AND” または”OR”の論理構造に影響がある場合、グラフ構成部120は、削除を試みるノードの削除を保留する。
削除可能なノードが攻撃グラフから全て削除された場合、グラフ構成部120は、削除処理を終了する。
図12は、グラフ構成部120によるノードの削除処理の例を示す説明図である。図12に示す”AND R” は、グラフ構成部120が削除を試みる”AND” ノードである。”AND R” が、上述したタグ付けされた削除を試みるノードに相当する。
また、図12に示す”Node A”、”Node B”は、任意のノードである。また、図12に示す”OR C”は、任意の”OR”ノードである。なお、”AND” ノードは、入力エッジが”AND” の関係を有するノードである。また、”OR”ノードは、入力エッジが”OR”の関係を有するノードである。
図12(a)に示すように、”AND R” への入力エッジが1本である場合、グラフ構成部120は、”AND R” を削除し、”AND R” への入力エッジを”AND R” の子ノードに接続させる。
また、図12(b)に示すように、”AND R” への入力エッジが複数であり、かつ”AND R” の子ノードが”OR”ノードである場合、グラフ構成部120は、”AND R” の処理を保留する。図12(b)に示す”AND R” には、タグ”pending” が付加されている。なお、グラフ構成部120は、タグ”pending” を付加しなくてもよい。
図13は、グラフ構成部120によるノードの削除処理の他の例を示す説明図である。図13に示す”OR R”は、グラフ構成部120が削除を試みる”OR”ノードである。”OR R”が、上述したタグ付けされた削除を試みるノードに相当する。
また、図13に示す”Node A”、”Node B”は、任意のノードである。また、図13に示す”AND A” は、任意の”AND” ノードである。
図13(a)に示すように、”OR R”への入力エッジが1本である場合、グラフ構成部120は、”OR R”を削除し、”OR R”への入力エッジを”OR R”の子ノードに接続させる。
また、図13(b)に示すように、”OR R”への入力エッジが複数であり、かつ”OR R”の子ノードが”OR”ノードである場合、グラフ構成部120は、”OR R”の処理を保留する。図13(b)に示す”OR R”には、タグ”pending” が付加されている。なお、グラフ構成部120は、タグ”pending” を付加しなくてもよい。
図14は、グラフ構成部120によるノードの削除処理の他の例を示す説明図である。図14に示す”AND R” は、グラフ構成部120が削除を試みる”AND” ノードである。また、図14に示す”OR R”は、グラフ構成部120が削除を試みる”OR”ノードである。”AND R” および”OR R”が、上述したタグ付けされたノードに相当する。
また、図14に示す”Node A”、”Node B”は、任意のノードである。また、図14に示す”AND C” は、任意の”AND” ノードである。また、図14に示す”OR C”は、任意の”OR”ノードである。
図14(a)に示すように、”AND R” からの出力エッジが1本であり、かつ出力エッジの接続先の子ノードが”AND” ノードである場合、グラフ構成部120は、”AND R” を削除し、”AND R” への入力エッジを子ノードに接続させる。
また、図14(b)に示すように、”OR R”からの出力エッジが1本であり、かつ出力エッジの接続先の子ノードが”OR”ノードである場合、グラフ構成部120は、”OR R”を削除し、”OR R”への入力エッジを子ノードに接続させる。
なお、”AND” や”OR”の構造を維持しない場合、グラフ構成部120は、単に抽出されたノード以外のノードを削除したり、抽出されたノードおよび入力エッジを持たないノードのみを削除したりしてもよい。
例えば、”AND R” および”OR R”以外に入力エッジを持たないノードが削除を試みるノードとして抽出された場合、グラフ構成部120は、抽出されたノードと抽出されたノードからの出力エッジを単に削除する。
削除されるノードへの入力エッジは、削除されない直近の子ノードや孫ノードに付け替えられる。付け替え先がない入力エッジは、削除される。タグ付けされたノードのうち削除可能なノードが無くなった時、グラフ構成部120は、削除処理を終了する。
グラフ構成部120は、”AND” ノード、”OR”ノードを含む攻撃グラフを処理することができる。図5に示す攻撃グラフでは、攻撃グラフ生成ルール自体と対応するノードが”AND” ノードに、攻撃グラフ生成ルールが導出するノードが”OR”ノードにそれぞれ対応する。
なお、攻撃の実行可否を判断するための攻撃グラフ生成ルールを抽出する場合、ノード抽出部110は、以下のようにノードを抽出できる。図15は、攻撃グラフと攻撃グラフから抽出されるノードの他の例を示す説明図である。
任意の攻撃グラフ生成ルールから別の攻撃グラフ生成ルールに至る攻撃パスの途中に、他の攻撃グラフ生成ルールを介さない攻撃パスと、他の攻撃グラフ生成ルールを介する攻撃パスが存在する場合、ノード抽出部110は、他の攻撃グラフ生成ルールに関連するノードを抽出対象のノードから除外できる。
図15に示す「Attacker Behavior RuleA 」は、任意のHost上で一般ユーザ権限で任意のコードを実行可能か否かを判断するための攻撃グラフ生成ルールと対応するノードである。また、「Attacker Behavior RuleB 」は、任意のHost上で管理者権限で任意のコードを実行可能か否かを判断するための攻撃グラフ生成ルールと対応するノードである。また、雲型の図形は、任意のノードの集合を表す。
図15(a)に示すように、「Attacker Behavior RuleA 」から攻撃グラフ生成ルールと対応する別のノード「Attacker Behavior RuleC 」までは、「Attacker Behavior RuleB 」を介しても到達できるし、「Attacker Behavior RuleB 」を介さずとも到達できる。
よって、図15に示す例では、ノード抽出部110は、攻撃グラフ生成ルール「Attacker Behavior RuleB 」に関連するノードを抽出対象のノードから除外することができる。図15(b)に示すように、グラフ構成部120は、攻撃グラフ生成ルール「Attacker Behavior RuleB 」を表すノードと、関連するノードを攻撃グラフから削除する。
[動作の説明]
以下、図16を参照して、本実施形態の攻撃グラフ加工装置100の攻撃グラフを加工する動作を説明する。図16は、第1の実施形態の攻撃グラフ加工装置100による攻撃グラフ加工処理の動作を示すフローチャートである。
最初に、簡略化ポリシ取得部140は、簡略化ポリシを取得する(ステップS101)。
次いで、簡略化ポリシ取得部140は、入力された簡略化ポリシをノード抽出部110に入力する。ノード抽出部110は、入力された簡略化ポリシを使用する簡略化ポリシに決定する(ステップS102)。なお、簡略化ポリシの決定以前の処理は、省略されてもよい。
次いで、ノード抽出部110は、決定された簡略化ポリシが指定する分類情報を分類情報記憶部130から取得する(ステップS103)。
次いで、ノード抽出部110は、取得された分類情報が示すグループに分類された攻撃グラフ生成ルールに関連するノードを、入力された攻撃グラフから抽出する(ステップS104)。ノード抽出部110は、抽出されたノードと、元の攻撃グラフとをグラフ構成部120に入力する。
次いで、グラフ構成部120は、ノード抽出部110により抽出されなかったノードを、入力された攻撃グラフから削除する(ステップS105)。グラフ構成部120は、ノードが削除された攻撃グラフを簡略化攻撃グラフとして攻撃グラフ表示部150に入力する。
次いで、攻撃グラフ表示部150は、入力された簡略化攻撃グラフをセキュリティ管理者に向けて表示する(ステップS106)。なお、ノードの削除以降の処理は、省略されてもよい。表示した後、攻撃グラフ加工装置100は、攻撃グラフ加工処理を終了する。
[効果の説明]
本実施形態の攻撃グラフ加工装置100のノード抽出部110は、分類情報に基づいて攻撃グラフからノードを抽出する。すなわち、攻撃グラフ加工装置100は、攻撃グラフの視認性を向上させると共に、任意の基準での情報が攻撃グラフから失われないようにできる。よって、攻撃グラフ加工装置100は、診断対象システムにおける攻撃を容易に分析できる。
攻撃グラフを利用する際、セキュリティ管理者は、「攻撃の主体が目的の達成までにどのような行動をとるか」、「各攻撃の条件は何か」、「どのホストが攻撃に利用されるか」等の、いずれかの基準で情報を得ることが考えられる。
「攻撃の主体がどのような行動をとるか」の基準でセキュリティ管理者が情報を取得したい場合、ノード抽出部110は、攻撃の主体の行動に関するルールのグループを示す分類情報を用いる。攻撃の主体の行動に関するルールに関連するノードを抽出するため、ノード抽出部110は、セキュリティ管理者が取得したい情報を喪失することなくノードを減らした上で、攻撃グラフの視認性を向上させることができる。
視認性が向上した攻撃グラフを用いて、セキュリティ管理者は、「攻撃の主体が目的の達成までにどのような行動をとるか」を容易に把握できる。換言すると、セキュリティ管理者は、分類情報を用いて簡略化された攻撃グラフによって、当該分類情報と対応する基準に関して容易に情報を把握できるようになる。
実施形態2.
図17は、本発明の第2の実施形態の攻撃グラフ加工装置の構成例を示すブロック図である。第2の実施形態の攻撃グラフ加工装置101は、ノード抽出部110と、グラフ構成部120と、分類情報記憶部130と、簡略化ポリシ取得部140と、攻撃グラフ表示部150と、ルール分類部160とを備える。
本実施形態のルール分類部160以外の攻撃グラフ加工装置101の構成は、図7に示す第1の実施形態の攻撃グラフ加工装置100の構成と同様である。
ルール分類部160は、所定のグループに分類された攻撃グラフ生成ルールを示す分類情報を生成する機能を有する。ルール分類部160は、攻撃グラフ生成ルールとグラフ生成用入力ファイルとを基に分類情報を生成する。分類情報を生成するために、ルール分類部160は、様々な基準で1つ以上の攻撃グラフ生成ルールをそれぞれグループに分類する。
なお、ルール分類部160に入力される攻撃グラフ生成ルールとグラフ生成用入力ファイルは、基本的にノード抽出部110に入力される攻撃グラフの生成に使用されたデータであるが、攻撃グラフの生成に使用されたデータ以外のデータでもよい。
以下、図8~9に示す攻撃グラフ生成ルールを参照してルール分類部160が攻撃グラフ生成ルールを分類する例を説明する。例えば、ルールの内容に応じて攻撃グラフ生成ルールを分類する場合、ルール分類部160は、ルールの前提条件に含まれる述語オブジェクトであるpredicate の種別やpredicate の引数の情報を基に分類する。
例えば、共通脆弱性識別子CVE(Common Vulnerabilities and Exposures) 番号等に対応する引数を有するpredicate が条件に存在する場合、ルール分類部160は、攻撃グラフ生成ルールを攻撃の主体の行動に関するルールのグループに分類する。
図8に示す攻撃グラフ生成ルールの4行目の”_vulID”の部分に脆弱性の識別子を示す情報であるCVE 番号が入ることは、グラフ生成用入力ファイルから確認される。よって、ルール分類部160は、図8に示す攻撃グラフ生成ルールを攻撃の主体の行動に関するルールのグループに分類する。
また、図8に示す攻撃グラフ生成ルールの5行目のように、特定の主体が攻撃の主体であることを示すpredicate が条件に存在する場合も、ルール分類部160は、攻撃グラフ生成ルールを攻撃の主体の行動に関するルールのグループに分類する。
ルールから導出されるノードに応じて攻撃グラフ生成ルールを分類する場合、ルール分類部160は、ルールが導出するpredicate の種別やpredicate の引数の情報を基に分類する。
例えば、図8に示す攻撃グラフ生成ルールの1行目の「Principal」のような攻撃の主体を示すラベルまたは識別子を含むpredicate が導出されることがグラフ生成用入力ファイルから確認される場合、ルール分類部160は、図8に示す攻撃グラフ生成ルールを攻撃の主体の状態を示すノードを導出するルールのグループに分類する。
また、例えば、図9に示す攻撃グラフ生成ルールの1行目の「Subnet, Prot, ipSubnet」のような通信ネットワーク関連の識別子やラベルが含まれることがグラフ生成用入力ファイルから確認される場合、ルール分類部160は、図9に示す攻撃グラフ生成ルールを、ホストや通信ネットワークの状態を示すノードを導出するルールのグループに分類する。通信ネットワーク関連の識別子は、例えばIPアドレス、MAC(Media Access Control) アドレスである。
[動作の説明]
以下、図18を参照して、本実施形態の攻撃グラフ加工装置101の攻撃グラフを加工する動作を説明する。図18は、第2の実施形態の攻撃グラフ加工装置101による攻撃グラフ加工処理の動作を示すフローチャートである。
最初に、ルール分類部160に、攻撃グラフ生成ルールとグラフ生成用入力ファイルとが入力される。ルール分類部160は、入力されたグラフ生成用入力ファイルを基に入力された攻撃グラフ生成ルールを分類する。
ルール分類部160は、分類された攻撃グラフ生成ルールを含むグループを示す分類情報を生成する(ステップS201)。分類情報を生成した後、ルール分類部160は、生成された分類情報を分類情報記憶部130に格納する。
ステップS202~S207の各処理は、図16に示すステップS101~S106の各処理とそれぞれ同様である。
なお、ルール分類部160は、分類情報を生成する代わりに、分類情報記憶部130に既に記憶されている分類情報の内容を更新してもよい。
[効果の説明]
本実施形態のルール分類部160は、攻撃グラフの生成に使用された攻撃グラフ生成ルールを基に分類情報を生成する。よって、ルール分類部160により生成された分類情報を用いるノード抽出部110は、攻撃グラフから確実にノードを抽出できる。すなわち、本実施形態の攻撃グラフ加工装置101は、より効率的に攻撃グラフを簡略化できる。
実施形態3.
図19は、本発明の第3の実施形態の攻撃グラフ加工装置の構成例を示すブロック図である。第3の実施形態の攻撃グラフ加工装置102は、ノード抽出部110と、グラフ構成部120と、分類情報記憶部130と、攻撃グラフ表示部150と、ルール分類部160と、分析部170とを備える。
本実施形態のルール分類部160および分析部170以外の攻撃グラフ加工装置102の構成は、図7に示す第1の実施形態の攻撃グラフ加工装置100の構成と同様である。
ルール分類部160は、分類情報記憶部130に記憶されている分類情報を予めタグとして、入力された各攻撃グラフ生成ルールにそれぞれ付与する。すなわち、タグ付き攻撃グラフ生成ルールには、ルールが分類されているグループを示す情報が含まれる。
なお、ルール分類部160は、第2の実施形態における攻撃グラフ生成ルールが分類されるグループを判定する方法と同様の方法で判定されたグループを示す分類情報を攻撃グラフ生成ルールに付与する。
分析部170は、グラフ生成用入力ファイルとタグ付き攻撃グラフ生成ルールとを用いて、分類情報が付与された攻撃グラフであるタグ付き攻撃グラフを生成する。タグ付き攻撃グラフには、各ノードが関連するグループを示す情報が含まれる。
ノード抽出部110は、タグ付き攻撃グラフに付与された、攻撃グラフ生成ルールが分類されたグループを示す分類情報に基づいてノードを抽出する。
なお、攻撃グラフ加工装置102は、分類情報記憶部130とルール分類部160との代わりに、分類情報入力部180を備えてもよい。図20は、本発明の第3の実施形態の攻撃グラフ加工装置の他の構成例を示すブロック図である。
第3の実施形態の攻撃グラフ加工装置103は、ノード抽出部110と、グラフ構成部120と、攻撃グラフ表示部150と、分析部170と、分類情報入力部180とを備える。本実施形態の分析部170および分類情報入力部180以外の攻撃グラフ加工装置103の構成は、図7に示す第1の実施形態の攻撃グラフ加工装置100の構成と同様である。
分類情報入力部180は、入力された分類情報を予めタグとして、入力された各攻撃グラフ生成ルールにそれぞれ付与する。図20に示すように、攻撃グラフ加工装置103の構成は、分類情報入力部180が最初からタグ付き攻撃グラフ生成ルールを分析部170に入力するような構成でもよい。
[動作の説明]
以下、図21を参照して、本実施形態の攻撃グラフ加工装置102の攻撃グラフを加工する動作を説明する。図21は、第3の実施形態の攻撃グラフ加工装置102による攻撃グラフ加工処理の動作を示すフローチャートである。
最初に、ルール分類部160に、攻撃グラフ生成ルールが入力される。ルール分類部160は、分類情報記憶部130に記憶されている分類情報をタグとして、入力された各攻撃グラフ生成ルールにそれぞれ付与する(ステップS301)。
次いで、分析部170に、タグ付き攻撃グラフ生成ルールと、グラフ生成用入力ファイルとが入力される。分析部170は、入力されたタグ付き攻撃グラフ生成ルールとグラフ生成用入力ファイルとを用いて、タグ付き攻撃グラフを生成する(ステップS302)。分析部170は、生成されたタグ付き攻撃グラフをノード抽出部110に入力する。
ステップS303~S305の各処理は、図16に示すステップS104~S106の各処理とそれぞれ同様である。
なお、図20に示す攻撃グラフ加工装置103が攻撃グラフ加工処理を実行する場合、ステップS301において、分類情報入力部180が入力された分類情報を予めタグとして、入力された各攻撃グラフ生成ルールにそれぞれ付与する。ステップS302~S305の各処理は、図21に示す各処理とそれぞれ同様である。
[効果の説明]
本実施形態の攻撃グラフ加工装置102~103では、攻撃グラフ生成ルールに分類情報が付与されてからタグ付き攻撃グラフが生成される処理と、簡略化攻撃グラフが生成される処理が分離されている。
よって、攻撃グラフ加工装置102~103は、事前に複数のタグ付き攻撃グラフが生成されていれば、複数の簡略化攻撃グラフを生成する処理を並列に実行できる。すなわち、攻撃グラフ加工装置102~103は、多数の攻撃グラフを高速に簡略化できる。
なお、各実施形態の攻撃グラフ加工装置は、診断対象システムに対して遠隔地に設置されていてもよいし、診断対象システムが設置されている建物内に設置されていてもよい。
以下、各実施形態の攻撃グラフ加工装置のハードウェア構成の具体例を説明する。図22は、攻撃グラフ加工装置のハードウェア構成例を示す説明図である。
図22に示す攻撃グラフ加工装置は、CPU11と、主記憶部12と、通信部13と、補助記憶部14とを備える。また、ユーザが操作するための入力部15や、ユーザに処理結果または処理内容の経過を提示するための出力部16を備える。
攻撃グラフ加工装置は、一例として、各構成要素が有する機能を提供するプログラムを図22に示すCPU11が実行することによって、ソフトウェアにより実現される。
すなわち、CPU11が補助記憶部14に格納されているプログラムを、主記憶部12にロードして実行し、攻撃グラフ加工装置の動作を制御することによって、各機能がソフトウェアにより実現される。
なお、図22に示す攻撃グラフ加工装置は、CPU11の代わりにDSP(Digital Signal Processor)を備えてもよい。または、図22に示す攻撃グラフ加工装置は、CPU11とDSPとを併せて備えてもよい。
主記憶部12は、データの作業領域やデータの一時退避領域として用いられる。主記憶部12は、例えばRAM(Random Access Memory)である。分類情報記憶部130は、主記憶部12で実現される。
通信部13は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。
補助記憶部14は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリが挙げられる。
入力部15は、データや処理命令を入力する機能を有する。入力部15は、例えばキーボードやマウス等の入力デバイスである。簡略化ポリシ取得部140および分類情報入力部180は、入力部15で実現されてもよい。
出力部16は、データを出力する機能を有する。出力部16は、例えば液晶ディスプレイ装置等の表示装置である。攻撃グラフ表示部150は、出力部16で実現されてもよい。
また、図22に示すように、攻撃グラフ加工装置において、各構成要素は、システムバス17に接続されている。
補助記憶部14は、例えば、ノード抽出部110、グラフ構成部120、ルール分類部160、および分析部170を実現するためのプログラムを記憶している。
上述した各サーバの実現方法には、様々な変形例がある。例えば、各サーバは、構成要素毎にそれぞれ別個の情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。
また、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要を説明する。図23は、攻撃グラフ加工装置の概要を示すブロック図である。攻撃グラフ加工装置20は、診断対象システムの状態、または診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出するノード抽出部21(例えば、ノード抽出部110)と、抽出されたノードに基づいて攻撃グラフを簡略化するグラフ構成部22(例えば、グラフ構成部120)とを備える。
上述した構成により、攻撃グラフ加工装置は、診断対象システムにおける攻撃を容易に分析できる。
また、グラフ構成部22は、抽出されたノード以外のノードを攻撃グラフから削除することによって攻撃グラフを簡略化してもよい。
上述した構成により、攻撃グラフ加工装置は、診断対象システムにおける攻撃の視認性を向上させることができる。
また、ノード抽出部21は、所定のグループに分類されたルールを示す分類情報を使用してノードを抽出してもよい。
上述した構成により、攻撃グラフ加工装置は、分類情報に基づいて攻撃グラフからノードを抽出できる。
また、分類情報は、攻撃の主体の行動に関するルールを示してもよい。また、攻撃の主体の行動に関するルールは、脆弱性の識別子を示す情報を含むルールでもよい。
上述した構成により、攻撃グラフ加工装置は、CVE 番号が示す脆弱性情報に関連するノードを抽出できる。
また、攻撃グラフ加工装置20は、1つ以上のルールをそれぞれグループに分類するルール分類部(例えば、ルール分類部160)を備え、ルール分類部は、所定のグループに分類されたルールを示す分類情報を生成してもよい。
上述した構成により、攻撃グラフ加工装置は、攻撃グラフから確実にノードを抽出できる。
また、攻撃グラフ加工装置20は、分類情報が付与されたルールを基に分類情報が付与された攻撃グラフを生成する分析部(例えば、分析部170)を備え、ノード抽出部21は、生成された攻撃グラフから分類情報を使用してノードを抽出してもよい。
上述した構成により、攻撃グラフ加工装置は、多くの攻撃グラフをより高速に簡略化できる。
また、攻撃グラフ加工装置20は、使用対象の分類情報を示すポリシが入力される簡略化ポリシ取得部(例えば、簡略化ポリシ取得部140)を備えてもよい。
また、攻撃グラフ加工装置20は、簡略化された攻撃グラフを表示する攻撃グラフ表示部(例えば、攻撃グラフ表示部150)を備えてもよい。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
11 CPU
12 主記憶部
13 通信部
14 補助記憶部
15 入力部
16 出力部
17 システムバス
20、100~103 攻撃グラフ加工装置
21、110 ノード抽出部
22、120 グラフ構成部
50~56 ノード
130 分類情報記憶部
140 簡略化ポリシ取得部
150 攻撃グラフ表示部
160 ルール分類部
170 分析部
180 分類情報入力部
900 攻撃グラフ生成システム

Claims (10)

  1. 診断対象システムの状態、または前記診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、前記攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出するノード抽出部と、
    抽出されたノードに基づいて前記攻撃グラフを簡略化するグラフ構成部とを備える
    ことを特徴とする攻撃グラフ加工装置。
  2. グラフ構成部は、抽出されたノード以外のノードを攻撃グラフから削除することによって前記攻撃グラフを簡略化する
    請求項1記載の攻撃グラフ加工装置。
  3. ノード抽出部は、所定のグループに分類されたルールを示す分類情報を使用してノードを抽出する
    請求項1または請求項2記載の攻撃グラフ加工装置。
  4. 分類情報は、攻撃の主体の行動に関するルールを示す
    請求項3記載の攻撃グラフ加工装置。
  5. 攻撃の主体の行動に関するルールは、脆弱性の識別子を示す情報を含むルールである
    請求項4記載の攻撃グラフ加工装置。
  6. 1つ以上のルールをそれぞれグループに分類するルール分類部を備え、
    前記ルール分類部は、所定のグループに分類されたルールを示す分類情報を生成する
    請求項3から請求項5のうちのいずれか1項に記載の攻撃グラフ加工装置。
  7. 分類情報が付与されたルールを基に前記分類情報が付与された攻撃グラフを生成する分析部を備え、
    ノード抽出部は、生成された攻撃グラフから前記分類情報を使用してノードを抽出する
    請求項3から請求項6のうちのいずれか1項に記載の攻撃グラフ加工装置。
  8. 簡略化された攻撃グラフを表示する攻撃グラフ表示部を備える
    請求項1から請求項7のうちのいずれか1項に記載の攻撃グラフ加工装置。
  9. 攻撃グラフ加工装置で実行される攻撃グラフ加工方法であって、
    前記攻撃グラフ加工装置が、
    診断対象システムの状態、または前記診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、前記攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出し、
    抽出されたノードに基づいて前記攻撃グラフを簡略化する
    ことを特徴とする攻撃グラフ加工方法。
  10. コンピュータに、
    診断対象システムの状態、または前記診断対象システムへの攻撃の主体の状態を示す1つ以上のノードと、複数のノード間の関係性を示す1つ以上のエッジとで構成されるグラフであって、前記攻撃が実行可能になる条件を示すルールが用いられて生成されたグラフである攻撃グラフから、所定のグループに分類されたルールに関連するノードを抽出する抽出処理、および
    抽出されたノードに基づいて前記攻撃グラフを簡略化する簡略化処理
    を実行させるための攻撃グラフ加工プログラム。
JP2021528041A 2019-06-17 2019-06-17 攻撃グラフ加工装置、方法およびプログラム Active JP7255679B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/023832 WO2020255185A1 (ja) 2019-06-17 2019-06-17 攻撃グラフ加工装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020255185A1 JPWO2020255185A1 (ja) 2020-12-24
JP7255679B2 true JP7255679B2 (ja) 2023-04-11

Family

ID=74040318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021528041A Active JP7255679B2 (ja) 2019-06-17 2019-06-17 攻撃グラフ加工装置、方法およびプログラム

Country Status (3)

Country Link
US (1) US20220237303A1 (ja)
JP (1) JP7255679B2 (ja)
WO (1) WO2020255185A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117220961B (zh) * 2023-09-20 2024-05-07 中国电子科技集团公司第十五研究所 一种基于关联规则图谱的入侵检测方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015130153A (ja) 2013-12-06 2015-07-16 三菱電機株式会社 リスク分析装置及びリスク分析方法及びリスク分析プログラム
JP2016540463A (ja) 2013-11-04 2016-12-22 イルミオ, インコーポレイテッドIllumio,Inc. ラベルベースのアクセス制御ルールの自動生成

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194769B2 (en) * 2003-12-11 2007-03-20 Massachusetts Institute Of Technology Network security planning architecture
US7530105B2 (en) * 2006-03-21 2009-05-05 21St Century Technologies, Inc. Tactical and strategic attack detection and prediction
US10425429B2 (en) * 2013-04-10 2019-09-24 Gabriel Bassett System and method for cyber security analysis and human behavior prediction
JP2015013053A (ja) * 2013-07-08 2015-01-22 株式会社エムジーエム ダーツバレル
US10108803B2 (en) * 2016-03-31 2018-10-23 International Business Machines Corporation Automatic generation of data-centric attack graphs
US11025661B2 (en) * 2018-08-13 2021-06-01 Palo Alto Research Center Incorporated Method for improving the security of a networked system by adjusting the configuration parameters of the system components
US11354325B2 (en) * 2018-10-25 2022-06-07 Bank Of America Corporation Methods and apparatus for a multi-graph search and merge engine
US10824676B2 (en) * 2018-11-29 2020-11-03 Bank Of America Corporation Hybrid graph and relational database architecture
US11184385B2 (en) * 2018-12-03 2021-11-23 Accenture Global Solutions Limited Generating attack graphs in agile security platforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016540463A (ja) 2013-11-04 2016-12-22 イルミオ, インコーポレイテッドIllumio,Inc. ラベルベースのアクセス制御ルールの自動生成
JP2015130153A (ja) 2013-12-06 2015-07-16 三菱電機株式会社 リスク分析装置及びリスク分析方法及びリスク分析プログラム

Also Published As

Publication number Publication date
US20220237303A1 (en) 2022-07-28
JPWO2020255185A1 (ja) 2020-12-24
WO2020255185A1 (ja) 2020-12-24

Similar Documents

Publication Publication Date Title
US10893059B1 (en) Verification and enhancement using detection systems located at the network periphery and endpoint devices
RU2706896C1 (ru) Система и способ выявления вредоносных файлов с использованием модели обучения, обученной на одном вредоносном файле
US11328060B2 (en) Multi-tiered sandbox based network threat detection
US9954872B2 (en) System and method for identifying unauthorized activities on a computer system using a data structure model
US11562068B2 (en) Performing threat detection by synergistically combining results of static file analysis and behavior analysis
US10462173B1 (en) Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10523609B1 (en) Multi-vector malware detection and analysis
US11930022B2 (en) Cloud-based orchestration of incident response using multi-feed security event classifications
JP4490994B2 (ja) ネットワークセキュリティデバイスにおけるパケット分類
US8925076B2 (en) Application-specific re-adjustment of computer security settings
EP3337106B1 (en) Identification system, identification device and identification method
CN110119619B (zh) 创建防病毒记录的系统和方法
US11909761B2 (en) Mitigating malware impact by utilizing sandbox insights
CN113364750B (zh) 一种基于Snort和OpenFlow启发式诱导APT攻击引入蜜罐的方法
RU2708355C1 (ru) Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
JP7255679B2 (ja) 攻撃グラフ加工装置、方法およびプログラム
TWI526872B (zh) 用於隔離一受管理伺服器之系統及其相關方法及非暫時性電腦可讀儲存媒體
JP7207536B2 (ja) ルール生成装置、ルール生成方法、及びプログラム
US20240028707A1 (en) In-memory scan for threat detection with binary instrumentation backed generic unpacking, decryption, and deobfuscation
JP7166969B2 (ja) ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法
WO2021156966A1 (ja) 分析システム、方法およびプログラム
RU2665909C1 (ru) Способ избирательного использования шаблонов опасного поведения программ
US10104099B2 (en) System and method for monitoring a computer system using machine interpretable code
Xu A collaborative forensic framework for detecting advanced persistent threats
US20220407871A1 (en) Massive vulnerable surface protection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230313

R151 Written notification of patent or utility model registration

Ref document number: 7255679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151