(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】攻撃分析装置、攻撃分析方法及び攻撃分析プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20241108BHJP
G06F 21/57 20130101ALI20241108BHJP
【FI】
G06F21/55 340
G06F21/57 370
(21)【出願番号】P 2024518965
(86)(22)【出願日】2022-06-01
(86)【国際出願番号】 JP2022022239
(87)【国際公開番号】W WO2023233560
(87)【国際公開日】2023-12-07
【審査請求日】2024-03-27
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】横山 陽介
(72)【発明者】
【氏名】片山 吉章
(72)【発明者】
【氏名】三澤 学
(72)【発明者】
【氏名】米持 一樹
(72)【発明者】
【氏名】上田 直樹
(72)【発明者】
【氏名】平井 勇也
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2020-021427(JP,A)
【文献】特開2021-099589(JP,A)
【文献】特開2012-212281(JP,A)
【文献】国際公開第2015/059791(WO,A1)
【文献】米国特許出願公開第2018/0212986(US,A1)
【文献】川口 信隆 ほか,不審活動の端末間伝搬に着目した標的型攻撃検知方式,情報処理学会 論文誌(ジャーナル) [online],日本,情報処理学会,2016年03月,Vol.57 No.3,p. 1022-1039
【文献】佐藤 信 ほか,マルウェアによるネットワーク内の挙動を利用した標的型攻撃における感染経路検知ツールの開発と評価,情報処理学会 論文誌(ジャーナル) [online],日本,情報処理学会,2017年02月15日,Vol.58 No.2,p. 366-374
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06F 21/57
JSTPlus/JMEDPlus/JST7580(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
他のオブジェクトに影響を及ぼす動作を行ったオブジェクト
であって対象システムのオブジェクトである影響元オブジェクトと、前記影響元オブジェクトが行った前記動作の影響を受けるオブジェクト
であって前記対象システムのオブジェクトである影響先オブジェクトと、前記動作が
前記対象システムに対するサイバー攻撃である確率を示す攻撃確度とのうち、少なくとも前記影響先オブジェクトと前記攻撃確度とを含む動作データを
順次取得するデータ取得部と、
初期状態のデータを初期の関係データとして、関係データに対して、前記データ取得部によって取得された前記動作データが前記影響元オブジェクトを含み、かつ、前記攻撃確度が閾値A以上である場合に、前記影響元オブジェクトと前記影響先オブジェクトとの関係
を加えること
を繰り返す関係構築部と、
前記動作データを入力として、前記攻撃確度が前記閾値Aよりも高い閾値B以上である場合に前記対象システムに対するサイバー攻撃が検知された
として、前記関係構築部によって
関係を加えることを繰り返すことにより最終的に得られた関係データに基づき、検知された
サイバー攻撃の影響があると想定される汚染範囲と、検知された
サイバー攻撃の侵入経路との少なくともいずれかを特定する特定部と
を備える攻撃分析装置。
【請求項2】
前記関係構築部は、前記影響元オブジェクトと前記影響先オブジェクトとの関係として、前記影響元オブジェクトから前記影響先オブジェクトへの方向を示す方向情報を加え、
前記特定部は、検知された
サイバー攻撃を示す動作が検知されたオブジェクトを起点として、
最終的に得られた関係データに含まれる前記方向情報が示す方向を順方向に辿ることにより、前記汚染範囲を特定する
請求項1に記載の攻撃分析装置。
【請求項3】
前記関係構築部は、前記影響元オブジェクトと前記影響先オブジェクトとの関係として、前記影響元オブジェクトから前記影響先オブジェクトへの方向を示す方向情報を加え、
前記特定部は、検知された
サイバー攻撃を示す動作が検知されたオブジェクトを起点として、
最終的に得られた関係データに含まれる前記方向情報が示す方向を逆方向に辿ることにより、侵入経路を特定する
請求項1に記載の攻撃分析装置。
【請求項4】
前記特定部は、前記動作データを入力として、前記攻撃確度が前記閾値Aよりも高い閾値B以上である場合に、前記影響先オブジェクトを検知された
サイバー攻撃を示す動作が検知されたオブジェクトとして、前記侵入経路を特定する
請求項
3に記載の攻撃分析装置。
【請求項5】
前記関係構築部は、前記攻撃確度が前記閾値A未満の前記動作データである過去データのうち、新たに取得された前記動作データとの関係から前記攻撃確度が基準よりも高いと判定された過去データにおける前記影響元オブジェクトと前記影響先オブジェクトとの関係を加える
請求項1に記載の攻撃分析装置。
【請求項6】
前記関係構築部は、新たに取得された前記動作データにおける前記攻撃確度が前記閾値A以上であり、かつ、新たに取得された前記動作データの動作時刻と前記過去データの動作時刻との差が基準時間内である場合に、前記過去データの前記攻撃確度が基準よりも高いと判定する
請求項
5に記載の攻撃分析装置。
【請求項7】
前記関係構築部は、新たに取得された前記動作データにおける前記攻撃確度が前記閾値A以上であり、かつ、前記影響元オブジェクトと前記影響先オブジェクトとの少なくともいずれかが新たに取得された前記動作データと前記過去データとの間で一致する場合に、前記過去データの前記攻撃確度が基準よりも高いと判定する
請求項
5に記載の攻撃分析装置。
【請求項8】
前記動作データは、動作内容を示す動作情報を含み、
前記攻撃分析装置は、さらに、
前記動作情報が示す前記動作内容から前記攻撃確度を計算する攻撃確度計算部
を備える請求項1に記載の攻撃分析装置。
【請求項9】
攻撃分析装置のデータ取得部が、他のオブジェクトに影響を及ぼす動作を行ったオブジェクト
であって対象システムのオブジェクトである影響元オブジェクトと、前記影響元オブジェクトが行った前記動作の影響を受けるオブジェクト
であって前記対象システムのオブジェクトである影響先オブジェクトと、前記動作が
前記対象システムに対するサイバー攻撃である確率を示す攻撃確度とのうち、少なくとも前記影響先オブジェクトと前記攻撃確度とを含む動作データを
順次取得し、
前記攻撃分析装置の関係構築部が、
初期状態のデータを初期の関係データとして、関係データに対して、前記動作データが前記影響元オブジェクトを含み、かつ、前記攻撃確度が閾値A以上である場合に、前記影響元オブジェクトと前記影響先オブジェクトとの関係
を加えること
を繰り返し、
前記攻撃分析装置の特定部が、
前記動作データを入力として、前記攻撃確度が前記閾値Aよりも高い閾値B以上である場合に前記対象システムに対するサイバー攻撃が検知された
として、
関係を加えることを繰り返すことにより最終的に得られた関係データに基づき、検知された
サイバー攻撃の影響があると想定される汚染範囲と、検知された
サイバー攻撃の侵入経路との少なくともいずれかを特定する攻撃分析方法。
【請求項10】
他のオブジェクトに影響を及ぼす動作を行ったオブジェクト
であって対象システムのオブジェクトである影響元オブジェクトと、前記影響元オブジェクトが行った前記動作の影響を受けるオブジェクト
であって前記対象システムのオブジェクトである影響先オブジェクトと、前記動作が
前記対象システムに対するサイバー攻撃である確率を示す攻撃確度とのうち、少なくとも前記影響先オブジェクトと前記攻撃確度とを含む動作データを
順次取得するデータ取得処理と、
初期状態のデータを初期の関係データとして、関係データに対して、前記データ取得処理によって取得された前記動作データが前記影響元オブジェクトを含み、かつ、前記攻撃確度が閾値A以上である場合に、前記影響元オブジェクトと前記影響先オブジェクトとの関係
を加えること
を繰り返す関係構築処理と、
前記動作データを入力として、前記攻撃確度が前記閾値Aよりも高い閾値B以上である場合に前記対象システムに対するサイバー攻撃が検知された
として、前記関係構築処理によって
関係を加えることを繰り返すことにより最終的に得られた関係データに基づき、検知された
サイバー攻撃の影響があると想定される汚染範囲と、検知された
サイバー攻撃の侵入経路との少なくともいずれかを特定する特定処理と
を行う攻撃分析装置としてコンピュータを機能させる攻撃分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サイバー攻撃の影響があると想定される汚染範囲を特定する技術に関する。
【背景技術】
【0002】
特許文献1には、サイバー攻撃を受けたシステムにおいて、攻撃による侵入経路及び汚染範囲を特定する技術が記載されている。特許文献1では、複数のソフトウェアの動作データからオブジェクト間の関係データが生成される。そして、サイバー攻撃が検知されたときに、関係データを基に侵入経路及び汚染範囲が特定される。
関係データは、有向グラフである。有向グラフは、オブジェクトをノードとして有する。有向グラフは、オブジェクト間に影響を及ぼす動作データに対応した、影響元オブジェクトから影響先オブジェクトへの有向エッジを有する。サイバー攻撃が検知された場合に、関係データが参照される。攻撃が検知されたオブジェクトから逆方向に有向エッジを辿った範囲が侵入経路として特定される。順方向にエッジを辿った範囲が汚染範囲として特定される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、複数のソフトウェアの動作データからオブジェクト間の関係データが生成される。この際、サイバー攻撃と無関係の動作についての関係データも生成される。そのため、サイバー攻撃を受けた際に関係データを逆方向あるいは順方向に辿ると、サイバー攻撃と無関係のオブジェクトに到達することがある。その結果、侵入経路もしくは汚染範囲ではない部分が、侵入経路もしくは汚染範囲と特定されてしまう恐れがある。
本開示は、サイバー攻撃と関係する可能性の高いオブジェクトを侵入経路と汚染範囲との少なくともいずれかを特定可能にすることを目的とする。
【課題を解決するための手段】
【0005】
本開示に係る攻撃分析装置は、
他のオブジェクトに影響を及ぼす動作を行ったオブジェクトである影響元オブジェクトと、前記影響元オブジェクトが行った前記動作の影響を受けるオブジェクトである影響先オブジェクトと、前記動作が攻撃である確率を示す攻撃確度とのうち、少なくとも前記影響先オブジェクトと前記攻撃確度とを含む動作データを取得するデータ取得部と、
前記データ取得部によって取得された前記動作データが前記影響元オブジェクトを含み、かつ、前記攻撃確度が閾値A以上である場合に、前記影響元オブジェクトと前記影響先オブジェクトとの関係を関係データに加えることにより、前記関係データを構築する関係構築部と、
攻撃が検知された場合に、前記関係構築部によって構築された前記関係データに基づき、検知された攻撃の影響があると想定される汚染範囲と、検知された攻撃の侵入経路との少なくともいずれかを特定する特定部と
を備える。
【発明の効果】
【0006】
本開示では、攻撃確度が閾値A以上である場合に、影響元オブジェクトと影響先オブジェクトとの関係を関係データに加えて、関係データが構築される。これにより、サイバー攻撃と関係する可能性が高いオブジェクトだけを侵入経路あるいは汚染範囲と特定することが可能になる。
【図面の簡単な説明】
【0007】
【
図1】実施の形態1に係る攻撃分析装置10の構成図。
【
図2】実施の形態1に係る動作データ31の説明図。
【
図4】実施の形態1に係る関係データ51の説明図。
【
図5】実施の形態1に係る関係構築処理のフローチャート。
【
図6】実施の形態1に係る特定処理のフローチャート。
【
図8】実施の形態2に係る履歴データ61の説明図。
【
図9】実施の形態2に係る関係構築処理のフローチャート。
【
図10】実施の形態3に係る攻撃分析装置10の構成図。
【
図11】実施の形態3に係る動作データ31の説明図。
【
図12】実施の形態3に係る攻撃確度計算処理のフローチャート。
【発明を実施するための形態】
【0008】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る攻撃分析装置10の構成を説明する。
攻撃分析装置10は、コンピュータである。
攻撃分析装置10は、プロセッサ11と、メモリ12と、ストレージ13とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0009】
プロセッサ11は、プロセッシングを行うICである。ICはIntegrated Circuitの略である。プロセッサ11は、具体例としては、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
【0010】
メモリ12は、データを一時的に記憶する揮発性の記憶装置である。メモリ12は、具体例としては、SRAM、DRAMである。SRAMは、Static Random Access Memoryの略である。DRAMは、Dynamic Random Access Memoryの略である。
【0011】
ストレージ13は、データを保管する不揮発性の記憶装置である。ストレージ13は、具体例としては、HDDである。HDDは、Hard Disk Driveの略である。また、ストレージ13は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、Blu-ray(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
【0012】
攻撃分析装置10は、機能構成要素として、データ取得部21と、関係構築部22と、特定部23とを備える。攻撃分析装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、攻撃分析装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、攻撃分析装置10の各機能構成要素の機能が実現される。
【0013】
図1では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
【0014】
***動作の説明***
図2から
図6を参照して、実施の形態1に係る攻撃分析装置10の動作を説明する。
実施の形態1に係る攻撃分析装置10の動作手順は、実施の形態1に係る攻撃分析方法に相当する。また、実施の形態1に係る攻撃分析装置10の動作を実現するプログラムは、実施の形態1に係る攻撃分析プログラムに相当する。
【0015】
攻撃分析装置10の動作は、関係構築処理と、特定処理とを含む。関係構築処理及び特定処理で使用されるデータ等について説明した上で、関係構築処理及び特定処理を説明する。
【0016】
図2を参照して、実施の形態1に係る動作データ31を説明する。
動作データ31は、対象のシステムにおいて、システム中のあるオブジェクトが他のオブジェクトに影響を及ぼす動作を行った場合における、その動作を示す。対象のシステムは、侵入経路と汚染範囲との少なくともいずれかを特定する対象となるシステムである。オブジェクトは、ソフトウェアの実行時に使用される要素である。オブジェクトは、例えば、プロセスと、ファイルと、共有メモリ領域といった要素である。
【0017】
動作データ31は、影響元オブジェクト32と、影響先オブジェクト33と、攻撃確度34とを含む。
影響元オブジェクト32は、他のオブジェクトに影響を及ぼす動作を行ったオブジェクトである。影響先オブジェクト33は、影響元オブジェクト32が行った動作の影響を受けるオブジェクトである。プロセスAからプロセスBに対してデータが送信されたとする。この場合には、影響元オブジェクト32はプロセスAである。影響先オブジェクト33はプロセスBである。プロセスCからファイルDに対してデータが書き込まれたとする。この場合には、影響元オブジェクト32はプロセスCである。影響先オブジェクト33はファイルDである。
攻撃確度34は、動作が対象のシステムに対するサイバー攻撃である確率を示す。
【0018】
動作データ31は、例えば、対象のシステムに導入された侵入検知プログラム又はセキュリティ監視プログラムによって生成される。
なお、動作データ31には、影響元オブジェクト32が含まれないことも許容される。動作データ31を生成する侵入検知プログラム等が影響元を特定できなかった場合等には、動作データ31に影響元オブジェクト32が含まれない状態になる。
【0019】
図3を参照して、実施の形態1に係る閾値41を説明する。
閾値41は、動作データ31が示す動作を、攻撃確度34により、「攻撃でない」と、「攻撃が疑わしい」と、「攻撃である」との3種類に分類するための情報である。ここでは、閾値41は、攻撃確度34が閾値A未満の場合には、動作が「攻撃でない」に分類されることを示す。閾値41は、攻撃確度34が閾値A以上閾値B未満の場合には、動作が「攻撃が疑わしい」に分類されることを示す。閾値41は、攻撃確度34が閾値B以上の場合には、動作が「攻撃である」に分類されることを示す。
閾値41は、関係構築部22及び特定部23のプログラム中に設定されている。あるいは、閾値41は、ストレージ13に設定されていてもよい。
【0020】
図4を参照して、実施の形態1に係る関係データ51を説明する。
関係データ51は、オブジェクトを示すノード52と、影響元オブジェクトから影響先オブジェクトへの向きを持つエッジ53とから構成される有向グラフである。
図4では、ノード52は、楕円形で表されている。エッジ53は、矢印で表されている。関係データ51は、メモリ12又はストレージ13に記憶される。
【0021】
関係データ51は、動作データ31から生成される。
図4では、影響元オブジェクト32がプロセスAであり、影響先オブジェクト33がファイルAである動作データ31があったことが分かる。影響元オブジェクト32がファイルAであり、影響先オブジェクト33がプロセスBである動作データ31があったことが分かる。影響元オブジェクト32がプロセスBであり、影響先オブジェクト33がファイルBである動作データ31があったことが分かる。影響元オブジェクト32がプロセスBであり、影響先オブジェクト33がプロセスCである動作データ31があったことが分かる。影響元オブジェクト32がプロセスDであり、影響先オブジェクト33がプロセスCである動作データ31があったことが分かる。
【0022】
図5を参照して、実施の形態1に係る関係構築処理を説明する。
(ステップS11:関係データ初期化処理)
関係構築部22は、関係データ51を空に初期化する。つまり、関係構築部22は、関係データ51をノード52及びエッジ53が存在しない状態にする。
【0023】
(ステップS12:動作データ入力処理)
関係構築部22は、新たな動作データ31を入力として受け付ける。
具体的には、データ取得部21は、新たに生成された動作データ31を取得する。ここで取得される動作データ31は、影響元オブジェクト32と影響先オブジェクト33と攻撃確度34とのうち、少なくとも影響先オブジェクト33と攻撃確度34とを含む。データ取得部21は、取得した動作データ31を関係構築部22に入力する。関係構築部22は、入力された動作データ31を受け付ける。
【0024】
(ステップS13:データ判定処理)
関係構築部22は、ステップS12で受け付けた動作データ31が影響元オブジェクト32を含み、かつ、攻撃確度34が閾値A以上であるか否かを判定する。
関係構築部22は、動作データ31が影響元オブジェクト32を含み、かつ、攻撃確度34が閾値A以上である場合には、処理をステップS14に進める。攻撃確度34が閾値A以上であるということは、動作が「攻撃が疑わしい」又は「攻撃である」に分類されたことを意味する。一方、関係構築部22は、それ以外の場合には、処理をステップS15に進める。
【0025】
(ステップS14:データ追加処理)
関係構築部22は、ステップS12で受け付けた動作データ31における影響元オブジェクト32と影響先オブジェクト33との関係を関係データ51に加える。これにより、関係構築部22は、関係データ51を構築する。
具体的には、関係構築部22は、影響元オブジェクト32から影響先オブジェクト33への方向を示す方向情報を関係データ51に加える。ここでは、関係データ51は有向グラフである。そのため、関係構築部22は、影響元オブジェクト32に対応するノード52から影響先オブジェクト33に対応するノード52へ向いたエッジ53を方向情報として関係データ51に加える。
より具体的には、関係構築部22は、影響元オブジェクト32が関係データ51に存在するか否かを判定する。関係構築部22は、影響元オブジェクト32が関係データ51に存在しなければ、影響元オブジェクト32に対応するノード52を関係データ51に加える。同様に、関係構築部22は、影響先オブジェクト33が関係データ51に存在するか否かを判定する。関係構築部22は、影響先オブジェクト33が関係データ51に存在しなければ、影響先オブジェクト33に対応するノード52を関係データ51に加える。関係構築部22は、影響元オブジェクト32に対応するノード52から影響先オブジェクト33に対応するノードへ向いたエッジ53を加える。
【0026】
(ステップS15:出力処理)
関係構築部22は、ステップS12で受け付けた動作データ31を特定部23に出力する。そして、関係構築部22は、処理をステップS12に戻して、次の動作データ31の入力を待つ。
【0027】
図6を参照して、実施の形態1に係る特定処理を説明する。
(ステップS21:動作データ入力処理)
特定部23は、新たな動作データ31を入力として受け付ける。具体的には、特定部23は、ステップS15で出力された動作データ31を受け付ける。
【0028】
(ステップS22:データ判定処理)
特定部23は、ステップS21で受け付けた動作データ31における攻撃確度34が閾値B以上であるか否かを判定する。
特定部23は、攻撃確度34が閾値B以上である場合には、処理をステップS23に進める。攻撃確度34が閾値B以上であるということは、動作が「攻撃である」に分類されたことを意味する。言い換えると、攻撃確度34が閾値B以上であるということは、対象のシステムに対する攻撃が検知されたことを意味する。特定部23は、それ以外の場合には、処理をステップS21に戻して、次の動作データ31の入力を待つ。
【0029】
(ステップS23:侵入経路特定処理)
特定部23は、関係構築部22によって構築された関係データ51を参照して、ステップS21で受け付けた動作データ31が示す攻撃の侵入経路を特定する。
具体的には、特定部23は、ステップS21で受け付けた動作データ31が示す攻撃を示す動作が検知されたオブジェクトを特定する。ここでは、特定部23は、動作データ31における影響先オブジェクト33を、攻撃を示す動作が検知されたオブジェクトとして特定する。特定部23は、特定されたオブジェクトを起点として、関係データ51に含まれる方向情報が示す方向を逆方向に辿ることにより、侵入経路を特定する。特定部23は、起点から逆方向に辿って到達した範囲を侵入経路として特定する。
例えば、
図4におけるプロセスBが攻撃を示す動作が検知されたオブジェクトであるとする。この場合には、方向情報であるエッジ53が逆方向に辿られ、プロセスAとファイルAとプロセスBとが侵入経路として特定される。
【0030】
(ステップS24:汚染範囲特定処理)
特定部23は、関係構築部22によって構築された関係データ51を参照して、ステップS21で受け付けた動作データ31が示す攻撃の影響があると想定される汚染範囲を特定する。
具体的には、特定部23は、ステップS21で受け付けた動作データ31が示す攻撃を示す動作が検知されたオブジェクトを特定する。ここでは、特定部23は、動作データ31における影響先オブジェクト33を、攻撃を示す動作が検知されたオブジェクトとして特定する。特定部23は、特定されたオブジェクトを起点として、関係データ51に含まれる方向情報が示す方向を順方向に辿ることにより、汚染範囲を特定する。特定部23は、起点から順方向に辿って到達した範囲を汚染範囲として特定する。
例えば、
図4におけるプロセスBが攻撃を示す動作が検知されたオブジェクトであるとする。この場合には、方向情報であるエッジ53が順方向に辿られ、プロセスBとファイルBとプロセスCとプロセスDとが汚染範囲として特定される。
【0031】
(ステップS25:データ生成処理)
特定部23は、ステップS23で特定された侵入経路と、ステップS24で特定された汚染範囲とを示す出力データを生成する。
具体的には、特定部23は、侵入経路に含まれるオブジェクトの集合と、汚染範囲に含まれるオブジェクトの集合とを含むデータを出力データとして生成する。特定部23は、さらに、ステップS23で辿ったエッジ53と、ステップS24で辿ったエッジ53とを出力データに含めてもよい。
そして、特定部23は、処理をステップS21に戻して、次の動作データ31の入力を待つ。
【0032】
***実施の形態1の効果***
以上のように、実施の形態1に係る攻撃分析装置10は、動作が「攻撃が疑わしい」又は「攻撃である」に分類された場合にのみ、動作データ31が示す動作によるオブジェクト間の影響関係を関係データ51に加える。つまり、実施の形態1に係る攻撃分析装置10は、サイバー攻撃である確率が一定以上である場合にのみ、動作データ31が示す動作によるオブジェクト間の影響関係を関係データ51に加える。
これにより、サイバー攻撃と関係する可能性が高いオブジェクトだけを侵入経路あるいは汚染範囲と特定することが可能になる。言い換えると、サイバー攻撃と関係する可能性が低いオブジェクトを侵入経路あるいは汚染範囲と特定しないようにすることが可能になる。
【0033】
また、実施の形態1に係る攻撃分析装置10は、動作データ31が入力される度に関係データ51の構築を行う。そして、実施の形態1に係る攻撃分析装置10は、動作データ31の動作が「攻撃である」と判定された場合には、即座に侵入経路及び汚染範囲を特定可能である。
これにより、リアルタイム性を必要とする制御システムなどへの適用が可能である。
【0034】
***他の構成***
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
【0035】
図7を参照して、変形例1に係る攻撃分析装置10の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、攻撃分析装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路14を備える。電子回路14は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
【0036】
電子回路14としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field-Programmable Gate Arrayの略である。
各機能構成要素を1つの電子回路14で実現してもよいし、各機能構成要素を複数の電子回路14に分散させて実現してもよい。
【0037】
<変形例2>
変形例2として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0038】
プロセッサ11とメモリ12とストレージ13と電子回路14とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【0039】
実施の形態2.
実施の形態2は、攻撃確度34が閾値A未満の動作データ31についても、他の動作データ31との関係から攻撃確度34が基準よりも高いと判定される場合には、オブジェクト間の影響関係を関係データ51に加える点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
【0040】
***動作の説明***
図8及び
図9を参照して、実施の形態2に係る攻撃分析装置10の動作を説明する。
実施の形態2に係る攻撃分析装置10の動作手順は、実施の形態2に係る攻撃分析方法に相当する。また、実施の形態2に係る攻撃分析装置10の動作を実現するプログラムは、実施の形態2に係る攻撃分析プログラムに相当する。
【0041】
関係構築処理で使用されるデータ等について説明した上で、関係構築処理を説明する。特定処理は、実施の形態1と同じである。
【0042】
図8を参照して、実施の形態2に係る履歴データ61を説明する。
履歴データ61は、過去に入力された動作データ31のうち、攻撃確度34が閾値A未満であり、かつ、影響元オブジェクト32が含まれる動作データ31である。
【0043】
履歴データ61は、影響元オブジェクト62と、影響先オブジェクト63と、時刻情報64とを含む。
影響元オブジェクト62は、履歴データ61の元になった動作データ31における影響元オブジェクト32である。影響先オブジェクト63は、履歴データ61の元になった動作データ31における影響先オブジェクト33である。時刻情報64は、履歴データ61の元になった動作データ31が示す動作が行われた時刻を示す。
【0044】
図9を参照して、実施の形態2に係る関係構築処理を説明する。
ステップS31の処理は、
図5のステップS11の処理と同じである。ステップS33からステップS35の処理は、
図5のステップS12からステップS14の処理と同じである。ステップS39の処理は、
図5のステップS15の処理と同じである。
但し、ステップS34では、関係構築部22は、動作データ31が影響元オブジェクト32を含み、かつ、攻撃確度34が閾値A以上である場合には、処理をステップS35に進める。一方、関係構築部22は、それ以外の場合には、処理をステップS36に進める。
【0045】
(ステップS32:履歴データ初期化処理)
関係構築部22は、履歴データ61を空に初期化する。つまり、履歴データ61をデータが存在しない状態にする。
【0046】
(ステップS36:第2データ追加処理)
関係構築部22は、履歴データ61に含まれる動作データ31である過去データのうち、ステップS33で新たに取得された動作データ31との関係から攻撃確度34が基準よりも高いと判定される過去データを抽出する。関係構築部22は、以下の(1)(2)の場合に、過去データの攻撃確度34が基準よりも高いと判定することが考えられる。
(1)条件1を満たし、かつ、条件2を満たす場合。条件1は、新たに取得された動作データ31における攻撃確度34が閾値A以上であるという条件である。条件2は、新たに取得された動作データ31の動作時刻と過去データの動作時刻との差が基準時間内であるという条件である。現在の時刻を、新たに取得された動作データ31の動作時刻と考えてもよい。なお、条件1は除かれてもよい。
(2)条件1を満たし、かつ、条件3を満たす場合。条件1は、上述した通りである。条件3は、影響元オブジェクトと影響先オブジェクトとの少なくともいずれかが新たに取得された動作データ31と過去データとの間で一致するという条件である。条件3は、以下の(a)(b)のいずれかの場合に満たされる。(a)新たに取得された動作データ31における影響元オブジェクト32と、過去データにおける影響元オブジェクト62あるいは影響先オブジェクト63のいずれか一方が一致する。(b)新たに取得された動作データ31における影響先オブジェクト33と、過去データにおける影響元オブジェクト62あるいは影響先オブジェクト63のいずれか一方が一致する。なお、条件1は除かれてもよい。
【0047】
関係構築部22は、(1)及び(2)を併用して、過去データの攻撃確度34が基準よりも高いと判定してもよい。つまり、関係構築部22は、条件1を満たし、かつ、条件2を満たし、かつ、条件3を満たす場合に、過去データの攻撃確度34が基準よりも高いと判定してもよい。
【0048】
関係構築部22は、抽出された履歴データ61における影響元オブジェクト62と影響先オブジェクト63との関係を関係データ51に加える。具体的には、
図5のステップS14の処理と同様に、関係構築部22は、影響元オブジェクト62に対応するノード52から影響先オブジェクト63に対応するノード52へ向いたエッジ53を方向情報として関係データ51に加える。
【0049】
(ステップS37:影響元判定処理)
関係構築部22は、ステップS33で新たに取得された動作データ31に影響元オブジェクト62が含まれるか否かを判定する。
関係構築部22は、影響元オブジェクト62が含まれる場合には、処理をステップS38に進める。関係構築部22は、それ以外の場合には、処理をステップS39に進める。
【0050】
(ステップS38:履歴追加処理)
関係構築部22は、ステップS33で新たに取得された動作データ31を履歴データ61に追加する。
具体的には、関係構築部22は、履歴データ61に新たにレコードを作成する。そして、関係構築部22は、動作データ31における影響元オブジェクト32及び影響先オブジェクト33を履歴データ61における影響元オブジェクト62及び影響先オブジェクト63に書き込む。関係構築部22は、動作データ31の動作時刻を、履歴データ61における時刻情報64に書き込む。
【0051】
***実施の形態2の効果***
以上のように、実施の形態2に係る攻撃分析装置10は、他の動作データ31との関係から攻撃確度34が基準よりも高いと判定される場合には、オブジェクト間の影響関係を関係データ51に加える。
動作データ31単独では「攻撃である」あるいは「攻撃か疑わしい」と判定できない動作もある。このような動作であっても、「攻撃である」か「攻撃か疑わしい」動作に対する関連の有無を手掛かりに、「攻撃か疑わしい」動作と同様であるとみなし、関係データ51を構築することが可能である。
【0052】
実施の形態3.
実施の形態3は、動作データ31に攻撃確度34が含まれていない場合に、攻撃確度34を計算する点が実施の形態1,2と異なる。実施の形態3では、この異なる点を説明して、同一の点については説明を省略する。
【0053】
***構成の説明***
図10を参照して、実施の形態3に係る攻撃分析装置10の構成を説明する。
攻撃分析装置10は、機能構成要素として、攻撃確度計算部24を備える点が
図1に示す攻撃分析装置10と異なる。攻撃確度計算部24の機能は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0054】
***動作の説明***
図11及び
図12を参照して、実施の形態3に係る攻撃分析装置10の動作を説明する。
実施の形態3に係る攻撃分析装置10の動作手順は、実施の形態3に係る攻撃分析方法に相当する。また、実施の形態3に係る攻撃分析装置10の動作を実現するプログラムは、実施の形態3に係る攻撃分析プログラムに相当する。
【0055】
攻撃分析装置10の動作は、関係構築処理と、特定処理とに加え、攻撃確度計算処理を含む。攻撃確度計算処理で使用されるデータ等について説明した上で、攻撃確度計算処理を説明する。
【0056】
図11を参照して、実施の形態3に係る動作データ31を説明する。
動作データ31は、影響元オブジェクト32と影響先オブジェクト33と攻撃確度34とに加え、動作情報35を含む。
動作情報35は、動作種類及び動作内容を示す。例えば、動作種類は、ソケット通信によるデータ送信である。この場合、ポート番号と、データサイズと、送信データとが動作内容として含まれる。他の例としては、動作種類は、ファイルへの書き込みである。この場合、ファイルパスと、書き込みサイズと、書き込み位置と、書き込みデータとが動作内容として含まれる。
【0057】
図12を参照して、実施の形態3に係る攻撃確度計算処理を説明する。
【0058】
(ステップS41:動作データ入力処理)
攻撃確度計算部24は、新たな動作データ31を入力として受け付ける。具体的な処理は、
図5のステップS12と同じである。
【0059】
(ステップS42:データ判定処理)
攻撃確度計算部24は、ステップS41で受け付けた動作データ31が攻撃確度34を含むか否かを判定する。
攻撃確度計算部24は、動作データ31が攻撃確度計算部24を含まない場合には、処理をステップS43に進める。一方、攻撃確度計算部24は、それ以外の場合には、処理をステップS44に進める。
【0060】
(ステップS43:確度計算処理)
攻撃確度計算部24は、ステップS41で受け付けた動作データ31における動作情報35が示す動作内容から攻撃確度34を計算する。攻撃確度計算部24は、計算された攻撃確度34を動作データ31に加える。
具体的には、攻撃確度計算部24は、判定基準毎に攻撃確度34の値を予め設定しておく。判定基準は、動作内容に基づき定められる。攻撃確度計算部24は、動作データ31における動作内容が満たす判定基準を特定する。攻撃確度計算部24は、特定された判定基準に対応する攻撃確度34の値を特定する。
【0061】
判定基準の具体例を説明する。
動作種類がソケット通信によるデータ送信であるとする。この場合には、以下のような判定基準が考えられる。基準1:ポート番号が攻撃に使用される可能性のあるものである。基準2:データサイズが通常の通信で使用されるデータサイズと異なる。基準3:送信データの内容が既知の攻撃データと一致あるいは類似する。
動作種類がファイル書き込みであるとする。この場合、以下のような判定基準が考えられる。基準1:通常の動作では書き込まれないファイルに書き込みが実行されている。基準2:書き込みサイズが通常の動作時の書き込みサイズと異なる。
【0062】
(ステップS44:出力処理)
攻撃確度計算部24は、動作データ31を関係構築部22に出力する。そして、攻撃確度計算部24は、処理をステップS41に戻して、次の動作データ31の入力を待つ。
【0063】
関係構築処理及び特定処理は、実施の形態1,2と同じである。但し、関係構築処理における動作データ入力処理(
図5のステップS12及び
図9のステップS33)では、ステップS44で出力された動作データ31を受け付ける。
【0064】
***実施の形態3の効果***
以上のように、実施の形態3に係る攻撃分析装置10は、動作データ31に攻撃確度34が含まれていない場合に、攻撃確度34を計算する。
これにより、攻撃確度34が事前に特定されていない場合にも、実施の形態1,2と同様の効果を得ることが可能である。
【0065】
なお、以上の説明における「部」を、「回路」、「工程」、「手順」、「処理」又は「処理回路」に読み替えてもよい。
【0066】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【0067】
10 攻撃分析装置、11 プロセッサ、12 メモリ、13 ストレージ、14 電子回路、21 データ取得部、22 関係構築部、23 特定部、24 攻撃確度計算部、31 動作データ、32 影響元オブジェクト、33 影響先オブジェクト、34 攻撃確度、35 動作情報、41 閾値、51 関係データ、52 ノード、53 エッジ、61 履歴データ、62 影響元オブジェクト、63 影響先オブジェクト、64 時刻情報。