JP2019216305A - 通信装置、パケット処理方法及びプログラム - Google Patents

通信装置、パケット処理方法及びプログラム Download PDF

Info

Publication number
JP2019216305A
JP2019216305A JP2018111069A JP2018111069A JP2019216305A JP 2019216305 A JP2019216305 A JP 2019216305A JP 2018111069 A JP2018111069 A JP 2018111069A JP 2018111069 A JP2018111069 A JP 2018111069A JP 2019216305 A JP2019216305 A JP 2019216305A
Authority
JP
Japan
Prior art keywords
packet
image
network
communication
data
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.)
Pending
Application number
JP2018111069A
Other languages
English (en)
Inventor
遼 中村
Ryo Nakamura
遼 中村
勇司 関谷
Yuji Sekiya
勇司 関谷
岡田 和也
Kazuya Okada
和也 岡田
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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2018111069A priority Critical patent/JP2019216305A/ja
Priority to PCT/JP2019/022811 priority patent/WO2019240054A1/ja
Publication of JP2019216305A publication Critical patent/JP2019216305A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】多様なパターンの不正な通信を検知可能な技術を提供する。【解決手段】ネットワークを介して通信するパケットを収集可能な通信装置(パケット処理装置100)であって、当該パケットは、ネットワークによる通信に必要な複数のデータを含む制御情報を有する。通信装置は、制御情報が有する複数のデータのうち少なくとも一部を含む特徴情報に基づいて、パケットを画像に変換する画像変換部と、変換された画像に基づいてパケットを分類する分類部と、を備える。【選択図】図4

Description

