JP6987332B1 - 汚染範囲特定装置および汚染範囲特定プログラム - Google Patents
汚染範囲特定装置および汚染範囲特定プログラム Download PDFInfo
- Publication number
- JP6987332B1 JP6987332B1 JP2021559725A JP2021559725A JP6987332B1 JP 6987332 B1 JP6987332 B1 JP 6987332B1 JP 2021559725 A JP2021559725 A JP 2021559725A JP 2021559725 A JP2021559725 A JP 2021559725A JP 6987332 B1 JP6987332 B1 JP 6987332B1
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- relationship
- software
- edge
- 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
Links
- 238000011109 contamination Methods 0.000 title claims description 79
- 238000000034 method Methods 0.000 claims description 93
- 230000008569 process Effects 0.000 claims description 67
- 239000000284 extract Substances 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 17
- 230000002547 anomalous effect Effects 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000035515 penetration Effects 0.000 claims 1
- 230000009471 action Effects 0.000 description 60
- 238000004891 communication Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 9
- 238000010276 construction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
まず、監視対象に対するサイバー攻撃が検知される。
次に、サイバー攻撃の影響が判断される。
そして、サイバー攻撃の影響に応じて監視対象の縮退動作が決定される。例えば、縮退動作において、機能の切替えまたは機能の再配置が行われる。
汚染部分の除去は、汚染部分の削除、復元または初期化などを意味する。汚染部分は、サイバー攻撃によって改変された部分である。例えば、汚染部分は、改変されたコードおよび改変されたデータである。汚染部分の除去のためには、汚染部分を特定する必要がある。
再発防止の対応は、汚染部分を除去しただけではサイバー攻撃を再び受ける恐れがあるため、実施する必要がある。再発防止の具体的な対応は、サイバー攻撃の侵入経路を遮断することである。サイバー攻撃の侵入経路を遮断するためにはサイバー攻撃の侵入経路を特定する必要がある。
ソフトウェア動作の動作タイプと前記ソフトウェア動作で使用された複数のソフトウェアオブジェクトを示す動作オブジェクト情報とをそれぞれが含む複数のソフトウェア動作データに基づいて、前記複数のソフトウェアオブジェクトの関係を示すオブジェクト関係データを生成する関係構築部と、
前記オブジェクト関係データと、サイバー攻撃の発生を知らせるアラートデータと、に基づいて、サイバー攻撃の影響を受ける汚染範囲を示す汚染範囲データを生成する汚染範囲特定部と、を備える。
汚染範囲特定装置100について、図1から図7に基づいて説明する。
図1に基づいて、汚染範囲特定装置100の構成を説明する。
汚染範囲特定装置100は、プロセッサ101とメモリ102と補助記憶装置103と通信装置104と入出力インタフェース105といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
DSPは、Digital Signal Processorの略称である。
GPUは、Graphics Processing Unitの略称である。
RAMは、Random Access Memoryの略称である。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
NICは、Network Interface Cardの略称である。
USBは、Universal Serial Busの略称である。
補助記憶装置103には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
プロセッサ101は、OSを実行しながら、汚染範囲特定プログラムを実行する。
OSは、Operating Systemの略称である。
メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
汚染範囲特定装置100の動作の手順は汚染範囲特定方法に相当する。また、汚染範囲特定装置100の動作の手順は汚染範囲特定プログラムによる処理の手順に相当する。
ステップS110において、関係構築部120は、複数のソフトウェア動作データに基づいて、オブジェクト関係データを生成する。
(1)プロセス起動。
(2)プロセス終了。
(3)通信。
(4)ファイル書き込み。
(5)ファイル読み込み。
(6)ファイル権限変更。
(7)システムコール。
(8)アプリケーション動作。
(9)認証(成功)。
(10)認証(失敗)。
(11)ポリシー違反
ソフトウェアオブジェクトは、ソフトウェアの実行時に使用される要素である。以下に、ソフトウェアオブジェクトの例を示す。
(1)データファイルまたはプログラムファイルなどのファイル。
(2)データファイルの中の各データ。各データはプロセスで使用される。
(3)プロセス。プロセスは、プログラムファイルが実行された後の各インスタンスである。
動作オブジェクトは、ソフトウェア動作を行うソフトウェアオブジェクトである。つまり、動作オブジェクトは、ソフトウェア動作の主体となるソフトウェアオブジェクトである。動作オブジェクトの具体例はプロセスである。
対象オブジェクトは、ソフトウェア動作の対象となるソフトウェアオブジェクトである。つまり、対象オブジェクトはソフトウェア動作の客体となるソフトウェアオブジェクトである。対象オブジェクトの具体例はファイルである。
オブジェクト関係グラフは、ソフトウェアオブジェクト毎にノードを有し、ノードの組毎にエッジを有する。
ノードは、ソフトウェアオブジェクトを表す。
エッジは、ソフトウェアオブジェクト間の関係を表す。
オブジェクト関係データ191は、オブジェクト関係グラフ191Gを表す。
オブジェクト関係グラフ191Gにおいて、プロセス名、ファイル名またはログ名が記されている要素がノードである。ノードを結ぶ線がエッジである。矢印線で表されたエッジは、動作タイプに応じた有向関係性を表す有向エッジである。エッジに付された用語は動作タイプに応じた関係性を示す。
関係構築(S110)の手順について後述する。
異常オブジェクト情報は、異常オブジェクトを示す。
異常オブジェクトは、サイバー攻撃が検知されたソフトウェアオブジェクトである。
侵入経路データは、サイバー攻撃の侵入経路を示す。サイバー攻撃の侵入経路は、汚染範囲に含まれる。
汚染オブジェクトデータは、汚染オブジェクトを示す。
汚染オブジェクトは、サイバー攻撃の影響を受けるソフトウェアオブジェクトである。
侵入経路データ192は、外部プロセスからプロセス2までの侵入経路を示す。プロセス2が異常オブジェクトである。
汚染オブジェクトデータ193は、侵入経路上の各ソフトウェアオブジェクトの他に、プロセス2から影響を受ける各ソフトウェアオブジェクトを示す。
汚染範囲特定(S130)の手順について後述する。
つまり、出力部140は、侵入経路データと汚染オブジェクトデータとを出力する。
空のオブジェクト関係データが予め用意される。
ステップS111からステップS113は、ソフトウェア動作データごとに実行される。
具体的には、ソフトウェア動作データが汚染範囲特定装置100に入力される。そして、受付部110は、入力されたソフトウェア動作データを受け付けて記憶部190に記憶する。
ソフトウェア動作データは、利用者によって入力されてもよいし、監視対象との通信で入力されてもよいし、その他の方法で入力されてもよい。
関係構築部120は、オブジェクト関係グラフの中から、動作オブジェクト情報に示される各ソフトウェアオブジェクトを表すノードを探す。
関係構築部120は、見つからなかったノードを新規に生成し、生成したノードをオブジェクト関係グラフに追加する。
関係構築部120は、オブジェクト関係グラフから、動作オブジェクトノードと対象オブジェクトノードを選択する。動作オブジェクトノードは動作オブジェクトを表すノードであり、対象オブジェクトノードは対象オブジェクトを表すノードである。
関係構築部120は、選択した2つのノードを結ぶエッジを生成し、生成したエッジをオブジェクト関係グラフに追加する。具体的には、関係構築部120は、動作オブジェクトと対象オブジェクトの有向関係性を動作タイプに応じて特定し、動作オブジェクトノードから対象オブジェクトノードへの有向エッジを追加する。有向エッジは、特定された有向関係性を表す向きを有する。
ステップS121において、受付部110は、アラートデータを受け付ける。
具体的には、アラートデータが汚染範囲特定装置100に入力される。そして、受付部110は、入力されたアラートデータを受け付けて記憶部190に記憶する。
アラートデータは、利用者によって入力されてもよいし、攻撃検知装置との通信で入力されてもよいし、その他の方法で入力されてもよい。攻撃検知装置は、監視対象を監視し、発生したサイバー攻撃を検知し、アラートデータを出力する装置である。
まず、汚染範囲特定部130は、オブジェクト関係グラフの中から異常オブジェクトノードを選択する。異常オブジェクトノードは、異常オブジェクトを表すノードである。
そして、汚染範囲特定部130は、異常オブジェクトノードから外部プロセスノードまで各有向エッジを逆方向に辿る。外部プロセスノードは、外部プロセスを表すノードである。外部プロセスは、監視対象の外部で生成されたプロセスである。
異常オブジェクトノードから外部プロセスノードまでの経路が侵入経路である。
汚染範囲特定部130は、オブジェクト関係グラフから、侵入経路に位置する各ノードを選択する。選択される各ノードによって表されるソフトウェアオブジェクトは汚染オブジェクトである。
さらに、汚染範囲特定部130は、侵入経路に位置する各ノードから各有向エッジを順方向に辿る。辿った先の各ノードで表されるソフトウェアオブジェクトは汚染オブジェクトである。
つまり、汚染範囲特定部130は、侵入経路データと汚染オブジェクトデータとを生成する。
汚染範囲特定部130は、ステップS123で特定された侵入経路を示すデータを生成する。生成されるデータが侵入経路データである。
汚染範囲特定部130は、ステップS124で特定された汚染オブジェクトを示すデータを生成する。生成されるデータが汚染オブジェクトデータである。
関係構築(S110)(図6を参照)の実施例を以下に示す。
ステップS111において、受付部110は、プロセス終了を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはプロセス終了である。動作オブジェクトは指示プロセスであり、対象オブジェクトは終了プロセスである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、通信を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプは通信である。動作オブジェクトは通信元プロセスであり、対象オブジェクトは通信先プロセスである。通信元プロセスと通信先プロセスとの各プロセスが外部プロセスである場合、各プロセスは外部アドレスで識別される。外部アドレスは、監視対象の外部の装置を識別するアドレスである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。つまり、動作オブジェクト情報が動作オブジェクトまたは対象オブジェクトの識別子として外部アドレスを示す場合、外部プロセスを表すノードが生成される。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、ファイル操作(write)を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはファイル書込みである。動作オブジェクトはプロセスであり、対象オブジェクトはファイルである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、ファイル操作(read)を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはファイル読込みである。動作オブジェクトはプロセスであり、対象オブジェクトはファイルである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、ファイル操作(権限変更)を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはファイル権限変更である。動作オブジェクトはプロセスであり、対象オブジェクトはファイルである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、OSシステムコールを示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはシステムコールである。システムコールの種類は例えば名称で識別される。動作オブジェクトはプロセスであり、対象オブジェクトはプロセスまたはファイルである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、アプリケーション動作を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはアプリケーション動作である。アプリケーション動作の種類は例えば名称で識別される。動作オブジェクトはプロセスであり、対象オブジェクトはプロセスまたはファイルである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
ステップS111において、受付部110は、セキュリティを示すログデータを受け取る。セキュリティの具体例は認証である。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプは認証成功、認証失敗またはポリシー違反である。動作オブジェクトはプロセスであり、対象オブジェクトはプロセスである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。
汚染範囲特定装置100は、侵入経路および汚染部分(汚染オブジェクト)を特定することができる。
汚染範囲特定装置100は、複数のソフトウェアオブジェクトの関係をオブジェクト関係グラフによって一元的に管理することができる。これにより、侵入経路および汚染部分が迅速に特定される。
侵入経路および汚染部分が特定されることにより、汚染部分の除去および再発防止の対応が可能となる。
3つのソフトウェアオブジェクト間の関係を含むオブジェクト関係データを生成する形態について、主に実施の形態1と異なる点を図8に基づいて説明する。
汚染範囲特定装置100の構成は、実施の形態1における構成(図1参照)と同じである。
汚染範囲特定方法は、実施の形態1における方法(図2参照)と同じである。
但し、関係構築(S110)によって、3つのソフトウェアオブジェクト間の関係を含むオブジェクト関係データが生成される。
ステップS111において、受付部110は、ソフトウェア動作データを受け付ける。
ソフトウェア動作データは、動作タイプと動作オブジェクト情報を含む。動作オブジェクト情報は、動作タイプで識別されるソフトウェア動作で使用される3つのソフトウェアオブジェクトを示す。
関係構築部120は、オブジェクト関係グラフの中から、動作オブジェクト情報に示される各ソフトウェアオブジェクトを表すノードを探す。
関係構築部120は、見つからなかったノードをオブジェクト関係グラフに追加する。
関係構築部120は、オブジェクト関係グラフから、第1オブジェクトノードと第3オブジェクトノードを選択する。第1オブジェクトノードは第1オブジェクトを表すノードであり、第3オブジェクトノードは第3オブジェクトを表すノードである。関係構築部120は、選択した2つのノードを結ぶエッジをオブジェクト関係グラフに追加する。具体的には、関係構築部120は、第1オブジェクトノードから第3オブジェクトノードへの有向エッジを追加する。
関係構築部120は、オブジェクト関係グラフから、第2オブジェクトノードと第3オブジェクトノードを選択する。第2オブジェクトノードは第2オブジェクトを表すノードである。関係構築部120は、選択した2つのノードを結ぶエッジをオブジェクト関係グラフに追加する。具体的には、関係構築部120は、第3オブジェクトノードから第2オブジェクトノードへの有向エッジを追加する。
図8に基づいて、関係構築(S110)(図6参照)の実施例を説明する。
図8は、オブジェクト関係データ194を示す。オブジェクト関係データ194はオブジェクト関係グラフ194Gを表す。
ステップS111において、受付部110は、プロセス起動を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報を抽出する。動作タイプはプロセス起動である。第1オブジェクトは親プロセスであり、第2オブジェクトは子プロセスであり、第3オブジェクトはプログラムファイルである。
ステップS113において、関係構築部120は、オブジェクト関係グラフに第1オブジェクトノードがなければ、第1オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに第2オブジェクトノードがなければ、第2オブジェクトノードをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに第3オブジェクトノードがなければ、第3オブジェクトノードをオブジェクト関係グラフに追加する。そして、関係構築部120は、第1オブジェクトノードから第3オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。さらに、関係構築部120は、第3オブジェクトノードから第2オブジェクトノードへのエッジをオブジェクト関係グラフに追加する。各エッジには動作タイプに応じた関係性が付記される。
汚染範囲特定装置100は、2つのソフトウェアオブジェクト間の関係だけでなく3つのソフトウェアオブジェクト間の関係も管理することができる。
オブジェクト関係グラフの中の各ノードと各エッジにプロファイルを付加する形態について、主に実施の形態1と異なる点を図9から図11に基づいて説明する。
汚染範囲特定装置100の構成は、実施の形態1における構成(図1参照)と同じである。
汚染範囲特定方法は、実施の形態1における方法(図2参照)と同じである。
但し、関係構築(S110)によって、オブジェクト関係グラフの中の各ノードと各エッジにプロファイルが付加される。
ステップS111において、受付部110は、ソフトウェア動作データを受け付ける。
関係構築部120は、オブジェクト関係グラフの中から、動作オブジェクト情報に示される各ソフトウェアオブジェクトを表すノードを探す。
関係構築部120は、見つかったノードに付加されているプロファイルを更新する。具体的には、プロファイルの中の更新時刻を今回の動作時刻すなわち最新の動作時刻に更新する。
関係構築部120は、見つからなかったノードをオブジェクト関係グラフに追加する。さらに、関係構築部120は、追加されたノードに対するプロファイルを生成し、生成されたプロファイルを追加されたノードに付加する。ノード用のプロファイルは、ノード識別子とノードタイプと更新時刻とを含む。ノード識別子はノードを識別する。ノードタイプはノードによって表されるソフトウェアオブジェクトの種類を識別する。ノードタイプの具体例は、プロセス、データファイル、プログラムファイルおよびログファイルである。更新時刻は今回の動作時刻すなわち最新の動作時刻である。
関係構築部120は、オブジェクト関係グラフから、動作オブジェクトノードと対象オブジェクトノードを選択する。関係構築部120は、選択した2つのノードを結ぶエッジをオブジェクト関係グラフに追加する。具体的には、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへの有向エッジを追加する。さらに、関係構築部120は、追加されたエッジに対するプロファイルを生成し、生成されたプロファイルを追加されたエッジに付加する。エッジ用のプロファイルは、エッジ識別子とエッジタイプと更新時刻とを含む。エッジタイプは、動作タイプに応じた関係性を識別する。つまり、エッジタイプは、エッジによって結ばれる2つのソフトウェアオブジェクトの関係性を識別する。更新時刻は今回の動作時刻すなわち最新の動作時刻である。
関係構築(S110)(図6参照)の実施例を以下に示す。
ステップS111において、受付部110は、通信を示すログデータを受け取る。ログデータは通信データ情報を含んでもよい。通信データ情報は、通信データおよび通信データ量などを示す。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報と動作時刻とを抽出する。動作タイプは通信である。動作オブジェクトは通信元プロセスであり、対象オブジェクトは通信先プロセスである。通信先プロセスまたは通信先プロセスが外部アドレスで識別される場合、そのプロセスは外部プロセスである。関係構築部120は、ログデータから通信データ情報を抽出してもよい。
ステップS113において、関係構築部120は、オブジェクト関係グラフに動作オブジェクトノードがなければ、動作オブジェクトノードと動作オブジェクトノード用のプロファイルをオブジェクト関係グラフに追加する。また、関係構築部120は、オブジェクト関係グラフに対象オブジェクトノードがなければ、対象オブジェクトノードと対象オブジェクトノード用のプロファイルをオブジェクト関係グラフに追加する。追加される各プロファイルは、ノード識別子とノードタイプと生成時刻と更新時刻とを含む。ノードタイプはプロセスである。生成時刻と更新時刻とのそれぞれは、ログデータから抽出された動作時刻と同じである。また、関係構築部120は、動作オブジェクトノードまたは対象オブジェクトノードがオブジェクト関係グラフにあれば、そのノード用のプロファイルの中の更新時刻を、ログデータから抽出された動作時刻に更新する。
さらに、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジとそのエッジプロファイルをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。エッジプロファイルは、エッジ用のプロファイルであり、エッジ識別子とエッジタイプと生成時刻と更新時刻とを含む。生成時刻と更新時刻とのそれぞれは、ログデータから抽出された動作時刻と同じである。
関係構築部120は、各プロファイルに通信データ情報を含めてもよい。
図9は、オブジェクト関係データ195Aを示す。オブジェクト関係データ195Aはオブジェクト関係グラフ195Bを表す。オブジェクト関係グラフ195Bはエッジプロファイル195Cを含む。エッジプロファイル195Cは、通信元プロセスから通信ログへのエッジ用のプロファイルである。
図10は、オブジェクト関係データ195Dを示す。オブジェクト関係データ195Dはオブジェクト関係グラフ195Eを表す。オブジェクト関係グラフ195Eはエッジプロファイル195Fを含む。エッジプロファイル195Fは、通信先プロセスから通信ログへのエッジ用のプロファイルである。
図11は、オブジェクト関係データ195Gを示す。オブジェクト関係データ195Gはオブジェクト関係グラフ195Hを表す。オブジェクト関係グラフ195Hはエッジプロファイル195Iを含む。エッジプロファイル195Iは、通信元プロセスから通信先プロセスへのエッジ用のプロファイルである。
汚染範囲特定装置100は、各ノードおよび各エッジにプロファイルを付加することができる。つまり、各ソフトウェアオブジェクトおよびソフトウェアオブジェクト間の関係をより詳細に管理することができる。
各プロファイルは時刻情報を有する。これにより、時系列の矛盾をなくして侵入経路および汚染部分を高精度に特定することが可能となる。
実施の形態3に実施の形態2が適用されてもよい。つまり、実施の形態3におけるオブジェクト関係データは、実施の形態2におけるオブジェクト関係グラフと同様に、3つのソフトウェアオブジェクト間の関係を含んでもよい。
各ノードプロファイルに有効フラグが追加される形態について、主に実施の形態3と異なる点を説明する。
汚染範囲特定装置100の構成は、実施の形態1における構成(図1参照)と同じである。
汚染範囲特定方法は、実施の形態1における方法(図2参照)と同じである。
但し、関係構築(S110)によって、オブジェクト関係グラフの中の各ノードと各エッジにプロファイルが付加される。そして、各ノード用のプロファイルは有効フラグを含む。有効フラグは、ソフトウェアオブジェクトが有効であるか否かを示す。
ステップS111において、受付部110は、ソフトウェア動作データを受け付ける。
オブジェクト関係データはオブジェクト関係グラフを表す。動作オブジェクト情報は、動作オブジェクトと対象オブジェクトとの2つのソフトウェアオブジェクトを示す。
関係構築部120は、オブジェクト関係グラフの中から、動作オブジェクト情報に示される各ソフトウェアオブジェクトを表すノードを探す。
関係構築部120は、見つかったノードに付加されているプロファイルを更新する。具体的には、プロファイルの中の更新時刻を今回の動作時刻に更新する。さらに、関係構築部120は、動作タイプがオブジェクト無効動作を識別するか判定する。オブジェクト無効動作は、ソフトウェアオブジェクトが無効になるソフトウェア動作である。例えば、オブジェクト無効動作は、プロセス終了またはファイル削除などである。動作タイプがオブジェクト無効動作を識別する場合、関係構築部120は、プロファイルの中の有効フラグの値を無効値に更新する。無効値は無効を意味する値である。
関係構築部120は、見つからなかったノードをオブジェクト関係グラフに追加する。さらに、関係構築部120は、追加されたノード用のプロファイルを生成し、生成されたプロファイルを追加されたノードに付加する。ノード用のプロファイルは、ノード識別子とノードタイプと更新時刻と有効フラグとを含む。有効フラグの初期値は有効値である。有効値は有効を意味する値である。
関係構築部120は、オブジェクト関係グラフから、動作オブジェクトノードと対象オブジェクトノードを選択する。関係構築部120は、選択した2つのノードを結ぶエッジをオブジェクト関係グラフに追加する。具体的には、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへの有向エッジを追加する。さらに、関係構築部120は、追加されたエッジ用のプロファイルを生成し、生成されたプロファイルを追加されたエッジに付加する。エッジ用のプロファイルは、エッジ識別子とエッジタイプと更新時刻とを含む。
関係構築(S110)(図6参照)の実施例を以下に示す。
ステップS111において、受付部110は、プロセス終了を示すログデータを受け取る。
ステップS112において、関係構築部120は、ログデータから、動作タイプと動作オブジェクト情報と動作時刻とを抽出する。動作タイプはプロセス終了である。動作オブジェクトは指示プロセスであり、対象オブジェクトは終了プロセスである。
ステップS113において、動作オブジェクトノードがオブジェクト関係グラフになく、対象オブジェクトノードがオブジェクト関係グラフにある。関係構築部120は、動作オブジェクトノードと動作オブジェクトノード用のプロファイルをオブジェクト関係グラフに追加する。追加されるプロファイルは、ノード識別子とノードタイプと生成時刻と更新時刻と有効フラグとを含む。ノードタイプはプロセスである。生成時刻と更新時刻とのそれぞれは、ログデータから抽出された動作時刻と同じである。有効フラグは有効値を示す。また、関係構築部120は、対象オブジェクトノード用のプロファイルの中の更新時刻を、ログデータから抽出された動作時刻に更新する。さらに、関係構築部120は、対象オブジェクトノード用のプロファイルの中の有効フラグの値を無効値に更新する。
さらに、関係構築部120は、動作オブジェクトノードから対象オブジェクトノードへのエッジとそのエッジプロファイルをオブジェクト関係グラフに追加する。エッジには動作タイプに応じた関係性が付記される。エッジプロファイルは、エッジ用のプロファイルであり、エッジ識別子とエッジタイプと生成時刻と更新時刻とを含む。生成時刻と更新時刻とのそれぞれは、ログデータから抽出された動作時刻と同じである。
汚染範囲特定装置100は、各ノード用のプロファイルに有効フラグを含めることができる。これにより、侵入経路および汚染部分をより高精度に特定することが可能となる。
図12に基づいて、汚染範囲特定装置100のハードウェア構成を説明する。
汚染範囲特定装置100は処理回路109を備える。
処理回路109は、受付部110と関係構築部120と汚染範囲特定部130と出力部140とを実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
Claims (6)
- ソフトウェア動作の動作タイプと前記ソフトウェア動作で使用された複数のソフトウェアオブジェクトを示す動作オブジェクト情報と前記ソフトウェア動作が発生した動作時刻とをそれぞれが含む複数のソフトウェア動作データに基づいて、前記複数のソフトウェアオブジェクトの関係を示すオブジェクト関係データを生成する関係構築部と、
前記オブジェクト関係データと、サイバー攻撃の発生を知らせるアラートデータと、に基づいて、サイバー攻撃の影響を受ける汚染範囲を示す汚染範囲データを生成する汚染範囲特定部と、
を備え、
前記関係構築部は、各ソフトウェア動作データから動作タイプと動作オブジェクト情報とを抽出し、抽出された動作オブジェクト情報に示される複数のソフトウェアオブジェクトを表す複数のノードと、抽出された動作タイプに応じた向きを有して前記複数のノードを結ぶ有向エッジと、を含むオブジェクト関係グラフを表すデータを前記オブジェクト関係データとして生成し、各ノードに対して、ノードを識別するノード識別子と、ノードによって表されるソフトウェアオブジェクトの種類を識別するノードタイプと、最新の動作時刻を示す更新時刻と、を含むプロファイルを付加する
汚染範囲特定装置。 - 前記関係構築部は、各エッジに対して、エッジを識別するエッジ識別子と、エッジによって結ばれる2つのソフトウェアオブジェクトの関係性を識別するエッジタイプと、最新の動作時刻を示す更新時刻と、を含むプロファイルを付加する
請求項1に記載の汚染範囲特定装置。 - 前記関係構築部は、各ノードに付加されるプロファイルに、ノードによって表されるソフトウェアオブジェクトが有効であるか否かを示す有効フラグを含める
請求項1または請求項2に記載の汚染範囲特定装置。 - 前記汚染範囲データは、侵入経路データを含み、
前記汚染範囲特定部は、前記アラートデータから前記サイバー攻撃が検知されたソフトウェアオブジェクトである異常オブジェクトを示す異常オブジェクト情報を抽出し、前記オブジェクト関係グラフを用いて前記異常オブジェクトのノードから外部プロセスのノードまで各有向エッジを逆方向に辿り、前記異常オブジェクトのノードから前記外部プロセスのノードまでの経路である侵入経路を示すデータを前記侵入経路データとして生成する
請求項1から請求項3のいずれか1項に記載の汚染範囲特定装置。 - 前記汚染範囲データは、汚染オブジェクトデータを含み、
前記汚染範囲特定部は、前記オブジェクト関係グラフから前記侵入経路に位置する各ノードを選択し、選択された各ノードから各有向エッジを順方向に辿り、選択された各ノードで表されるソフトウェアオブジェクトと辿った先の各ノードで表されるソフトウェアオブジェクトとを示すデータを前記汚染オブジェクトデータとして生成する
請求項4に記載の汚染範囲特定装置。 - ソフトウェア動作の動作タイプと前記ソフトウェア動作で使用された複数のソフトウェアオブジェクトを示す動作オブジェクト情報と前記ソフトウェア動作が発生した動作時刻とをそれぞれが含む複数のソフトウェア動作データに基づいて、前記複数のソフトウェアオブジェクトの関係を示すオブジェクト関係データを生成する関係構築処理と、
前記オブジェクト関係データと、サイバー攻撃の発生を知らせるアラートデータと、に基づいて、サイバー攻撃の影響を受ける汚染範囲を示す汚染範囲データを生成する汚染範囲特定処理と、
をコンピュータに実行させるための汚染範囲特定プログラムであって、
前記関係構築処理は、各ソフトウェア動作データから動作タイプと動作オブジェクト情報とを抽出し、抽出された動作オブジェクト情報に示される複数のソフトウェアオブジェクトを表す複数のノードと、抽出された動作タイプに応じた向きを有して前記複数のノードを結ぶ有向エッジと、を含むオブジェクト関係グラフを表すデータを前記オブジェクト関係データとして生成し、各ノードに対して、ノードを識別するノード識別子と、ノードによって表されるソフトウェアオブジェクトの種類を識別するノードタイプと、最新の動作時刻を示す更新時刻と、を含むプロファイルを付加する
汚染範囲特定プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/012365 WO2021186683A1 (ja) | 2020-03-19 | 2020-03-19 | 汚染範囲特定装置および汚染範囲特定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021186683A1 JPWO2021186683A1 (ja) | 2021-09-23 |
JP6987332B1 true JP6987332B1 (ja) | 2021-12-22 |
Family
ID=77771993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021559725A Active JP6987332B1 (ja) | 2020-03-19 | 2020-03-19 | 汚染範囲特定装置および汚染範囲特定プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220358218A1 (ja) |
JP (1) | JP6987332B1 (ja) |
CN (1) | CN115349123A (ja) |
DE (1) | DE112020006558T5 (ja) |
WO (1) | WO2021186683A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259331A (ja) * | 1998-03-13 | 1999-09-24 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークにおける障害箇所検出方法及び装置及びネットワークにおける障害箇所検出プログラムを格納した記憶媒体 |
WO2015140843A1 (ja) * | 2014-03-20 | 2015-09-24 | 日本電気株式会社 | 情報処理装置、影響過程抽出方法および記録媒体 |
WO2015140842A1 (ja) * | 2014-03-20 | 2015-09-24 | 日本電気株式会社 | システムを監視する情報処理装置及び監視方法 |
WO2016072310A1 (ja) * | 2014-11-05 | 2016-05-12 | キヤノン電子株式会社 | 特定装置、その制御方法、及びプログラム |
WO2017175283A1 (ja) * | 2016-04-04 | 2017-10-12 | 三菱電機株式会社 | プロセス探索装置およびプロセス探索プログラム |
WO2019186777A1 (ja) * | 2018-03-28 | 2019-10-03 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6723955B2 (ja) | 2017-05-12 | 2020-07-15 | 日立オートモティブシステムズ株式会社 | 情報処理装置及び異常対処方法 |
-
2020
- 2020-03-19 WO PCT/JP2020/012365 patent/WO2021186683A1/ja active Application Filing
- 2020-03-19 CN CN202080098461.0A patent/CN115349123A/zh active Pending
- 2020-03-19 DE DE112020006558.8T patent/DE112020006558T5/de active Pending
- 2020-03-19 JP JP2021559725A patent/JP6987332B1/ja active Active
-
2022
- 2022-07-27 US US17/874,716 patent/US20220358218A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259331A (ja) * | 1998-03-13 | 1999-09-24 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークにおける障害箇所検出方法及び装置及びネットワークにおける障害箇所検出プログラムを格納した記憶媒体 |
WO2015140843A1 (ja) * | 2014-03-20 | 2015-09-24 | 日本電気株式会社 | 情報処理装置、影響過程抽出方法および記録媒体 |
WO2015140842A1 (ja) * | 2014-03-20 | 2015-09-24 | 日本電気株式会社 | システムを監視する情報処理装置及び監視方法 |
WO2016072310A1 (ja) * | 2014-11-05 | 2016-05-12 | キヤノン電子株式会社 | 特定装置、その制御方法、及びプログラム |
WO2017175283A1 (ja) * | 2016-04-04 | 2017-10-12 | 三菱電機株式会社 | プロセス探索装置およびプロセス探索プログラム |
WO2019186777A1 (ja) * | 2018-03-28 | 2019-10-03 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20220358218A1 (en) | 2022-11-10 |
DE112020006558T5 (de) | 2022-12-29 |
WO2021186683A1 (ja) | 2021-09-23 |
JPWO2021186683A1 (ja) | 2021-09-23 |
CN115349123A (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025931B1 (en) | Method and system for malware detection | |
EP3779745B1 (en) | Code pointer authentication for hardware flow control | |
US11403180B2 (en) | Auxiliary storage device having independent recovery area, and device applied with same | |
KR101828600B1 (ko) | 상황 인식 기반의 랜섬웨어 탐지 | |
JP2009505295A (ja) | 情報保護方法およびシステム | |
KR101995944B1 (ko) | 랜섬웨어를 방지하는 방법 | |
RU2583714C2 (ru) | Агент безопасности, функционирующий на уровне встроенного программного обеспечения, с поддержкой безопасности уровня операционной системы | |
US9104876B1 (en) | Virtual file-based tamper resistant repository | |
JP6987332B1 (ja) | 汚染範囲特定装置および汚染範囲特定プログラム | |
US11216559B1 (en) | Systems and methods for automatically recovering from malware attacks | |
CN112463287A (zh) | 基于插桩的访问请求处理方法及系统 | |
CN112463286A (zh) | 用于虚拟机操作系统的异常事件监控方法及系统 | |
JP2017204173A (ja) | データ保護プログラム、データ保護方法及びデータ保護装置 | |
KR101872605B1 (ko) | 지능형 지속위협 환경의 네트워크 복구 시스템 | |
JP7168010B2 (ja) | 行動計画推定装置、行動計画推定方法、及びプログラム | |
JPH11282673A (ja) | コンピュータウィルスの感染経路検出方法とその方法に用いるトレースウィルスを記録する記録媒体 | |
KR101904415B1 (ko) | 지능형 지속위협 환경에서의 시스템 복구 방법 | |
JP2006048719A (ja) | ウィルス対応型記憶装置及び情報処理装置 | |
JP2006134352A (ja) | 装置、記憶装置及びファイル処理方法 | |
Ma et al. | Travelling the hypervisor and ssd: A tag-based approach against crypto ransomware with fine-grained data recovery | |
Dafoe et al. | Enabling Real-Time Restoration of Compromised ECU Firmware in Connected and Autonomous Vehicles | |
JP2005148814A (ja) | ファイルアクセス監視装置、方法、プログラムおよび記録媒体 | |
US20240111865A1 (en) | Cyber recovery forensics kit configured to send return malware | |
US20240111866A1 (en) | A cyber recovery forensics kit configured to maintain communication and send return malware | |
US20240111867A1 (en) | Cyber recovery forensics kit - experimentation automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211008 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211008 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211008 |
|
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: 20211102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6987332 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |