(57)【要約】【課題】情報システムの状態を精度良く解析して、障害対策を支援する。【解決手段】複数の情報処理装置を通信回線によって相互に接続した情報システムの状態を解析する装置であって、通信回線により伝送される通信パケットを取得する取得部と、取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの宛先毎に属性値を集計する第１集計部と、取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの送信元毎に属性値を集計する第２集計部と、それぞれの情報処理装置のそれぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値、および、当該通信ポートを送信元とした通信パケットについて集計された属性値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定する判定部とを備える装置を提供する。【選択図】図２
2008035266.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置を通信回線によって相互に接続した情報システムの状態を解析するシステムであって、
前記通信回線により伝送される通信パケットを取得する取得部と、
取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの宛先毎に属性値を集計する第１集計部と、
取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの送信元毎に属性値を集計する第２集計部と、
それぞれの情報処理装置のそれぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値、および、当該通信ポートを送信元とした通信パケットについて集計された属性値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定する判定部と
を備えるシステム。
【請求項２】
それぞれの通信ポートを宛先とした通信パケットについて集計された属性値と、当該通信ポートを送信元とした通信パケットについて集計された属性値とが、サーバ機能の特性を示す複数の条件のそれぞれを満たすか判断し、判断結果に基づき当該通信ポートがサーバ機能の特性を有する程度を示す第１指標値を算出する第１算出部と、
それぞれの通信ポートを宛先とした通信パケットについて集計された属性値と、当該通信ポートを送信元とした通信パケットについて集計された属性値とが、クライアント機能の特性を示す複数の条件のそれぞれを満たすか判断し、判断結果に基づき当該通信ポートがクライアント機能の特性を有する程度を示す第２指標値を算出する第２算出部と
を更に備え、
前記判定部は、それぞれの通信ポートについて、第１指標値よりも第２指標値が大きいことを条件に、当該通信ポートがクライアント機能により使用されていると判定し、第２指標値よりも第１指標値が大きいことを条件に、当該通信ポートがサーバ機能により使用されていると判定する
請求項１に記載のシステム。
【請求項３】
前記第１集計部は、通信パケットの宛先毎に、ＴＣＰプロトコルのＡＣＫフラグおよびＳＹＮフラグの双方が設定された通信パケットの数を集計し、
前記第２集計部は、通信パケットの送信元毎に、ＴＣＰプロトコルのＡＣＫフラグおよびＳＹＮフラグの双方が設定された通信パケットの数を集計し、
前記第１算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットのうちＡＣＫフラグおよびＳＹＮフラグの双方が設定されている通信パケットの合計数がより大きいことを条件に、より大きい値を第１指標値として算出し、
前記第２算出部は、それぞれの通信ポートについて、当該通信ポートを宛先とする通信パケットのうちＡＣＫフラグおよびＳＹＮフラグの双方が設定されている通信パケットの合計数がより大きいことを条件に、より大きい値を第２指標値として算出する
請求項２に記載のシステム。
【請求項４】
前記第１集計部は、通信パケットの宛先毎に、送信元の情報処理装置のＩＰアドレスを集計し、
前記第２集計部は、通信パケットの送信元毎に、宛先の情報処理装置のＩＰアドレスを集計し、
前記第１算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットの宛先のＩＰアドレス、および、当該通信ポートを宛先とする通信パケットの送信元のＩＰアドレスの合計数がより大きいことを条件に、より大きい値を第１指標値として算出し、
前記第２算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットの宛先のＩＰアドレス、および、当該通信ポートを宛先とする通信パケットの送信元のＩＰアドレスの合計数がより少ないことを条件に、より大きい値を第２指標値として算出する
請求項２に記載のシステム。
【請求項５】
前記第１集計部は、通信パケットの宛先毎に、送信元の通信ポートのポート番号を集計し、
前記第２集計部は、通信パケットの送信元毎に、宛先の通信ポートのポート番号を集計し、
前記第１算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットの宛先の通信ポート、および、当該通信ポートを宛先とする通信パケットの送信元の通信ポートの合計数がより大きいことを条件に、より大きい値を第１指標値として算出し、
前記第２算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットの宛先の通信ポート、および、当該通信ポートを宛先とする通信パケットの送信元の通信ポートの合計数がより小さいことを条件に、より大きい値を第２指標値として算出する
請求項２に記載のシステム。
【請求項６】
前記第１算出部は、それぞれの通信ポートについて、当該通信ポートのポート番号が、当該通信ポートを送信元とする通信パケットの宛先のポート番号、または、当該通信ポートを宛先とする通信パケットの送信元のポート番号よりも小さいことを条件に、より高い値を第１指標値として算出し、
前記第２算出部は、それぞれの通信ポートについて、当該通信ポートのポート番号が、当該通信ポートを送信元とする通信パケットの宛先のポート番号、または、当該通信ポートを宛先とする通信パケットの送信元のポート番号よりも大きいことを条件に、より高い値を第２指標値として算出する
請求項２に記載のシステム。
【請求項７】
前記第１集計部は、通信パケットの宛先毎に、通信パケットのデータサイズの合計または平均に基づく値を集計し、
前記第２集計部は、通信パケットの送信元毎に、通信パケットのデータサイズの合計または平均に基づく値を集計し、
前記第１算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットについての、データサイズの合計または平均に基づく前記値が、当該通信ポートを宛先とする通信パケットについての、データサイズの合計または平均に基づく前記値よりも大きいことを条件に、より大きい値を第１指標値として算出し、
前記第２算出部は、それぞれの通信ポートについて、当該通信ポートを送信元とする通信パケットについての、データサイズの合計または平均に基づく前記値が、当該通信ポートを宛先とする通信パケットについての、データサイズの合計または平均に基づく前記値よりも大きいことを条件に、より大きい値を第２指標値として算出する
請求項２に記載のシステム。
【請求項８】
前記取得部は、前記通信回線により伝送される通信パケットを順次キャプチャし、
通信パケットが順次キャプチャされる毎に、宛先および送信元の組のそれぞれについて、通信パケットの数、通信パケットのデータサイズ、および、予め定められたフラグの設定された通信パケットの数のそれぞれを示すカウンタに値を加算する合計算出部を更に備え、
前記第１集計部は、前記合計算出部により算出された通信パケットの数を、宛先を同一とする通信ポート毎に集計し、
前記第２集計部は、前記合計算出部により算出された通信パケットの数を、送信元を同一とする通信ポート毎に集計する
請求項１に記載のシステム。
【請求項９】
情報処理装置が指定されたことに応じ、指定された当該情報処理装置の通信ポートのうちサーバ機能に用いられると判定された通信ポートの通信先となる全ての情報処理装置を選択する選択部と、
選択した情報処理装置を示す情報を、指定された前記情報処理装置が停止した場合の影響範囲を示す情報として出力する出力部と
を更に備える請求項１に記載のシステム。
【請求項１０】
選択された前記情報処理装置の台数が、予め定められた基準台数よりも多いことを条件に、指定された前記情報処理装置の処理負荷を他の情報処理装置に分散する設定を行う設定部を更に備える請求項９に記載のシステム。
【請求項１１】
ＴＣＰプロトコルのＦＩＮフラグが設定された通信パケットの数と、ＴＣＰプロトコルのＳＹＮフラグが設定された通信パケットの数とを集計する第３集計部と、
ＳＹＮフラグが設定された通信パケットの数に対する、ＦＩＮフラグが設定された通信パケットの数の割合が、予め定められた基準よりも小さいことを条件に、前記情報システムが攻撃を受けた可能性を示す警告を発する警告部と
を更に備える請求項１に記載のシステム。
【請求項１２】
複数の情報処理装置を通信回線によって相互に接続した情報システムの状態を解析する方法であって、
前記通信回線により伝送される通信パケットを取得するステップと、
取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの宛先毎に属性値を集計するステップと、
取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの送信元毎に属性値を集計するステップと、
それぞれの情報処理装置のそれぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値、および、当該通信ポートを送信元とした通信パケットについて集計された属性値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定するステップと
を備える方法。
【請求項１３】
複数の情報処理装置を通信回線によって相互に接続した情報システムの状態を解析するシステムとして、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記通信回線により伝送される通信パケットを取得する取得部と、
取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの宛先毎に属性値を集計する第１集計部と、
取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの送信元毎に属性値を集計する第２集計部と、
それぞれの情報処理装置のそれぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値、および、当該通信ポートを送信元とした通信パケットについて集計された属性値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定する判定部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの状態を解析する技術に関する。特に、本発明は、ネットワークを伝送される通信パケットの内容に基づき情報システムの状態を解析する技術に関する。
【背景技術】
【０００２】
近年の情報システムは、数千台から数万台の情報処理装置を組み合わせて構成されており、その運用維持は企業経営上重要な課題となっている。一方で、コンピュータウィルスの新種が次々と現れており、不正なネットワークトラフィックが発生し、サービスを停止せざるを得ない状況を引き起こす場合がある。これに対し、従来は、それぞれの情報処理装置の動作状態を解析するために、情報処理装置の動作を監視するエージェントソフトウェアを常駐させることなどが行われている。
【０００３】
しかしながら、多数の情報処理装置の組合せによってサービスを提供する近年の情報システムにおいては、個々の情報処理装置の管理に加えて、複数の情報処理装置がどの様に連携しているかを把握することが重要である。これを実現するために個々の情報処理装置にエージェントソフトウェアを常駐させると、エージェントソフトウェア自体の処理負荷により、または、エージェントソフトウェアから監視結果を収集する処理の負荷により、情報システムの通常の運用を妨げるおそれがある。
【０００４】
以下、参考技術として、情報システムの通常の運用を妨げずに情報システムの状態を解析する既存技術を挙げる（特許文献１から４、および、非特許文献１から５を参照。）。非特許文献２および３の技術は、ルータやネットワークスイッチなどの通信装置にエージェントソフトウェアを導入し、通信トラフィックなどを監視するものである。これらの技術では、個々の情報処理装置にはエージェントソフトウェアを導入する必要がないが、既存の通信装置の設定変更が必要となり、または、通信装置の処理負荷を増大させる問題が指摘されている（非特許文献４を参照。）。
【０００５】
これに対し、非特許文献１は、サンプリング方式の併用によって通信装置の処理負荷を軽減する技術を提案している。また、非特許文献５は、スイッチング・ハブから通信パケットの複製データを取り出すことで、通信装置の負荷を極めて小さくする方法を提案している。また、参考技術として、特許文献３は、ソフトウェアにより通信パケットを収集する方法を提案しており、特許文献４は、情報処理装置において通信パケットを収集する際に情報処理装置の負荷を軽減する方法を提案している。さらに、特許文献１および２は、収集した通信パケットの内容を解析して情報システムの監視に役立てる技術を提案している。また、従来、ネットワークを伝送される通信パケットをキャプチャし、そのパターンを分析することにより、情報システムに対し外部から攻撃が加えられているかを検知するシステムが用いられている。
【０００６】
【特許文献１】特開平７−３２１７８３号公報
【特許文献２】特開２００２−２６１７９９号公報
【特許文献３】特開２００３−８７２５５号公報
【特許文献４】特開２００３−２３４６４号公報
【非特許文献１】K. C. Claffy, G. C. Polyzos, and H-W Braun. Application of Sampling Methodologies to Network Traffic Characterisation. In Proceedings of ACM SIGCOMM'93, San Francisco, CA, September 1993. (p 65)
【非特許文献２】RFC 3176 InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks
【非特許文献３】RFC 3954 Cisco Systems NetFlow Services Export Version 9
【非特許文献４】Cisco Systems ホワイトペーパー NetFlowによるパフォーマンス分析
【非特許文献５】Cisco Systems Document-ID 10570 Configuring the Catalyst Switched Port Analyzer (SPAN) Feature P24
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、情報システムに対する脅威は、外部からの攻撃のみならず、個々の情報処理装置に対するコンピュータ・ウィルスの侵入や、情報処理装置のハードウェアの故障、ソフトウェアのバグなど、様々である。したがって、外部からの攻撃のみを攻撃があった後に事後的に検出したのでは不十分であり、故障や攻撃などの異常が発生する前に、そのような異常が発生した場合に生じる事態を想定して対策することが望ましい。特に、多数の情報処理装置の組合せによってサービスを提供する近年の情報システムにおいては、個々の情報処理装置の管理に加えて、複数の情報処理装置がどの様に連携しているかを把握することが重要である。
【０００８】
例えば、仮にある情報処理装置が動作不能となった場合に、それに依存する他の情報処理装置の台数や利用者の数などを把握できれば、システム構成の改善などに役立てることができる。しかしながら、大規模な情報システムにおいて、それぞれの情報処理装置の連携関係は、システム管理者といえども正確に把握できない場合が多い。特に、経営環境の変化や情報技術の進歩に伴って構成が頻繁に変更される場合には、その変更に追従して構成変更を把握していくのは容易でない。上記の何れの参考技術によっても、そのような構成の状態や変化を的確に把握することはできない。
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明においては、複数の情報処理装置を通信回線によって相互に接続した情報システムの状態を解析する装置であって、通信回線により伝送される通信パケットを取得する取得部と、取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの宛先毎に属性値を集計する第１集計部と、取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの送信元毎に属性値を集計する第２集計部と、それぞれの情報処理装置のそれぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値、および、当該通信ポートを送信元とした通信パケットについて集計された属性値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定する判定部とを備える装置を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１０】
本発明によれば、情報システムの状態を精度良く解析して、障害対策を支援することができる。
【発明を実施するための最良の形態】
【００１１】
以下、発明を実施するための最良の形態（以下、実施形態と称す）を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１２】
図１は、情報システム１０の全体構成を示す。情報システム１０は、例えば１つの企業内の情報システムを示しており、複数の拠点システム１００と、中央システム２００と、分析システム３００とを備える。複数の拠点システム１００のそれぞれは、例えば、部門毎に設けられ、複数の端末装置１１０と、サーバ装置１２０と、通信中継装置１３０と、収集装置１４０とを有する。それぞれの端末装置１１０は、例えば社員ごとに設けられた情報処理装置であり、通信中継装置１３０を経由してサーバ装置１２０と通信する。また、端末装置１１０は、通信中継装置１３０を経由して中央システム２００と通信する。収集装置１４０は、通信中継装置１３０において中継される通信パケットを収集する。例えば、収集装置１４０は、拠点システム１００内に設けられたネットワークスイッチのミラーポートから、伝送される通信パケットの複製データを収集してもよい。一例として、収集装置１４０は、上記非特許文献２または上記非特許文献３の記載の規格に準拠した機器であってもよい。収集装置を中央システム２００のみならず各拠点システム１００に設けることで、拠点システム１００から中央システム２００に対し送信元ＩＰアドレスを偽装した通信パケットが送信される場合でもその偽装を看破することができる。
【００１３】
中央システム２００は、例えばデータセンターなどの、企業内の情報システムを統括する部署に設けられている。中央システム２００は、通信中継装置２１０と、複数のサーバ装置２２０と、収集装置２４０と、収集装置２５０とを有する。通信中継装置２１０は、通信回線を経由して拠点システム１００から通信パケットを受信し、通信中継装置２３０に転送する。それぞれのサーバ装置２２０は、サービスを提供する情報処理装置であり、通信中継装置１３０、通信中継装置２１０、および、通信中継装置２３０を経由して端末装置１１０から要求を受けると、当該要求に応じて処理を行い、処理結果をその端末装置１１０に対し送信する。また、サーバ装置２２０は、他のサーバ装置２２０からの要求に応じて処理を行い、当該他のサーバ装置２２０に対しその処理結果を返信してもよい。収集装置２４０は、通信中継装置２１０において中継される通信パケットを収集し、そのヘッダ部分に基づく情報を分析システム３００に送る。収集装置２５０は、通信中継装置２３０において中継される通信パケットを収集し、そのヘッダ部分に基づく情報を分析システム３００に送る。収集装置２４０のみならず収集装置２５０を設けることで、拠点システム１００および中央システム２００間の通信のみならず、サーバ装置２２０と他のサーバ装置２２０との間の通信を適切に把握することができる。
【００１４】
分析システム３００は、分析装置３１０と、レポート装置３２０とを有する。分析装置３１０は、収集装置１４０、収集装置２４０、および、収集装置２５０から通信パケットを取得することによって、情報システム１０内の通信回線により伝送される通信パケットを取得する。なお、ここでいう通信パケットとは、通信パケットの少なくとも一部、例えばヘッダ部分等のみであってもよいし、それに対し何らかのデータ形式の変更を行ったデータであってもよい。そして、分析装置３１０は、取得した通信パケットの内容を解析し、その解析結果に基づき情報システム１０内の情報処理装置の連携関係を認識してレポート装置３２０に出力する。レポート装置３２０は、利用者の要求に応じて連携関係を出力し、または、情報システム１０内に何らかの異常があった場合は利用者に警告する。
このように、本実施形態に係る分析システム３００は、情報システム１０中の情報処理装置を相互に接続する通信回線によって伝送される通信パケットを、情報システム１０に負荷を与えることなく収集する。そして、分析システム３００は、通信パケットの内容に基づいて情報システム１０内の連携関係を解析して利用者に出力する。これにより、情報システム１０内の運用を継続しながら、情報システム１０内の障害発生の予防や障害発生時の対応を支援することができる。
以下、図２から図１４を参照して詳細に説明する。
【００１５】
図２は、分析装置３１０の機能構成を示す。分析装置３１０は、取得部３３０と、合計算出部３３５と、第１集計部３４０と、第２集計部３４５と、第１算出部３５０と、第２算出部３５５と、判定部３６０と、第３集計部３６５とを有する。取得部３３０は、情報システム１０内の通信回線によって伝送される通信パケットを、収集装置１４０、収集装置２４０および収集装置２５０を用いて順次キャプチャさせ、その内容をこれらの収集装置から取得する。拠点システム１００および中央システム２００と分析システム３００との間の通信量削減のため、好ましくは、取得部３３０は、通信パケットのヘッダ部分のみを取得してもよい。
【００１６】
第１集計部３４０は、取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの宛先毎に属性値を集計する。第２集計部３４５は、取得したそれぞれの通信パケットから通信の属性を示す属性値を読み出し、通信パケットの送信元毎に属性値を集計する。これらの処理は、合計算出部３３５との連携によって実現される。例えば、合計算出部３３５は、通信パケットの宛先および送信元の組のそれぞれについて、通信パケットの数、通信パケットのデータサイズ、および、予め定められたフラグの設定された通信パケットの数のそれぞれをカウントするカウンタを有している。例えば、このカウンタは、ＴＣＰプロトコルのＡＣＫフラグおよびＳＹＮフラグの双方が設定された通信パケットの数を集計するものであってよい。そして、合計算出部３３５は、通信パケットが順次キャプチャされる毎に、通信パケットの宛先および送信元の組のそれぞれについて、通信パケットの数、通信パケットのデータサイズ、および、予め定められたフラグの設定された通信パケットの数のそれぞれのカウンタに値を加算する。そして、第１集計部３４０は、合計算出部３３５により算出された通信パケットの数を、宛先を同一とする通信ポート毎に集計し、当該宛先について集計された属性値と判断する。また、第２集計部３４５は、合計算出部３３５により算出された通信パケットの数を、送信元を同一とする通信ポート毎に集計し、当該送信元について集計された属性値と判断する。情報システム１０内において複数の通信プロトコルが混在する場合には、属性値は、さらに通信プロトコル毎に分類されて集計されることが望ましい。さらには、予め定められた通信プロトコルについてのみ属性値が集計されてもよい。
【００１７】
第１算出部３５０は、それぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値と、当該通信ポートを送信元とした通信パケットについて集計された属性値とが、サーバ機能の特性を示す複数の条件のそれぞれを満たすか判断する。ここでいう通信ポートとは、１つの情報処理装置における複数の種類の通信を区別するために番号が割り振られた仮想的な通信ポートであり、例えば、ＴＣＰによる通信のためのポートである。そして、第１算出部３５０は、それぞれの通信ポートについての判断結果に基づき当該通信ポートがサーバ機能の特性を有する程度を示す第１指標値を算出する。第２算出部３５５は、それぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値と、当該通信ポートを送信元とした通信パケットについて集計された属性値とが、クライアント機能の特性を示す複数の条件のそれぞれを満たすか判断する。そして、第２算出部３５５は、それぞれの通信ポートについての判断結果に基づき当該通信ポートがクライアント機能の特性を有する程度を示す第２指標値を算出する。
【００１８】
判定部３６０は、それぞれの情報処理装置のそれぞれの通信ポートについて、当該通信ポートを宛先とした通信パケットについて集計された属性値、および、当該通信ポートを送信元とした通信パケットについて集計された属性値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定する。具体的には、判定部３６０は、それぞれの通信ポートについて、上記第１指標値よりも上記第２指標値が大きいことを条件に、当該通信ポートがクライアント機能により使用されていると判定し、上記第２指標値よりも上記第１指標値が大きいことを条件に、当該通信ポートがサーバ機能により使用されていると判定してもよい。
【００１９】
第３集計部３６５は、情報システム１０内に生じた異常を検知するべく、取得部３３０により取得された通信パケット全体について属性値を集計する。例えば、第３集計部３６５は、ＴＣＰプロトコルのＦＩＮフラグが設定された通信パケットの数を集計し、さらに、ＴＣＰプロトコルのＳＹＮフラグが設定された通信パケットの数を集計する。集計結果はレポート装置３２０に送信され、レポート装置３２０において異常検知に用いられる。
【００２０】
図３は、レポート装置３２０の機能構成を示す。レポート装置３２０は、判定結果記憶部３７０と、選択部３７５と、出力部３８０と、設定部３８５と、警告部３９０と、構成情報ＤＢ３９５とを有する。判定結果記憶部３７０は、判定部３６０による判定結果を、第１集計部３４０および第２集計部３４５による集計結果と共に記憶する。構成情報ＤＢ３９５は、情報システム１０内の構成を示す情報を記憶している。選択部３７５は、情報システム１０内の構成を示す情報を読み出して利用者に対し表示する。例えば、選択部３７５は、情報システム１０内の情報処理装置の一覧を表示してもよい。そして、選択部３７５は、ある情報処理装置が利用者により指定されたことに応じ、指定されたその情報処理装置の通信ポートのうちサーバ機能に用いられると判定された通信ポートを、判定結果記憶部３７０に記憶された判定結果に基づき判断する。そして、選択部３７５は、サーバ機能に用いられると判定された通信ポートの通信先となる全ての情報処理装置を、判定結果記憶部３７０に記憶された判定結果に基づき選択する。選択の結果は出力部３８０に送信される。そして、出力部３８０は、判定結果記憶部３７０によって選択された情報処理装置を示す情報を、初めに指定された情報処理装置が停止した場合の影響範囲を示す情報として出力する。この際、出力部３８０は、それぞれの情報処理装置の設置場所などの情報を構成情報ＤＢ３９５から読み出して出力してもよい。これにより、利用者は、指定したサーバ装置が停止した場合の影響範囲を、そのサーバ装置に依存するクライアント装置の数や設置場所などの情報により知ることができる。
【００２１】
設定部３８５は、選択部３７５によって選択された情報処理装置（即ちクライアント側の装置）の台数が、予め定められた基準台数よりも多いことを条件に、指定された情報処理装置（即ちサーバ側の装置）の処理負荷を他の情報処理装置に分散する設定を行ってもよい。この設定は、例えば、中央システム２００内の負荷分散処理用の装置、例えば、サーバ装置２２０に対し指示することによって実現される。これにより、レポート装置３２０は、利用者に情報を提供して情報システム１０の構成変更を間接的に支援するのみならず、設定変更により情報システム１０の構成を直接的に変更することもできる。
【００２２】
警告部３９０は、ＦＩＮフラグの設定された通信パケットの数、および、ＳＹＮフラグの設定された通信パケットの数の集計結果を第３集計部３６５から取得する。そして、警告部３９０は、ＳＹＮフラグが設定された通信パケットの数に対する、ＦＩＮフラグが設定された通信パケットの数の割合が、予め定められた基準よりも小さいことを条件に、情報システム１０が攻撃を受けた可能性を示す警告を利用者に対し発する。これにより、ＳＹＮフラグの設定された通信パケットをサーバに対し大量に送りつけてサーバの機能を麻痺させる攻撃（ＤＯＳ：Ｄｅａｄ  ｏｆ  Ｓｅｒｖｉｃｅ）などを適切に検知することができる。
【００２３】
警告部３９０が発する警告はＤＯＳ攻撃についてのものに限られない。例えば、警告部３９０は、不正の予備的行為であるポートスキャンを検出して利用者に警告を発してもよい。具体的には、第３集計部３６５は、通信パケットの送信元毎に、通信パケットの宛先のＩＰアドレスおよび通信ポートの組の数を集計する。そして、警告部３９０は、宛先のＩＰアドレスおよび通信ポートの組の数が所定の基準値より多い送信元ＩＰアドレスを、ポートスキャンに用いられているＩＰアドレスと判断して、利用者に警告を発してもよい。他の例として、計億部３９０は、アプリケーションプロトコルレベルでの攻撃を検出してもよい。具体的には、第３集計部３６５は、伝送される通信パケットのデータサイズの総量を集計し、また、通信の確立のために伝送された所定の通信パケットの数を集計する。そして、警告部３９０は、通信の確立のための通信パケットの数あたりの、伝送されるデータのデータサイズが、予め定められた基準よりも小さい場合には、攻撃のために小さい通信パケットが大量に送信されていると判断し、警告を発する。本実施形態に係る分析システム３０によれば、伝送される通信パケットの属性を集計できるので、このような不正行為や予備的行為の検出を可能とすることができる。
【００２４】
以下、図４ａおよび図４ｂを参照して、判定結果記憶部３７０に記憶される判定結果および集計結果の具体例を示す。判定結果および集計結果は、図４ａに示す第１例および図４ｂに示す第２例の組合せとして表すことができる。
図４ａは、判定結果記憶部３７０のデータ構造の第１例を示す。判定結果記憶部３７０は、それぞれの情報処理装置に分類して、その情報処理装置から送信またはその情報処理装置により受信された通信パケットについて属性値の集計結果を記憶する。例えば、判定結果記憶部３７０は、それぞれの通信ポートについて、当該通信ポートを送信元とした通信パケットについて第２集計部３４５により集計された属性値を「送信」フィールドに記憶し、当該通信ポートを宛先とした通信パケットについて第１集計部３４０により集計された属性値を「受信」フィールドに記憶する。
【００２５】
「送信」フィールドには、当該通信ポートを宛先として送信された通信パケットのパケット数と、通信パケットのデータサイズを示すオクテット数と、ＳＹＮフラグおよびＡＣＫフラグの双方が設定された通信パケットの数とが記憶される。「受信」フィールドにも、当該通信ポートを送信元として送信された通信パケットのパケット数と、通信パケットのデータサイズを示すオクテット数と、ＳＹＮフラグおよびＡＣＫフラグの双方が設定された通信パケットの数とが記憶される。さらに、判定結果記憶部３７０は、それぞれの通信ポートについて、その通信ポートを用いた通信のプロトコルを示す情報を記憶してもよい。
【００２６】
例えば、ＩＰアドレスがＸ．Ｘ．Ｘ．７４の情報処理装置の通信ポート２３を宛先として、２７１３個の通信パケットが送信され、そのオクテット数は２２１７９２１であり、そのうちＳＹＮフラグおよびＡＣＫフラグの双方が設定された通信パケットの数は１７である。また、この通信ポート２３を送信元として、２５６３個の通信パケットが送信され、そのオクテット数は９７５４６２であり、そのうちＳＹＮフラグおよびＡＣＫフラグの双方が設定された通信パケットの数は０である。そして、この通信ポート２３は、ＴＣＰプロトコルによって用いられている。
【００２７】
判定結果記憶部３７０は、このように通信ポート毎に集計結果を記憶するのに加えて、通信ポート毎に、その通信ポートがサーバ機能により使用されているか、クライアント機能により使用されているかの判定結果を記憶している。例えば、通信ポート２３は、判定部３６０によって、サーバ機能により使用されていると判定されている。このように、判定結果は、サーバまたはクライアントを識別するための情報として記憶されていてもよい。他の例としては、判定結果記憶部３７０は、サーバ機能の特性を有する程度を示す第１指標値、および、クライアント機能の特性を有する程度を示す第２指標値を、判定結果として記憶してもよい。これにより、利用者は、判定結果のみならずその確度を知ることもできる。
【００２８】
図４ｂは、判定結果記憶部３７０のデータ構造の第２例を示す。判定結果記憶部３７０は、それぞれの情報処理装置のそれぞれの通信ポートについて、その通信ポートを用いた通信の属性値を記憶している。この属性値は、例えば、通信相手のＩＰアドレスおよび通信ポート番号であり、第１集計部３４０および第２集計部３４５により集計されたものである。即ち、第１集計部３４０は、通信パケットの宛先（即ちここではＸ．Ｘ．Ｘ．７４：２３、以下、「ＩＰアドレス：通信ポート」と表記して通信ポートを特定する）毎に、送信元のＩＰアドレスおよび通信ポートを集計し、図４ｂに示す表形式データとして判定結果記憶部３７０に記憶する。また、第２集計部３４５は、通信パケットの送信元（即ちここではＸ．Ｘ．Ｘ．７４：２３）毎に、宛先のＩＰアドレスおよび通信ポートを集計し、図４ｂに示す表形式データとして判定結果記憶部３７０に記憶する。さらに、それぞれの宛先に対し送信した通信パケットのパケット数、および、それぞれの送信元から送信された通信パケットのパケット数などが、属性値として集計され、判定結果記憶部３７０に記憶されてもよい。
【００２９】
具体的には、Ｘ．Ｙ．Ｙ．２５：１３３３の通信ポートは、Ｘ．Ｘ．Ｘ．７４：２３の通信ポートを送信元とする通信パケットの宛先となっており、かつ、Ｘ．Ｘ．Ｘ．７４：２３の通信ポートを宛先とする通信パケットの送信元ともなっている。そして、Ｘ．Ｘ．Ｘ．７４：２３からＸ．Ｙ．Ｙ．２５：１３３３に送信された通信パケットのパケット数は３０であり、そのオクテット数は１８００である。また、Ｘ．Ｙ．Ｙ．２５：１３３３からＸ．Ｘ．Ｘ．７４：２３に送信された通信パケットのパケット数は２５であり、そのオクテット数は１２１１５である。
【００３０】
図５は、構成情報ＤＢ３９５のデータ構造の一例を示す。構成情報ＤＢ３９５は、それぞれのＩＰアドレスに対応付けて、そのＩＰアドレスを有する情報処理装置のホスト名、その情報処理装置の設置場所、および、その情報処理装置に対し予め定められた機能を記憶している。これらの情報は、システム管理者などによって予め入力されたものであってよい。上述の選択部３７５はこれらの情報を情報処理装置のＩＰアドレスに対応付けて表示することで、利用者に対し情報処理装置を指定しやすくすることができる。また、上述の出力部３８０は、判定結果や集計結果に対応付けてこれらの情報を出力することで、障害発生時の影響範囲などを現実の設置場所に即して認識させることができる。
【００３１】
図６は、分析システム３００によって通信パケットが収集されて判定結果が表示される処理のフローチャートを示す。取得部３３０は、収集装置１４０、収集装置２４０および収集装置２５０を用いて、情報システム１０内の通信回線によって伝送される通信パケットを収集する（Ｓ６００）。収集は、予め定められた期間（たとえば５分）毎に行われることが望ましい。これにより、収集装置の負荷を軽減しつつも、偶然観測された異常な通信パケットの影響を小さくして判定精度を高めることができる。次に、第１集計部３４０等は、通信パケットに基づき通信の属性値を集計し、集計結果を分析することによって、それぞれの通信ポートがサーバ機能によって用いられているか、または、クライアント機能によって用いられているかを判定する（Ｓ６１０）。そして、選択部３７５は、サーバ機能を有する情報処理装置が利用者によって指定されたことに応じて、その指定された情報処理装置が停止したときの影響範囲などを利用者に対し表示する（Ｓ６２０）。
【００３２】
図７は、Ｓ６１０における処理の詳細を示す。合計算出部３３５は、送信元および宛先の組毎に、通信の属性を示す属性値をカウントする（Ｓ７００）。図８にその処理の詳細を示す。
図８は、Ｓ７００における処理の概念図である。図８最下部に示すように、合計算出部３３５は、データの送信元および送信先を識別する識別子であるフローキーに対応付けられたカウンタの集合を有している。図８では、ある送信元および宛先がＡおよびＢの組合せである場合についてのカウンタの集合を例示する。これらのカウンタは、左から順に、ＡからＢに送信した通信パケットの数、ＡからＢに送信した通信パケットのオクテット数、ＢからＡに送信した通信パケットの数、ＢからＡに送信した通信パケットのオクテット数、ＡからＢに送信した通信パケットのうち所定のフラグが設定された通信パケットの数、ＢからＡに送信した通信パケットのうち所定のフラグが設定された通信パケットの数をカウントするものである。
【００３３】
合計算出部３３５は、収集した通信パケットのヘッダを走査し、その通信パケットの送信元および宛先のＩＰアドレスと通信ポートを取得する。そして、合計算出部３３５は、宛先ＩＰアドレスのアドレス値と、送信元ＩＰアドレスのアドレス値とを比較する。合計算出部３３５は、宛先ＩＰアドレスのアドレス値が、送信元ＩＰアドレスのアドレス値より小さいことを条件に、図８（ａ）に示す処理を行う。即ち、まず、合計算出部３３５は、宛先ポート番号と送信元ＩＰアドレスのデータを入換え、宛先ＩＰアドレス、宛先通信ポート番号、送信元ＩＰアドレス、送信元ポート番号をこの順に並べる。そして、合計算出部３３５は、これらのアドレスおよびポート番号の組に先頭部分が一致するフローキーを検索する。プロトコル番号により分類して集計する場合には、合計算出部３３５は、これらのアドレスおよびポート番号の組にプロトコル番号を加えたデータを作り、そのデータに先頭部分が一致するフローキーを検索してよい。フローキーが検索されなければ、合計算出部３３５は、フローキーを新たに生成する。
【００３４】
そして、合計算出部３３５は、検索されたフローキーに対応するカウンタのうちパケット数をカウントするカウンタをインクリメントする。また、合計算出部３３５は、検索されたフローキーに対応するカウンタのうちパケット長をカウントするカウンタにパケット長を加算する。また、合計算出部３３５は、収集した通信パケットにおいて設定されたフラグが所定の条件を満たす場合に、当該所定の条件を満たす通信パケットの数をカウントするカウンタをインクリメントする。
【００３５】
一方で、合計算出部３３５は、宛先ＩＰアドレスのアドレス値が、送信元ＩＰアドレスのアドレス値より大きいことを条件に、図８（ｂ）に示す処理を行う。まず、合計算出部３３５は、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、および、宛先ポート番号をこの順に配列する。そして、合計算出部３３５は、並べ替えたこれらのアドレスおよびポート番号と先頭部分が一致するフローキーを検索する。そして、合計算出部３３５は、検索されたフローキーに対応するカウンタのうちパケット数をカウントするカウンタをインクリメントする。また、合計算出部３３５は、検索されたフローキーに対応するカウンタのうちパケット長をカウントするカウンタにパケット長を加算する。また、合計算出部３３５は、収集した通信パケットにおいて設定されたフラグが所定の条件を満たす場合に、当該所定の条件を満たす通信パケットの数をカウントするカウンタをインクリメントする。
【００３６】
以上、図８に例示したフローキーとカウンタとによれば、通信パケットの送信元と宛先との組ごとに、これらの２者間でどの様な通信が行われたのかを把握することができる。
【００３７】
図７に戻る。続いて、第１集計部３４０は、宛先ポート毎に属性値を集計し（Ｓ７１０）、第２集計部３４５は、送信元ポート毎に属性値を集計する（Ｓ７２０）。即ち、第１集計部３４０は、ＩＰアドレスおよび宛先ポートの組ごとに、当該ＩＰアドレスおよび宛先ポートの組に、第１エントリおよび第２エントリが一致するフローキーと、第３エントリおよび第４エントリが一致するフローキーとを検索する。そして、第１集計部３４０および第２集計部３４５は、検索されたそれぞれのフローキーの対応するエントリの値を合計することにより、当該通信ポートを宛先とする属性値の集計値と、当該通信ポートを送信元とする属性値の集計値とを算出する。
【００３８】
具体的には、第１集計部３４０は、通信パケットの宛先毎に、通信パケットのデータサイズの合計または平均に基づく値を集計し、第２集計部３４５は、通信パケットの送信元毎に、通信パケットのデータサイズの合計または平均に基づく値を集計してもよい。また、第１集計部３４０は、通信パケットの宛先毎に、ＡＣＫフラグおよびＳＹＮフラグの双方が設定された通信パケットの数を集計し、第２集計部３４５は、通信パケットの送信元毎に、ＡＣＫフラグおよびＳＹＮフラグの双方が設定された通信パケットの数を集計してもよい。これらの集計結果は図４ａに例示したように、判定結果記憶部３７０に記憶される。また、第１集計部３４０は、通信パケットの宛先毎に、送信元の情報処理装置のＩＰアドレスやポート番号を集計し、第２集計部３４５は、通信パケットの送信元毎に、宛先の情報処理装置のＩＰアドレスやポート番号を集計してもよい。集計結果は図４ｂに例示したように、判定結果記憶部３７０に記憶される。
【００３９】
第１算出部３５０は、それぞれの通信ポートについて、上記の集計結果に基づいて、当該通信ポートがサーバ機能の特性を有する程度を示す第１指標値を算出する（Ｓ７３０）。また、第２算出部３５５は、それぞれの通信ポートについて、上記の集計結果に基づいて、当該通信ポートがクライアント機能の特性を有する程度を示す第２指標値を算出する（Ｓ７４０）。そして、判定部３６０は、それぞれの情報処理装置のそれぞれの通信ポートについて、当該第１指標値および当該第２指標値に基づいて、当該通信ポートがサーバ機能およびクライアント機能の何れにより使用されているかを判定する（Ｓ７５０）。判定部３６０は、第１指標値および第２指標値が等しくて判定不能の場合には、判定不能である旨を判定結果として生成してもよい。
【００４０】
図９は、Ｓ７３０における処理の詳細を示す。第１算出部３５０は、それぞれの通信ポートについて第１指標値を格納するための変数ＰＳを用意し、それぞれの通信ポートの変数ＰＳについて以下の処理を行う。まず、第１算出部３５０は、変数ＰＳの値を０とする（Ｓ９００）。次に、第１算出部３５０は、当該通信ポートを送信元とする何れかの通信パケットにおいて、ＳＹＮフラグおよびＡＣＫフラグの双方が設定されていたかを判断する（Ｓ９０５）。ＳＹＮフラグおよびＡＣＫフラグの双方が設定されていれば（Ｓ９０５：ＹＥＳ）、変数ＰＳに１を加える（Ｓ９１０）。なお、この処理は一例であり、第１算出部３５０は、ＳＹＮフラグおよびＡＣＫフラグの双方が設定されていた通信パケットの数に応じて変数ＰＳに加える値を大きくしてもよい。即ち、第１算出部３５０は、当該通信ポートを送信元とする通信パケットのうちＡＣＫフラグおよびＳＹＮフラグの双方が設定されている通信パケットの合計数がより大きいことを条件に、より大きい値を第１指標値として算出すればよい。
【００４１】
次に、第１算出部３５０は、当該通信ポートを送信元とする通信パケットの宛先ＩＰアドレスと、当該通信ポートを宛先とする通信パケットの送信元ＩＰアドレスとの合計数が１より大きいかを判断する（Ｓ９１５）。１より大きければ（Ｓ９１５：ＹＥＳ）、第１算出部３５０は、変数ＰＳに１を加える（Ｓ９２０）。なお、この処理は一例であり、第１算出部３５０は、当該合計数の大きさに応じて変数ＰＳに加える値を大きくしてもよい。即ち、第１算出部３５０は、当該通信ポートを送信元とする通信パケットの宛先のＩＰアドレス、および、当該通信ポートを宛先とする通信パケットの送信元のＩＰアドレスの合計数がより大きいことを条件に、より大きい値を第１指標値として算出すればよい。
【００４２】
次に、第１算出部３５０は、当該通信ポートを送信元とする通信パケットの宛先通信ポートと、当該通信ポートを宛先とする通信パケットの送信元通信ポートとの合計数が１より大きいかを判断する（Ｓ９２５）。１より大きければ（Ｓ９２５：ＹＥＳ）、第１算出部３５０は、変数ＰＳに１を加える（Ｓ９３０）。次に、第１算出部３５０は、当該通信ポートを送信元とする通信パケットの宛先通信ポートと、当該通信ポートを宛先とする通信パケットの送信元通信ポートとの中で最大のポート番号と最小のポート番号とを算出し、その差分値が１より大きいかを判断する（Ｓ９３５）。１より大きければ（Ｓ９３５：ＹＥＳ）、第１算出部３５０は、変数ＰＳに１を加える（Ｓ９４０）。なお、これらの処理は一例であり、第１算出部３５０は、当該合計数の大きさに応じて変数ＰＳに加える値を大きくしてもよい。即ち、第１算出部３５０は、当該通信ポートを送信元とする通信パケットの宛先の通信ポート、および、当該通信ポートを宛先とする通信パケットの送信元の通信ポートの合計数がより大きいことを条件に、より大きい値を第１指標値として算出すればよい。
【００４３】
次に、第１算出部３５０は、当該通信ポートを送信元とする通信パケットの平均パケット長（送出パケット長と呼ぶ）を算出し、当該通信ポートを宛先とする通信パケットの平均パケット長（受信パケット長と呼ぶ）を算出する（Ｓ９４５）。具体的には、第１算出部３５０は、当該通信ポートを送信元とする通信パケットのオクテット数を、当該通信ポートを送信元とする通信パケットのパケット数で除することで送出パケット長を算出する。また、第１算出部３５０は、当該通信ポートを宛先とする通信パケットのオクテット数を、当該通信ポートを宛先とする通信パケットのパケット数で除することによって受信パケット長を算出する。そして、第１算出部３５０は、送出パケット長が受信パケット長より大きいかを判断する。送出パケット長が受信パケット長より大きければ（Ｓ９４５：ＹＥＳ）、第１算出部３５０は、変数ＰＳに１を加える（Ｓ９５０）。
【００４４】
なお、この処理に用いるパケット長は一例であり、これに代えて、通信パケットのデータサイズの平均または合計に基づく何らかの指標値を用いてもよい。即ち、第１算出部３５０は、当該通信ポートを送信元とする通信パケットについての、データサイズの合計または平均に基づく値が、当該通信ポートを宛先とする通信パケットについての、データサイズの合計または平均に基づく値よりも大きいことを条件に、より大きい値を第１指標値として算出すればよい。
【００４５】
次に、第１算出部３５０は、当該通信ポートのポート番号が、当該通信ポートに対向する通信ポートのポート番号より小さいかを判断する（Ｓ９５５）。対向する通信ポートとは、当該通信ポートを送信元とする通信パケットの宛先の通信ポート、または、当該通信ポートを宛先とする通信パケットの送信元の通信ポートである。対向する通信ポートのポート番号より小さければ（Ｓ９５５：ＹＥＳ）、第１算出部３５０は、より高い値を第１指標値として算出する。例えば、第１算出部は、当該通信ポートのポート番号が対向する通信ポートのポート番号より小さければ変数ＰＳに１を加え（Ｓ９６０）、そうでなければ何もしない。なお、通信プロトコルにおいて、所定の役割を果たす予約ポートは静的に定められるゆえ、比較的小さいポート番号が予め割り当てられている場合が多い。そして、この予約ポートはサーバ用途で用いられる場合が多い。一方で、クライアント用途で用いられる通信ポートには使用時に動的に番号が割り当てられるゆえ、予約ポートのポート番号を避けて比較的大きいポート番号が割り当てられる場合が多い。このようなポート番号の性質を利用して、第１算出部３５０は、ポート番号の大小判断によって第１指標値を効率的かつ精度良く算出することができる。
第１算出部３５０は、以上の処理を終えた時点の変数ＰＳの値を第１指標値として記録する（Ｓ９８０）。
【００４６】
図１０は、Ｓ７４０における処理の詳細を示す。第２算出部３５５は、それぞれの通信ポートについて第２指標値を格納するための変数ＰＣを用意し、それぞれの通信ポートの変数ＰＣについて以下の処理を行う。まず、第２算出部３５５は、変数ＰＣの値を０とする（Ｓ１０００）。次に、第２算出部３５５は、当該通信ポートを宛先とする何れかの通信パケットにおいて、ＳＹＮフラグおよびＡＣＫフラグの双方が設定されていたかを判断する（Ｓ１００５）。ＳＹＮフラグおよびＡＣＫフラグの双方が設定されていれば（Ｓ１００５：ＹＥＳ）、変数ＰＣに１を加える（Ｓ１０１０）。なお、この処理は一例であり、第２算出部３５５は、ＳＹＮフラグおよびＡＣＫフラグの双方が設定されていた通信パケットの数に応じて変数ＰＣに加える値を大きくしてもよい。即ち、第２算出部３５５は、当該通信ポートを宛先とする通信パケットのうちＡＣＫフラグおよびＳＹＮフラグの双方が設定されている通信パケットの合計数がより大きいことを条件に、より大きい値を第２指標値として算出すればよい。
【００４７】
次に、第２算出部３５５は、当該通信ポートを送信元とする通信パケットの宛先ＩＰアドレスと、当該通信ポートを宛先とする通信パケットの送信元ＩＰアドレスとの合計数が１であるか判断する（Ｓ１０１５）。ＩＰアドレスの合計数が１でなければ（Ｓ１０１５：ＮＯ）、第２算出部３５５は、以上の処理を終えた時点の変数ＰＣの値を第２指標値として記録し（Ｓ１０８０）、本図の処理を終了する。一方で、ＩＰアドレスの合計数が１であれば（Ｓ１０１５：ＹＥＳ）、第２算出部３５５は、変数ＰＣの値に１を加える（Ｓ１０２０）。なお、この処理は一例であり、第２算出部３５５は、当該合計数の小ささに応じて変数ＰＣに加える値を大きくしてもよい。即ち、第２算出部３５５は、当該通信ポートを送信元とする通信パケットの宛先のＩＰアドレス、および、当該通信ポートを宛先とする通信パケットの送信元のＩＰアドレスの合計数がより小さいことを条件に、より大きい値を第２指標値として算出すればよい。
【００４８】
次に、第２算出部３５５は、当該通信ポートを送信元とする通信パケットの宛先ポート番号と、当該通信ポートを宛先とする通信パケットの送信元ポート番号との合計数が１であるか判断する（Ｓ１０２５）。合計数が１であれば（Ｓ１０２５：ＹＥＳ）、第２算出部３５５は、変数ＰＣの値に１を加える（Ｓ１０３０）。次に、第２算出部３５５は、当該通信ポートを送信元とする通信パケットの宛先ポート番号、および、当該通信ポートを宛先とする通信パケットの送信元ポート番号について、ポート番号の最大値から最小値を差し引くと０であるかを判断する（Ｓ１０３５）。最大値から最小値を差し引くと０であれば（Ｓ１０３５：ＹＥＳ）、第２算出部３５５は、変数ＰＣの値に１を加える（Ｓ１０４０）。なお、これらの処理は一例であり、第２算出部３５５は、当該合計数の小ささに応じて変数ＰＣに加える値を大きくしてもよい。即ち、第２算出部３５５は、当該通信ポートを送信元とする通信パケットの宛先の通信ポート、および、当該通信ポートを宛先とする通信パケットの送信元の通信ポートの合計数がより小さいことを条件に、より大きい値を第２指標値として算出すればよい。
【００４９】
次に、第２算出部３５５は、当該通信ポートの送出パケット長が受信パケット長より小さいかを判断する（Ｓ１０４５）。送出パケット長が受信パケット長より小さければ（Ｓ１０４５：ＹＥＳ）、第２算出部３５５は、変数ＰＣの値に１を加える（Ｓ１０５０）。なお、この処理に用いるパケット長は一例であり、これに代えて、通信パケットのデータサイズの平均または合計に基づく何らかの指標値を用いてもよい。即ち、第２算出部３５５は、当該通信ポートを送信元とする通信パケットについての、データサイズの合計または平均に基づく値が、当該通信ポートを宛先とする通信パケットについての、データサイズの合計または平均に基づく値よりも小さいことを条件に、より大きい値を第２指標値として算出すればよい。
【００５０】
次に、第２算出部３５５は、当該通信ポートのポート番号が対向する通信ポートのポート番号より大きいかを判断する（Ｓ１０５５）。当該通信ポートのポート番号が対抗する通信ポートのポート番号より大きければ（Ｓ１０５５：ＹＥＳ）、第２算出部３５５は、より大きい値を第２指標値として算出する。例えば、第２算出部３５５は、変数ＰＣの値に１を加えてもよい（Ｓ１０６０）。
第２算出部３５５は、以上の処理を終えた時点の変数ＰＣの値を第２指標値として記録する（Ｓ１０８０）。
【００５１】
図１１は、Ｓ６２０における処理の詳細を示す。まず、出力部３８０は、判定部３６０によりサーバ機能に用いられると判定された通信ポートを選択可能に一覧表示する（Ｓ１１００）。その表示例を図１２に例示する。
図１２は、Ｓ１１００における処理の画面表示例を示す。この例において、判定部３６０は、ＩＰアドレスがＸ．Ｘ．Ｘ．７４の情報処理装置について、サーバ機能に用いられると判定された通信ポートを一覧表示する。利用者の便宜のため、判定部３６０は、このＩＰアドレスに対応して構成情報ＤＢ３９５に記憶されている情報、即ち、ホスト名、設置場所、および、機能などの情報を併せて表示してもよい。また、判定部３６０は、一覧表示したそれぞれの通信ポートの番号に対応付けて、その通信ポートを用いた通信のプロトコル、その通信ポートを用いて提供されたサービス、パケットや判定結果などを表示してもよい。判定結果は、サーバかクライアントかの区別のみならず、その特性を有する程度を示す指標値などを含んでいてもよい。
【００５２】
図１１に戻る。選択部３７５は、通信ポートの選択の入力を受け付ける（Ｓ１１１０）。選択の入力が受け付けられると（Ｓ１１２０：ＹＥＳ）、選択部３７５は、判定結果記憶部３７０に記憶された集計結果に基づいて、選択されたその通信ポートの通信先となる全ての情報処理装置の通信ポートを選択する。そして、出力部３８０は、選択されたそれらの通信ポートを、初めに指定された通信ポートが使用不能となった場合の影響範囲を示す情報として一覧表示する（Ｓ１１３０）。図１３にその表示例を示す。
図１３は、Ｓ１１３０における処理の画面表示例を示す。出力部３８０は、情報処理装置（Ｘ．Ｘ．Ｘ．７４）が停止した場合の影響範囲を示す情報として、通信ポート（Ｘ．Ｘ．Ｘ．７４：２３）の通信先となる通信ポートを一覧表示する。一覧表示される通信ポートのそれぞれには、更に、その通信のパケット数などが併せて表示されてもよい。これにより、利用者は、通信相手の情報処理装置の数や、どの程度頻繁に通信が行われているかを適切に把握することができる。
図１１に戻る。選択部３７５は、利用者から、操作終了の指示などを受けると（Ｓ１１４０：ＹＥＳ）、本図の処理を終了する。
【００５３】
図１４は、分析システム３００として機能するコンピュータ５００のハードウェア構成の一例を示す。コンピュータ５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００５４】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００５５】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、コンピュータ５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００５６】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、コンピュータ５００の起動時にＣＰＵ１０００が実行するブートプログラムや、コンピュータ５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００５７】
コンピュータ５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出されコンピュータ５００にインストールされて実行される。プログラムがコンピュータ５００等に働きかけて行わせる動作は、図１から図１３において説明した分析システム３００における動作と同一であるから、説明を省略する。
【００５８】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ５００に提供してもよい。
【００５９】
以上、本実施形態に係る分析システム３００によれば、通信パケットの内容解析により、情報システム１０の通常運用を妨げることなく情報システム１０内の情報処理装置の連携関係を適切に把握して、障害発生の対策や予防に役立てることができる。また、通信パケットの解析結果を利用して、情報システム１０に対する外部からの攻撃や不正の通信を検知して利用者に警告することができる。このような機能は、高度に複雑化し日々構成が変化する今日の大規模システムにおいては、システム管理者の労力を大幅に削減できる点で特に有効である。例えば、要求の集中しているサーバを検出して負荷分散させることができる。また、ファイアウォールの新設や増設に際し、通信内容を的確に把握できるので、パケットフィルタリングなどの設定を効率化できる。
【００６０】
更に、本実施形態に係る分析システム３００によれば、情報システムに生じる障害が、ビジネスや社会生活への影響範囲を把握することで、これから得られる情報に基づいて、障害発生に伴う被害を軽減するための対策を講じることができる。すなわちたとえば、障害発生がのべ何人のアクセスに対して影響するか、また、業務拠点に影響があるかなどを事前把握できるので、信頼性向上のための投資がもたらす価値を評価する指標に用いることができる。
【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００６２】
【図１】図１は、情報システム１０の全体構成を示す。
【図２】図２は、分析装置３１０の機能構成を示す。
【図３】図３は、レポート装置３２０の機能構成を示す。
【図４ａ】図４ａは、判定結果記憶部３７０のデータ構造の第１例を示す。
【図４ｂ】図４ｂは、判定結果記憶部３７０のデータ構造の第２例を示す。
【図５】図５は、構成情報ＤＢ３９５のデータ構造の一例を示す。
【図６】図６は、分析システム３００によって通信パケットが収集されて判定結果が表示される処理のフローチャートを示す。
【図７】図７は、Ｓ６１０における処理の詳細を示す。
【図８】図８は、Ｓ７００における処理の概念図である。
【図９】図９は、Ｓ７３０における処理の詳細を示す。
【図１０】図１０は、Ｓ７４０における処理の詳細を示す。
【図１１】図１１は、Ｓ６２０における処理の詳細を示す。
【図１２】図１２は、Ｓ１１００における処理の画面表示例を示す。
【図１３】図１３は、Ｓ１１３０における処理の画面表示例を示す。
【図１４】図１４は、分析システム３００として機能するコンピュータ５００のハードウェア構成の一例を示す。
【符号の説明】
【００６３】
１０  情報システム
１００  拠点システム
１１０  端末装置
１２０  サーバ装置
１３０  通信中継装置
１４０  収集装置
２００  中央システム
２１０  通信中継装置
２２０  サーバ装置
２３０  通信中継装置
２４０  収集装置
２５０  収集装置
３００  分析システム
３１０  分析装置
３２０  レポート装置
３３０  取得部
３３５  合計算出部
３４０  第１集計部
３４５  第２集計部
３５０  第１算出部
３５５  第２算出部
３６０  判定部
３６５  第３集計部
３７０  判定結果記憶部
３７５  選択部
３８０  出力部
３８５  設定部
３９０  警告部
３９５  構成情報ＤＢ
５００  コンピュータ
【図１】
2008035266.tif 000003
【図２】
2008035266.tif 000004
【図３】
2008035266.tif 000005
【図４ａ】
2008035266.tif 000006
【図４ｂ】
2008035266.tif 000007
【図５】
2008035266.tif 000008
【図６】
2008035266.tif 000009
【図７】
2008035266.tif 000010
【図８】
2008035266.tif 000011
【図９】
2008035266.tif 000012
【図１０】
2008035266.tif 000013
【図１１】
2008035266.tif 000014
【図１２】
2008035266.tif 000015
【図１３】
2008035266.tif 000016
【図１４】
2008035266.tif 000017