(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】プロセス監視装置およびプロセス監視方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20241217BHJP
G06F 21/56 20130101ALI20241217BHJP
【FI】
G06F21/55 340
G06F21/56
(21)【出願番号】P 2021106578
(22)【出願日】2021-06-28
【審査請求日】2024-03-11
(73)【特許権者】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】100098394
【氏名又は名称】山川 茂樹
(72)【発明者】
【氏名】太田 貴彦
(72)【発明者】
【氏名】神宮 武志
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2015-082191(JP,A)
【文献】特開2019-022099(JP,A)
【文献】特表2018-531470(JP,A)
【文献】特開2019-159383(JP,A)
【文献】韓国登録特許第1907529(KR,B1)
【文献】米国特許出願公開第2015/0040246(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
所定の検知基準に基づいて装置の動作異常を検知する異常検知部と、
前記動作異常を検知していない場合に、動作中のプロセスの第1のプロセス情報を用いて作成されたホワイトリストと、
前記動作異常を検知した場合に、動作中のプロセスの第2のプロセス情報を取得し、前記第1のプロセス情報と前記第2のプロセス情報の比較結果に基づいて、不正プロセスを検出する不正プロセス検出部を備え、
前記不正プロセス検出部は、
前記第2のプロセス情報のプロセスの動作ファイルの生成時と所定の基準時の比較結果に基づいて、前記第2のプロセス情報における前記ホワイトリストに記載されていない新たなプロセスを前記不正プロセスとして検出する
プロセス監視装置。
【請求項2】
前記所定の基準時は、前記ホワイトリストの最先の作成時であり、
前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも後に、前記動作ファイルが生成されたプロセスを前記不正プロセスとして検出する
請求項1に記載のプロセス監視装置。
【請求項3】
前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも前に、前記動作ファイルが生成されたプロセスを前記ホワイトリストに追加する
請求項1または2記載のプロセス監視装置。
【請求項4】
前記異常検知部は、
前記プロセス監視装置のCPU使用率、メモリ使用率、記憶装置の残量、ネットワーク通信量の少なくとも何れかに基づいて、前記動作異常を検知する
請求項1から3の何れか1項に記載のプロセス監視装置。
【請求項5】
装置の動作異常を検知する異常検知部と不正プロセスを検出する不正プロセス検出部を備えたプロセス監視装置において動作するプロセス監視方法であって、
前記異常検知部が、所定の検知基準に基づいて装置の動作異常を検知するステップと、
前記動作異常を検知していない場合に、動作中のプロセスの第1のプロセス情報を用いてホワイトリストを作成するステップと、
前記動作異常を検知した場合に、動作中のプロセスの第2のプロセス情報を取得し、前記第1のプロセス情報と前記第2のプロセス情報の比較結果に基づいて、不正プロセスを検出するステップと
を含み、
前記不正プロセスを検出するステップは、
前記第2のプロセス情報のプロセスの動作ファイルの生成時と所定の基準時の比較結果に基づいて、前記第2のプロセス情報における前記ホワイトリストに記載されていない新たなプロセスを前記不正プロセスとして検出する
プロセス監視方法。
【請求項6】
前記所定の基準時は、前記ホワイトリストの最先の作成時であり、
前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも後に、前記動作ファイルが生成されたプロセスを前記不正プロセスとして検出する
請求項5に記載のプロセス監視方法。
【請求項7】
前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも前に、前記動作ファイルが生成されたプロセスを前記ホワイトリストに追加する
請求項5または6記載のプロセス監視方法。
【請求項8】
動作異常を検知するステップは、
前記プロセス監視装置のCPU使用率、メモリ使用率、記憶装置の残量、ネットワーク通信量の少なくとも何れかに基づいて、前記動作異常を検知する
請求項5から7の何れか1項に記載のプロセス監視方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正なプロセスを検出するプロセス監視技術に関する。
【背景技術】
【0002】
近年、IOTやクラウドサービスの普及に伴い、ネットワークに接続する機器が増え、ネットワークの大規模化・複雑化が進む中、サーバやIOTデバイスを狙ったサイバー攻撃が増加しており、サイバー攻撃に対処するための技術が提案されている。例えば、特許文献1では、端末のマルウェア対策として、端末で動作しているプロセスを取得し、それをホワイトリストとして保持し、ホワイトリストを定期的に確認する方法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、端末やソフトウェアのバージョンアップにより、ホワイトリストを更新する必要があり、ホワイトリスト更新時の作業負担が大きいという問題があった。また、特許文献1では、ホワイトリスト以外にもブラックリストを用意する必要があり、マルウェアの数が増えると、ブラックリストに登録するプロセスを選定して登録する作業負担が増大するという問題があった。
【0005】
本発明は、このような課題を解決するためになされたものであり、ホワイトリスト更新時の作業負担を低減することができるプロセス監視装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
このような目的を達成するために、本発明のプロセス監視装置は、所定の検知基準に基づいて装置の動作異常を検知する異常検知部と、前記動作異常を検知していない場合に、動作中のプロセスの第1のプロセス情報を用いて作成されたホワイトリストと、前記動作異常を検知した場合に、動作中のプロセスの第2のプロセス情報を取得し、前記第1のプロセス情報と前記第2のプロセス情報の比較結果に基づいて、不正プロセスを検出する不正プロセス検出部を備え、前記不正プロセス検出部は、前記第2のプロセス情報のプロセスの動作ファイルの生成時と所定の基準時の比較結果に基づいて、前記第2のプロセス情報における前記ホワイトリストに記載されていない新たなプロセスを前記不正プロセスとして検出する。
【0007】
また、前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも前に、前記動作ファイルが生成されたプロセスを前記ホワイトリストに追加してもよい。
【0008】
また、前記異常検知部は、前記プロセス監視装置のCPU使用率、メモリ使用率、記憶装置の残量、ネットワーク通信量の少なくとも何れかに基づいて、前記動作異常を検知してもよい。
【0009】
このような目的を達成するために、本発明のプロセス監視方法は、装置の動作異常を検知する異常検知部と不正プロセスを検出する不正プロセス検出部を備えたプロセス監視装置において動作するプロセス監視方法であって、前記異常検知部が、所定の検知基準に基づいて装置の動作異常を検知するステップと、前記動作異常を検知していない場合に、動作中のプロセスの第1のプロセス情報を用いてホワイトリストを作成するステップと、前記動作異常を検知した場合に、動作中のプロセスの第2のプロセス情報を取得し、前記第1のプロセス情報と前記第2のプロセス情報の比較結果に基づいて、不正プロセスを検出するステップとを含み、前記不正プロセスを検出するステップは、前記第2のプロセス情報のプロセスの動作ファイルの生成時と所定の基準時の比較結果に基づいて、前記第2のプロセス情報における前記ホワイトリストに記載されていない新たなプロセスを前記不正プロセスとして検出する。
【0010】
また、前記所定の基準時は、前記ホワイトリストの最先の作成時であり、前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも後に、前記動作ファイルが生成されたプロセスを前記不正プロセスとして検出含んでもよい。
【0011】
また、前記新たなプロセスのうち、前記ホワイトリストの最先の作成時よりも前に、前記動作ファイルが生成されたプロセスを前記ホワイトリストに追加してもよい。
【0012】
また、動作異常を検知するステップは、前記プロセス監視装置のCPU使用率、メモリ使用率、記憶装置の残量、ネットワーク通信量の少なくとも何れかに基づいて、前記動作異常を検知してもよい。
【発明の効果】
【0013】
本発明によれば、ホワイトリスト更新時の作業負担を低減することができるプロセス監視装置を提供することが可能となる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、本発明の実施形態に係るプロセス監視装置の構成例である。
【
図2】
図2は、本発明の実施の形態に係るプロセス監視装置を用いたネットワークの構成例である。
【
図3】
図3は、本発明の実施の形態に係るホワイトリストの構成例である。
【
図4】
図4は、本発明の実施の形態に係るプロセス監視方法の動作シーケンスである。
【発明を実施するための形態】
【0015】
次に、本発明の実施の形態について図面を参照して説明する。本発明は、以下に説明する実施の形態に限定されるものではない。
【0016】
<プロセス監視装置の構成>
図1は、本発明の実施形態に係るプロセス監視装置の構成例である。
図1の構成例では、プロセス監視装置10は、他の通信機器20とともにネットワークを構成している。プロセス監視装置10、通信機器20は、ルータ50を介して外部の通信網NWと接続されている。
【0017】
プロセス監視装置10および通信機器20は、プロセスを実行する機能を有する。プロセス監視装置10は、プロセスを実行する機能に加えて、プロセス監視機能を有する。通信機器20は、プロセス監視機能を追加することで、プロセス監視装置10として機能することができる。
【0018】
プロセス監視装置10は、通信網NWからのマルウェア対策として、装置内で動作しているプロセスを取得し、それをホワイトリストとして保持している。プロセス監視装置10では、ホワイトリストにない新たなプロセスが不正なプロセスであるかを判断して、不正なプロセスを検出するように構成されている。尚、本実施の形態のホワイトリストは、不正なプロセスを検出するために用いられるので、ホワイトリストにない新たなプロセスの動作は許容される。
【0019】
装置内で動作するプロセスは、ソフトウェアのインストール時やアップデート時等のタイミングで頻繁に更新されるので、ホワイトリストにない動作中の新たなプロセスが正常なものであれば、必要に応じてホワイトリストを更新する必要がある。ホワイトリストが更新されないと正常に動作しているプロセスまで不正なプロセスと判断されてしまうからである。
【0020】
本実施の形態のプロセス監視装置10は、CPUの使用率等に基づいて、装置の動作異常を検知した場合に、ホワイトリストに登録されているプロセス情報と装置内で動作中のプロセスのプロセス情報を比較し、その比較結果に基づいて不正なプロセスを検出するように構成されている。新たなプロセスが不正なプロセスではないと判断された場合には、新たなプロセスを追加することでホワイトリストを更新する。
【0021】
本実施の形態では、装置の動作異常が検出された場合に、不正なプロセスを検出し、その結果を用いてホワイトリストを更新するように構成しているので、定期的にホワイトリストを更新する場合と比較して、ホワイトリストの更新に関わる作業負担を軽減することができる。
【0022】
<プロセス監視装置の構成>
プロセス監視装置10は、主な回路部として、I/F部11、プロセス実行部12、制御部13、記憶部14、表示部15を備えている。
【0023】
<プロセス実行部>
プロセス実行部12は、プロセス監視装置10においてプロセスを実行するための回路であり、プロセスを実行するためのCPU12Aとメモリ12Bを備えている。不正なプロセスが増大するとCPU12Aやメモリ12B使用率が増大するので、プロセス実行部12のCPU12Aやメモリ12Bの動作状況は、装置の動作異常を検知するために用いることができる。
【0024】
<I/F部>
I/F部11は、ネットワーク内の各通信機器や外部の通信網と接続するための回路である。ネットワーク内の通信機器は、I/F部11を介してサイバー攻撃を受けるので、I/F11を介したネットワーク通信量は、装置の動作異常を検知するために用いることができる。
【0025】
<記憶部>
記憶部14は、ハードディスクや半導体メモリなどの記憶装置からなる。記憶部14には、制御部13での異常検知や不正プロセスの検出に用いる各種の処理データやプログラムが記憶されている。不正なプロセスが増大すると記憶部14の容量が圧迫されるので、記憶部14の残量は、装置の動作異常を検知するために用いることができる。
【0026】
記憶部14で記憶する主な処理データとしては、プロセス動作情報14A、ホワイトリスト14Bがある。
【0027】
<プロセス動作情報>
プロセス動作情報14Aは、プロセス監視装置10内で動作しているプロセス情報を表すデータである。プロセス動作情報14Aは、装置の動作異常が検知された場合に、動作中のプロセス情報をホワイトリストのプロセス情報と比較する際に用いられる。
【0028】
プロセス動作情報14Aには、プロセス毎に、動作ファイルが生成された時刻情報が記録されている。動作ファイルが生成された時刻情報は、装置の動作異常が検知された場合に、動作中のプロセス情報が不正なプロセスであるかを判断する際に用いられる。
【0029】
<ホワイトリスト>
ホワイトリスト14Bには、装置の動作異常が検知されていない状態において、装置内で動作しているプロセス(第1のプロセス情報)が保持されている。装置の動作異常が検知されていない状態において動作しているプロセスは不正なプロセスではないと推定されるからである。例えば、ホワイトリストは、ネットワークの新規構築時や増築時等に作成される。
【0030】
ホワイトリスト14Bは、動作中のプロセス情報と比較して、新たなプロセスにおいて不正なプロセスを検出する際に用いられる。本実施の形態のホワイトリストは、不正なプロセスを検出するために用いられるので、ホワイトリストにない新たなプロセスの動作は許容される。新たなプロセスが不正なプロセスでない場合には、ホワイトリストに追加される。
【0031】
<プログラム>
プログラム14Pは、制御部13のCPUと協働することにより、制御部13での異常検知処理や不正プロセス検出処理に用いられる各種の処理部を実現するためのプログラムである。このプログラム14Pは、I/F部11を介して接続された外部装置や記録媒体(ともに図示せず)から、予め記憶部14へ格納される。
【0032】
<制御部>
制御部13は、CPUとその周辺回路を有し、記憶部14のプログラム14Pを読み出してCPUと協働させることにより、異常検知処理や不正プロセス検出処理を実行するための処理部を実現する。制御部13で実現される主な処理部として、異常検知部13A、不正プロセス検出部13Bがある。
【0033】
<異常検知部>
異常検知部13Aは、所定の検知基準に基づいて装置の動作異常を検知するように構成されている。プロセス監視装置の動作異常は、プロセス監視装置10の動作状況に基づいて判断する。例えば、プロセス実行部12のCPU使用率、メモリ使用率、記憶部14の残量、I/F11を介したネットワーク通信量等に基づいて動作異常を検知することができる。
【0034】
具体的には、プロセス実行部12のCPU使用率、メモリ使用率、記憶部14の残量、I/F11を介したネットワーク通信量等の少なくとも何れかが、所定の閾値を超えた場合に、装置に動作異常が発生したと判断すればよい。装置に動作異常が発生したかの判断条件は、ネットワークの運用状況等に応じて適宜定めることができる。
【0035】
<不正プロセス検出部>
不正プロセス検出部13Bは、プロセス監視装置の動作異常を検知した場合に、動作中のプロセスのプロセス情報を取得し、動作中のプロセス情報(第2のプロセス情報)とホワイトリストのプロセス情報(第1のプロセス情報)との比較結果に基づいて、不正プロセスを検出する。
【0036】
具体的には、ホワイトリストにない新たなプロセスの動作ファイルの生成時と所定の基準時の比較結果に基づいて、新たなプロセスが不正なプロセスであるかを判断する。例えば、新たなプロセスのうち、ホワイトリストの最先の作成時よりも後に動作ファイルが生成されたプロセスを不正プロセスとして検出することができる。不正プロセスを判断する際の所定の基準時は、ホワイトリストの最先の作成時に限られず、例えば、不正プロセスの侵入が無いことが確認できた時等、不正プロセスの確認状況に応じて適宜定めることができる。
【0037】
<表示部>
表示部15は、装置の動作状況や記憶部14に記憶された各情報を表示するための処理部である。表示部15は、不正プロセス検出部13Bで不正プロセスが検出された場合に、アラート情報を表示する場合にも用いられる。
【0038】
<プロセス監視装置の動作>
本実施の形態にかかるプロセス監視装置の動作について説明する。
図2は、本発明の実施の形態に係るプロセス監視装置を用いたネットワークの構成例である。
図3は、本発明の実施の形態に係るホワイトリストの構成例である。
【0039】
図2のネットワークは、プロセス監視装置10、通信機器20、スイッチ30、HUB40から構成されている。ネットワークの新規構築時や増築時等には、プロセス監視装置10、および通信機器20がスイッチ30、HUB40を介して接続するように各機器が配置され、プロセス監視装置10、通信機器20、スイッチ30には、IP通信をするためのIPアドレスが付与される。
【0040】
本実施の形態において、ホワイトリストは、ネットワークの新規構築時や増築時等に作成される。ネットワークの新規構築時や増築時等に作成されホワイトリストは、ネットワークの運用時において、動作中のプロセスが不正なプロセスであるかを判定する際に用いられる。ネットワークの新規構築時や増築時等に作成されたホワイトリストは、ネットワークの運用中において、必要に応じて新たなプロセスを追加することで更新することができる。
【0041】
図3のホワイトリストは、[プロセスID]、[プロセス名]、[パス]、[CPU使用率]、[メモリ使用率]の情報から構成されている。
図3の構成例では、ホワイトリストとして、[a.exe]、[abil.exe]、[test.exe]、[maru.exe]が保存されている。
【0042】
本実施の形態では、ホワイトリストに記載されていない動作中の新たなプロセスについて、新たなプロセスの動作ファイルの生成時と所定の基準時の比較結果に基づいて、新たなプロセスが不正なプロセスであるかを判断する。
【0043】
例えば、新たなプロセスのうち、ホワイトリストの最先の作成時よりも後に動作ファイルが生成されたプロセスを不正プロセスとして検出することができる。ホワイトリストの作成時において既に動作ファイルが作成されていたものであれば、不正なプロセスでないと推定されるからである。
【0044】
不正プロセスであるかの判断に用いる所定の基準時は、上述したホワイトリストの最先の作成時に限られず、例えば、不正プロセスの侵入が無いことが確認できた時等、不正プロセスの確認状況に応じて適宜定めることができる。そのため、記憶部14は、
図3のホワイトリストとともに、ホワイトリストの作成時や更新時等の時刻情報を所定の基準時のデータとして保持するように構成されている。
【0045】
<プロセス監視方法の動作シーケンス>
図4は、本発明の実施の形態に係るプロセス監視方法の動作シーケンスである。本実施の形態のプロセス監視方法は、異常検知部が、所定の検知基準に基づいて装置の動作異常を検知するステップと、動作異常を検知していない場合に、動作中のプロセスのプロセス情報を用いてホワイトリストを作成するステップと、動作異常を検知した場合に、動作中のプロセスのプロセス情報を取得し、ホワイトリストのプロセス情報と動作異常時のプロセス情報の比較結果に基づいて、不正プロセスを検出するステップとを含む。
【0046】
ネットワークの新規構築時等の装置の動作異常を検知していない場合において、動作中のプロセス情報を取得して、ホワイトリストを作成し保持する(ステップS1-1、S1-2)。
【0047】
プロセス実行部のCPU使用率等の装置の動作状況を取得し、動作状況に基づいて装置の動作異常を検知する(ステップS1-3、1-4)。
【0048】
装置の動作異常を検知した場合には(ステップS1-4:YES)、動作中のプロセス情報を取得し、ホワイトリストと比較してホワイトリストにない新たなプロセスの生成時の情報を取得する(ステップS1-5、S1-6、S1-7)。
【0049】
新たなプロセスの生成時の情報を所定の基準時と比較し、新たなプロセスの生成時が所定の基準時より前である場合には(ステップS1-8:YES)、新たなプロセスを不正なプロセスでないと判断し、ホワイトリストに追加する(ステップS1-9)。
【0050】
新たなプロセスの生成時を所定の基準時と比較し、新たなプロセスの生成時が所定の基準時より後である場合には(ステップS1-8:NO)、新たなプロセスを不正なプロセスであると判断し、アラートを表示する(ステップS1-10)。
【0051】
<本実施の形態の効果>
このように、本実施の形態では、装置の動作異常が検出された場合に、ホワイトリストの更新を行うように構成したので、定期的にホワイトリストを更新する場合と比較して、ホワイトリストの更新に関わる作業負担を軽減することができる。
【0052】
<実施の形態の拡張>
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【0053】
10…プロセス監視装置、11…I/F部、12…プロセス実行部、13…制御部、13A…異常検知部、13B…不正プロセス検出部、14…記憶部、14A…プロセス動作情報、14B…ホワイトリスト、14P…プログラム、15…表示部、20…通信機器、30…スイッチ、40…ハブ、50…ルータ、NW…通信網。