JP6866271B2 - 異常検知装置、異常検知方法、及びプログラム - Google Patents

異常検知装置、異常検知方法、及びプログラム Download PDF

Info

Publication number
JP6866271B2
JP6866271B2 JP2017202091A JP2017202091A JP6866271B2 JP 6866271 B2 JP6866271 B2 JP 6866271B2 JP 2017202091 A JP2017202091 A JP 2017202091A JP 2017202091 A JP2017202091 A JP 2017202091A JP 6866271 B2 JP6866271 B2 JP 6866271B2
Authority
JP
Japan
Prior art keywords
information
packet transfer
transfer device
feature amount
detection
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
JP2017202091A
Other languages
English (en)
Other versions
JP2019075745A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017202091A priority Critical patent/JP6866271B2/ja
Publication of JP2019075745A publication Critical patent/JP2019075745A/ja
Application granted granted Critical
Publication of JP6866271B2 publication Critical patent/JP6866271B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークにおける異常通信を検出する技術に関連するものである。
NW(ネットワーク)に接続される端末台数の増加が予想されており、NWに接続される端末台数が2020年には300億台に達すると言われている(非特許文献1)。そのような状況の中、運用コスト削減等の観点からセキュリティ対策が十分に行われない端末も通信事業者網に多数接続され、サイバー攻撃の標的となっている。そこで、通信事業者網におけるセキュリティ対策が期待されている(非特許文献2)。
特に、感染端末を増やす攻撃(以降、感染拡大攻撃と呼ぶ)への対策は、大規模な攻撃の実現可能性を引き下げることができ、セキュリティ対策として効果が高いと考えられる。
総務省,"情報通信白書 平成28年度版", 2016 "IoTセキュリティにおける通信サービスプロバイダへの期待", https://www.trendmicro.com/jp/iot-security/special/20109, 2017 NTTコミュニケーションズ,"トラフィック解析システムSAMURAIとサービス展開", http://www.ntt.co.jp/journal/0807/files/jn200807016.pdf, 2008.
感染拡大攻撃をLAN(Local Area Network)で検知する既存技術が存在するが、既存技術ではパケットのフルキャプチャ等、個々の通信を全て取得する必要がある。そのため、通信事業者網のように大量の端末が接続され、膨大なトラヒックが流れるNWへの適用には、大きなストレージ量や処理負荷が必要であり、情報取得コストの観点から現実的でない。
また、個々の通信を全て取得するのではなく、フローサンプリング等の間欠的な情報を用いた既存の異常検知技術が存在するが、攻撃通信が大量に発生する場合でしか検知できず(非特許文献3)、感染端末が少ない段階で攻撃を検知できない。
本発明は上記の点に鑑みてなされたものであり、情報取得コストを削減するとともに、サンプリングでは抽出できない少量パケットによる攻撃でも検知を可能とする技術を提供することを目的とする。
開示の技術によれば、上流のパケット転送装置と下流のパケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置であって、
前記上流のパケット転送装置において、予め定められた第1分割情報によりパケットが複数の区分に分類され、第1区分毎にパケットに関する第1の所定の情報が取得され、前記下流のパケット転送装置において、前記第1分割情報と異なる第2分割情報によりパケットが複数の区分に分類され、第2区分毎にパケットに関する第2の所定の情報が取得され、
前記異常検知装置は、
前記上流のパケット転送装置と前記下流のパケット転送装置から、前記第1区分毎の前記第1の所定の情報と前記第2区分毎の前記第2の所定の情報を取得し、当該第1の所定の情報と第2の所定の情報から特徴量を生成する特徴量生成手段と、
前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段と
を備えることを特徴とする異常検知装置が提供される。
開示の技術によれば、情報取得コストを削減するとともに、サンプリングでは抽出できない少量パケットによる攻撃でも検知を可能とする技術が提供される。
実施の形態の概要を説明するための図である。 既存技術と提案技術との相違を説明するための図である。 検知システムの構成図である。 分割情報と攻撃分離情報の例を説明するための図である。 攻撃分離情報の基になる情報の例とACLの設定方式を説明するための図である。 特徴ベクトルの生成方法を説明するための図である。 パケット転送装置の機能構成の一例を示す図である。 異常検知用コントローラ装置の機能構成の一例を示す図である。 異常検知用ストレージ装置の機能構成の一例を示す図である。 ACLの設定情報を保持するテーブルの構成の一例を示す図である。 特徴量加工方法を保持するテーブルの構成の一例を示す図である。 検知モデル及びパラメータ情報を保持するテーブルの構成の一例を示す図である。 特徴量生成装置の機能構成の一例を示す図である。 取得情報テーブル記憶部の構成の一例を示す図 検知用演算装置の機能構成の一例を示す図である。 学習データのテーブル記憶部の構成の一例を示す図である。 学習パラメータのテーブル記憶部の構成の一例を示す図である。 装置のハードウェア構成の例を示す図である。 ACLのコンフィグ投入におけるシーケンスを示す図である。 学習データの生成と検知モデルの学習におけるシーケンスを示す図である。 トラヒックデータの取得と検知モデルによる異常検知におけるシーケンスを示す図である。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、異常通信の例として、攻撃通信を挙げて説明しているが、本発明により、攻撃通信以外の異常通信を検知することも可能である。
(実施の形態の概要)
まず、本実施の形態の概要を説明する。攻撃通信は正常通信に比べて少量であり、その兆候をつかむことは一般には困難であるが、本実施の形態では、下記の手順1、手順2により、軽量かつ間欠的でない情報を取得し、当該情報を用いて攻撃検知を行うことにより、攻撃通信の兆候を従来よりも低コストで検知することを可能としている。
<手順1>
ルータ等のNW機器(パケット転送装置とも呼ぶ)を流れるトラヒック情報を「分割情報」の値を用いて、幾つかの区間(区分、グループ等と呼んでもよい)に分割する。
「分割情報」とは、宛先IPアドレス、プロトコル等のL3、L4ヘッダの属性情報の中で、その取り得る値の範囲が有限である情報(例:宛先IPアドレスや宛先ポート番号)を指す。特に、正常通信において取り得る値が一様に分布するような分割情報を選ぶことで、正常通信を均一に分割でき、どの区間においても攻撃通信による通信情報の変化を目立たせることが出来る。分割情報として、複数の情報を用いてもよい。
<手順2>
手順1で分割した、一部もしくは全部の区間毎に、「攻撃分離情報の素になる情報」を取得する。これは、後述する特徴量の素になる情報である。
ここで、「攻撃分離情報」とは、正常通信には該当せず、攻撃通信においてのみ該当する変化を示す情報(例:TCPコネクションに失敗した回数の増加、使用頻度の低い宛先ポート番号を指定した通信の増加)を指す。攻撃分離情報には、既存研究で攻撃発生時においてトラヒック傾向の変化を示す情報を選択すればよい。また、複数の攻撃分離情報を選択してもよい。なお、「攻撃分離情報」が異常である場合(正常の範囲からはずれる場合)に、後述する検知モデルにより異常が検知される。
「攻撃分離情報の素になる情報」とは、攻撃分離情報を取得するために、具体的に通信事業者網で取得できる通信情報を指す。例えば、攻撃分離情報がTCPコネクションに失敗した回数の場合、攻撃分離情報の素になる情報はTCPのSYNフラグ、SYN/ACKフラグ、RSTフラグを持つパケット数となる。
図1に、手順1と手順2の例を示す。図1に示す例では、手順1により、トラヒック情報が3つの区間に分割されている。手順1では、トラヒック全体を区間毎に分割することで、異常通信が含まれる区間における正常通信に対する異常通信の割合を向上させ、攻撃通信による通信情報の変化を目立たせることができる。また、手順2では、攻撃発生時においてトラヒック傾向の変化を示す情報に着目することで、攻撃の兆候を捉えることができる。
上記の手順1及び手順2は、NW機器のACL(アクセスコントロールリスト)を用いることで実施することが可能である。
なお、手順2で着目する属性情報の中には、SYNパケット数に対するSYN/ACKパケット数の割合等が含まれる。従来の検知方式では、フロー等のステートフルな表現を加工して、これらの情報を取得していたが、本実施の形態では通信事業者網で取得できるステートレスな情報の組合せから、類似の情報を取得している。
本実施の形態では、手順1、手順2により取得された情報から特徴量を生成する。特徴量は、検知モデル(識別器)の学習に用いられるとともに、攻撃を検知するために検知モデルへの入力としても用いられる。
特徴量として、手順1、手順2により取得された情報をそのままを使用してもよい。また、手順1、手順2により取得された情報同士を任意に組合せて、合計を取る、差分を求める、比率を計算する等の任意の演算を行うことで加工した情報を特徴量として用いてもよい。例えば、取得したSYNパケット数に対するSYN/ACKパケット数の比率を計算してもよい。なお、後述する「特徴量ベクトル」を特徴量と称してもよい。
(既存技術と提案技術との違い)
ここで、図2を参照して、既存技術と提案技術(実施の形態に係る技術)との違いを説明する。図2(a)に示すように、既存技術(非特許文献3)では、サンプリングにより一部のパケットのみを抽出し、検知に利用する。既存技術により抽出される情報は、サンプリングされないパケットは無視しているという意味で、「間欠的な情報」と呼ぶことができる。既存技術では、サンプリングで取得した情報に基づいて異常検知を行うため、そもそもサンプリングされない少量の攻撃通信は検知できない。
一方、図2(b)に示す提案技術では、全パケットを分割情報の値毎に分けて、分けたパケットの集合毎に集約した攻撃分離情報の素になる情報を取得する。これにより、軽量だが間欠的でない情報を取得することができる。つまり、提案技術では、分割情報に基づいてパケットを分類し、分類毎に「攻撃分離情報の素になる情報」を取得し、加工することで検知に利用するため、全パケットの情報を取り入れて検知を行うことが可能である。
(システムの全体構成)
図3に本実施の形態における検知システムの全体構成図を示す。本実施の形態における検知システムは、大量の端末700が接続された大規模なIPネットワーク600におけるシステムであり、端末700はそれぞれ異なる通信特性(例えば、通信頻度、宛先数、パケットサイズ等)を持つ。
図3に示すように、検知システムは、パケット転送装置100、異常検知用コントローラ装置200、異常検知用ストレージ装置300、特徴量生成装置400、検知用演算装置500を有する。また、異常検知用コントローラ装置200、異常検知用ストレージ装置300、特徴量生成装置400、及び検知用演算装置500は、異常検知用装置群800を構成している。なお、異常検知用コントローラ装置200、異常検知用ストレージ装置300、特徴量生成装置400、及び検知用演算装置500のそれぞれが独立の物理的なコンピュータ(仮想マシンでもよい)であってもよいし、異常検知用コントローラ装置200、異常検知用ストレージ装置300、特徴量生成装置400、及び検知用演算装置500のいずれか複数(全部でもよい)が1つのコンピュータ(仮想マシンでもよい)で実現されてもよい。また、異常検知用装置群800を「異常検知装置」と称してもよい。異常検知用装置群800を構成する各装置は、ネットワーク接続されていてもよいし、異常検知用装置群800が物理的な1つの装置として構成され、図3に示す異常検知用装置群800内の各装置は、1つの装置の中の機能部であってもよい。
パケット転送装置100は、インターネット900と端末700間のパケットを中継する装置であり、一例としては、通信事業者網のコアネットワーク(図3のIP−NWに相当)におけるルータ等のNW機器を指す。パケット転送装置100は、パケットの中継を行う際に、前述した手順1と手順2の処理を実行する。すなわち、パケット転送装置100は、ACLを用いて特定の性質を持つ送受信パケット数等の情報を収集する。パケット転送装置100は、収集した情報を特徴量生成装置400に送信する。
異常検知用ストレージ装置300は、異常検知に必要な検知モデルやそのパラメータ等の情報を保持する。特徴量生成装置400は、異常検知に必要な特徴量をパケット転送装置400から受信した情報を加工することで生成する。
検知用演算装置500は、特徴量生成装置400から特徴量を取得し、検知モデルの学習と異常検知を行う。
異常検知用装置群800における各装置の構成と動作の詳細は後述する。なお、想定するNW機器が階層型のNW機器である場合、複数のパケット転送装置が存在することになるが、本実施の形態では各NW機器毎に異常検知装置群800を用意する。ただし、これに限られるわけではなく、複数のNW機器に対して1つの異常検知装置群800が用意されてもよい。
(動作例)
検知システムにおける装置が実行する主要な動作の例を説明する。
図4は、パケット転送装置100が実行する手順1、手順2における分割情報と、攻撃分離情報に関わる情報の例を示す図である。
分割情報の一例として、宛先アドレス空間の情報が挙げられる。図4(a)は、一例として、パケット転送装置100が3つの宛先アドレレス空間を識別し、それらのうち、感染端末がz.0.0.0/8のアドレス空間のアドレスを宛先として通信を行っていることを示している。
また、「攻撃分離情報の素となる情報」の生成のための情報の一例として、宛先ポート番号、TCPフラグ値等がある。図4(b)は、宛先ポート番号の例として、非well knownポートの番号を指定して異常検知を行う場合の例を示している。また、図4(c)は、TCPフラグ値の例として、SYN/ACKフラグ、RSTフラグを使用して異常検知を行う場合の例を示している。
図4に示す例において、例えば、分割情報として宛先IPアドレス(/8)("宛先/8空間"と呼ぶ)を使用し、宛先/8空間毎のパケット数がパケット転送装置100により取得される。また、攻撃分離情報の素になる情報として、宛先/8空間毎に、例えば、非well−knownポートを宛先とするパケット数、SYNのTCPフラグ値を持つパケット数、SYN−ACKのTCPフラグ値を持つパケット数、RSTのTCPフラグ値を持つパケット数がパケット転送装置100により取得される。
前述したように、上記の各パケット数は、パケット転送装置100にACLを設定することにより取得することができる。
なお、ACLはパケット転送装置100毎に異なる設定をしても良い。また、ACLを設定するトラヒックの方向は特定の方向に限定されない。
本実施の形態のパケット転送装置100におけるACL行数の上限は約1000行であるが、ACLを一つのパケット転送装置100に書ききることが出来ない場合、複数のパケット転送装置100で異なるACLの設定を行うことで、その機能を分担することとしてもよい。図5は、複数のパケット転送装置100で異なるACLの設定を行う場合における例を示す図である。
図5に示す例では、下流のパケット転送装置100において、宛先/8空間毎の任意のポート番号を宛先とするパケット数、及び、宛先/8空間毎の任意のポート番号を宛先とするSYN、SYN/ACK、及びRSTそれぞれのパケット数を取得するためのACLが設定される。
また、上流のパケット転送装置100において、任意の宛先IPアドレスの非well−knownポートを宛先とするパケット数、及び、任意の宛先IPアドレスの非well−knownポートを宛先とするSYN、SYN/ACK、及びRSTそれぞれのパケット数を取得するためのACLが設定される。上記のACLに基づき取得された各パケット数は、各パケット転送装置100から特徴量生成装置400に送信される。
特徴量生成装置400は、各パケット転送装置100から受信したパケット数の情報を加工することにより、異常検知に必要な特徴量を生成する。図5に示したように下流のパケット転送装置100(NW機器)と上流のパケット転送装置100(NW機器)とにより取得された各パケット数を加工することにより特徴量を生成する場合の例を図6に示す。図6は、特徴量ベクトル生成の一例として、取得した情報同士の比率を計算することで
特徴量を生成する場合の例を示している。
図6の上段に示すように、特徴量生成装置400は、下流のパケット転送装置100から(1)宛先/8空間毎のパケット数、(2)宛先/8空間毎のSYNパケット数、(3)送信元/8空間毎のSYN/ACKパケット数、及び(4)送信元/8空間毎のRSTパケット数を取得する。
そして、特徴量生成装置400は、宛先/8空間毎のSYNパケット数に対するSYN/ACKパケット数の割合と、宛先/8空間毎のSYNパケット数に対するRSTパケット数の割合とを算出する。これにより、宛先/8空間毎の特徴ベクトル(SYNパケット数に対するSYN/ACKパケット数の割合,SYNパケット数に対するRSTパケット数の割合)が得られる。
なお、図6における「宛先」、「送信元」については、パケットが「上り」か「下り」かに基づくものである。
また、図6の下段に示すように、特徴量生成装置400は、上流のパケット転送装置100から、(1)宛先/8空間毎の非ウェルノウンポートを指定したパケット数、(2)宛先/8空間毎の非ウェルノウンポートを指定したSYNパケット数、(3)送信元/8空間毎の非ウェルノウンポートを指定したSYN/ACKパケット数、及び(4)送信元/8空間毎の非ウェルノウンポートを指定したRSTパケット数を取得する。
そして、特徴量生成装置400は、宛先/8空間毎の非ウェルノウンポートを指定したSYNパケット数に対する非ウェルノウンポートを指定したSYN/ACKパケット数の割合((3)/(2))と、宛先/8空間毎の非ウェルノウンポートを指定したSYNパケット数に対する非ウェルノウンポートを指定したRSTパケット数の割合((4)/(2))とを算出する。
更に、特徴量生成装置400は、宛先8/空間毎の下流パケット転送装置100における全パケット数に対する非ウェルノウンポートを指定したパケット数の割合、宛先8/空間毎の(「下流パケット転送装置における(3)/(2)の全宛先8/空間の平均」‐上流パケット転送装置における(3)/(2))、宛先8/空間毎の(「下流パケット転送装置における(4)/(2)の宛先8/空間の平均」‐上流パケット転送装置における(4)/(2))を算出する。
検知用演算装置500は、特徴量生成装置400により生成された多次元な特徴量に対し、攻撃通信と正常通信を識別(非線形分離)するため、One−Class SVMを用いて学習と異常検知を行う。One−Class SVMを用いた異常検知自体は既存技術であるので、ここでは概要を説明する。なお、One−Class SVMを使用することは例であり、その他の手法で検知を行ってもよい。
検知用演算装置500は、One−Class SVMを用いて、正常・攻撃の2クラスの分離平面を教師なし学習する。One−Class SVMでは、パラメータνによって学習データにおける外れ値が占める割合を指定し、特徴量空間において正常データと原点の間のマージンを最大化する分離平面を学習する。また、パラメータσを伴うRBFカーネルにより特徴量空間を射影することで、非線形の分離平面を得ることができる。検知用演算装置500は、タイムスロットごとの特徴量ベクトルを受け取り、それぞれに対して正常・異常の判定を出力する。
(各装置の詳細構成)
以下、図3に示した検知システムを構成する各装置の詳細構成の例を説明する。
<パケット転送装置>
図7は、パケット転送装置100の機能構成の一例を示す図である。図7に示すように、パケット転送装置100は、通信部110と情報収集部120を有する。情報収集部120は、これまでに説明したACLを有する。
通信部110は、端末700から送信された情報を取得し、当該情報をインターネット900へと送信するとともに、インターネット900から送信された情報を取得し、当該情報を端末700へと送信する。
また、インターネット900と端末700との間で送受信される情報は、通信部110から情報収集部120に渡される。情報収集部120には、異常検知用ストレージ装置300から、通信情報の属性情報(例:宛先・送信元IPアドレスやバイト数等)毎に条件がACLとして設定される。情報収集部120は、設定された条件にマッチしたパケットの数を特徴量生成装置400に送信する。
ACLは、パケット転送装置100に複数設定することができ、その適用タイミングはパケットのフォワーディングの前後で限定されない。また、既に説明したとおり、階層型のNWにおいて、ACLの設定容量が足りない場合、異なる階層毎に異なるACLを設定し、機能分担することも可能であり、設定箇所は1つのパケット転送装置100に限られない。また、情報収集部120が特徴量生成装置400に送信する通信情報は上記のようなパケットの数に限られるわけではなく、IPヘッダを取得し、送信してもよいし、パケットのフルキャプチャを行ってもよい。以降、条件にマッチしたパケットの数を例に用いて説明する。
<異常検知用コントローラ装置>
図8は、異常検知用ストレージ装置200の機能構成の一例を示す図である。図8に示すように、異常検知用コントローラ装置200は、ACLの設定情報や検知アルゴリズムのパラメータといった、 検知に利用する情報をシステム外部から入力するインターフェース210と、 検知用演算装置500による異常検知結果を表示するインターフェース220を有する。また、異常検知用ストレージ装置200は、通信部230を有する。
インターフェース210から入力された設定情報は、通信部230により異常検知用ストレージ装置300に送信される。当該設定情報は、異常検知用ストレージ装置300からパケット転送装置100、検知用演算装置500、特徴量生成装置400等のテーブルに格納される。
また、通信部230は、検知用演算装置500から検知の結果を受け取り、その結果をインターフェース220を介してユーザに対して表示する。
<異常検知用ストレージ装置>
図9は、異常検知用ストレージ装置300の機能構成の一例を示す図である。図9に示すとおり、異常検知用ストレージ装置300は、ACLの設定情報を保持するテーブル310、特徴量加工方法を保持するテーブル320、検知モデル及びパラメータ情報を保持するテーブル330を有する。また、異常検知用ストレージ装置300は、各テーブルの情報の書き込み・読み出し等を行う情報管理部340、及び、他の装置との通信を行う通信部350を有する。
テーブル310、320、及び330に含まれる情報は、通信部350と情報管理部340を介して異常検知用コントローラ装置200から指定される。
図10は、ACLの設定情報を保持するテーブル310の構成の一例を示す図である。図10に示すように、当該テーブル310には、ACLの行IDと、設定箇所(設定先I/F、方向)と、ACLの内容とが紐づいた情報が格納されている。また、例えば行1と行4に示すように、トラヒックの向きにより、属性情報の対となる情報が格納される。
図11は、特徴量加工方法を保持するテーブル320の構成の一例を示す図である。図11に示すように、当該テーブル320には、特徴量加工を実施する時間幅や、パケット転送装置100から取得した情報の加工の仕方が格納される。これらの情報は、異常検知用コントローラ装置200から取得され、特徴量生成装置400に送信される。
図12は、検知モデル及びパラメータ情報を保持するテーブル330の構成の一例を示す図である。図12に示すように、当該テーブル330には、異常検知に利用するアルゴリズムの種類や、ハイパーパラメータの値、学習に利用するサンプル(特徴量)の数が格納される。これらの情報は異常検知用コントローラ装置200から取得され、検知用演算装置500に送信される。検知用演算装置500は、これらの情報を検知モデルの学習及び異常検知に利用する。
<特徴量生成装置>
図13は、特徴量生成装置400の機能構成の一例を示す図である。図13に示すように、特徴量生成装置400は、情報管理部410、特徴量演算部420、取得情報テーブル記憶部430、特徴量ベクトル生成部440、及び通信部450を有する。
通信部450は、パケット転送装置100で設定されたACLに基づき取得された情報を受信し、情報管理部410を介して取得情報テーブル記憶部430の取得情報テーブルに格納する。また、特徴量演算部420は、テーブルに一定期間蓄積された情報を加工することで特徴量を生成し、特徴量ベクトル生成部440は当該特徴量を用いて特徴量ベクトルを生成する。生成された特徴量ベクトルは、通信部450を介して検知用演算装置500に送信される。なお、「特徴量ベクトル」は、特徴量の一種であるので、「特徴量ベクトル」を特徴量と称してもよい。
図14は、取得情報テーブル記憶部430に格納されるテーブルの構成の一例を示す図である。図14に示すとおり、このテーブルには、パケット転送装置100から取得した情報(ACLで設定したルールにマッチしたパケットの数)がACL行毎に格納される。
特徴量生成に利用する情報の取得時間の間、このテーブルの値は更新され、当該取得時間の経過後に、当該テーブルの情報が特徴量生成部420に送信される。情報が特徴量生成部420に送信された後は、テーブルの値は0に更新される。
<検知用演算装置>
図15は、検知用演算装置500の機能構成の一例を示す図である。図15に示すように、検知用演算装置500は、情報管理部510、検知用演算部520、検知モデル生成部530、学習データのテーブル記憶部540、学習パラメータのテーブル記憶部550、及び通信部560を有する。
検知用演算部520は、通信部560を介して特徴量生成装置400から特徴量ベクトルを取得する。検知モデルの学習期には、検知用演算部520は、複数の特徴量ベクトルを学習データのテーブル記憶部540のテーブルに格納しておき、 一定のデータが溜まった際に重みパラメータを学習する演算を行う。 生成した重みパラメータは学習パラメータのテーブル記憶部550に保持しておく。
検知モデル生成部530は、検知モデルを生成する。異常検知を行う際には、検知用演算部520は、現在のトラヒックから特徴量ベクトルを断続的に取得し、検知モデルに入力することで、異常判定を行う。検知用演算部520は、更に判定結果を異常検知用コントローラ装置200に送信する。なお、「検知モデル」は、例えば、パラメータを係数に持つ関数である。当該関数に、現在のトラヒックから得られた特徴量ベクトルを入力して得られる値により、異常かどうかを判定することができる。
図16は、学習データのテーブル記憶部540に格納されるテーブルの構成の一例を示す図である。図16に示すように、学習データのテーブル記憶部540には、学習に利用する特徴量ベクトル値を保持するテーブルが格納される。学習データのテーブル記憶部540は、異常検知用ストレージ装置300の検知モデル及びパラメータ情報を保持するテーブル330で指定された学習サンプル数Mに応じて特徴量ベクトルを保持する。
図17は、学習パラメータのテーブル記憶部550に格納されるテーブルの構成の一例を示す図である。当該テーブルは、学習用特徴量を検知モデル生成部530(検知アルゴリズム)に学習させた結果を格納するテーブルである。検知を実施する際には、特徴量生成装置400から得られた最新の特徴量と、この重みパラメータを検知モデルに入力することで、正常異常の判定が可能になる。
(ハードウェア構成例)
上述した各装置(図3に示すパケット転送装置100、異常検知用コントローラ装置200、異常検知用ストレージ装置300、特徴量生成装置400、検知用演算装置500)はいずれも、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。また、異常検知用コントローラ装置200、異常検知用ストレージ装置300、特徴量生成装置400、検知用演算装置500のいずれか複数(全部でもよい)が1つのコンピュータで実現される場合でも、その機能は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
すなわち、当該機能は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図18は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図18のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インターフェース装置1005、表示装置1006、及び入力装置1007等を有する。
当該装置での処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って当該装置に係る機能を実現する。インターフェース装置1005は、ネットワークに接続するためのインターフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。なお、ユーザとのインターフェースを必要としない装置については、表示装置1006や入力装置1007を備えないこととしてもよい。
(処理シーケンスの例)
次に、本実施の形態における検知システムにおいて実行される処理のシーケンスの例を説明する。
まず、図19を参照してACLのコンフィグ投入に関するシーケンスの例を説明する。図19に示すシーケンスにおいて、まず、本システムの利用者が定めたACL設定情報が異常検知用コントローラ装置200に入力され、当該ACL設定情報が異常検知用ストレージ装置300に送信される(S100)。
異常検知用ストレージ装置300は、受信したACL設定情報をテーブル310に書き込み(S101)、パケット転送装置100のACLに設定情報(コンフィグ)を反映させる(S102)。
ACLの設定がなされたパケット転送装置100は、ACLによりマッチしたパケット情報(例:パケット数)を特徴量生成装置400に常時送信する(103)。
次に、図20を参照して、学習データの生成と検知モデルの学習についてのシーケンスの例を説明する。図20は、ACLにマッチしたパケットの情報を取得し、特徴量生成装置400で加工を行うことで、検知モデルの入力となる学習データを生成するシーケンス(S200〜S207)と、生成した学習データを用いた、検知アルゴリズムにおける重みパラメータの学習による検知モデルを生成するシーケンスの一例を示す(S208〜S211)。
まず、異常検知用コントローラ装置200は、特徴量の加工方法を指定し、当該加工方法を示す情報を異常検知用ストレージ装置300に送信する(S200)。異常検知用ストレージ装置300は、特徴量の加工方法を示す情報をテーブル320に書き込む(S201)。異常検知用ストレージ装置300は、特徴量の加工方法を示す情報を特徴量生成装置400に送信する。
特徴量生成装置400は、ACLによりマッチしたパケット情報(例:パケット数)
をパケット転送装置100から常時取得し(S203)、取得情報テーブル記憶部430に取得したパケット情報を格納する(S204)。
特徴量生成装置400は、テーブルで指定された一定の取得期間毎に特徴量を生成し(S205)、取得情報テーブルをリフレッシュする(S206)。特徴量生成装置400は、S203〜S206を繰り返す(S207)。
異常検知用コントローラ装置200は、検知アルゴリズムやパラメータ、学習サンプル数の情報を指定し、これらの情報を検知用演算装置500に送信する(S208)。また、特徴量生成装置400は、生成した特徴量情報を検知用演算装置500に送信する(S209)。
検知用演算装置500は、異常検知用コントローラ装置200から指示された数のサンプルを用いて、重みパラメータを学習し(S210)、学習済みの重みパラメータを学習パラメータのテーブル記憶部550に格納する(S211)。
次に、図21を参照して、トラヒックデータの取得と検知モデルによる異常検知に関するシーケンスの例を説明する。図21は、ACLにマッチしたパケットの情報を取得し、特徴量生成装置400で加工を行うシーケンス(S300〜S303)と、生成した特徴量と学習済みの重みパラメータを検知アルゴリズムに入力し、異常判定を行うシーケンス(S304〜S309)の一例を示す。
特徴量生成装置400は、ACLによりマッチしたパケット情報(例:パケット数)をパケット転送装置100から常時取得する(S300)。特徴量生成装置400は、取得情報テーブル記憶部430に取得したパケット情報を格納する(S301)。また、特徴量生成装置400は、テーブル320で指定された一定の取得期間毎に特徴量を加工し(S302)、取得情報テーブルをリフレッシュする(S303)。
異常検知用コントローラ装置200は、検知アルゴリズムやパラメータ、学習サンプル数の情報を指定し、これらの情報を検知用演算装置500に送信する(S304)。また、特徴量生成装置400は、生成した特徴量情報を検知用演算装置500に送信する(S305)。
検知用演算装置500は、学習済みの重みパラメータを学習パラメータのテーブル記憶部540から取得し(S306)、特徴量と学習パラメータを検知モデルに入力し、正常・異常の判定を行う(S307)。検知用演算装置500は、正常/異常の判定結果を異常検知用コントローラ装置200に送信する(S308)。上記のS300〜S308の手順が繰り返し実行される(S309)。
(実施の形態の効果)
本実施の形態によれば、ルータ等のNW機器から取得した通信情報から、攻撃の集中による傾向を掴みやすい単位で情報取得を行うことで、感染拡大攻撃の検知に有効な情報を抽出し、当該情報を特徴量に加工し、検知を行うこととした。これにより、個々の端末の通信情報を利用するよりも情報取得コストを削減し、かつサンプリングでは抽出できない少量パケットによる攻撃が検知可能になる。
(実施の形態のまとめ)
以上、説明したように、本実施の形態によれば、パケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置であって、前記パケット転送装置において、予め定められた分割情報によりパケットが複数の区分に分類され、区分毎にパケットに関する所定の情報が取得され、前記異常検知装置は、前記パケット転送装置から、前記区分毎の前記所定の情報を取得し、当該所定の情報から特徴量を生成する特徴量生成手段と、前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段とを備えることを特徴とする異常検知装置が提供される。
特徴量生成装置400は特徴量生成手段の例であり、検知用演算装置500は検知手段の例である。
一例として、前記分割情報としてパケットのヘッダ情報が使用され、前記所定の情報として、TCPの特定のフラグを有するパケットの数が使用される。
異常検知装置は、前記所定の情報を取得するために使用されるアクセスコントロールリストを前記パケット転送装置に設定する制御手段を更に備えることとしてもよい。異常検知用コントローラ装置200は制御手段の例である。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 パケット転送装置
110 通信部
120 情報収集部
200 異常検知用コントローラ装置
210、220 インターフェース
230 通信部
300 異常検知用ストレージ装置
310、320、330 テーブル
340 情報管理部
350 通信部
400 特徴量生成装置
410 情報管理部
420 特徴量演算部
430 取得情報テーブル記憶部
440 特徴量ベクトル生成部
450 通信部
500 検知用演算装置
510 情報管理部
520 検知用演算部
530 検知モデル生成部
540 学習データのテーブル記憶部
550 学習パラメータのテーブル記憶部
560 通信部
600 IPネットワーク
700 端末
800 異常検知用装置群

