(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6906928
(24)【登録日】2021年7月2日
(45)【発行日】2021年7月21日
(54)【発明の名称】ネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法
(51)【国際特許分類】
H04L 12/70 20130101AFI20210708BHJP
【FI】
H04L12/70 100Z
【請求項の数】18
【全頁数】14
(21)【出願番号】特願2016-216342(P2016-216342)
(22)【出願日】2016年11月4日
(65)【公開番号】特開2017-92963(P2017-92963A)
(43)【公開日】2017年5月25日
【審査請求日】2019年6月12日
(31)【優先権主張番号】10-2015-0156952
(32)【優先日】2015年11月9日
(33)【優先権主張国】KR
(31)【優先権主張番号】10-2016-0052154
(32)【優先日】2016年4月28日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】596180076
【氏名又は名称】韓國電子通信研究院
【氏名又は名称原語表記】Electronics and Telecommunications Research Institute
(74)【代理人】
【識別番号】100091982
【弁理士】
【氏名又は名称】永井 浩之
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100082991
【弁理士】
【氏名又は名称】佐藤 泰和
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100096921
【弁理士】
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】キム、ジョン、テ
(72)【発明者】
【氏名】カン、ク、ホン
(72)【発明者】
【氏名】キム、イク、キュン
【審査官】
大石 博見
(56)【参考文献】
【文献】
特開2001−217834(JP,A)
【文献】
特開2012−253735(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
トレースエージェントが、被害地及び接続チェーン上の最後の接続であるターゲット接続に該当される攻撃地のアイピーパケット属性情報を含む逆追跡要求を受信するステップと、
前記アイピーパケット属性情報に基づいて関連接続へのフィンガープリントを生成し、ネットフローコレクタに関連情報を要求するステップと、
前記フィンガープリントの生成時に出来たターゲット接続に対する経由地接続を検出して、選別された対象接続が前記ターゲット接続と同一の接続チェーン上に存在するかどうかを確認するように命令するステップと、及び
前記ターゲット接続と同一の接続チェーン上に存在するものと確認された前記対象接続に対して攻撃者ホストを基準にした接続順序を決定するステップと、
を含み、
前記要求するステップは、前記フィンガープリントを生成することにおいて、データグラムチェックステップと、データグラムの順序を並べ替えるステップと、データグラムロスをチェックするステップと、レイヤ4の接続情報を獲得するステップと、フローレコードに対するオンタイムマージングを行なうステップと、前記オンタイムマージングを介して選別された前記フローレコードに対するON/OFF時系列を生成するステップ及び前記生成された時系列を考慮して前記フィンガープリントを生成するステップと、を含むネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項2】
前記受信するステップは、攻撃開始時間、攻撃終了時間、攻撃送信元IPアドレス、攻撃送信元ポート番号、宛先IPアドレス、宛先ポート番号及びレイヤ3プロトコル情報を前記アイピーパケット属性情報として受信する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項3】
前記データグラムチェックステップは、ヘッダフォーマット内のVersion及びCountフィールドを利用して、ネットフローコレクターが収集したネットフローのバージョン及びサイズをチェックする請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項4】
前記データグラムの順序を並べ替えるステップは、ヘッダフォーマット内のSysUptimeフィールドを利用して収集された該当ネットフローの順序の並べ替えを行なう請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項5】
前記データグラムロスをチェックするステップは、ヘッダフォーマット内のCount及びflow_sequenceフィールドを利用して前記ロスの発生有無を確認する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項6】
前記レイヤ4の接続情報を獲得するステップは、フローレコードフォーマット内の攻撃送信元IPアドレス、宛先IPアドレス、攻撃送信元ポート番号、宛先ポート番号及びプロトコルフィールドを利用して前記レイヤ4の接続情報を獲得する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項7】
前記レイヤ4の接続情報を獲得するステップは、攻撃開始及び終了時間の間の複数のターゲットレイヤ4接続に対して、TCPフラグを利用して前記レイヤ4単位の接続を区分する請求項6に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項8】
前記オンタイムマージングを行なうステップは、フローレコードのON時間と既設定時間とを比較して前記フローレコードを選別し、前記既設定時間よりも短いON時間に該当するフローレコードを削除する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項9】
前記ON/OFF時系列を生成するステップは、前記選別されたフローレコードに対してレイヤ4単位のON/OFF時系列を生成する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項10】
前記フィンガープリントを生成するステップは、生成された複数の時系列のうち最大長の時系列を選択してON/OFFの時間列にセットアップ時間を考慮して前記フィンガープリントを生成する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項11】
前記命令するステップは、接続開始時間ないし接続終了時間の間に接続を維持するレイヤ4接続を選別し、前記選別されたレイヤ4接続の時系列を生成し、これを前記受信するステップで生成されたフィンガープリントの時系列と比較して前記経由地接続を検出する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項12】
前記命令するステップは、最少のエレメントの和及び最大のエレメントの和の割合を利用した類似度検出アルゴリズムを行なって、前記対象接続及びターゲット接続が同一の接続チェーン上に存在するかどうかを確認する請求項11に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項13】
前記命令するステップは、相関性オフセットを増加させて類似度を計算した後、その最大値を相関係数として定義し、相関係数の最大値と臨界値とを比較して同一の接続チェーン上に存在するかどうかを確認する請求項12に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項14】
前記決定するステップは、複数の前記対象接続の接続開始時間及び接続終了時間を考慮して、相互包含関係にあるかどうかを確認して前記攻撃者ホストに近く位置した接続を確認する請求項1に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項15】
前記決定するステップは、前記相互包含関係が存在しない場合、相対的に小さい相関係数を持つ接続を誤検知された接続と判断して、これを除去する請求項14に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項16】
ターゲット接続に該当するアイピーパケット属性情報を含む逆追跡要求を受信し、前記アイピーパケット属性情報に基づいて関連接続へのフィンガープリントを生成して、逆追跡命令を転送するトレースエージェントと、及び
ルーターからネットフロー情報を収集して格納し、前記逆追跡命令を受信して、選別された対象接続がターゲット接続と同一のチェーン上に存在するかどうかを確認するネットフローコレクタを含み、
前記対象接続のうち複数の接続が、前記同一のチェーン上に存在するものと検出される場合、前記対象接続の接続時間を含むかどうかを考慮して、攻撃者ホストを基準にした接続順序を決定したり、誤検知された接続であるかどうかを確認するネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項17】
前記フィンガープリントは、フローレコードに対するON/OFF時系列を考慮して生成される請求項16に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【請求項18】
前記ネットフローコレクタは、接続開始時間ないし終了時間の間に接続が維持されるレイヤを選別し、選別されたレイヤの時系列を生成し、これを前記フィンガープリントの時系列と比較して経由地接続を検出する請求項16に記載のネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サイバーハッキング攻撃に対する追跡技術に関し、より詳しくは、ネットワークフロー(NetFlow)データを利用して接続のフィンガープリントを生成し、根源地を逆追跡するシステム及びその方法に関する。
【背景技術】
【0002】
サイバーハッキング攻撃に対する逆追跡技術は、攻撃システムの位置及び実際ハッキングを試みるハッカーの位置が異なる場合であっても、実際ハッカーの位置、即ち、攻撃の根源地を追跡する技術を意味する。
【0003】
従来技術によるサイバーハッキング攻撃に対する逆追跡技術は、ホスト基盤の接続逆追跡方法(Host based TCP Connection Traceback)、ネットワークパケット基盤の逆追跡方法(Network IP Packet based Traceback)及びIPアドレスを騙して通信する攻撃(IP Spoofing)に対してパケットの実際の送信元を見付け出す逆追跡方法などが提案されている。
【0004】
ホスト基盤の接続逆追跡方法は、全てのシステムに逆追跡モジュールを設け、これを利用して多数の他のシステムを経由したハッカーの実際の位置を見付け出す方法である。
【0005】
ネットワークパケット基盤の逆追跡方法は、ネットワークパケットが監視可能な位置に逆追跡モジュールを設けて、多数の他のシステムを経由したハッカーの実際の位置を見付け出す方法である。
【0006】
このような従来の技術は、インターネット供給者(InternetServi
ce Provider、ISP)のオーバーヘッドを全て甘受しなければならないという問題がある。
【0007】
また、ハッカー誘引用Honeypot偽装サーバ及びハッカー自動追跡探知ソフトウェアなどが開発されているが、これは仮想網での特定の環境下においてだけ運用可能になるという限界がある。
【0008】
従来技術による場合、全てのネットワークトラフィックパケットと通信コネクションを監視しなければならないことからそのオーバーヘッドは相当であり、特に追跡機能を提供しないネットワーク機器(ルーター)或いはインターネット供給者を経由する場合には、更なる追跡自体が不可能になるという問題がある。
【0009】
つまり、従来の技術によると、ネットワーク上に専用の監視装置を分散して設けたり、インターネットプロトコルを変更しなければならないなど、実際、ネットワークに適用するのには不可能だという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、従来技術による場合、特別な監視装備が必要なため、現実的にインターネット環境に適用し難く、IP Spoofingなどの方法で攻撃者の情報を隠す場合には、探知が困難だという問題点を解決するために提案されたものであって、ルーターから提供されるネットフロー(NetFlow)情報を活用することによって、既存のインターネット環境に適用するのに特段の制約がなく、オーバーヘッドを最小化させ、攻撃の根源地を逆追跡することのできるネットフロー基盤の接続フィンガープリントの生成及び経由地の逆追跡方法を提供する。
【課題を解決するための手段】
【0011】
本発明に係るネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法は、被害地及び接続チェーン上の最後の接続であるターゲット接続に該当する攻撃地のアイピーパケット属性情報を含む逆追跡要求を受信するステップと、アイピーパケット属性情報を基に関連接続へのフィンガープリントを生成し、ネットフローコレクタへ関連情報を要求するステップと、フィンガープリントの生成時に出来たターゲット接続に対する経由地接続を検出して、選別された対象接続がターゲット接続と同一の接続チェーン上に存在するかどうかを確認するステップ及びターゲット接続と同一の接続チェーン上に存在するものと確認された対象接続に対して攻撃者ホストを基準にした接続順序を決定するステップと、を含むことを特徴とする。
【発明の効果】
【0012】
本発明に係るネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡システム及びその方法は、ルーターから提供されるネットフロー情報を利用して接続に対するON/OFFモデリングを行うことによって、経由地(Stepping Stones)及び攻撃の根源地を検出することができる。
【0013】
即ち、テルネット(Telnet)、rlogin、SSHなどのようなインタラクティブ(interactive)サービスを利用した接続チェーンを形成して攻撃する接続(経由地)を検出し、ルーターから提供されるネットフロー情報を利用して具現することにより、実際のネットワーク環境に適用及び使用されることに制約がないという効果がある。
【0014】
本発明の効果は、以上で言及したものに限定されず、言及されていない他の効果は、以下の記載から当業者に明確に理解されるであろう。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施形態に係る接続チェーンを示す概念図である。
【
図2】本発明の実施形態に係るネットフロー基盤の接続フィンガープリントの生成及び経由地の逆追跡方法を示すフローチャートである。
【
図3】本発明の実施形態に係るネットフロー基盤の接続フィンガープリントの生成及び経由地の逆追跡システムを示すブロック図である。
【
図4】本発明の実施形態に係るフィンガープリントの生成アルゴリズムを示すフローチャートである。
【
図5】本発明の実施形態に係る経由地接続検出アルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【0016】
本発明の上述した目的及びその他の目的と利点及び特徴、そしてそれらを達成する方法は、添付される図面と共に詳細に後述されている実施形態を参照すれば明確になるであろう。
【0017】
しかし、本発明は、以下に開示される実施形態に限定されるものではなく、様々な形態で具現されることができる。ただ、以下の実施形態は、本発明の属する技術分野において通常の知識を持つ者に発明の目的、構成及び効果を容易に知らせるために提供されるものであって、本発明の権利範囲は請求項の記載によって定義される。
【0018】
一方、本明細書で使用される用語は、実施形態を説明するためのものであって、本発明を制限しようとするものではない。本明細書において、単数形は文章で特に言及しない限り、複数形も含む。明細書で使用される「含む(comprises、comprising)は、言及された構成素子、ステップ、動作、及び/または素子が一つ以上の他の構成素子、ステップ、動作、及び/または素子の存在または追加されることを排除しない。
【0019】
以下では、
図1ないし
図6を参照して本発明の好ましい実施形態を詳細に説明する。
【0020】
本発明は、攻撃の根源地を逆追跡するために、一般的にルーターが提供するネットフロー情報を利用してコネクションフロー(connection flow)間のフィンガープリントの生成及び比較する方法を提案する。
【0021】
図1は、本発明の実施形態に係る接続チェーン(Connection Chain)を示す概念図である。
【0022】
本発明の実施形態によると、テルネット、SSH、rloginなどのようなインタラクティブサービスにおいて、ネットフローの非活性タイマー(Inactive Timer)特徴を利用して接続に対するON/OFFモデリングを介して経由地を検出する。
【0023】
例えば、攻撃者は遠隔ログオンを利用して一連のホスト(コンピュータ)であるホスト1(H
1、110a)、ホスト2(H
2、110b)、・・・ホストn(H
n、110n)に対する接続チェーンC
1、C
2、・・・、C
n−1を形成する。
【0024】
H
1は攻撃者自身のコンピュータであり、H
nは攻撃者が攻撃しようとする最終目標であり、接続C
iはホストH
iからH
i+1へ遠隔ログオンサービスを利用した接続を意味する。
【0025】
つまり、上述した例はホストH
iからテルネット、SSHまたはrloginなどでインタラクティブサービスクライアントを利用してホストH
i+1サーバへ遠隔接続を試みた例である。
【0026】
これらのインタラクティブサービスの接続はクライアントとサーバとの間で両方向に形成されるが、本発明の実施形態では攻撃者H
1から被害コンピュータH
nへ向かうダウンストリーム方向の接続のみを考慮する。
【0027】
また、攻撃者の最後の接続(C
n―1、以下、ターゲット接続(target connection)と言う)への接続時間及びパケットの属性情報(5−tuple情報として、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号及びレイヤ3プロトコルを含む)を知っており、該当接続へのネットフローレコード(NetFlow records)に対する情報がネットフローコレクタに格納されていると仮定する。
【0028】
本発明の実施形態によると、任意のルーターを介して収集されたネットフロー情報を検索して、ターゲット接続(C
n−1)と同一の接続チェーンを形成しているC
1、C
2、・・・、C
n−2を見付けるアルゴリズムを提案する。
【0029】
レイヤ4接続のフロー内のデータがT_idle秒以上存在しなければ、該当接続はOFF期間にあると見做し、データを含むパケットが表示されたら、該当フローはOFF期間を終えてON期間を開始し、該当フローがさらにT_idle秒以上データが存在しないまでにON期間を持続する。
【0030】
このようにトラフィックをON /OFFモデリングする根拠は、ユーザのキーストローク(Keystrokes)の時間間隔から導出することができる。
【0031】
本発明の実施形態によると、このようなON/OFFモデルに基づいて、2つの接続C
1、C
2が与えられる場合、これら両接続のOFF期間が終わる時点(つまり、ON期間が開始される時点)が略同じようであれば、両接続は経由地の関係を持つと判断する。
【0032】
即ち、ユーザのキーストロークは、C
1に沿って転送され、続いてC
2に沿って転送される。
【0033】
図2は、本発明の実施形態に係るネットフロー基盤の接続フィンガープリントの生成及び経由地の逆追跡方法を示すフローチャートである。
【0034】
本発明の実施形態によると、逆追跡要求に対するユーザリクエストを受信するステップS100と、関連接続へのフィンガープリントを生成するステップS200と、経由地接続を検出するステップS300及び攻撃者ホストを基準に対象接続の接続順序を決定するステップS400と、を含む。
【0035】
図3を参照すると、それぞれのTA(Trace Agent、400)は、分散されたネットワーク環境で動作し、これら複数のTA(400a、400b)はP2P基盤に情報を共有する。
【0036】
インターネット上に存在するルーター200は、ネットフロー設定及び送出情報を該当ネットフローコレクタ300に周期的に送出し、ネットフローコレクタ300は、収集されたネットフロー情報を該当時間帯ごとに格納する。
【0037】
本発明の実施形態によると、ルーター200のNetFlow Full Sampling RateやDefaultの設定値(非活性タイマーの初期値は10秒、活性タイマーの初期値は30分)を活用する。
【0038】
上述したDefaultの設定値は、ルーター200やスイッチ装備の特徴に応じて変わる。
【0039】
ステップS100は、UI(User Interface)を介して逆追跡要求(Req Traceback)を受信し、この時、逆追跡要求には被害地(Victim、100n)及び接続チェーン上の最後の接続であるターゲット接続(Target Connection)に該当される攻撃の最後のコネクションフロー情報が含まれる。
【0040】
つまり、IPパケット属性情報が複数集まってフロー(Flow)を形成し、これらのフローは、unidirectional通信セッションであって、セッションは互いにマッチングされるBidirectional Flow一対である。
【0041】
上述した逆追跡要求を受信したTA400aはステップS200において、被害地(Victim、100n)及び接続チェーン上の最後の攻撃地のIPアドレス、ポート情報、攻撃が加えられた時間情報及びプロトコル情報に基づいて関連接続(connection)へのフィンガープリントを生成し、それぞれのネットフローコレクタ(300a、300b,300c)に関連情報を要求する(FingerPrint Search)。
【0042】
ネットフローコレクタ(300a、300b、300c)で該当時間に検出されたコネクションフロー情報に基づいてフィンガープリントが生成され、フロー間の相互類似度が比較されて経由地(100b、100c)及び攻撃根源地100aを逆追跡するようになる。
【0043】
本発明の実施形態によると、ルーター200から送出されてネットフローコレクタ300に格納されたネットフロー情報を利用して該当接続のタイミング基盤の逆追跡を行い、そのためにインタラクティブトラフィックの特性であるON/OFFパターンを利用して経由地(100b、100c)を追跡する。
【0044】
以下では、本発明の実施形態に係るフィンガープリントの生成アルゴリズムを
図4を参照して説明する。
【0045】
本発明の実施形態に係るフィンガープリントの生成アルゴリズムは、接続チェーン上に存在する最後の接続(
図1に示したC
n−1としてターゲット接続に該当する。最終目標ホストの存在するネットワーク管理システム)でアイピーパケット属性情報を受信してフィンガープリントを生成する。
【0046】
上述したアイピーパケット属性は、攻撃開始時間(Ts)、攻撃終了時間(Te)、攻撃送信元IPアドレス(srcaddr)、攻撃送信元ポート番号(srcport)、宛先IPアドレス(dstaddr)、宛先ポート番号(dstport)及びレイヤ3プロトコル(protocol)情報を含む。
【0047】
スイッチやルーターを通すパケットは、アイピーパケット属性に分けることができるが、これらの属性はアイピーパケットの指紋または身分証明書と同様であり、これを利用してパケットが新しいものか、それとも他のものと似たようなものなのか区分することができる。
【0048】
ステップS210は、ネットフローUDPダイアグラムのサニティーチェック(Sanity Check)を行なうステップであって、ヘッダフォーマット(Header Format)内のVersion及びCountフィールドを利用してデータグラム(Datagram)のサイズチェックを介して、ルーターからエクスポート(export)されてネットフローコレクターが収集したネットフローのバージョン/サイズ(Datagram Size)をチェックする。
【0049】
次に、ステップS220は、収集された該当ネットフローをヘッダフォーマット内のSysUptimeフィールドを利用してフローエクスポートインフォメーション(Flow Export Information)の順の並べ替えを行う。
【0050】
ステップS230は、ヘッダフォーマット内のcountとflow_sequenceフィールドを利用してフローエクスポートインフォメーションの損失有無をチェックする。
【0051】
損失がない場合、ステップS240は、Ts(攻撃開始時間)ないしTe(攻撃終了時間)を基準に、フローレコードフォーマット(Flow Record Format)内の攻撃送信元IPアドレス、攻撃送信元ポート番号、宛先IPアドレス(dstaddr)、宛先ポート番号(dstport)及びレイヤ3プロトコル(protocol)フィールドを利用してレイヤ4の接続情報を獲得する。
【0052】
この時、レイヤ4の接続情報には、ターゲットレイヤ4アセンブリ、ts(接続開始時間)、te(接続終了時間)が含まれる。
【0053】
この時、Ts(攻撃開始時間)ないしTe(攻撃終了時間)の間には、複数のターゲットレイヤ4接続が存在し得るので、TCP Flag(SYN/FIN/RST)を利用してTCPレイヤ4単位の接続を区分する。
【0054】
次に、ステップS250では、ターゲット接続のアイピーパケット属性に対するTCPレイヤ4単位にN個のフローレコード(Flow Records)がある場合(R
1、R
2、・・・、R
N)、該当フローレコードR
i内(Last−First)の値がi番目のON時間になり、前記ON時間が既設定時間(特定のdelta時間)よりも小さい場合は、該当フローレコードR
iを除去する。
【0055】
このようなオンタイムマージング(ON Time Merging)を介してN以下のn個のフローレコード(R
1、R
2、・・・、R
n)を獲得する。
【0056】
次に、ステップS260では、ステップS250で獲得したn個のフローレコードに対するTCPレイヤ4単位のON/OFF時系列(time series)を生成する。
【0057】
1より大きくnより小さいか或いは同一のiに対して、R
i内(Last−First)の値は、i番目のON時間になり、フローレコード R
iのFirst値と R
i−1のLast値との差は、i−1番目のフローレコードのOFF時間となり、iが1の時には一番目のON時間のみが計算される。
【0058】
従って、ステップS260ではON/OFF時系列<ON
1、OFF
1、ON
2、OFF
2、・・・、OFF
n−1、ON
n>が生成される。
【0059】
ステップS270は、上述した過程を通じて複数の時系列が生成された場合、最大長の時系列を選択(Dominant ON/OFF time sequence selection)し、これらのON/OFF時系列にセットアップ時間を考慮して最終的にフィンガープリントを生成する。
【0060】
以下では、
図4で説明したフィンガープリント生成アルゴリズムで出来た一つのターゲットレイヤ4接続に対して、同一の接続チェーン上に存在する経由地接続を検出するためのアルゴリズムを
図5を参照して説明する。
【0061】
図5に示した経由地接続検出アルゴリズムは、一つのターゲットレイヤ4に対して<ts(接続開始時間)、te(接続終了時間)、TS(時系列)、{option=protocolなど}>を基準に同一の接続チェーン上に存在する経由地を検索するが、ステップS310ないしS330は、上述した
図4のステップS210ないしS230とそれぞれ同一の処理過程を行なう。
【0062】
つまり、ステップS310はネットフローUDPダイアグラムのサニティーチェックを行なうステップであって、ヘッダフォーマット内のVersion及びCountフィールドを利用してデータグラム(Datagram)のサイズチェックを介して、ルーターからエクスポート(export)されてネットフローコレクターが収集したネットフローのバージョン/サイズ(Datagram Size)をチェックし、ステップS320は、収集された該当ネットフローに対しヘッダフォーマット内のSysUptimeフィールドを利用してフローエクスポートインフォメーション(Flow Export Information)の順の並べ替えを行い、ステップS230はヘッダフォーマット内のcountとflow_sequenceフィールドを利用して、フローエクスポートインフォメーションの損失有無をチェックする。
【0063】
ステップS340は、ターゲットレイヤ4接続のts(接続開始時間)及びte(接続終了時間)の間の接続を維持する対象接続情報を獲得し、この時{option}フィールドが存在する場合には、このフィールド内容を含んで対象接続情報を獲得する。
【0064】
例えば、ステップS340は、{option=レイヤ3プロトコル}である場合、この条件を満たす対象接続情報を獲得し、TCP Flag(SYN/FIN/RST)を利用して接続開始時間及び終了時間がターゲットレイヤ4接続のtsないしteを含むレイヤ4の対象接続を選別する。
【0065】
図5に示したステップS350ないしS360は、上述した
図4のステップS250及びS260と同一の処理過程を行い、ステップS350ではオンタイムマージングを介してフローレコードを選別し、ステップS360では、ステップS350で選別したフローレコードに対するTCPレイヤ4単位のON/OFF時系列を生成する。
【0066】
ステップS370は、
図4のフィンガープリント生成アルゴリズムで生成したフィンガープリントの時系列(TS)とステップS360で生成された対象接続の時系列の相関性(Correlation)検査を行う。
【0067】
以下では、経由地接続の相関性の比較アルゴリズムについて、上述したステップS370をより詳細に説明する。
【0068】
対象接続がターゲット接続と同一の接続チェーン上に存在する接続であるかどうかを確認するために、両接続のX、Yの相関性を比較する。
【0069】
本発明の実施形態によると、両ベクトルの間の類似性(Similarity)を定量的に計算して、最少のエレメント和と最大のエレメントの和との割合(Min/Max Sum Ratio、MMS)で示し、これらのMMSをCPF(Correlation Point Function)として使用する。
【0070】
ストリーム制御転送プロトコル(Stream Control Transmission Protocol、SCTP)の使用時にネットフローUDPパケットの損失がないと仮定し、ターゲット接続Xベクトルの集合<x
1、x
2、・・・、x
n>と対象接続(Candidate Connection)Yベクトルの集合<y
1、y
2、・・・、y
k>のCPFは下記[数式1]の通りである。
【数1】
この時、sはCorrelation Offsett(比較開始時点)を意味し、0≦s≦k‐mを満たすが、これは対象接続がターゲット接続と相関性を持つためには、先ずYベクトルのサイズがXベクトルのサイズよりも大きい条件を満たさなければならないからである。
【0071】
ターゲット接続は、接続チェーン上の最後の接続C
n−1であるので、対象接続が同一の接続チェーン上に存在する一つの接続になるためには、k>mを満たさなければならないインタラクティブサービスを利用した接続チェーン形成の順次生成及び終了特性のためである。
【0072】
また、mはXベクトルのサイズ、即ち|X|であり、sは上述したようにY
kの開始offset(Correlation Offset)である。
【0073】
従って、Y
kのサイズがrであれば0≦s≦r‐mの条件を満たしており、若しrがmよりも小さい場合は、計算を省略してCPF値を0と決定する。
【0074】
前記数式1は、ターゲット接続を基準に対象接続の開始位置sからサイズmほど相関性を求めた値となる。
【0075】
開始オフセット(Correlation Offset)を一つずつ増加させながらCPFを計算した後、最大値を見付けてこの値をCV(Correlation Value)と定義し、以降、二つの接続が同一の経由地を持つ接続チェーン上に存在するかどうかを比較するために、CV関連性値を下記の数式2のように計算する。
【数2】
例えば、一つのTPCレイヤ4単位のn個のフローレコード(Flow Records)のうち損失(lost)イベントがj(j<n)回発生した場合、j+1個の時系列が生成される。
【0076】
この時、生成された時系列をTS(1)、TS(2)、・・・、TS(j+1)と示すことができ、この時のCV値は、下記の数式3のように計算される。
【数3】
最終的に、CVの最大値は、下記の数式4を利用して計算され、この値が臨界値以上である場合、該当接続について同一の接続チェーン上に存在するものと判断する。
【数4】
ステップS400は、実際の攻撃地(Original Attacker)を検出するステップであって、対象接続のうち複数の接続が同一の接続チェーン上に存在するものと検出される場合、実際の攻撃地を基準に接続順序を決定する。
【0077】
例えば、 C
1と C
2が同一の接続チェーン上に存在するものと検出された場合、 C
1の接続時間(ts( C
1)、te( C
1))が C
2の接続時間(ts( C
2)、te( C
2))を含むかどうかを判断する。
【0078】
若し、 C
1の接続時間が C
2の接続時間を含む場合、 C
1が C
2よりもアップストリーム(Upstream)上に存在する経由地接続(Stepping Stone Connection)になり、 C
2の接続時間が C
1の接続時間を含む場合、 C
2が C
1よりも実際の攻撃地に近く位置した接続であるものと判断する。
【0079】
一方、 C
1と C
2が互いに包含関係に存在しなければ、これらのうちの少なくとも一つの接続は、接続チェーン上に存在する接続ではないものと、誤検知された接続である。
【0080】
従って、ステップS400は、同一の接続チェーン上に存在するものと検出された両接続の間に接続時間の包含関係が成り立っていない場合、CV値を比較して割と小さいCV値を持つ接続を誤検知された接続と判断して削除するようになる。
【0081】
上述した本発明の実施形態に係るネットフロー基盤の接続フィンガープリントの生成及び経由地逆追跡方法によって、実際ネットワーク上で実現可能であり、接続フィンガープリントを生成し経由地接続を確認して、実際の攻撃者を追跡することが可能であるという効果がある。
【0082】
これまで本発明の実施形態を中心に説明したが、本発明の属する技術分野において通常の知識を持つ者は、本発明の本質的な特性を外さない範囲内で変形された形態として具現されることが理解できるであろう。
【0083】
よって、開示された実施形態は限定的な観点ではなく、説明的な観点から考慮されなければならない。尚、本発明の範囲は、上述した説明ではなく、特許請求の範囲に示されており、それと同等の範囲内にある全ての相違点は本発明に含まれるものと解釈されなければならない。
【符号の説明】
【0084】
100 ホスト
200 ルーター
300 ネットフローコレクタ
400 TA
500 UI