JP6820240B2 - 攻撃検知分析装置及び攻撃検知方法 - Google Patents

攻撃検知分析装置及び攻撃検知方法 Download PDF

Info

Publication number
JP6820240B2
JP6820240B2 JP2017122184A JP2017122184A JP6820240B2 JP 6820240 B2 JP6820240 B2 JP 6820240B2 JP 2017122184 A JP2017122184 A JP 2017122184A JP 2017122184 A JP2017122184 A JP 2017122184A JP 6820240 B2 JP6820240 B2 JP 6820240B2
Authority
JP
Japan
Prior art keywords
flow
attack
time zone
cluster
central host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017122184A
Other languages
English (en)
Other versions
JP2019009549A (ja
Inventor
千絵 増田
千絵 増田
松原 大典
大典 松原
昌平 西田
昌平 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017122184A priority Critical patent/JP6820240B2/ja
Publication of JP2019009549A publication Critical patent/JP2019009549A/ja
Application granted granted Critical
Publication of JP6820240B2 publication Critical patent/JP6820240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、不正な通信を検出する計算機システムまたは装置に関する。
計算機システムでは、外部からの侵入や、内部の端末に送りつけられたマルウェアの活動を検出するためにセキュリティ管理システムを稼働させている。セキュリティ管理システムでは、外部からの侵入やマルウェアなどによる不正な通信を検出することで、計算機システムに対する脅威を検出する。
計算機システム内で、不正な通信を検出する技術として特許文献1、2が知られている。特許文献1は、複数の通信のフローの相関関係より、同一のサービスに関連する通信フローをグループ化して論理グラフを生成しておく。そして、障害等により相関関係がくずれたときに、論理グラフを用いて障害箇所を特定する技術が開示されている。
また、特許文献2には、侵入防止システム(intrusion prevention system)のルールセットを生成し、システムの挙動をルールセットによって監視して、異常の発生や侵入を検出する技術が開示されている。
米国特許出願公開第2014/047279号明細書 特開2014−179074号公報
しかしながら、上記従来例の特許文献1、2では、検出した情報フローについて、既知の正常活動からの相関関係の外れを検出するか、既知の異常活動の相関関係を検出する技術である。このため、既知の正常活動や異常活動の相関関係は検出できるが、攻撃者による未知の異常活動は既知のものと区別をつけられないため、検出できないという問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、未知の異常活動を検出することで未知の攻撃に対応することを目的とする。
本発明は、プロセッサとメモリを有し、ネットワークに接続された機器の通信のフローを監視する攻撃検知分析装置であって、前記プロセッサは、前記機器で送受信される通信のフローをフローデータとして収集し、前記プロセッサは、前記フローデータのうち所定の時間帯毎に相関関係を有するフローデータをクラスタリングしてフロークラスタとして生成し、前記プロセッサは、前記フロークラスタについて、前記フローデータとフローデータの繋ぎ目である中心ホストにおける相関フローの活動量を複数の時間帯毎に算出した結果を中心ホスト統計とし、前記プロセッサは、前記中心ホスト統計から中心ホストにおける相関フローの活動量が類似する時間帯をグルーピングして複数のグループを生成し、前記プロセッサは、前記複数のグループのうち前記グループに含まれる時間帯の数が少ないグループを攻撃時間帯と推定する。
本発明によれば、新たなクラスタを、異常または異常の予兆があるクラスタとして検出することで、不正な通信、または不正の疑いのある通信の発生を検出することが可能となって、マルウェアや外部の端末等からの未知の攻撃に対応することが可能となる。
本発明の実施例1を示し、攻撃検知分析装置を含むネットワーク運用管理システムの一例を示すブロック図である。 本発明の実施例1を示し、異常活動検出技術の概略図である。 本発明の実施例1を示し、攻撃検知分析装置の機能ブロック図である。 本発明の実施例1を示し、フローデータ集計部の一例を示すブロック図である。 本発明の実施例1を示し、フロークラスタ処理部の一例を示すブロック図である。 本発明の実施例1を示し、パケット集計部で生成するパケット数テーブルの一例を示す図である。 本発明の実施例1を示し、フロークラスタ中心ホスト統計の一例を示す図である。 本発明の実施例1を示し、攻撃時間クラスタ処理の一例を示す図である。 本発明の実施例1を示し、フロークラスタ中心ホストの出現数ランキングの距離に基づいてグルーピングした結果の一例を示す図である。 本発明の実施例1を示し、攻撃検知分析装置で行われるリアルタイム処理の一例を示すフローチャートである。 本発明の実施例2を示し、攻撃検知分析装置の一例を示す機能ブロック図である。 本発明の実施例3を示し、攻撃検知分析装置の一例を示す機能ブロック図である。 本発明の実施例3を示し、攻撃検知分析装置で行われる処理の一例を示すフローチャートである。 本発明の実施例1を示し、攻撃検知分析装置の構成の一例を示すブロック図である。 本発明の実施例1を示し、フロークラスタの一例を示す図である。
以下、本発明の実施の形態を、図面を用いて説明する。なお、以下で説明する実施の形態は一例にすぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。さらに、以下に示した実施の形態は単独で適用してもよいし、複数もしくはすべての実施の形態を組み合わせて適用しても構わない。
図1は、本発明の実施例1を示し、ネットワーク運用管理システムの構成の一例を示すブロック図である。ネットワーク運用管理システムは、複数のホスト(計算機)のフローを組み合わせて相関分析することで、セキュリティ(攻撃)に関係するものだけを検出し、前記の検出結果をもとに攻撃フローだけを隔離して遮断する。
複数のホスト(機器または計算機)101〜103は、外部NW104を介してNW(ネットワーク)装置(例えばスイッチやルータなど)106と接続する。
本発明による攻撃検知分析装置107は、NW装置106に接続され、複数のホスト101〜103の通信のフローを監視し、フローを組み合わせて相関分析することで、セキュリティ(攻撃または攻撃の予兆)に関係するものを検出する。
そして、攻撃検知分析装置107は、セキュリティに関係するフローを検出するとNW制御装置108に通知する。NW制御装置108は、攻撃検知分析装置107によって検出された攻撃(または攻撃の予兆)を示すフローを隔離して遮断する。
なお、NW制御装置108が実施する攻撃フローの隔離および遮断の処理については、周知または公知の技術を適用すれば良いので、本実施例1、2では詳述しない。
ここで、複数のホスト101〜103のフローを組み合わせて相関分析してセキュリティ(攻撃)に関係するものだけを検出する、本発明の概要について、図2を用いて説明する。
図2は、異常活動検出技術の概略図である。ホスト(図中丸印)から送信されるフローの一例を示しており、図の左側が正常(通常)状態、右側が異常状態である。なお、以下の説明では、図1のホスト101〜103に対応するホスト全体について符号を省略して説明する。
なお、本実施例では、フロー(または通信フロー)は、2点間(ホスト間)の通信においてある方向へのデータの流れ(または通信量)を示し、換言すれば、ホスト間での送受信の関係を示す。
本発明では、攻撃検知分析装置107が、フロー間の相関度を分析し、相関度が閾値以上のフローのペアを相関フローとして検出してグループ(クラスタ)を生成する。ペアが検出された部分は、あるホストがフローを生成した時に、同じように他のホストに対してもフローが生成される事を意味する。つまり、検出されたペアは、ホスト同士のフローを示している事となるので、これら図2の左図のクラスタ1、2のようにクラスタ状態を把握することで、正常状態を学習することとなる。
本実施例1では、2つのホストの間でフローとフロー(相関フロー)の繋ぎ目となるホストを中心ホスト(図中黒丸印)として示す。
次に、図2の右図のように、攻撃検知分析装置107は、新たなクラスタ3を検出した場合、ホスト同士のフローが通常(図中正常状態)とは異なるペアが生成されていることになり、異常活動が発生したと判定する。以上より、攻撃検知分析装置107は、多量かつ絶えず変動する通信フローの中からクラスタの状態を観測することで、一連の攻撃活動を検出することができる。
しかしながら、上記の異常活動検出技術には下記の課題がある。
1.攻撃活動の検出は可能だが、攻撃ではない相関フロー(ペア)が多数検出され、誤検知が多い可能性がある。
2.ホストの参加または離脱、新しいフローの出現または消滅などによるネットワーク構成や通信パタンの動的な変化による誤検知が多い可能性がある。
3.無関係なフローが、たまたま同じタイミングで通信した場合も攻撃活動として検出してしまい、誤検知する可能性がある。
そこで、本発明は、上記の点を鑑みてなされたものであり、マルウェアや不正な通信の侵入後の攻撃の振る舞いに着目して、攻撃に関係すると予想されるフローを検出し、それ以外のフローを削除して誤検知率を下げることを目的とする。
図3は、本実施例1における攻撃検知分析装置107の機能ブロック図を示す。
攻撃検知分析装置107は、フローデータ収集部301と、フロークラスタ処理部302と、攻撃時間判定部303と、攻撃フロー特定部304と、記憶部305を含む計算機である。
フローデータ収集部301は、NW装置106からパケットを収集し、分析対象のパケットを選択してフローデータ310として記憶部305に格納する。フロークラスタ処理部302は、後述するように、フローデータ310からホスト同士のフローからペアを検出してクラスタを生成し、フロークラスタ314に格納する。
攻撃時間判定部303は、フロークラスタ314から中心ホストを検出し、時間帯毎の中心ホストの相関フローの出現数ランキングに基づいて、攻撃(または攻撃の予兆)を示すクラスタが存在する攻撃時間帯を特定する。
攻撃フロー特定部304は、後述するように、特定された攻撃時間帯で活動する攻撃の候補となるクラスタを絞り込み、NW制御装置108に通知する。NW制御装置108は、通知された攻撃の候補のフローを遮断または隔離する。
図14は、本実施例1における攻撃検知分析装置107のハードウェア構成の一例を示すブロック図である。
攻撃検知分析装置107は、プロセッサ10と、メモリ11と、ストレージ装置12と、ネットワークインタフェース(図中NW I/F)13とを含む。メモリ11には、OS20がロードされてプロセッサ10によって実行される。
メモリ20には、フローデータ収集プログラム31と、フロークラスタ処理プログラム32と、攻撃時間判定プログラム33と、攻撃フロー特定プログラム34がロードされてプロセッサ10によって実行される。なお、これらのプログラムはOS20上で稼働する。ストレージ装置12には、データを格納する領域として図3に示した記憶部305が設定される。
図3に示した、フローデータ収集部301と、フロークラスタ処理部302と、攻撃時間判定部303と、攻撃フロー特定部304の各機能部はプログラムとしてメモリ11にロードされる。
プロセッサ10は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ10は、フローデータ収集プログラム31を実行することでフローデータ収集部301として機能し、フロークラスタ処理プログラム32を実行することでフロークラスタ処理部302として機能し、攻撃時間判定プログラム33を実行することで攻撃時間判定部303として機能し、攻撃フロー特定プログラム34を実行することで攻撃フロー特定部304として機能する。
さらに、プロセッサ10は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
攻撃検知分析装置107の各機能を実現するプログラムや、テーブル等の情報は、ストレージ装置12や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図4は、フローデータ収集部301の一例と周辺の構成を示すブロック図である。フローデータ収集部301は、データ変換部401とデータフィルタ部402、を含む。
データ変換部401は、NW装置106から受信した情報パケットについて、攻撃検知を分析するために所定のデータ形式(例えば、CSV形式など)に変換する。変換されたデータは、データフィルタ部402へ送信される。
データフィルタ部402は、分析に不要なデータをフィルタリングしてフローデータ310を生成する。データフィルタ部402は、生成したフローデータ310を記憶部305へ保存し、このフローデータ310をフロークラスタ処理部302へ送信する。分析に不要なデータとしては、キープアライブのパケット等の制御信号については攻撃検知のデータから除外する。これにより、演算処理の対象となるデータ量を削減することができる。
図3に戻り、フロークラスタ処理部302は、フローデータ収集部301から受信したフローデータ310についてクラスタ分析を実施してフローデータ310間の相関関係を分析(相関フロークラスタ分析)する機能部である。
図5は、フロークラスタ処理部302の構成の一例を示すブロック図である。フロークラスタ処理部302は、サービス生成部501と、パケット集計部502と、フロークラスタ生成部503、とを含む。
サービス生成部501は、フローデータ310をクラスタリングした結果をフロークラスタ314としてストレージ装置12の記憶部305に格納する。フロークラスタ314の構成単位として、予め定義された「サービス」を生成する。本実施例1では、サービスは「送信IPアドレス、送信ポート番号、受信IPアドレス、受信ポート番号、プロトコル」の組みで表現する。
パケット集計部502は、サービス生成部501で生成したサービスが送信したパケット数を所定の時間帯(例えば、1分)ごとに集計して、パケット数テーブル313を生成する。なお、送信パケット数の代わりに送信データ量を用いてもよい。
また、サービス生成部501が生成したサービスを所定の時間毎にパケット数で集計する理由は、時間帯によって相関係数(相関関係)が変化するサービスが存在するためである。パケット集計部502は、この相関係数の変化に応じて分割する時間と、集計間隔を設定する。
図6は、パケット集計部502が生成するパケット数テーブル313の一例を示す図である。本実施例1では、パケット集計部502がパケット数を集計する時間間隔を1分とする。サービス毎に、1分間隔でパケット数を集計する。
パケット数テーブル313は、集計した時間を格納する時間帯3130と、サービス生成部501で生成されたサービス1〜サービスN毎に集計したパケット数を格納するパケット数3131−1〜3131−Nをひとつのエントリに含む。
パケット数テーブル313は、行方向で、同一時間における各サービス1〜Nの送信パケット数が並ぶテーブルとなっている。なお、サービス1〜Nは、IPアドレスと、ホスト及びプロトコル毎に生成される。
図5に戻り、フロークラスタ生成部503は、図6に示したようなパケット数テーブル313に基づいて、サービス間の相関係数を計算し、計算したサービス間の相関係数が高い2つ以上のサービスを検出する。
例えば、サービス間の相関係数が高いサービスとしてサービス1とサービス2が検出された場合、サービス1が通信を行うとサービス2も連動して通信が行われていることを示している。
つまり、ある単位時間にサービス1からサービス2へ発生した通信と、この通信を受けてサービス2から発生した通信に、相関の関係があるということを意味する。
本発明では、このような関係を纏めることを、フロークラスタの生成と呼ぶ。フロークラスタ生成部503は、フロークラスタを生成する際に、2つの繋ぎ目となるサービスの決め方は、以下の優先順位で決定する。この繋ぎ目のサービスを中心ホストと呼ぶ。
(1)ホスト及びポートが重複するもの
(2)ポートは異なるが、ホスト名が重複するもの
(3)上記(2)が複数存在する場合は、ホスト名の辞書順
本実施例1では、上記のような順位でフロークラスタを生成したが、周知または公知の技術を適用して他の順位を用いても構わない。また、本実施例1では、相関係数が所定の閾値(例えば0.8)以上であるものを検出したが、閾値の値はシステムにより異なる。また、ホスト名の辞書は、監視対象のホストについて予め設定された辞書である。
相関関係の計算には、例えば、以下の(1)式で示した、ピアソンの積率相関係数を用いる。
Figure 0006820240
本実施例1では、相関関係の計算にピアソンの積率相関係数を用いたが、これに限定されるものではなく、周知または公知のクラスタ分析手法等を適宜採用することができる。
図15は、フロークラスタ314のテーブルの一例を示す図である。図示の例では、時間帯(単位時間)毎に相関係数が高いサービスとして検出されたフロークラスタを示している。本実施例1では、相関係数を計算する時間間隔を1時間とし、また、中心ホストと決定したサービスが中心に配置したテーブルの例を示す。
フロークラスタ314は、時間帯3141と、2つのサービスの繋ぎ目となるサービスを格納する中心ホスト3143と、中心ホストにつながるサービスを格納するカラム3142、3144とを有する。各カラム3142、3144及び中心ホスト3143には、サービスの識別子などを格納すれば良い。
図3に戻り、攻撃時間判定部303は、フロークラスタ中心ホスト統計処理306と、攻撃時間クラスタ処理307から構成され、フロークラスタ処理部302から受信したフロークラスタ314を用いて攻撃時間帯の特定(推定)を行う処理部である。
フロークラスタ中心ホスト統計処理306では、フロークラスタ314のフローとフローの繋ぎ目である中心ホストの相関フローの出現数のランキングを時間帯毎に算出し、フロークラスタ中心ホスト統計311として、記憶部305に保存してから、当該フロークラスタ中心ホスト統計311を攻撃時間クラスタ処理307へ送信する。
なお、フロークラスタ中心ホスト統計処理306は、図2で示したように、2つのホストの繋ぎ目となる中心ホストをフロークラスタ314内で特定し、当該中心ホストが処理対象の時間帯毎に出現した回数を算出し、当該出現回数を降順などでソートした結果をフロークラスタ中心ホスト統計311として出力する。
本実施例1では、フロークラスタ中心ホスト統計311として、中心ホストの相関フローの出現数ランキングを用いたが、中心ホストのフロー数を用いても構わない。中心ホストのフロー数を用いた場合、本実施例1の中心ホストの出現数ランキングより、簡単に実装を行えるという効果がある。
一方、中心ホストのフロー数は、正規分布を仮定して計算処理をする必要があるが、順位の相関を見る本実施例1の中心ホストの相関フローの出現数ランキングでは、正規分布を仮定せずに計算処理が可能という効果がある。
図7に、フロークラスタ中心ホスト統計311で生成するフロークラスタ中心ホスト統計311の一例を示す。フロークラスタ中心ホスト統計311は、中心ホストの識別子を格納する中心ホスト3111と、各時間帯(図中A〜C)における中心ホストの相関フローの出現回数の順位を格納する出現数ランキング311A〜311Cをひとつのエントリに含む。
図7では、3つの時間帯で構成される例を示すが、これに限定されるものではない。統計処理を行う時間帯の数は上記以外であってもよく、時間帯の数だけフィールドが生成される。
出現数ランキング311A〜311Cのフィールド名は、時間帯の通し番号を示す。中心ホスト3111は、中心ホストの識別子に限定されるものではなく、ポート番号や、プロトコルの組み合わせを用いても良い。
図3に戻り、攻撃時間クラスタ処理307では、フロークラスタ中心ホスト統計処理306で生成されたフロークラスタ中心ホスト統計311を用いて、中心ホストの出現数ランキング311A〜311C(活動量)が類似する時間帯A〜Cをグルーピングする。
本実施例1では、3つの時間帯A〜Cを用いてリアルタイムで攻撃検知を行う例を示すが、時間帯の数はこれに限定されるものではない。本実施例1では、後述するように、攻撃時間クラスタ処理307が、3つの時間帯のうちユークリッド距離が最も近い時間帯を、類似するグループと判定してひとつにグルーピングし、2つのグループに分割する。
また、本実施例1では、活動量として、フロークラスタ内で中心ホストを含む相関フローの出現回数のランキングを用いる例を示すが、相関フローの数を用いればよい。
また、時間帯の類似については、時間帯の関係が所定の条件を満たすものをひとつのグループにグルーピングすればよく、例えば、所定の条件として、各時間帯間のユークリッド距離が最小の時間帯をグルーピングする例を示した。
攻撃時間クラスタ処理307は、2つのグループのうち、時間帯の数が少数派となるグループを攻撃時間帯と判定(推定)し、当該特定(推定)した時間帯を攻撃時間帯315として、記憶部305へ保存してから、当該攻撃時間帯315を攻撃フロー特定部304へ送信する。本実施例1では、フロークラスタ中心ホスト統計311として、中心ホストの相関フローの出現数ランキングを用いたが、中心ホストのフロー数(パケット数)を用いても構わない。
図8は、攻撃時間クラスタ処理307の一例を示す図である。図示の例は、図7のフロークラスタ中心ホスト統計311を用いた例を示す。攻撃時間クラスタ処理307は、まず、3つの各時間帯(A〜C)の中心ホスト(H1〜H3)の出現回数の順位の数値差を計算する。計算式の一例を以下の(2)式に示す。
Figure 0006820240
上記(2)式では、時間帯Aと時間帯Bにおける中心ホストH1の順位の差分が0、時間帯Aと時間帯Bにおける中心ホストH2の順位の差分が1、時間帯Aと時間帯Bにおける中心ホストH3の順位の差分が1より、ユークリッド距離を算出する例を示す。同様に、時間帯B、C、時間帯A、Cについても、中心ホストH1、H2、H3毎に距離を計算する。
上記ユークリッド距離の計算の結果は、図8のグラフ3110となる。なお、本実施例1では、距離の計算にユークリッド距離を用いたが、周知または公知の階層的手法(最長距離法、群平均法など)を適宜用いることができる。
上記処理の結果、ユークリッド距離が最小となる時間帯A、Bがひとつのグループとされ、時間帯Cは時間帯の数が少数派のグループと判定される。
図9に、図7、図8の例であげた、時間帯A、時間帯B、時間帯Cについて、フロークラスタ中心ホストの相関フローの出現数ランキング311A〜311Cの距離に基づいてグルーピングした結果の一例を示す。フロークラスタ中心ホスト統計処理306は図8の計算結果を用いて、各時間帯A〜Cの間の距離を比較し、時間帯A〜Cの距離が最も小さいもの同士をグループ化した結果である。
攻撃時間判定部303によるグループ化の処理は、最終的に全ての時間帯が1つになるまで続ける。攻撃時間判定部303は、グループ化した結果より、時間帯の数が少数のグループを攻撃時間帯315と判定する。
本実施例1では、時間A、Bが正常時間帯、時間Cが攻撃時間帯として判定される。中心ホストの出現回数が時間帯の数が少数派のグループを攻撃時間帯と判定する理由は、正常なデータの量に対して、攻撃によるデータの量は少ないと考えられるためである。
本実施例1では、フロークラスタ中心ホスト統計311として、中心ホストの相関フローの出現数ランキングを用いたが、中心ホストのフロー数(またはパケット数)を用いても構わない。
図3に戻り、攻撃フロー特定部304は、正常フロークラスタ除外処理308と、中心ホストによるフィルタ処理309から構成される。攻撃フロー特定部304は、フロークラスタ314と攻撃時間帯315を用いて正常な(正常時間帯に出現する)フロークラスタ314を除外し、攻撃時間帯と推定される時間帯のみに着目して、活発に活動するフロークラスタ314の中心ホストを攻撃元のホストの候補として絞り込む。
正常フロークラスタ除外処理308では、攻撃時間判定部303が各時間帯を攻撃と正常に分離した後、正常な時間帯において出現するフロークラスタ314を、攻撃時間帯315において出現するフロークラスタ314から除外する。
そして、正常フロークラスタ除外処理308は、攻撃に関するフロークラスタを絞り込み、攻撃フロークラスタ312として、記憶部305へ保存する。次に、正常フロークラスタ除外処理308は、攻撃フロークラスタ312を中心ホストによるフィルタ処理309へ送信する。
中心ホストによるフィルタ処理309では、攻撃フロークラスタ312と、フロークラスタ中心ホスト統計311を用いて、攻撃時間帯315において中心ホストにおける相関フローの出現数ランキングを計算する。
そして、中心ホストによるフィルタ処理309では、出現数ランキングが所定の閾値以上のフロークラスタ314を検出し、検出したフロークラスタを攻撃フロークラスタフィルタ316として、記憶部305へ保存する。
また、中心ホストによるフィルタ処理309は、当該攻撃フロークラスタフィルタ316を、NW制御装置108へ送信する。なお、本実施例1では、フロークラスタ中心ホスト統計311として、中心ホストの相関フローの出現数ランキング(311A〜311C)を用いたが、中心ホストのフロー数を用いても構わない。
図10は、本実施例に係る攻撃検知分析装置107で行われるリアルタイム処理の一例を示すフローチャートである。この処理は、攻撃時間判定部303と攻撃フロー特定部304で行われる。
図10は、複数のホストのフローを組み合わせて相関分析する相関フロークラスタリングにより検出された結果のうち、セキュリティ(攻撃)の候補を絞る処理について、リアルタイム処理を行う場合の一例を示すフローチャートである。
図10に示すように、攻撃時間判定部303は、フロークラスタ処理部302により生成されたフロークラスタ314を時間帯毎に受信する(S1001)。攻撃時間判定部303は、受信したフロークラスタの中心ホストの相関フローのランキングを、図7に示したフロークラスタ中心ホスト統計311として生成する(S1002)。
攻撃時間判定部303は、生成したフロークラスタ中心ホスト統計311の相関フローのランキングと各時間帯の相関フローのランキング結果を比較し、受信したフロークラスタ314を図8で示したように、ユークリッド距離が最小(一番近い)の時間帯にグルーピングする(S1003)。図8の例では、時間帯B、Cを時間帯とし、時間帯Aを現在処理中の時間帯とし、既出の時間帯Bと時間帯Aをひとつのグループにグルーピングする例を示す。
攻撃時間判定部303は、グルーピングした時間帯が攻撃時間帯315であるか否かを判定し、攻撃時間帯315であればステップS1005へ進み、正常時間帯であればステップS1010へ進む。
ステップ1005において、攻撃フロー特定部304は、正常時間帯において出現するフロークラスタ314を攻撃時間帯315のフロークラスタから除外する(S1005)。攻撃フロー特定部304は、正常時間帯のフロークラスタ314が除外されたフロークラスタを、攻撃フロークラスタ312として記憶部305に格納する。
次に、攻撃フロー特定部304は、攻撃フロークラスタ312の中で、フロークラスタの中心ホストの相関フローのランキングを生成する(S1006)。中心ホストの相関フローのランキングは、前述のように中心ホストの出現回数から生成する。
攻撃フロー特定部304は、生成した中心ホストの相関フローのランキングのうち、一定のランキング順位(順位の閾値)までの中心ホストを攻撃候補として絞り込む(S1007)。ここで絞り込むランキング順位の数は、検出毎に異なる。
攻撃フロー特定部304は、絞り込んだ中心ホスト以外の中心ホストは、攻撃には関係ないと判定して、削除(除外)する(S1008)。攻撃フロー特定部304は、絞り込んだ中心ホストを攻撃フロークラスタ312として、記憶部305に保存する(S1009)。
攻撃時間判定部303は、グルーピングした時間帯Aが攻撃時間帯315と推測していない場合(S1004の否定)、正常時間帯であると考えられるため、正常なフロークラスタ314として記憶部に保存する(S1010)。
これにより、攻撃検知分析装置107は、NW装置106に接続され、複数のホストのフローを組み合わせて相関分析することで、一連の攻撃活動を検出することが可能となる。また、攻撃検知分析装置107は、検出された結果をもとに、さらにセキュリティ(攻撃)の候補を絞ることで、誤検知の低減を実現することが可能となる。
以上のように、実施例1の攻撃検知分析装置107は、相関フローのクラスタリングでキーとなる中心ホストにおける相関フローの出現数のランキングを時間帯ごとに生成し、出現数のランキングが類似(所定条件を満足)する時間帯をグルーピングし、生成されたグループのうち時間帯の数が少数派の方を攻撃時間帯として推定する。
これにより、新たなクラスタを、異常または異常の予兆があるクラスタとして検出することで、不正な通信、または不正の疑いのある通信の発生を検出することが可能となって、マルウェアや外部の端末等からの未知の攻撃に対応することが可能となる。
次に、攻撃検知分析装置107は、第二段階として、第一段階で攻撃時間帯と推定した時間帯に着目し、攻撃時間帯で活発に活動する中心ホストを攻撃ホスト候補として絞り込むことで、活動の不審な中心ホストを特定することで前述のような誤検知率を改善することができる。
なお、上記実施例1では、攻撃検知分析装置107がリアルタイムでホスト101〜103のフローデータ310を収集して攻撃の検知を行う例を示したが、これに限定されるものではない。例えば、ストレージ装置12の記憶部305からフローデータ310を読み込んで攻撃または攻撃の予兆を検出しても良い。
なお、上記実施例1では、外部ネットワーク104のホスト101〜103ついて攻撃または攻撃の予兆を検出する例を示したが、LAN等のネットワークに接続されたホスト(または機器)に適用することができる。
なお、上記実施例1の図10では、ユークリッド距離が最小の時間帯をひとつのグループにグルーピングする例を示したが、既に処理した時間帯を学習データとして、類似する時間帯のグルーピングを行うようにしてもよい。
本発明の実施例2に係る攻撃検知分析装置の機能ブロック図を、図11に示す。本実施例2では、実施例1の攻撃時間判定部303の処理を外部の装置が行う例を示す。
なお、図11では、前記実施例1の図3と同一の部分については同一の符号を付し、主に異なる部分について説明する。
図11の攻撃検知分析装置107は、前記実施例1の攻撃時間判定部303を攻撃時間判定装置1101としたもので、フロークラスタ処理部302は、算出したフロークラスタ314を攻撃時間判定装置1101へ送信する。
図11に示すように、攻撃時間判定装置1101がフロークラスタ314から前記実施例1と同様に、攻撃時間帯315(および正常時間帯)と判定した結果およびフロークラスタ中心ホスト統計311を、攻撃検知分析装置107へ送信し、攻撃時間情報受信部1102が攻撃時間帯315と正常時間帯およびフロークラスタ中心ホスト統計311を受信する。また、攻撃時間情報受信部1102が受信した結果は、攻撃検知分析装置107の記憶部305に攻撃時間帯315およびフロークラスタ中心ホスト統計311として格納される。
攻撃フロー特定部304は、攻撃時間情報受信部1102が受信した攻撃時間帯315とフローデータ310を用いて正常フロークラスタを除外し、攻撃時間帯と推定される
時間帯のみに着目して、活発に活動するフロークラスタ314の中心ホストを攻撃元のホスト候補として絞り込みを行う。
このように、攻撃時間判定部として機能する攻撃時間判定装置1101と攻撃フロー特定部304が一連の処理を行わない場合でも、一連の攻撃活動を検出することが可能となる。また、攻撃検知分析装置107は、検出された結果をもとに、さらにセキュリティ(攻撃)の候補を絞ることで、誤検知の低減を実現することが可能となる。
本発明の実施例3に係る攻撃検知分析装置の機能ブロック図を、図12に示す。実施例3では、本発明の誤検知低減に加えて、攻撃の検知率も向上させる例を示す。
なお、図12では、実施例1と実施例2と同一部分については同一の符号を付し、主に異なる部分について説明する。
図12に示すように、実施例3を実現させるために、攻撃フロー特定部304にポート番号統計処理1201とポート番号によるフィルタ処理1202を有し、また、記憶部305にポート番号データ1203とポート番号フィルタデータ1204をさらに記憶する。
ポート番号統計処理1201は、中心ホストによるフィルタ処理309と、前記攻撃フロークラスタフィルタ316で検出されたホストを対象に、フロークラスタ処理を実施する時間帯毎に、フロークラスタ中心ホスト統計311を用いて、中心ホストの通信先のポート番号が短命ポート(Ephemeral port)である個数を正常時間帯と異常時間帯でそれぞれ集計する。なお、短命ポートのポート番号は、ウェルノウンポート以外のポート番号であればよい。
ポート番号統計処理1201は、集計した結果(短命ポートの数)を、ポート番号データ1203として記憶部305へ格納する。また、ポート番号統計処理1201は、集計した結果を、ポート番号によるフィルタ処理1202へ送信する。
ポート番号によるフィルタ処理1202は、フロークラスタ処理を実施する時間帯毎のポート番号データ1203と攻撃時間帯315を用いて、攻撃時間帯315の短命ポートの個数が正常時間帯の短命ポートの個数より増加した中心ホストを特定し、攻撃元のホスト候補として絞り込みを行う。
図13に、本実施例に係る攻撃検知分析装置107について、本発明の誤検知低減法に加えて、攻撃の検知率も向上させる処理の一例を示すフローチャートを示す。なお、図13では、実施例1の図10と同一部分については同一の符号を付し、主に異なる部分について説明する。
ポート番号統計処理1201は、絞り込んだホストを対象に、フロークラスタ処理を実施する時間帯毎に中心ホストの通信先のポート番号が短命ポートである個数を、正常時間帯と異常時間帯でそれぞれ集計する(S1301)。
次に、ポート番号によるフィルタ処理1202は、攻撃時間帯315のポート数が正常時間帯のポート数より増加したホストを特定し、攻撃候補として絞り込む(S1302)。
なお、ホストの正常時間帯のポート数は、予め設定した値をポート番号フィルタデータ1204に格納するようにしても良い。
このように、攻撃フロー特定部304が攻撃時間帯315で正常時間帯とは異なる動きをする中心ホストを短命ポートを利用して検出することで、さらに攻撃ホストの検知率の改善を実現することが可能となる。
以上のように、本実施例3によれば、攻撃時間帯の中心ホストについて、短命ポートの数が正常時間帯に比して攻撃時間帯で増大する中心ホストを攻撃または攻撃の予兆の候補として特定することで、正常な中心ホストを攻撃候補として誤検出するのを抑制できる。 なお、上記実施例3では、攻撃時間判定装置1101を攻撃検知分析装置107から独立させた例を示したが、これに限定されるものではなく、前記実施例1と同様に、攻撃検知分析装置107が攻撃時間判定部303を内包する構成であってもよい。
<まとめ>
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
101〜103 ホスト
104 外部ネットワーク
105 データセンター
106 ネットワーク装置
107 攻撃検知分析装置
108 ネットワーク制御装置
301 フローデータ収集部
302 フロークラスタ処理部
303 攻撃時間判定部
304 攻撃フロー特定部
305 記憶部
306 フロークラスタ中心ホスト統計処理
307 攻撃時間クラスタ処理
308 正常フロークラスタ除外処理
309 中心ホストによるフィルタ処理
310 フローデータ
311 フロークラスタ中心ホスト統計
312 攻撃フロークラスタ
313 パケット数テーブル
314 フロークラスタ
315 攻撃時間
316 攻撃フロークラスタフィルタ
401 データ変換部
402 データフィルタ部
501 サービス作成部
502 パケット集計部
503 フロークラスタ生成部
1101 攻撃時間判定装置
1102 攻撃時間情報受信部
1201 ポート番号統計処理
1202 ポート番号によるフィルタ処理
1203 ポート番号データ
1204 ポート番号フィルタデータ

Claims (8)

  1. プロセッサとメモリを有し、ネットワークに接続された機器の通信のフローを監視する攻撃検知分析装置であって、
    前記プロセッサは、前記機器で送受信される通信のフローをフローデータとして収集し、
    前記プロセッサは、前記フローデータのうち所定の時間帯毎に相関関係を有するフローデータをクラスタリングしてフロークラスタとして生成し、
    前記プロセッサは、前記フロークラスタについて、前記フローデータとフローデータの繋ぎ目である中心ホストにおける相関フローの活動量を複数の時間帯毎に算出した結果を中心ホスト統計とし、
    前記プロセッサは、前記中心ホスト統計から中心ホストにおける相関フローの活動量が類似する時間帯をグルーピングして複数のグループを生成し、
    前記プロセッサは、前記複数のグループのうち前記グループに含まれる時間帯の数が少ないグループを攻撃時間帯と推定することを特徴とする攻撃検知分析装置。
  2. 請求項1に記載の攻撃検知分析装置であって、
    前記プロセッサは、前記複数のグループのうち前記グループに含まれる時間帯の数が少ないグループを攻撃時間帯と推定し、攻撃時間帯以外のグループに含まれる時間帯を正常時間帯と推定し、
    前記プロセッサは、正常時間帯に含まれるフロークラスタを、攻撃時間帯のフロークラスタから除外することを特徴とする攻撃検知分析装置。
  3. 請求項1に記載の攻撃検知分析装置であって、
    前記フロークラスタの中心ホストにおける相関フローの活動量は、前記算出する時間帯毎フロークラスタの中心ホストにおける相関フローの数であることを特徴とする攻撃検知分析装置。
  4. 請求項1に記載の攻撃検知分析装置であって、
    前記フロークラスタの中心ホストにおける相関フローの活動量は、前記算出する時間帯毎フロークラスタの中心ホストにおける相関フローの出現数ランキングの順位であることを特徴とする攻撃検知分析装置。
  5. プロセッサとメモリを有し、ネットワークに接続された機器の通信のフローを監視する攻撃検知分析装置であって、
    前記プロセッサは、前記機器で送受信される通信のフローをフローデータとして収集し、
    前記プロセッサは、前記フローデータのうち所定の時間帯毎に相関関係を有するフローデータをクラスタリングしたフロークラスタを外部へ送信し、
    前記プロセッサは、前記フロークラスタの各時間帯について、攻撃または攻撃の予兆を含む攻撃時間帯と正常時間帯と、前記フローデータとフローデータの繋ぎ目である中心ホストにおける相関フローの活動量を複数の時間帯毎に算出した結果である中心ホスト統計を受信し、
    前記プロセッサは、正常時間帯に含まれるフロークラスタを、攻撃時間帯のフロークラスタから除外することを特徴とする攻撃検知分析装置。
  6. 請求項5に記載の攻撃検知分析装置であって、
    前記フロークラスタの中心ホストにおける相関フローの活動量は、前記算出する時間帯毎のフロークラスタの中心ホストにおける相関フローの数であることを特徴とする攻撃検知分析装置。
  7. 請求項5に記載の攻撃検知分析装置であって、
    前記フロークラスタの中心ホストにおける相関フローの活動量は、前記算出する時間帯毎のフロークラスタの中心ホストにおける相関フローの出現数ランキングの順位であることを特徴とする攻撃検知分析装置。
  8. プロセッサとメモリを有する計算機が、ネットワークに接続された機器の通信のフローを監視して攻撃を検知する攻撃検知方法であって、
    前記計算機が、前記機器で送受信される通信のフローをフローデータとして収集する第1のステップと、
    前記計算機が、前記フローデータのうち所定の時間帯毎に相関関係を有するフローデータをクラスタリングしてフロークラスタとして生成する第2のステップと、
    前記計算機が、前記フロークラスタについて、前記フローデータとフローデータの繋ぎ目である中心ホストにおける相関フローの活動量を複数の時間帯毎に算出した結果を中心ホスト統計とする第3のステップと、
    前記計算機が、前記中心ホスト統計から中心ホストにおける相関フローの活動量が類似する時間帯をグルーピングして複数のグループを生成する第4のステップと、
    前記計算機が、前記複数のグループのうち前記グループに含まれる時間帯の数が少ないグループを攻撃時間帯と推定する第5のステップと、
    を含むことを特徴とする攻撃検知方法。
JP2017122184A 2017-06-22 2017-06-22 攻撃検知分析装置及び攻撃検知方法 Active JP6820240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017122184A JP6820240B2 (ja) 2017-06-22 2017-06-22 攻撃検知分析装置及び攻撃検知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017122184A JP6820240B2 (ja) 2017-06-22 2017-06-22 攻撃検知分析装置及び攻撃検知方法

Publications (2)

Publication Number Publication Date
JP2019009549A JP2019009549A (ja) 2019-01-17
JP6820240B2 true JP6820240B2 (ja) 2021-01-27

Family

ID=65029769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017122184A Active JP6820240B2 (ja) 2017-06-22 2017-06-22 攻撃検知分析装置及び攻撃検知方法

Country Status (1)

Country Link
JP (1) JP6820240B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881686A (zh) * 2020-07-20 2020-11-03 杭州安恒信息技术股份有限公司 新出现实体的检测方法、装置、电子装置和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677569B2 (ja) * 2005-11-08 2011-04-27 国立大学法人東北大学 ネットワーク異常検知方法およびネットワーク異常検知システム
JP2017034605A (ja) * 2015-08-05 2017-02-09 株式会社日立製作所 ネットワークシステム、通信の分析方法、及び分析装置
JP2017211806A (ja) * 2016-05-25 2017-11-30 株式会社日立製作所 通信の監視方法、セキュリティ管理システム及びプログラム

Also Published As

Publication number Publication date
JP2019009549A (ja) 2019-01-17

Similar Documents

Publication Publication Date Title
Moustafa et al. Big data analytics for intrusion detection system: Statistical decision-making using finite dirichlet mixture models
CN108429651B (zh) 流量数据检测方法、装置、电子设备及计算机可读介质
EP3745272B1 (en) An application performance analyzer and corresponding method
Ravale et al. Feature selection based hybrid anomaly intrusion detection system using K means and RBF kernel function
JP7319370B2 (ja) 挙動による脅威検出のためのシステムおよび方法
Syarif et al. Intrusion detection system using hybrid binary PSO and K-nearest neighborhood algorithm
Logeswari et al. An intrusion detection system for sdn using machine learning
EP2725512B1 (en) System and method for malware detection using multi-dimensional feature clustering
JP7302019B2 (ja) システムレベルセキュリティのための階層的挙動行動のモデル化および検出システムおよび方法
US11700269B2 (en) Analyzing user behavior patterns to detect compromised nodes in an enterprise network
CN113168469B (zh) 用于行为威胁检测的系统及方法
JP2021027505A (ja) 監視装置、監視方法、および監視プログラム
JP6820240B2 (ja) 攻撃検知分析装置及び攻撃検知方法
KR102311997B1 (ko) 인공지능 행위분석 기반의 edr 장치 및 방법
JP2017211806A (ja) 通信の監視方法、セキュリティ管理システム及びプログラム
JP2020038525A (ja) 異常検知装置
Zoppi et al. An initial investigation on sliding windows for anomaly-based intrusion detection
Akomolafe et al. An improved knn classifier for anomaly intrusion detection system using cluster optimization
Putra et al. Prototyping distributed botnet detection system in computer networks
Ullah et al. Quantifying the Impact of Design Strategies for Big Data Cyber Security Analytics: An Empirical Investigation
Chahira Model for intrusion detection based on hybrid feature selection techniques
JP2019175070A (ja) アラート通知装置およびアラート通知方法
CN113168468B (zh) 用于行为威胁检测的系统及方法
Solanki et al. Intrusion detection technique using data mining approach: survey
Qin et al. LMHADC: Lightweight method for host based anomaly detection in cloud using mobile agents

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210104

R150 Certificate of patent or registration of utility model

Ref document number: 6820240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150