Claims (8)

  1. 上流のパケット転送装置と下流のパケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置であって、
    前記上流のパケット転送装置において、予め定められた第1分割情報によりパケットが複数の区分に分類され、第1区分毎にパケットに関する第1の所定の情報が取得され、前記下流のパケット転送装置において、前記第1分割情報と異なる第2分割情報によりパケットが複数の区分に分類され、第2区分毎にパケットに関する第2の所定の情報が取得され、
    前記異常検知装置は、
    前記上流のパケット転送装置と前記下流のパケット転送装置から、前記第1区分毎の前記第1の所定の情報と前記第2区分毎の前記第2の所定の情報を取得し、当該第1の所定の情報と第2の所定の情報から特徴量を生成する特徴量生成手段と、
    前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段と
    を備えることを特徴とする異常検知装置。
  2. 前記第1分割情報及び前記第2分割情報のそれぞれとして、所定の宛先IP空間毎の、所定のポート番号又は所定のTCPフラグの組が使用される
    ことを特徴とする請求項1に記載の異常検知装置。
  3. 前記第1分割情報において、宛先IP空間はANY又は/8であり、ポート番号は非well−knownであり、TCPフラグはANY、SYN、SYN/ACK、RSTのうちの少なくとも何れか一つを含み、
    前記第2分割情報において、宛先IP空間は/8であり、ポート番号はANYであり、TCPフラグはANY、SYN、SYN/ACK、RSTのうちの少なくとも何れか一つを含む
    請求項2に記載の異常検知装置。
  4. 前記第1の所定の情報を取得するために使用されるアクセスコントロールリストを前記上流のパケット転送装置に設定し、前記第2の所定の情報を取得するために使用されるアクセスコントロールリストを前記下流のパケット転送装置に設定する制御手段
    を更に備えることを特徴とする請求項1ないし3のうちいずれか1項に記載の異常検知装置。
  5. 上流のパケット転送装置と下流のパケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置が実行する異常検知方法であって、
    前記上流のパケット転送装置において、予め定められた第1分割情報によりパケットが複数の区分に分類され、第1区分毎にパケットに関する第1の所定の情報が取得され、前記下流のパケット転送装置において、前記第1分割情報と異なる第2分割情報によりパケットが複数の区分に分類され、第2区分毎にパケットに関する第2の所定の情報が取得され、
    前記異常検知方法は、
    前記上流のパケット転送装置と前記下流のパケット転送装置から、前記第1区分毎の前記第1の所定の情報と前記第2区分毎の前記第2の所定の情報を取得し、当該第1の所定の情報と第2の所定の情報から特徴量を生成する特徴量生成ステップと、
    前記特徴量生成ステップにより生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知ステップと
    を備えることを特徴とする異常検知方法。
  6. 前記第1分割情報及び前記第2分割情報のそれぞれとして、所定の宛先IP空間毎の、所定のポート番号又は所定のTCPフラグの組が使用される
    ことを特徴とする請求項に記載の異常検知方法。
  7. 前記第1の所定の情報を取得するために使用されるアクセスコントロールリストを前記上流のパケット転送装置に設定し、前記第2の所定の情報を取得するために使用されるアクセスコントロールリストを前記下流のパケット転送装置に設定する制御ステップ
    を更に備えることを特徴とする請求項5又は6に記載の異常検知方法。
  8. コンピュータを、請求項1ないしのうちいずれか1項に記載の異常検知装置における各手段として機能させるためのプログラム。
