(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034363
(43)【公開日】2024-03-13
(54)【発明の名称】不審検知装置、不審検知方法および不審検知プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20240306BHJP
H04L 41/16 20220101ALI20240306BHJP
H04L 43/02 20220101ALI20240306BHJP
H04L 67/2871 20220101ALI20240306BHJP
G06N 20/00 20190101ALI20240306BHJP
【FI】
G06F21/55
H04L41/16
H04L43/02
H04L67/2871
G06N20/00 130
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022138555
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100080816
【弁理士】
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【弁理士】
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】蛭田 将平
(57)【要約】
【課題】暗号通信を復号することなく不審であるかどうかを判定すること。
【解決手段】不審検知装置は、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、受信した通信が暗号通信か非暗号通信かを判定し、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行い、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録する登録部と、前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、暗号通信の特徴量を入力とし、当該暗号通信が不審であるか否かを判定する機械学習モデルを学習させる学習部と、受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する判定部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
受信した通信から抽出された情報を暗号通信と非暗号通信で区別して管理するデータベースと、
受信した通信が暗号通信か非暗号通信かを判定し、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行い、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録する登録部と、
前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、暗号通信の特徴量を入力とし、当該暗号通信が不審であるか否かを判定する機械学習モデルを学習させる学習部と、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する判定部と、
を備える不審検知装置。
【請求項2】
前記データベースは、前記非暗号通信に対する侵入検知システムが行った検査結果を記録しており、
前記学習部は、前記非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて前記機械学習モデルを学習させる請求項1に記載の不審検知装置。
【請求項3】
前記データベースは、組織外部から組織内部への通信と組織内部から組織外部への通信とを区別して管理しており、
不審であると判定された前記組織外部から組織内部への暗号通信の宛先アドレスと、不審であると判定された前記組織内部から組織外部への暗号通信の送信元アドレスを比較し、一致した場合に前記組織外部から組織内部への暗号通信を不審であると判定し、一致しない場合に前記組織外部から組織内部への暗号通信を不審でないと判定する再判定部をさらに備える、請求項1に記載の不審検知装置。
【請求項4】
前記データベースは、通信のセッション情報を管理する通信情報管理テーブルと、通信から生成された特徴量を管理する特徴量管理テーブルと、不審と判定された暗号通信のフラグを管理するフラグ管理テーブルとを有する、請求項1に記載の不審検知装置。
【請求項5】
前記特徴量管理テーブルが管理する特徴量は、送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせごとに送信サイズの値・受信サイズの値・送信パケット数・受信パケット数・通信時間からそれぞれ最大値・最小値・平均値・中央値・累計を求めたものである、請求項4に記載の不審検知装置。
【請求項6】
前記特徴量管理テーブルは、組織外部から組織内部への暗号通信と前記組織内部から組織外部への暗号通信とを区別して管理している、請求項4に記載の不審検知装置。
【請求項7】
受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が、
受信した通信が暗号通信か非暗号通信かを判定し、
前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行い、
前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録し、
前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させ、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する、不審検知方法。
【請求項8】
前記データベースは、前記非暗号通信に対する侵入検知システムが行った検査結果を記録しており、
前記情報処理装置は、前記非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて前記機械学習モデルを学習させる請求項7に記載の不審検知方法。
【請求項9】
受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が実行するプログラムであって、
受信した通信が暗号通信か非暗号通信かを判定するステップと、
前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行うステップと、
前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録するステップと、
前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させるステップと、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定するステップと、を有するプログラム。
【請求項10】
前記データベースは、前記非暗号通信に対する侵入検知システムが行った検査結果を記録しており、
前記機械学習モデルを学習させるステップは、前記非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて前記機械学習モデルを学習させる、請求項9に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不審検知装置、不審検知方法および不審検知プログラムに関するものである。
【背景技術】
【0002】
現在の通信において暗号通信が増加傾向にある。しかしながら、暗号通信では侵入検知システム(IDS)のシグネチャが反応できないため、警報を発することができない。そこで、暗号通信を利用した攻撃かどうかを判定する手法が求められている。
【0003】
既存の暗号通信解析手法は大きく分けて2種類の方法が知られている。一つ目の方法は、出口で復号し解析してから再度暗号化する方法である。ただし、復号してから解析する手法では暗号通信を復号している間の通信はセキュアではない。そのため攻撃者にとっての攻撃面が増加している。もう一つの方法は、暗号化されていない情報(e.g. ヘッダ、TLSハンドシェイク)を用いて解析する方法である。例えば、特許文献1には、暗号通信のヘッダから送信元IPアドレスを抽出し、送信元IPアドレスの信頼度を算出することで、上記暗号通信が攻撃であるか攻撃でないかを判定する手法が記載されている。ただし、暗号化されていない情報を用いて解析する手法は攻撃者が容易に回避可能であるという弱点もある。攻撃者は異なるIPアドレスを使用することが可能であり、また、正常なTLSハンドシェイクを模擬することも可能である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
なお、上記先行技術文献の各開示を、本書に引用をもって組み込むものとする。以下の分析は、本発明者らによってなされたものである。
【0006】
ところで、暗号通信を復号することなく不審であるかどうかを判定する場合、判定精度についても課題がある。まず、暗号通信を復号することなく判定するので、ペイロードの情報を判定に用いることができない。よって、暗号通信を復号することなく判定する場合、統計的情報を頼りに不審な通信であるか否かを判定することになる。しかも、暗号通信の全てに学習のためのラベルを割り当てることは難しい。
【0007】
また、インバウンドの暗号通信では判定精度が低いという問題もある。判定の予備実験によると、アウトバウンドの暗号通信では攻撃目的の不審な通信では特徴的傾向があるものの、インバウンドの暗号通信では攻撃目的の不審な通信に特徴的傾向が見られない。これによって、インバウンドの暗号通信では判定精度が低くなることがある。
【0008】
本発明の目的は、上述した課題を鑑み、暗号通信を復号することなく不審であるかどうかを判定することに寄与する不審検知装置、不審検知方法および不審検知プログラムを提供することである。
【課題を解決するための手段】
【0009】
本発明の第1の視点では、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、受信した通信が暗号通信か非暗号通信かを判定し、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行い、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録する登録部と、前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、暗号通信の特徴量を入力とし、当該暗号通信が不審であるか否かを判定する機械学習モデルを学習させる学習部と、受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する判定部と、を備える不審検知装置が提供される。
【0010】
本発明の第2の視点では、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が、受信した通信が暗号通信か非暗号通信かを判定し、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行い、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録し、前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させ、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する、不審検知方法が提供される。
【0011】
本発明の第3の視点では、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が実行するプログラムであって、受信した通信が暗号通信か非暗号通信かを判定するステップと、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行うステップと、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録するステップと、前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させるステップと、受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定するステップと、を有するプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0012】
本発明の各視点によれば、暗号通信を復号することなく不審であるかどうかを判定することに寄与する不審検知装置、不審検知方法および不審検知プログラムを提供することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本発明の実施形態の基本構成を示す概略図である。
【
図2】
図2は、本発明の実施形態に係る不審検知装置を利用する環境例を示す概略図である。
【
図3】
図3は、本発明の実施形態の不審検知装置を示す概略図である。
【
図4】
図4は、非暗号通信情報管理テーブルの例を示す図である。
【
図5】
図5は、非暗号通信特徴量管理テーブルの例を示す図である。
【
図6】
図6は、暗号通信情報管理テーブルの例を示す図である。
【
図7】
図7は、暗号通信特徴量管理テーブルの例を示す図である。
【
図8】
図8は、暗号通信フラグ管理テーブルの例を示す図である。
【
図11】
図11は、本発明の実施形態に係る不審検知方法の手順を示すフローチャートである。
【
図12】
図12は、不審検知装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、本発明の実施形態について説明する。ただし、以下に説明する実施形態により本発明が限定されるものではない。また、各図面において、同一または対応する要素には適宜同一の符号を付している。さらに、図面は模式的なものであり、各要素の寸法の関係、各要素の比率などは、現実のものとは異なる場合があることに留意する必要がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。
【0015】
[不審検知装置]
図1は、本発明の実施形態の基本構成を示す概略図である。
図1に示すように、本発明の実施形態に係る不審検知装置10は、データベース11a,11bと登録部12と機械学習モデル13と学習部14と判定部15を備えている。
【0016】
データベース11a,11bは、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理する。
図1では、暗号通信のための暗号通信データベース11aと非暗号通信のための非暗号通信データベース11bに分けて記載しているが物理的に分離する必要はなく区別して管理しておけばよい。
【0017】
登録部12は、受信した通信が暗号通信か非暗号通信かを判定し、非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行い、パディング後の非暗号通信から特徴量を生成し、当該特徴量をデータベース11a,11bに登録する。
【0018】
機械学習モデル13は、暗号通信の特徴量を入力とし、当該暗号通信が不審であるか否かを判定する判定アルゴリズムである。学習部14は、暗号通信の特徴量を入力として当該暗号通信が不審であるか否かを判定する機械学習モデル13を、データベース11bに登録されている非暗号通信の特徴量を教師データとして用いて学習させる。なお、データベース11bに登録されている非暗号通信の情報には、侵入検知システム(IDS)16の検査結果が含まれており、学習部14は、侵入検知システム(IDS)16の検査結果を基準にして機械学習モデル13を学習させる。
【0019】
判定部15は、受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する。
【0020】
上記のように、本発明の実施形態の不審検知装置10では、暗号通信が不審であるか否かを判定する機械学習モデル13を非暗号通信に対する侵入検知システム(IDS)16の検査結果を教師データとして用いて学習させる。したがって、暗号通信に対しては侵入検知システム(IDS)16が機能しないにもかかわらず、非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行うことで、暗号通信に対しても侵入検知システム(IDS)16の検査結果を反映した不審検知を行うことができる。
【0021】
以下、不審検知装置10の構成および機能をより具体的に説明する。
【0022】
図2は、本発明の実施形態に係る不審検知装置を利用する環境例を示す概略図である。
図2に示すように、本発明の実施形態に係る不審検知装置10は、組織内ネットワークに接続された情報処理装置10aから10cがインターネットを介して組織外ネットワークに接続された情報処理装置10Aから10Dと通信する際に組織内ネットワークの入口で通信を中継する役割を担っている。組織内ネットワークは組織内部に属し、組織外ネットワークは組織外部に属している。不審検知装置10は、組織内ネットワークと組織外ネットワークの間における通信を受信する。ここで、組織内ネットワークに接続された情報処理装置10aから10cには、それぞれIPアドレスXからIPアドレスZが割り当てられており、組織外ネットワークに接続された情報処理装置10Aから10Dには、それぞれIPアドレスAからIPアドレスDが割り当てられている。不審検知装置10は、これらのIPアドレスを基準にして、通信がインバウンドであるかアウトバウンドであるかを判定することができる。なお、通信がインバウンドであるとは、組織外ネットワークから組織内ネットワークへの通信であり、通信がアウトバウンドであるとは、組織内ネットワークから組織外ネットワークへの通信であることをいう。
【0023】
図3は、本発明の実施形態の不審検知装置を示す概略図である。
図3に示すように、本発明の実施形態に係る不審検知装置10は、データベース11a,11bと登録部12と機械学習モデル13と学習部14と判定部15と再判定部17を備えている。すなわち、
図3に示す不審検知装置10は、
図1に示した不審検知装置10に加えて再判定部17を備えている。
【0024】
すでに指摘したように、インバウンドの暗号通信では判定精度が低い傾向がある。そこで、データベース11a,11bは、組織外部から組織内部への通信と組織内部から組織外部への通信とで区別して管理しており、再判定部17は、不審であると判定された組織外部から組織内部への暗号通信の宛先アドレスと、不審であると判定された組織内部から組織外部への暗号通信の送信元アドレスを比較し、一致した場合に組織外部から組織内部への暗号通信を不審であると判定し、一致しない場合に組織外部から組織内部への暗号通信を不審でないと判定する。これにより、不審検知装置10は、インバウンドの暗号通信では判定精度が低くなるという問題を克服する。
【0025】
データベース11a,11bは、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理する。
図3では、暗号通信のための暗号通信データベース11aと非暗号通信のための非暗号通信データベース11bに分けて記載しているが物理的に分離する必要はなく区別して管理しておけばよい。
【0026】
データベース11a,11bは、通信のセッション情報を管理する通信情報管理テーブルと、通信から生成された特徴量を管理する通信特徴量管理テーブルと、不審と判定された暗号通信のフラグを管理する通信フラグ管理テーブルとを有する。特に、暗号通信のための暗号通信データベース11aは、暗号通信の情報を保持する暗号通信情報管理テーブルと、暗号通信の特徴量を保持する暗号通信特徴量管理テーブルと、暗号通信が不審であるか否かを示す暗号通信フラグ管理テーブルを有し、非暗号通信のための非暗号通信データベース11bは、非暗号通信の情報を保持する非暗号通信情報管理テーブルと、非暗号通信の特徴量を保持する非暗号通信特徴量管理テーブルとを有している。
図4は、非暗号通信情報管理テーブルの例を示す図である。
【0027】
図4に示すように、非暗号通信情報管理テーブルは、各レコードが非暗号通信の開始から終了までの統計情報であるセッション情報を示している。特徴量IDは、送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせごとに同じIDを割り当てており、各レコードには、時刻、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、送信サイズの値(バイト数)、受信サイズの値(バイト数)、送信パケット数、受信パケット数、通信時間、向き、特徴量ID、警報フラグが記録されている。
【0028】
警報フラグは、非暗号通信が侵入検知システム(IDS)の警報に関連するか否かを示すフラグである。警報の送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせに一致する(=関連する)非暗号通信である場合、警報フラグを1とし、警報の送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせに一致しない(=関連しない)非暗号通信である場合、警報フラグを0とする。
【0029】
図5は、非暗号通信特徴量管理テーブルの例を示す図である。非暗号通信特徴量管理テーブルは、通信から生成された特徴量を管理しており、各レコードは、特徴量IDごとの特徴量が記録されている。
図5に示すように、例えば、特徴量管理テーブルが管理する特徴量は、送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせごとに送信サイズの値(バイト数)・受信サイズの値(バイト数)・送信パケット数・受信パケット数・通信時間からそれぞれ最大値・最小値・平均値・中央値・累計を求めたものである。また、
図5に示す非暗号通信特徴量管理テーブルは、通信の向きがインバウンドであるものとアウトバウンドであるもので2つに分けて管理する必要がないので同一のテーブルで管理している。
【0030】
なお、非暗号通信特徴量管理テーブルは、通信の向きがインバウンドであるものとアウトバウンドであるものを区別する必要はないが、
図4に示した非暗号通信情報管理テーブルと対比すると解るように、特徴量IDがF1からF3までがインバウンドの非暗号通信であり、特徴量IDがF4のものがアウトバウンドの非暗号通信である。
【0031】
図6は、暗号通信情報管理テーブルの例を示す図である。暗号通信情報管理テーブルは、各レコードが暗号通信の開始から終了までの統計情報であるセッション情報を示している。判定対象識別IDは、送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせごとに同じIDを割り当てており、各レコードには、時刻、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、送信サイズの値(バイト数)、受信サイズの値(バイト数)、送信パケット数、受信パケット数、通信時間、向き、判定対象識別IDが記録されている。
【0032】
暗号通信のセッションの向きに応じて異なる判定対象識別IDを割り当てる。例えば、送信元IPアドレスがIPアドレスAで、宛先IPアドレスがIPアドレスXで、宛先ポート番号が443であれば、組織外部から組織内部への暗号通信であることが解るので、インバウンドの判定対象識別IDであるF_in1を割り当てている。
【0033】
図7は、暗号通信特徴量管理テーブルの例を示す図である。暗号通信特徴量管理テーブルは、暗号通信から生成された特徴量を管理しており、各レコードは、判定対象識別IDごとの特徴量が記録されている。
図7に示すように、例えば、暗号通信特徴量管理テーブルが管理する特徴量は、送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせごとに送信サイズの値(バイト数)・受信サイズの値(バイト数)・送信パケット数・受信パケット数・通信時間からそれぞれ最大値・最小値・平均値・中央値・累計を求めたものである。また、
図7に示す暗号通信特徴量管理テーブルは、通信の向きがインバウンドであるものとアウトバウンドであるもので2つに分けて管理している。
【0034】
図8は、暗号通信フラグ管理テーブルの例を示す図である。暗号通信フラグ管理テーブルは、不審と判定された暗号通信のフラグを管理している。暗号通信フラグ管理テーブルにおける不審フラグは、判定の結果が不審である場合に1とし、判定の結果が不審でない場合に0とする。また、
図8に示す通信フラグ管理テーブルは、通信の向きがインバウンドであるものとアウトバウンドであるもので2つに分けて管理している。
【0035】
登録部12は、受信した通信が暗号通信か非暗号通信かを判定し、非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行い、パディング後の非暗号通信から特徴量を生成し、当該特徴量をデータベース11a,11bに登録する。
図3に示すように、登録部12は、取得部12aと追加部12bと生成部12cとを有している。
【0036】
取得部12aは、受信した通信が暗号通信か非暗号通信かを判定する。暗号通信であるか非暗号通信であるかは、例えば、宛先ポート番号を参照することで判定する。宛先ポート番号が443であれば、暗号通信であると判定し、宛先ポート番号が80であれば、非暗号通信であると判定する。また、取得部12aは、侵入検知システム(IDS)16から警報を取得し、非暗号通信に警報フラグを付与する。
【0037】
追加部12bは、非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行う。暗号通信であるHTTPS(443/TCP)は非暗号通信であるHTTP(80/TCP)と比較して、TLSハンドシェイク分送受信サイズの値(バイト数)、送受信パケット数が増加する。追加部12bは、非暗号通信に対して暗号通信との差を埋め合わせ、暗号通信に対して不審検知を行う機会学習モデル13の学習に用いられる教師データとして受信した非暗号通信を用いる。侵入検知システム(IDS)16は、暗号通信に対して機能しないので、暗号通信に対して不審検知を行う機会学習モデル13の学習に用いられる教師データが不足してしまう。追加部12bは、非暗号通信に対して暗号通信との差を埋め合わせ、暗号通信に対して不審検知を行う機会学習モデル13の学習に用いられる教師データとして受信した非暗号通信を用いるので、侵入検知システム(IDS)16が暗号通信に対して機能しない問題を克服している。
【0038】
追加部12bは、非暗号通信(80/TCP)の各セッション情報に、宛先IPアドレスごとに以下に記載のいずれかのパターンでパディングを行う。すなわち、受信した非暗号通信の実測値に以下に記載の送受信サイズの値(バイト数)、送受信パケット数を加算して非暗号通信(80/TCP)の各セッション情報とする。
1.送信バイト数: 900 - 1,100
受信バイト数: 3,500 - 4,302
送信パケット数: 6
受信パケット数: 6
2.送信バイト数: 1,000 - 1,200
受信バイト数: 4,303 - 5,000
送信パケット数: 7
受信パケット数: 7
3.送信バイト数: 900 - 1,100
受信バイト数: 3,500 - 4,302
送信パケット数: 5
受信パケット数: 4
4.送信バイト数: 1,000 - 1,200
受信バイト数: 4,303 - 5,000
送信パケット数: 6
受信パケット数: 5
なお、パディングするサイズの値(バイト数)、パケット数は、RFCおよびTLSハンドシェイクの挙動から算出したものであり、TLS1.2とTLS1.3の違いおよびMTUの制限から上記の4パターンを構築した。ただし、元の受信パケット数が1以下である場合、3-wayハンドシェイクしか通信していないため、その通信に対してパディングは行わないことにする。
【0039】
生成部12cは、暗号通信および非暗号通信から特徴量を生成し、データベース11a,11bに登録する。生成部12cは、受信した暗号通信および非暗号通信の情報に基づいて通信情報管理テーブルを参照し、特徴量IDまたは判定対象識別IDを取得する。そして取得した特徴量IDまたは判定対象識別IDに基づいて暗号通信特徴量管理テーブルおよび非暗号通信特徴量管理テーブルを参照し、受信した暗号通信および非暗号通信の特徴量を取得する。一方、暗号通信特徴量管理テーブルまたは非暗号通信特徴量管理テーブルに対応する特徴量が記録されていない場合、受信した暗号通信および非暗号通信から計算された特徴量を暗号通信特徴量管理テーブルまたは非暗号通信特徴量管理テーブルに新たに記録する。
【0040】
データベース11a,11bは、暗号通信のセッション情報を管理する通信情報管理テーブルと、暗号通信から生成された特徴量を管理する通信特徴量管理テーブルと、不審と判定された暗号通信のフラグを管理する通信フラグ管理テーブルとを有し、判定部15は、受信した暗号通信の情報を用いてデータベース11a,11bを参照し、受信した暗号通信の特徴量を取得することができる。また、暗号通信が不審であるか否かを判定部15が判定した結果を通信フラグ管理テーブルに記録することができる。さらに、データベース11a,11bは、判定部15が判定した結果を再判定部17が再判定するための情報を与える。
【0041】
機械学習モデル13は、通信の特徴量を入力とし、当該暗号通信が不審であるか否かを判定する。例えば、機械学習モデル13は、このような判定を行う判定アルゴリズムである。あるいは、機械学習モデル13は、このような判定に用いられる判定式である。機械学習モデル13へ入力する特徴量は、データベース11aの暗号通信特徴量管理テーブルに記録されている特徴量である。判定部15は、受信した暗号通信の情報を用いてデータベース11aの暗号通信特徴量管理テーブルを参照し、受信した暗号通信の特徴量を取得する。そして、判定部15は、取得した特徴量を機械学習モデル13に入力する。
【0042】
機械学習モデル13は、暗号通信の特徴量を入力として与えることで、不審がどうかを判定することができる機械学習モデルであれば、特に限定されない。例えば、データベース11a,11bは、非暗号通信に対する侵入検知システム(IDS)16が行った検査結果を記録しているので、学習部14は、非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて2値分類を行うモデルなどを採用することができる。例えば、機械学習モデルとしては、SVM, RandomForest, XGBoostなどを用いることができる。
【0043】
判定部15は、受信した暗号通信の情報を用いてデータベース11aを参照し、得られた特徴量を機械学習モデル13へ入力し、受信した暗号通信が不審であるか否かを判定する。最初に判定部15は、受信した暗号通信の情報を用いてデータベース11aの暗号通信情報管理テーブルを参照し、受信した暗号通信の判定対象識別IDを取得する。その後、判定部15は、取得した判定対象識別IDを用いてデータベース11aの暗号通信特徴量管理テーブルを参照し、受信した暗号通信の特徴量を取得する。そして、判定部15は、取得した暗号通信の特徴量を機械学習モデル13へ入力し、受信した暗号通信が不審であるか否かを判定する。
【0044】
機械学習モデル13を用いた判定結果が得られた後に、判定部15は、インバウンドおよびアウトバウンドのフラグ管理テーブルを参照し、不審と判定された特徴量IDの不審フラグを1に変更する。例えば、判定対象識別IDがF_in1, F_in2, F_out1の暗号通信が不審と判定された場合、
図9に示すように、F_in1, F_in2, F_out1の暗号通信の不審フラグを1に変更する。
【0045】
再判定部17は、組織内部から組織外部への暗号通信の判定結果に基づいて、組織外部から組織内部への暗号通信を再判定する。再判定部17は、データベース11aのインバウンドフラグ管理テーブルを参照し、不審フラグが1である判定対象識別ID(F_in)を取得する。そして、再判定部17は、通信情報管理テーブルを参照し、上記判定対象識別ID(F_in)と合致する宛先IPアドレスを取得する。さらに、再判定部17は、暗号通信情報管理テーブルを参照し、以下の条件に合致する特徴量ID(F_out)を取得する。
・向きのフィールドが outbound
・F_outの送信元IPアドレス = F_inの宛先IPアドレス
【0046】
次に、再判定部17は、アウトバウンドフラグ管理テーブルを参照し、上記判定対象識別ID(F_out)の不審フラグを取得する。そして、不審フラグに応じて、上記判定対象識別ID(F_out)の不審フラグの値を更新する。不審フラグが1であるF_outが存在する場合、F_inの不審フラグを1に変更する。一方、不審フラグが1であるF_outが存在しない場合、F_inの不審フラグを0に変更する。例えば、
図8に示したようにF_in1, F_in2, F_out1の暗号通信の不審フラグが1であれば、条件に合致するのはF_in1, F_out1であるので、
図10に示すように、F_in1の不審フラグを1のまま変更せずに、F_in2の不審フラグを0に変更する。つまり、再判定の結果、F_in2に対する不審の判定が見直されて不審フラグが0に変更される。
【0047】
[不審検知方法]
次に、本発明の実施形態に係る不審検知方法の説明を行う。本発明の実施形態に係る不審検知方法は、受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が、受信した通信が暗号通信か非暗号通信かを判定し、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行い、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録し、前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させ、受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定するものである。不審検知方法の実施は、装置構成に限定されるものではないが、説明を容易にするために
図1に示した不審検知装置10の構成を用いて不審検知方法の説明を行う。
【0048】
図11は、本発明の実施形態に係る不審検知方法の手順を示すフローチャートである。
図11に示すように、不審検知方法の手順は、通信取得(ステップS1)と暗号通信の判定(ステップS2)と特徴量生成(ステップS3)と警報取得(ステップS4)と警報フラグ付与(ステップS5)とパディング(ステップS6)と特徴量生成(ステップS7)と学習モデル生成(ステップS8)と暗号通信不審判定(ステップS9)とを有している。
【0049】
登録部12は、組織外部から組織内部への通信または組織内部から組織外部への通信を受信し、通信の情報を取得する(ステップS1)。そして、登録部12は、受信した通信が暗号通信であるか非暗号通信であるかの判定を行う(ステップS2)。暗号通信であるか非暗号通信であるかは、例えば、宛先ポート番号を参照することで判定する。宛先ポート番号が443であれば、暗号通信であると判定し、宛先ポート番号が80であれば、非暗号通信であると判定する。
【0050】
暗号通信であると判定された場合(ステップS2;Yes)、登録部12は、データベース11aを参照し、受信した暗号通信に関する特徴量を取得する(ステップS3)。なお、暗号通信特徴量管理テーブルに対応する特徴量が記録されていない場合、受信した暗号通信から計算された特徴量を特徴量管理テーブルに新たに記録する。
【0051】
一方、非暗号通信であると判定された場合(ステップS2;No)、登録部12は、侵入検知システム(IDS)16から警報を取得し(ステップS4)、非暗号通信に警報フラグを付与する(ステップS5)。そして、登録部12は、非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行う(ステップS6)。暗号通信であるHTTPS(443/TCP)は非暗号通信であるHTTP(80/TCP)と比較して、TLSハンドシェイク分送受信サイズの値(バイト数)、送受信パケット数が増加する。そこで、登録部12は、非暗号通信に対して暗号通信との差を埋め合わせ、暗号通信に対して不審検知を行う機会学習モデル13の学習に用いられる教師データとして受信した非暗号通信を用いる。その後、登録部12は、データベース11bを参照し、パディング後の非暗号通信から特徴量を生成する(ステップS7)。
【0052】
その後、学習部14は、パディング後の非暗号通信から生成した特徴量を用いて機械学習モデル13を学習させる(ステップS8)。このとき、非暗号通信に関しては侵入検知システム(IDS)16から警報を取得してあるので、非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて機械学習モデル13を学習させることができる。つまり、暗号通信に対しては侵入検知システム(IDS)16が機能しないが、暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行うことで、非暗号通信に対しても侵入検知システム(IDS)16の検査結果を反映した機械学習モデル13の学習を行う。
【0053】
判定部15は、ステップS3で取得した暗号通信に関する特徴量を機械学習モデル13へ入力し、受信した暗号通信が不審であるか否かの判定を行う(ステップS9)。判定部15が行った判定結果は、データベース11aにおけるフラグ管理テーブルに記録する。具体的には、不審であると判定した場合、フラグ管理テーブルにおけるフラグを1に変更する。
【0054】
このように、本発明の実施形態に係る不審検知方法では、暗号通信に対しては侵入検知システム(IDS)16が機能しないものの、暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値(バイト数)、送受信パケット数にパディングを行うことで、非暗号通信に対しても侵入検知システム(IDS)16の検査結果を反映した機械学習モデル13の学習を行うことで、暗号通信に対する不審判定においても、侵入検知システム(IDS)16の検査結果を反映した判定を行うことができる。
【0055】
[ハードウェア構成例]
図12は、不審検知装置のハードウェア構成例を示す図である。
図12に示すハードウェア構成を採用した情報処理装置(コンピュータ)は、上記説明した不審検知装置10の各機能を実現することを可能にする。ただし、
図12に示すハードウェア構成例は、不審検知装置10の各機能を実現するハードウェア構成の一例であり、不審検知装置10のハードウェア構成を限定する趣旨ではない。不審検知装置10は、
図12に示さないハードウェアを含むことができる。
【0056】
図12に示すように、不審検知装置10が採用し得るハードウェア構成40は、例えば内部バスにより相互に接続される、CPU(Central Processing Unit)41、主記憶装置42、補助記憶装置43、およびIF(Interface)部44を備える。
【0057】
CPU41は、不審検知装置10が実行するプログラムに含まれる各指令を実行する。主記憶装置42は、例えばRAM(Random Access Memory)であり、不審検知装置10が実行する各種プログラムなどをCPU41が処理するために一時記憶する。
【0058】
補助記憶装置43は、例えば、HDD(Hard Disk Drive)であり、不審検知装置10が実行する各種プログラムなどを中長期的に記憶しておくことが可能である。各種プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。補助記憶装置43は、非一時的なコンピュータ可読記録媒体に記録された各種プログラムを中長期的に記憶することに利用することが可能である。IF部44は、不審検知装置10の通信に関するインターフェイスを提供する。
【0059】
上記のようなハードウェア構成40を採用した情報処理装置は、不審検知装置10の各機能を実現することができる。
【0060】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、
受信した通信が暗号通信か非暗号通信かを判定し、前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行い、前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録する登録部と、
前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、暗号通信の特徴量を入力とし、当該暗号通信が不審であるか否かを判定する機械学習モデルを学習させる学習部と、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する判定部と、
を備える不審検知装置。
[付記2]
前記データベースは、前記非暗号通信に対する侵入検知システムが行った検査結果を記録しており、
前記学習部は、前記非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて前記機械学習モデルを学習させる付記1に記載の不審検知装置。
[付記3]
前記データベースは、組織外部から組織内部への通信と組織内部から組織外部への通信とを区別して管理しており、
不審であると判定された前記組織外部から組織内部への暗号通信の宛先アドレスと、不審であると判定された前記組織内部から組織外部への暗号通信の送信元アドレスを比較し、一致した場合に前記組織外部から組織内部への暗号通信を不審であると判定し、一致しない場合に前記組織外部から組織内部への暗号通信を不審でないと判定する再判定部をさらに備える、付記1に記載の不審検知装置。
[付記4]
前記データベースは、通信のセッション情報を管理する通信情報管理テーブルと、通信から生成された特徴量を管理する特徴量管理テーブルと、不審と判定された暗号通信のフラグを管理するフラグ管理テーブルとを有する、付記1に記載の不審検知装置。
[付記5]
前記特徴量管理テーブルが管理する特徴量は、送信元IPアドレス・宛先IPアドレス・宛先ポート番号の組み合わせごとに送信サイズの値・受信サイズの値・送信パケット数・受信パケット数・通信時間からそれぞれ最大値・最小値・平均値・中央値・累計を求めたものである、付記4に記載の不審検知装置。
[付記6]
前記特徴量管理テーブルは、組織外部から組織内部への暗号通信と前記組織内部から組織外部への暗号通信とを区別して管理している、付記4に記載の不審検知装置。
[付記7]
受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が、
受信した通信が暗号通信か非暗号通信かを判定し、
前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行い、
前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録し、
前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させ、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定する、不審検知方法。
[付記8]
前記データベースは、前記非暗号通信に対する侵入検知システムが行った検査結果を記録しており、
前記情報処理装置は、前記非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて前記機械学習モデルを学習させる付記7に記載の不審検知方法。
[付記9]
受信した通信から抽出された情報を暗号通信と非暗号通信とで区別して管理するデータベースと、通信の特徴量を入力とし、当該通信が不審であるか否かを判定する機械学習モデルとを備える情報処理装置が実行するプログラムであって、
受信した通信が暗号通信か非暗号通信かを判定するステップと、
前記非暗号通信に対して暗号通信との差を埋め合わせるように送受信サイズの値、送受信パケット数にパディングを行うステップと、
前記パディング後の非暗号通信から特徴量を生成し、当該特徴量を前記データベースに登録するステップと、
前記データベースに登録されている非暗号通信の特徴量を教師データとして用いて、前記機械学習モデルを学習させるステップと、
受信した暗号通信の情報を用いて前記データベースを参照し、前記受信した暗号通信に関して得られた特徴量を前記機械学習モデルへ入力し、前記受信した暗号通信が不審であるか否かを判定するステップと、を有するプログラム。
[付記10]
前記データベースは、前記非暗号通信に対する侵入検知システムが行った検査結果を記録しており、
前記機械学習モデルを学習させるステップは、前記非暗号通信に対する侵入検知システムが行った検査結果を基準に用いて前記機械学習モデルを学習させる、付記9に記載のプログラム。
【0061】
本発明で、アルゴリズム、ソフトウエア、ないしフローチャート或いは自動化されたプロセスステップが示された場合、コンピュータが用いられることは自明であり、またコンピュータにはプロセッサ及びメモリないし記憶装置が付設されることも自明である。よってその明示を欠く場合にも、本願には、これらの要素が当然記載されているものと解される。
【0062】
また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
【符号の説明】
【0063】
10 不審検知装置
11a,11b データベース
12 登録部
12a 取得部
12b 追加部
12c 生成部
13 機械学習モデル
14 学習部
15 判定部
16 侵入検知システム
17 再判定部
10a~10c,10A~10D 情報処理装置
40 ハードウェア構成
41 CPU
42 主記憶装置
43 補助記憶装置
44 IF部