JP6589223B2 - サービス推定装置、サービス推定方法、及びプログラム - Google Patents

サービス推定装置、サービス推定方法、及びプログラム Download PDF

Info

Publication number
JP6589223B2
JP6589223B2 JP2016168907A JP2016168907A JP6589223B2 JP 6589223 B2 JP6589223 B2 JP 6589223B2 JP 2016168907 A JP2016168907 A JP 2016168907A JP 2016168907 A JP2016168907 A JP 2016168907A JP 6589223 B2 JP6589223 B2 JP 6589223B2
Authority
JP
Japan
Prior art keywords
service
server
access
identification information
sni
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.)
Active
Application number
JP2016168907A
Other languages
English (en)
Other versions
JP2018037820A (ja
Inventor
薫明 原田
薫明 原田
石橋 圭介
圭介 石橋
晃弘 下田
晃弘 下田
井上 武
武 井上
滋樹 後藤
滋樹 後藤
森 達哉
達哉 森
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.)
Waseda University
Nippon Telegraph and Telephone Corp
Original Assignee
Waseda University
Nippon Telegraph and Telephone Corp
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 Waseda University, Nippon Telegraph and Telephone Corp filed Critical Waseda University
Priority to JP2016168907A priority Critical patent/JP6589223B2/ja
Publication of JP2018037820A publication Critical patent/JP2018037820A/ja
Application granted granted Critical
Publication of JP6589223B2 publication Critical patent/JP6589223B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、サービス推定装置、サービス推定方法、及びプログラムに関する。
近年、OSやアプリケーションのアップデート等によるトラヒック変動の増加により、サービス毎のトラヒック分析に基づくネットワーク設計や通信制御の必要性が高まってきている。一方で、SSL(Secure Socket Layer)やTLS(Transport Layer Security)の普及によって多くのWebサービスが暗号化され、ネットワークの経路上におけるサービスの識別が困難となってきている。
一方、DPI(Deep Packet Inspection)が利用可能な場合、TLSの拡張仕様であるSNI(Server Name Indication)情報を解析することで、暗号化されたトラヒックのサービスを識別する方法が存在する。SSL−SNIは、SSLの拡張仕様であり、クライアントからサーバに対して接続先ドメイン名(FQDN(Fully Qualified Domain Name))を伝える仕組みである。同一IPアドレスで複数ドメインを運用しているサーバが、ドメインに応じた証明書を使い分けるためにSNIが利用される。
SNIに対応したクライアントの場合、サーバがSNIに対応しているか否かに関わらずSNIにドメイン名が付加される。既存技術では、このSNIのドメイン名に基づいてサービスを識別している。
Wazen M. Shbair, Thibault Cholez, Antoine Goichot and Isabelle Chrisment, ''Efficiently bypassing SNI-based HTTPS filtering,'' IFIP/IEEE International Symposium on Integrated Network Management 2015.
しかしながら、SNIに非対応のクライアントの場合、SNIのドメイン名を利用することができず、サービスを識別することができない。
暗号化されたトラヒックにおいて、同一IPアドレスで複数ドメインを運用しているサーバが存在する一方、SNI対応/非対応のクライアントが、混在しているのが一般的である。従来技術では、SNI非対応クライアントからのアクセスはサービスの識別ができず、分析データとして使用できないため、精度のよいサービス毎のトラヒック分析が行えなかった。
本発明は、上記の点に鑑みてなされたものであって、SNIに非対応のクライアントがアクセスしたサービスを推定することを目的とする。
そこで上記課題を解決するため、サービス推定装置は、それぞれが複数のサービスを提供する複数のサーバのいずれかに対する、前記サービスの識別情報を含むアクセスについて、前記各サーバの前記識別情報ごとのアクセス数を記録する学習部と、いずれかの前記サーバに対する、前記識別情報を含まないアクセスが観測されると、当該サーバに関して記録されている前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のサービスを推定する推定部と、を有する。
SNIに非対応のクライアントがアクセスしたサービスを推定することができる。
リアルタイム法のイメージとバッチ法のイメージとを示す図である。 第1の実施の形態におけるサービス推定装置のハードウェア構成例を示す図である。 第1の実施の形態におけるサービス推定装置の機能構成例を示す図である。 第1の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第2の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第3の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第4の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第5の実施の形態におけるサービス推定装置の機能構成例を示す図である。 第5の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第6の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第7の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、SNI(Server Name Indication)対応クライアントからのサーバへのアクセスに基づきサービスへのアクセス状況を学習し、学習結果に基づきSNI非対応クライアントからのアクセスの対象のサービスを推定する。
具体的には、サーバに対する通信を逐次観測し、観測時点までに蓄積された統計情報に基づいてサービスを逐次推定するリアルタイム法と、一定期間において観測された通信を対象に、全通信の統計情報に基づいてサービスを一括推定するバッチ法の2つの手法について開示する。図1に、リアルタイム法のイメージとバッチ法のイメージとを示す。
リアルタイム法は通信の開始時にサービスを推定するため、即応性が必要なシステムに適している。バッチ法は通信の開始前のみならず終了後の統計量を利用可能であるため、より精度のよい推定が可能である。
第1〜第4の実施の形態はリアルタイム法に関し、第5〜第7の実施の形態はバッチ法に関する。
なお、本実施の形態において、サーバとは、IPアドレスを識別情報とする単位(すなわち、IPアドレスによって区別される単位)である。サービスとは、FQDN(Fully Qualified Domain Name)又はFQDNからホスト名を除いたドメイン名を識別情報とする単位(すなわち、FQDN又はFQDNからホスト名を除いたドメイン名によって区別される単位)である。
図2は、第1の実施の形態におけるサービス推定装置のハードウェア構成例を示す図である。図2のサービス推定装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
サービス推定装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサービス推定装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、第1の実施の形態におけるサービス推定装置の機能構成例を示す図である。図3において、サービス推定装置10は、SNI判定部11、サービス学習部12、及びサービス推定部13等を有する。これら各部は、サービス推定装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。サービス推定装置10は、また、統計情報記憶部14を利用する。統計情報記憶部14は、例えば、補助記憶装置102、又はサービス推定装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
SNI判定部11は、観測されたHTTPSセッション(クライアントからサーバへのアクセス)について、SNIが含まれているか否かを判定する。サービス学習部12は、SNI情報が含まれていないアクセスについて、サーバ別及びサービス別のアクセス回数を統計情報記憶部14に記録する。サービス推定部13は、SNI情報が含まれていないアクセスについて、サービスを推定する。
なお、第1の実施の形態において、サービス推定装置10は、サーバとクライアントとのネットワークのパケットを観測可能な位置であれば、どのような位置に配置されてもよい。
以下、サービス推定装置10が実行する処理手順について説明する。図4は、第1の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
SNI判定部11は、ネットワークにおいて、クライアントcからサーバsへのアクセスを観測(検出)すると(S110でYes)、アクセス内容にSNI情報が含まれているか否かを判定する(S120)。当該アクセスは、例えば、SSL(Secure Socket Layer)のシーケンスにおける「ClientHello」であってもよい。
アクセス内容にSNI情報が含まれている場合(S120でYes)、統計情報記憶部14に記憶されている統計情報を更新することで、サービスを学習する。統計情報には、サーバごとのサービスの集合と、各サーバのサービスごとのセッション数(SSLアクセス数)とが含まれる。ここで、アクセス内容に含まれていたSNI情報が示すサービスが、dであり、サーバsのサービスの集合がDsjであり、サーバsのサービスdに対するセッション数がNsj(d)であるとする。すなわち、Dsjは、サービスの集合が記録されるデータであり、Nsj(d)は、サーバsのサービスdに対するセッション数が記録されるデータである。なお、本実施の形態において、「セッション」とは、SSLセッションをいう。
まず、サービス学習部12は、Dsjにdを記録済みであるか否かを判定する(S130)。Dsjにdが記録されていない場合(S130でYes)、サービス学習部12は、Dsjにdを記録する(S140)。続いて、サービス学習部12は、Nsj(d)に1を記録する(S150)。一方、Dsjにdが記録されている場合(S130でNo)、サービス学習部12は、Nsj(d)に1を加算した結果を、Nsj(d)に記録する(S160)。
一方、アクセス内容にSNI情報が含まれていない場合(S120でNo)、サービス推定部13は、以下の確率P(d')に従って、サービスd'を選択し、選択結果をサービスの推定結果とする(S170)。
Figure 0006589223
ここで、確率P(d')に従ってサービスd'を選択するとは、サービスd'が確率P(d')の確率で選択されるようにサービスd'を選択するということである。例えば、0〜1の範囲の乱数について、当該範囲を各d'の確率P(d')に応じた割合で分割してもよい。サービス推定部13は、当該乱数を発生させて、発生した値が属する範囲に対応するサービスd'を選択してもよい。
上述したように、第1の実施の形態によれば、SNI対応クライアントからのアクセスに基づきサービスを学習し、学習結果に基づきSNI非対応クライアントからのアクセスの対象のサービスを推定することができる。その結果、例えば、SNI非対応クライアントのアクセスのデータを用いて、精度の高いサービス毎のトラヒック分析を行うことを可能とすることができる。
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
第1の実施の形態では、学習期間の特段の制限は設けられていない。しかし、例えば、CDN(Content Delivery Network)の場合、サーバ側の制御によって配信サービスが時間変化するため、古い学習結果は誤推定の要因となる可能性が有る。第2の実施の形態では、斯かる問題を解決する。
図5は、第2の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。図5中、図4と同一ステップには同一ステップ番号を付し、その説明は省略する。
図5では、ステップS150、S160、S170の代わりに、ステップS150a、S160a、S170aが実行される。また、ステップS160aに続いてステップS161が実行される。なお、図5において、Nsj(d)は、サーバsのサービスdへのアクセスが観測(検出)された時刻の集合である。また、ステップS110におけるアクセスの観測時刻(最後のアクセスの観測時刻)は、時刻tであるとする。
ステップS150aにおいて、サービス学習部12は、Nsj(d)に対して{t}を記録する(S150a)。すなわち、ステップS110におけるアクセスの観測時刻がNsj(d)に追加される。
ステップS160aにおいて、サービス学習部12は、以下の演算を行う。
Figure 0006589223
但し、δは、学習履歴の保持期間である。すなわち、ステップS160aでは、時刻tから遡って保持期間δ内の時刻がNsj(d)から抽出されて、Nsj(d)に代入される。
続いて、サービス学習部12は、Nsj(d)と{t}との論理和をNsj(d)に記録する(S161)。
ステップS170aにおいて、サービス推定部13は、以下の確率P(d')に従って、サービスd'を選択し、選択結果をサービスの推定結果とする。
Figure 0006589223
但し、|X|は、Xの要素数を表し、以下においても同様である。すなわち、|Nsj(d)|は、サーバsのサービスdに対するアクセス数を示す。
式(3)では、時刻tのアクセス先であるサーバsのサービスdごとに、時刻tから遡って保持期間δ内の時刻がNs(d)に代入される。式(4)では、サーバsのサービスd'ごとに、当該サービスd'の保持期間δ内のアクセス数について、サーバsの全てのサービスの保持期間δ内のアクセス数の総和に対する割合が確率P(d')として算出される。
すなわち、時刻tから保持期間δ内の学習結果に基づいて、確率P(d')が計算される。なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
上述したように、第2の実施の形態によれば、古い学習結果に基づく誤推定の可能性を低下させることができる。
次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
第1の実施の形態では特定クライアントから膨大な量のアクセスがあった場合に確率分布が偏ってしまう。そこで、第3の実施の形態では、確率分布の偏りを回避する例について説明する。
図6は、第3の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。図6中、図4と同一ステップには同一ステップ番号を付し、その説明は省略する。
図6では、ステップS150に続いて、ステップS151が実行される。また、ステップS160の前に、ステップS155及びS156が実行される。
ステップS151において、サービス学習部12は、Csj,dkにcを記録する。ここで、Csj,dkは、サーバsのサービスdにアクセスしたクライアントの集合である。cは、ステップS101において観測されたアクセスのアクセス元のクライアントの識別情報である。
ステップS155において、サービス学習部12は、Csj,dkにcが含まれているか否かを判定する。すなわち、クライアントcが、サーバsのサービスdに既にアクセスしていたか否かが判定される。クライアントcが、サーバsのサービスdにアクセスしていなかった場合(S155でYes)、サービス学習部12は、Csj,dkにcを追加する(S156)。続いて、サービス学習部12は、Nsj(d)に1を加算した結果を、Nsj(d)に記録する(S160)。
一方、クライアントcが、サーバsのサービスdにアクセスしていた場合(S155でNo)、ステップS156及びS160は実行されない。すなわち、第3の実施の形態において、同一のクライアントによる同一のサーバ及び同一のサービスに対するアクセスは、重複してカウントされない。したがって、Nsj(d)は、セッション数ではなく、クライアント数を意味する。その結果、アクセスの確率分布の偏りを回避することができる。
なお、ステップS170の内容は、第1の実施の形態と同様でよい。
次に、第4の実施の形態について説明する。第4の実施の形態では第3の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第3の実施の形態と同様でもよい。
第4の実施の形態では、第3の実施の形態に対して第2の実施の形態が組み合わされる。
図7は、第4の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。図7中、図6と同一ステップには同一ステップ番号を付し、その説明は省略する。
図7では、ステップS120でYesの場合に、サービス学習部12は、T(c)に対して時刻tを記録する(S121)。T(c)は、クライアントcによる最後のアクセスが観測された時刻である。すなわち、第4の実施の形態では、アクセスが観測されたクライアントごとに、当該クライアントが最後にいずれかのサーバにアクセスした時刻が統計情報記憶部14のT(c)に記録される。
なお、図7では、ステップS150及びS160は実行されなくてよい。
また、図7では、ステップS170がステップS170bに置き換わる。ステップS170bにおいて、サービス推定部13は、以下の確率P(d')に従って、サービスd'を選択し、選択結果をサービスの推定結果とする。
Figure 0006589223
すなわち、式(5)では、サーバsのサービスdにアクセスしたクライアントの集合であるCsj,dkのうち、T(c)が時刻tから遡って保持期間δ内のcが、Nsj(d)に代入される。すなわち、最後のアクセス時刻が保持期間δ内のcがNsj(d)に代入される。Nsj(d)は、サーバsの全てのサービスdkについて生成される。
また、式(6)では、サーバsのサービスd'ごとに、当該サービスd'の保持期間δ内のクライアント数について、サーバsの全てのサービスの保持期間δ内のクライアント数の総和に対する割合が確率P(d')として算出される。なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
なお、第1〜第4の実施の形態では、確率的にサービスd'が選択される。但し、以下の式に基づいて、決定的にサービスd'が選択されてもよい。
Figure 0006589223
すなわち、式(7)は、第1及び第3の実施の形態のように、Nsj(d')がアクセス数又はクライアント数である場合に、最大のNsj(d')のサービスd'が選択されることを示す。また、式(8)は、第2及び第4の実施の形態のように、Nsj(d')がアクセス時刻の集合である場合に、要素数が最大のNsj(d')のサービスd'が選択されることを示す。
次に、第5の実施の形態について説明する。第5の実施の形態では第1の実施の形態と異なる点について説明する。第5の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。なお、第5の実施の形態以降は、バッチ法に関する実施形態である。
図8は、第5の実施の形態におけるサービス推定装置の機能構成例を示す図である。図8中、図3と同一又は対応する部分には同一符号を付している。
図8において、サービス推定装置10は、サービス学習部12の代わりに統計化処理部15を有する。統計化処理部15は、HTTPSトラヒック情報に基づいて、所定期間(以下、「観測期間T」という。)におけるサービスへのアクセスのうち、SNI対応クライアントからのアクセスに関する統計情報を計測又は算出する。計測又は算出された統計情報は、統計情報記憶部14に記憶される。具体的には、統計化処理部15は、観測期間Tにおいて、SNI対応クライアントからのアクセスの通信量をサービス別に計測する。本実施の形態において、セッション数及びトラヒック量が通信量の一例である。
サービス推定部13は、HTTPSトラヒック情報と、統計情報記憶部14に記憶された情報とに基づいて、観測期間TにおけるSNI非対応クライアントからのアクセスをも含む通信量を、サービス別に推定する。
なお、HTTPSトラヒック情報には、観測期間Tにおける、いずれかのクライアントによる、いずれかのサーバのいずれかのサービスへのアクセス(セッション)ごとに、クライアントの識別情報、SNI情報、サーバの識別情報、及びトラヒック量を示す情報(以下、「アクセスログ」という。)が含まれている。但し、SNI情報は、SNI情報が含まれているアクセスについてのみアクセスログに含まれている。
図9は、第5の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。図9の処理手順は、観測期間Tの後に、観測期間Tにおいて観測されたHTTPSトラヒック情報について実行される。
ステップS201において、統計化処理部15は、HTTPSトラヒック情報においてSNIが含まれているアクセスログに基づいて、観測期間Tにおいていずれかのサーバsにアクセスした全てのSNI対応クライアントcsj={c,・・・,c}を特定する。
続いて、統計化処理部15は、HTTPSトラヒック情報に基づいて、観測期間Tにおいてアクセスされたサーバsごとに、当該サーバsjが提供する全サービスDsj={d,・・・,d}を特定する(S202)。
続いて、統計化処理部15は、SNI対応クライアントcごとに、サービスdごとのセッション数n(c,d)を、HTTPSトラヒック情報に基づいて集計する(S203)。続いて、統計化処理部15は、SNI対応クライアントcごとに、サービスdごとのトラヒック量v(c,d)を、HTTPSトラヒック情報に基づいて集計する(S204)。
続いて、統計化処理部15は、各サーバsのサービスdごとの総セッション数Nsj(d)を、以下の演算により算出する(S205)。
Figure 0006589223
すなわち、ステップS203において集計されたn(c,d)について、サーバsのサービスdごとの総和が算出される。
続いて、統計化処理部15は、各サーバsのサービスdごとの総トラヒック量Vsj(d)を、以下の演算により算出する(S206)。
Figure 0006589223
すなわち、ステップS204において集計されたv(c,d)について、サーバsのサービスdごとの総和が算出される。
なお、ステップS205及びS206における算出結果は、統計情報記憶部14に記憶される。
続いて、サービス推定部13は、HTTPSトラヒック情報のうち、SNI情報が含まれていないアクセスログに基づいて、全SNI非対応クライアントによるサーバsごとのセッション数N'sjを集計する(S207)。
続いて、サービス推定部13は、HTTPSトラヒック情報のうち、SNI情報が含まれていないアクセスログに基づいて、全SNI非対応クライアントによるサーバsごとのトラヒック量V'sjを集計する(S208)。
続いて、サービス推定部13は、以下の演算を行って、SNI対応クライアント及びSNI非対応クライアントを問わない全てのクライアントと、各サーバsの各サービスdとの総セッション数Nsj(d)を算出する(S209)。
Figure 0006589223
すなわち、ステップS206の算出結果に対して、Nsj(d)の確率にN'sjを乗じた値を加算した結果が、Nsj(d)の推定値として算出される。換言すれば、ステップS205において算出された各Nsj(d)の比に基づいて、各Nsj(d)に対してN'sjが配分される。
続いて、サービス推定部13は、以下の演算を行って、SNI対応クライアント及びSNI非対応クライアントを問わない全てのクライアントと、各サーバsの各サービスdとのトラヒック量Vsj(d)を算出する(S210)。
Figure 0006589223
すなわち、ステップS207の算出結果に対して、Vsj(d)の確率にN'sjを乗じた値を加算した結果が、Vsj(d)の推定値として算出される。換言すれば、ステップS206において算出された各Vsj(d)の比に基づいて、各Vsj(d)に対してV'sjが配分される。
上述したように、第5の実施の形態によれば、過去の一定期間における観測結果に基づいて、SNI非対応のクライアントによるアクセスも含む、各サービスへのアクセスの統計情報を得ることができる。
次に、第6の実施の形態について説明する。第6の実施の形態では第5の実施の形態と異なる点について説明する。第6の実施の形態において特に言及されない点については、第5の実施の形態と同様でもよい。
一般的に、サービスの内容が異なる場合、セッションあたりのトラヒック量(以下、「セッション長」という。)の分布も異なる。例えば、動画サービスの場合はセッション長が相対的に長くなり、Webページなどのテキストではセッション長は相対的に短くなる。第6の実施の形態では、このような事情を考慮することで推定精度を向上させる。
図10は、第6の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
ステップS301において、統計化処理部15は、HTTPSトラヒック情報に基づいて、観測期間Tにおいてアクセスされたサーバsごとに、当該サーバsが提供する全サービスDsj={d,・・・,d}を特定する。
続いて、統計化処理部15は、サーバsごとに以下の演算を行うことにより、各サーバsの各サービスdのセッション長の確率分布であるセッション長分布Lsj(d)を算出する。
Figure 0006589223
但し、ndk(l)は、サービスdについてセッション長lのセッションが観測された回数である。ndk(l)は、HTTPSトラヒック情報から集計可能である。また、lは、0〜∞の任意のセッション長である。ここで、便宜上セッション長の最大値を∞と表現しているが、実際には過去に観測された最大のセッション長を記録しておき、その値とすれば良い。すなわち、ステップS302では、サービスdについて、ndk(l)の総和が求められ、0〜∞の各セッション長lの観測回数ndk(l)について、当該総和に対する割合の分布が算出される。
続いて、サービス推定部13は、HTTPSトラヒック情報に含まれているアクセスログのうち、SNI情報が含まれていないアクセスログに基づいて、観測期間Tにおける、SNI非対応クライアントからのサーバsへの各アクセス(セッション)を特定し、それぞれのアクセスのセッション長lに基づいて、以下の確率P(d')に従って、各アクセスのサービスd'を選択する(S303)。選択結果が、サービスの推定結果とされる。
Figure 0006589223
なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
なお、第6の実施の形態において、セッション長は、予め定められた区間ごとの代表値によって表現されてもよい。
次に、第7の実施の形態について説明する。第7の実施の形態では第6の実施の形態と異なる点について説明する。第7の実施の形態において特に言及されない点については、第6の実施の形態と同様でもよい。
例えば、負荷分散等のために、複数のサーバによって同一のサービスが提供される場合がある。そして、サービスの内容が同一である場合、サーバが異なってもセッションあたりのトラヒック量(セッション長)の分布は同一となる又は類似したものとなる可能性が高い。第7の実施の形態では、このような事情を考慮して推定精度の向上を図る。
図11は、第7の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
ステップS401において、統計化処理部15は、HTTPSトラヒック情報に基づいて、観測期間Tにおいてアクセスされた全サービスD={d,・・・,d}を特定する。ここでは、サーバの別は考慮されない。
続いて、統計化処理部15は、以下の演算を行うことにより、各サービスdのセッション長分布L(d)を算出する(S402)。
Figure 0006589223
但し、ndk(l)は、サービスdについてセッション長lのセッションが観測された回数である。また、lは、0〜∞の任意のセッション長である。すなわち、ステップS402では、サービスdについて、ndk(l)の総和が求められ、0〜∞の各セッション長lの観測回数ndk(l)について、当該総和に対する割合の分布が算出される。
続いて、サービス推定部13は、HTTPSトラヒック情報に含まれているアクセスログのうち、SNI情報が含まれていないアクセスログに基づいて、観測期間Tにおける、SNI非対応クライアントからのサーバsへの各アクセス(セッション)を特定し、それぞれのアクセスのセッション長lに基づいて、以下の確率P(d')に従って、各アクセスのサービスd'を選択する(S403)。選択結果が、サービスの推定結果とされる。
Figure 0006589223
なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
なお、第7の実施の形態において、セッション長は、予め定められた区間ごとの代表値によって表現されてもよい。
なお、第6及び第7の実施の形態では、確率的にサービスd'が選択される。但し、ステップS303又はS403では、以下の式に基づいて、決定的にサービスd'が選択(推定)されてもよい。
Figure 0006589223
すなわち、サービス推定部13は、HTTPSトラヒック情報に含まれているアクセスログのうち、SNI情報が含まれていないアクセスログに基づいて、観測期間Tにおける、SNI非対応クライアントからのサーバsへの各アクセス(セッション)を特定し、それぞれのアクセスのセッション長lについて、観測回数が最大であるサービスd'をアクセス先として推定する。
なお、上記各実施の形態において、サービス学習部12は、学習部の一例である。サービス推定部13は、推定部の一例である。統計化処理部15は、計測部及び算出部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 サービス推定装置
11 SNI判定部
12 サービス学習部
13 サービス推定部
14 統計情報記憶部
15 統計化処理部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

Claims (5)

  1. それぞれが複数のサービスを提供する複数のサーバのいずれかに対する、前記サービスの識別情報を含むアクセスについて、前記各サーバの前記識別情報ごとのアクセス数を記録する学習部と、
    いずれかの前記サーバに対する、前記識別情報を含まないアクセスが観測されると、当該サーバに関して記録されている前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のサービスを推定する推定部と、
    を有することを特徴とするサービス推定装置。
  2. 前記推定部は、いずれかの前記サーバに対する、前記識別情報を含むアクセスが観測されると、当該サーバに関して所定期間に記録された前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のドメイン名を推定する、
    ことを特徴とする請求項1記載のサービス推定装置。
  3. 前記学習部は、前記サービスの識別情報を含むアクセスについて、前記各サーバの前記識別情報ごとのクライアント数を記録し、
    前記推定部は、前記識別情報を含まないアクセスが観測されると、当該サーバに関して記録されている前記識別情報ごとのクライアント数に基づいて、当該アクセスの対象のサービスを推定する、
    ことを特徴とする請求項1又は2記載のサービス推定装置。
  4. それぞれが複数のサービスを提供する複数のサーバのいずれかに対する、前記サービスの識別情報を含むアクセスについて、前記各サーバの前記識別情報ごとのアクセス数を記録する学習手順と、
    いずれかの前記サーバに対する、前記識別情報を含まないアクセスが観測されると、当該サーバに関して記録されている前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のサービスを推定する推定手順と、
    をコンピュータが実行することを特徴とするサービス推定方法。
  5. 請求項1乃至いずれか一項記載の各部としてコンピュータを機能させることを特徴とするプログラム。
JP2016168907A 2016-08-31 2016-08-31 サービス推定装置、サービス推定方法、及びプログラム Active JP6589223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016168907A JP6589223B2 (ja) 2016-08-31 2016-08-31 サービス推定装置、サービス推定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016168907A JP6589223B2 (ja) 2016-08-31 2016-08-31 サービス推定装置、サービス推定方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018037820A JP2018037820A (ja) 2018-03-08
JP6589223B2 true JP6589223B2 (ja) 2019-10-16

Family

ID=61566157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016168907A Active JP6589223B2 (ja) 2016-08-31 2016-08-31 サービス推定装置、サービス推定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6589223B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7169162B2 (ja) * 2018-10-29 2022-11-10 エヌ・ティ・ティ・コミュニケーションズ株式会社 制御システム、制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2018037820A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
US11929903B2 (en) Emulating packet flows to assess network links for SD-WAN
US7852785B2 (en) Sampling and analyzing packets in a network
US10097464B1 (en) Sampling based on large flow detection for network visibility monitoring
US9979624B1 (en) Large flow detection for network visibility monitoring
US10536360B1 (en) Counters for large flow detection
US20160014001A1 (en) Detailed end-to-end latency tracking of messages
CN112217650B (zh) 网络阻塞攻击效果评估方法、装置及存储介质
CN109873734B (zh) 一种底层数据监控方法、介质、设备及装置
JP2008283621A (ja) ネットワーク輻輳状況監視装置、ネットワーク輻輳状況監視方法及びプログラム
WO2016038857A1 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、記憶媒体
JP5532241B2 (ja) 高パケットレートフロー検出装置及び高パケットレートフロー検出方法
US9917747B2 (en) Problem detection in a distributed digital network through distributed packet analysis
JP2010092236A (ja) 情報処理装置、プログラム、および記録媒体
JP6589223B2 (ja) サービス推定装置、サービス推定方法、及びプログラム
JPWO2019043804A1 (ja) ログ分析装置、ログ分析方法及びプログラム
JP6259779B2 (ja) Webブラウジング品質管理装置、その方法およびプログラム
JP6325993B2 (ja) サービス監視装置、および、サービス監視方法
JP4927180B2 (ja) ユーザ待ち時間推定装置、ユーザ待ち時間推定方法、及びプログラム
JP7099533B2 (ja) 影響範囲推定装置、影響範囲推定方法、及びプログラム
US9116958B2 (en) Methods and apparatus to sample data connections
JP2011186712A (ja) 性能分析装置及び性能分析方法及び性能分析プログラム
JP2018022305A (ja) 境界値特定プログラム、境界値特定方法および境界値特定装置
US20160366034A1 (en) Analyzing network traffic in a computer network
RU2713759C1 (ru) Способ обнаружения сетевых атак на основе анализа фрактальных характеристик трафика в информационно-вычислительной сети
JP6246639B2 (ja) 画面通信量見積り装置、画面通信量見積りプログラムおよび画面通信量見積り方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190829

R150 Certificate of patent or registration of utility model

Ref document number: 6589223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250