JP2017202091A 2017-10-18 2017-10-18 異常検知装置、異常検知方法、及びプログラム Active JP6866271B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017202091A JP6866271B2 (ja) 2017-10-18 2017-10-18 異常検知装置、異常検知方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017202091A JP6866271B2 (ja) 2017-10-18 2017-10-18 異常検知装置、異常検知方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019075745A JP2019075745A (ja) 2019-05-16
JP6866271B2 true JP6866271B2 (ja) 2021-04-28

Family

ID=66543378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017202091A Active JP6866271B2 (ja) 2017-10-18 2017-10-18 異常検知装置、異常検知方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6866271B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7176636B2 (ja) * 2019-07-17 2022-11-22 日本電信電話株式会社 生成装置、生成方法及び生成プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191399B2 (en) * 2012-09-11 2015-11-17 The Boeing Company Detection of infected network devices via analysis of responseless outgoing network traffic

Also Published As

Publication number Publication date
JP2019075745A (ja) 2019-05-16

Similar Documents

Publication Publication Date Title
US10397260B2 (en) Network system
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
Yang et al. Implementation of a real-time network traffic monitoring service with network functions virtualization
JP2009110270A (ja) マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法
CN113935061A (zh) 将匿名网络数据提供给人工智能模型以用于近实时处理
JP2019033312A5 (ja)
KR20220055923A (ko) 지도 학습 및 비지도 학습이 결합된 하이브리드 학습을 통해 디도스 공격을 탐지하는 방법
JP6962374B2 (ja) ログ分析装置、ログ分析方法及びプログラム
JP6866271B2 (ja) 異常検知装置、異常検知方法、及びプログラム
JP2019201342A (ja) 検証パケット生成装置、検証システム、および検証パケット生成プログラム
JP2014022761A (ja) ネットワークシステム、情報中継装置、及びパケット配信方法
JP5885631B2 (ja) 攻撃ホストの挙動解析装置、方法及びプログラム
JP7048149B2 (ja) ネットワークシステム、制御装置、処理規則設定方法及びプログラム
Staroletov Software architecture for an intelligent firewall based on Linux Netfilter
US20230067096A1 (en) Information processing device, computer program product, and information processing system
CN114268451B (zh) 电力监控网络安全缓冲区构建方法、装置、设备和介质
JP2020136888A (ja) 検知装置および検知方法
US20150180775A1 (en) Communication System, Control Apparatus, Communication Method, and Program
JP6488868B2 (ja) 表示処理方法、表示処理プログラム及び表示処理装置
Ethilu et al. Improving Performance and Efficiency of Software Defined Networking by Identifying Malicious Switches through Deep Learning Model
WO2019123449A1 (en) A system and method for analyzing network traffic
Nicol et al. Models of privacy preserving traffic tunneling
Schear et al. Performance analysis of real traffic carried with encrypted cover flows
Sharma et al. RapidLearn: A General Purpose Toolkit for Autonomic Networking
JP4835934B2 (ja) 高速処理装置、高速処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200911

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: 20201228

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: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210407

R150 Certificate of patent or registration of utility model

Ref document number: 6866271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150