本発明は、ネットワークで通信されるパケットを収集して不正な通信を検知する技術に関する。
近年、ネットワークサービスに対して個人や組織を狙ったサイバー攻撃が問題となっている。サイバー攻撃には、例えば、悪意のある攻撃者がネットワークに大量のパケットを送信することでネットワークに負荷を増大させることによってネットワークサービス提供者のサービスを妨害するDoS攻撃(Denial of Service)やDDoS攻撃(Distributed Denial of Service)が知られている。
これらの攻撃からネットワークに接続されたWebサーバなどの通信機器を防御するために、種々の攻撃検知方法が提案されている。例えば、パケットカウント情報に基づいてパケットの受信間隔が一定間隔以下の状態が継続した期間を所定の閾値と比較することで攻撃を検知する技術などが提案されている(例えば、特許文献1参照)。このような攻撃を検知する技術によって攻撃を行っているホスト(悪性ホスト)を特定し、通信を遮断したり、攻撃を中止させたりする必要があった。
特開2017−147558号公報
しかしながら、通信量の多いネットワークでは、正常な通信であっても送受信されるパケットが多いためにDos攻撃のような不正な通信と検知されてしまうおそれがあった。これに対応するため、通信内容に基づいて不正な通信を検知するには多様なパターンに対応する必要があったため現実的には困難であった。
本発明は、上記事情に鑑みなされたもので、多様なパターンの不正な通信を検知する技術を提供することを目的とする。
本発明の代表的な一形態によれば、ネットワークを介して通信するパケットを収集可能な通信装置であって、前記パケットは、前記ネットワークによる通信に必要な複数のデータを含む制御情報を有し、前記通信装置は、前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換する画像変換部と、前記変換された画像に基づいて、前記パケットを分類する分類部と、を備えることを特徴とする。
本発明の代表的な実施形態によると、パケットを変換した画像に基づいてパケットを分類することができる。例えば、受信したパケットを変換した画像を、サイバー攻撃時のパケットを変換した画像と比較することによって、サイバー攻撃時のパケットの特徴を有するか否かを分類し、不正な通信を検知することができる。
本発明の実施形態の悪性ホストの検知方法の概要を説明する図である。 本発明の実施形態のネットワーク構成の一例を示す図である。 本発明の実施形態のパケット処理装置のハードウェア構成の一例を示す図である。 本発明の実施形態のパケット処理装置における各構成による処理の手順を説明する図である。 本発明の実施形態におけるTCPパケットの構成を説明する図である。 本発明の実施形態において1パケット分の画像変換を説明する図である。 本発明の実施形態において所定数のパケットを画像変換する手順を説明する図である。 本発明の実施形態の悪性ホストから送信されたパケットを変換した画像の一例を示す図である。 本発明の実施形態の良性ホストから送信されたパケットを変換した画像の一例を示す図である。 本発明の実施形態においてパケットの送信元が良性ホスト又は悪性ホストである確率を判定するニューラルネットワークを説明する図である。 本発明の実施形態の分類方法をデータセットに対して適用した結果を説明する図である。 本発明の実施形態の分類方法を図11とは異なるデータセットに対して適用した結果を説明する図である。 本発明の実施形態のネットワークシステムの変形例を示す図である。
本実施形態では、特に、サイバー攻撃であるDDoS攻撃を防御するための手段について説明する。DDoS攻撃では、ネットワークに接続している計算機に攻撃用プログラムを送り込み、この攻撃用プログラムによって攻撃対象となるWebサーバーなどの計算機に対して大量のリクエストを発行する(攻撃する)。さらに、複数の計算機に攻撃用プログラムを送り込んで同時に攻撃することによって、攻撃対象の計算機の負荷を増大させたり、攻撃対象の計算機が接続しているネットワークのトラフィックを増大させたりする。
本実施形態では、採取したパケットを解析することによって、送信元の計算機(ホスト)がサイバー攻撃を行っているか、又は、正常な通信を行っているかを判定する。このとき、サイバー攻撃を行う計算機(悪性ホスト)から送信されたパケットを遮断する一方、正常な通信を行っている計算機(良性ホスト)から送信されたパケットを通過させる。また、悪性ホストが内部のネットワークに接続されているのであればネットワークから切り離し、悪性ホストが外部のネットワークに接続されているのであれば内部ネットワークの入り口でアクセスを拒否したり、悪性ホスト又は悪性ホストが接続されたネットワークの管理者に通報したりすればよい。以下、添付図面を参照しながら本発明の実施形態について説明する。
図1は、本発明の実施形態の悪性ホストの検知方法の概要を説明する図である。本実施形態ではTCP/IPによる通信を本手法の対象とし、悪性ホストの特定はIPアドレスによって行う。なお、他のプロトコルによる通信でも本発明を適用することが可能であり、また、悪性ホストの特定はMACアドレス等で行ってもよい。
本実施形態では、まず、ネットワーク内で送受信されるパケットを採取する。パケットの採取は、他のネットワークと間を中継する通信機器で行ってもよいし、パケットミラー装置を介してパケット採取用機器にパケットの複製を送信して行ってもよい。
次に、採取したパケットに基づく画像を生成し(画像化)、パケットを画像に変換する。また、特徴を明確にするために、所定数のパケットをまとめて画像化を行う。画像化の具体的な方法については後述する。本実施形態では、画像を生成するために一定数以上のパケットが必要となるため、送信元が共通のパケットを一定数まとめることで画像化を行う。なお、パケットを画像化するか否かを判定する期間及びパケット数の閾値については、送信先の計算機、ネットワークの種類・性能に基づいて決定すればよい。また、所定期間内に送信されたパケット数が閾値以下のパケットについては破棄してもよい。
さらに、生成された画像を入力としてニューラルネットワークによって悪性ホストの特徴と有する画像であるか、良性ホストの特徴を有する画像であるかを分類(判定)する。すなわち、悪性ホストの検知は、パケットの送信元が悪性ホスト又は良性ホストに分類すること(悪性ホストであるか否かを判定)によって行う。パケットの送信元を悪性ホスト又は良性ホストに分類するニューラルネットはあらかじめ機械学習によってパラメータを調整しておくが、判定結果をリアルタイムに学習データに反映させるようにしてもよいし、採取したパケットや画像を蓄積し、定期的に学習データに反映させるようにしてもよい。最後に、悪性ホストと判定された(悪性ホストに分類された)画像に対応するIPアドレスをネットワークの管理者等に通知する。判定結果は、悪性ホストか良性ホストかを択一的に明示するものではなくてもよく、例えば、悪性ホストである可能性が85%、良性ホストである可能性が15%といった提示でもよい。このとき、悪性ホストである可能性が所定の確率以上(例えば、80%)の場合に管理者に通知するようにしてもよい。
以上、本実施形態における悪性ホストの検知方法の概要について説明した。続いて、本実施形態における悪性ホストの検知方法を適用するネットワーク構成の一例について説明する。図2は、本発明の実施形態のネットワーク構成の一例を示す図である。
本実施形態では、上流ネットワーク(第1ネットワーク)10と下流ネットワーク(第2ネットワーク)20との間で通信が行われ、パケットが送受信される。また、上流ネットワーク10と下流ネットワーク20との間を相互接続する通信機器(ルーター)が配置されており、さらに、ネットワーク間を送受信されるパケットの複製を転送するパケットミラー装置30が配置されている。なお、ルーターとパケットミラー装置30は別の装置である必要はなく、ルーターがパケットミラー装置30の機能を提供するようにしてもよい。
パケットミラー装置30によって複製されたパケットは、パケット処理装置(通信装置)100に転送される。パケット処理装置100は、パケットミラー装置30から転送されたパケットを解析し、本実施形態における悪性ホストの検知方法によって、パケットの送信元が悪性ホストであるか否かを判定する。
本実施形態では、上流ネットワーク10に攻撃対象サーバ11が接続されており、下流ネットワーク20に接続された攻撃側端末21は攻撃対象サーバ11に大量のパケットを送信する。本実施形態では、パケットミラー装置30は、悪性ホスト(攻撃側端末21)から送信されたパケットであってもそのまま上流ネットワーク10に当該パケットを転送している。
パケット処理装置100は、パケットの送信元(攻撃側端末21)を悪性ホストと判定した(悪性ホストに分類した)場合には、上流ネットワーク10に接続された管理計算機12に検知結果(警報)を通知する。管理計算機12は、検知結果(警報)が通知されると、警告メッセージを表示するなどして管理者に報知する。悪性ホストから送信されたパケットの遮断は、管理者が手動で行うようにしているが、ルーターが自動的に遮断するようにしてもよい。本実施形態では、悪性ホストであるか否かを択一的に提示するものではなく、悪性ホストである可能性を判定するものであるため、悪性ホストの可能性が認められた場合に判定結果が所定の閾値以上の場合にはパケットの転送を遮断し、それ以外の場合にはパケットの転送を継続しつつ管理計算機12に通知するようにしてもよい。管理計算機12は、ルーター、パケットミラー装置30、パケット処理装置100を設定するなど、ネットワークを管理するための端末として機能する。ネットワーク関連以外のサーバー(例えば、攻撃対象サーバ11)等の管理を行うものであってもよい。
以上、本実施形態におけるネットワーク構成の一例について説明した。続いて、パケットの送信元が悪性ホストであるか否かを判定する手法について説明する。まず、悪性ホストの検知方法を適用するパケット処理装置100のハードウェア及びソフトウェアの構成について説明し、続いて具体的な手法について説明する。
図3は、本発明の実施形態のパケット処理装置100のハードウェア構成の一例を示す図である。パケット処理装置100は、通信インターフェース(IF)101、プロセッサ(CPU)110、メモリ120及び記憶装置160を備え、各構成はバスによって接続される。
通信インターフェース(IF)101は、パケットミラー装置30によって転送されたパケットを受信したり、管理計算機12からの命令入力を受け付けたりする。プロセッサ(CPU)110は、メモリ120に記憶された各種プログラムを実行することによって各種機能を提供し、例えば、パケットの送信元が悪性ホストであるか否かを判定する機能を提供する。メモリ120は、プロセッサ110によって実行される各種プログラムを記憶し、プログラムの実行に必要なデータを一時的に記憶する。記憶装置160は、通信インターフェース(IF)101を介して受信したパケットの情報を蓄積したり、プログラムによるパケットの処理結果を格納したりする。
次に、メモリ120及び記憶装置160の構成について説明する。メモリ120は、パケットの送信元が悪性ホストであるか否かを判定する検知部130と、悪性ホストを判定するための学習データを生成する学習部140とを記憶する。検知部130及び学習部140は、プログラム及び当該プログラムを実行するためのデータによって構成される。記憶装置160は、パケットデータ格納部161、画像格納部162及び学習データ格納部163を提供する。以下、各構成について説明する。
検知部130は、パケットミラー装置30から転送されたパケットの送信元が悪性ホストであるかを判定する。検知部130は、パケット取得部131、パケット画像変換部132及び分類部133を含む。パケット取得部131は、通信IF101を介してパケットミラー装置30から転送されたパケットを一時的に記憶し、受信したパケットの内容に基づいてパケットデータ格納部161に格納する。
パケット画像変換部132は、パケットデータ格納部161から画像を作成する対象のパケットデータを取得し、画像に変換する。画像を変換する具体的な手順については図6及び図7にて後述する。パケット画像変換部132は、パケットデータから変換された画像を画像格納部162に格納する。分類部133には変換された画像を直接引き渡してもよいし、分類部133が画像格納部162から必要なデータを取得するようにしてもよい。
分類部133は、パケット画像変換部132によって変換された画像をニューラルネットに入力し、学習データ格納部163に格納された学習データに基づいて画像の変換元となったパケットを分類する。具体的にはパケットの送信元が良性ホストであるか若しくは悪性ホストであるかを分類する。
学習部140は、分類部133による判定(分類)精度を向上させるために、ニューラルネットワークにおける学習を行う。学習データ収集部141は、パケットデータ格納部161、画像格納部162に格納されたデータ及び画像と、パケットの送信元が実際に悪性ホストであったか否かの結果等の情報を収集する。ニューラルネット学習部142は、収集された学習データ及び学習データ格納部163に格納された学習データに基づいて精度を向上させたパラメータを決定するなどニューラルネットの学習を行う。さらに、決定されたパラメータなどの学習結果を学習データ格納部163に反映させる。
続いて、図3にて説明したパケット処理装置100の各構成によってパケットの送信元が悪性ホストであるか否かを判定する処理の手順について説明する。図4は、本発明の実施形態のパケット処理装置100における各構成による処理の手順を説明する図である。
まず、悪性ホストを判定するためのニューラルネットワークの学習を実施するための学習フェーズ(学習部140)について説明する。学習フェーズでは、ニューラルネットワークによる判定の精度を向上させるためのパラメータを調整することを目的とする。ニューラルネットワークでは、適切な学習データによって学習することによって精度を向上させることができる。
本実施形態では、ニューラルネットワークの学習を実施するタイミングは、管理計算機12からの学習実行指示を行った場合としているが、これに限らず、学習開始条件を満たした場合に学習を実施してもよい。学習開始条件としては、所定期間経過ごとに学習を実施してもよいし、学習用のデータが一定以上蓄積された場合に実施してもよい。また、悪性ホストによる攻撃のパターンが新しくなり、判定精度が悪化した場合に新たな攻撃パターンに基づく学習データを用いて学習するようにしてもよい。
学習データ収集部141は、管理計算機12からの学習指示を受け付けると、パケットデータ格納部161及び画像格納部162から学習データを収集する。このとき、判定精度を向上させるために学習データを選別して使用してもよい。学習データの選別は一般的な手法を用いる。なお、学習データは外部から取得してもよく、例えば、他のネットワークで収集されたパケットに基づく学習データを利用することによって、分類精度をより向上させることが期待される。
続いて、ニューラルネット学習部142は、学習データ収集部141によって収集された学習データに基づいてニューラルネットワークの学習を実施する。このとき、学習データ格納部163から学習結果を反映する前の学習データを取得し、学習実施後、学習結果を反映させた学習データを学習データ格納部163に格納する。学習データは、ニューラルネットによってパケットの送信元を良性ホスト又は悪性ホストに分類するために必要なパラメータ及びデータである。
ニューラルネット学習部142は、学習結果を反映させた学習データを学習データ格納部163に格納すると、管理計算機12に学習完了を通知する。なお、管理計算機12からの学習指示ではなく、学習開始条件が成立したことなどによって自動的に学習を実施した場合には、ログファイルなどに学習の実行ログを記録するようにしてもよい。
次に、転送されたパケットの送信元が悪性ホストであるか否かを判定する検知フェーズ(検知部130)について説明する。検知フェーズでは、パケットミラー装置30から転送されたパケットをパケット取得部131が受信し、パケットに含まれる情報をパケットデータ格納部161に格納する。パケットデータ格納部161に格納する情報は、受信した順序で格納してもよいが、後述するように送信元のIPアドレスが同じパケットに対してパケットの画像化を行うので、IPアドレス順に格納するようにしてもよい。また、パケットに含まれるすべての項目について格納する必要はなく、パケットの送信元が悪性ホストか良性ホストかを分類するために必要なデータのみを格納すればよい。さらに、パケットに含まれていない情報をパケットデータ格納部161に格納してもよく、例えば、パケットの受信日時(タイムスタンプ)をパケットデータとして格納してもよい。
次に、パケット画像変換部132は、パケットデータ格納部161に格納された情報を画像変換する。画像変換の対象となるパケットデータは、送信元のIPアドレスが同じものであるため、対象のデータをパケットデータ格納部161から取得する。本実施形態では、所定数のパケットデータを一の画像に変換するため、未変換のパケットデータが所定数格納されていない場合には画像変換を行わない。所定数に満たない程度のパケット数であれば宛先の計算機やネットワークの負荷は大きくないため、悪性ホストあるか否かを判定するまでもないからである。
また、画像に変換したパケットデータを重複して対象としないように削除してもよい。このとき、学習データとして利用する可能性があれば、変換対象のデータとは別の領域に移動させてもよいし、1件のパケットデータに変換済みか否かを示すフラグを追加して設定するようにしてもよい。パケットデータの削除は、定期的に手動で行ってもよいし、一定期間以上経過したデータ、学習データとして利用されたデータを対象に自動で行ってもよい。
パケット画像変換部132は、パケットデータを画像に変換すると、画像格納部162に変換後の画像を格納する。変換後の画像は必要に応じて学習データとして利用され、学習データ収集部141の実行時に画像格納部162から画像を取得する。なお、学習データ収集部141にてパケットデータ格納部161からパケットデータを取得して画像に変換することによって画像格納部162を備えない構成としてもよい。
さらに、パケット画像変換部132は、パケットデータを画像に変換した後、変換後の画像を分類部133に引き渡す。このとき、分類部133が画像格納部162から変換後の画像を取得するようにしてもよい。
分類部133は、ニューラルネットによってパケットの送信元を良性ホスト又は悪性ホストに分類する。具体的には、前述したように、パケット画像変換部132によって変換された画像をニューラルネットに入力し、学習データ格納部163に格納された学習データに基づいて画像の変換元となったパケットの送信元が悪性ホストであるか否かを判定する。本実施形態では、判定結果をパケットの送信元が悪性ホストであるか否かを択一的に選択して出力するのではなく、悪性ホストである確率及び良性ホストである確率を出力する。判定結果は、管理計算機12に通知してもよいし、パケット処理装置100に表示部を設けて出力するようにしてもよい。
以上が転送されたパケットを受信してからパケットの送信元が悪性ホストであるか否かを判定する手順である。続いて、パケットに含まれる情報(制御情報)から画像に変換する具体的な手段について説明する。まず、画像変換の具体的な手段を説明する前に、画像変換の対象となるパケットの構成について説明する。本実施形態のネットワークではTCP/IPによる通信を行っており、パケットの画像化は主にTCPパケットのTCPヘッダの各フィールドに設定された情報に基づいて行われる。
図5は、本発明の実施形態におけるTCPパケットの構成を説明する図である。図5に示したパケットの構成は一般的なものであり、各フィールドについて簡単に説明すると、まず、「送信元ポート番号」は送信元のポート番号の値、「宛先ポート番号」は宛先のポート番号の値である。「シーケンス番号」は送信したデータの順序を示す値であり、これにより分割して送信されたデータを送信先で復元することができる。また、パケットの種類(コントロールフラグ)が「ACK」の場合には、「相手から受信した確認応答番号」の値が格納される。「確認応答番号」は「相手から受信したシーケンス番号」及び「データサイズ」によって構成される。「データオフセット」はTCPヘッダの長さを示す値である。「予約」は将来の拡張のために用意されているフィールドであり、全ビット「0」が設定される。
「コントロールフラグ」は、「URG」、「ACK」、「PSH」、「RST」、「SYN」、「FIN」の6つのビットで構成されており、これらのビットに「1」の値を設定することによってパケットの種類が特定される。各フラグについて説明すると、「URG(Urgent)」は緊急に処理すべきデータ含まれていることを意味する。「ACK(Acknowledgement)」は確認応答番号のフィールドが有効であることを意味し、コネクション確立時以外は「1」が設定される。「PSH(Push)」は受信したデータをバッファリングせずに、即座にアプリケーション(上位)に渡すことを意味する。「RST(Reset)」はコネクションが強制的に切断されることを意味し、異常が検出された場合に送信される。「SYN(Synchronize)」はコネクションの確立を要求することを意味する。「FIN」はコネクションの正常な終了を要求することを意味する。
さらに、その他のフィールドについて説明すると、「ウィンドウサイズ」は受信側が一度に受信することができるデータ量を送信側に通知するために使用され、送信側はこの値のデータ量を超えて送信することはできない。「チェックサム」はTCPヘッダとデータ部分のエラーチェックを行うために使用される値が設定される。「緊急ポインタ」はコントロールフラグのURGの値が「1」である場合にのみ使用され、緊急データの開始位置を示す情報が設定される。「オプション」はTCPの通信において性能を向上させるために利用される。「パディング」はTCPヘッダの長さを32ビットの整数にするために空データの「0」の値を調整用に設定される。
以上のように、パケット(ヘッダ情報)には、画像変換の対象(特徴量)となりうる膨大なパラメータの候補が含まれており、例えば、IPアドレス、ポート番号、プロトコル番号、トラフィック量、パケット数、パケットあたりのバイト長の分布、フローの継続時間、パケットの送信間隔等が考えられる。一方、これらのパラメータの候補を削減するために、アプリケーション、プロトコル、マルウェアの種類を限定すると、汎用性を低下させてしまうおそれがある。
そこで、本実施形態では、TCPパケットのうち、通信開始時に送信されるSYNパケット(コントロールフラグの「SYN」に「1」が設定されたTCPパケット)を画像変換の対象とする。インターネットに接続される機器は通信開始時に必ずSYNパケットを送信するものと推測され、さらに、DDoS攻撃等でパケットを連続して送信する場合には通常とは異なるSYNパケットが送信されることが推測されるからである。
SYNパケットは、TCP接続の確立を要求するために送信されるため、データ等は設定されていない。そこで、送信されたパケットごとに異なる可能性の高いフィールドを画像変換の対象フィールドとする。具体的には、ポート番号(送信元、宛先)シーケンス番号、ウィンドウサイズとし、さらに、パケットを受信した時刻(タイムスタンプ)を加えて5種類のフィールドとする。
ここで、ネットワーク内で送受信されるすべてのパケットの情報をパケットデータ格納部161で保持すると膨大な容量が必要となるが、判定対象をSYNパケットに限定し、さらに画像化の対象となるフィールドを特定することによってパケットデータを格納するための容量を削減することができる。以下、特定の送信元から送信されるSYNパケットの振る舞いを画像化する手順について説明する。
図6は、本発明の実施形態において1パケット分の画像変換を説明する図である。本実施形態では、パケットを受信した時刻(タイムスタンプ、Timestamp)、送信元ポート番号(Src Port)、宛先ポート番号(Dst Port)、シーケンス番号(Seq)、ウィンドウサイズ(Win)の5種類のフィールドを画像化の対象とし、これらのフィールドに対応する値を要素とする5×1の配列として扱う。これらの要素は、パケットの送信元を分類する上で特徴となり得るものとして選択したものであり、他の要素としてもよい。1パケットに対応する5×1の配列を特徴情報とする。また、画像化の対象となるフィールドを1ピクセルとし、図6に示すように、1パケットは1×5ピクセルの画像となる。各ピクセルの配色は、各要素の値に基づいて決定し、本実施形態ではグレースケールとする。
DDoS攻撃は、短期間に大量のパケットを送信することで攻撃を成立させるため、送信元が同じアドレスのパケットが大量に送信されることになる。このとき、パケット単体に特徴があるとは限らない。そのため、連続して送信されたパケットをまとめて精査することによって、悪性ホストから送信されたパケットであるか否かを判定できることが考えられる。例えば、人手で大量のパケットを出力させることは困難であるため、悪性ホストが大量のパケットを連続して送信するプログラムを実行させている可能性が高くなる。この場合、パケットを出力するタイミングが等間隔であったり、パケットの内容が同じであったりすることが考えられる。
そこで、本実施形態では、前述のように、同じIPアドレスの送信元から連続して受信したパケットが所定数採取された段階で画像変換する。図7は、本発明の実施形態において所定数のパケットを画像変換する手順を説明する図である。本実施形態では所定数を100とし、連続して受信した100個のパケットを1枚の画像に変換する。なお、所定数は別の値であってもよいが、変更した場合にはニューラルネットワークでの学習が再度必要となる可能性がある。
画像変換の手順としては、まず、100個分のパケットのデータを時系列順に配置して100×5の配列を生成する。生成された100×5の配列を統合特徴情報とする。このとき、パケットに対応する配列の各要素の値は、フィールド(列)ごとに0から1の間で正規化する。例えば、タイムスタンプであれば、最初に到着したパケットの到着時刻を0とし、最後に到着したパケットの到着時刻を1とする。ポート番号のように必ずしも数値の大小が意味をなさない場合であっても特定のポート番号に必ず特定の数値が対応していればよい。このようにすることで、例えば、連続して同じポート番号が指定されていれば同色になり、周期的にポート番号が変化していれば、画像に特定のパターンが形成されるため画像化後の特徴が明確になる。また、各ピクセルの配色は、前述のようにグレースケールとなっており、本実施形態では、正規化後の値が0の場合には黒、1の場合は白としている。なお、本実施形態では、100×5の配列を生成した後、転置させて画像を生成する。これにより、5×100ピクセルの画像が生成される。
なお、本実施形態では、所定数として100個のパケットの画像を変換し、5×100ピクセルの画像を生成しており、画像のサイズが5×100(500)ピクセルと小さいため、膨大な容量を必要としない。しかしながら、変換後の画像を画像格納部162に格納し続けると容量が不足する可能性があるため、外部のストレージ装置に画像を移動させてもよいし、定期的に削除するようにしてもよい。例えば、分類済みの画像を削除するようにしてもよいし、学習済みの画像を削除してもよい。また、パケットの送信元が分類されるまで保持し、学習データ利用するデータは外部に移動させ、その他のデータは削除するようにしてもよい。
以上の手順で生成した画像の一例について説明する。図8は、本発明の実施形態の悪性ホストから送信されたパケットを変換した画像の一例を示す図である。図9は、本発明の実施形態の良性ホストから送信されたパケットを変換した画像の一例を示す図である。上段及び下段ともに同じ分類のホストから送信されたパケットを画像変換したものである。
図8は悪性ホストからDDoS攻撃を行ったパケットを画像変換したものである。各行は上からタイムスタンプ、送信元ポート、宛先ポート、シーケンス番号、ウィンドウサイズである。図9は良性ホストから送信されたパケットであり、例えば、WEBサーバからサイトを閲覧するために操作した結果、送受信されたパケットである。以下、各項目について説明する。
まず、タイムスタンプに着目すると、図8に示す画像では、攻撃用プログラム(マルウェア)によって連続してパケットが送信されるため、明度が高くなる割合が一定となっている。一方、図9に示す画像では、明度が高くなる割合が一定でなくなっている。なお、前述のように最初にパケットを受信した時刻を0、最後にパケットを受信した時刻を1としているため、パケットを収集した期間が画像によって異なることになるが、時間軸を一致させるようにしてもよい。この場合、大量にパケットを送信する悪性ホストでは短期間で画像の生成が可能となる一方、良性ホストで人による操作でパケットが送信される場合には画像の生成に長期間を要する。そのため、悪性ホストの画像は明度の変化が小さくなる一方、良性ホストの画像は明度の変化が大きくなる。このように時間軸を異ならせても同じにしても悪性ホストと良性ホストとで異なる傾向が現れる。画像を生成する規則については、サイバー攻撃の種類、ニューラルネットワークによる判定との相性(学習データやパラーメータの調整など)によって決定すればよい。
次に、送信元ポートに着目すると、悪性ホストの画像ではポート番号が周期的に変化を繰り返している一方、良性ホストの画像ではポート番号が変化しているが、規則性は見出せなくなっている。また、宛先ポートに着目すると、悪性ホストの画像ではポート番号が常に一定である一方、良性ホストの画像ではポート番号が時々刻々と変化しており、規則性は特に発見されない。
さらに、シーケンス番号については、悪性ホストの画像と良性ホストの画像との間に差異が認められるが、いずれも特別な規則性を見出すことはできず、視認しただけでは特徴の差異を判断することはできない。また、ウィンドウサイズについては、悪性ホストの画像も良性ホストの画像もほぼ同じであり、特徴の差異を認識することはできない。
以上のように、本実施形態では、悪性ホストから送信されたパケットを変換した画像と、良性ホストから送信されたパケットを変換した画像とで異なる特徴を把握することが可能となり、サイバー攻撃の早期発見を支援することができる。
また、本実施形態では、収集するパケットをSYNパケットとしているが、SYNパケットのサイズは小さいためパケットを蓄積しても膨大な容量を必要としない。また、画像変換の要素となる値はTCPヘッダから取得され、TCPペイロードを参照しないため、利用者の送信内容を特定することはないため、プライバシーにも配慮することができる。このように、SYNパケットはコネクション確立時に必ず送信され、サイズが小さいことから本発明の目的に適しているが、他のパケットを使用してもよい。例えば、コントロールフラグが設定されていないパケットであれば処理対象のパケットは大量になるがTCPペイロードを参照しなければ扱うデータ自体は小さくなるため、データの処理及び格納に問題なければ十分な学習データを蓄積することが可能となり、分類(判定)精度を向上させることが期待できる。
以上、パケットの画像変換について説明したが、本実施形態では、変換後の画像を分類部133(ニューラルネットワーク)の入力とし、パケットの送信元を分類することによって悪性ホストであることを検知する。さらに、膨大な量のパケットを処理することによってニューラルネットワークによる機械学習を行い、人間が把握できない特徴を明らかにして判定の精度を向上させることが可能となる。例えば、前述したシーケンス番号のように、画像そのものの差異は認められても特徴を認識できない場合など、膨大な量のデータを処理することによって悪性ホストの特徴を特定することが期待できる。
以下、パケットを変換した画像(パケット画像)を入力とし、パケットの送信元が良性ホスト又は悪性ホストである確率を出力するニューラルネットについて説明する。なお、本実施形態におけるニューラルネットの仕組みは一例であり、この例に限定されるものではなく、他の文献等でよく用いられているものを適用してもよい。また、パラメータの調整等についても原則的に既存の技術に基づく手法を適用すればよい。
図10は、本発明の実施形態においてパケットの送信元が良性ホスト又は悪性ホストである確率を判定するニューラルネットワークを説明する図である。本実施形態に適用するニューラルネットワークは、いわゆる畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)と呼ばれるものであり、畳み込み層とプーリング層の2つの層を含む構造となっている。畳み込みニューラルネットワークを用いた手順は分類部133にて実行される。
分類部133は、まず、ニューラルネットワークにパケット画像を入力する。次に、畳み込み層において、入力されたパケット画像全体に対して複数種類のフィルタを適用し、パケット画像の特徴を抽出した特徴マップを出力する。特徴マップはフィルタごとに抽出されるため、プーリング層で各特徴マップのサイズをそれぞれ縮小し、特徴が凝縮された新たな特徴マップを生成する。さらに、生成された特徴マップを次の畳み込み層に入力し、所定の階層分だけ畳み込み層とプーリング層を繰り返して精度を向上させる。
畳み込み層及びプーリング層における処理が終了すると、特徴マップのサイズを1次元に変換する平滑化(flattening)を実行し、全結合層において、重み付き結合を計算し、活性化関数(例えば、ReLU)によって変換された値(特徴変数)を出力する。さらに、ドロップアウト層において、過学習を防止して判定結果の精度を高めるために、所定の比率(例えば、0.5)で特徴変数の値を0にする。最後に、特徴変数に基づいて、パケットが良性ホストから送信された確率と悪性ホストから送信された確率を出力する。
以上のように、画像認識に高い精度を発揮する畳み込みニューラルネットワークに、特定のホストから送信されたパケットを変換した画像を入力することによって、パケットを送信したホストが悪性ホストである確率及び良性ホストである確率を出力することができる。
また、畳み込みニューラルネットワークによる判定結果の精度は、効率的に学習を行うことで向上させることができる。本実施形態では、あらかじめネットワークから収集した正解ラベル付きのデータセットを使用して学習している。具体的には、悪性ホストから送信されたパケットと良性ホストから送信されたパケットをあらかじめ把握した状態でパケットを変換した画像を入力し、把握されている結果と一致するようにパラメータの調整を行っている。
また、収集したデータセットのうち半分を学習データとして利用し、残り半分を送信されたパケットとして利用して検証を行った。図11は、本発明の実施形態の分類方法をデータセットに対して適用した結果を示す図である。図11に示すグラフは学習曲線を示し、縦軸が正確さ(accuracy、良性又は悪性の分類が正確であった比率)、横軸がエポック数(epoch、学習データの学習回数)となっている。
本実施形態に示す手法をデータセットに適用した結果、20エポック後に98.39%の精度を達成した。すなわち、100個のパケットを変換した画像を入力とし、これらのパケットを送信したホストが良性ホストであるか悪性ホストであるかを98%以上の精度で分類することができたことを示している。
続いて、図11にて説明した学習済みのニューラルネットワークを含む分類方法を別のネットワークで収集されたパケットで構成されたデータセットに適用して検証する。なお、このデータセットに含まれるパケットはすべて悪性ホストから送信されたものとなっている。
図12は、本発明の実施形態の分類方法を図11とは異なるデータセットに対して適用した結果を説明する図である。図12に示すグラフでは、縦軸はCDF(累積確率)、横軸は悪性ホストからパケットが送信されたと判定される確率となっている。図12を参照すると、全体の86%の画像は50%以上の確率で悪性ホストに分類されている。また、全体の51%の画像は99%以上の確率で悪性ホストに分類されている。このように、本実施形態の分類方法は、学習データを収集したネットワークとは別のネットワークのパケットについても効果を奏することがわかる。
以上のように、本実施形態によれば、コネクション確立時に送信されるSYNパケットを画像に変換し、変換後の画像をDDoS攻撃などの不正な通信におけるSYNパケットを変換した画像と比較することによって、サイバー攻撃を検知することができる。また、ニューラルネットワークによる画像認識によって不正な通信を判定するため、定期的に学習を行うことでサイバー攻撃のパターンが変化した場合であっても迅速に対応することができる。
さらに、本実施形態によれば、パケットの内容によらずにパケットを送受信する挙動に着目するため、新たな手段でサイバー攻撃を行っていてもサイバー攻撃が発生している可能性のある悪性ホストを迅速に特定することが可能となる。例えば、パケットを送出する手段が未知のサイバー攻撃であっても、結果的に大量のパケットが送出されるのであれば、本実施形態で示した技術によって悪性ホストを特定できる可能性が高い。悪性ホストを迅速に特定し、悪性ホストの通信を遮断することなどの対応を行うことにより障害の発生を未然に防いだり、早期に障害から復旧したりすることが期待できる。
図13は、本発明の実施形態のネットワークシステムの変形例を説明する図である。図2に示した構成では、上流ネットワーク10と下流ネットワーク20との間にパケットミラー装置30が配置され、パケットの転送先にパケット処理装置100が配置されていたが、図13に示すように、上流ネットワーク10と下流ネットワーク20との間を相互接続する通信装置(ルーター)200がパケット処理装置100の機能を有するようにしてもよい。このように構成することによって、機器構成をシンプルにすることができる。また、パケットの分類結果に応じて直接通信を遮断したり、通信機器の警告ランプを点灯させたりすることが可能となる。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
10 上流ネットワーク
11 攻撃対象サーバ
12 管理計算機
20 下流ネットワーク
21 攻撃側端末
30 パケットミラー装置
100 パケット処理装置(通信装置)
101 通信インターフェース(IF)
110 プロセッサ(CPU)
120 メモリ
130 検知部
131 パケット取得部
132 パケット画像変換部
133 分類部
140 学習部
141 学習データ収集部
142 ニューラルネット学習部
160 記憶装置
161 パケットデータ格納部
162 画像格納部
163 学習データ格納部
200 通信装置(ルーター)

