(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-10
(45)【発行日】2023-07-19
(54)【発明の名称】監視装置、監視方法、および監視プログラム
(51)【国際特許分類】
H04L 43/00 20220101AFI20230711BHJP
H04L 12/28 20060101ALI20230711BHJP
G06F 21/55 20130101ALI20230711BHJP
【FI】
H04L43/00
H04L12/28 200
G06F21/55 320
(21)【出願番号】P 2019145274
(22)【出願日】2019-08-07
【審査請求日】2022-02-28
(73)【特許権者】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】関 昂太
(72)【発明者】
【氏名】井手口 恒太
【審査官】大石 博見
(56)【参考文献】
【文献】国際公開第2015/141630(WO,A1)
【文献】特開2019-009726(JP,A)
【文献】国際公開第2018/135008(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
H04L 12/28
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
監視対象を監視する監視装置であって、
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、前記監視対象と通信可能な通信インタフェースと、を有し、
前記プロセッサは、
脅威の発生に必要な複数の事象の関連性を示す脅威情報を取得する取得処理と、
前記取得処理によって取得された脅威情報に基づいて、前記監視対象への攻撃を検出するルール
群のうち一部のルールについて、前記監視対象からのログの収集方式を、前記監視対象から前記ログが送信されてきた場合に収集する受動方式と、前記監視装置から前記監視対象に要求した場合に前記ログを前記監視対象から収集する能動方式と、のいずれかに決定する決定処理と、
を実行することを特徴とする監視装置。
【請求項2】
請求項1に記載の監視装置であって、
前記ルール群のルールごとに前記ルールの重要度が設定されたルールデータベースにアクセス可能であり、
前記決定処理では、前記プロセッサは、前記
一部のルールの重要度に基づいて、前記ログの収集方式を、前記受動方式と前記能動方式とのいずれかに決定する、
ことを特徴とする監視装置。
【請求項3】
請求項1に記載の監視装置であって、
前記プロセッサは、前記複数の事象の各々について、前記
一部のルールが適用される前記監視対象から前記ログを収集するために必要な通信コストと、前記監視対象の数と、に基づいて、前記監視対象への攻撃を検出するための検出コストを算出する算出処理を実行し、
前記決定処理では、前記プロセッサは、前記算出処理によって算出された検出コストに基づいて、前記
一部のルールによる前記ログの収集方式を、前記受動方式と前記能動方式とのいずれかに決定する、
ことを特徴とする監視装置。
【請求項4】
請求項1に記載の監視装置であって、
前記脅威を時系列なルールで規定した時系列情報にアクセス可能であり、
前記プロセッサは、
前記監視対象からのログに基づいて、前記受動方式に決定された第1ルールに該当する特定の脅威に関する第1アラートを生成する第1生成処理と、
前記第1生成処理によって前記第1アラートが生成された場合、前記時系列情報を参照して、前記第1ルールに該当する前記特定の脅威を規定した特定の時系列なルールのうち、前記第1ルール以外の第2ルールの検出元となる他の監視対象を特定する特定処理と、
前記特定処理によって特定された他の監視対象に前記他の監視対象からのログの収集要求を送信した結果、前記他の監視対象からのログが収集された場合、前記他の監視対象からのログに基づいて、前記第2ルールに該当する前記特定の脅威に関する第2アラートを生成する第2生成処理と、
前記第2生成処理によって前記第2アラートが生成された場合、前記特定の時系列なルールのうち前記第1アラートおよび前記第2アラートの生成元となるルールの数に基づいて、前記特定の脅威を検出する検出処理と、
を実行することを特徴とする監視装置。
【請求項5】
請求項4に記載の監視装置であって、
前記特定処理では、前記プロセッサは、前記特定の時系列なルールにおける前記第1ルールおよび前記第2ルールの前後関係に基づいて、前記収集要求の対象ログを特定し、
前記第2生成処理では、前記プロセッサは、前記他の監視対象に前記他の監視対象からの前記対象ログの収集要求を送信した結果、前記他の監視対象からの前記対象ログが収集された場合、前記他の監視対象からの前記対象ログに基づいて、前記第2アラートを生成する、
ことを特徴とする監視装置。
【請求項6】
請求項5に記載の監視装置であって、
前記特定処理では、前記プロセッサは、前記特定の時系列なルールにおいて前記第2ルールが前記第1ルールよりも前に規定されている場合、現在から一定期間過去のログを前記対象ログに決定し、前記特定の時系列なルールにおいて前記第2ルールが前記第1ルールよりも後に規定されている場合、現在から一定期間先までのログを前記対象ログに決定する、
ことを特徴とする監視装置。
【請求項7】
請求項4に記載の監視装置であって、
前記脅威と、前記時系列なルールを構成する各ルールの重みと、前記脅威の発生を判定する判定しきい値と、を関連付けた重み情報にアクセス可能であり、
前記検出処理では、前記プロセッサは、前記重み情報を参照して、前記第1アラートおよび前記第2アラートの生成元となるルールの重みの総和が、前記判定しきい値以上である場合、前記特定の脅威を検出する、
ことを特徴とする監視装置。
【請求項8】
監視対象を監視する監視装置が実行する監視方法であって、
前記監視装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、前記監視対象と通信可能な通信インタフェースと、を有し、
前記プロセッサは、
脅威の発生に必要な複数の事象の関連性を示す脅威情報を取得する取得処理と、
前記取得処理によって取得された脅威情報に基づいて、前記監視対象への攻撃を検出するルール群のうち一部のルールについて、前記監視対象からのログの収集方式を、前記監視対象から前記ログが送信されてきた場合に収集する受動方式と、前記監視装置から前記監視対象に要求した場合に前記ログを前記監視対象から収集する能動方式と、のいずれかに決定する決定処理と、
を実行することを特徴とする監視方法。
【請求項9】
監視対象の監視をプロセッサに実行させる監視プログラムであって、
前記プロセッサに、
脅威の発生に必要な複数の事象の関連性を示す脅威情報を取得する取得処理と、
前記取得処理によって取得された脅威情報に基づいて、前記監視対象への攻撃を検出するルール群のうち一部のルールについて、前記監視対象からのログの収集方式を、前記監視対象から前記ログが送信されてきた場合に収集する受動方式と、監視装置から前記監視対象に要求した場合に前記ログを前記監視対象から収集する能動方式と、のいずれかに決定する決定処理と、
を実行させることを特徴とする監視プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視対象を監視する監視装置、監視方法、および監視プログラムに関する。
【背景技術】
【0002】
IoT(Internet of Things)機器が外部と通信する機会が増加することにより,サイバー攻撃のターゲットとなる可能性が高まっている。IoT機器に事前のセキュリティ対策を実装していても、攻撃の中にはその対策を乗り越え、被害を及ぼす場合も想定される。IoT機器の状態を監視するセンタが、リアルタイムでログを収集し分析することで、IoT機器が攻撃を受けたことを迅速に検出する必要がある。
【0003】
特許文献1は、ネットワークを介した不正な通信を検出するための通信ログの分析に用いる分析ルールを調整する分析ルール調整装置を開示する。この分析ルール調整装置は、ログ取得部と、ログ分析部と、第1の解析部と、を備える。ログ取得部は、防御対象ネットワークを介した通信ログと、マルウェアが発生させる通信ログとを取得する。ログ分析部は、ログ取得部が取得した通信ログを、所定の分析ルールとチューニング条件とに基づき分析する。第1の解析部は、ログ分析部による分析結果を解析して、所定の分析ルールの調整に用いる、チューニング条件を満たすチューニング推奨値を算出する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、分析ルール調整装置は、携帯通信網を利用してログを収集する場合があり、分析ルールに必要なすべてのログを常時収集すると、通信コストが増大してしまう可能性がある。
【0006】
本発明は、監視対象への攻撃の検出精度を低下させずに、監視対象からログを収集する際の通信コストの低減化を図ることを目的とする。
【課題を解決するための手段】
【0007】
本願において開示される発明の一側面となる監視装置は、監視対象を監視する監視装置であって、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、前記監視対象と通信可能な通信インタフェースと、を有し、前記プロセッサは、脅威の発生に必要な複数の事象の関連性を示す脅威情報を取得する取得処理と、前記取得処理によって取得された脅威情報に基づいて、前記監視対象への攻撃を検出するルール群のうち一部のルールについて、前記監視対象からのログの収集方式を、前記監視対象から前記ログが送信されてきた場合に収集する受動方式と、前記監視装置から前記監視対象に要求した場合に前記ログを前記監視対象から収集する能動方式と、のいずれかに決定する決定処理と、を実行することを特徴とする。
【発明の効果】
【0008】
本発明の代表的な実施の形態によれば、攻撃の検出精度を下げずに、監視対象からのログを収集する際の通信コストを削減することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、ログ収集方式決定例および脅威検出例を示す説明図である。
【
図2】
図2は、監視システムのシステム構成例を示す説明図である。
【
図3】
図3は、監視装置のハードウェア構成例を示すブロック図である。
【
図4】
図4は、ルールDBの記憶内容例を示す説明図である。
【
図5】
図5は、アラートDBの記憶内容例を示す説明図である。
【
図6】
図6は、シーケンスDBの記憶内容例を示す説明図である。
【
図7】
図7は、スコアDBの記憶内容例を示す説明図である。
【
図8】
図8は、IoT機器のハードウェア構成例を示すブロック図である。
【
図9】
図9は、IoT機器の記憶装置に記憶されているログDBの記憶内容例を示す説明図である。
【
図10】
図10は、監視装置によるログ収集方式決定フェーズF1の詳細な処理手順例を示すフローチャートである。
【
図11】
図11は、攻撃検出ルールの並び替え処理(ステップS1004)の詳細な処理手順例を示すフローチャートである。
【
図12】
図12は、攻撃検出ルールの並び替え処理(ステップS1004)による処理例を示す説明図である。
【
図13】
図13は、ログ収集方式決定処理(ステップS1005)の詳細な処理手順例を示すフローチャートである。
【
図14】
図14は、ログ収集方式決定処理(ステップS1005)による処理例を示す説明図である。
【
図15】
図15は、脅威検出フェーズF2の詳細な処理手順例を示すフローチャートである。
【
図16】
図16は、ログ収集先および収集範囲の特定処理(ステップS1504)の詳細な処理手順例を示すフローチャートである。
【
図17】
図17は、振り分け作業画面の一例を示す説明図である。
【発明を実施するための形態】
【0010】
<ログ収集方式決定例および脅威検出例>
図1は、ログ収集方式決定例および脅威検出例を示す説明図である。監視対象を監視する監視装置は、ログ収集方式決定フェーズF1にてログ収集方式を決定し、その後、脅威検出フェーズF2にてネットワーク上の監視対象(本実施例では、一例としてIoT機器)への脅威を検出する。そのために、脅威情報100が用意される。
【0011】
ログ収集方式決定フェーズF1では、監視対象に対して脅威分析の結果から攻撃検出ルールが作成される。脅威分析では、まず、監視対象に対して起こりうる脅威が、5W(who,Why,what,where,when)の観点から抽出される。次に、各脅威に対して、具体的にどのような手順や条件によって脅威が発生しうるのかを論理的に解析するため、樹状に展開するFT(Fault Tree)が脅威情報100として作成される。
【0012】
脅威情報100は、既知の脅威分析ツールによって分析された脅威分析結果であり、脅威の発生に必要な複数の事象の関連性を示す。脅威とは、たとえば、ネットワーク上の監視対象に対する不正侵入、改ざん、ウイルス、盗聴、傍受、なりすましといった各種攻撃の総称である。攻撃とは、攻撃内容が特定された脅威である。
【0013】
FT分析では、各脅威を最上位のトップ事象(
図1では、「脅威X」)とし、その事象を起こす具体的な実施方法(How)が展開される。このとき、各実施方法がそれぞれ成立しなければ上位事象が成り立たない場合は積の論理記号100A、どれかが成立すれば上位事象が成り立つ場合は和の論理記号100Bが用いられる。
【0014】
たとえば、脅威情報100として得られた脅威Xは、原因Y1~Y4という4つの事象が発生した場合に発生し、攻撃者からの攻撃であると分析される。原因とは、監視対象への攻撃によって引き起こされる監視対象での誤作動や不具合、障害の発生要因となる事象である。したがって、1以上の原因の組み合わせが脅威となる。
【0015】
ログ収集方式決定フェーズF1では、分析者は、各基本事象に対して、攻撃者が行う行動を予測し、その行動をIoT機器から収集したログから検出するために使用する攻撃検出ルール群101sを作成する。原因ごとに攻撃検出ルールが設定される。
図1では、例として、ルールA~Eの攻撃検出ルール群101sが設定される。
【0016】
ルールAは、原因Y1の発生を特定して攻撃を検出するための攻撃検出ルールである。ルールBは、原因Y2.1の発生を特定して攻撃を検出するための攻撃検出ルールである。ルールCは、原因Y2.2の発生を特定して攻撃を検出するための攻撃検出ルールである。ルールDは、原因Y3の発生を特定して攻撃を検出するための攻撃検出ルールである。ルールEは、原因Y4の発生を特定して攻撃を検出するための攻撃検出ルールである。
【0017】
ログ収集方式決定フェーズF1では、監視装置は、攻撃検出ルールごとに、監視対象からのログの収集方式を設定する。収集方式には、受動方式と、能動方式の2種類がある。受動方式とは、監視装置が監視対象からのログを受動的に収集する方式、すなわち、監視装置は、監視対象から常時送信されてくるログを受信して監視装置内に蓄積する収集方式である。一方、能動方式とは、監視装置から監視対象にログを要求した場合にログを監視対象から収集する収集方式である。
【0018】
受動方式の攻撃検出ルールが多いほど、ログを大量に収集することができるため、攻撃を漏れなく検出することが可能となる反面、大量のログが監視対象から監視装置に送信されるため、トラフィックが増加し、ひいては、トラフィック軽減のための設備投資などによる通信コストが増加する。また、能動方式の攻撃検出ルールが多いほど、ログの収集量を抑制することができるため、通信コストの低減化を図ることができる反面、攻撃の検出精度が低下する。
【0019】
したがって、ログ収集方式決定フェーズF1では、監視装置は、脅威情報100における各攻撃検出ルールの原因の発生のし易さの指標となる重要度、各攻撃検出ルールにおいてログの収集方式が受動方式になった場合の通信コスト、脅威の危険性を評価したリスク値を考慮して、攻撃検出ルール毎にログの収集方式を決定する。これにより、監視対象への攻撃の検出精度を低下させずに、監視対象からログを収集する際の通信コストの低減化の実現を図る。
図1では、例として、ルール
AおよびルールDに受動方式が設定され、ルールB、ルールC、およびルールEに能動方式が設定されている。
【0020】
脅威検出フェーズF2では、監視装置は、攻撃検出ルールにしたがって脅威の原因となる事象を検出し、脅威Xが発生する予兆があるか、あるいは、すでに脅威Xが発生しているかを検出する。たとえば、監視装置は、受動方式が適用される監視対象110A(たとえば、監視カメラ)からログを収集し(ステップS111)、受動収集ログ102Aとして保存する。監視装置は、受動収集ログ102Aに、受動方式に決定された攻撃検出ルール(以下、受動ルール)A,Dを適用して、第1アラートを生成し、アラートDB103に保存する(ステップS112)。
【0021】
シーケンスDB104は、脅威毎に脅威が発生するための攻撃が検出される時系列な攻撃検出ルール(シーケンスともいう)を規定する。たとえば、シーケンスは、「A⇒(BまたはC)⇒D⇒E」となる。すなわち、A⇒(BまたはC)⇒D⇒Eの順に攻撃検出ルールが合致すると、Y1⇒(Y2.1またはY2.2)⇒Y3⇒Y4の順に監視対象で誤作動や不具合等の事象が発生したことを意味し、脅威Xが検出される。
【0022】
監視装置は、シーケンスDB104を参照して、アラート生成(ステップS112)された第1アラートの生成元の受動ルールA,Dを含むシーケンスの中の他のルールを、能動方式に決定された攻撃検出ルール(以下、能動ルール)B,C,Eの中から同一脅威ルールとして抽出し(ステップS113)、同一脅威ルールが適用される監視対象110B(
図1では、例として指紋認証装置)を特定する(ステップS114)。
【0023】
監視装置は、この同一脅威ルールが適用される監視対象110Bにログ収集リクエストを送信し、監視対象110Bからのログを能動的に収集して(ステップS116)、能動収集ログとして保存する。監視装置は、受動ルールの場合(ステップS112)と同様、能動収集ログ102Bに能動ルールを適用して第2アラートを生成しアラートDB103に保存する(ステップS117)。
【0024】
スコアDB105には、脅威毎に、当該脅威を規定する攻撃検出ルールに重みとなるスコアが設定されている。監視装置は、第1アラートの生成元の受動ルールA,Dの少なくとも1つのスコアと、第2アラートの生成元の能動ルールB,C,Eの少なくとも1つのスコアとの総和がしきい値以上であるか否かを判定する。しきい値以上であれば、監視装置は脅威Xの予兆や発生済みの脅威Xを検出する。このように、攻撃検出ルールでのログの収集方式を受動方式および能動方式に振り分けることで、受動方式により攻撃を漏れなく検出して検出精度の低下を抑制しつつ、能動方式により通信コストの低減化を図ることができる。
【0025】
<監視システムのシステム構成例>
図2は、監視システムのシステム構成例を示す説明図である。監視システム200は、監視装置201と、1以上のIoTシステム202と、を有する。監視装置201とIoTシステム202とは、LAN(Local Area Network),WAN(Wide Area Network),インターネットなどのネットワーク203を介して相互に有線または無線で通信可能に接続される。
【0026】
監視装置201は、
図1で説明したように、ログ収集方式決定フェーズF1および脅威検出フェーズF2を実行する。監視装置201の詳細は、
図3~
図7で説明する。IoTシステム202は、1以上のIoT機器110を有する。IoTシステム202は、たとえば、製造設備や監視カメラ、認証装置を含む。IoT機器110の詳細は、
図8および
図9で説明する。
【0027】
なお、IoT機器110は、監視装置201による監視対象の一例であり、監視対象は、IoTシステム202に限らず、ルータやスイッチなどのネットワーク機器、パーソナルコンピュータやサーバなどの計算機、スマートフォンやタブレットなどの通信端末など、ネットワーク203を介して監視装置201と通信可能に接続される通信機器でよい。
【0028】
<監視装置201のハードウェア構成例>
図3は、監視装置201のハードウェア構成例を示すブロック図である。監視装置201は、プロセッサ301と、メモリ302と、記憶装置303と、入力デバイス304と、出力デバイス305と、通信インタフェース(通信IF)306と、を有する。プロセッサ301、メモリ302、記憶装置303、入力デバイス304、出力デバイス305、および通信IF306は、バス307により接続される。プロセッサ301は、監視装置201を制御する。メモリ302は、プロセッサ301の作業エリアとなる。また、メモリ302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。
【0029】
具体的には、たとえば、メモリ302は、監視プログラム310を記憶する。監視プログラム310は、ソフトウェアモジュールとして、取得モジュール311と、算出モジュール312と、並び替えモジュール313と、決定モジュール314と、第1生成モジュール315と、特定モジュール316と、第2生成モジュール317と、検出モジュール318と、を有する。各モジュール311~318の詳細は後述する。
【0030】
記憶装置303は、各種DB(Database)を記憶する非一時的なまたは一時的な記録媒体である。記憶装置303は、ルールDB320と、アラートDB103と、シーケンスDB104と、スコアDB105と、を含む。各DB320,103~105の詳細は後述する。記憶装置303は、監視装置201外で監視装置201とネットワーク203を介してアクセス可能な他のコンピュータに存在してもよい。メモリ302および記憶装置303を、記憶デバイスと称す。記憶デバイスとしては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。
【0031】
入力デバイス304は、データを入力する。入力デバイス304としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス305は、データを出力する。出力デバイス305としては、たとえば、ディスプレイ、プリンタがある。通信IF306は、ネットワーク203と接続し、データを送受信する。
【0032】
<ルールDB320>
図4は、ルールDB320の記憶内容例を示す説明図である。ルールDB320は、上述した攻撃検出ルールを記憶するデータベースである。ルールDB320は、フィールドとして、脅威ID401と、リスク値402と、ルールID403と、ログ収集機器ID404と、ルール内容405と、重要度406と、検出コスト407と、収集方式408と、を有する。1つの行における各フィールド401~407の値の組み合わせが、1つの攻撃検出ルールを規定するエントリとなる。
【0033】
脅威ID401は、脅威を一意に特定するIDである。リスク値402は、脅威ID401で特定される脅威の危険性を示す指標値である。本例では、リスク値402が高いほど危険な脅威であることを示す。リスク値402は、脅威毎に事前の脅威分析結果によって得られる値である。同一脅威のリスク値402は同一である。また、1つの脅威に対して、複数の脅威が関連する場合があるため、脅威ID401およびリスク値402は重複することもある。
【0034】
ルールID403は、攻撃検出ルールを一意に特定する識別情報である。なお、ルールID403が「xxx」(xは任意の文字列)の攻撃検出ルールを、「攻撃検出ルールxxx」と表記する場合がある。ログ収集機器ID404は、ログ収集機器を一意に特定する識別情報である。ログ収集機器とは、監視対象であり、たとえば、ログの収集対象となるIoT機器110である。
【0035】
ルール内容405とは、ルールID403で特定される攻撃検出ルールの内容を示す情報である。たとえば、一行目のエントリ(攻撃検出ルールabc123)のルール内容405は、「複数の機器から同一アドレス元からの認証エラーを受信」であるが、ログ収集機器ID404は「D1」、「D2」、「D3」であるため、「IoT機器D1~D3から同一アドレス元からの認証エラーを受信」を意味する。
【0036】
脅威ID401、リスク値402、ルールID403、ログ収集機器ID404、およびルール内容405が、FT分析で事前に設定される脅威情報100である。
【0037】
重要度406は、ルールID403で特定される攻撃検出ルールの重要性を示す指標値である。重要度406は、ルールID403で特定される攻撃検出ルールに対応する原因が脅威の発生にとって必須要件であるほど高くなる。具体的には、たとえば、脅威情報100において、トップ事象(たとえば、脅威X)から攻撃検出ルールに対応した事象までの和の論理記号100Bの数が少ないほど、重要度406は高くなる。重要度406は、たとえば、和の論理記号100Bの数の逆数である。
【0038】
図1の脅威情報100の例では、原因Y1、Y3、Y4に対応するルールA,D,Eの重要度406は、原因Y2.1、Y2.2に対応するルールB,Cの重要度406よりも高い。監視装置201は、算出モジュールにより、脅威情報100を参照して、エントリごとに重要度406を算出してルールDB320に格納する。
【0039】
検出コスト407は、ルールID403で特定される攻撃検出ルールによりログを収集する1台のIoT機器110の単位時間当たりの通信コストと、ログ収集機器ID404で特定されるIoT機器110の台数(ログ収集機器ID404の数)と、を乗じた値である。通信コストは、監視対象のIoT機器110と監視装置201との間の通信にかかるコストであり、既知の値とする。監視装置201は、算出モジュール312により、エントリごとに検出コスト407を算出してルールDB320に格納する。
【0040】
収集方式408は、ログ収集機器ID404で特定されるIoT機器110からログを収集する方式である。「受動」は、監視装置201が、当該IoT機器110からのログを受信して記憶装置303に格納する方式である。「能動」は、監視装置201が当該IoT機器110に要求した場合に限り、監視装置201が、当該IoT機器110からのログを受信して記憶装置303に格納する方式である。監視装置201は、並び替えモジュール313および決定モジュール314により、エントリごとに収集方式408を決定してルールDB320に格納する。
【0041】
なお、監視装置201は、収集方式408が設定されたエントリのログ収集機器ID404で特定されるIoT機器110に、収集方式408を送信する。これにより、送信先のIoT機器110は、収集方式408に従ってログを送信する。
【0042】
<アラートDB103>
図5は、アラートDB103の記憶内容例を示す説明図である。アラートDB103は、監視装置201が、第1生成モジュール315および第2生成モジュール317によって生成したアラートを記憶するデータベースである。アラートDB103は、フィールドとして、アラートID501と、発生時刻502と、アラート内容503と、を有する。1つの行における各フィールド501~503の値の組み合わせが、1つのアラートを規定するエントリとなる。
【0043】
アラートID501は、アラートを一意に特定する識別情報であり、当該アラートの生成に用いられた攻撃検出ルールのルールID403の値が用いられる。発生時刻502は、アラートID501で特定されるアラートが発生した時刻である。アラート内容503は、アラートID501で特定されるアラートの内容であり、アラートID501と一致するルールID403と同一エントリのルール内容405が流用される。
【0044】
<シーケンスDB104>
図6は、シーケンスDB104の記憶内容例を示す説明図である。シーケンスDB104は、あらかじめシーケンスを記憶するデータベースである。シーケンスDB104は、フィールドとして、脅威ID401と、シーケンス内容601と、を有する。1つの行における各フィールド401、601の値の組み合わせが、1つのシーケンスを規定するエントリとなる。シーケンスは、時系列に配列されたアラートID501(ルールID403)である。
【0045】
すなわち、アラートID501で特定されるアラートが、シーケンスで規定した順に発生すると、脅威ID401で特定される脅威が発生したことを示す。なお、アラートID501はルールID403と一致するため、シーケンス内容601は、上述したように、脅威が発生するための攻撃が検出される時系列なルールID403となる。矢印でつながっている2つのアラートID501(ルールID403)において、矢印の始端側のアラートID501は、矢印の終端側のアラートID501よりも前に発生したアラートを示す。
【0046】
<スコアDB105>
図7は、スコアDB105の記憶内容例を示す説明図である。スコアDB105は、あらかじめ、攻撃検出ルールの重みを示すスコアを格納するデータベースである。スコアDB105は、フィールドとして、脅威ID401と、しきい値701と、ルールID403と、スコア702と、を有する。
【0047】
しきい値701は、脅威ID401で特定される脅威であるか否かを示す基準値である。具体的には、たとえば、しきい値701は、対応するルールID403群のうち、アラートID501となったルールID403のスコア702の総和と比較される。スコア702は、対応するルールID403で特定される攻撃検出ルールの適合ののし易さ(対応するアラートの発生のし易さ)を示す。スコア702が大きいほど、その攻撃検出ルールで検出される事象は、発生しやすい。
【0048】
たとえば、ルールID403である「abc123」、「abc456」、および「abc789」がアラートID501となってアラートが発生した場合、脅威ID401が「12」の脅威の発生予想スコア702は、「abc123」、「abc456」、および「abc789」に対応する各スコア702の値「20」、「20」、「10」の総和である「50」となる。脅威ID401が「12」の脅威のしきい値701は「70」である。この場合、総和である「50」はしきい値701「70」以上でないため、監視装置201は、脅威ID401である「12」は、まだ発生していないと判断する。
【0049】
一方、ルールID403である「abc123」、「abc456」、および「def789」がアラートID501となってアラートが発生した場合、脅威ID401が「12」の脅威の発生予想スコアは、「abc123」、「abc456」、および「def789」に対応する各スコア702の値「20」、「20」、「30」の総和である「70」となる。脅威ID401が「12」の脅威のしきい値701は「70」である。この場合、総和である「70」はしきい値701である「70」以上であるため、監視装置201は、脅威ID401である「12」は発生したと判断する。
【0050】
<IoT機器110のハードウェア構成例>
図8は、IoT機器110のハードウェア構成例を示すブロック図である。IoT機器110は、プロセッサ801と、メモリ802と、記憶装置803と、入力デバイス804と、出力デバイス805と、通信インタフェース(通信IF)806と、を有する。プロセッサ、メモリ802、記憶装置803、入力デバイス804、出力デバイス805、および通信IF806は、バス807により接続される。プロセッサ801は、IoT機器110を制御する。メモリ802は、プロセッサ801の作業エリアとなる。また、メモリ802は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。
【0051】
具体的には、たとえば、メモリ802は、制御プログラム810を記憶する。制御プログラム810は、ソフトウェアモジュールとして、ログ生成モジュール811と、ログ送信モジュール812と、リクエスト処理モジュール813と、を有する。各モジュールの詳細は後述する。
【0052】
記憶装置803は、ログDB820を記憶する非一時的なまたは一時的な記録媒体である。記憶装置803は、メモリ802および記憶装置803を、記憶デバイスと称す。記憶デバイスとしては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ802がある。入力デバイス804は、データを入力する。入力デバイス804としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、カメラ、各種センサがある。出力デバイス805は、データを出力する。出力デバイス805としては、たとえば、ディスプレイ、プリンタがある。通信IF806は、ネットワーク203と接続し、データを送受信する。
【0053】
なお、監視装置201のルールDB320の収集方式408で「受動」が設定されたIoT機器110は、ログ生成モジュール811でログを生成するとログDB820に格納するとともに、監視装置201に送信する。一方、監視装置201のルールDB320の収集方式408で「能動」が設定されたIoT機器110は、ログ生成モジュール811でログを生成するとログDB820に格納しても、監視装置201に送信しない。リクエスト処理モジュール813で監視装置201からログを要求された場合、監視装置201は、要求された範囲のログを監視装置201に送信する。
【0054】
<ログDB820>
図9は、IoT機器110の記憶装置303に記憶されているログDB820の記憶内容例を示す説明図である。ログDB820は、IoT機器110が生成するログを記憶するデータベースである。ログDB820は、タイムスタンプ901と、ログ詳細情報902と、を有する。1つの行における各フィールドの値の組み合わせが、1つのログを規定するエントリとなる。タイムスタンプ901は、ログの発生日時である。ログ詳細情報902は、ログの詳細な情報を示す。
【0055】
IoT機器110の機器IDがログ収集機器ID404に該当し、かつ、その収集方式408が「受動」であれば、ログは、受動収集ログ102Aとして監視装置201に常時収集されて、監視装置201の記憶装置303に保存される。IoT機器110の機器IDがログ収集機器ID404に該当し、かつ、その収集方式408が「能動」であれば、ログは、監視装置201から要求があった場合に限り能動収集ログ102Bとして監視装置201に収集されて、監視装置201の記憶装置303に保存される。
【0056】
<ログ収集方式決定フェーズF1>
図10は、監視装置201によるログ収集方式決定フェーズF1の詳細な処理手順例を示すフローチャートである。監視装置201は、取得モジュールにより、記憶装置303から脅威情報100を取得する(ステップS1001)。監視装置201は、算出モジュール312により、脅威情報100を参照して、各攻撃検出ルールの重要度406を算出し、ルールDB320に格納する(ステップS1002)。
【0057】
監視装置201は、算出モジュール312により、各攻撃検出ルールの検出コスト407を算出し、ルールDB320に格納する(ステップS1003)。監視装置201は、並び替えモジュール313により、リスク値402と重要度406と検出コスト407とに基づいて攻撃検出ルールの並び替え処理を実行する(ステップS1004)。攻撃検出ルールの並び替え処理(ステップS1004)の詳細は、
図11および
図12で後述する。
【0058】
監視装置201は、決定モジュール314により、ログ収集方式決定処理を実行し(ステップS1005)、各攻撃検出ルールの収集方式408をルールDB320に格納する。ログ収集方式決定処理(ステップS1005)の詳細は、
図13および
図14で後述する。
【0059】
<攻撃検出ルールの並び替え処理(ステップS1004)>
図11は、攻撃検出ルールの並び替え処理(ステップS1004)の詳細な処理手順例を示すフローチャートである。監視装置201は、リスク値402が高い順に、攻撃検出ルールを並び替える(ステップS1101)。脅威ID401が同一であればリスク値402も同一であるため、並び替え後のルールDB320は、脅威ID401ごとに集約される。
【0060】
監視装置201は、ステップS1101の並び替え後のルールDB320において、同一脅威ID401の攻撃検出ルール内で、重要度406が高い順に並び替える(ステップS1102)。監視装置201は、ステップS1101の並び替え後のルールDB320において、重要度406が同じ攻撃検出ルールを検出コスト407が低い順に並び替える(ステップS1103)。
【0061】
図12は、攻撃検出ルールの並び替え処理(ステップS1004)による処理例を示す説明図である。
図12において、ルールリスト1201~1204は、同一脅威毎に集約した攻撃検出ルールである。ルールリスト1201は脅威1の脅威ID401、ルールリスト1202は脅威2の脅威ID401、ルールリスト1203は脅威3の脅威ID401、ルール
リスト1204は脅威4の脅威ID401を有する。
図12では、ルールリスト1201~1204の順にリスク値402が大きいものとする。
【0062】
ステップS1101により、ルールリスト1201~1204は、リスク値402が大きい順に並び替えられる。ステップS1102により、ルールリスト1201~1204はそれぞれ、重要度406が高い順に並び替えられる。ステップS1103により、ルールリスト1201~1204の各々において、重要度406が同一のエントリについては、検出コスト407が低い方が上位となるように並び替えられる。たとえば、ルールリスト1201のルールID403が1B、1Cの両エントリでは、重要度406はともに「中」であるため、検出コスト407が低い1Bが1Cよりも上位に並び替えられる。
【0063】
ルールリスト1201~1204において、リスク値402が最大の脅威であり、かつ、振分優先度が最高のエントリは、ルールID403が1Aの攻撃検出ルールである。一方、振分優先度が最低のエントリは、ルールID403が4Dの攻撃検出ルールである。振分優先度とは重要度406であり、重要度406が同じであれば検出コスト407の低さにより決まる。
【0064】
<ログ収集方式決定処理(ステップS1005)>
図13は、ログ収集方式決定処理(ステップS1005)の詳細な処理手順例を示すフローチャートである。
図14は、ログ収集方式決定処理(ステップS1005)による処理例を示す説明図である。
図14は、
図12による並び替え後のルールリスト1201~1204を例に挙げて説明する。
【0065】
図13において、監視装置201は、検出コスト407が所定値以下、たとえば、「0」の攻撃検出ルールの収集方式408を「受動」に設定する(ステップS1301)。具体的には、たとえば、
図14の(A)に示したように、各ルールリストにおいて検出コスト407が「0」の攻撃検出ルールの収集方式408に「受動」が設定される。
【0066】
図13において、監視装置201は、各脅威において、脅威内の最上位の重要度406に1つ以上の受動ルールが存在すれば、当該脅威をルール振り分け候補から削除する(ステップS1302)。具体的には、たとえば、
図14の(A)において、ルールリスト1202では、ルールID403が2Aのエントリが、ルールリスト1202内の重要度406が最上位の攻撃検出ルールである。攻撃検出ルール2Aの検出コスト407は「0」であるため、ステップS1301で収集方式408が「受動」に設定されている。
【0067】
同様に、ルールリスト1203では、ルールID403が3Aのエントリが、ルールリスト1202内の重要度406が最上位の攻撃検出ルールである。攻撃検出ルール3Aの検出コスト407は「0」であるため、ステップS1301で収集方式408が「受動」に設定されている。したがって、ルールリスト1202,1203である脅威2,3は、ルール振り分け候補から削除される(
図13中、×印で表記)。
【0068】
図13において、監視装置201は、すべての脅威がルール振り分け候補から削除されているか否かを判断する(ステップS1303)。すべての脅威がルール振り分け候補から削除されていれば(ステップS1303:Yes)、監視装置201は、すべての脅威をルール振り分け候補に戻して(ステップS1304)、ステップS1305に移行する。すべての脅威がルール振り分け候補から削除されてなければ(ステップS1303:No)、ステップS1305に移行する。
【0069】
具体的には、たとえば、
図14の(B)では、ステップS1302でルール振り分け候補から削除された脅威は、ルールリスト1202,1203の脅威2,3であり、脅威1,4は残存するため、ステップS1304を実行せずにステップS1305に移行する。
【0070】
図13において、監視装置201は、リスク値402が最大の脅威において振分優先度が最上位の攻撃検出ルールの収集方式408を「受動」に設定する(ステップS1305)。設定対象となる振分優先度が最上位の攻撃検出ルールは、収集方式408が未設定な攻撃検出ルールである。具体的には、たとえば、
図14の(B)において、リスク値402が最大の脅威はルールリスト1201である。ルールリスト1201において、振分優先度が最上位の攻撃検出ルールは、攻撃検出ルール1Aである。監視装置201は、攻撃検出ルール1Aの収集方式408を「受動」に設定する。
【0071】
図13において、監視装置201は、ルール振り分け候補の各々について、当該脅威内の最上位の重要度406に1つ以上の受動ルールが存在する脅威をルール振り分け候補から削除する(ステップS1306)。具体的には、たとえば、
図14の(B)において、ルールリスト1201内の最上位の重要度406は「高」であり、そのエントリは、攻撃検出ルール1Aのみである。攻撃検出ルール1Aの収集方式408は、ステップS1305で「受動」に設定されている。したがって、脅威1のルールリスト1201はルール振り分け候補から削除される(
図13中、×印で表記)。
【0072】
図13において、監視装置201は、現状の受動ルールでの総検出コストが、実際に使用可能な通信コストより小さいか否かを判断する(ステップS1307)。実際に使用可能な通信コストとは、あらかじめ設定された値である。現状の受動ルールでの総検出コストとは、これまでの処理において収集方式408が「受動」に設定された攻撃検出ルールにおける検出コスト407の総和である。
【0073】
総検出コストが、実際に使用可能な通信コストより小さければ(ステップS1307:Yes)、まだ実際に使用可能な通信コストに余裕があるため、ステップS1303に戻る。一方、総検出コストが、実際に使用可能な通信コストより小さくなければ(ステップS1307:No)、ステップS1308に移行する。
【0074】
具体的には、たとえば、
図14の(B)において、現状の受動ルールとは、収集方式408に「受動」が設定された攻撃検出ルール1A,1B,2A,3A,4Bである。総検出コストは、攻撃検出ルール1A,1B,2A,3A,4Bの検出コスト407の値「100」、「0」、「0」、「0」、「0」の総和「100」である。実際に使用可能な通信コストを、たとえば、Cth=200とする。総検出コスト「100」が通信コストCthよりも小さいため(ステップS1307:Yes)、ステップS1303に戻る。
【0075】
ステップS1303において、
図14(B)では、まだ、脅威4のルールリスト1204が残存しているため、ステップS1303:Noとなり、ステップS1305に移行する。ルール振り分け候補のうちリスク値402が最大の脅威は、脅威4である。脅威4のルールリスト1204において振分優先度が最上位でかつ収集方式408が未設定の攻撃検出ルールは、攻撃検出ルール4Aである。したがって、監視装置201は、攻撃検出ルール4Aの収集方式408を「受動」に設定する(ステップS1305)。
【0076】
ステップS1306において、監視装置201は、ルール振り分け候補である脅威4のルールリスト1204内の最上位の重要度406「高」である攻撃検出ルールは、攻撃検出ルール4Aである。したがって、脅威4は、ルールリスト1204内の最上位の重要度406「高」に1つ以上の受動ルールが存在する脅威には該当するため、脅威4は、ルール振り分け候補から削除される(ステップS1306)。
【0077】
ステップS1307において、現状の受動ルールは、収集方式408に「受動」が設定された攻撃検出ルール1A,1B,2A,3A,4A,4Bである。総検出コストは、攻撃検出ルール1A,1B,2A,3A,4A,4Bの検出コストの値「100」、「0」、「0」、「0」、「300」、「0」の総和「400」である。本例では、実際に使用可能な通信コストCth=200である。総検出コスト「400」が通信コストCthよりも小さくないため(ステップS1307:No)、ステップS1308に移行する。
【0078】
ステップS1308において、監視装置201は、直前に受動ルールにした攻撃検出ルールの収集方式408を「能動」に変更する(ステップS1308)。直前に受動ルールにした攻撃検出ルールとは、上記の例では、ステップS1305で設定された攻撃検出ルール4Aである。監視装置201は、攻撃検出ルール4Aの収集方式408を「受動」から「能動」に変更する。このような収集方式408の振り分けにより、攻撃の検出精度を下げずに、監視対象からのログを収集する際の通信コストを削減することができる。
【0079】
<脅威検出フェーズF2>
図15は、脅威検出フェーズF2の詳細な処理手順例を示すフローチャートである。受動ルールに対応するIoT機器110は、ログ生成モジュール811により、ログを生成する(ステップS1501)。受動ルールに対応するIoT機器110は、ログ送信モジュール812により、生成したログを監視装置201に送信する(ステップS1502)。
【0080】
監視装置201は、第1生成モジュール315により、受信したログを解析して攻撃検出ルールに適合すると、第1アラートを生成し(ステップS1503)、アラートDB103に格納する。監視装置201は、ログ収集先および収集範囲の特定処理を実行する(ステップS1504)。ログ収集先とは、能動的にログを収集する場合に監視装置201がログを収集し、かつ、能動ルールに対応するIoT機器110である。収集範囲とは、収集対象となるログのタイムスタンプ901の範囲である。ログ収集先および収集範囲の特定処理(ステップS1504)の詳細は、
図16で後述する。
【0081】
監視装置201は、ログ収集先にログ収集リクエストを送信する(ステップS1505)。能動ルールに対応するIoT機器110は、リクエスト処理モジュール813により送信対象のログをログDB820から決定する(ステップS1506)。そして、能動ルールに対応するIoT機器110は、送信対象のログを監視装置201に送信する(ステップS1507)。
【0082】
監視装置201は、第2生成モジュール317により、受信したログを解析して攻撃検出ルールに適合すると、第2アラートを生成し(ステップS1508)、アラートDB103に格納する。監視装置201は、検出モジュール318により、該当する脅威を検出する(ステップS1509)。具体的には、たとえば、監視装置201は、スコアDB105を参照して、第1アラートの生成元の受動ルールのスコア702と、第2アラートの生成元の能動ルールのスコア702との総和が、対応する脅威のしきい値701以上であるか否かを判定する。
【0083】
しきい値701以上であれば、監視装置201は脅威の予兆や発生済みの脅威を検出する。このように、攻撃検出ルールでのログの収集方式408を受動方式および能動方式に振り分けることで、受動方式により攻撃を漏れなく検出して検出精度の低下を抑制しつつ、能動方式により通信コストの低減化を図ることができる。なお、ステップS1509は、ステップS1503のあとに実行されてもよい。すなわち、監視装置201は、第1アラートの生成元の受動ルールのスコア702の総和で、対応する脅威のしきい値701以上であるか否かを判定してもよい。
【0084】
<ログ収集先および収集範囲の特定処理(ステップS1504)>
図16は、ログ収集先および収集範囲の特定処理(ステップS1504)の詳細な処理手順例を示すフローチャートである。監視装置201は、アラートを生成した受動ルール(以下、第1ルール)に関連のある第2ルールのルールID403を、ルールDB320から抽出する(ステップS1601)。具体的には、たとえば、第1ルールに関連のある第2ルールとは、第1ルールと同じ脅威に含まれる攻撃検出ルールである。
【0085】
監視装置201は、ルールDB320を参照して、第2ルールのルールID403に対応するログ収集機器ID404を特定する(ステップS1602)。特定されたログ収集機器ID404のIoT機器110がログ収集先となる。
【0086】
監視装置201は、シーケンスDB104を参照して、第2ルールのルールID403(アラートID501)が第1ルールのルールID403(アラートID501)よりも前か否かを判断する(ステップS1603)。第2ルールのルールID403が第1ルールのルールID403よりも前である場合(ステップS1603:Yes)、監視装置201は、現在から一定時間遡った一定期間を収集範囲に決定して(ステップS1604)、ログ収集先および収集範囲の特定処理(ステップS1504)を終了する。
【0087】
一方、第2ルールのルールID403が第1ルールのルールID403よりも前でない場合(ステップS1603:No)、監視装置201は、現在から一定時間先までの一定期間を収集範囲に決定して(ステップS1605)、ログ収集先および収集範囲の特定処理(ステップS1504)を終了する。
【0088】
これにより、監視装置201は、ステップS1602で特定されたログ収集機器に、ステップS1604またはS1605で決定された収集範囲のログを要求するログ収集リクエストを送信することになる(ステップS1505)。
【0089】
図17は、振り分け作業画面の一例を示す説明図である。振り分け作業画面1700は、監視装置201の出力デバイス305で表示される。振り分け作業画面1700は、全攻撃検出ルールを表示するエリア1701と、受動ルールを表示するエリア1702と、能動ルールを表示するエリア1703と、通信コストの入力欄1704と、実行ボタン1705とを有する。
【0090】
全攻撃検出ルールを表示するエリア1701は、ルールDB320のルールID403およびルール内容405が表示されるエリアである。受動ルールを表示するエリア1702は、ルールDB320の受動ルールのルールID403および、ルール内容405が表示されるエリアである。能動ルールを表示するエリア1703は、ルールDB320の能動ルールのルールID403および、ルール内容405が表示されるエリアである。
【0091】
通信コストの入力欄1704は、IoT機器110を監視する際の使用できる通信コスト(ステップS1307)を入力するための領域である。実行ボタン1705は、入力欄1704に数値が入力された状態で押されると、振り分け処理が実施され、受動ルールを表示するエリア1702と能動ルールを表示するエリア1703に振り分けられた攻撃検出ルールが新たに表示される。振り分け作業者は、入力欄1704の数値を変更しながら、攻撃検出ルールがどのように振り分けられるか確認することが可能となる。
【0092】
なお、上述した実施例では、
図13において、検出コスト407が所定値以下のルールを先に受動ルールに設定してから、総検出コストが通信コストの範囲内に収まるようにリスク値402および重要度406(振分優先度)が高い攻撃検出ルールを受動ルールとして追加し、通信コストオーバーとなった場合に、当該直前に追加された高振分優先度の攻撃検出ルールを能動ルールに振り分けた。
【0093】
しかし、検出コスト407は所定値以下に限らず、ステップS1301において、監視装置201は、脅威(ルールリスト)ごとに、ルールリスト内で相対的に低い検出コストの攻撃検出ルール(ルールリスト内で検出コスト407が少なくとも最大ではない攻撃検出ルール)を受動ルールに設定してもよい。
【0094】
また、
図13において、先にリスク値402および重要度406(振分優先度)が所定値以上の攻撃検出ルールを、総検出コストが通信コストを超えない程度に受動ルールに設定してから、総検出コストが通信コストの範囲内に収まるようにリスク値402および重要度406(振分優先度)が低い攻撃検出ルールを受動ルールとして追加し、通信コストオーバーとなった場合に、当該直前に追加された低振分優先度の攻撃検出ルールを能動ルールに振り分けてもよい。
【0095】
またこの場合、リスク値402は所定値以上に限らず、監視装置201は、攻撃検出ルール群101s内で相対的に高いリスク値402の攻撃検出ルール(攻撃検出ルール群101s内でリスク値402が少なくとも最小ではない攻撃検出ルール)を受動ルールに設定してもよい。同様に、重要度406(振分優先度)も所定値以上に限らず、監視装置201は、ルールリスト内で相対的に高いリスク値402の攻撃検出ルール(ルールリスト内で重要度406(振分優先度)が少なくとも最小ではない攻撃検出ルール)を受動ルールに設定してもよい。
【0096】
また、上述したすべての例においてリスク値402を用いたが、リスク値402は考慮しなくてもよい。たとえば、FT分析でリスク値402が得られなかった場合、または、分析者が不要と判断した場合には、監視装置201は、リスク値402を考慮せずにログ収集方式決定フェーズF1および脅威検出フェーズF2を実行してもよい。
【0097】
(1)このように、本実施例にかかる監視装置201は、取得モジュール311により、脅威の発生に必要な複数の事象の関連性を示す脅威情報100を取得する取得処理と、決定モジュール314により、取得処理によって取得された脅威情報100に基づいて、IoT機器110への攻撃を検出する攻撃検出ルールによるIoT機器110からのログの収集方式408を、IoT機器110からログが送信されてきた場合に収集する受動方式と、監視装置201からIoT機器110に要求した場合にログをIoT機器110から収集する能動方式と、のいずれかに決定する決定処理と、を実行する。
【0098】
これにより、攻撃の検出精度を下げずに、監視対象からのログを収集する際の通信コストを削減することができる。
【0099】
(2)また、上記(1)において、監視装置201は、算出モジュール312により、複数の事象の各々について、他の事象との関連性に基づいて、攻撃検出ルールの重要度406を算出する算出処理を実行し、決定処理では、監視装置201は、算出処理によって算出された攻撃検出ルールの重要度406に基づいて、ログの収集方式408を、受動方式と能動方式とのいずれかに決定してもよい。
【0100】
これにより、ログを監視する攻撃検出ルールの重要度406を用いることで重要度406を重視して収集方式408を決定することができる。したがって、IoT機器110から収集するログを、重要度406を考慮して、従来通り常時収集するログと有事の際に能動的に収集するログに振り分けることで、ログ収集量を減らし、通信コストを削減することが可能になる。
【0101】
(3)また、上記(2)において、算出処理では、監視装置201は、複数の事象の各々について、事象が複数の原因の中から選ばれた原因であるか否かに基づいて、攻撃検出ルールの重要度406を算出してもよい。
【0102】
これにより、たとえば、脅威情報100において、トップ事象(たとえば、脅威X)から攻撃検出ルールに対応した事象までの和の論理記号100Bの数が少ないほど、重要度406は高くなる。したがって、重要度406の算出の容易化を図ることができる。
【0103】
(4)また、上記(2)において、決定処理では、監視装置201は、攻撃検出ルールの重要度406が所定のまたは最大ではない第1重要度よりも高い第2重要度である場合、ルールによるログの収集方式408を、能動方式に決定してもよい(ステップS1305、S1308)。
【0104】
これにより、監視装置201は、絶対的または相対的な評価により重要度406が高い攻撃検出ルールほど、収集方式408を能動方式に決定することができる。
【0105】
(5)また、上記(4)において、攻撃検出ルールは、脅威による危険性を示すリスク値402を有し、決定処理では、監視装置201は、リスク値402が所定のまたは最大ではない第1リスク値402よりも高い第2リスク値である場合、攻撃検出ルールによるログの収集方式408を、能動方式に決定してもよい(ステップS1101、S1305、S1308)。
【0106】
これにより、絶対的または相対的な評価によりリスク値402が高く、かつ、絶対的または相対的な評価により重要度406が高い攻撃検出ルールほど、収集方式408を能動方式に決定することができる。
【0107】
(6)また、上記(1)において、監視装置201は、算出モジュール312により、複数の事象の各々について、攻撃検出ルールが適用されるIoT機器110からログを収集するために必要な通信コストと、IoT機器110の数と、に基づいて、IoT機器110への攻撃を検出するための検出コスト407を算出する算出処理を実行し、決定処理では、監視装置201は、算出処理によって算出された検出コスト407に基づいて、攻撃検出ルールによるログの収集方式408を、受動方式と能動方式とのいずれかに決定してもよい。
【0108】
これにより、攻撃の検出コスト407を用いることで、検出コスト407を重視して収集方式408を決定することができる。したがって、IoT機器110から収集するログを、検出コスト407を考慮して、従来通り常時収集するログと有事の際に能動的に収集するログに振り分けることで、ログ収集量を減らし、通信コストを削減することが可能になる。
【0109】
(7)また、上記(6)において、決定処理では、監視装置201は、検出コスト407が所定のまたは最小ではない第1検出コストよりも小さい第2検出コストである場合、攻撃検出ルールによるログの収集方式408を、受動方式に決定してもよい(ステップS1301)。
【0110】
これにより、監視装置201は、絶対的または相対的な評価により検出コスト407が低い攻撃検出ルールほど、収集方式408を受動方式に決定することができる。
【0111】
(8)また、上記(6)において、決定処理では、監視装置201は、攻撃検出ルールの検出コスト407と、攻撃検出ルールよりも先に受動方式に決定された他のルールの検出コスト407と、の総和(総検出コスト)に基づいて、攻撃検出ルールによるログの収集方式408を、受動方式と能動方式とのいずれかに決定してもよい(ステップS1307)。
【0112】
これにより、検出コスト407が低い攻撃検出ルールほど、収集方式408が受動方式に決定されやすくなる。
【0113】
(9)また、上記(8)において、決定処理では、監視装置201は、総和(総検出コスト)が実際に使える通信コスト以上でない場合、攻撃検出ルールによるログの収集方式408を、受動方式に決定し、実際に使える通信コスト以上である場合、攻撃検出ルールによるログの収集方式408を、能動方式に決定してもよい。
【0114】
これにより、実際に使える通信コストを超えない範囲で、検出コスト407が低い攻撃検出ルールほど、収集方式408が受動方式に決定されやすくなる。
【0115】
(10)また、上記(1)において、監視装置201は、脅威を時系列なルールで規定した時系列情報であるシーケンスDB104にアクセス可能であり、監視装置201は、第1生成モジュール315により、IoT機器110からのログに基づいて、受動方式に決定された第1ルールに該当する特定の脅威に関する第1アラートを生成する第1生成処理と、特定モジュール316により、第1生成処理によって第1アラートが生成された場合、シーケンスDB104を参照して、第1ルールに該当する特定の脅威を規定した特定の時系列な攻撃検出ルールのうち、第1ルール以外の第2ルールの検出元となる他のIoT機器110を特定する特定処理と、第2生成モジュール317により、特定処理によって特定された他のIoT機器110に他のIoT機器110からのログの収集要求を送信した結果、他のIoT機器110からのログが収集された場合、他のIoT機器110からのログに基づいて、第2ルールに該当する特定の脅威に関する第2アラートを生成する第2生成処理と、検出モジュール318により、第2生成処理によって第2アラートが生成された場合、特定の時系列な攻撃検出ルールのうち第1アラートおよび第2アラートの生成元となる攻撃検出ルールの数に基づいて、特定の時系列な攻撃検出ルールで規定される特定の脅威を検出する検出処理と、を実行してもよい。
【0116】
これにより、どのIoT機器110にどのような脅威が発生または発生の予兆があるかを高精度に検出することができる。
【0117】
(11)また、上記(10)において、特定処理では、監視装置201は、特定の時系列なルールにおける第1ルールおよび第2ルールの前後関係に基づいて、収集要求の対象ログを特定し、第2生成処理では、監視装置201は、他のIoT機器110に他のIoT機器110からの対象ログの収集要求を送信した結果、他のIoT機器110からの対象ログが収集された場合、他のIoT機器110からの対象ログに基づいて、第2アラートを生成してもよい。
【0118】
攻撃対象であるIoT機器110からのログの時期的な収集範囲を特定して、攻撃の検出に有用なログを収集することができる。
【0119】
(12)また、上記(11)において、特定処理では、監視装置201は、特定の時系列な攻撃検出ルールにおいて第2ルールが第1ルールよりも前に規定されている場合、現在から一定期間過去のログを対象ログに決定し、特定の時系列な攻撃検出ルールにおいて第2ルールが第1ルールよりも後に規定されている場合、現在から一定期間先までのログを対象ログに決定してもよい。
【0120】
これにより、第1ルールと第2ルールの前後関係から容易にログの収集範囲を特定することができる。
【0121】
(13)また、上記(10)において、監視装置201は、脅威ID401と、時系列な攻撃検出ルールを構成する各攻撃検出ルールの重みであるスコア702と、脅威の発生を判定する判定しきい値701と、を関連付けた重み情報であるスコアDB105にアクセス可能であり、検出処理では、監視装置201は、スコアDB105を参照して、第1アラートおよび第2アラートの生成元となるルールの重みの総和が、判定しきい値701以上である場合、特定の脅威を検出してもよい。
【0122】
スコアDB105を用いることで客観的な評価指標で脅威をIoT機器110への攻撃として検出することができ、脅威の検出精度の向上を図ることができる。
【0123】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0124】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0125】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0126】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0127】
100 脅威情報
103 アラートDB
104 シーケンスDB
105 スコアDB
110 IoT機器
200 監視システム
201 監視装置
202 IoTシステム
203 ネットワーク
301 プロセッサ
302 メモリ
303 記憶装置
310 監視プログラム
311 取得モジュール
312 算出モジュール
313 並び替えモジュール
314 決定モジュール
315 第1生成モジュール
316 特定モジュール
317 第2生成モジュール
318 検出モジュール
320 ルールDB
820 ログDB
F1 ログ収集方式決定フェーズ
F2 脅威検出フェーズ