(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024021246
(43)【公開日】2024-02-16
(54)【発明の名称】フィンガープリント特定システム及びフィンガープリント特定方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20240208BHJP
H04L 69/16 20220101ALI20240208BHJP
H04L 43/08 20220101ALI20240208BHJP
【FI】
G06F21/55
H04L69/16
H04L43/08
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022123955
(22)【出願日】2022-08-03
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省、「電波資源拡大のための研究開発(JPJ000254)」における委託研究「電波の有効利用のためのIoTマルウェア無害化/無機能化技術等に関する研究開発」、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100120868
【弁理士】
【氏名又は名称】安彦 元
(72)【発明者】
【氏名】田中 智
(72)【発明者】
【氏名】韓 燦洙
(72)【発明者】
【氏名】高橋 健志
(72)【発明者】
【氏名】井上 大介
(57)【要約】
【課題】様々な式で表現されたフィンガープリントを自動で特定することが可能なフィンガープリント特定システム及びフィンガープリント特定方法を提供する。
【解決手段】フィンガープリント特定システムは、通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、パケットの特徴量を生成するTCP写像を生成する生成手段と、前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段とを備え、前記特定手段は、前記パケットを送信するホストと、前記有効サインとに基づいて、前記フィンガープリントを特定することを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、
パケットの特徴量を生成するTCP写像を生成する生成手段と、
前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段とを備え、
前記特定手段は、前記パケットを送信するホストと、前記有効サインとに基づいて、前記フィンガープリントを特定すること
を特徴とするフィンガープリント特定システム。
【請求項2】
通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、
パケットの特徴量を生成するTCP写像を生成する生成手段と、
前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段と、
前記パケットの数と、前記パケットを送信するための宛先ポートのうち前記パケットの数が多い順から、予め設定された設定値の数の宛先ポートであるトップポートにより送信される前記パケットの数とに基づいて、前記特定手段により特定されたフィンガープリントを分類する分類手段とを備えること
を特徴とするフィンガープリント特定システム。
【請求項3】
通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、
パケットの特徴量を生成するTCP写像を生成する生成手段と、
前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段と、
前記パケットを送信するホストの数と、前記パケットを送信するための宛先ポートの数毎のホストの数とに基づいて、前記特定手段により特定されたフィンガープリントを分類する分類手段とを備えること
を特徴とするフィンガープリント特定システム。
【請求項4】
通信に用いるパケットPに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、
パケットpの特徴量を生成するTCP写像fを生成する生成手段と、
前記生成手段により生成されたTCP写像fの任意の特徴量bに対して(1)式で示される出現率r(b)を算出し、算出した出現率r(b)に基づいて(2)式を満たす整数kの最大値を算出し、算出したkの最大値に基づき、TCP写像fと特徴量bとの組み合わせを示す有効サインを算出し、算出した有効サインに基づいて、前記フィンガープリントを特定する特定手段とを備えること
を特徴とするフィンガープリント特定システム。
【数1】
ここで、♯は集合の数を示す。また、Iは、前記パケットを送信するホストiの集合を示す。P
iは、ホストiが送信するパケットの集合を示す。
【数2】
ここで、B=(b
1、b
2、…)は、f(P)をr(b)の降順に並べたものを示し、B
≧k=(b
k、b
k+1、…)である。σ
2(B
≧k)は 、B
≧kの母分散を示し、αは正の実数を示し、βは自然数を示す。
【請求項5】
通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定方法において、
パケットの特徴量を生成するTCP写像を生成する生成ステップと、
前記生成ステップにより生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定ステップとをコンピュータに実行させ、
前記特定ステップは、前記パケットを送信するホストと、前記有効サインとに基づいて、前記フィンガープリントを特定すること
を特徴とするフィンガープリント特定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットのフィンガープリントの自動特定を行うフィンガープリント特定システム及びフィンガープリント特定方法に関する。
【背景技術】
【0002】
SOC(Security Operation Center)の業務の効率化のため、受信したスキャンパケットが攻撃又は調査を目的としたものであるか否かを特定することが求められている。従来の手法では、異常な通信を検知するために、単一ホストもしくは単一サブネットからのパケット数や宛先ポート数に着目することで、ホストからの通信が攻撃又は調査を目的としたものであるか否かを特定することが行われていた。しかしながら、従来の手法では、ホストが分散スキャンを行うことで検知から逃れることが可能であった。
【0003】
一方、スキャンパケットには他の通信と区別するためにパケットの特徴を示すフィンガープリントがみられる場合がある。このため、例えば非特許文献1に開示されるようなフィンガープリントを用いた通信の特定のための技術が注目されている。
【0004】
非特許文献1では、パケットフィールド上にフィンガープリントを埋め込むスキャン活動が存在し、一種類の式で表現されたフィンガープリントを特定する技術が開示されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Griffioen, Harm, and Christian Doerr. "Discovering Collaboration: Unveiling Slow, Distributed Scanners Common Header Field Patterns." NOMS 2020-2020 IEEE/IFIP Network Operations and Management Symposium. IEEE, 2020
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1に開示されている技術では、特定の式で表現されるフィンガープリントのみを特定するため、複数種類の式で表現されたフィンガープリントを特定することができないという問題点があった。
【0007】
本発明は、上述した問題点を解決するために導出されたものであり、様々な式で表現されたフィンガープリントを自動で特定することが可能なフィンガープリント特定システム及びフィンガープリント特定方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1発明に係るフィンガープリント特定システムは、通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、パケットの特徴量を生成するTCP写像を生成する生成手段と、前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段とを備え、前記特定手段は、前記パケットを送信するホストと、前記有効サインとに基づいて、前記フィンガープリントを特定することを特徴とする。
【0009】
第2発明に係るフィンガープリント特定システムは、通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、パケットの特徴量を生成するTCP写像を生成する生成手段と、前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段と、前記パケットの数と、前記パケットを送信するための宛先ポートのうち前記パケットの数が多い順から、予め設定された設定値の数の宛先ポートであるトップポートにより送信される前記パケットの数とに基づいて、前記特定手段により特定されたフィンガープリントを分類する分類手段とを備えることを特徴とする。
【0010】
第3発明に係るフィンガープリント特定システムは、通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、パケットの特徴量を生成するTCP写像を生成する生成手段と、前記生成手段により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定手段と、前記パケットを送信するホストの数と、前記パケットを送信するための宛先ポートの数毎のホストの数とに基づいて、前記特定手段により特定されたフィンガープリントを分類する分類手段とを備えることを特徴とする。
【0011】
第4発明に係るフィンガープリント特定システムは、通信に用いるパケットPに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定システムにおいて、パケットpの特徴量を生成するTCP写像fを生成する生成手段と、前記生成手段により生成されたTCP写像fの任意の特徴量bに対して(1)式で示される出現率r(b)を算出し、算出した出現率r(b)に基づいて(2)式を満たす整数kの最大値を算出し、算出したkの最大値に基づき、TCP写像fと特徴量bとの組み合わせを示す有効サインを算出し、算出した有効サインに基づいて、前記フィンガープリントを特定する特定手段とを備えることを特徴とする。
【0012】
【数1】
ここで、♯は集合の数を示す。また、Iは、前記パケットを送信するホストiの集合を示す。P
iは、ホストiが送信するパケットの集合を示す。
【0013】
【数2】
ここで、B=(b
1、b
2、…)は、f(P)をr(b)の降順に並べたものを示し、B
≧k=(b
k、b
k+1、…)である。σ
2(B
≧k)は 、B
≧kの母分散を示し、αは正の実数を示し、βは自然数を示す。
【0014】
第5発明に係るフィンガープリント特定方法は、通信に用いるパケットに含まれる特徴を示すフィンガープリントを特定するフィンガープリント特定方法において、パケットの特徴量を生成するTCP写像を生成する生成ステップと、前記生成ステップにより生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した前記有効サインに基づいて、前記フィンガープリントを特定する特定ステップとをコンピュータに実行させ、前記特定ステップは、前記パケットを送信するホストと、前記有効サインとに基づいて、前記フィンガープリントを特定することを特徴とする。
【発明の効果】
【0015】
第1発明~第5発明によれば、特定手段は、TCP写像の特徴量が基準値となる有効サインを抽出し、抽出した有効サインに基づいて、フィンガープリントを特定する。これにより、TCP写像の特徴量が予め設定された基準値となる共通の特徴を有する複数の有効サインからフィンガープリントを特定することが可能となる。このため、ボットネット等の送信元から送信されるパケットの特有の特徴を示す様々な式で表現されたフィンガープリントを自動で特定することが可能となる。
【0016】
特に、第1発明によれば、特定手段は、パケットを送信するホストと、有効サインとに基づいて、フィンガープリントを特定することを特徴とする。これにより、これにより、有効サインの中から出現率が高く、より共通している有効サインを抽出することが可能となるため、様々な式で表現されたフィンガープリントを自動でより高精度に特定することが可能となる。
【0017】
特に、第2発明によれば、パケットの数と、トップポートにより送信されるパケットの数とに基づいて、特定手段により特定されたフィンガープリントを分類する。これにより、例えばパケットの数と、トップポートにより送信されるパケットの数との割合に応じて、フィンガープリントが攻撃目的かどうかを判定することが可能となる。
【0018】
特に、第3発明によれば、分類手段は、パケットを送信するホストの数と、パケットを送信するための宛先ポートの数毎のホストの数とに基づいて、フィンガープリントを分類する。これにより、パケットを送信するホストの数と、パケットを送信するための宛先ポートの数が閾値以下となるホストの数と割合に応じて、フィンガープリントが攻撃目的かどうかを判定することが可能となる。
【0019】
特に、第4発明によれば、特定手段は、(2)式を満たす整数kの最大値を算出し、算出したkの最大値に基づき、有効サインを抽出する。これにより、TCP写像fと特徴量(b1、b2、・・・bkmax)との組み合わせの有効サインを抽出することにより、より頻出する複数の有効サインからフィンガープリントを特定することが可能となる。このため、ボットネット等の送信元から送信されるパケットの特有の特徴を示す様々な式で表現されたフィンガープリントを自動で特定することが可能となる。
【0020】
特に、第5発明によれば、特定ステップは、TCP写像の特徴量が基準値となる有効サインを抽出し、抽出した有効サインに基づいて、フィンガープリントを特定する。これにより、TCP写像の値が予め設定された基準値となる共通の特徴を有する複数の有効サインからフィンガープリントを特定することが可能となる。このため、ボットネット等の送信元から送信されるパケットの特有の特徴を示す様々な式で表現されたフィンガープリントを自動で特定することが可能となる。
【図面の簡単な説明】
【0021】
【
図1】
図1は、フィンガープリント特定システムの構成の一例を示す模式図である。
【
図2】
図2(a)は、本実施形態におけるフィンガープリント特定装置の構成の一例を示す模式図であり、
図2(b)は、本実施形態におけるフィンガープリント特定装置の機能の一例を示す模式図である。
【
図3】
図3は、本実施形態におけるフィンガープリント特定システムの動作のフローチャートの一例を示す図である。
【
図4】
図4は、トップポートがパケットに占める割合をフィンガープリント毎に1つの棒グラフで示したグラフである。
【
図5】
図5は、ホストが使用する宛先ポート数の割合をフィンガープリント毎に一つの棒グラフで示すグラフである。
【発明を実施するための形態】
【0022】
以下、本発明を適用した実施形態におけるフィンガープリント特定システムの一例について、図面を用いて説明する。
【0023】
図1は、フィンガープリント特定システム100の構成の一例を示す模式図である。フィンガープリント特定システム100は、例えば
図1に示すように、フィンガープリント特定装置1と、ホスト2とが通信網4を介して接続される。
【0024】
また、フィンガープリント特定システム100は、通信網4を介して、フィンガープリント特定装置1と複数のホスト2(2a、2b、2c)とが接続されてもよい。
【0025】
通信網4は、例えばフィンガープリント特定装置1が通信回路を介して接続されるインターネット網等である。通信網4は、いわゆる光ファイバ通信網で構成されてもよい。
【0026】
また、通信網4は、有線通信網のほか、無線通信網等の公知の通信技術で実現してもよい。また、通信網4は、ローカル通信網で構成されてもよい。
【0027】
ホスト2は、フィンガープリント特定装置1にパケットを送信する電子機器である。ホスト2は、例えばパーソナルコンピュータや、タブレット端末等の電子機器が用いられる。
【0028】
ホスト2は、例えばフィンガープリント特定装置1の備える機能のうち、少なくとも一部の機能を備えてもよい。
【0029】
フィンガープリント特定装置1は、ホスト2から送信されたパケットの特徴を示すフィンガープリントを特定する。フィンガープリント特定装置1は、例えばパーソナルコンピュータ(PC)等の電子機器が用いられるほか、例えばスマートフォン、タブレット型端末、ウェアラブル端末、IoT(Internet of Things)デバイス等の電子機器、シングルボードコンピュータ等が用いられてもよい。
【0030】
次に
図2を参照して、本実施形態におけるフィンガープリント特定装置1の一例を説明する。
図2(a)は、本実施形態におけるフィンガープリント特定装置1の構成の一例を示す模式図であり、
図2(b)は、本実施形態におけるフィンガープリント特定装置1の機能の一例を示す模式図である。
【0031】
フィンガープリント特定装置1は、例えば
図2(a)に示すように、筐体10と、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、保存部104と、I/F105~107とを備える。CPU101と、ROM102と、RAM103と、保存部104と、I/F105~107とは、内部バス110により接続される。
【0032】
CPU101は、フィンガープリント特定装置1全体を制御する。ROM102は、CPU101の動作コードを格納する。RAM103は、CPU101の動作時に使用される作業領域である。保存部104は、パケット等の各種情報が保存される。保存部104は、例えばHDD(Hard Disk Drive)の他、SSD(Solid State Drive)やSDカード、miniSDカード等のデータ保存装置が用いられる。なお、例えばフィンガープリント特定装置1は、図示しないGPU(Graphics Processing Unit)を有してもよい。
【0033】
I/F105は、通信網4を介して各種情報の送受信を行うためのインターフェースである。I/F106は、入力部108との情報の送受信を行うためのインターフェースである。入力部108として、例えばキーボードが用いられ、フィンガープリント特定装置1を利用するユーザ等は、入力部108を介して、各種情報又はフィンガープリント特定装置1の制御コマンド等を入力する。I/F107は、表示部109との各種情報の送受信を行うためのインターフェースである。表示部109は、保存部104に保存された特定結果等の各種情報、またはフィンガープリント特定装置1の処理状況等を出力する。表示部109として、ディスプレイが用いられ、例えばタッチパネル式でもよい。
【0034】
保存部104は、例えばホスト2から受信したパケット、フィンガープリントの特定及び分類に用いられるアルゴリズム等が記憶される。
【0035】
表示部109は、各種情報を表示する。表示部109は、例えば特定結果及び分類結果等を表示する。
【0036】
図2(b)は、フィンガープリント特定装置1の機能の一例を示す模式図である。フィンガープリント特定装置1は、取得部11と、生成部12と、特定部13と、記憶部14と、出力部15と、分類部16とを備える。なお、
図2(b)に示した取得部11と、生成部12と、特定部13と、記憶部14と、出力部15と、分類部16とは、CPU101が、RAM103を作業領域として、保存部104等に保存されたプログラムを実行することにより実現され、例えば人工知能により制御されてもよい。
【0037】
取得部11は、パケットを取得する。取得部11は、ホスト2から送信されたパケットを、通信網4を介して取得する他、例えばフィンガープリント特定装置1と通信網4を介して接続された図示しないサーバからパケットを取得してもよい。なお、取得部11が各種情報を取得する頻度、及び周期は、任意である。
【0038】
生成部12は、取得部11により取得されたパケットのフィンガープリントを特定するために用いる、パケットの特徴量を生成するTCP写像を生成する。
【0039】
特定部13は、生成部12により生成されたTCP写像の特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出し、抽出した有効サインに基づいて、フィンガープリントを特定する。
【0040】
分類部16は、特定部13により特定されたフィンガープリントを分類する。
【0041】
記憶部14は、保存部104に保存された各種情報を必要に応じて取り出す。記憶部14は、取得部11と、生成部12と、特定部13と、分類部16とにより取得又は出力された各種情報を、保存部104に保存する。
【0042】
出力部15は、各種情報を出力する。出力部15は、I/F107を介して表示部109に特定結果及び分類結果を送信する。
【0043】
次に、本実施形態におけるフィンガープリント特定システム100の動作の一例について説明する。
図3(a)は、本実施形態におけるフィンガープリント特定システム100がフィンガープリントを特定するために用いるTCP写像の生成の動作の一例を示すフローチャートである。
図3(b)は、本実施形態におけるフィンガープリント特定システム100の動作の一例を示すフローチャートである。
【0044】
まず、フィンガープリント特定システム100がパケットのフィンガープリントを特定するために用いるTCP写像の生成の動作について説明する。
【0045】
パケットは、通信回線やネットワークにより通信するデータを一定の長さ毎に区切り、送信元や宛先等の制御情報を付加したデータの集合である。パケットは、制御情報が記述された先頭のヘッダ部と、ヘッダ部に続く送りたいデータ本体であるペイロード部とにより構成される。また、パケットは、末尾に制御情報又はデータ長を調整するための埋め草データが連結されてもよい。パケットは、例えばIP(Internet Protocol)上のデータの集合であるIPパケット、及びTCP(Transmission Control Protocol)上のデータの集合であるTCPパケット等が含まれる。
【0046】
ヘッダ部は、例えばIPパケットのヘッダ部であるIPヘッダ、及びTCPパケットのヘッダ部であるTCPヘッダ等が含まれる。
【0047】
制御情報は、例えばIPヘッダの宛先IPアドレス、IPヘッダの識別子、TCPヘッダのシーケンス番号、及びTCPヘッダのウィンドウサイズ、送信元ポート、宛先ポート、チェックサム、データオフセット等の情報である。制御情報は、例えば送信元のボットネット等の種類毎により、それぞれ特有の特徴であるフィンガープリントが含まれる。また、制御情報は、宛先ポートの番号等であってもよい。
【0048】
フィンガープリントはパケットに含まれる特徴を示す。フィンガープリントは、例えばパケットに含まれる制御情報の特徴を示す。フィンガープリントは、例えば制御情報に含まれる情報毎の特徴を示し、例えばパケットに含まれるTCPヘッダのウィンドウサイズが14600を満たすことである。また、フィンガープリントは、パケットの特徴量を生成するTCP写像と、TCP写像の値との組み合わせを示すサインであってもよい。また、フィンガープリントは、複数のサインによって構成された命題論理式であってもよい。フィンガープリントは、例えばtcp.window=14600△(fF2B(tcp.seq)=0▽fL2B(tcp.seq)=0)で示される。また、フィンガープリントは、ペイロード部のデータの特徴であってもよい。ここで△は、論理積を示し、▽は、論理和を示す。フィンガープリントは、ボットネット等の送信元の種類毎に異なる。
【0049】
TCP写像は、例えば制御情報に含まれる各種情報の特徴に基づく関数である。TCP写像は、例えば表1に示すような記号であってもよい。また、TCP写像は、各種情報の上位又は下位のkバイトを抽出したものであってもよい。かかる場合、TCP写像は、例えばTCPヘッダのシーケンス番号の上位2バイトをf
F2B(tcp.seq)で示し、TCPヘッダのシーケンス番号の下位2バイトをf
L2B(tcp.seq)で示してもよい。また、TCP写像は、複数の情報の特徴を含んでいてもよい。TCP写像は、例えばip.id+f
L2B(tcp.seq)で示される。ここで+は、ビット毎の排他的論理和を示す。
【表1】
【0050】
サインは、TCP写像と、TCP写像の値域上の1点との組み合わせを示す。サインは、例えばfF2B(tcp.seq)=0である。
【0051】
まず、
図3(a)に示すように、ステップS10において、初期のTCP写像を複数生成する。初期のTCP写像は、予め生成されたものを用いてもよい。初期のTCP写像は、例えばtcp.window等のTCP写像である。
【0052】
次に 、ステップS20において、生成部12は、ステップS10において生成した初期のTCP写像に基づいて、TCP写像を生成する。
【0053】
ステップS20において、生成部12は、例えば生成したTCP写像とバイナリを入出力する関数とに基づく第2TCP写像をさらに生成する。第2TCP写像は、TCP写像とバイナリを入出力する関数との合成関数である。例えば生成部12は、tcp.seqというTCP写像と、fF1Bという入力されたバイナリの上位1バイトを出力する関数との合成関数であるfF1B(tcp.seq)を第2TCP写像としてもよい。かかる場合、生成部12は、この操作を繰り返して第2TCP写像をさらに生成してもよい。また、生成部12は、各TCP写像及び各関数を用いて第2TCP写像を生成したときの各TCP写像及び各関数を用いた回数に基づいて、第2TCP写像を生成するために用いるTCP写像と関数を選択してもよい。かかる場合、例えば第2TCP写像を生成するために各TCP写像及び各関数を用いた回数と第2TCP写像を生成するために用いるTCP写像と関数を選択する確率が反比例するように設定してもよい。これにより、用いた回数がより少ないTCP写像と関数を選択する確率が高くなるため、単純なTCP写像から順に生成することが可能となる。
【0054】
また、ステップS20において、生成部12は、例えば生成した2以上のTCP写像に基づく第3TCP写像をさらに生成してもよい。生成部12は、例えば2以上のTCP写像の二項演算により、第3TCP写像をさらに生成してもよい。また、ステップS20において、生成部12は、3以上のTCP写像に対して、複数回の二項演算を用いて、第3TCP写像を生成してもよい。第3TCP写像は、複数のTCP写像に基づくTCP写像である。第3TCP写像は、例えば、ip.idというTCP写像と、fL2B(tcp.seq)というTCP写像との排他的論理和であるip.id+fL2B(tcp.seq)であってもよい。かかる場合、第3TCP写像を生成するために用いるTCP写像は、ランダムに選択されたものを用いてもよいが、この限りではなく、任意の方法で選択された任意の数のTCP写像を用いてもよい。また、生成部12は、2以上の各TCP写像を用いて第3TCP写像を生成したときの各TCP写像を用いた回数に基づいて、第3TCP写像を生成するために用いるTCP写像を選択してもよい。かかる場合、例えば第3TCP写像を生成するために各TCP写像を用いた回数と第3TCP写像を生成するために用いるTCP写像を選択する確率が反比例するように設定してもよい。これにより、用いた回数がより少ないTCP写像を選択する確率が高くなるため、単純なTCP写像から順に生成することが可能となる。ステップS20において、生成部12は、これらのTCP写像の合成を複数回繰り返し行ってもよい。
【0055】
フィンガープリント特定システム100は、ステップS20により生成されたTCP写像を用いて、実際にパケットのフィンガープリントを特定する。
【0056】
図3(b)は、本実施形態におけるフィンガープリント特定システム100の動作の一例を示すフローチャートである。まず、ステップS110において、フィンガープリント特定装置1は、パケットを受信する。フィンガープリント特定装置1は、例えばホスト2(2a、2b、2c)から送信されたパケットを受信する。かかる場合、ホスト2は、パケットを送信するホスト2に対してプロトコル毎に用意されている宛先ポートを用いてパケットを送信する。また、ホスト2は、複数の宛先ポートを用いて、フィンガープリント特定装置1にパケットを送信してもよい。なお、有効サインを保有するパケットを1つ以上送信しているホスト2を有効サインを保有するホストとする。また、有効サインのTCP写像にパケットを入力した時の出力が有効サインのバイナリと一致した場合に、パケットは有効サインを保有するとする。
【0057】
また、ステップS110において、フィンガープリント特定装置1は、同一のボットネット等の送信元が、複数のホスト2(2a、2b、2c)を用いて送信されたパケットをそれぞれ受信してもよい。
【0058】
また、ステップS120において、特定部13は、パケットを送信する送信元ホスト2と、有効サインとに基づいて、フィンガープリントを特定する。例えば、特定部13は、送信元ホスト2の数と有効サインを保有する送信元ホスト2の数とに基づいて、抽出する有効サインを決定してもよい。例えば特定部13は、送信元ホスト数2に対する有効サインを保有する送信元ホスト2の数の割合が閾値以上となる有効サインを抽出してもよい。
【0059】
また、ステップS120において、特定部13は、TCP写像fの任意の特徴量bに対して(1)式で示される出現率r(b)を算出し、算出した出現率r(b)に基づいて(2)式を満たす整数kの最大値を算出し、算出したkの最大値に基づき、TCP写像fと特徴量bとの組み合わせを示す有効サインを抽出してもよい。また、Iは、パケットを送信するホストiの集合を示す。かかる場合、例えば特定部13は、(f、b
1)、(f、b
2)、(f、b
3)・・・(f、b
kmax-1)、(f、b
kmax)の有効サインを抽出してもよい。
【数1】
また、Iは、前記パケットを送信するホストiの集合を示す。P
iは、ホストiが送信するパケットの集合を示す。
【数2】
ここで、B=(b
1、b
2、…)は、f(P)をr(b)の降順に並べたものを示し、B
≧k=(b
k、b
k+1、…)である。σ
2(B
≧k)は 、B
≧kの母分散を示し、αは正の実数を示し、βは自然数を示す。
【0060】
次に、ステップS120において、特定部13は、ステップS110により受信されたパケットにおいて、ステップS20により生成されたTCP写像のパケットの特徴量が基準値となる、TCP写像と特徴量との組み合わせを示す有効サインを抽出する。特定部13は、例えば基準値を0として、TCP写像の値が0となるサインを有効サインとして抽出してもよい。
【0061】
また、ステップS120において、特定部13は、パケットと、有効サインとに基づいて、抽出する有効サインを決定してもよい。例えば特定部13は、パケットの数に対する有効サインを保有するパケットの数の割合が閾値以上となる有効サインを抽出してもよい。また、ステップS120において、特定部13は、TCP写像fの任意の特徴量bに対して(3)式で示される出現率r(b)を算出し、算出した出現率r(b)に基づいて(2)式を満たす整数kの最大値を算出し、算出したkの最大値に基づき、TCP写像fと特徴量bとの組み合わせを示す有効サインを抽出してもよい。かかる場合、TCP写像fと特徴量(b
1、b
2、・・・b
kmax)との組み合わせの有効サインを抽出することにより、共通している有効サインを自動的に抽出することが可能となる。
【数3】
ここで、♯は、集合の要素の数を示し、Pは、パケットpの集合を示す。
【0062】
次に、ステップS130において、特定部13は、ステップS120により抽出された有効サインに基づいて、フィンガープリントを特定する。特定部13は、ステップS120により抽出された有効サインをフィンガープリントとしてもよい。特定部13は、ステップS120により抽出された有効サインの論理和をフィンガープリントとして特定してもよい。これにより、受信したパケットが、特定したフィンガープリントを満たす場合、この受信したデータは、特定のボットネット等により送信されたデータであることが判断することが可能となる。
【0063】
次に、ステップS140において、分類部16は、ステップS130より特定されたフィンガープリントを分類する。分類部16は、例えばステップS130より特定されたフィンガープリントを、パケットを受信したPC等の端末情報を抽出するための調査目的か、受信したPC等を攻撃するための攻撃目的かに分類する。
【0064】
ステップS140において、分類部16は、宛先ポートのうちパケットの数が多い順から、予め設定された設定値の数の宛先ポートであるトップポートにより送信されるパケットの数とに基づいて、フィンガープリントを分類する。分類部16は、例えばステップS110により受信したパケットの数に対する、トップポートにより送信されるパケットの数の割合に基づいて、フィンガープリントを分類する。例えば分類部16は、設定値を5とすると、パケットを送信する数が多いポートの上位5の宛先ポートをトップポートとしてもよい。分類部16は、パケットの数に対する、トップポートにより送信されるパケットの数の割合が閾値以上場合、フィンガープリントを攻撃目的に分類してもよい。
【0065】
図4は、トップポートがパケットに占める割合をフィンガープリント毎に1つの棒グラフで示したグラフである。表2は、フィンガープリントと送信目的との表である。
図4に示すように、MasscanやZMap等の調査目的と考えられるフィンガープリントは、上位10ポート以外が占める割合が比較的大きい。このことから、トップポート以外が占める割合が小さいものは攻撃目的スキャンだと考えられる。このため、パケットの数に対する、パケットを送信するポートから選択されたトップポートにより送信されるパケットの数の割合に基づいて、フィンガープリントを分類することが可能となる。
【表2】
【0066】
また、ステップS140において、分類部16は、パケットを送信するホストの数と、パケットを送信するための宛先ポートの数毎のホストの数とに基づいて、フィンガープリントを分類する。分類部16は、例えばパケットを送信するホスト2の数に対する、宛先ポートの数毎のホスト2の数の割合に基づいて、フィンガープリントを分類する。分類部16は、ホスト2の数に対する、パケットを送信するためにホスト2が使用する宛先ポートの数が閾値以下となるホスト2の数の割合が、予め定めた値以下の場合、フィンガープリントを攻撃目的に分類してもよい。
【0067】
図5は、ホスト2が使用する宛先ポート数の割合をフィンガープリント毎に一つの棒グラフで示すグラフである。♯dportは、宛先ポートの種類の数を示す。
図5に示すように、MiraiやHajimeなど攻撃目的と考えられるフィンガープリントは、宛先ポート数が比較的小さい。このことから、宛先ポートの数が小さいものは攻撃目的スキャンだと考えられる。このため、ホスト2の数に対する、パケットを送信するためにホスト2が使用するポート数が閾値以下となるホスト2の数の割合に基づいて、フィンガープリントを分類することが可能となる。
【0068】
上述した動作を実施することで、本実施形態におけるフィンガープリント特定システム100の動作は終了する。これにより、豊かな表現能力を備えたTCP写像を用いて、フィンガープリントを特定することができるため、様々な式で表現されたフィンガープリントを自動で特定することが可能となる。
【0069】
本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。このような新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0070】
1 :フィンガープリント特定装置
2 :ホスト
4 :通信網
10 :筐体
11 :取得部
12 :生成部
13 :特定部
14 :記憶部
15 :出力部
16 :分類部
100 :フィンガープリント特定システム
101 :CPU
102 :ROM
103 :RAM
104 :保存部
105 :I/F
106 :I/F
107 :I/F
108 :入力部
109 :表示部
110 :内部バス