(57)【要約】【課題】セキュリティシステムで保護された機器に対し、パケット負荷試験を行う。【解決手段】試験装置１０は、防御対象の装置宛てに送信されたパケットの認証及び送信元ＩＰアドレス毎パケット制限を行うセキュリティシステムによって防御された装置に対し、処理負荷を増加させる試験パケットを送信する。また、試験装置１０は、試験パケットを送信する際、シナリオに基づいて試験セッションを生成し、試験パケットが複数の送信元ＩＰアドレスを用いるようにパケットを構築する。また、試験装置１０は、セキュリティシステムによって行われる複数の段階の認証のうち、所定の段階の認証までの応答要求に対し、試験パケットがセキュリティシステムによって正当なものであると認証されるように応答を行う。また、試験装置１０は、所定の段階における、試験パケットが送信されたセキュリティシステムのパケットフィルタ状況及び処理負荷を監視する。【選択図】図１
2020129736.tif 000002
【特許請求の範囲】
【請求項１】
防御対象の装置宛てに送信されたパケットの認証及び送信元ＩＰアドレス毎パケット制限を行うセキュリティシステムによって防御された装置に対し、処理負荷を増加させる試験パケットを送信する送信部と、
前記試験パケットを送信する際、シナリオに基づいて試験セッションを生成する試験シナリオ部と、
前記試験パケットが複数の送信元ＩＰアドレスを用いるようにパケットを構築するアドレス分散部と、
前記セキュリティシステムによって行われる複数の段階の認証のうち、所定の段階の認証までの応答要求に対し、前記試験パケットが前記セキュリティシステムによって正当なものであると認証されるように応答を行う応答部と、
前記所定の段階における、前記試験パケットが送信された前記セキュリティシステムのパケットフィルタ状況及び処理負荷を監視する監視部と、
を有することを特徴とする試験装置。
【請求項２】
前記試験シナリオ部は、Ｗｅｂサーバ等の試験対象装置との間でＨＴＴＰ及びＨＴＴＰＳのセッションを構築した上で、試験対象装置に対してシナリオに基づいてログインや検索等を実行する試験パケットを生成するとともに、ログイン情報などのセッション情報を維持した試験パケットを送信するために試験対象装置から受信したＣｏｏｋｉｅに基づいた試験パケットを生成することを特徴とする請求項１に記載の試験装置。
【請求項３】
前記応答部は、前記所定の段階までの認証に対応した応答要求を受信するたびに、受信した応答要求を識別し、識別した応答要求に対し、前記試験パケットが前記セキュリティシステムによって正当なものであると認証されるように応答を行うことを特徴とする請求項１に記載の試験装置。
【請求項４】
前記アドレス分散部は、あらかじめ設定されたＩＰアドレスのリストに基づいて、送信する試験パケットの送信元ＩＰアドレスを分散させるが、同一コネクションでは同一送信元ＩＰアドレスを用いることを特徴とする請求項１に記載の試験装置。
【請求項５】
前記応答部は、ＴＣＰ認証、ＨＴＴＰ認証およびチャレンジレスポンス認証のいずれかに対応した応答要求を受信した場合、受信した応答要求の種別として、ＴＣＰ認証、ＨＴＴＰ認証およびチャレンジレスポンス認証のいずれに対応した応答要求であるかを識別し、識別した種別の認証において正当なものであると認証されるように応答を行うことを特徴とする請求項４に記載の試験装置。
【請求項６】
前記送信部は、Ｗｅｂサーバである前記装置に、前記試験パケットとともに、Ｗｅｂブラウザの操作により発生するパケットを送信することを特徴とする請求項１に記載の試験装置。
【請求項７】
前記セキュリティシステム及び防御対象装置のパケットフィルタ状況及び処理負荷の状況に応じて、前記送信部によって送信される前記試験パケットの量を変化させる管理部をさらに有することを特徴とする請求項１に記載の試験装置。
【請求項８】
前記管理部は、前記セキュリティシステムの処理負荷が所定以上である場合、前記セキュリティシステムに前記送信部によって送信される前記試験パケットの量を増加させることを特徴とする請求項７に記載の試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置に関する。
【背景技術】
【０００２】
従来、機器に対し負荷を印加するためのパケットを送信し、パケット負荷試験を実施する方式が提案されている（例えば、非特許文献１参照）。また、セキュリティシステムによって防御された対象装置に対してパケット負荷試験を実施する方式が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１９５４３２号公報
【非特許文献】
【０００４】
【非特許文献１】IXIA,  “Denial  of  Service  (DOS)  Testing”
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方式には、認証のための応答要求を行う機器を突破できても、ＨＴＴＰ等のセッションを張る送信元ＩＰアドレスが限定されるため、ＷＡＦ（Web  Application  Firewall）などのセキュリティ機器による送信元ＩＰアドレス単位の単位時間パケット数フィルタにより廃棄され、パケット負荷試験が行えないという問題があった。また、送信元ＩＰアドレス単位の単位時間パケット数フィルタに該当しないためには複数の試験装置が必要であり、コストがかかるという問題があった。さらに、試験シナリオが認証応答とＨＴＴＰ  ＧＥＴ  Ｆｌｏｏｄ等の単純送信に限られるため、セキュリティシステムを突破できても、試験対象装置への試験項目が限定されるという問題があった。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の試験装置は、防御対象の装置宛てに送信されたパケットの認証及び送信元ＩＰアドレス毎パケット制限を行うセキュリティシステムによって防御された装置に対し、処理負荷を増加させる試験パケットを送信する送信部と、前記試験パケットを送信する際、シナリオに基づいて試験セッションを生成する試験シナリオ部と、前記試験パケットが複数の送信元ＩＰアドレスを用いるようにパケットを構築するアドレス分散部と、前記セキュリティシステムによって行われる複数の段階の認証のうち、所定の段階の認証までの応答要求に対し、前記試験パケットが前記セキュリティシステムによって正当なものであると認証されるように応答を行う応答部と、前記所定の段階における、前記試験パケットが送信された前記セキュリティシステムのパケットフィルタ状況及び処理負荷を監視する監視部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、防御対象の装置宛てに送信されたパケットの認証及び送信元ＩＰアドレス毎パケット制限を行うセキュリティシステムによって防御された装置に対し、ログインや検索等のパケット負荷試験を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る試験装置を有するネットワークの構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る試験装置の構成の一例を示す図である。
【図３】図３は、多段階防御機能について説明するための図である。
【図４】図４は、第１の実施形態に係る試験装置によるパケット負荷試験について説明するためのシーケンス図である。
【図５】図５は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る試験装置の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る試験装置を有するネットワークの構成について説明する。図１は、第１の実施形態に係る試験装置を有するネットワークの構成の一例を示す図である。
【００１１】
図１に示すように、ネットワーク１は、試験装置１０、および試験対象システム２０を有する。また、試験対象システム２０は、ネットワーク装置２１、セキュリティ装置２２、サーバ２３を有する。ネットワーク１の各システム、および各装置は、例えば、有線または無線のＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）等の任意の種類の通信網によって接続されている。
【００１２】
試験装置１０は、試験パケット送受信部１２１、モニタリング部１２２、管理部１２３および記憶部１３を有する。試験パケット送受信部１２１は、セキュリティ耐性試験のための試験パケットを試験対象システム２０に含まれる各装置に対し送信し、試験パケットに対して試験対象システム２０から送信されるパケットを受信する。モニタリング部１２２は、試験対象システム２０の各装置の負荷の状況を監視する。また、管理部１２３は、試験パケット送受信部１２１およびモニタリング部１２２に関する設定や、情報の取得および分析を行う。
【００１３】
例えば、図１の例では、試験装置１０によって管理部１２３の設定により試験パケット送受信部１２１及びモニタリング部１２２が実行される。なお、例えば、試験装置１０を分散させ、試験パケット送受信部１２１、モニタリング部１２２および管理部１２３を複数の試験装置で分散して実行されるようにしてもよい。
【００１４】
ここで、図２を用いて、試験装置１０について説明する。図２は、第１の実施形態に係る試験装置の構成の一例を示す図である。図２に示すように、試験装置１０は、インタフェース部１１、制御部１２および記憶部１３を有する。
【００１５】
インタフェース部１１は、他の装置との間で通信制御を行うインタフェースである。例えば、インタフェース部１１は、ネットワークを介して他の装置との間でパケットの送受信を行う。また、インタフェース部１１は、例えばＬＡＮカード等のネットワークインタフェースカードである。
【００１６】
インタフェース部１１は、試験パケット用インタフェース１１１、モニタリング用インタフェース１１２および管理用インタフェース１１３を有する。試験パケット用インタフェース１１１は、試験パケット送受信機能の実行にともなうパケットの送受信を行う。また、モニタリング用インタフェース１１２は、試験装置１０のモニタリング部１２２の実行にともなうパケットの送受信を行う。また、管理用インタフェース１１３は、試験装置１０の管理部１２３の実行にともなうパケットの送受信を行う。
【００１７】
制御部１２は、試験装置１０全体を制御する。例えば、制御部１２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphical  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。制御部１２は、試験パケット送受信部１２１、モニタリング部１２２および管理部１２３を有する。なお、モニタリング部１２２は、監視部の一例である。
【００１８】
試験シナリオ部１２４は、スクリプト等を用いて記述されたシナリオに基づき、Ｗｅｂサーバ等の試験対象システム２０との間でＨＴＴＰ及びＨＴＴＰＳのセッションを構築した上で、試験対象システム２０に対して試験パケットを生成するとともに、ログイン情報などのセッション情報を維持した試験パケットを送信するため、サーバ２３から受信したＣｏｏｋｉｅに基づいた試験パケットを生成する。試験シナリオ部１２４は、試験パケットとして、ＧＥＴ及びＰＯＳＴ  Ｆｌｏｏｄ以外に、サーバ２３への複数アカウント作成・削除、複数アカウントからの頻繁なログイン・ログアウト、頻繁な検索実行の攻撃試験を実施するだけでなく、維持したセッション上でＳｌｏｗ  ＲＥＡＤ等のＴＣＰヘッダを変更する攻撃試験を実施する。
【００１９】
応答部１２５は、セキュリティ装置２２によって行われるＴＣＰ認証、ＨＴＴＰ認証及びチャレンジレスポンス認に対応した応答要求を受信し、受信した応答要求を識別し、識別した応答要求に適合する応答、すなわち攻撃パケットがセキュリティ装置２２によって正当なものであると認証されるような応答を行う。
【００２０】
アドレス分散部１２６は、あらかじめ設定されたＩＰアドレスのリストに基づいて、送信する試験パケットの送信元ＩＰアドレスを分散させる。一例として、アドレス分散部１２６は、試験パケットとして送信されるＴＣＰ  ＳＹＮパケットに対して、ＩＰアドレスリストに基づいて異なる送信元ＩＰアドレスを割り当て、その後の同一ＴＣＰコネクションでは同一送信元ＩＰアドレスを用いる事で、複数のＴＣＰコネクションに対して異なる送信元ＩＰアドレスで通信する。また、アドレス分散部１２６は、モニタリング部１２２から試験対象システムのパケットフィルタ閾値が通知された場合、送信元ＩＰアドレス数を制御して試験対象システムのパケットフィルタ閾値に該当しないよう送信元ＩＰアドレスあたりの試験パケット送信を調整する。
【００２１】
送信部１２７は、防御対象の装置宛てに送信されたパケットの認証を行うセキュリティ装置２２によって防御されたサーバ２３に対し、処理負荷を増加させる試験パケットを送信する。送信部１２７は、試験パケットを送信するにあたり、セキュリティ装置２２がパケットシグネチャによるパケット廃棄機能を有している場合、ユーザエージェント等のパケット情報により一般ブラウザではないと判別して廃棄されるのを防ぐため、ユーザエージェント等パケット情報が一般ブラウザと同じになるよう設定する。一例として、一般ブラウザのパケット送信機能を利用してもよい。
【００２２】
モニタリング部１２２は、セキュリティ装置２２によって正当なものであると認証された攻撃パケットが送信されたセキュリティ装置２２またはサーバ２３のパケットフィルタ状況及び処理負荷の状況を監視する。モニタリング部１２２は、パケットフィルタ状況の監視として、送信元IPアドレス単位の単位時間あたり試験パケット数、バイト量、セッション数及び試験対象システムからの応答パケットを監視し、他の送信元ＩＰアドレス試験パケットには応答パケットが来ているものの、試験パケットを送信しているのに応答パケットが来なくなった送信元ＩＰアドレスを把握する。当該送信元ＩＰアドレスに対して応答パケットが来なくなった直前の時刻に送信していた試験パケット数、バイト量、セッション数、タイムスタンプを試験対象システムのパケットフィルタ閾値として記録し、制御部１２に対して通知する。
【００２３】
記憶部１３は、制御部の実行で用いられる各種情報を記憶する。例えば、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００２４】
試験装置１０によれば、試験対象システム２０に含まれる各装置のパケット負荷試験を行うことができる。ここで、セキュリティ装置２２およびサーバ２３のパケット負荷試験を行う場合を例に挙げて、試験装置１０によるパケット負荷試験について説明する。
【００２５】
試験対象システム２０では、サーバ２３にパケットを送信する際、セキュリティ装置２２により正常なブラウザ通信は通過させてボットや攻撃ツールによる攻撃パケットを遮断する。例えば、セキュリティ装置２２は、サーバ２３に対するパケットの送信を検知した場合、当該パケットに対し認証要求を行う。例えばＴＣＰ認証、ＨＴＴＰ認証、およびチャレンジレスポンス認証を行う。さらに、送信元ＩＰアドレス単位の単位時間パケット数、バイト量、セッション数などを監視し、所定の閾値を超過した場合に当該送信元ＩＰアドレスをブラックリストに登録する。これは、パケットの送信元が人によって操作される一般ブラウザであって、操作した人によって応答要求に適合した応答が行われる事、及び人によって操作される一般ブラウザが送信する単位時間パケット数やバイト量であれば所定の閾値に該当しない事に基づく。
【００２６】
また、サーバ２３に対する処理負荷を試験するために、ＳＹＮ  ＦｌｏｏｄやＧＥＴ  Ｆｌｏｏｄなど単純にパケットを送信するだけでは、サービス不能攻撃に対するサーバ処理の一部しか処理負荷を計測できない。
【００２７】
これにより、従来のパケット負荷試験を目的とした攻撃ツールでは、サーバ２３やセキュリティ装置２２の各段階の処理負荷を測るパケット負荷試験を行うことが難しかった。
【００２８】
まず、図３を用いて多段階防御機能について説明する。図３は、多段階防御機能について説明するための図である。図３に示すように、サーバ２３にパケットを送信する場合、セキュリティ装置２２による送信元パケット数制限や複数の段階の認証が行われる必要がある。セキュリティ装置２２は、例えば、ＴＣＰ認証、ＨＴＴＰ認証、チャレンジレスポンス認証、単位時間送信元パケット数制限、単位時間送信元バイト数制限、単位時間セッション数制限を行う。
【００２９】
例えば、セキュリティ装置２２は、サーバ２３に対するパケットの送信を検知した場合、当該パケットに対し、送信元ＩＰアドレス毎にパケット数やセッション数等を監視し、パケットの送信元が人によって操作される一般ブラウザが送信するパケット数やセッション数等に基づいた閾値をクリアすれば、送信元パケット数制限機能を通過させる。例えば、セキュリティ装置２２は、通過させる閾値をパケット数６個／秒以下、セッション数６セッション以下のように設定した場合、通過させる閾値を満たす送信元ＩＰアドレスを一般ブラウザからの通信と判断して通過させる。
【００３０】
一方、送信されたパケットが、詐称した送信元によるＳＹＮ  Ｆｌｏｏｄ攻撃を目的としたものである場合、セキュリティ装置２２は、ＴＣＰ認証の段階で当該パケットを廃棄する。このため、サーバ２３のパケット負荷試験を目的とした攻撃ツールによってパケットが送信された場合であっても、セキュリティ装置２２は所定の段階で当該パケットの送信が攻撃であることを検知し、当該パケットを廃棄する。さらに、ＴＣＰ認証、ＨＴＴＰ認証、チャレンジ／レスポンスに応答可能な攻撃ツールが存在した場合でも、送信元パケット制限による単位時間あたりのパケット数制限、バイト数制限、セッション数制限により攻撃として判定される事で、当該送信元ＩＰアドレスがブラックリスト登録されてパケット廃棄される。これらにより、従来のパケット負荷試験を目的とした攻撃ツールでは、サーバ２３やセキュリティ装置２２のパケット負荷試験を行うことが難しかった。
【００３１】
これに対し、第１の実施形態に係る試験装置によれば、サーバ２３やセキュリティ装置２２のパケット負荷試験を行うことが可能である。ここで、図４を用いて、試験装置１０がサーバ２３またはセキュリティ装置２２のパケット負荷試験を行う場合の動作について説明する。
【００３２】
図４は、第１の実施形態に係る試験装置によるパケット負荷試験について説明するためのシーケンス図である。まず、試験装置１０は、攻撃パケットおよびモニタリングの設定を行う（ステップＳ１０１）。このとき、試験装置１０は、試験パケットとして、例えばＨＴＴＰ接続後にサーバに大量にログインし、大量に検索を行う試験パケットを送信するように設定を行う。また、試験装置１０は、モニタリングとして、例えばサーバ２３のｐｉｎｇやｔｒａｃｅｂａｃｋへの応答確認、またはＨＴＴＰ応答確認を行うような設定を行う。また、パケットフィルタ状況の監視として、送信元ＩＰアドレス単位の単位時間あたり試験パケット数、バイト量、セッション数及び試験対象システムからの応答パケットを監視し、他の送信元ＩＰアドレス試験パケットには応答パケットが来ているものの、試験パケットを送信しているのに応答パケットが来なくなった送信元ＩＰアドレスを把握する。当該送信元ＩＰアドレスに対して応答パケットが来なくなった直前の時刻に送信していた、応答パケットが来なくなった送信元ＩＰアドレス、試験パケット数、バイト量、セッション数、タイムスタンプを試験対象システムのパケットフィルタ閾値として記録して制御部１２に対して通知するような設定を行う。
【００３３】
そして、試験装置１０の送信部１２７は、試験パケット用インタフェース１１１から試験パケットを送信する。このとき、まず、送信部１２７は、サーバ２３との間にＴＣＰコネクションを確立するために、サーバ２３のＩＰアドレスである10.0.0.1にＴＣＰ  ＳＹＮパケットを送信する（ステップＳ１０２）。
【００３４】
これに対し、セキュリティ装置２２は、サーバ２３宛てに送信されたＳＹＮパケットが攻撃パケットであるか否かを判定するため、ＴＣＰ認証応答要求を行う（ステップＳ１０３）。なお、ＴＣＰコネクションが確立される場合、ＳＹＮパケットの送信元に対してはＳＹＮ／ＡＣＫパケットが送信される。
【００３５】
ここで、例えば、攻撃ツールは、ＳＹＮパケットに対して不当なパケットが送信されてきた場合であっても、不当なパケットに適合した応答を行わず、再びＳＹＮパケットを送信するといった行動を取ることが知られている。そこで、ＴＣＰ認証を行う場合、セキュリティ装置２２は、例えば、Ｃｏｏｋｉｅを入れたＳＹＮ／ＡＣＫパケット、不当なＡＣＫ  Ｓｅｑｕｅｎｃｅナンバーを入れたＳＹＮ／ＡＣＫパケット、ＡＣＫパケット、ＲＳＴパケット等の不当なパケットを試験装置１０に送信する。そして、セキュリティ装置２２は、送信した不当なパケットに適合した応答が返ってきた場合、ＴＣＰ認証を通過させる。
【００３６】
ここで、試験装置１０の応答部１２５は、セキュリティ装置２２に対し、ＴＣＰ認証応答要求に適合した応答を行う（ステップＳ１０４）。例えば、応答部１２５は、ＳＹＮパケットに対しＣｏｏｋｉｅを入れたＳＹＮ／ＡＣＫパケットが送信されてきた場合、当該パケットがＣｏｏｋｉｅを入れたＳＹＮ／ＡＣＫパケットであることを識別する。そして、応答部１２５は、当該Ｃｏｏｋｉｅの内容に基づいたＳｅｑｕｅｎｃｅナンバーを設定したＡＣＫパケットをセキュリティ装置２２に送信する。なお、ＳＹＮ  Ｆｌｏｏｄ攻撃を目的とした攻撃ツールは、セキュリティ装置２２からＣｏｏｋｉｅを入れたＳＹＮ／ＡＣＫパケットが送信されてきた場合であっても、何も応答しないことが考えられる。
【００３７】
これにより、試験装置１０は、サーバ２３との間でＴＣＰコネクションを確立させることができ、送信部１２７によって送信された試験パケットがＴＣＰ認証段階で廃棄されることを防止することができる。そして、試験装置１０は、ＴＣＰ認証より先の段階の認証を行う際のセキュリティ装置２２や、サーバ２３を対象にパケット負荷試験を行うことができる。
【００３８】
ＴＣＰコネクションが確立されると、送信部１２７は、サーバ２３宛てにＨＴＴＰリクエストパケットを送信する（ステップＳ１０５）。セキュリティ装置２２は、サーバ２３宛てに送信されたＨＴＴＰリクエストパケットが試験パケットであるか否かを判定するため、ＨＴＴＰ認証応答要求を行う（ステップＳ１０６）。
【００３９】
ここで、応答部１２５は、セキュリティ装置２２に対し、ＨＴＴＰＳ認証に適合した応答を行う（ステップＳ１０７）。例えば、応答部１２５は、セキュリティ装置２２からの応答がリダイレクト応答であることを識別する。そして、応答部１２５は、リダイレクト応答のＬｏｃａｔｉｏｎヘッダで示されるＵＲＩ（Uniform  Resource  Identifier）等の値に指定されたリダイレクト先にＨＴＴＰリクエストパケットを送信する。なお、リダイレクト応答に適合した応答を行わない攻撃ツールは、Ｌｏｃａｔｉｏｎヘッダを参照せず、リダイレクト先にＨＴＴＰリクエストパケットを送信しないことが考えられる。
【００４０】
さらに、セキュリティ装置２２は、サーバ２３宛てに送信されたＨＴＴＰリクエストリクエストパケットが攻撃パケットであるか否かを判定するため、ＨＴＴＰ  ＣｏｏｋｉｅやＪａｖａＳｃｒｉｐｔ（登録商標）によるＨＴＴＰ認証応答要求を行う（ステップＳ１０８）。
【００４１】
ＨＴＴＰ  ＣｏｏｋｉｅやＪａｖａＳｃｒｉｐｔによるＨＴＴＰ認証を行う場合、セキュリティ装置２２は、例えば、試験装置１０に対し、ＪａｖａＳｃｒｉｐｔで記述したプログラムによって、Ｃｏｏｋｉｅの記載内容を読み取り、読み取った結果を返す処理を実行することを要求する。そして、セキュリティ装置２２は、所定時間内に当該プログラムの実行結果が返ってきた場合、ＨＴＴＰ認証を通過させる。
【００４２】
ここで、応答部１２５は、セキュリティ装置２２に対し、ＨＴＴＰ  ＣｏｏｋｉｅやＪａｖａＳｃｒｉｐｔによるＨＴＴＰ認証に適合した応答を行う（ステップＳ１０９）。例えば、応答部１２５は、セキュリティ装置２２から送信されたデータが、ＪａｖａＳｃｒｉｐｔの実行命令であることを識別する。そして、応答部１２５は、ＪａｖａＳｃｒｉｐｔで記述されたプログラムを実行した結果得られるＣｏｏｋｉｅの記載内容をセキュリティ装置２２に通知する。なお、ＪａｖａＳｃｒｉｐｔおよびＣｏｏｋｉｅによるＨＴＴＰ認証に適合した応答を行わない攻撃ツールは、ＨＴＴＰ  ＣｏｏｋｉｅやＪａｖａＳｃｒｉｐｔによるＨＴＴＰ認証に対し何も応答しないことが考えられる。
【００４３】
これにより、試験装置１０は、ＨＴＴＰ認証を通過することができ、送信部１２７によって送信された攻撃パケットがＨＴＴＰ認証段階で廃棄されることを防止することができる。そして、試験装置１０は、ＨＴＴＰ認証より先の段階の認証を行う際のセキュリティ装置２２や、サーバ２３を対象にパケット負荷試験を行うことができる。
【００４４】
さらに、ＨＴＴＰ認証がされた場合、送信部１２７は、サーバ２３宛てにＨＴＴＰリクエストパケットを送信する（ステップＳ１１０）。セキュリティ装置２２は、サーバ２３宛てに送信されたＨＴＴＰリクエストパケットが攻撃パケットであるか否かを判定するため、チャレンジレスポンス認証応答要求を行う（ステップＳ１１１）。
【００４５】
チャレンジレスポンス認証を行う場合、セキュリティ装置２２は、例えば、試験装置１０ｂに対し、所定経路上におけるマウス移動やＣＡＰＴＣＨＡ（Completely  Automated  Public  Turing  test  to  tell  Computers  and  Humans  Apart）を要求する。そして、セキュリティ装置２２は、マウス移動やＣＡＰＴＣＨＡに適合した応答が返ってきた場合、チャレンジレスポンス認証による認証を通過させる。
【００４６】
ここで、応答部１２５は、セキュリティ装置２２に対し、チャレンジレスポンス認証に適合した応答を行う（ステップＳ１１２）。例えば、応答部１２５は、セキュリティ装置２２によってマウス移動経路が示されていることを識別する。そして、応答部１２５は、マウス移動経路として示された経路を読み取り、読み取った経路に沿ってマウスを移動させた際に発生する信号と同じ信号をセキュリティ装置２２に送信する。
【００４７】
また、応答部１２５は、セキュリティ装置２２によってＣＡＰＴＣＨＡが示されていることを識別する。そして、応答部１２５は、画像テキスト化サービスやＯＣＲ等を用いてＣＡＰＴＣＨＡをテキスト化したデータをセキュリティ装置２２に送信する。なお、チャレンジレスポンス認証に適合した応答を行わない攻撃ツールは、マウス移動やＣＡＰＴＣＨＡによるチャレンジレスポンス認証に対し何も応答しないことが考えられる。
【００４８】
これにより、試験装置１０は、チャレンジレスポンス認証を通過することができ、送信部１２７によって送信された試験パケットがチャレンジレスポンス認証段階で廃棄されることを防止することができる。試験装置１０は、試験パケットを試験対象システム２０のサーバ２３に送信し（ステップＳ１１３）、試験対象システム２０から応答パケットを受信する（ステップＳ１１４）ことで、サーバ２３を対象にパケット負荷試験を行うことができる。
【００４９】
単体の試験装置１０から送信可能な試験パケットの送信元ＩＰアドレスを増やすことにより、複数攻撃元からのサービス不能攻撃を模擬可能になるとともに、試験装置の制御部を複数用意せずに複数ＩＰアドレスからの試験パケット送信が可能になり、試験リソースを削減できる。アドレス分散部１２６は、例えば、送信する試験パケットがＴＣＰ  ＳＹＮパケットの時、管理部１２３から設定されたＩＰアドレスリストに基づいて前回のＴＣＰ  ＳＹＮパケットとは異なる送信元ＩＰアドレスを順次割り当て、当該ＴＣＰコネクションに対して同一送信元ＩＰアドレスを割り当てることで、ＴＣＰコネクションのＩＰアドレス整合性を保ちながら複数の送信元ＩＰアドレスにより試験パケットの送信が可能になる。
【００５０】
そして、試験装置１０から送信された試験パケット及び試験パケットへの試験対象システム２０からの応答パケットに対して、モニタリング部１２２は、試験パケットに対する試験対象システム２０のパケットフィルタ状況のモニタリングおよび分析を行う（ステップＳ１１５）。パケットフィルタ状況の監視として、送信元ＩＰアドレス単位の単位時間あたり試験パケット数、バイト量、セッション数及び試験対象システムからの応答パケットを監視し、他の送信元ＩＰアドレス試験パケットには応答パケットが来ているものの、試験パケットを送信しているのに応答パケットが来なくなった送信元ＩＰアドレスを把握する。当該送信元ＩＰアドレスに対して応答パケットが来なくなった直前の時刻に送信していた、応答パケットが来なくなった送信元ＩＰアドレス、試験パケット数、バイト量、セッション数、タイムスタンプを試験対象システム２０のパケットフィルタ閾値として記録して制御部１２に対して通知するような設定を行う。
【００５１】
制御部１２のアドレス分散部１２６は、モニタリング部１２２から試験対象システム２０のパケットフィルタ閾値が通知された場合、送信元ＩＰアドレス数を制御して試験対象システムのパケットフィルタ閾値に該当しないよう送信元ＩＰアドレスあたりの試験パケット送信を調整する。例えば、応答パケットが来なくなりパケットフィルタされたと判断した送信元ＩＰアドレスからの送信を一定時間停止し、まだパケットフィルタされていない新たな送信元ＩＰアドレスから試験パケットを送信するとともに、送信元ＩＰアドレス単位のパケット送信をパケットフィルタに該当しない範囲に絞って実施する。
【００５２】
これにより、試験装置１０は、図３で示す送信元パケット制限を通過することができ、送信部１２７によって送信された試験パケットが送信元パケット制限段階で廃棄されることを防止することができる。そして、試験装置１０は、サーバ２３を対象にパケット負荷試験を行うことができる。
【００５３】
サーバ２３を対象としたパケット負荷試験として、ＳＹＮ  ＦｌｏｏｄやＧＥＴ  Ｆｌｏｏｄなど単純にパケットを送信するだけでは、サービス不能攻撃に対するサーバ処理の一部しか処理負荷を計測できない。そこで、試験シナリオ部１２４は、スクリプト等を用いて記述されたシナリオに基づき、Ｗｅｂサーバ等の試験対象システム２０との間でＨＴＴＰ及びＨＴＴＰＳのセッションを構築した上で、サーバ２３に対してログイン情報などのセッション情報を維持した試験パケットを送信するため、サーバ２３から受信したＣｏｏｋｉｅに基づいた試験パケットを生成する。試験パケットとして、ＧＥＴ及びＰＯＳＴ  Ｆｌｏｏｄ以外に、サーバ２３への複数アカウント作成・削除、複数アカウントからの頻繁なログイン・ログアウト、頻繁な検索実行の攻撃試験を実施するだけでなく、維持したセッション上でＳｌｏｗ  ＲＥＡＤ等のＴＣＰヘッダを変更する攻撃試験を実施する。
【００５４】
これにより、サーバ２３に対して、ＨＴＴＰ  ＧＥＴパケット処理負荷やＨＴＴＰ  ＰＯＳＴパケット処理負荷などの単純なサーバ処理負荷を計測するだけでなく、サーバ２３のログイン情報暗号化および復号化処理負荷、検索処理負荷、およびデータベース処理負荷などの負荷試験を行うことができる。
【００５５】
一方で、モニタリング部１２２は、サーバ２３にモニタリング応答要求を行う。例えば、モニタリング部１２２は、試験装置１０による設定に従い、サーバ２３のｐｉｎｇやｔｒａｃｅｂａｃｋへの応答確認、またはＨＴＴＰ応答確認を行う。
【００５６】
そして、サーバ２３は、攻撃パケットを処理しつつ、モニタリング応答要求に対して応答する。そして、モニタリング部１２２は、モニタリング用インタフェース１１２からモニタリング結果を出力する。
【００５７】
さらに、試験装置１０は、モニタリング結果を分析し、必要に応じて試験装置１０にシナリオ変更を指示する。具体的には、試験装置１０は、受信したモニタリング結果と、攻撃パケットの種類や量である試験トラフィックとの相関を取りながらサーバ２３の応答時間や応答内容を分析する。サーバ２３の応答時間変化や応答メッセージ、応答がなくなったときの試験トラフィック内容、応答が復活したときの試験トラフィック内容等を時系列で記録・分析し、処理負荷が高い機能を把握する。
【００５８】
シナリオ変更として、例えば、管理部１２３は、セキュリティ装置２２またはサーバ２３の処理負荷の状況に応じて、送信部１２７によって送信される試験パケットの量を変化させる。具体的には、管理部１２３は、セキュリティ装置２２またはサーバ２３の処理負荷が所定以上である場合、セキュリティ装置２２またはサーバ２３に送信部１２７によって送信される試験パケットの量を増加させる。
【００５９】
そして、処理負荷が高い機能を把握するとともに、試験トラフィックのシナリオを変化させ、そのときのサーバ２３の応答時間変化や応答メッセージ、応答がなくなったときの試験トラフィック内容、応答が復活したときの試験トラフィック内容から処理負荷が高い機能の負荷が最大になる試験トラフィック条件を抽出する。
【００６０】
なお、試験装置１０は、サーバ２３以外の機器を含めた複数の試験対象機器について試験および分析を行い、試験対象機器の中から処理負荷が高い機器を把握するようにしてもよい。
【００６１】
例えば、試験装置１０がログイン攻撃パケット量を増加させていくと、サーバ２３の処理負荷が増加するとともにＨＴＴＰ応答時間が増加していく。そして、試験装置１０は、サーバ２３がサーバに接続できたもののウェブページを表示できないＨＴＴＰ  ４０４エラー応答を行うようになった時点の攻撃パケット量、およびサーバ２３が応答することができなくなった時点の攻撃パケット量を記録する。これにより、サーバ２３のログイン攻撃への耐性を把握することができる。
【００６２】
また、試験パケットの量が増加すると、セキュリティ装置２２が攻撃を検出して、当該攻撃パケットを廃棄し、サーバ２３の処理負荷の増加が止まることがある。このとき、試験装置１０は、モニタリング結果から、サーバ２３への攻撃パケットを増加させても、サーバ２３の処理負荷が増加しないことを把握する。この場合、アドレス分散部１２６の処理により異なる送信元ＩＰアドレスからパケットフィルタ閾値に該当しない範囲で試験パケットを送信して、処理負荷が増加するか試験することができる。
【００６３】
さらに、単体の試験装置１０だけでなく、複数の試験装置から、サーバ２３に対し、サービス不能攻撃パケット等をシナリオに沿って送信するようにしてもよい。これにより、大量の送信元ＩＰアドレス単位の攻撃対策やキャッシュ等の対策有効度を調査し、さらにモニタリングを行うことで、サービス不能になる限界、ボトルネック、およびそのときの試験トラフィックパターン等を把握することができる。
【００６４】
これにより、複数の試験装置からのモニタリングによるサーバ２３の応答が異なる原因が、ネットワーク装置２１、セキュリティ装置２２、もしくはサーバ２３自身による試験装置１０へのフィルタ設定によるものであるのか、またはサーバ２３の負荷によるものであるのかを判定する。
【００６５】
なお、試験装置１０は、認証を途中で中止し、セキュリティ装置２２の任意の認証段階の処理に対する負荷試験を行うようにしてもよい。例えば、試験装置１０は、セキュリティ装置２２によるＴＣＰ認証応答要求に対して適合する応答を行い、その後、セキュリティ装置２２によるＨＴＴＰ認証応答要求に対して適合する応答を行わないようにしてもよい。これにより、試験装置１０は、セキュリティ装置２２のＨＴＴＰ認証段階の処理に対する負荷試験を行うことができる。同様に、試験装置１０は、セキュリティ装置２２の各認証段階について負荷試験を行うことで、ボトルネックとなる認証段階を特定することができる。
【００６６】
［第１の実施形態の効果］
試験装置１０の試験シナリオ部１２４は、Ｗｅｂサーバ等の試験対象装置との間でＨＴＴＰ及びＨＴＴＰＳのセッションを構築した上で、試験対象装置に対してシナリオに基づいてログインや検索等を実行する試験パケットを生成する。アドレス分散部１２６は、あらかじめ設定されたＩＰアドレスのリストに基づいて送信する試験パケットの送信元ＩＰアドレスを分散させるが、同一コネクションでは同一送信元ＩＰアドレスにし、セキュリティ装置２２及びサーバ２３のパケットフィルタ状況に応じてパケットフィルタを回避するよう送信元ＩＰアドレス単位のパケット量を変化させる。送信部１２７は、試験シナリオ部１２４が生成したパケットとアドレス分散部１２６の送信元ＩＰアドレス設定に基づいて処理負荷を増加させる試験パケットを送信する。また、応答部１２５は、セキュリティ装置２２によって行われる認証に対応した応答要求を受信し、受信した応答要求を識別し、識別した応答要求に適合する応答、すなわち攻撃パケットがセキュリティ装置２２によって正当なものであると認証されるような応答を行う。また、モニタリング部１２２は、セキュリティ装置２２によって正当なものであると認証された攻撃パケットが送信されたセキュリティ装置２２の処理負荷の高い認証機能またはサーバの処理負荷の状況を監視する。
【００６７】
このように、第１の実施形態に係る試験装置１０によれば、認証に対応した応答要求に適した応答を行うことで認証を通過したうえで、送信元ＩＰアドレス単位のパケットフィルタを回避したうえ、試験対象の機器の復号化処理やデータベース等複数個所に負荷を印加し、セキュリティ耐性の試験を行うことが可能となる。また、複数の段階の認証や複数の機器を試験対象とすることで、ボトルネックを特定することが可能となる。
【００６８】
また、応答部１２５は、セキュリティ装置２２によって段階的に行われる認証のうち任意の段階までの認証に対応した応答要求を受信するたびに、受信した応答要求を識別し、識別した応答要求に適合する応答、すなわち試験パケットがセキュリティシステムによって正当なものであると認証されるような応答を行う。これにより、セキュリティ装置２２の任意の段階の試験を行うことが可能となる。
【００６９】
送信部１２７は、Ｗｅｂサーバであるサーバ２３に、試験パケットとともに、Ｗｅｂブラウザの操作により発生するパケットを送信する。これにより、実際に攻撃が行われる場合に近い状況での試験を行うことが可能となる。
【００７０】
管理部１２３は、セキュリティ装置２２またはサーバ２３の処理負荷の状況に応じて、送信部１２７によって送信される攻撃パケットの量を変化させる。試験対象機器の処理負荷に応じた動作を把握することが可能となる。
【００７１】
管理部１２３は、セキュリティ装置２２またはサーバ２３の処理負荷が所定以上である場合、セキュリティ装置２２またはサーバ２３に送信部１２７によって送信される試験パケットの内容を変化させる。これにより、試験対象機器の処理負荷の限界を把握することが可能となる。
【００７２】
［その他の実施形態］
サーバ２３がＤＮＳサーバ等のＷｅｂサーバ以外のサーバである場合や、ネットワーク装置２１やセキュリティ装置２２に対する調査を行う場合、試験装置１０は、試験対象機器がサービスしているプロトコル、アプリケーションに従ったサービス不能攻撃パケットと正常パケットを送信する。このとき、セキュリティ装置２２がＴＣＰ再送要求等のＤＮＳ認証等の要求を送信する場合があるが、試験装置１０ａは、要求に従ったパケットを送信する。これにより、追加の認証が行われる場合であっても、試験対象機器のセキュリティ耐性調査やボトルネック調査を進めることができる。
【００７３】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７４】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７５】
［プログラム］
また、上記実施形態において説明した試験装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る試験装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。以下に、プログラムを実行するコンピュータの一例を説明する。
【００７６】
図５は、プログラムを実行するコンピュータを示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００７８】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち各装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７９】
また、上述した実施の形態の処理で用いられるデータは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク、ＷＡＮを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８１】
１  ネットワーク
１０  試験装置
１１  インタフェース部
１２  制御部
１３  記憶部
２０  試験対象システム
２１  ネットワーク装置
２２  セキュリティ装置
２３  サーバ
１１１  試験パケット用インタフェース
１１２  モニタリング用インタフェース
１１３  管理用インタフェース
１２１  試験パケット送受信部
１２２  モニタリング部
１２３  管理部
１２４  試験シナリオ部
１２５  応答部
１２６  アドレス分散部
１２７  送信部
【図１】
2020129736.tif 000003
【図２】
2020129736.tif 000004
【図３】
2020129736.tif 000005
【図４】
2020129736.tif 000006
【図５】
2020129736.tif 000007