Claims (10)

  1. ネットワークを介して通信するパケットを収集可能な通信装置であって、
    前記パケットは、前記ネットワークによる通信に必要な複数のデータを含む制御情報を有し、
    前記通信装置は、
    前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換する画像変換部と、
    前記変換された画像に基づいて、前記パケットを分類する分類部と、を備えることを特徴とする通信装置。
  2. 請求項1に記載の通信装置において、
    前記分類部は、前記ネットワークに対して正常な通信を行う良性ホストから送信されたパケットと、前記ネットワークに対して不正な通信を行う悪性ホストから送信されたパケットに分類することを特徴とする通信装置。
  3. 請求項1又は請求項2に記載の通信装置において、
    前記分類部は、前記画像変換部によって変換された画像を入力とするニューラルネットワークによって前記パケットを分類することを特徴とする通信装置。
  4. 請求項1から請求項3のいずれか1項に記載の通信装置において、
    前記ネットワークの通信プロトコルは、TCP/IPであり、
    前記制御情報は、TCPヘッダを構成する情報を含むことを特徴とする通信装置。
  5. 請求項4に記載の通信装置において、
    前記画像変換部は、前記TCPヘッダのSYNフラグが設定されているパケットを画像に変換することを特徴とする通信装置。
  6. 請求項1から請求項5に記載の通信装置において、
    前記画像変換部は、
    同じ送信元から送信された所定数のパケットに対応する各特徴情報から統合特徴情報を作成し、
    前記統合特徴情報に基づいて、前記所定数のパケットを一の画像に変換することを特徴とする通信装置。
  7. 請求項6に記載の通信装置において、
    前記特徴情報には、前記パケットが収集された時刻が含まれており、
    前記収集された各パケットに対応する領域が時系列順に配置されることを特徴とする通信装置。
  8. 請求項1から請求項7のいずれか1項に記載の通信装置において、
    前記画像変換部は、
    前記特徴情報に含まれるデータに対応する領域の配色を決定し、
    前記データに対応する領域を所定の領域に配置することによって前記パケットを画像に変換することを特徴とする通信装置。
  9. ネットワークを介して通信するパケットを収集可能な通信装置において、当該収集されたパケットを処理する方法であって、
    前記パケットは、前記ネットワークによる通信に必要な複数のデータを含む制御情報を有し、
    前記方法は、
    前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換するステップと、
    前記変換された画像に基づいて、前記パケットを分類するステップと、を含むことを特徴とする方法。
  10. ネットワークを介して通信し、当該ネットワークによる通信に必要な複数のデータを含む制御情報を有するパケットを処理するプログラムであって、
    前記複数のデータのうち少なくとも一部を含む特徴情報に基づいて、前記パケットを画像に変換する処理と、
    前記変換された画像に基づいて、前記パケットを分類する処理と、をコンピュータに実行させることを特徴とするプログラム。

