(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-01
(45)【発行日】2022-12-09
(54)【発明の名称】検知ルール群調整装置および検知ルール群調整プログラム
(51)【国際特許分類】
H04L 43/00 20220101AFI20221202BHJP
G06F 21/55 20130101ALI20221202BHJP
【FI】
H04L43/00
G06F21/55 320
(21)【出願番号】P 2019029248
(22)【出願日】2019-02-21
【審査請求日】2021-12-03
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(73)【特許権者】
【識別番号】501158538
【氏名又は名称】三菱電機インフォメーションネットワーク株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】岩崎 亜衣子
(72)【発明者】
【氏名】河内 清人
(72)【発明者】
【氏名】大野 一広
(72)【発明者】
【氏名】庄谷 卓也
(72)【発明者】
【氏名】白井 洋光
(72)【発明者】
【氏名】居城 秀明
【審査官】阿部 弘
(56)【参考文献】
【文献】国際公開第2015/141630(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
一連の攻撃活動を構成する全体フェーズ群に対応する全体検知ルール群を用いて攻撃検知が行われた場合の各フェーズの誤検知量を取得する誤検知量取得部と、
前記全体フェーズ群のうちの終盤フェーズ群の各フェーズの誤検知量に基づいて、前記終盤フェーズ群の誤検知量が終盤制約を満たすか判定する終盤判定部と、
前記全体フェーズ群の各フェーズの誤検知量に基づいて、前記全体フェーズ群の誤検知量が全体制約を満たすか判定する全体判定部と、
前記終盤フェーズ群の誤検知量が前記終盤制約を満たさない場合、前記全体検知ルール群のうちの終盤検知ルール群の各検知ルールのパラメータ値を調整する終盤調整部と、
前記終盤フェーズ群の誤検知量が前記終盤制約を満たし、且つ、前記全体フェーズ群の誤検知量が前記全体制約を満たさない場合、前記全体検知ルール群のうちの前記終盤検知ルール群以外の各検知ルールのパラメータ値を調整する全体調整部と、
を備える検知ルール群調整装置。
【請求項2】
前記全体検知ルール群の各検知ルールのパラメータ値が調整された場合に各検知ルールの調整後のパラメータ値を提示する調整案提示部を備える
請求項1に記載の検知ルール群調整装置。
【請求項3】
前記検知ルール群調整装置は、検知ルール群選択部を備え、
前記全体調整部は、前記終盤検知ルール群以外の各検知ルールのパラメータ値を複数のパターンで調整することにより、複数の全体検知ルール群を生成し、
前記誤検知量取得部は、全体検知ルール群毎に、全体検知ルール群を用いて攻撃検知が行われた場合の誤検知量を取得し、
前記検知ルール群選択部は、各全体検知ルール群の誤検知量に基づいて、前記複数の全体検知ルール群から全体検知ルール群を選択する
請求項1に記載の検知ルール群調整装置。
【請求項4】
前記検知ルール群選択部は、前記全体制約を満たす全体検知ルール群の中で誤検知量が最も多い全体検知ルール群を選択する
請求項3に記載の検知ルール群調整装置。
【請求項5】
選択された全体検知ルール群の各検知ルールのパラメータ値を提示する調整案提示部を備える
請求項3または請求項4に記載の検知ルール群調整装置。
【請求項6】
前記誤検知量取得部は、対象システムが攻撃を受けていないときに発生した複数のログデータを用いて、検知ルールに合致するログデータの数を、検知ルールに対応するフェーズの誤検知量として算出する
請求項1から請求項5のいずれか1項に記載の検知ルール群調整装置。
【請求項7】
前記誤検知量取得部は、各フェーズの誤検知量をログ分析装置から取得し、
前記ログ分析装置は、対象システムが攻撃を受けていないときに発生した複数のログデータを用いて、検知ルールに合致するログデータの数を、検知ルールに対応するフェーズの誤検知量として算出する
請求項1から請求項5のいずれか1項に記載の検知ルール群調整装置。
【請求項8】
一連の攻撃活動を構成する全体フェーズ群に対応する全体検知ルール群を用いて攻撃検知が行われた場合の各フェーズの誤検知量を取得する誤検知量取得処理と、
前記全体フェーズ群のうちの終盤フェーズ群の各フェーズの誤検知量に基づいて、前記終盤フェーズ群の誤検知量が終盤制約を満たすか判定する終盤判定処理と、
前記全体フェーズ群の各フェーズの誤検知量に基づいて、前記全体フェーズ群の誤検知量が全体制約を満たすか判定する全体判定処理と、
前記終盤フェーズ群の誤検知量が前記終盤制約を満たさない場合、前記全体検知ルール群のうちの終盤検知ルール群の各検知ルールのパラメータ値を調整する終盤調整処理と、
前記終盤フェーズ群の誤検知量が前記終盤制約を満たし、且つ、前記全体フェーズ群の誤検知量が前記全体制約を満たさない場合、前記全体検知ルール群のうちの前記終盤検知ルール群以外の各検知ルールのパラメータ値を調整する全体調整処理と、
をコンピュータに実行させるための検知ルール群調整プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サイバー攻撃を検知するための検知ルールの調整に関するものである。
【背景技術】
【0002】
従来、サイバー攻撃を検知するために、通信ログおよび端末ログなどを基に検知ルールが作成されていた。攻撃の検知結果は、検知ルールに適用するパラメータまたは閾値によって左右される。検知漏れを防ぎつつ誤検知を抑制するには、適正なパラメータおよび適正な閾値を設定する必要がある。
【0003】
特許文献1には、検知ルールの閾値を決定する技術が開示されている。
この技術では、監視対象ネットワークの通信ログとマルウェア発生時の通信ログが分析ルールとチューニング条件とに基づいて分析される。そして、誤検知率および攻撃検知率の制約に従って、検知ルールの閾値が決定される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
マルウェアなどによる攻撃のログは、監視対象のシステムが実際に攻撃を受ける、または、攻撃が模擬環境などを用いて再現されることで入手できる。しかし、監視対象のシステムで実際に収集されるログのほとんどは正常なログである。また、網羅的に既存の攻撃を再現することは難しい。また、未知の攻撃に関しては攻撃のログが存在しない。
攻撃のログが用意できない場合であっても、セキュリティ・オペレーション・センター(SOC)などで監視を行う監視員が1日で許容可能な誤検知数を基準に、閾値を設定することはできる。しかし、複数の検知ルールを併用して監視が行われる場合、誤検知数を許容可能な範囲に収めるために、どの検知ルールをどのように修正すればよいのかを決める際の基準を決めることができない。
【0006】
SOCなどで監視を行う監視員には、オペレータと呼ばれる人とアナリストと呼ばれる人がいる。オペレータとアナリストでは、検知されたアラートに対して対応できる能力および範囲が異なる。
攻撃者による一連の攻撃活動の中で、最初のフェーズはよく知られた攻撃手口である。そして、最初のフェーズの多くは対応が手順化されている。そのため、オペレータでも、最初のフェーズに対応することが可能である。一方、攻撃が進行した終盤のフェーズは、判断および対応が難しい。そのため、アナリストが終盤のフェーズに対応する。つまり、攻撃の進行度に合わせて、対応する人員が変わる。そのため、オペレータが対応可能な誤検知数とアナリストが対応可能な誤検知数を分けて考える必要がある。特に、終盤のフェーズでアナリストが対応可能な誤検知数、を考慮する必要がある。
【0007】
本発明は、攻撃の進行度に応じて誤検知数を調整できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の検知ルール群調整装置は、
一連の攻撃活動を構成する全体フェーズ群に対応する全体検知ルール群を用いて攻撃検知が行われた場合の各フェーズの誤検知量を取得する誤検知量取得部と、
前記全体フェーズ群のうちの終盤フェーズ群の各フェーズの誤検知量に基づいて、前記終盤フェーズ群の誤検知量が終盤制約を満たすか判定する終盤判定部と、
前記全体フェーズ群の各フェーズの誤検知量に基づいて、前記全体フェーズ群の誤検知量が全体制約を満たすか判定する全体判定部と、
前記終盤フェーズ群の誤検知量が前記終盤制約を満たさない場合、前記全体検知ルール群のうちの終盤検知ルール群の各検知ルールのパラメータ値を調整する終盤調整部と、
前記終盤フェーズ群の誤検知量が前記終盤制約を満たし、且つ、前記全体フェーズ群の誤検知量が前記全体制約を満たさない場合、前記全体検知ルール群のうちの前記終盤検知ルール群以外の各検知ルールのパラメータ値を調整する全体調整部と、を備える。
【発明の効果】
【0009】
本発明によれば、攻撃の進行度に応じて各フェーズの検知ルールを調整することができる。したがって、攻撃の進行度に応じて誤検知量を調整することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1における検知ルール群調整システム200の構成図。
【
図2】実施の形態1における検知ルール群調整装置100の構成図。
【
図3】実施の形態1における検知ルール群調整方法のフローチャート。
【
図4】実施の形態1における誤検知量取得処理(S110)のフローチャート。
【
図5】実施の形態1における全体検知ルール群データ191を示す図。
【
図6】実施の形態1における終盤判定処理(S120)のフローチャート。
【
図7】実施の形態1における制約データ192を示す図。
【
図8】実施の形態1における終盤調整処理(S130)のフローチャート。
【
図9】実施の形態1における調整ルールデータ193を示す図。
【
図10】実施の形態1における調整データ194を示す図。
【
図11】実施の形態1における全体判定処理(S140)のフローチャート。
【
図12】実施の形態1における全体調整処理(S150)のフローチャート。
【
図13】実施の形態1における調整データ194を示す図。
【
図14】実施の形態1における検知ルール群調整システム200の構成例を示す図。
【
図15】実施の形態2における検知ルール群調整装置100の構成図。
【
図16】実施の形態2における検知ルール群調整方法のフローチャート。
【
図17】実施の形態2における終盤調整処理(S230)のフローチャート。
【
図18】実施の形態2における全体検知ルール群データ191を示す図。
【
図19】実施の形態2における調整パターンデータ195を示す図。
【
図20】実施の形態2における制約データ192を示す図。
【
図21】実施の形態2における調整データ194を示す図。
【
図22】実施の形態2における全体調整処理(S250)のフローチャート。
【
図23】実施の形態2における調整データ194を示す図。
【
図24】実施の形態における検知ルール群調整装置100のハードウェア構成図。
【発明を実施するための形態】
【0011】
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【0012】
実施の形態1.
検知ルール群調整システム200について、
図1から
図14に基づいて説明する。
【0013】
***構成の説明***
図1に基づいて、検知ルール群調整システム200の構成を説明する。
検知ルール群調整システム200は、対象システム210と検知ルール群調整装置100とを備える。
対象システム210と検知ルール群調整装置100は、ネットワークを介して互いに通信を行う。
【0014】
対象システム210は、攻撃監視の対象となるコンピュータシステムである。
対象システム210は、ログ採取装置211を備える。
ログ採取装置211は、対象システム210のシステムログを採取する。つまり、ログ採取装置211は、対象システム210のシステムログを記録する。
システムログは、対象システム210で発生したイベントの情報を示す。システムログの一例は、通信ログおよび端末ログである。通信ログは、対象システム210で行われた通信の情報を示す。端末ログは、対象システム210に含まれる端末の動作を示す。
【0015】
検知ルール群調整装置100は、対象システム210の正常時のシステムログを用いて、攻撃検知に用いられる検知ルール群を調整する。
【0016】
図2に基づいて、検知ルール群調整装置100の構成を説明する。
検知ルール群調整装置100は、プロセッサ101とメモリ102と補助記憶装置103と通信装置104と入出力インタフェース105といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【0017】
プロセッサ101は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ101は、CPU、DSPまたはGPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
DSPは、Digital Signal Processorの略称である。
GPUは、Graphics Processing Unitの略称である。
【0018】
メモリ102は揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAMである。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
RAMは、Random Access Memoryの略称である。
【0019】
補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM、HDDまたはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
【0020】
通信装置104はレシーバ及びトランスミッタである。例えば、通信装置104は通信チップまたはNICである。
NICは、Network Interface Cardの略称である。
【0021】
入出力インタフェース105は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース105はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
USBは、Universal Serial Busの略称である。
【0022】
検知ルール群調整装置100は、誤検知量取得部110と誤検知数最適化部120と調整案提示部130といった要素を備える。これらの要素はソフトウェアで実現される。
誤検知数最適化部120は、終盤判定部121と終盤調整部122と全体判定部123と全体調整部124とを備える。
【0023】
補助記憶装置103には、誤検知量取得部110と誤検知数最適化部120と調整案提示部130としてコンピュータを機能させるための検知ルール群調整プログラムが記憶されている。検知ルール群調整プログラムは、メモリ102にロードされて、プロセッサ101によって実行される。
補助記憶装置103には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
プロセッサ101は、OSを実行しながら、検知ルール群調整プログラムを実行する。
OSは、Operating Systemの略称である。
【0024】
検知ルール群調整プログラムの入出力データは記憶部190に記憶される。
メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
【0025】
検知ルール群調整装置100は、プロセッサ101を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ101の役割を分担する。
【0026】
検知ルール群調整プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
【0027】
***動作の説明***
検知ルール群調整システム200(特に、検知ルール群調整装置100)の動作は検知ルール群調整方法に相当する。また、検知ルール群調整方法の手順は検知ルール群調整プログラムの手順に相当する。
【0028】
図3に基づいて、検知ルール群調整方法を説明する。
一連の攻撃活動を構成する複数の攻撃フェーズを「全体フェーズ群」と称する。
全体フェーズ群に対応する検知ルール群を「全体検知ルール群」と称する。全体検知ルール群は、複数の攻撃フェーズに対応する複数の検知ルールである。
【0029】
ステップS110において、誤検知量取得部110は、全体検知ルール群を用いて攻撃検知が行われた場合の各フェーズの誤検知量を取得する。
【0030】
図4に基づいて、誤検知量取得処理(S110)の手順を説明する。
ステップS111において、ログ採取装置211が対象システム210の正常なシステムログを採取する。
そして、誤検知量取得部110は、対象システム210と通信することによって、正常なシステムログを取得する。
正常なシステムログは、対象システム210が攻撃を受けていないときに発生した複数のログデータである。
【0031】
ステップS112において、誤検知量取得部110は、正常なシステムログを用いて、全体検知ルール群の検知ルール毎に、検知ルールの誤検知数を算出する。検知ルールの誤検知数が、検知ルールに対応するフェーズの誤検知量として扱われる。
検知ルールの誤検知数は、検知ルールに合致するログデータの数であり、従来の攻撃検知ツールによって算出することができる。
【0032】
図5に、全体検知ルール群データ191の具体例を示す。
全体検知ルール群データ191は、全体検知ルール群を示すデータであり、記憶部190に予め記憶される。
例えば、全体フェーズ群は、第1フェーズと第2フェーズである。そして、全体検知ルール群は、第1フェーズに対応する検知ルールAと第2フェーズに対応する検知ルールBである。
各検知ルールは、パラメータ値を有する。パラメータ値は閾値として用いられる。例えば、検知ルールAはイベント数というパラメータを有し、検知ルールAにおけるイベント数の閾値は「X回」である。また、検知ルールBは時間というパラメータを有し、検知ルールBにおける時間の閾値は「V分」である。閾値「X回」および閾値「V分」は初期値である。
【0033】
図3に戻り、ステップS120から説明を続ける。
ステップS120において、終盤判定部121は、全体フェーズ群のうちの終盤フェーズ群の各フェーズの誤検知量に基づいて、終盤フェーズ群の誤検知量が終盤制約を満たすか判定する。
終盤フェーズ群は、最終フェーズを含む終盤の1つ以上のフェーズである。終盤フェーズ群は予め決められているものとする。
終盤制約は、終盤フェーズ群における誤検知量の制約である。
【0034】
図6に基づいて、終盤判定処理(S120)の手順を説明する。
ステップS121において、終盤判定部121は、全体フェーズ群の各フェーズの誤検知量から、終盤フェーズ群の各フェーズの誤検知量を抽出する。
そして、終盤判定部121は、終盤フェーズ群の各フェーズの誤検知量を合計する。算出される合計が、終盤フェーズ群の誤検知量である。
例えば、
図5において、第2フェーズが終盤フェーズ群である。この場合、第2フェーズの誤検知量が終盤フェーズ群の誤検知量となる。
【0035】
ステップS122において、終盤調整部122は、制約データ192から、終盤制約を取得する。
【0036】
図7に、制約データ192の具体例を示す。
制約データ192は、全体制約と終盤制約とを示すデータであり、記憶部190に予め記憶されている。
全体制約は全体フェーズ群における誤検知量の制約であり、終盤制約は終盤フェーズ群における誤検知量の制約である。
許容数「100件」が全体制約である。許容数「100件」は、全体フェーズ群において許容される誤検知量の上限が「100件」であることを意味する。
分析可能数「20件」が終盤制約である。分析可能数「20件」は、終盤フェーズ群について分析可能な誤検知量の上限が「20件」であることを意味する。
【0037】
図6に戻り、ステップS123を説明する。
ステップS123において、終盤判定部121は、終盤フェーズ群の誤検知量が終盤制約を満たすか判定する。
例えば、第2フェーズが終盤フェーズ群であり、終盤制約が分析可能数「20件」であると仮定する(
図5および
図7を参照)。この場合、終盤判定部121は、第2フェーズの誤検知量を分析可能数「20件」と比較する。第2フェーズの誤検知量が分析可能数「20件」以下である場合、終盤判定部121は、終盤フェーズ群の誤検知量が終盤制約を満たすと判定する。
【0038】
図3に戻り、ステップS120の説明を続ける。
終盤フェーズ群の誤検知量が終盤制約を満たす場合、処理はステップS140に進む。
終盤フェーズ群の誤検知量が終盤制約を満たさない場合、処理はステップS130に進む。
【0039】
ステップS130において、終盤調整部122は、全体検知ルール群のうちの終盤検知ルール群の各検知ルールのパラメータ値を調整する。
終盤検知ルール群は、終盤フェーズ群に対応する1つ以上の検知ルールである。
【0040】
図8に基づいて、終盤調整処理(S130)の手順を説明する。
ステップS131において、終盤調整部122は、終盤検知ルール群の各検知ルールのパラメータ値を変更する。
具体的には、終盤調整部122は、調整ルールに従って、各検知ルールのパラメータ値を変更する。
終盤調整部122は、一部の検知ルールのそれぞれのパラメータ値を変更してもよいし、全ての検知ルールのそれぞれのパラメータ値を変更してもよい。
【0041】
図9に、調整ルールデータ193の具体例を示す。
調整ルールデータ193は、パラメータ値の調整ルールを示すデータであり、記憶部190に予め記憶されている。
具体的には、調整ルールデータ193は、パラメータの種類毎に、パラメータ値の変更量を示す。例えば、「時間」パラメータの変更量は「10%」であり、「イベント数」パラメータの変更量は「20%」である。「%」はパーセントを意味する。
【0042】
例えば、終盤調整部122は、終盤検知ルール群の各検知ルールを以下のように変更する。
終盤フェーズ群は第2フェーズであり、終盤検知ルール群は検知ルールBである(
図5参照)。検知ルールBにおいて、「時間」パラメータの値は「V分」である。「時間」パラメータの変更量は「10%」である(
図9参照)。
この場合、終盤調整部122は、検知ルールBのパラメータ値「V分」を「(0.9×V)分」に変更する。「(0.9×V)分」は「V分」を10パーセント減少させた時間である。
【0043】
図8に戻り、ステップS131の説明を続ける。
終盤調整部122は、各検知ルールの変更後のパラメータ値を記録する。
【0044】
図10に、調整データ194の具体例を示す。
調整データ194は、各検知ルールの変更後のパラメータ値を示すデータであり、記憶部190に予め記憶される。
調整データ194は、「フェーズ」欄と「検知ルール」欄と「変更前」欄と「変更後」欄とを有する。これらの欄は互いに対応付けられている。
「フェーズ」欄は、フェーズを特定する。
「検知ルール」欄は、検知ルールを特定する。
「変更前」欄は、変更前のパラメータ値を示す。具体的には、「変更前」欄は、初期のパラメータ値または現在のパラメータ値を示す。
「変更後」欄は、変更後のパラメータ値を示す。
【0045】
検知ルールBのパラメータ値が「V分」から「(0.9×V)分」に変更される場合、終盤調整部122は、検知ルールBに対応付けられた「変更後」欄に「(0.9×V)分」を登録する。
【0046】
図8に戻り、ステップS132から説明を続ける。
ステップS132において、誤検知量取得部110は、正常なシステムログを用いて、終盤フェーズ群の各フェーズの誤検知量を算出する。算出方法はステップS112における方法と同じである(
図4参照)。
【0047】
ステップS133において、終盤判定部121は、終盤フェーズ群の誤検知量を算出する。算出方法はステップS121における方法と同じである(
図6参照)。
【0048】
ステップS134において、終盤判定部121は、終盤フェーズ群の誤検知量が終盤制約を満たすか判定する。判定方法はステップS123における方法と同じである(
図6参照)。
終盤フェーズ群の誤検知量が終盤制約を満たす場合、終盤調整処理(S130)は終了する。
終盤フェーズ群の誤検知量が終盤制約を満たさない場合、処理はステップS131に進む。
【0049】
図3に戻り、ステップS140から説明を続ける。
ステップS140において、全体判定部123は、全体フェーズ群の各フェーズの誤検知量に基づいて、全体フェーズ群の誤検知量が全体制約を満たすか判定する。
【0050】
図11に基づいて、全体判定処理(S140)の手順を説明する。
ステップS141において、全体判定部123は、全体フェーズ群の各フェーズの誤検知量を合計する。算出される合計が全体フェーズ群の誤検知量である。
終盤検知ルール群の各検知ルールのパラメータ値が調整された場合、終盤フェーズ群の各フェーズの誤検知量は、調整後の誤検知量である。
【0051】
ステップS142において、全体判定部123は、制約データ192から、全体制約を取得する。
【0052】
ステップS143において、全体判定部123は、全体フェーズ群の誤検知量が全体制約を満たすか判定する。
例えば、第1フェーズおよび第2フェーズが全体フェーズ群であり、全体制約が許容数「100件」であると仮定する(
図5および
図7を参照)。この場合、全体判定部123は、全体フェーズ群の誤検知量を許容数「100件」と比較する。全体フェーズ群の誤検知量が許容数「100件」以下である場合、全体判定部123は、全体フェーズ群の誤検知量が全体制約を満たすと判定する。
【0053】
図3に戻り、ステップS140の説明を続ける。
全体フェーズ群の誤検知量が全体制約を満たす場合、処理はステップS150に進む。
全体フェーズ群の誤検知量が全体制約を満たさない場合、処理はステップS160に進む。
【0054】
ステップS150において、全体調整部124は、全体検知ルール群のうちの終盤検知ルール群以外の各検知ルールのパラメータ値を調整する。
【0055】
図12に基づいて、全体調整処理(S150)の手順を説明する。
ステップS151において、全体調整部124は、終盤検知ルール群以外の各検知ルールのパラメータ値を変更する。変更方法はステップS131における方法と同じである(
図8参照)。
全体調整部124は、一部の検知ルールのそれぞれのパラメータ値を変更してもよいし、全ての検知ルールのそれぞれのパラメータ値を変更してもよい。
【0056】
例えば、全体調整部124は、終盤検知ルール群以外の各検知ルールを以下のように変更する。
終盤フェーズ群以外のフェーズは第2フェーズであり、終盤検知ルール群以外の検知ルールは検知ルールAである(
図5参照)。検知ルールAのパラメータは「イベント数」であり、検知ルールAのパラメータ値は「X回」である。「イベント数」パラメータの変更量は「20%」である(
図9参照)。
この場合、全体調整部124は、検知ルールAのパラメータ値「X回」を「(0.8×X)回」に変更する。「(0.8×X)回」は「X回」を20パーセント減少させた回数である。
【0057】
ステップS151の説明を続ける。
全体調整部124は、各検知ルールの変更後のパラメータ値を記録する。
【0058】
図13に、調整データ194の具体例を示す。
検知ルールAのパラメータ値が「X回」から「(0.8×X)回」に変更される場合、全体調整部124は、検知ルールAに対応付けられた「変更後」欄に「(0.8×X)回」を登録する。
【0059】
図12に戻り、ステップS152から説明を続ける。
ステップS152において、誤検知量取得部110は、正常なシステムログを用いて、全体フェーズ群の各フェーズの誤検知量を算出する。算出方法はステップS112における方法と同じである(
図4参照)。
【0060】
ステップS153において、全体判定部123は、全体フェーズ群の誤検知量を算出する。算出方法はステップS141における方法と同じである(
図11参照)。
【0061】
ステップS154において、全体判定部123は、全体フェーズ群の誤検知量が全体制約を満たすか判定する。判定方法はステップS143における方法と同じである(
図11参照)。
全体フェーズ群の誤検知量が全体制約を満たす場合、全体調整処理(S150)は終了する。
全体フェーズ群の誤検知量が全体制約を満たさない場合、処理はステップS151に進む。
【0062】
図3に戻り、ステップS160を説明する。
ステップS160において、調整案提示部130は、全体検知ルール群の各検知ルールのパラメータ値を提示する。
具体的には、調整案提示部130は、全体検知ルール群の各検知ルールのパラメータ値をディスプレイに表示する。但し、調整案提示部130は、表示以外の方法(記録媒体への保存、外部への送信またはプリンタによる印刷など)によって提示を行ってもよい。
例えば、調整案提示部130は、調整データ194(
図13参照)をディスプレイに表示する。
【0063】
***実施例の説明***
図14に、検知ルール群調整システム200の構成例を示す。
検知ルール群調整システム200は、対象システム210と検知ルール群調整装置100との他に、ログ分析装置220を備える。
ログ分析装置220は、システムログを分析するコンピュータである。
ログ分析装置220は、誤検知量取得部110の代わりに、各フェーズの誤検知量を算出する。
誤検知量取得部110は、ログ分析装置220と通信することにより、各フェーズの誤検知量を取得する。
【0064】
***実施の形態1の効果***
実施の形態1では、監視員全体での誤検知の許容数に加えて、終盤のフェーズでアナリストが対応可能な誤検知数を用いて、全体検知ルール群の調整箇所が特定される。
つまり、監視員全体での許容数とアナリストの分析可能数とを用いて、各検知ルールの閾値の調整が行われる。これにより、正常なシステムログのみを用いて、終盤検知ルール群と終盤検知ルール群以外の検知ルール群とを調整することができる。
【0065】
実施の形態2.
検知漏れを抑制する形態について、主に実施の形態1と異なる点を
図15から
図23に基づいて説明する。
【0066】
***構成の説明***
検知ルール群調整システム200の構成は、実施の形態1における構成と同じである(
図1および
図14を参照)。
【0067】
図15に基づいて、検知ルール群調整装置100の構成を説明する。
誤検知数最適化部120は、さらに、検知ルール群選択部125を備える。
他の構成は、実施の形態1における構成と同じである(
図2参照)。
【0068】
***動作の説明***
図16に基づいて、検知ルール群調整装置100を説明する。
ステップS210において、誤検知量取得部110は、全体検知ルール群を用いて攻撃が行われた場合の各フェーズの誤検知量を取得する。
ステップS210は、実施の形態1におけるステップS110と同じである(
図3参照)。
【0069】
ステップS220において、終盤判定部121は、全体フェーズ群のうちの終盤フェーズ群の各フェーズの誤検知量に基づいて、終盤フェーズ群の誤検知量が終盤制約を満たすか判定する。
ステップS220は、実施の形態1におけるステップS120と同じである(
図3参照)。
終盤フェーズ群の誤検知量が終盤制約を満たす場合、処理はステップS240に進む。
終盤フェーズ群の誤検知量が終盤制約を満たさない場合、処理はステップS230に進む。
【0070】
ステップS230において、終盤調整部122は、終盤検知ルール群の各検知ルールのパラメータ値を複数のパターンで調整する。これにより、複数の終盤検知ルール群が生成される。複数の終盤検知ルール群は、パラメータ値の組み合わせが互いに異なる。
誤検知量取得部110は、終盤検知ルール群毎に、終盤検知ルール群を用いて攻撃検知が行われた場合の誤検知量を取得する。
検知ルール群選択部125は、終盤制約を満たす終盤検知ルール群を選択する。
【0071】
図17に基づいて、終盤調整処理(S230)の手順を説明する。
ステップS231において、終盤調整部122は、終盤検知ルール群から、未選択の検知ルールを1つ選択する。
【0072】
図18に、全体検知ルール群データ191の具体例を示す。
全体検知ルール群データ191は、第1フェーズから第3フェーズまでの全体フェーズ群に対応する全体検知ルール群を示している。
第1フェーズに対応する検知ルールは検知ルールAである。検知ルールAは時間というパラメータを有し、検知ルールAにおける時間の閾値は「X秒」である。
第2フェーズに対応する検知ルールは検知ルールBである。検知ルールBは時間というパラメータを有し、検知ルールBにおける時間の閾値は「V分」である。
第3フェーズに対応する検知ルールは検知ルールCである。検知ルールCはイベント数というパラメータを有し、検知ルールCにおけるイベント数の閾値は「Y回」である。
【0073】
終盤フェーズ群は、第3フェーズである。
終盤調整部122は、第3フェーズに対応する検知ルールCを選択する。
【0074】
図17に戻り、ステップS232から説明を続ける。
ステップS232において、終盤調整部122は、複数の調整パターンから、未選択の調整パターンを1つ選択する。
【0075】
図19に、調整パターンデータ195の具体例を示す。
調整パターンデータ195は、複数の調整パターンを示すデータであり、記憶部190に予め記憶されている。
具体的には、調整パターンデータ195は、検知ルール毎に、パラメータ値の複数の変更量を示す。
【0076】
終盤調整部122は、第3フェーズ(終盤フェーズ群)に対応する検知ルールCの3つの変更量(10%、20%、30%)から、未選択の変更量を1つ選択する。
【0077】
図17に戻り、ステップS233から説明を続ける。
ステップS233において、終盤調整部122は、選択された調整パターンに従って、選択された検知ルールのパラメータ値を変更する。
例えば、検知ルールCのパラメータ値が「Y回」であり、検知ルールCの調整量が「10%」である。この場合、終盤調整部122は、検知ルールCのパラメータ値「Y回」を「(0.9×Y)回」に変更する。「(0.9×Y)回」は「Y回」を10パーセント減少させた回数である。
【0078】
ステップS234において、誤検知量取得部110は、正常なシステムログを用いて、選択された検知ルールの誤検知量を算出する。検知ルールの誤検知量が、検知ルールに対応するフェーズの誤検知量として扱われる。
検知ルールの誤検知量には、検知ルールの誤検知数と検知ルールの誤検知率とが含まれる。検知ルールの誤検知数は、検知ルールに合致するログデータの数である。検知ルールの誤検知率は、検知ルールに合致するログデータの割合である。検知ルールの誤検知量は、従来の攻撃検知ツールによって算出することができる。
【0079】
ステップS235において、終盤調整部122は、未選択の調整パターンがあるか判定する。
未選択の調整パターンがある場合、処理はステップS232に進む。
未選択の調整パターンがない場合、処理はステップS236に進む。
【0080】
ステップS236において、終盤調整部122は、未選択の検知ルールがあるか判定する。
未選択の検知ルールがある場合、処理はステップS231に進む。
未選択の検知ルールがない場合、処理はステップS237に進む。
【0081】
ステップS231からステップS236までの処理によって、パラメータ値の組み合わせが互いに異なる複数の終盤検知ルール群が得られる。
【0082】
ステップS237において、誤検知量取得部110は、終盤検知ルール群毎に、終盤フェーズ群の誤検知量を算出する。
終盤フェーズ群の誤検知量には、終盤フェーズ群の誤検知数と終盤フェーズ群の誤検知率とが含まれる。
終盤フェーズ群の誤検知数は、終盤フェーズ群の各フェーズの誤検知数を合計した値である。
終盤フェーズ群の誤検知率は、終盤フェーズ群における誤検知率の代表値である。代表値の具体例は、最小値、最大値、平均値または合計値である。
【0083】
終盤判定部121は、終盤検知ルール毎に、終盤フェーズ群の誤検知量が終盤制約を満たすか判定する。判定方法は実施の形態1におけるステップS123の方法と同じである(
図6参照)。
検知ルール群選択部125は、複数の終盤検知ルール群から、終盤制約を満たす終盤検知ルール群を選択する。
【0084】
図20に、制約データ192の具体例を示す。
許容数「100件」が全体制約である。つまり、第1フェーズから第3フェーズまでの全体フェーズ群において許容される誤検知量の上限は「100件」である。
分析可能数「20件」が終盤制約である。つまり、終盤フェーズ群である第3フェーズについて分析可能な誤検知量の上限は「20件」である。
【0085】
図17に戻り、ステップS238を説明する。
ステップS238において、検知ルール群選択部125は、ステップS237で選択された終盤検知ルール群から、誤検知量が最も多い終盤検知ルール群を選択する。
具体的には、検知ルール群選択部125は、誤検知率が最も高い終盤検知ルール群を選択する。
【0086】
そして、検知ルール群選択部125は、選択した終盤検知ルール群の各検知ルールのパラメータ値を記録する。
【0087】
図21に、調整データ194の具体例を示す。
パラメータ値が(0.9×Y)回に変更された検知ルールCが選択された場合、検知ルール群選択部125は、検知ルールCに対応付けられた「変更後」欄に「(0.9×Y)回」を登録する。
【0088】
図16に戻り、ステップS240から説明を続ける。
ステップS240において、全体判定部123は、全体フェーズ群の各フェーズの誤検知量に基づいて、全体フェーズ群の誤検知量が全体制約を満たすか判定する。判定方法は、実施の形態1におけるステップS140の方法と同じである(
図3参照)。
全体フェーズ群の誤検知量が全体制約を満たす場合、処理はステップS250に進む。
全体フェーズ群の誤検知量が全体制約を満たさない場合、処理はステップS260に進む。
【0089】
ステップS250において、全体調整部124は、全体検知ルール群のうちの終盤検知ルール群以外の各検知ルールのパラメータ値を複数のパターンで調整する。これにより、複数の全体検知ルール群が生成される。複数の全体検知ルール群は、パラメータ値の組み合わせが互いに異なる
【0090】
誤検知量取得部110は、全体検知ルール群毎に、全体検知ルール群を用いて攻撃検知が行われた場合の誤検知量を取得する。
検知ルール群選択部125は、各全体検知ルール群の誤検知量に基づいて、複数の全体検知ルール群から全体検知ルール群を選択する。
【0091】
図22に基づいて、全体調整処理(S250)の手順を説明する。
ステップS251において、全体調整部124は、終盤検知ルール群を除く全体検知ルール群から、未選択の検知ルールを1つ選択する。
例えば、検知ルールA、検知ルールBおよび検知ルールCが全体検知ルール群であり、検知ルールCが終盤検知ルール群である(
図18参照)。この場合、全体調整部124は、検知ルールAと検知ルールBとのうちの未選択の検知ルールを1つ選択する。
【0092】
ステップS252において、全体調整部124は、複数の調整パターンから、未選択の調整パターンを1つ選択する。
例えば、ステップS251で選択された検知ルールは検知ルールAである。この場合、全体調整部124は、検知ルールAの3つの変更量(10%、20%、30%)から、未選択の変更量を1つ選択する(
図19参照)。
【0093】
ステップS253において、全体調整部124は、選択された調整パターンに従って、選択された検知ルールのパラメータ値を変更する。
例えば、検知ルールAのパラメータ値が「X秒」であり、検知ルールAの調整量が「10%」である。この場合、全体調整部124は、検知ルールAのパラメータ値「X秒」を「(0.9×X)秒」に変更する。「(0.9×X)秒」は「X秒」を10パーセント減少させた秒数である。
【0094】
ステップS254において、誤検知量取得部110は、正常なシステムログを用いて、選択された検知ルールの誤検知量を算出する。検知ルールの誤検知量が、検知ルールに対応するフェーズの誤検知量として扱われる。
検知ルールの誤検知量には、検知ルールの誤検知数と検知ルールの誤検知率とが含まれる。検知ルールの誤検知数は、検知ルールに合致するログデータの数である。検知ルールの誤検知率は、検知ルールに合致するログデータの割合である。検知ルールの誤検知量は、従来の攻撃検知ツールによって算出することができる。
【0095】
ステップS255において、終盤調整部122は、未選択の調整パターンがあるか判定する。
未選択の調整パターンがある場合、処理はステップS252に進む。
未選択の調整パターンがない場合、処理はステップS256に進む。
【0096】
ステップS256において、終盤調整部122は、未選択の検知ルールがあるか判定する。
未選択の検知ルールがある場合、処理はステップS251に進む。
未選択の検知ルールがない場合、処理はステップS257に進む。
【0097】
ステップS251からステップS256までの処理によって、パラメータ値の組み合わせが互いに異なる複数の全体検知ルール群が得られる。
【0098】
ステップS257において、誤検知量取得部110は、全体検知ルール群毎に、全体フェーズ群の誤検知量を算出する。
全体フェーズ群の誤検知量には、全体フェーズ群の誤検知数と全体フェーズ群の誤検知率とが含まれる。
全体フェーズ群の誤検知数は、全体フェーズ群の各フェーズの誤検知数を合計した値である。
全体フェーズ群の誤検知率は、全体フェーズ群における誤検知率の代表値である。代表値の具体例は、最小値、最大値、平均値または合計値である。
【0099】
全体判定部123は、全体検知ルール毎に、全体フェーズ群の誤検知量が全体制約を満たすか判定する。判定方法は実施の形態1におけるステップS143の方法と同じである(
図11参照)。
検知ルール群選択部125は、複数の全体検知ルール群から、全体制約を満たす全体検知ルール群を選択する。
【0100】
ステップS258において、検知ルール群選択部125は、ステップS257で選択された全体検知ルール群から、誤検知量が最も多い全体検知ルール群を選択する。
具体的には、検知ルール群選択部125は、誤検知率が最も高い全体検知ルール群を選択する。
【0101】
そして、検知ルール群選択部125は、選択した全体検知ルール群の各検知ルールのパラメータ値を記録する。
【0102】
図23に、調整データ194の具体例を示す。
選択された全体検知ルール群において、検知ルールAのパラメータ値は(0.9×X)秒に変更され、検知ルールBのパラメータ値は(0.9×V)分に変更された。この場合、検知ルール群選択部125は、検知ルールAに対応付けられた「変更後」欄に「(0.9×X)秒」を登録する。また、検知ルール群選択部125は、検知ルールBに対応付けられた「変更後」欄に「(0.9×V)分」を登録する。
【0103】
図16に戻り、ステップS260を説明する。
ステップS260において、調整案提示部130は、ステップS250で選択された全体検知ルール群の各検知ルールのパラメータ値を提示する。提示方法は、実施の形態1のステップS160における方法と同じである(
図3参照)。
例えば、調整案提示部130は、調整データ194(
図23参照)をディスプレイに表示する。
【0104】
***実施の形態2の効果***
実施の形態2では、各検知ルールを調整するための基準として、誤検知率も用いられる。誤検知率が高い検知ルール群が用いられる場合、発生するイベントの多くが異常とみなされて検知される。そのため、攻撃によって発生したイベントが漏れなく検知される確率は高い。つまり、誤検知率が高い検知ルール群が用いられる場合、攻撃の検知率が高く、検知漏れが少ない。そこで、誤検知数が許容可能な範囲に収まるように閾値の調整を行う際に、一連の攻撃活動を検知するための検知ルール群のうち誤検知率が最も高い検知ルール群に適用する閾値の調整を行う。
つまり、監視員全体での許容数とアナリストの分析可能数とに加えて、誤検知率を用いて閾値の調整が行われる。これにより、正常なシステムログのみを用いて、オペレータが対応する検知ルールが複数ある場合でも複数の検知ルールの調整を行うことができる。
【0105】
***実施の形態の補足***
図24に基づいて、検知ルール群調整装置100のハードウェア構成を説明する。
検知ルール群調整装置100は処理回路109を備える。
処理回路109は、誤検知量取得部110と誤検知数最適化部120と調整案提示部130とを実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行する処理回路109であってもよい。
【0106】
処理回路109が専用のハードウェアである場合、処理回路109は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
【0107】
検知ルール群調整装置100は、処理回路109を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路109の役割を分担する。
【0108】
処理回路109において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、処理回路109はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
【0109】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【0110】
ログ採取装置211は「ログ採取部」と読み替えてもよい。ログ分析装置220は「ログ分析部」と読み替えてもよい。
検知ルール群調整装置100は、複数の装置で実現されてもよい。
検知ルール群調整システム200の要素である「部」は、「処理」または「工程」と読み替えてもよい。
【符号の説明】
【0111】
100 検知ルール群調整装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 通信装置、105 入出力インタフェース、109 処理回路、110 誤検知量取得部、120 誤検知数最適化部、121 終盤判定部、122 終盤調整部、123 全体判定部、124 全体調整部、125 検知ルール群選択部、130 調整案提示部、190 記憶部、191 全体検知ルール群データ、192 制約データ、193 調整ルールデータ、194 調整データ、195 調整パターンデータ、200 検知ルール群調整システム、210 対象システム、211 ログ採取装置、220 ログ分析装置。