(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025097860
(43)【公開日】2025-07-01
(54)【発明の名称】識別装置、および識別方法
(51)【国際特許分類】
H04L 69/167 20220101AFI20250624BHJP
H04L 41/16 20220101ALI20250624BHJP
H04L 43/04 20220101ALI20250624BHJP
【FI】
H04L69/167
H04L41/16
H04L43/04
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023214321
(22)【出願日】2023-12-19
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】神谷 和憲
(72)【発明者】
【氏名】西山 泰史
(72)【発明者】
【氏名】飛山 駿
(57)【要約】
【課題】学習に用いる教師データの用意が難しい場合でも、適切な通信の識別処理の実行を可能とする。
【解決手段】識別装置100は、IPv4に基づく通信のトラフィックデータから抽出される特徴情報とIPv6に基づく通信のトラフィックデータから抽出される特徴情報とが共通するように、IPv4の特徴情報およびIPv6の特徴情報のうち少なくともいずれか一方を変換して共通の特徴情報を生成する。識別装置100は、生成された共通の特徴情報を用いて、IPv6に基づく通信について識別処理を行うための識別器を学習する。識別装置100は、識別対象のIPv6に基づく通信のトラフィックデータを用いて生成された共通の特徴情報を、学習済みの識別器に対して入力することで得られる結果に基づき、IPv6に基づく通信についての識別処理を行う。
【選択図】
図3
【特許請求の範囲】
【請求項1】
IPv4に基づく通信のトラフィックデータから抽出される特徴情報とIPv6に基づく通信のトラフィックデータから抽出される特徴情報とが共通するように、前記IPv4の特徴情報および前記IPv6の特徴情報のうち少なくともいずれか一方を変換して共通の特徴情報を生成する特徴生成部と、
前記特徴生成部により生成された前記共通の特徴情報を用いて、IPv6に基づく通信について識別処理を行うための識別器を学習する識別器学習部と、
識別対象のIPv6に基づく通信のトラフィックデータを用いて生成された前記共通の特徴情報を、学習済みの前記識別器に対して入力することで得られる結果に基づき、前記IPv6に基づく通信についての識別処理を行う識別部と、
を有することを特徴とする識別装置。
【請求項2】
前記識別器学習部は、
前記共通の特徴情報として、ラベルありの前記IPv4に基づく通信のトラフィックデータの特徴情報と、ラベルありの前記IPv6に基づく通信のトラフィックデータの特徴情報と、ラベルなしの前記IPv6に基づく通信のトラフィックデータの特徴情報のうちの1つ、または、複数の組み合わせを用いて、前記IPv6に基づく通信についての識別処理である悪性通信の識別を行うための前記識別器を学習する、
ことを特徴とする請求項1に記載の識別装置。
【請求項3】
前記識別部は、
前記識別対象のIPv6に基づく通信のトラフィックデータを用いて生成された前記共通の特徴情報を、学習済みの前記識別器に対して入力することで得られる結果に基づき、前記IPv6に基づく通信が悪性通信であるか否かを識別する、
ことを特徴とする請求項1または2に記載の識別装置。
【請求項4】
識別装置により実行される識別方法であって、
IPv4に基づく通信のトラフィックデータから抽出される特徴情報とIPv6に基づく通信のトラフィックデータから抽出される特徴情報とが共通するように、前記IPv4の特徴情報および前記IPv6の特徴情報のうち少なくともいずれか一方を変換して共通の特徴情報を生成する特徴生成工程と、
前記特徴生成工程により生成された前記共通の特徴情報を用いて、IPv6に基づく通信について識別処理を行うための識別器を学習する識別器学習工程と、
識別対象のIPv6に基づく通信のトラフィックデータを用いて生成された前記共通の特徴情報を、学習済みの前記識別器に対して入力することで得られる結果に基づき、前記IPv6に基づく通信についての識別処理を行う識別工程と、
を含むことを特徴とする識別方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、識別装置、および識別方法に関する。
【背景技術】
【0002】
インターネットにおいては、IPv4(Internet Protocol version 4)に基づく通信が用いられている。そのため、インターネットを悪用したボットネットをはじめとする攻撃基盤の多くは、攻撃者によりIPv4に基づいて整備される。
【0003】
攻撃基盤の全貌を検知するため、ネットワーク事業者が通信の送信先、送信元および通信容量等の情報が含まれるネットワークトラフィックデータ(以降、単に「トラフィックデータ」と記載する場合がある)を用いてトラフィック分析を実施することで、不審な通信先を検知する手法が知られている。例えば、従来技術として、大量に存在するIPv4に基づく通信のトラフィックデータ(以降、単に「IPv4トラフィックデータ」と表記する場合がある)を教師データとして用いて機械学習モデルを学習し、学習済みの機械学習モデルに基づいてIPv4に基づく不審な通信を検知する技術が知られている(例えば、非特許文献1および特許文献1を参照)。また、従来技術として、トラフィックデータの一種であるパケットデータや、パケットデータの統計情報を記録したフローデータから特徴を抽出し、機械学習技術を用いて攻撃者の通信特徴を学習および分類することで攻撃者の不審な通信を検知する技術が知られている(例えば、非特許文献2を参照)。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】B. Hu, K. Kamiya, K. Takahashi and A. Nakao, Piper: A Unified Machine Learning Pipeline for Internet-scale Traffic Analysis, GLOBECOM 2020 - 2020 IEEE Global Communications Conference, Taipei, Taiwan, 2020, pp. 1-6, doi: 10.1109/GLOBECOM42002.2020.9322531.
【非特許文献2】B. Vrat, N. Aggarwal and S. Venkatesan, Anomaly Detection in IPv4 and IPv6 Networks Using Machine Learning, 2015 Annual IEEE India Conference (INDICON), New Delhi, India, 2015, pp. 1-6, doi: 10.1109/INDICON.2015.7443752.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述の従来技術では、学習に用いる教師データの用意が難しい場合に、適切な通信の識別処理が実行できない、という課題がある。例えば、近年、IPv4に基づくIP(Internet Protocol)アドレスであるIPv4アドレスの枯渇に起因して、IPv6(Internet Protocol version 6)に基づくIPアドレスであるIPv6アドレスが使われるようになってきている。しかし、従来技術は、IPv6アドレスが用いられた不審な通信のトラフィックデータが十分存在しないため教師データとして使用できるデータが少なく、実用的な精度を有するように機械学習モデルを効率よく学習することが難しい。また、従来技術を用いてモデルの学習を行うにしても、IPv6のプロトコルは、IPv4のプロトコルと異なる点を考慮して特徴量を設計する必要がある。また、教師なし学習に基づき学習を行う従来技術は、教師データが不要であるものの、誤検知が多く発生する等の課題がある。
【課題を解決するための手段】
【0007】
そこで、上述した課題を解決し、目的を達成するために、本発明の識別装置は、IPv4に基づく通信のトラフィックデータから抽出される特徴情報とIPv6に基づく通信のトラフィックデータから抽出される特徴情報とが共通するように、前記IPv4の特徴情報および前記IPv6の特徴情報のうち少なくともいずれか一方を変換して共通の特徴情報を生成する特徴生成部と、前記特徴生成部により生成された前記共通の特徴情報を用いて、IPv6に基づく通信について識別処理を行うための識別器を学習する識別器学習部と、識別対象のIPv6に基づく通信のトラフィックデータを用いて生成された前記共通の特徴情報を、学習済みの前記識別器に対して入力することで得られる結果に基づき、前記IPv6に基づく通信についての識別処理を行う識別部と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、学習に用いる教師データの用意が難しい場合でも、適切な通信の識別処理の実行を可能とする、という効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態に係る識別装置による処理の全体像を説明する図である。
【
図2】
図2は、本実施形態に係る識別装置による処理の一例を説明する図である。
【
図3】
図3は、本実施形態に係る識別装置の構成の一例を示す図である。
【
図4】
図4は、本実施形態に係るトラフィックデータの一例を示すテーブル図である。
【
図5】
図5は、本実施形態に係る特徴情報の一例を示す図である。
【
図6】
図6は、本実施形態に係る学習処理および検知処理の一例を示す図である。
【
図7】
図7は、本実施形態に係る学習処理および検知処理の一例を示す図である。
【
図8】
図8は、本実施形態に係る学習処理および検知処理の一例を示す図である。
【
図9】
図9は、本実施形態に係る学習処理および検知処理の一例を示す図である。
【
図10】
図10は、本実施形態に係る学習処理および検知処理の一例を示す図である。
【
図11】
図11は、本実施形態に係る学習処理手順の一例を示すフローチャートである。
【
図12】
図12は、本実施形態に係る識別処理手順の一例を示すフローチャートである。
【
図13】
図13は、本実施形態に係る識別装置を実現するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明を実施するための形態(以降、「実施形態」)について説明する。なお、各実施形態は、以下に記載する内容に限定されない。
【0011】
<識別装置100による処理の全体像説明>
図1は、本実施形態に係る識別装置100による処理の全体像を説明する図である。
図1に示す識別装置100は、受け付けたトラフィックデータを用いて、プロトコルが異なるトラフィックデータごとに抽出される特徴の種類が共通するものについて、当該特徴の種類を識別する項目が共通するように変換した共通の特徴情報(以降、単に「共通特徴情報」)を生成して、識別処理を行う識別器を学習し、悪性通信や通信に係るアプリケーション識別等の所定の識別処理(以降、「識別処理」と記載する場合がある)を実行する技術を提供するコンピュータの一例である。
【0012】
インターネットを悪用した、悪意のある通信等(以降、「悪性通信」と表記する場合がある)を実行するための攻撃基盤は、現行の通信プロトコルであるIPv4に基づいて構築されることが多い。そこで、攻撃者により構築される攻撃基盤の全貌を検知するために、IPv4トラフィックデータを用いてトラフィック分析が行われる場合がある。例えば、トラフィック分析の一例として、大量に存在する悪性通信に係るIPv4トラフィックデータを教師データとして用いて機械学習モデルの学習を行い、IPv4に基づく悪性通信を検知する参考技術が知られている。
【0013】
しかし、参考技術は、大量に存在する教師データを用いて学習した機械学習モデルを用いて悪性通信や攻撃基盤の検知等の所定の識別処理を実行するため、学習に用いる教師データが存在しない、または、少ない場合に適切な識別処理を行うことが難しい場合がある。具体例として、近年のIPv4アドレス枯渇に起因したIPv6アドレスへの移行に伴い、攻撃者による攻撃基盤の整備がIPv6に基づいて行われるケースが出てきている。そして、IPv4からIPv6に移行した場合には、IPv6に基づき攻撃基盤が整備されるため、IPv6に基づく通信のトラフィックデータ(以降、単に「IPv6トラフィックデータ」と表記する場合がある)を用いて機械学習モデルの学習を行い、IPv6に基づく悪性通信を識別する必要がある。
【0014】
しかし、攻撃者によるIPv6の利用は一部に留まっており、機械学習モデルの学習に用いるIPv6に係る教師データを大量に準備することが難しいため、参考技術では効果的な学習および識別処理の実行ができない。また、IPv6のプロトコルがIPv4のプロトコルと異なる点を考慮して特徴情報を設計する必要がある等の理由から、参考技術では効果的な学習および識別処理の実行ができない。
【0015】
そのため、IPv4トラフィックデータとIPv6トラフィックデータとを用いて教師無し学習を行い、異常を検知する参考技術が知られている。しかし、教師データが不要な教師なし学習を行う参考技術も知られているが、当該教師なし学習は、誤検知が多く発生する可能性等があるため、精度よく識別処理を実行することが難しい。
【0016】
そこで、上述した課題を解決するために、本実施形態に係る識別装置100は、現行の通信プロトコルであることに起因して大量に存在するIPv4トラフィックデータや、IPv6に基づいて実施された悪性通信に係るIPv6トラフィックデータ等を用いて生成した共通特徴情報を用いて対象の通信を識別するための識別器を学習し、当該対象の通信を識別する識別処理を実行する。
【0017】
ここから
図1を用いて、識別装置100の処理の一連の流れを説明する。例えば、
図1の(1)に示すように、識別装置100は、学習用のトラフィックデータとしてIPv4トラフィックデータから抽出される特徴情報とIPv6トラフィックデータから抽出される特徴情報とが共通するように、IPv4の特徴情報およびIPv6の特徴情報のうち少なくともいずれか一方を変換して共通の特徴情報を生成する。
【0018】
例えば、識別装置100は、大量に存在するIPv4トラフィックデータを最大限活用するために、当該IPv4トラフィックデータを用いて生成される特徴情報(以降、「IPv4特徴情報」と表記する場合がある)について、IPv6トラフィックデータを用いて生成される特徴情報(以降、「IPv6特徴情報」と表記する場合がある)の特徴の種類を識別する項目と同様の意味を有するように項目を変換することで共通特徴情報として、当該IPv4特徴情報を生成する。また、識別装置100は、悪性通信に係るIPv6トラフィックデータが存在する場合には、当該IPv6トラフィックデータを用いて生成されるIPv6特徴情報について、IPv4特徴情報の特徴の種類を識別する項目と同様の意味を有するように項目を変換することで共通特徴情報として、当該IPv6特徴情報を生成する。
【0019】
識別装置100は、
図1の(2)に示すように、生成された共通特徴情報を用いて、IPv6に基づく通信について識別処理を行うための識別器を学習する。例えば、識別装置100は、共通特徴情報として生成された、対象のIPv6に基づく通信が悪性通信であるか否かを識別するラベル(以降、単に「ラベル」と表記する場合がある)を含むIPv4特徴情報(以降、「ラベルありIPv4特徴情報」と表記する場合がある)と、ラベルを含まないIPv6特徴情報(以降、「ラベルなしIPv6特徴情報」と表記する場合がある)と、ラベルを含むIPv6特徴情報(以降、「ラベルありIPv6特徴情報」)とを、識別処理を実行する際の状況、使用するモデル等に応じて組み合わせて、識別処理を実行する識別器に含まれる識別モデル等の機械学習モデル(以降、単に「モデル」と表記する場合がある)を学習する。
【0020】
なお、上述した、「ラベルありIPv4特徴情報」、「ラベルなしIPv6特徴情報」、「ラベルありIPv6特徴情報」をそれぞれ用いた学習処理の一例については、後述の
図6から
図10の説明の項目にて説明する。
【0021】
識別装置100は、識別対象のIPv6に基づく通信に係るIPv6トラフィックデータ(識別対象のトラフィックデータ)を用いて生成された共通特徴情報を、学習済みの識別器に対して入力することで得られる結果に基づき、IPv6に基づく通信についての識別処理を行う。例えば、識別装置100は、対象のIPv6に基づく通信に係るIPv6トラフィックデータから生成された共通特徴情報(
図1の(3-1))を学習済みの識別器(
図1の(3-2))に入力して、「当該IPv6に基づく通信は悪性通信である」等の識別処理(
図1の(3-3))を実行する。
【0022】
このように、本実施形態に係る識別装置100は、IPv4とIPv6とのようにプロトコルが異なるトラフィックデータを用いた場合でも、生成される特徴情報がIPv4とIPv6とで同様の意味を持つように共通特徴情報を生成する。そして、識別装置100は、生成された学習用の共通特徴情報を用いて学習した学習済みの識別器を用いて、識別対象のIPv6に基づく通信の共通特徴情報について識別処理を行う。
【0023】
これにより、識別装置100は、当該識別対象の共通特徴情報に係るIPv6に基づく通信が悪性通信であるか否か等の識別処理の実行を可能とする。すなわち、識別装置100は、現行の通信プロトコルであることに起因して、教師データとして大量に存在するIPv4トラフィックデータを用いてIPv4とIPv6とで共通する特徴情報を作成することで、教師データとして利用可能なIPv6トラフィックデータが存在せず学習に用いる教師データの用意が難しい場合においても、適切な通信の識別処理の実行を可能とする、という効果を奏する。また、識別装置100は、教師データとして利用可能な悪性通信に係るIPv6トラフィックデータが存在する場合には、当該IPv6トラフィックデータと上述したIPv4トラフィックデータとを双方用いてIPv4とIPv6とで共通する特徴情報を作成して、モデルを学習することにより、適切な通信の識別処理の効率的な実行を可能とする、という効果を奏する。
【0024】
<識別装置100の説明>
次に、本実施形態に係る識別装置100による識別処理の一例として、学習処理および検知処理の流れを、詳細に説明する。
図2は、本実施形態に係る識別装置100による処理の一例を説明する図である。
【0025】
なお、本実施形態においては、トラフィックデータは、「IPv4トラフィックデータ」と「IPv6トラフィックデータ」とを含む。また、特徴情報は、「IPv4特徴情報」と「IPv6特徴情報」とを含む。また、IPv4特徴情報は、学習用のデータとして「ラベルありIPv4特徴情報」を含む。また、IPv6特徴情報は、学習用のデータとして「ラベルなしIPv6特徴情報」および「ラベルありIPv6特徴情報」と、識別用のデータとして「識別用IPv6特徴情報」とを含む。
【0026】
まず、識別装置100は、トラフィックデータを受け付ける(
図2の(1-1))。そして、識別装置100は、受け付けたトラフィックデータをトラフィックデータDB121に格納する(
図2の(1-2))。
【0027】
識別装置100は、格納されたトラフィックデータを用いて、共通特徴情報を生成する。例えば、IPv4特徴生成部1321は、大量に存在するIPv4トラフィックデータを用いて、IPv6特徴情報と特徴の種類を識別する項目が共通する共通特徴情報として「ラベルありIPv4特徴情報122a」を生成する(
図2の(2-1))。
【0028】
また、例えば、IPv6特徴生成部1322は、IPv6トラフィックデータを用いて、IPv4特徴情報と特徴の種類を識別する項目が共通する共通特徴情報として「ラベルなしIPv6特徴情報122b」を生成する(
図2の(2-2))。また、悪性通信に係るIPv6トラフィックデータが存在する場合には、IPv6特徴生成部1322は、IPv4特徴情報と特徴の種類を識別する項目が共通する共通特徴情報として教師データとして利用可能な「ラベルありIPv6特徴情報122c」を生成する(
図2の(2-3))。
【0029】
識別器学習部133は、生成された共通特徴情報を用いて、識別器を学習する(
図2の(3-1))。具体的には、識別器学習部133は、ラベルありIPv4特徴情報と、ラベルなしIPv6特徴情報と、ラベルありIPv6特徴情報とのうち1つまたは複数を組み合わせて、識別処理を実行するために用いる識別器を学習する。
【0030】
例えば、識別器学習部133は、悪性通信に係るIPv6トラフィックデータが存在しない場合には、大量に存在するIPv4トラフィックデータから生成される共通特徴情報を用いて、識別器を学習する。他方、悪性通信に係るIPv6トラフィックデータが存在する場合には、識別器学習部133は、当該悪性通信に係るIPv6トラフィックデータから生成される共通特徴情報と、大量に存在するIPv4トラフィックデータから生成される共通特徴情報とを双方用いて、識別器を学習する。
【0031】
そして、識別器学習部133は、学習済みの識別器に係るモデルを、モデルDB123に格納する(
図2の(3-2))。
【0032】
識別部134は、学習済み識別器を用いて、所定の識別処理を実行する。例えば、識別部134は、識別対象のIPv6に基づく通信に係るトラフィックデータを用いて生成された、共通特徴情報である識別用IPv6特徴情報122d(
図2の(4-1))を学習済み識別器に入力して(
図2の(4-2))、当該識別用IPv6特徴情報に係る通信が悪性通信か否かを識別する。そして、識別部134は、識別処理の結果を、識別結果DB124に格納する(
図2の(4-3))。
【0033】
このようにして、識別装置100は、大量に存在するIPv4トラフィックデータを利用して共通特徴情報を生成することで、教師データとして用意可能なIPv6トラフィックデータが存在しない場合においても、識別器の効果的な学習を可能とする。その結果、識別装置100は、教師データが存在しない、少ない場合等においても、効果的な識別処理の実行を可能とする。
【0034】
さらに、識別装置100は、教師データとして利用可能なIPv6トラフィックデータが存在する場合には、当該IPv6トラフィックデータとIPv4トラフィックデータとをどちらも利用することにより、従来よりも効果的な識別器の学習を実現し、精度の高い悪性通信の識別を可能とする。
【0035】
<識別装置100の説明>
次に、識別装置100の装置構成について説明する。
図3は、本実施形態に係る識別装置100の構成の一例を示す図である。
図3に示す通り、識別装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、
図3には示していないが、識別装置100は、ユーザ等の操作等の入力を受け付けるためのキーボードやマウス等の入力部を備えることができる。また、識別装置100は、識別処理の実行結果等の情報をユーザ等に表示するためのディスプレイ等の表示部を備えることができる。
【0036】
(通信部110)
通信部110は、トラフィックデータや教師データ等の入力や後述の識別部134による識別結果等の識別処理の実行結果の出力等に係るデータ通信を行う。通信部110は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネット等の電気通信回線を介して通信を制御する。そして、通信部110は、必要に応じてネットワークと有線または無線で接続され、双方向に情報の送受信を行うことができる。
【0037】
(記憶部120)
記憶部120は、制御部130による各種処理に用いるデータおよびプログラムや、制御部130が動作することにより取得された各種データを記憶する。そして、記憶部120は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等で実現する。また、
図4に示すように、記憶部120は、トラフィックデータDB121と、特徴情報DB122と、モデルDB123と、識別結果DB124とを有する。
【0038】
(トラフィックデータDB121)
トラフィックデータDB121は、受け付けられたトラフィックデータとして、IPv4トラフィックデータおよびIPv6トラフィックデータを記憶するデータベースである。具体的には、トラフィックデータDB121は、トラフィックデータとして、No、時刻、送信元IPアドレス、送信先IPアドレス、プロトコル、送信元ポート番号、送信先ポート番号、TCP(Transmission Control Protocol)フラグ、バイト数、パケット数等をそれぞれ対応付けて記憶する。
【0039】
上述したNoは、記憶されたトラフィックデータを識別するための識別情報である。送信元IPアドレスおよび送信先IPアドレスは、ネットワークに繋がっている通信機器に割り振られている識別番号であり、例えば、IPv4アドレスやIPv6アドレスを含む。プロトコルは、通信の手順、やり取りを規定した情報である。送信元ポート番号および送信先ポート番号は、インターネット上の通信において、複数の相手と同時に接続を行なうためにIPアドレスの下に設けられたサブ(補助)アドレスである。TCPフラグは、パケット内容を示すTCPヘッダ内の6ビットのフィールドに含まれる情報である。バイト数は、ある時刻において収集されたデータ量である。パケット数は、ある時刻において収集されたパケットの数である。
【0040】
ここで、トラフィックデータDB121により記憶されるトラフィックデータの一例について説明する。
図4は、本実施形態に係るトラフィックデータの一例を示すテーブル図である。例えば、
図4に示すように、トラフィックデータDB121は、識別情報であるNo「1」に対応づけて、時刻「t1」、送信元IPアドレス「SIP1」、送信先IPアドレス「DIP1」、プロトコル「PR1」、送信元ポート番号「SP1」、送信先ポート番号「DP1」、TCPフラグ「FLG1」、バイト数「BYT1」、パケット数「PKT1」等を記憶することができる。
【0041】
なお、受け付けられた通信がIPv4に係る通信の場合には、送信元IPアドレス「SIP1」送信先IPアドレス「DIP1」には、IPv4アドレスが入る。また、受け付けられた通信がIPv6に係る通信の場合には、送信元IPアドレス「SIP1」送信先IPアドレス「DIP1」には、IPv6アドレスが入る。
【0042】
(特徴情報DB122)
ここで、
図3に戻り説明を続ける。特徴情報DB122は、トラフィックデータDB121により記憶されるトラフィックデータを用いて、生成された共通特徴情報を記憶するデータベースである。具体的には、特徴情報DB122は、後述の特徴生成部132により生成されるラベルありIPv4特徴情報122aと、ラベルなしIPv6特徴情報122bと、ラベルありIPv6特徴情報122cと、識別用IPv6特徴情報122dとを記憶する。なお、各特徴情報の詳細および生成方法については、後述の特徴生成部132に係る項目において説明する。
【0043】
(モデルDB123)
モデルDB123は、後述の識別器学習部133により学習される識別器に用いられるモデル(識別モデル)を記憶するデータベースである。例えば、モデルDB123は、識別対象の通信について悪性通信か否かを識別するためのモデルとして、DANN(Domain Adversarial Neural Networks)等の公知の技術を用いた識別モデルを記憶することができる。
【0044】
上述した、DANNは、ニューラルネットワークを特徴抽出器と分類器(ラベル分類およびドメイン分類)とにより連結したニューラルネットワークの一種である。DANNにおいては、ドメイン分類器と特徴抽出器の間に勾配を逆転させる層を挟むことで特徴抽出器がドメインを識別できない方向に学習が進むように勾配を逆伝播させる。本実施形態における識別装置100は、DANNを用いることにより、IPv4トラフィックデータを用いて生成されるIPv4特徴情報とIPv6トラフィックデータを用いて生成されるIPv6特徴情報との間での違いを無くすように学習させることができる。
【0045】
(識別結果DB124)
識別結果DB124は、後述の識別部134により実行される識別処理の結果を記憶するデータベースである。例えば、識別結果DB124は、後述の識別部134が入力されたIPv6に係るトラフィックデータの特徴情報に基づき、「当該特徴情報は悪性通信に係る特徴情報である」と識別した場合に、当該通信を識別する情報と「悪性通信」等のフラグ情報とを対応付けて記憶できる。
【0046】
(制御部130)
制御部130は、識別装置100の各種処理手順等を規定したプログラムや処理データを一時的に格納するための内部メモリを有し、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路によって実現される。そして、制御部130は、
図3に示すように、受付部131と、特徴生成部132と、識別器学習部133と、識別部134と、出力部135とを有する。
【0047】
(受付部131)
受付部131は、上述した通信部110を介して、外部の通信装置等からIPv4トラフィックデータやIPv6トラフィックデータ等のトラフィックデータを受け付ける。
【0048】
(特徴生成部132)
特徴生成部132は、トラフィックデータに含まれる各種情報を用いて、トラフィックデータごとの特徴を抽出し、特徴情報を生成する。例えば、特徴生成部132は、IPv4トラフィックデータからはIPv4特徴情報を生成し、IPv6トラフィックデータからはIPv6特徴情報を生成する。
【0049】
ここで、特徴生成部132により生成される特徴情報についての一例を説明する。
図5は、本実施形態に係る特徴情報の一例を示す図である。
図5には、IPv4トラフィックデータやIPv6トラフィックデータから生成される特徴情報の一例が示されている。
【0050】
IPv4に係る特徴情報とIPv6に係る特徴情報とには、それぞれの特徴の種類を識別する項目に違いがある場合がある。例えば、
図5の(1)に示すように、「# of unique /24 prefixes」という項目について、IPv4においては、「/24」がインターネットにて一般的によく用いられるネットワーク分割の最小単位であるため「24」としている。他方で、IPv6においては、一般的によく用いられるネットワーク分割の最小単位は「48」である。従って、IPv6に係る特徴情報として、IPv4特徴情報の「# of unique /24 prefixes」に相当する特徴を抽出したとしても、それぞれ異なる特徴として認識される可能性がある。
【0051】
また、別例(
図5に不図示)として、「ICMP(Internet Control Message Protocol) usage rate(ICMPプロトコルの使用割合)」については、IPv4ではプロトコル番号「=1(ICMP)」であるフロー数を元に算出する。他方、IPv6においてはプロトコル番号「=58(ICMPv6)」を元に算出する。従って、IPv4とIPv6とで異なるプロトコル番号に基づいて特徴を生成することになるため、特徴の内容が同一または類似していたとしても、それぞれ異なる特徴として認識される可能性がある。
【0052】
上述したようにIPv4特徴情報とIPv6特徴情報とは、特徴の内容が類似するものの異なる特徴情報であるため、そのまま学習に用いたとしても適切な学習を行うことができない。そこで、特徴生成部132は、IPv4トラフィックデータとIPv6トラフィックデータとの間で同じ分類がされる特徴情報同士が、同じ分類となるように特徴情報を生成する。すなわち、特徴生成部132は、トラフィックデータを用いてIPv4特徴情報により表現される特徴の種類とIPv6特徴情報により表現される特徴の種類とが同じ種類の特徴として認識されるように、当該特徴の種類を識別する項目を変換して、共通特徴情報を生成する。なお、特徴生成部132は、IPv4特徴生成部1321とIPv6特徴生成部1322とを有し、それぞれの機能部において、上述した共通特徴情報の生成を行う。
【0053】
具体的には、IPv4特徴生成部1321は、IPv4トラフィックデータを用いて、IPv6トラフィックデータから抽出される特徴の種類を識別する項目と共通するように、IPv4トラフィックデータから抽出される特徴の種類を識別する項目を変換して、共通特徴情報(IPv4特徴情報)を生成する。例えば、IPv4特徴生成部1321は、ラベルが付与されているIPv4トラフィックデータを用いて、ラベルありIPv4特徴情報をIPv6特徴情報と共通する共通特徴情報として生成する。
【0054】
また、IPv6特徴生成部1322は、IPv6トラフィックデータを用いて、IPv4トラフィックデータから抽出される特徴の種類を識別する項目と共通するように、IPv6トラフィックデータから抽出される特徴の種類を識別する項目を変換して、共通特徴情報(IPv6特徴情報)を生成する。例えば、IPv6特徴生成部1322は、ラベルが付与されているIPv6トラフィックデータを用いて、ラベルありIPv6特徴情報をIPv4特徴情報と共通する共通特徴情報として生成する。また、例えば、IPv6特徴生成部1322は、ラベルが付与されていないIPv6トラフィックデータを用いて、ラベルなしIPv6特徴情報をIPv4特徴情報と共通する共通特徴情報として生成する。また、IPv6特徴生成部1322は、識別対処の通信に係るIPv6トラフィックデータを用いて、識別用IPv6特徴情報をIPv4特徴情報と共通する共通特徴情報として生成する。
【0055】
(識別器学習部133)
ここで、
図3に戻り説明を続ける。識別器学習部133は、特徴生成部132により生成された共通特徴情報を用いて、所定の識別処理を実行するための識別器を学習する。例えば、識別器学習部133は、共通特徴情報として、ラベルありIPv4特徴情報と、ラベルありIPv6特徴情報と、ラベルなしIPv6特徴情報のうちの1つ、または、複数の組み合わせを用いて、IPv6に関する識別処理として悪性通信の識別を行うための識別器を学習する。なお、上述した特徴情報を組み合わせた学習処理の実施の一例については、後述する
図6から
図10の説明項目において詳細に説明するため、ここでは説明を省略する。
【0056】
(識別部134)
識別部134は、学習済みの識別器に対して、識別対象の通信に係る特徴情報を入力して得られる結果に基づき、当該通信についての識別処理を行う。例えば、識別部134は、識別対象であるIPv6に基づく通信に係るIPv6特徴情報を学習済みの識別器に対して入力して得られる結果に基づいて、当該IPv6に基づく通信が悪性通信であるか否かを識別する。そして、識別部134は、識別処理の結果を識別結果DB124に格納する。
【0057】
(出力部135)
出力部135は、識別結果DB124に格納された識別処理の結果を出力する。例えば、出力部135は、上述した通信部110を介して、外部の情報処理装置等に識別処理の結果を出力できる。また、例えば、出力部135は、識別処理の結果を、識別装置100が備える表示部等を介して、ユーザに対して出力(表示やプリントアウト等)することができる。
【0058】
(識別処理の一例)
ここから、本実施形態に係る識別装置100により実現される識別処理の一例について、
図6から
図10を用いて説明する。
図6から
図10は、本実施形態に係る学習処理および検知処理の一例を示す図である。
【0059】
なお、
図6は、本実施形態に係る識別装置100により実現される主な機能である、大量に存在するIPv4トラフィックデータを用いた識別処理の一例である。そして、
図7から
図10は、ラベルなしのIPv6トラフィックデータまたはラベルありのIPv6トラフィックデータが存在する場合に、IPv4トラフィックデータとIPv6トラフィックデータとを双方利用した識別処理の一例である。
【0060】
なお、
図6から
図10において示される、「ラベルありIPv4特徴情報」、「ラベルなしIPv6特徴情報」、「ラベルありIPv6特徴情報」、および「識別用IPv6特徴情報」は、全て共通特徴情報として生成された特徴情報である。また、
図6から
図10において示される「モデル」は、上述した「識別器」の機能を実現するために用いられる識別モデル等の機械学習モデルを意味する。
【0061】
(第1の実施例)
まず、第1の実施例として、ラベルありIPv4特徴情報を用いた学習処理および識別用IPv6特徴情報を用いた検知処理の一例について、
図6を用いて説明する。
【0062】
第1の実施例は、ラベルありのIPv4トラフィックデータが大量に存在し、ラベルありのIPv6トラフィックデータが存在しない場合の一例である。
【0063】
すなわち、第1の実施例は、教師データとして利用可能な悪性通信に係るラベルありのIPv6トラフィックデータが存在しない場合においても、大量に存在するIPv4トラフィックデータを最大限活用することで、効果的な悪性通信の識別を可能とする、本実施形態に係る識別装置100の基本となる処理の一例である。
【0064】
図6に示すように、識別装置100は、トラフィックデータを受け付ける(
図6の(1))。次に、識別装置100は、受け付けたトラフィックデータを用いて、ラベルありIPv4特徴情報を学習用データとして生成する(
図6の(2-1)および(2-2))。
【0065】
識別装置100は、生成されたラベルありIPv4特徴情報を学習用データとして用いて、
図6の(3-2)に示す「モデル(IPv4)」を学習する(
図6の(3-1))。
【0066】
識別装置100は、受け付けた識別対象の通信に係るトラフィックデータを用いて、識別用IPv6特徴情報を生成する(
図6の(4))。次に、識別装置100は、生成した識別用IPv6特徴情報を学習済みのモデルに入力して得られる結果に基づき、識別処理を実行する(
図6の(5))。そして、識別装置100は、得られたIPv6に係る識別処理の結果を格納する(
図6の(6))。
【0067】
上述したように、識別装置100は、所望する教師データ(ラベルありのIPv6トラフィックデータ)が存在しない場合でも、大量に存在するラベルありのIPv4トラフィックデータから生成した共通特徴情報を用いてモデルを学習できる。そして、識別装置100は、識別対象の通信に係るIPv6トラフィックデータから生成された共通特徴情報を学習済みのモデルに入力して得られる結果に基づき識別処理を行うことができる。
【0068】
すなわち、識別装置100は、共通特徴情報を用いて学習したモデルを用いることで、教師データとして利用可能な悪性通信に係るラベルありのIPv6トラフィックデータが存在しない場合でも、大量に存在するIPv4トラフィックデータを用いることでIPv6に係る識別処理を精度よく実行することを可能とする。
【0069】
(第2の実施例)
次に、第2の実施例として、ラベルありIPv4特徴情報およびラベルなしIPv6特徴情報を用いた学習処理と、識別用IPv6特徴情報を用いた検知処理との一例について、
図7を用いて説明する。
【0070】
第2の実施例は、ラベルありのIPv4トラフィックデータが大量に存在し、ラベルなしのIPv6トラフィックデータが大量に存在する場合の一例である。また、当該ラベルありIPv4トラフィックデータとラベルなしIPv6トラフィックデータとは、分離されておらず混在する一体のデータとして存在する一例として説明する。
【0071】
すなわち、第2の実施例は、教師データとして利用可能な悪性通信に係るラベルありのIPv6トラフィックデータが存在しない場合においても、大量に存在するIPv4トラフィックデータおよびラベルなしのIPv6トラフィックデータを最大限活用することで、効果的な悪性通信の識別を可能とする処理の一例である。
【0072】
図7に示すように、識別装置100は、トラフィックデータを受け付ける(
図7の(1))。次に、識別装置100は、受け付けたトラフィックデータを用いて、ラベルありIPv4特徴情報およびラベルなしIPv6特徴情報を、学習用データとして生成する(
図7の(2-1)および(2-2))。
【0073】
識別装置100は、生成されたラベルありIPv4特徴情報およびラベルなしIPv6特徴情報を学習用データとして用いて、
図7の(3-2)に示す「モデル(IPv4&IPv6)」と、
図7の(3-3)に示す「モデル(Domain)」とを学習する(
図7の(3-1))。なお、第2の実施例において用いられるモデルは、ラベルなし、および、ドメイン情報あり等の学習データを用いた学習に適したDANN等のモデルであってよい。
【0074】
識別装置100は、受け付けた識別対象の通信に係るトラフィックデータを用いて、識別用IPv6特徴情報を生成する(
図7の(4))。次に、識別装置100は、生成した識別用IPv6特徴情報をモデルに入力して得られる結果に基づき、識別処理を実行する(
図7の(5))。そして、識別装置100は、得られたIPv6に係る識別処理の結果を格納する(
図7の(6))。
【0075】
上述したように、識別装置100は、所望する教師データ(ラベルありのIPv6トラフィックデータ)が存在しない場合でも、大量に存在するラベルありのIPv4トラフィックデータとラベルなしのIPv6トラフィックデータとを用いて生成した共通特徴情報を用いてモデルを学習できる。そして、識別装置100は、識別対象の通信に係るIPv6トラフィックデータから生成された共通特徴情報を学習済みのモデルに入力して得られる結果に基づき識別処理を行うことができる。
【0076】
すなわち、識別装置100は、共通特徴情報を用いて学習したモデルを用いることで、教師データであるラベルありのIPv6トラフィックデータが存在しない場合でも、大量に存在するIPv4トラフィックデータおよびラベルなしのIPv6トラフィックデータを用いることでIPv6に係る識別処理を精度よく実行することを可能とする。また、第2の実施例においては、識別装置100は、大量に存在するIPv4トラフィックデータとラベルなしのIPv6トラフィックデータとが分離されていない混合データであっても、効率的に識別器の学習を行うことができる。
【0077】
(第3の実施例)
次に、第3の実施例として、ラベルありIPv4特徴情報およびラベルありIPv6特徴情報を用いた学習処理と、識別用IPv6特徴情報を用いた検知処理との一例について、
図8を用いて説明する。
【0078】
第3の実施例は、ラベルありのIPv4トラフィックデータが大量に存在し、ラベルありのIPv6トラフィックデータが少量存在する場合の一例である。また、当該ラベルありIPv4トラフィックデータとラベルありIPv6トラフィックデータとが、分離されておらず混在する一体のデータとして存在する一例として説明する。
【0079】
すなわち、第3の実施例は、教師データとして利用可能な悪性通信に係るラベルありのIPv6トラフィックデータが存在する場合には、大量に存在するIPv4トラフィックデータとラベルありのIPv6トラフィックデータとを双方利用することで、効果的な悪性通信の識別を可能とする処理の一例である。
【0080】
図8に示すように、識別装置100は、トラフィックデータを受け付ける(
図8の(1))。次に、識別装置100は、受け付けたトラフィックデータを用いて、ラベルありIPv4特徴情報およびラベルありIPv6特徴情報を、学習用データとして生成する(
図8の(2-1)および(2-1))。
【0081】
識別装置100は、生成されたラベルありIPv4特徴情報およびラベルありIPv6特徴情報を学習用データとして用いて、
図8の(3-2)に示す「モデル(IPv4&IPv6)」を学習する(
図8の(3-1))。
【0082】
識別装置100は、受け付けた識別対象の通信に係るトラフィックデータを用いて、識別用IPv6特徴情報を生成する(
図8の(4))。次に、識別装置100は、生成した識別用IPv6特徴情報をモデルに入力して得られる結果に基づき、識別処理を実行する(
図8の(5))。そして、識別装置100は、得られたIPv6に係る識別処理の結果を格納する(
図8の(6))。
【0083】
上述したように、識別装置100は、所望する教師データ(ラベルありのIPv6トラフィックデータ)が存在するが他のデータと混在する場合でも、データが混在するトラフィックデータから生成された共通特徴情報用いてモデルを学習できる。そして、識別装置100は、識別対象の通信に係るIPv6トラフィックデータから生成された共通特徴情報を学習済みのモデルに入力して得られる結果に基づき、識別処理を行うことができる。
【0084】
すなわち、識別装置100は、共通特徴情報を用いて学習したモデルを用いることで、教師データであるラベルありIPv6特徴情報が少量でも存在する場合には、大量に存在するIPv4トラフィックデータとラベルありのIPv6トラフィックデータとを両方とも利用することにより効果的にモデルの学習ができる。その結果、識別装置100は、学習済みのモデルを用いてIPv6に係る識別処理を精度よく実行することを可能とする。なお、第3の実施例においては、IPv6特徴情報がラベルを有するため、用いられるモデルは、DANN等のモデルではなく、第1の実施例に示したモデルを用いることができる。
【0085】
(第4の実施例)
次に、第4の実施例として、個別に存在するラベルありIPv4特徴情報とラベルありIPv6特徴情報とを用いた学習処理と、識別用IPv6特徴情報を用いた検知処理との一例について、
図9を用いて説明する。
【0086】
第4の実施例は、ラベルありのIPv4トラフィックデータが大量に存在し、ラベルありのIPv6トラフィックデータが少量存在する場合の一例である。また、当該ラベルありのIPv4トラフィックデータとラベルありのIPv6トラフィックデータとが分離されて、それぞれ独立したデータ群として存在する一例として説明する。
【0087】
すなわち、第4の実施例は、教師データとして利用可能な悪性通信に係るラベルありのIPv6トラフィックデータが存在しない場合においても、大量に存在するIPv4トラフィックデータとラベルありのIPv6トラフィックデータとを双方利用することで、効果的な悪性通信の識別を可能とする処理の一例である。なお、第4の実施例と第2の実施例との違いは、学習用データに含まれるラベルありのIPv4トラフィックデータとラベルなしのIPv6トラフィックデータとが、分離されているか否かである。
【0088】
図9に示すように、識別装置100は、トラフィックデータを受け付ける(
図9の(1))。次に、識別装置100は、受け付けたトラフィックデータを用いて、ラベルありIPv4特徴情報およびラベルありIPv6特徴情報を、学習用データとして生成する(
図9の(2-1)から(2-3))。なお、第4の実施例において、識別装置100は、ラベルありIPv4特徴情報とラベルありIPv6特徴情報とを、それぞれ独立したデータ群として生成する。
【0089】
識別装置100は、生成されたラベルありIPv4特徴情報のみを学習用データとして用いて、
図9の(3-2)に示す「モデル(IPv4)」を学習する(
図9の(3-1))。次に、識別装置100は、
図9の(3-1)の工程において学習済みのモデル(IPv4)に対して、生成されたラベルありIPv6特徴情報を学習用データとして用いて、追加学習(ファインチューニング)を行う(
図9の(4-1)、(4-2))。なお、識別装置100は、追加学習の他に、生成されたラベルありIPv6特徴情報を学習用データとして用いて学習した小規模なモデルを、モデル(IPv4)に対して結合することで、「モデル(IPv4&IPv6)」を生成してもよい。
【0090】
識別装置100は、受け付けた識別対象の通信に係るトラフィックデータを用いて、識別用IPv6特徴情報を生成する(
図9の(5))。次に、識別装置100は、生成した識別用IPv6特徴情報をモデル(IPv4&IPv6)に入力して得られる結果に基づき、識別処理を実行する(
図9の(6))。そして、識別装置100は、得られたIPv6に係る識別処理の結果を格納する(
図9の(7))。
【0091】
上述したように、識別装置100は、教師データであるラベルありのIPv4トラフィックデータとラベルありのIPv6トラフィックデータとが、独立して存在する場合に、それぞれのトラフィックデータから生成された共通特徴情報用いてモデルを学習できる。そして、識別装置100は、識別対象の通信に係るIPv6トラフィックデータから生成された共通特徴情報をモデル入力して得られる結果に基づき、識別処理を行うことができる。
【0092】
すなわち、識別装置100は、共通特徴情報を用いて学習したモデルを用いることで、教師データであるラベルありIPv6に係るデータがIPv4に係るデータから独立して少量でも存在する場合には、大量に存在するIPv4トラフィックデータとラベルありのIPv6トラフィックデータとを両方とも利用することにより効果的にモデルの学習ができる。その結果、識別装置100は、学習済みのモデルを用いてIPv6に係る識別処理を精度よく実行することを可能とする。
【0093】
(第5の実施例)
次に、第5の実施例として、ラベルありIPv4特徴情報、ラベルなしIPv6特徴情報およびラベルありIPv6特徴情報を用いた学習処理と、識別用IPv6特徴情報を用いた検知処理との一例について、
図10を用いて説明する。
【0094】
第5の実施例は、ラベルありのIPv4トラフィックデータが大量に存在し、ラベルなしのIPv6トラフィックデータが大量に存在し、ラベルありのIPv6トラフィックデータが少量存在する場合の一例である。また、当該ラベルありのIPv4トラフィックデータ、ラベルなしのIPv6トラフィックデータ、および、ラベルありのIPv6トラフィックデータは、分離されておらず混在する一体のデータとして存在する一例として説明する。
【0095】
すなわち、第5の実施例は、教師データとして利用可能な悪性通信に係るラベルありのIPv6トラフィックデータと、ラベルなしのIPv6トラフィックデータとが存在する場合には、大量に存在するIPv4トラフィックデータ、ラベルありのIPv6トラフィックデータ、およびラベルなしのIPv6トラフィックデータを全て利用することで、効果的な悪性通信の識別を可能とする処理の一例である。
【0096】
図10に示すように、識別装置100は、トラフィックデータを受け付ける(
図10の(1))。次に、識別装置100は、受け付けたトラフィックデータを用いて、ラベルありIPv4特徴情報、ラベルなしIPv6特徴情報およびラベルありIPv6特徴情報を、学習用データとして生成する(
図10の(2-1)および(2-2))。
【0097】
識別装置100は、生成されたラベルありIPv4特徴情報、ラベルなしIPv6特徴情報およびラベルありIPv6特徴情報を学習用データとして用いて、
図10の(3-2)に示す「モデル(IPv4&IPv6)」と、
図10の(3-3)に示す「モデル(Domain)」とを学習する(
図10の(3-1))。
【0098】
識別装置100は、受け付けた識別対象の通信に係るトラフィックデータを用いて、識別用IPv6特徴情報を生成する(
図10の(4))。次に、識別装置100は、生成した識別用IPv6特徴情報をモデルに入力して得られる結果に基づき、識別処理を実行する(
図10の(5))。そして、識別装置100は、得られたIPv6に係る識別処理の結果を格納する(
図10の(6))。
【0099】
上述したように、識別装置100は、教師データであるIPv6特徴情報と、ラベルありIPv4特徴情報およびラベルなしIPv6特徴情報とが混在する場合においても、データが混在するトラフィックデータから生成された共通特徴情報用いてモデルを学習できる。そして、識別装置100は、識別対象の通信に係るIPv6トラフィックデータから生成された共通特徴情報を学習済みのモデルに入力して得られる結果に基づき、識別処理を行うことができる。
【0100】
すなわち、識別装置100は、共通特徴情報を用いて学習したモデルを用いることで、教師データであるラベルありIPv6特徴情報が少量でも存在する場合には、大量に存在するIPv4トラフィックデータ、ラベルありのIPv6トラフィックデータ、およびラベルなしのIPv6トラフィックデータを全て利用することにより効果的にモデルの学習ができる。その結果、識別装置100は、学習済みのモデルを用いてIPv6に係る識別処理を精度よく実行することを可能とする。なお、第3の実施例においては、IPv6特徴情報がラベルを有するため、用いられるモデルは、DANN等のモデルではなく、第1の実施例に示したモデルを用いることができる。
【0101】
(識別装置100による処理の手順)
ここから、本実施形態に係る識別装置100により実現される処理の手順について、「学習処理」と「識別処理」とに分けて、それぞれ説明する。まず、
図11を用いて、「学習処理」について説明する。
図11は、本実施形態に係る学習処理手順の一例を示すフローチャートである。
【0102】
受付部131は、IPv4トラフィックデータやIPv6トラフィックデータ等の学習用のトラフィックデータを受け付ける(S101)。
【0103】
ここで、学習用のトラフィックデータがIPv6トラフィックデータである場合には(S102のYes)、特徴生成部132は、IPv6トラフィックデータを用いて共通特徴情報(IPv6特徴情報)を生成する(S103)。他方、学習用のトラフィックデータがIPv6トラフィックデータではなくIPv4トラフィックデータである場合には(S102のNo)、特徴生成部132は、IPv4トラフィックデータを用いて共通特徴情報(IPv4特徴情報)を生成する(S104)。
【0104】
識別器学習部133は、特徴生成部132により生成された共通特徴情報を用いて識別器を学習する(S105)。
【0105】
ここで、予め定められた学習終了条件を満たさない場合には(S106のNo)、識別装置100は、工程を戻り処理を継続する。なお、本実施形態においては、S101の前に工程を戻る一例を
図11に示しているが、例えば、追加で特徴情報の生成を行わない場合等は、工程をS105の前に戻るとしてもよい。また、ここでいう学習終了条件とは、任意に定められる条件であってよく、例えば、学習の回数、モデルの精度を示す指標が予め設定された閾値等を超えるか否か等の条件であってよい。
【0106】
他方、予め定められた学習終了条件を満たす場合には(S106のYes)、識別装置100は、工程を終了する。
【0107】
次に、
図12を用いて、「識別処理」について説明する。
図12は、本実施形態に係る識別処理手順の一例を示すフローチャートである。
【0108】
受付部131は、IPv4トラフィックデータやIPv6トラフィックデータ等の識別対象のトラフィックデータを受け付ける(S201)。
【0109】
ここで、識別用のトラフィックデータがIPv6トラフィックデータである場合には(S202のYes)、特徴生成部132は、IPv6トラフィックデータを用いて共通特徴情報(識別用IPv6特徴情報)を生成する(S203)。他方、識別用のトラフィックデータがIPv6トラフィックデータではなくIPv4トラフィックデータである場合には(S202のNo)、特徴生成部132は、IPv4トラフィックデータを用いて共通特徴情報(識別用IPv4特徴情報)を生成できる(S204)。
【0110】
識別部134は、識別器学習部133により学習が行われた学習済みの識別器を用いて識別処理を実施する(S205)。次に、出力部135は、識別処理の結果を出力する(S206)。そして、識別装置100は、工程を終了する。
【0111】
(効果)
ここから、本実施形態に係る識別装置100が奏する効果について説明する。上述してきたように、現行の通信プロトコルであるIPv4に基づくIPv4トラフィックデータは大量に存在するものの、IPv6に基づく悪性通信の実施が未だ少ないことから、悪性通信に係るラベルありのIPv6トラフィックデータを教師データとして利用することが難しい場合がある。
【0112】
そこで、本実施形態に係る識別装置100の特徴生成部132は、IPv4トラフィックデータから抽出される特徴情報とIPv6トラフィックデータから抽出される特徴情報とが共通するように、IPv4特徴情報およびIPv6特徴情報のうち少なくともいずれか一方を変換して共通特徴情報を生成する。そして、識別装置100の識別部134は、識別対象の通信に係るIPv6トラフィックデータを用いて生成された共通特徴情報を、学習済みの識別器に対して入力して得られる結果に基づき、IPv6に係る通信についての識別処理を行う。したがって、本実施形態の識別装置100によれば、学習に用いる教師データの用意が難しい場合でも、適切な通信の識別処理を実行できる、という効果を奏する。
【0113】
すなわち、識別装置100は、学習用のデータとしてIPv4トラフィックデータおよびIPv6トラフィックデータのうち、どちらのトラフィックデータを用いても等価に共通特徴情報を生成できる。そのため、識別装置100は、学習処理や識別処理を実施する状況、目的等に応じて共通特徴情報を生成し、適切な識別器の学習および当該識別器を用いた識別処理の実行を可能とする、という効果を奏する。
【0114】
例えば、ラベルありのIPv4トラフィックデータが大量に存在し、十分な量のラベルありのIPv6トラフィックデータが存在しない場合には、IPv6特徴情報がIPv4特徴情報と同様の意味を持つように項目を変換して共通特徴情報を生成してモデルの学習を行うことができる。このため、識別装置100は、学習用の特徴情報の変換処理を最低限に抑制することができる。その結果として、識別装置100は、処理の効率化や高速化、計算量の削減等を実現できる。
【0115】
なお、上記した識別装置100が実現する処理は、IPv4トラフィックデータとIPv6トラフィックデータとの存在量が逆転した場合においても適用することができる。例えば、識別装置100は、現行の通信プロトコルであるIPv4からIPv6への移行が進展し、将来的にIPv6が主流の通信プロトコルとして使用されるようになることでIPv4トラフィックデータが希少となる場合であっても、大量に存在するIPv6トラフィックデータを用いて識別器の学習を行うことで、IPv4に係る異常検知を実現することができる。
【0116】
また、識別器学習部133は、共通特徴情報として、ラベルありIPv4特徴情報と、ラベルありIPv6特徴情報と、ラベルなしIPv6特徴情報のうちの1つ、または、複数の組み合わせを用いて、IPv6に関する識別処理として悪性通信の識別を行うための識別器を学習する。
【0117】
このように、識別装置100は、十分な量の教師データが存在しない場合や、教師データが複数存在するが混在している場合等の様々な状況に応じた適切な識別器の学習を行うことができる。そのため、識別装置100は、学習処理や識別処理を実施する状況、目的等に応じて共通特徴情報を生成し、適切な識別器の学習および当該識別器を用いた識別処理の実行を可能とする、という効果を奏する。
【0118】
また、識別器学習部133は、識別対象のIPv6トラフィックデータを用いて生成された共通特徴情報を、学習済みの識別器に対して入力することで得られる結果に基づき、IPv6に基づく通信が悪性通信であるか否かを識別する。
【0119】
このように、識別装置100は、識別対象の通信に係るトラフィックデータから生成される特徴情報についても、IPv4とIPv6とで共通する共通特徴情報として生成することで、受け付ける識別対象の通信がIPv4およびIPv6のどちらであっても、悪性通信であるか否かの識別を可能とする。
【0120】
また、識別装置100は、IPv6に基づく悪性通信の検知にとどまらず、IPv6に基づく通信のトラフィックデータを用いたアプリケーション識別等、IPv6に係る教師データが十分に存在しないが、IPv4に基づく教師データが十分あるような場合における識別処理の実行を可能とする。
【0121】
上述してきたように、本実施形態に係る識別装置100は、IPv6トラフィックデータ等の大量の教師データの用意が困難である場合でも、攻撃者のIPv6に基づく悪性通信の検知を可能とする。すなわち、識別装置100は、ラベルありのIPv6トラフィックデータが存在しない場合には、大量に存在するIPv4トラフィックデータを用いて識別器を学習し、悪性通信の識別処理を可能とする。また、識別装置100は、ラベルありのIPv6トラフィックデータが少量でも存在する場合には、当該IPv6トラフィックデータとIPv4トラフィックデータとを双方用いることにより、より効果的な識別器の学習と当該識別器を用いた悪性通信の識別処理を実現する。
【0122】
さらに、本実施形態に係る識別装置100は、トラフィックデータを用いて生成される共通特徴情報を、学習処理および識別処理を行う際の状況に応じて適切に使い分けることにより、処理の優先度や重要度、コンピュータの負荷状況等に応じた適切な学習処理や識別処理を可能とする。そのため、識別装置100は、コンピュータによる学習処理や識別処理の負荷を軽減できる。
【0123】
<変形例>
以下に、本実施形態に係る識別装置100により実現される変形例を記載する。
【0124】
(データ等)
上記実施形態の説明で用いた、トラフィックデータ、特徴情報、共通特徴情報、識別器、識別モデル等のモデル、識別装置100の機能部の名称、ステップ、工程、ステップまたは工程の名称等は、あくまで一例であり、任意に変更することができる。
【0125】
例えば、トラフィックデータDB121は、トラフィックデータとして、No、時刻、送信元IPアドレス、送信先IPアドレス、プロトコル、送信元ポート番号、送信先ポート番号、TCPフラグ、バイト数、パケット数等の項目を記憶するが、
図4に表された内容はあくまで一例であり、これに限定されない。また、上述したトラフィックデータは、任意の時刻においてネットワークから収集したパケット情報から抽出した情報であるため、上記した項目はあくまで最低限含まれる情報であってよい。また、ISP(Internet Service Provider)等の大規模ネットワークにおいては、サンプリングによってパケットの一部のみ収集し、ペイロードを取得しない場合があってよい。
【0126】
例えば、特徴情報DB122は、特徴生成部132により生成されたトラフィックデータを用いて生成される特徴情報として、
図5に示される項目に係る情報を記憶する。しかし、
図5に示された内容はあくまで一例であり、特徴情報DB122は、これに限定されず特徴情報の範囲に含まれる項目を記憶できる。例えば、モデルDB123は、所定の識別モデルを記憶するが、上述したDANN等に限定されず、識別処理を実行可能な学習モデルであれば限定無く記憶することができる。
【0127】
(フローチャート等)
フローチャート等における各ステップは、矛盾の無い範囲で入れ替えて実施されてもよいし、実施されないステップが存在してもよい。また、フローチャートの説明における、「次に」、「続けて」、「さらに」、「この時」、「この際」等の接続詞は、フローチャートにおける処理の実施の順番やタイミングを限定するものではない。
【0128】
(システム)
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0129】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0130】
<ハードウェア構成>
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0131】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を公知の方法で手動的に行うこともできる。この他、図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0132】
<プログラム>
一実施形態として、識別装置100を構成する各種の装置は、パッケージソフトウェアやオンラインソフトウェアとして、識別プログラムを、所望のコンピュータにインストールさせることによって実装できる。例えば、上記の識別プログラムを情報処理装置に実行させることにより、識別装置100を構成する各種の装置として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0133】
図13は、本実施形態に係る識別装置を実現するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0134】
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0135】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、識別装置100を構成する各種の装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、識別装置100を構成する各種の装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0136】
また、前述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、前述した実施形態の処理を実行する。
【0137】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0138】
<その他>
以上、本実施形態について説明したが、本実施形態は、開示の一部をなす記述および図面により限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本実施形態の範疇に含まれる。
【符号の説明】
【0139】
100 識別装置
110 通信部
120 記憶部
121 トラフィックデータDB
122 特徴情報DB
122a ラベルありIPv4特徴情報
122b ラベルなしIPv6特徴情報
122c ラベルありIPv6特徴情報
122d 識別用IPv6特徴情報
123 モデルDB
124 識別結果DB
130 制御部
131 受付部
132 特徴生成部
1321 IPv4特徴生成部
1322 IPv6特徴生成部
133 識別器学習部
134 識別部
135 出力部