JP2018111069A 2018-06-11 2018-06-11 通信装置、パケット処理方法及びプログラム Pending JP2019216305A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018111069A JP2019216305A (ja) 2018-06-11 2018-06-11 通信装置、パケット処理方法及びプログラム
PCT/JP2019/022811 WO2019240054A1 (ja) 2018-06-11 2019-06-07 通信装置、パケット処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018111069A JP2019216305A (ja) 2018-06-11 2018-06-11 通信装置、パケット処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2019216305A true JP2019216305A (ja) 2019-12-19

Family

ID=68841860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018111069A Pending JP2019216305A (ja) 2018-06-11 2018-06-11 通信装置、パケット処理方法及びプログラム

Country Status (2)

Country Link
JP (1) JP2019216305A (ja)
WO (1) WO2019240054A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7487769B2 (ja) 2020-03-27 2024-05-21 日本電気株式会社 異常アクセス予測システム、異常アクセス予測方法および異常アクセス予測プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116457783A (zh) * 2020-11-24 2023-07-18 松下电器(美国)知识产权公司 异常检测方法、异常检测装置以及程序

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3643087B2 (ja) * 2002-03-28 2005-04-27 日本電信電話株式会社 通信網およびルータおよび分散型サービス拒絶攻撃検出防御方法
KR101219538B1 (ko) * 2009-07-29 2013-01-08 한국전자통신연구원 비주얼 데이터 분석 기반의 네트워크 공격 탐지 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7487769B2 (ja) 2020-03-27 2024-05-21 日本電気株式会社 異常アクセス予測システム、異常アクセス予測方法および異常アクセス予測プログラム

