(57)【要約】      （修正有）【課題】多様なパターンの不正な通信を検知可能な技術を提供する。【解決手段】ネットワークを介して通信するパケットを収集可能な通信装置（パケット処理装置１００）であって、当該パケットは、ネットワークによる通信に必要な複数のデータを含む制御情報を有する。通信装置は、制御情報が有する複数のデータのうち少なくとも一部を含む特徴情報に基づいて、パケットを画像に変換する画像変換部と、変換された画像に基づいてパケットを分類する分類部と、を備える。【選択図】図４
2019216305.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信するパケットを収集可能な通信装置であって、
前記パケットは、前記ネットワークによる通信に必要な複数のデータを含む制御情報を有し、
前記通信装置は、
前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換する画像変換部と、
前記変換された画像に基づいて、前記パケットを分類する分類部と、を備えることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記分類部は、前記ネットワークに対して正常な通信を行う良性ホストから送信されたパケットと、前記ネットワークに対して不正な通信を行う悪性ホストから送信されたパケットに分類することを特徴とする通信装置。
【請求項３】
請求項１又は請求項２に記載の通信装置において、
前記分類部は、前記画像変換部によって変換された画像を入力とするニューラルネットワークによって前記パケットを分類することを特徴とする通信装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の通信装置において、
前記ネットワークの通信プロトコルは、ＴＣＰ／ＩＰであり、
前記制御情報は、ＴＣＰヘッダを構成する情報を含むことを特徴とする通信装置。
【請求項５】
請求項４に記載の通信装置において、
前記画像変換部は、前記ＴＣＰヘッダのＳＹＮフラグが設定されているパケットを画像に変換することを特徴とする通信装置。
【請求項６】
請求項１から請求項５に記載の通信装置において、
前記画像変換部は、
同じ送信元から送信された所定数のパケットに対応する各特徴情報から統合特徴情報を作成し、
前記統合特徴情報に基づいて、前記所定数のパケットを一の画像に変換することを特徴とする通信装置。
【請求項７】
請求項６に記載の通信装置において、
前記特徴情報には、前記パケットが収集された時刻が含まれており、
前記収集された各パケットに対応する領域が時系列順に配置されることを特徴とする通信装置。
【請求項８】
請求項１から請求項７のいずれか１項に記載の通信装置において、
前記画像変換部は、
前記特徴情報に含まれるデータに対応する領域の配色を決定し、
前記データに対応する領域を所定の領域に配置することによって前記パケットを画像に変換することを特徴とする通信装置。
【請求項９】
ネットワークを介して通信するパケットを収集可能な通信装置において、当該収集されたパケットを処理する方法であって、
前記パケットは、前記ネットワークによる通信に必要な複数のデータを含む制御情報を有し、
前記方法は、
前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換するステップと、
前記変換された画像に基づいて、前記パケットを分類するステップと、を含むことを特徴とする方法。
【請求項１０】
ネットワークを介して通信し、当該ネットワークによる通信に必要な複数のデータを含む制御情報を有するパケットを処理するプログラムであって、
前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換する処理と、
前記変換された画像に基づいて、前記パケットを分類する処理と、をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで通信されるパケットを収集して不正な通信を検知する技術に関する。
【背景技術】
【０００２】
近年、ネットワークサービスに対して個人や組織を狙ったサイバー攻撃が問題となっている。サイバー攻撃には、例えば、悪意のある攻撃者がネットワークに大量のパケットを送信することでネットワークに負荷を増大させることによってネットワークサービス提供者のサービスを妨害するＤｏＳ攻撃（Denial of Service）やＤＤｏＳ攻撃（Distributed Denial of Service）が知られている。
【０００３】
これらの攻撃からネットワークに接続されたＷｅｂサーバなどの通信機器を防御するために、種々の攻撃検知方法が提案されている。例えば、パケットカウント情報に基づいてパケットの受信間隔が一定間隔以下の状態が継続した期間を所定の閾値と比較することで攻撃を検知する技術などが提案されている（例えば、特許文献１参照）。このような攻撃を検知する技術によって攻撃を行っているホスト（悪性ホスト）を特定し、通信を遮断したり、攻撃を中止させたりする必要があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１４７５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、通信量の多いネットワークでは、正常な通信であっても送受信されるパケットが多いためにＤｏｓ攻撃のような不正な通信と検知されてしまうおそれがあった。これに対応するため、通信内容に基づいて不正な通信を検知するには多様なパターンに対応する必要があったため現実的には困難であった。
【０００６】
本発明は、上記事情に鑑みなされたもので、多様なパターンの不正な通信を検知する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の代表的な一形態によれば、ネットワークを介して通信するパケットを収集可能な通信装置であって、前記パケットは、前記ネットワークによる通信に必要な複数のデータを含む制御情報を有し、前記通信装置は、前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換する画像変換部と、前記変換された画像に基づいて、前記パケットを分類する分類部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明の代表的な実施形態によると、パケットを変換した画像に基づいてパケットを分類することができる。例えば、受信したパケットを変換した画像を、サイバー攻撃時のパケットを変換した画像と比較することによって、サイバー攻撃時のパケットの特徴を有するか否かを分類し、不正な通信を検知することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の悪性ホストの検知方法の概要を説明する図である。
【図２】本発明の実施形態のネットワーク構成の一例を示す図である。
【図３】本発明の実施形態のパケット処理装置のハードウェア構成の一例を示す図である。
【図４】本発明の実施形態のパケット処理装置における各構成による処理の手順を説明する図である。
【図５】本発明の実施形態におけるＴＣＰパケットの構成を説明する図である。
【図６】本発明の実施形態において１パケット分の画像変換を説明する図である。
【図７】本発明の実施形態において所定数のパケットを画像変換する手順を説明する図である。
【図８】本発明の実施形態の悪性ホストから送信されたパケットを変換した画像の一例を示す図である。
【図９】本発明の実施形態の良性ホストから送信されたパケットを変換した画像の一例を示す図である。
【図１０】本発明の実施形態においてパケットの送信元が良性ホスト又は悪性ホストである確率を判定するニューラルネットワークを説明する図である。
【図１１】本発明の実施形態の分類方法をデータセットに対して適用した結果を説明する図である。
【図１２】本発明の実施形態の分類方法を図１１とは異なるデータセットに対して適用した結果を説明する図である。
【図１３】本発明の実施形態のネットワークシステムの変形例を示す図である。
【発明を実施するための形態】
【００１０】
本実施形態では、特に、サイバー攻撃であるＤＤｏＳ攻撃を防御するための手段について説明する。ＤＤｏＳ攻撃では、ネットワークに接続している計算機に攻撃用プログラムを送り込み、この攻撃用プログラムによって攻撃対象となるＷｅｂサーバーなどの計算機に対して大量のリクエストを発行する（攻撃する）。さらに、複数の計算機に攻撃用プログラムを送り込んで同時に攻撃することによって、攻撃対象の計算機の負荷を増大させたり、攻撃対象の計算機が接続しているネットワークのトラフィックを増大させたりする。
【００１１】
本実施形態では、採取したパケットを解析することによって、送信元の計算機（ホスト）がサイバー攻撃を行っているか、又は、正常な通信を行っているかを判定する。このとき、サイバー攻撃を行う計算機（悪性ホスト）から送信されたパケットを遮断する一方、正常な通信を行っている計算機（良性ホスト）から送信されたパケットを通過させる。また、悪性ホストが内部のネットワークに接続されているのであればネットワークから切り離し、悪性ホストが外部のネットワークに接続されているのであれば内部ネットワークの入り口でアクセスを拒否したり、悪性ホスト又は悪性ホストが接続されたネットワークの管理者に通報したりすればよい。以下、添付図面を参照しながら本発明の実施形態について説明する。
【００１２】
図１は、本発明の実施形態の悪性ホストの検知方法の概要を説明する図である。本実施形態ではＴＣＰ／ＩＰによる通信を本手法の対象とし、悪性ホストの特定はＩＰアドレスによって行う。なお、他のプロトコルによる通信でも本発明を適用することが可能であり、また、悪性ホストの特定はＭＡＣアドレス等で行ってもよい。
【００１３】
本実施形態では、まず、ネットワーク内で送受信されるパケットを採取する。パケットの採取は、他のネットワークと間を中継する通信機器で行ってもよいし、パケットミラー装置を介してパケット採取用機器にパケットの複製を送信して行ってもよい。
【００１４】
次に、採取したパケットに基づく画像を生成し（画像化）、パケットを画像に変換する。また、特徴を明確にするために、所定数のパケットをまとめて画像化を行う。画像化の具体的な方法については後述する。本実施形態では、画像を生成するために一定数以上のパケットが必要となるため、送信元が共通のパケットを一定数まとめることで画像化を行う。なお、パケットを画像化するか否かを判定する期間及びパケット数の閾値については、送信先の計算機、ネットワークの種類・性能に基づいて決定すればよい。また、所定期間内に送信されたパケット数が閾値以下のパケットについては破棄してもよい。
【００１５】
さらに、生成された画像を入力としてニューラルネットワークによって悪性ホストの特徴と有する画像であるか、良性ホストの特徴を有する画像であるかを分類（判定）する。すなわち、悪性ホストの検知は、パケットの送信元が悪性ホスト又は良性ホストに分類すること（悪性ホストであるか否かを判定）によって行う。パケットの送信元を悪性ホスト又は良性ホストに分類するニューラルネットはあらかじめ機械学習によってパラメータを調整しておくが、判定結果をリアルタイムに学習データに反映させるようにしてもよいし、採取したパケットや画像を蓄積し、定期的に学習データに反映させるようにしてもよい。最後に、悪性ホストと判定された（悪性ホストに分類された）画像に対応するＩＰアドレスをネットワークの管理者等に通知する。判定結果は、悪性ホストか良性ホストかを択一的に明示するものではなくてもよく、例えば、悪性ホストである可能性が８５％、良性ホストである可能性が１５％といった提示でもよい。このとき、悪性ホストである可能性が所定の確率以上（例えば、８０％）の場合に管理者に通知するようにしてもよい。
【００１６】
以上、本実施形態における悪性ホストの検知方法の概要について説明した。続いて、本実施形態における悪性ホストの検知方法を適用するネットワーク構成の一例について説明する。図２は、本発明の実施形態のネットワーク構成の一例を示す図である。
【００１７】
本実施形態では、上流ネットワーク（第１ネットワーク）１０と下流ネットワーク（第２ネットワーク）２０との間で通信が行われ、パケットが送受信される。また、上流ネットワーク１０と下流ネットワーク２０との間を相互接続する通信機器（ルーター）が配置されており、さらに、ネットワーク間を送受信されるパケットの複製を転送するパケットミラー装置３０が配置されている。なお、ルーターとパケットミラー装置３０は別の装置である必要はなく、ルーターがパケットミラー装置３０の機能を提供するようにしてもよい。
【００１８】
パケットミラー装置３０によって複製されたパケットは、パケット処理装置（通信装置）１００に転送される。パケット処理装置１００は、パケットミラー装置３０から転送されたパケットを解析し、本実施形態における悪性ホストの検知方法によって、パケットの送信元が悪性ホストであるか否かを判定する。
【００１９】
本実施形態では、上流ネットワーク１０に攻撃対象サーバ１１が接続されており、下流ネットワーク２０に接続された攻撃側端末２１は攻撃対象サーバ１１に大量のパケットを送信する。本実施形態では、パケットミラー装置３０は、悪性ホスト（攻撃側端末２１）から送信されたパケットであってもそのまま上流ネットワーク１０に当該パケットを転送している。
【００２０】
パケット処理装置１００は、パケットの送信元（攻撃側端末２１）を悪性ホストと判定した（悪性ホストに分類した）場合には、上流ネットワーク１０に接続された管理計算機１２に検知結果（警報）を通知する。管理計算機１２は、検知結果（警報）が通知されると、警告メッセージを表示するなどして管理者に報知する。悪性ホストから送信されたパケットの遮断は、管理者が手動で行うようにしているが、ルーターが自動的に遮断するようにしてもよい。本実施形態では、悪性ホストであるか否かを択一的に提示するものではなく、悪性ホストである可能性を判定するものであるため、悪性ホストの可能性が認められた場合に判定結果が所定の閾値以上の場合にはパケットの転送を遮断し、それ以外の場合にはパケットの転送を継続しつつ管理計算機１２に通知するようにしてもよい。管理計算機１２は、ルーター、パケットミラー装置３０、パケット処理装置１００を設定するなど、ネットワークを管理するための端末として機能する。ネットワーク関連以外のサーバー（例えば、攻撃対象サーバ１１）等の管理を行うものであってもよい。
【００２１】
以上、本実施形態におけるネットワーク構成の一例について説明した。続いて、パケットの送信元が悪性ホストであるか否かを判定する手法について説明する。まず、悪性ホストの検知方法を適用するパケット処理装置１００のハードウェア及びソフトウェアの構成について説明し、続いて具体的な手法について説明する。
【００２２】
図３は、本発明の実施形態のパケット処理装置１００のハードウェア構成の一例を示す図である。パケット処理装置１００は、通信インターフェース（ＩＦ）１０１、プロセッサ（ＣＰＵ）１１０、メモリ１２０及び記憶装置１６０を備え、各構成はバスによって接続される。
【００２３】
通信インターフェース（ＩＦ）１０１は、パケットミラー装置３０によって転送されたパケットを受信したり、管理計算機１２からの命令入力を受け付けたりする。プロセッサ（ＣＰＵ）１１０は、メモリ１２０に記憶された各種プログラムを実行することによって各種機能を提供し、例えば、パケットの送信元が悪性ホストであるか否かを判定する機能を提供する。メモリ１２０は、プロセッサ１１０によって実行される各種プログラムを記憶し、プログラムの実行に必要なデータを一時的に記憶する。記憶装置１６０は、通信インターフェース（ＩＦ）１０１を介して受信したパケットの情報を蓄積したり、プログラムによるパケットの処理結果を格納したりする。
【００２４】
次に、メモリ１２０及び記憶装置１６０の構成について説明する。メモリ１２０は、パケットの送信元が悪性ホストであるか否かを判定する検知部１３０と、悪性ホストを判定するための学習データを生成する学習部１４０とを記憶する。検知部１３０及び学習部１４０は、プログラム及び当該プログラムを実行するためのデータによって構成される。記憶装置１６０は、パケットデータ格納部１６１、画像格納部１６２及び学習データ格納部１６３を提供する。以下、各構成について説明する。
【００２５】
検知部１３０は、パケットミラー装置３０から転送されたパケットの送信元が悪性ホストであるかを判定する。検知部１３０は、パケット取得部１３１、パケット画像変換部１３２及び分類部１３３を含む。パケット取得部１３１は、通信ＩＦ１０１を介してパケットミラー装置３０から転送されたパケットを一時的に記憶し、受信したパケットの内容に基づいてパケットデータ格納部１６１に格納する。
【００２６】
パケット画像変換部１３２は、パケットデータ格納部１６１から画像を作成する対象のパケットデータを取得し、画像に変換する。画像を変換する具体的な手順については図６及び図７にて後述する。パケット画像変換部１３２は、パケットデータから変換された画像を画像格納部１６２に格納する。分類部１３３には変換された画像を直接引き渡してもよいし、分類部１３３が画像格納部１６２から必要なデータを取得するようにしてもよい。
【００２７】
分類部１３３は、パケット画像変換部１３２によって変換された画像をニューラルネットに入力し、学習データ格納部１６３に格納された学習データに基づいて画像の変換元となったパケットを分類する。具体的にはパケットの送信元が良性ホストであるか若しくは悪性ホストであるかを分類する。
【００２８】
学習部１４０は、分類部１３３による判定（分類）精度を向上させるために、ニューラルネットワークにおける学習を行う。学習データ収集部１４１は、パケットデータ格納部１６１、画像格納部１６２に格納されたデータ及び画像と、パケットの送信元が実際に悪性ホストであったか否かの結果等の情報を収集する。ニューラルネット学習部１４２は、収集された学習データ及び学習データ格納部１６３に格納された学習データに基づいて精度を向上させたパラメータを決定するなどニューラルネットの学習を行う。さらに、決定されたパラメータなどの学習結果を学習データ格納部１６３に反映させる。
【００２９】
続いて、図３にて説明したパケット処理装置１００の各構成によってパケットの送信元が悪性ホストであるか否かを判定する処理の手順について説明する。図４は、本発明の実施形態のパケット処理装置１００における各構成による処理の手順を説明する図である。
【００３０】
まず、悪性ホストを判定するためのニューラルネットワークの学習を実施するための学習フェーズ（学習部１４０）について説明する。学習フェーズでは、ニューラルネットワークによる判定の精度を向上させるためのパラメータを調整することを目的とする。ニューラルネットワークでは、適切な学習データによって学習することによって精度を向上させることができる。
【００３１】
本実施形態では、ニューラルネットワークの学習を実施するタイミングは、管理計算機１２からの学習実行指示を行った場合としているが、これに限らず、学習開始条件を満たした場合に学習を実施してもよい。学習開始条件としては、所定期間経過ごとに学習を実施してもよいし、学習用のデータが一定以上蓄積された場合に実施してもよい。また、悪性ホストによる攻撃のパターンが新しくなり、判定精度が悪化した場合に新たな攻撃パターンに基づく学習データを用いて学習するようにしてもよい。
【００３２】
学習データ収集部１４１は、管理計算機１２からの学習指示を受け付けると、パケットデータ格納部１６１及び画像格納部１６２から学習データを収集する。このとき、判定精度を向上させるために学習データを選別して使用してもよい。学習データの選別は一般的な手法を用いる。なお、学習データは外部から取得してもよく、例えば、他のネットワークで収集されたパケットに基づく学習データを利用することによって、分類精度をより向上させることが期待される。
【００３３】
続いて、ニューラルネット学習部１４２は、学習データ収集部１４１によって収集された学習データに基づいてニューラルネットワークの学習を実施する。このとき、学習データ格納部１６３から学習結果を反映する前の学習データを取得し、学習実施後、学習結果を反映させた学習データを学習データ格納部１６３に格納する。学習データは、ニューラルネットによってパケットの送信元を良性ホスト又は悪性ホストに分類するために必要なパラメータ及びデータである。
【００３４】
ニューラルネット学習部１４２は、学習結果を反映させた学習データを学習データ格納部１６３に格納すると、管理計算機１２に学習完了を通知する。なお、管理計算機１２からの学習指示ではなく、学習開始条件が成立したことなどによって自動的に学習を実施した場合には、ログファイルなどに学習の実行ログを記録するようにしてもよい。
【００３５】
次に、転送されたパケットの送信元が悪性ホストであるか否かを判定する検知フェーズ（検知部１３０）について説明する。検知フェーズでは、パケットミラー装置３０から転送されたパケットをパケット取得部１３１が受信し、パケットに含まれる情報をパケットデータ格納部１６１に格納する。パケットデータ格納部１６１に格納する情報は、受信した順序で格納してもよいが、後述するように送信元のＩＰアドレスが同じパケットに対してパケットの画像化を行うので、ＩＰアドレス順に格納するようにしてもよい。また、パケットに含まれるすべての項目について格納する必要はなく、パケットの送信元が悪性ホストか良性ホストかを分類するために必要なデータのみを格納すればよい。さらに、パケットに含まれていない情報をパケットデータ格納部１６１に格納してもよく、例えば、パケットの受信日時（タイムスタンプ）をパケットデータとして格納してもよい。
【００３６】
次に、パケット画像変換部１３２は、パケットデータ格納部１６１に格納された情報を画像変換する。画像変換の対象となるパケットデータは、送信元のＩＰアドレスが同じものであるため、対象のデータをパケットデータ格納部１６１から取得する。本実施形態では、所定数のパケットデータを一の画像に変換するため、未変換のパケットデータが所定数格納されていない場合には画像変換を行わない。所定数に満たない程度のパケット数であれば宛先の計算機やネットワークの負荷は大きくないため、悪性ホストあるか否かを判定するまでもないからである。
【００３７】
また、画像に変換したパケットデータを重複して対象としないように削除してもよい。このとき、学習データとして利用する可能性があれば、変換対象のデータとは別の領域に移動させてもよいし、１件のパケットデータに変換済みか否かを示すフラグを追加して設定するようにしてもよい。パケットデータの削除は、定期的に手動で行ってもよいし、一定期間以上経過したデータ、学習データとして利用されたデータを対象に自動で行ってもよい。
【００３８】
パケット画像変換部１３２は、パケットデータを画像に変換すると、画像格納部１６２に変換後の画像を格納する。変換後の画像は必要に応じて学習データとして利用され、学習データ収集部１４１の実行時に画像格納部１６２から画像を取得する。なお、学習データ収集部１４１にてパケットデータ格納部１６１からパケットデータを取得して画像に変換することによって画像格納部１６２を備えない構成としてもよい。
【００３９】
さらに、パケット画像変換部１３２は、パケットデータを画像に変換した後、変換後の画像を分類部１３３に引き渡す。このとき、分類部１３３が画像格納部１６２から変換後の画像を取得するようにしてもよい。
【００４０】
分類部１３３は、ニューラルネットによってパケットの送信元を良性ホスト又は悪性ホストに分類する。具体的には、前述したように、パケット画像変換部１３２によって変換された画像をニューラルネットに入力し、学習データ格納部１６３に格納された学習データに基づいて画像の変換元となったパケットの送信元が悪性ホストであるか否かを判定する。本実施形態では、判定結果をパケットの送信元が悪性ホストであるか否かを択一的に選択して出力するのではなく、悪性ホストである確率及び良性ホストである確率を出力する。判定結果は、管理計算機１２に通知してもよいし、パケット処理装置１００に表示部を設けて出力するようにしてもよい。
【００４１】
以上が転送されたパケットを受信してからパケットの送信元が悪性ホストであるか否かを判定する手順である。続いて、パケットに含まれる情報（制御情報）から画像に変換する具体的な手段について説明する。まず、画像変換の具体的な手段を説明する前に、画像変換の対象となるパケットの構成について説明する。本実施形態のネットワークではＴＣＰ／ＩＰによる通信を行っており、パケットの画像化は主にＴＣＰパケットのＴＣＰヘッダの各フィールドに設定された情報に基づいて行われる。
【００４２】
図５は、本発明の実施形態におけるＴＣＰパケットの構成を説明する図である。図５に示したパケットの構成は一般的なものであり、各フィールドについて簡単に説明すると、まず、「送信元ポート番号」は送信元のポート番号の値、「宛先ポート番号」は宛先のポート番号の値である。「シーケンス番号」は送信したデータの順序を示す値であり、これにより分割して送信されたデータを送信先で復元することができる。また、パケットの種類（コントロールフラグ）が「ＡＣＫ」の場合には、「相手から受信した確認応答番号」の値が格納される。「確認応答番号」は「相手から受信したシーケンス番号」及び「データサイズ」によって構成される。「データオフセット」はＴＣＰヘッダの長さを示す値である。「予約」は将来の拡張のために用意されているフィールドであり、全ビット「０」が設定される。
【００４３】
「コントロールフラグ」は、「ＵＲＧ」、「ＡＣＫ」、「ＰＳＨ」、「ＲＳＴ」、「ＳＹＮ」、「ＦＩＮ」の６つのビットで構成されており、これらのビットに「１」の値を設定することによってパケットの種類が特定される。各フラグについて説明すると、「ＵＲＧ（Ｕｒｇｅｎｔ）」は緊急に処理すべきデータ含まれていることを意味する。「ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）」は確認応答番号のフィールドが有効であることを意味し、コネクション確立時以外は「１」が設定される。「ＰＳＨ（Ｐｕｓｈ）」は受信したデータをバッファリングせずに、即座にアプリケーション（上位）に渡すことを意味する。「ＲＳＴ（Ｒｅｓｅｔ）」はコネクションが強制的に切断されることを意味し、異常が検出された場合に送信される。「ＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ）」はコネクションの確立を要求することを意味する。「ＦＩＮ」はコネクションの正常な終了を要求することを意味する。
【００４４】
さらに、その他のフィールドについて説明すると、「ウィンドウサイズ」は受信側が一度に受信することができるデータ量を送信側に通知するために使用され、送信側はこの値のデータ量を超えて送信することはできない。「チェックサム」はＴＣＰヘッダとデータ部分のエラーチェックを行うために使用される値が設定される。「緊急ポインタ」はコントロールフラグのＵＲＧの値が「１」である場合にのみ使用され、緊急データの開始位置を示す情報が設定される。「オプション」はＴＣＰの通信において性能を向上させるために利用される。「パディング」はＴＣＰヘッダの長さを３２ビットの整数にするために空データの「０」の値を調整用に設定される。
【００４５】
以上のように、パケット（ヘッダ情報）には、画像変換の対象（特徴量）となりうる膨大なパラメータの候補が含まれており、例えば、ＩＰアドレス、ポート番号、プロトコル番号、トラフィック量、パケット数、パケットあたりのバイト長の分布、フローの継続時間、パケットの送信間隔等が考えられる。一方、これらのパラメータの候補を削減するために、アプリケーション、プロトコル、マルウェアの種類を限定すると、汎用性を低下させてしまうおそれがある。
【００４６】
そこで、本実施形態では、ＴＣＰパケットのうち、通信開始時に送信されるＳＹＮパケット（コントロールフラグの「ＳＹＮ」に「１」が設定されたＴＣＰパケット）を画像変換の対象とする。インターネットに接続される機器は通信開始時に必ずＳＹＮパケットを送信するものと推測され、さらに、ＤＤｏＳ攻撃等でパケットを連続して送信する場合には通常とは異なるＳＹＮパケットが送信されることが推測されるからである。
【００４７】
ＳＹＮパケットは、ＴＣＰ接続の確立を要求するために送信されるため、データ等は設定されていない。そこで、送信されたパケットごとに異なる可能性の高いフィールドを画像変換の対象フィールドとする。具体的には、ポート番号（送信元、宛先）シーケンス番号、ウィンドウサイズとし、さらに、パケットを受信した時刻（タイムスタンプ）を加えて５種類のフィールドとする。
【００４８】
ここで、ネットワーク内で送受信されるすべてのパケットの情報をパケットデータ格納部１６１で保持すると膨大な容量が必要となるが、判定対象をＳＹＮパケットに限定し、さらに画像化の対象となるフィールドを特定することによってパケットデータを格納するための容量を削減することができる。以下、特定の送信元から送信されるＳＹＮパケットの振る舞いを画像化する手順について説明する。
【００４９】
図６は、本発明の実施形態において１パケット分の画像変換を説明する図である。本実施形態では、パケットを受信した時刻（タイムスタンプ、Ｔｉｍｅｓｔａｍｐ）、送信元ポート番号（Ｓｒｃ  Ｐｏｒｔ）、宛先ポート番号（Ｄｓｔ  Ｐｏｒｔ）、シーケンス番号（Ｓｅｑ）、ウィンドウサイズ（Ｗｉｎ）の５種類のフィールドを画像化の対象とし、これらのフィールドに対応する値を要素とする５×１の配列として扱う。これらの要素は、パケットの送信元を分類する上で特徴となり得るものとして選択したものであり、他の要素としてもよい。１パケットに対応する５×１の配列を特徴情報とする。また、画像化の対象となるフィールドを１ピクセルとし、図６に示すように、１パケットは１×５ピクセルの画像となる。各ピクセルの配色は、各要素の値に基づいて決定し、本実施形態ではグレースケールとする。
【００５０】
ＤＤｏＳ攻撃は、短期間に大量のパケットを送信することで攻撃を成立させるため、送信元が同じアドレスのパケットが大量に送信されることになる。このとき、パケット単体に特徴があるとは限らない。そのため、連続して送信されたパケットをまとめて精査することによって、悪性ホストから送信されたパケットであるか否かを判定できることが考えられる。例えば、人手で大量のパケットを出力させることは困難であるため、悪性ホストが大量のパケットを連続して送信するプログラムを実行させている可能性が高くなる。この場合、パケットを出力するタイミングが等間隔であったり、パケットの内容が同じであったりすることが考えられる。
【００５１】
そこで、本実施形態では、前述のように、同じＩＰアドレスの送信元から連続して受信したパケットが所定数採取された段階で画像変換する。図７は、本発明の実施形態において所定数のパケットを画像変換する手順を説明する図である。本実施形態では所定数を１００とし、連続して受信した１００個のパケットを１枚の画像に変換する。なお、所定数は別の値であってもよいが、変更した場合にはニューラルネットワークでの学習が再度必要となる可能性がある。
【００５２】
画像変換の手順としては、まず、１００個分のパケットのデータを時系列順に配置して１００×５の配列を生成する。生成された１００×５の配列を統合特徴情報とする。このとき、パケットに対応する配列の各要素の値は、フィールド（列）ごとに０から１の間で正規化する。例えば、タイムスタンプであれば、最初に到着したパケットの到着時刻を０とし、最後に到着したパケットの到着時刻を１とする。ポート番号のように必ずしも数値の大小が意味をなさない場合であっても特定のポート番号に必ず特定の数値が対応していればよい。このようにすることで、例えば、連続して同じポート番号が指定されていれば同色になり、周期的にポート番号が変化していれば、画像に特定のパターンが形成されるため画像化後の特徴が明確になる。また、各ピクセルの配色は、前述のようにグレースケールとなっており、本実施形態では、正規化後の値が０の場合には黒、１の場合は白としている。なお、本実施形態では、１００×５の配列を生成した後、転置させて画像を生成する。これにより、５×１００ピクセルの画像が生成される。
【００５３】
なお、本実施形態では、所定数として１００個のパケットの画像を変換し、５×１００ピクセルの画像を生成しており、画像のサイズが５×１００（５００）ピクセルと小さいため、膨大な容量を必要としない。しかしながら、変換後の画像を画像格納部１６２に格納し続けると容量が不足する可能性があるため、外部のストレージ装置に画像を移動させてもよいし、定期的に削除するようにしてもよい。例えば、分類済みの画像を削除するようにしてもよいし、学習済みの画像を削除してもよい。また、パケットの送信元が分類されるまで保持し、学習データ利用するデータは外部に移動させ、その他のデータは削除するようにしてもよい。
【００５４】
以上の手順で生成した画像の一例について説明する。図８は、本発明の実施形態の悪性ホストから送信されたパケットを変換した画像の一例を示す図である。図９は、本発明の実施形態の良性ホストから送信されたパケットを変換した画像の一例を示す図である。上段及び下段ともに同じ分類のホストから送信されたパケットを画像変換したものである。
【００５５】
図８は悪性ホストからＤＤｏＳ攻撃を行ったパケットを画像変換したものである。各行は上からタイムスタンプ、送信元ポート、宛先ポート、シーケンス番号、ウィンドウサイズである。図９は良性ホストから送信されたパケットであり、例えば、ＷＥＢサーバからサイトを閲覧するために操作した結果、送受信されたパケットである。以下、各項目について説明する。
【００５６】
まず、タイムスタンプに着目すると、図８に示す画像では、攻撃用プログラム（マルウェア）によって連続してパケットが送信されるため、明度が高くなる割合が一定となっている。一方、図９に示す画像では、明度が高くなる割合が一定でなくなっている。なお、前述のように最初にパケットを受信した時刻を０、最後にパケットを受信した時刻を１としているため、パケットを収集した期間が画像によって異なることになるが、時間軸を一致させるようにしてもよい。この場合、大量にパケットを送信する悪性ホストでは短期間で画像の生成が可能となる一方、良性ホストで人による操作でパケットが送信される場合には画像の生成に長期間を要する。そのため、悪性ホストの画像は明度の変化が小さくなる一方、良性ホストの画像は明度の変化が大きくなる。このように時間軸を異ならせても同じにしても悪性ホストと良性ホストとで異なる傾向が現れる。画像を生成する規則については、サイバー攻撃の種類、ニューラルネットワークによる判定との相性（学習データやパラーメータの調整など）によって決定すればよい。
【００５７】
次に、送信元ポートに着目すると、悪性ホストの画像ではポート番号が周期的に変化を繰り返している一方、良性ホストの画像ではポート番号が変化しているが、規則性は見出せなくなっている。また、宛先ポートに着目すると、悪性ホストの画像ではポート番号が常に一定である一方、良性ホストの画像ではポート番号が時々刻々と変化しており、規則性は特に発見されない。
【００５８】
さらに、シーケンス番号については、悪性ホストの画像と良性ホストの画像との間に差異が認められるが、いずれも特別な規則性を見出すことはできず、視認しただけでは特徴の差異を判断することはできない。また、ウィンドウサイズについては、悪性ホストの画像も良性ホストの画像もほぼ同じであり、特徴の差異を認識することはできない。
【００５９】
以上のように、本実施形態では、悪性ホストから送信されたパケットを変換した画像と、良性ホストから送信されたパケットを変換した画像とで異なる特徴を把握することが可能となり、サイバー攻撃の早期発見を支援することができる。
【００６０】
また、本実施形態では、収集するパケットをＳＹＮパケットとしているが、ＳＹＮパケットのサイズは小さいためパケットを蓄積しても膨大な容量を必要としない。また、画像変換の要素となる値はＴＣＰヘッダから取得され、ＴＣＰペイロードを参照しないため、利用者の送信内容を特定することはないため、プライバシーにも配慮することができる。このように、ＳＹＮパケットはコネクション確立時に必ず送信され、サイズが小さいことから本発明の目的に適しているが、他のパケットを使用してもよい。例えば、コントロールフラグが設定されていないパケットであれば処理対象のパケットは大量になるがＴＣＰペイロードを参照しなければ扱うデータ自体は小さくなるため、データの処理及び格納に問題なければ十分な学習データを蓄積することが可能となり、分類（判定）精度を向上させることが期待できる。
【００６１】
以上、パケットの画像変換について説明したが、本実施形態では、変換後の画像を分類部１３３（ニューラルネットワーク）の入力とし、パケットの送信元を分類することによって悪性ホストであることを検知する。さらに、膨大な量のパケットを処理することによってニューラルネットワークによる機械学習を行い、人間が把握できない特徴を明らかにして判定の精度を向上させることが可能となる。例えば、前述したシーケンス番号のように、画像そのものの差異は認められても特徴を認識できない場合など、膨大な量のデータを処理することによって悪性ホストの特徴を特定することが期待できる。
【００６２】
以下、パケットを変換した画像（パケット画像）を入力とし、パケットの送信元が良性ホスト又は悪性ホストである確率を出力するニューラルネットについて説明する。なお、本実施形態におけるニューラルネットの仕組みは一例であり、この例に限定されるものではなく、他の文献等でよく用いられているものを適用してもよい。また、パラメータの調整等についても原則的に既存の技術に基づく手法を適用すればよい。
【００６３】
図１０は、本発明の実施形態においてパケットの送信元が良性ホスト又は悪性ホストである確率を判定するニューラルネットワークを説明する図である。本実施形態に適用するニューラルネットワークは、いわゆる畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＣＮＮ）と呼ばれるものであり、畳み込み層とプーリング層の２つの層を含む構造となっている。畳み込みニューラルネットワークを用いた手順は分類部１３３にて実行される。
【００６４】
分類部１３３は、まず、ニューラルネットワークにパケット画像を入力する。次に、畳み込み層において、入力されたパケット画像全体に対して複数種類のフィルタを適用し、パケット画像の特徴を抽出した特徴マップを出力する。特徴マップはフィルタごとに抽出されるため、プーリング層で各特徴マップのサイズをそれぞれ縮小し、特徴が凝縮された新たな特徴マップを生成する。さらに、生成された特徴マップを次の畳み込み層に入力し、所定の階層分だけ畳み込み層とプーリング層を繰り返して精度を向上させる。
【００６５】
畳み込み層及びプーリング層における処理が終了すると、特徴マップのサイズを１次元に変換する平滑化（ｆｌａｔｔｅｎｉｎｇ）を実行し、全結合層において、重み付き結合を計算し、活性化関数（例えば、ＲｅＬＵ）によって変換された値（特徴変数）を出力する。さらに、ドロップアウト層において、過学習を防止して判定結果の精度を高めるために、所定の比率（例えば、０．５）で特徴変数の値を０にする。最後に、特徴変数に基づいて、パケットが良性ホストから送信された確率と悪性ホストから送信された確率を出力する。
【００６６】
以上のように、画像認識に高い精度を発揮する畳み込みニューラルネットワークに、特定のホストから送信されたパケットを変換した画像を入力することによって、パケットを送信したホストが悪性ホストである確率及び良性ホストである確率を出力することができる。
【００６７】
また、畳み込みニューラルネットワークによる判定結果の精度は、効率的に学習を行うことで向上させることができる。本実施形態では、あらかじめネットワークから収集した正解ラベル付きのデータセットを使用して学習している。具体的には、悪性ホストから送信されたパケットと良性ホストから送信されたパケットをあらかじめ把握した状態でパケットを変換した画像を入力し、把握されている結果と一致するようにパラメータの調整を行っている。
【００６８】
また、収集したデータセットのうち半分を学習データとして利用し、残り半分を送信されたパケットとして利用して検証を行った。図１１は、本発明の実施形態の分類方法をデータセットに対して適用した結果を示す図である。図１１に示すグラフは学習曲線を示し、縦軸が正確さ（ａｃｃｕｒａｃｙ、良性又は悪性の分類が正確であった比率）、横軸がエポック数（ｅｐｏｃｈ、学習データの学習回数）となっている。
【００６９】
本実施形態に示す手法をデータセットに適用した結果、２０エポック後に９８．３９％の精度を達成した。すなわち、１００個のパケットを変換した画像を入力とし、これらのパケットを送信したホストが良性ホストであるか悪性ホストであるかを９８％以上の精度で分類することができたことを示している。
【００７０】
続いて、図１１にて説明した学習済みのニューラルネットワークを含む分類方法を別のネットワークで収集されたパケットで構成されたデータセットに適用して検証する。なお、このデータセットに含まれるパケットはすべて悪性ホストから送信されたものとなっている。
【００７１】
図１２は、本発明の実施形態の分類方法を図１１とは異なるデータセットに対して適用した結果を説明する図である。図１２に示すグラフでは、縦軸はＣＤＦ（累積確率）、横軸は悪性ホストからパケットが送信されたと判定される確率となっている。図１２を参照すると、全体の８６％の画像は５０％以上の確率で悪性ホストに分類されている。また、全体の５１％の画像は９９％以上の確率で悪性ホストに分類されている。このように、本実施形態の分類方法は、学習データを収集したネットワークとは別のネットワークのパケットについても効果を奏することがわかる。
【００７２】
以上のように、本実施形態によれば、コネクション確立時に送信されるＳＹＮパケットを画像に変換し、変換後の画像をＤＤｏＳ攻撃などの不正な通信におけるＳＹＮパケットを変換した画像と比較することによって、サイバー攻撃を検知することができる。また、ニューラルネットワークによる画像認識によって不正な通信を判定するため、定期的に学習を行うことでサイバー攻撃のパターンが変化した場合であっても迅速に対応することができる。
【００７３】
さらに、本実施形態によれば、パケットの内容によらずにパケットを送受信する挙動に着目するため、新たな手段でサイバー攻撃を行っていてもサイバー攻撃が発生している可能性のある悪性ホストを迅速に特定することが可能となる。例えば、パケットを送出する手段が未知のサイバー攻撃であっても、結果的に大量のパケットが送出されるのであれば、本実施形態で示した技術によって悪性ホストを特定できる可能性が高い。悪性ホストを迅速に特定し、悪性ホストの通信を遮断することなどの対応を行うことにより障害の発生を未然に防いだり、早期に障害から復旧したりすることが期待できる。
【００７４】
図１３は、本発明の実施形態のネットワークシステムの変形例を説明する図である。図２に示した構成では、上流ネットワーク１０と下流ネットワーク２０との間にパケットミラー装置３０が配置され、パケットの転送先にパケット処理装置１００が配置されていたが、図１３に示すように、上流ネットワーク１０と下流ネットワーク２０との間を相互接続する通信装置（ルーター）２００がパケット処理装置１００の機能を有するようにしてもよい。このように構成することによって、機器構成をシンプルにすることができる。また、パケットの分類結果に応じて直接通信を遮断したり、通信機器の警告ランプを点灯させたりすることが可能となる。
【００７５】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【００７６】
１０    上流ネットワーク
１１    攻撃対象サーバ
１２    管理計算機
２０    下流ネットワーク
２１    攻撃側端末
３０    パケットミラー装置
１００    パケット処理装置（通信装置）
１０１    通信インターフェース（ＩＦ）
１１０    プロセッサ（ＣＰＵ）
１２０    メモリ
１３０    検知部
１３１    パケット取得部
１３２    パケット画像変換部
１３３    分類部
１４０    学習部
１４１    学習データ収集部
１４２    ニューラルネット学習部
１６０    記憶装置
１６１    パケットデータ格納部
１６２    画像格納部
１６３    学習データ格納部
２００    通信装置（ルーター）
【図１】
2019216305.tif 000003
【図２】
2019216305.tif 000004
【図３】
2019216305.tif 000005
【図４】
2019216305.tif 000006
【図５】
2019216305.tif 000007
【図６】
2019216305.tif 000008
【図７】
2019216305.tif 000009
【図８】
2019216305.tif 000010
【図９】
2019216305.tif 000011
【図１０】
2019216305.tif 000012
【図１１】
2019216305.tif 000013
【図１２】
2019216305.tif 000014
【図１３】
2019216305.tif 000015