Also Published As

Publication number Publication date
WO2019240054A1 (ja) 2019-12-19

Similar Documents

Publication Publication Date Title
US10284594B2 (en) Detecting and preventing flooding attacks in a network environment
KR100800370B1 (ko) 어택 서명 생성 방법, 서명 생성 애플리케이션 적용 방법, 컴퓨터 판독 가능 기록 매체 및 어택 서명 생성 장치
CN108063765B (zh) 适于解决网络安全的sdn系统
US20160014080A1 (en) Systems and methods for passing network traffic content
CN109922072B (zh) 一种分布式拒绝服务攻击检测方法及装置
CA2545916A1 (en) Apparatus method and medium for detecting payload anomaly using n-gram distribution of normal data
JP2006352274A (ja) フレーム転送制御装置、DoS攻撃防御装置およびDoS攻撃防御システム
TW201242313A (en) Detecting and mitigating denial of service attacks
JP2001217834A (ja) アクセス・チェーン追跡システム、ネットワーク・システム、方法、及び記録媒体
US20070289014A1 (en) Network security device and method for processing packet data using the same
US20230412591A1 (en) Traffic processing method and protection system
WO2019240054A1 (ja) 通信装置、パケット処理方法及びプログラム
JP7102780B2 (ja) 不正通信対処システム及び方法
KR101488271B1 (ko) Ids 오탐 검출 장치 및 방법
Belej Development of a Technique for Detecting" Distributed Denial-of-Service Attacks" in Security Systems of Wireless Sensor Network
US11405358B2 (en) Network security monitoring of network traffic
CN110198298A (zh) 一种信息处理方法、装置及存储介质
US9049170B2 (en) Building filter through utilization of automated generation of regular expression
Bellaïche et al. SYN flooding attack detection by TCP handshake anomalies
JP4235907B2 (ja) ワーム伝播監視システム
JP5009200B2 (ja) ネットワーク攻撃検出装置及び防御装置
Tomar An Approach to Meta-Alert Generation for Anomalous TCP Traffic
CN116346499A (zh) 恶意流量清洗方法、装置、电子设备及存储介质
CN114900322A (zh) 检测和防护网络攻击的方法、装置、服务器及配置终端