JP5183331B2 - 通信再現装置 - Google Patents
通信再現装置 Download PDFInfo
- Publication number
- JP5183331B2 JP5183331B2 JP2008182181A JP2008182181A JP5183331B2 JP 5183331 B2 JP5183331 B2 JP 5183331B2 JP 2008182181 A JP2008182181 A JP 2008182181A JP 2008182181 A JP2008182181 A JP 2008182181A JP 5183331 B2 JP5183331 B2 JP 5183331B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission message
- communication
- message
- reproduction
- value
- 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.)
- Expired - Fee Related
Links
Images
Description
このような装置を本明細書では通信再現装置と呼ぶことにする。
図10は、通信記録装置300と通信再現装置800とを用いてあるクライアント600とサーバ700との間で行われた通信を再現する様子を表している。
図10の例では、通信記録装置300がクライアント600とサーバ700との間で送受信されたメッセージを記録し、後日、通信再現装置800が通信記録装置300により記録されたメッセージを用いて、クライアント600を模擬して、サーバ700と通信を行い、クライアント600とサーバ700との間で行われた通信を再現する。
また、非特許文献1ではWebアプリケーションに対するテストの実施方法として、あらかじめ記録あるいは作成されたメッセージを送信するが、その際にテスト対象のサーバからのレスポンスに応じてメッセージの一部を修正する技術が示されている。
その場合、図11に示す通り、インターネットを介したリモートホスト(図示せず)とサーバ700との通信を通信記録装置300において常時記録しておき、ある時点で管理者がサーバ700上で何らかの攻撃の痕跡(ファイルの改ざん、破壊、サーバのクラッシュ等)を発見した場合に記録された通信を通信再現装置800を用いて一つ一つ再現することでどのような攻撃を受けたのかを調査することが可能である。
このような目的に通信再現装置800を用いる際の従来技術の課題について以下に説明する。
典型的な例としてクライアント(ブラウザ)とWebアプリケーションとの間の通信を挙げることができる。
一般的なWebアプリケーションでは、各クライアントとのセッションを識別するため、セッション開始時にサーバ側でセッションID(Identification)をランダムに割り振り、HTTP(Hypertext Transfer Protocol)レスポンス中のSet−Cookieヘッダを用いてクライアントに通知する。
セッションIDを受け取ったクライアントは以降、HTTPリクエスト中のCookieヘッダ中に渡されたセッションIDを格納してアクセスする。
なお図中のS1,S2はクライアントからサーバに送信するHTTPリクエストを示し、R1,R2はそれぞれのリクエストに対しサーバから返されるHTTPレスポンスを示している。
このような通信を再現しようとする場合、特許文献1及び2では、サーバからのレスポンスに応じて次に送信するメッセージを補正する手段が無いため、うまくセッションを維持することができない。
つまり、特許文献1及び2に示される技術によれば、通信再現装置800は、通信記録装置300が記録したメッセージの内容を実際にサーバ700から受信したレスポンスに示される記述に変更して送信メッセージを生成することができない(図12の例では、R1においてサーバ700から通知されたmy_session_idをS2に反映させることができない)。
従って、ある程度セッションが進んでから行われる攻撃(例えばS3,S4等で発生する)を再現しようとしても途中でサーバ700から通信を拒絶されてしまい、攻撃を再現することができないという課題がある。
この例ではクライアントからサーバに対して送られた2番目のメッセージ(Sold2)のCookieヘッダ中にバッファオーバフロー攻撃が含まれている。
図14を参照しながら上記通信を非特許文献1で示される技術によって通信内容を再現しようとした場合に発生する課題について説明する。
なお、Sold1及びSold2は、通信記録装置300に記録されているクライアント600から送信されたHTTPリクエストを示す。
一方、Snew1及びSnew2は、通信再現装置800がサーバ700からの受信したレスポンスに応じて内容を補正したHTTPリクエストを示す。なお、図14の例では、Sold1とSnew1とは同じ内容であり(補正なし)、Snew2においてRnew1で通知されたmy_session_idの値に補正している。
また、Rnew1は、通信再現装置800からのHTTPリスクエストSnew1に対するサーバ700からのレスポンスである。
その結果、通信再現装置800はサーバ700から応答Rnew1を受信する。
次に、通信再現装置800はSold2を送信するのであるが、その際Rnew1に含まれていたSet−Cookieヘッダの値でSold2中のCookieヘッダの値(バッファオーバフロー攻撃)を修正してしまい、結果として攻撃を含んでいないメッセージSnew2を送信してしまう。
このため、結果として攻撃が再現できなくなってしまう。
通信記録装置が、第1の通信装置から第2の通信装置へ送信された送信メッセージと、送信メッセージに対する応答として前記第2の通信装置から前記第1の通信装置へ送信された応答メッセージとを通信順序に従って送信メッセージ記録データ及び応答メッセージ記録データとして記録した後に、前記通信記録装置により記録された複数の送信メッセージ記録データと複数の応答メッセージ記録データとに基づき、前記第1の通信装置と前記第2の通信装置との間の通信を再現する通信再現装置であって、
前記複数の送信メッセージ記録データを送信順に用いて、前記第2の通信装置への送信メッセージである再現送信メッセージを生成する送信メッセージ生成部と、
前記送信メッセージ生成部により生成された再現送信メッセージを前記第2の通信装置に対して送信するメッセージ送信部と、
前記メッセージ送信部により送信された再現送信メッセージに対する応答メッセージを再現応答メッセージとして前記第2の通信装置から受信するメッセージ受信部とを有し、
前記送信メッセージ生成部は、
前記メッセージ受信部により再現応答メッセージが受信される度に、次の再現送信メッセージの生成に用いる送信メッセージ記録データを選択し、選択した選択送信メッセージ記録データに示される特定のパラメータの値と、前記選択送信メッセージ記録データに記録されている送信メッセージに先行する応答メッセージの記録データである先行応答メッセージ記録データから導出される値とが一致するか否かを判定し、両者が一致する場合に、前記選択送信メッセージ記録データの前記特定のパラメータの値を再現応答メッセージを用いて変更し、変更後の値を反映させて前記選択送信メッセージ記録データを用いて再現送信メッセージを生成し、両者が異なる場合に、前記特定のパラメータの値を変更することなく前記選択送信メッセージ記録データを用いて再現送信メッセージを生成することを特徴とする。
本実施の形態では、通信再現時に送信メッセージを補正する際に、サーバから返されたレスポンスだけでなく、通信記録装置中に蓄えられた過去のレスポンスメッセージも参照して補正を行うことで、セッションを維持できるよう適宜送信メッセージを補正すると共に、補正箇所に攻撃が含まれていた場合には、その箇所に関する補正を行わないようにした通信再現装置について説明する。
図1は、本実施の形態に係る通信再現装置100の構成例を示す。
本実施の形態においても、通信再現装置100は、不図示の通信記録装置において記録されたメッセージを用いて通信を再現する。
つまり、通信記録装置が、第1の通信装置(例えば、クライアント)から第2の通信装置(例えば、サーバ、ホスト)へ送信された送信メッセージと、送信メッセージに対する応答として第2の通信装置から第1の通信装置へ送信された応答メッセージとを通信順序に従って送信メッセージ記録データ(以下、過去の送信メッセージともいう)及び応答メッセージ記録データ(以下、過去の応答メッセージ又は過去のレスポンスメッセージ、過去のレスポンスともいう)として記録した後に、通信記録装置により記録された複数の送信メッセージ記録データと複数の応答メッセージ記録データとに基づき、通信再現装置100が第1の通信装置を模擬して第2の通信装置と通信を行って、第1の通信装置と第2の通信装置との間の通信を再現する。
なお、通信対象ホスト200は、第2の通信装置の例である。
メッセージ送信部104は、送信メッセージ生成部102により生成された再現送信メッセージを通信対象ホスト200に対して送信する。
メッセージ受信部103は、メッセージ送信部104により送信された再現送信メッセージに対する応答メッセージを再現応答メッセージとして通信対象ホスト200から受信し、送信メッセージ生成部102へとフィードバックする。
より具体的には、送信メッセージ生成部102は、メッセージ受信部103が通信対象ホスト200から新たにレスポンス(再現応答メッセージ)を受信する度に、次の再現送信メッセージの生成に用いる過去の送信メッセージを選択し、選択した過去の送信メッセージ(選択送信メッセージ記録データ)に含まれる特定のパラメータ(例えば、セッションごとに値が変化するパラメータ、セッションの進行に従って値が変更するパラメータ)の値と、選択した過去の送信メッセージの一つ前の送信メッセージに対する過去のレスポンス(先行応答メッセージ記録データ)から導出される値とが一致するか否かを判定する。
当該過去のレスンポンス(先行応答メッセージ記録データ)から導出される値は、例えば、選択した過去の送信メッセージ(選択送信メッセージ記録データ)に含まれる特定のパラメータと同種のパラメータの値(過去のレスポンスに含まれるパラメータの値)である。また、過去のレスポンスに含まれるパラメータの値に対して所定の計算(例えば所定値の加算、減算等)を行うことにより得られる値であってもよい。
そして、送信メッセージ生成部102は、両者が一致する場合に、選択した過去の送信メッセージ(選択送信メッセージ記録データ)の当該特定のパラメータの値を通信対象ホスト200から新たに受信したレスポンス(再現応答メッセージ)を用いて変更し、変更後の値を反映させて再現送信メッセージを生成する。
他方、両者が異なる場合は、送信メッセージ生成部102は、当該特定のパラメータの値を変更することなく、選択した過去の送信メッセージ(選択送信メッセージ記録データ)を用いて再現送信メッセージを生成する。
なお、送信メッセージ生成部102の動作の詳細は、後述する。
送信メッセージ生成部102は、過去受信メッセージロード機能部1021、過去送信メッセージロード機能部1022、状態情報更新機能部1023、補正箇所抽出機能部1024、補正箇所比較機能部1025、送信メッセージ補正機能部1026で構成されている。
また、送信メッセージ生成部102内部では状態情報M_old1027とM_new1028が管理されている。
過去受信メッセージロード機能部1021は、再現送信メッセージを補正する際に、再現対象通信記録部101から必要な過去の応答メッセージを取り出す。
補正箇所抽出機能部1024は、通信状態情報(以下、単に状態情報ともいう)と、取り出された過去の送信メッセージを入力として受け取り、再現送信メッセージに必要な補正に関する情報(補正情報リスト)を出力する。
補正箇所比較機能部1025は、二つの補正情報リストを入力として受け取り、両者の差分のみで構成される補正情報リストを抽出する。
送信メッセージ補正機能部1026は、再現送信メッセージと補正情報リストを入力として受け取り、補正済みの再現送信メッセージを出力する。
状態情報とは、一般に通信対象ホスト200からのレスポンスメッセージで指定され、次にメッセージを送信する際にはその値を反映させなければならない情報を指す。
例えばWebアプリケーションとのHTTP通信においては、図2にあるように、Set−Cookieヘッダによって与えられたCookieの値、type=“hidden”で指定されたinputエレメント中のname及びvalueアトリビュートの値、aエレメントのhrefアトリビュート等で指定されるURLに含まれる各パラメータの値等がMに含まれる。
これらはセッションが進行していくに従い適宜変更されていく。
本実施の形態で示したような形式以外で状態情報を表現することももちろん可能である。
本実施の形態では状態情報としてM_oldとM_newを持つ。
M_oldは過去の通信記録上での状態情報を表し、M_newは再現中の通信における状態情報を表す。
状態情報更新機能部1023はレスポンスメッセージと状態情報を入力として受け取り、状態情報の内容を更新する機能を持つ。
本実施の形態の動作を説明する上で幾つかの変数を定義する。
再現対象通信記録部101に保存されている通信メッセージのうち、過去に送信されたメッセージ(送信メッセージ記録データ)を時系列順にS_old1,S_old2,…S_oldN(1≦N)とする。
各S_oldnに対応し、過去にサーバから返されたレスポンスメッセージとして再現対象通信記録部101に蓄えられているメッセージをR_oldnとする。
また、S_oldnを補正して得られるメッセージをS_newnと呼び、S_newnを通信対象ホスト200に送信した結果、通信対象ホスト200から返されるレスポンスメッセージをR_newnと呼ぶことにする。
過去の通信記録において、R_oldnを受信した時点での状態情報M_oldをM_oldn、同様に再現中の通信セッションにおいてR_newnを受信した時点での状態情報M_newをM_newnと呼ぶことにする。なお、初期状態においてはM_old、M_newはどちらも空である。
ユーザからの通信再現の指示を受けると装置は動作を開始する。S_newnを送信するにあたり、通信再現装置100は再現対象通信記録部101よりS_oldnを取り出し送信メッセージ生成部102を用いてS_newnを生成し、S_newnをメッセージ送信部104により通信対象ホスト200へと送信する。
なお、このとき、送信メッセージ生成部102内ではS_oldnを状態情報M_oldn−1、M_newn−1を用いてS_newnに補正している。
そして、図3に示すように、通信対象ホスト200からレスポンスメッセージR_newnをメッセージ受信部103を用いて受信する(S1)と、送信メッセージ生成部102は受信したR_newnから対象となるパラメータ(例えば、セッションID)を抽出し(S2)、抽出したパラメータの値(最新の値)が状態情報M_newに反映され(最新のパラメータ値を状態情報M_newに格納する)(S3)、M_newの添え字がカウントアップされ、M_newn−1からM_newnに更新される。
同時に再現対象通信記録部101からR_oldnが取り出され、R_oldnから対象となるパラメータ(例えば、セッションID)が抽出され、抽出したパラメータの値が状態情報M_oldに反映され(取得したパラメータ値を状態情報M_oldに格納する)、M_oldの添え字がカウントアップされ、状態情報M_oldn−1が更新されてM_oldnになる。
以上の処理をnがNに達するまで繰り返すことで通信の再現が実行される。
図4は過去の送信メッセージS_oldnを補正してS_newnを得るために、送信メッセージ生成部102内で行われる処理のフローを表す図である。
送信しようとするメッセージをS_oldnとしたとき、もしn=1であったならば、補正は行わずS_oldnをそのままS_newnとし、処理を終了する(S001,S006)。
n≠1の場合、S_oldnとM_oldn−1を入力として補正箇所抽出機能部1024を呼び出し、その結果得られる補正情報リストをT_oldnとする(S002)。
同様にS003ではS_oldnとM_newn−1を入力として補正箇所抽出機能部1024を呼び出し、その結果得られる補正情報リストをT_newnとする。
次にT_oldn、T_newnを引数として補正箇所比較機能部1025を呼び出し、その戻り値をTとする(S004)。
最後にS005で得られた補正情報Tに従ってS_oldnに対して補正を行い、S_newnとすることで処理は完了する。
補正箇所抽出機能部1024は、送信しようとしているメッセージSと状態情報Mを入力とし、補正情報リストを返す関数である。
HTTPの場合において補正箇所抽出機能部1024により出力される補正情報リストの例を図5〜図7に挙げた。
補正箇所抽出機能部1024は、特定のパラメータ値(my_session_idとmy_value)について過去の送信メッセージ(S_oldn)の内容と通信状態情報(M_newn−1)の内容を比較し、戻り値として、補正情報リスト(T_new)を出力する。図5の例では、過去のメッセージ(S_oldn)と通信状態情報(M_newn−1)において特定のパラメータ値(my_session_idとmy_value)が異なっているので、通信状態情報(M_newn−1)の値が示される補正情報リスト(T_new)が生成される。
補正箇所抽出機能部1024は、特定のパラメータ値(my_session_idとmy_value)について過去の送信メッセージ(S_oldn)の内容と通信状態情報(M_oldn−1)の内容を比較し、戻り値として、補正情報リスト(T_old)を出力する。図6の例では、過去のメッセージ(S_oldn)と通信状態情報(M_oldn−1)において特定のパラメータ値(my_session_idとmy_value)が一致しているので、空欄の補正情報リスト(T_new)が生成される。
図7の例では、過去のメッセージ(S_oldn)と通信状態情報(M_oldn−1)において特定のパラメータ値(my_session_idとmy_value)が異なっているので、通信状態情報(M_oldn−1)の値が示される補正情報リスト(T_old)が生成される。
ステップ2では結果を格納する補正情報リストTを空リストに初期化する。次にT_newの要素(タプル)を一つずつ取り出し(取り出された要素をtとする)、ステップ4〜6を実行する。
ステップ4ではタプルtの補正箇所情報を参照し、同じ補正箇所情報を含んだタプルがT_old内に存在しないか確認する。
もし存在しないのであれば、ステップ5に進みTにtを追加する。
以上の処理をT_newの全ての要素に対して実行後、Tを結果として返す。
補正箇所比較機能部1025は、T_newに存在するcookie:my_session_idが、T_oldに存在するか否かを判断する。図6では、T_oldは空欄なので、T_newのcookie:my_session_idの値が補正情報リストTに格納される。また、補正箇所比較機能部1025は、post:my_valueについても同様にしてT_newとT_oldを比較し、T_oldは空欄なので、T_newのpost:my_valueの値が補正情報リストTに格納される。
この結果、通信再現装置100から送信される再現送信メッセージは、過去の送信メッセージ(S_oldn)に対してcookie:my_session_idの値とpost:my_valueの値が通信対象ホスト200から受信したレスポンスR_newn−1に含まれていた値に変更されたS_newnとなる。
補正箇所比較機能部1025は、T_newに存在するcookie:my_session_idが、T_oldに存在するか否かを判断する。図7では、T_oldにはcookie:my_session_idが存在するので、T_newのcookie:my_session_idの値は補正情報リストTに格納されない。一方、post:my_valueについては、T_oldは空欄なので、T_newのpost:my_valueの値が補正情報リストTに格納される。
この結果、通信再現装置100から送信される再現送信メッセージは、post:my_valueの値は通信対象ホスト200から受信したレスポンスR_newn−1に含まれていた値に変更されるが、cookie:my_session_idの値は過去の送信メッセージ(S_oldn)のまま変更されない。
S_oldnとR_oldn−1との間でパラメータの値が一致していない場合は、過去の通信において、クライアントがサーバから通知されたパラメータ値を変更して別の値を設定していることを意味しているので、攻撃コマンドがリクエストに含まれている可能性がある。このため、攻撃を再現するために、通信再現装置100は過去の送信メッセージに含まれているパラメータ値を用いて(過去の送信メッセージを補正せずに)リクエストを送信する。
S_oldnとR_oldn−1との間でパラメータの値が一致している場合は、過去の通信において、クライアントがサーバから通知されたパラメータ値をそのまま設定してリクエストを送信していることを意味するので、通信の再現時にも、再現時のレスポンスに示されているパラメータ値を用いて(過去の送信メッセージを補正して)通信再現装置100からリクエストを送信する。
また、本実施の形態では、過去の状態情報と送信するメッセージとを比較して得られる補正箇所情報リストと、現在の状態情報と送信するメッセージとを比較して得られる補正箇所情報リストを比較して補正を行う箇所を決定することを説明した。
また、本実施の形態では、補正箇所情報リストの表現として、補正箇所と補正値のタプルのリストを用いることを説明した。
図9は、実施の形態2に係る通信再現装置100及び通信記録装置300を示したものである。
本実施の形態では、通信記録装置300は、リクエスト記録機能部301、レスポンス記録機能部302、補正箇所抽出機能部303、状態情報更新機能部304を備え、状態情報M_old1027を管理する。
リクエスト記録機能部301及びレスポンス記録機能部302は、第1の通信装置(例えばクライアント)と第2の通信装置(例えば、サーバ、ホスト)との間で送受信されたリクエストとレスポンスを通信順序に従って記録する。
補正箇所抽出機能部303、状態情報更新機能部304は、実施の形態1で説明した補正箇所抽出機能部1024、状態情報更新機能部1023と同様である。
また、状態情報M_old1027は、実施の形態1では通信再現装置100が管理していたが、本実施の形態では、通信記録装置300が管理している。
具体的には、情報受信部105及び再現対象補正情報リスト記録部106が追加されている。
さらに、送信メッセージ生成部102内で過去受信メッセージロード機能部1021、状態情報M_old1027が失われ、代わりに過去補正情報リストロード機能部1029が新たに加えられている。
情報受信部105は、通信記録装置300からデータを受信する。
具体的には、再現対象通信記録データ400及び再現対象補正情報リスト記録データ500を受信する。
再現対象通信記録データ400は、リクエスト記録機能部301及びレスポンス記録機能部302で記録されたリクエスト及びレスポンスの記録データであり、情報受信部105による受信後に再現対象通信記録部101に格納される。
再現対象補正情報リスト記録データ500は、実施の形態1で説明した補正情報リストT_oldn(1≦n≦N)が示される。つまり、再現対象補正情報リスト記録データ500は、過去の送信メッセージ(送信メッセージ記録データ)の各々に対して、その送信メッセージに示されるパラメータ値と、一つ前の送信メッセージに対するレスポンスにおけるパラメータ値とが一致するか否かを通知する通知情報である。
また、再現対象補正情報リスト記録データ500は、情報受信部105による受信後に再現対象補正情報リスト記録部106に格納される。
本実施の形態における通信記録装置300は、従来と同様に通信を記録し、通信再現装置100で利用可能な再現対象通信記録データ400として出力する。
さらに、通信記録装置300内部では、観測したレスポンスメッセージをもとに観測中の通信セッションの状態情報M_oldを状態情報更新機能部304を用いて更新し、その状態情報と、その後に観測したリクエストメッセージ(リモートから通信対象ホストへのメッセージ)とを入力として補正箇所抽出機能部303を呼び出し、抽出結果を再現対象補正情報リスト記録データ500として出力する。
ここで、再現対象補正情報リスト記録データ500について補足すると、再現対象補正情報リスト記録データ500は実施の形態1における補正情報リストT_oldn(1≦n≦N)が格納されたものである。
個々の補正情報リストT_oldnは、再現対象通信記録データ400上に格納されている送信メッセージS_oldnと対応がつくように格納されていなければならないが、これは例えばインデックス等を設けるなどすれば容易に実現可能である。
送信メッセージ生成部102は過去送信メッセージロード機能部1022を用いて再現対象通信記録部101から送信すべき再現送信メッセージに利用する過去の送信メッセージS_oldnを取り出すとともに、過去補正情報リストロード機能部1029を用いて再現対象補正情報リスト記録部106からS_oldnに対応する補正情報リストT_oldnを取り出す。
その後メッセージ送信までの処理は実施の形態1と同様である。
つまり、S_oldnとM_newn−1を入力として補正箇所抽出機能部1024を呼び出してT_newnを得、T_oldnとT_newnとを入力として補正箇所比較機能部1025を呼び出して両者の差分で構成される補正情報リストTを得、S_oldnとTを入力して送信メッセージ補正機能部1026を呼び出してS_newnを得、メッセージ送信部104を用いてS_newnが再現送信メッセージとして送信される。
実施の形態1と異なり、通信再現装置100では、過去の状態情報M_oldの更新に関する処理は行われない。
図15は、実施の形態1、2に示す通信再現装置100のハードウェア資源の一例を示す図である。
なお、図15の構成は、あくまでも通信再現装置100のハードウェア構成の一例を示すものであり、通信再現装置100のハードウェア構成は図15に記載の構成に限らず、他の構成であってもよい。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
通信再現装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1、2で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Claims (7)
- 通信記録装置が、第1の通信装置から第2の通信装置へ送信された送信メッセージと、送信メッセージに対する応答として前記第2の通信装置から前記第1の通信装置へ送信された応答メッセージとを通信順序に従って送信メッセージ記録データ及び応答メッセージ記録データとして記録した後に、前記通信記録装置により記録された複数の送信メッセージ記録データと複数の応答メッセージ記録データとに基づき、前記第1の通信装置と前記第2の通信装置との間の通信を再現する通信再現装置であって、
前記複数の送信メッセージ記録データを送信順に用いて、前記第2の通信装置への送信メッセージである再現送信メッセージを生成する送信メッセージ生成部と、
前記送信メッセージ生成部により生成された再現送信メッセージを前記第2の通信装置に対して送信するメッセージ送信部と、
前記メッセージ送信部により送信された再現送信メッセージに対する応答メッセージを再現応答メッセージとして前記第2の通信装置から受信するメッセージ受信部とを有し、
前記送信メッセージ生成部は、
前記メッセージ受信部により再現応答メッセージが受信される度に、次の再現送信メッセージの生成に用いる送信メッセージ記録データを選択し、選択した選択送信メッセージ記録データに示される特定のパラメータの値と、前記選択送信メッセージ記録データに記録されている送信メッセージに先行する応答メッセージの記録データである先行応答メッセージ記録データから導出される値とが一致するか否かを判定し、両者が一致する場合に、前記選択送信メッセージ記録データの前記特定のパラメータの値を再現応答メッセージを用いて変更し、変更後の値を反映させて前記選択送信メッセージ記録データを用いて再現送信メッセージを生成し、両者が異なる場合に、前記特定のパラメータの値を変更することなく前記選択送信メッセージ記録データを用いて再現送信メッセージを生成することを特徴とする通信再現装置。 - 前記送信メッセージ生成部は、
前記選択送信メッセージ記録データに示される特定のパラメータの値と、前記選択送信メッセージ記録データに記録されている送信メッセージの一つ前の送信メッセージに対する応答メッセージの記録データである先行応答メッセージ記録データから導出される値とが一致するか否かを判定することを特徴とする請求項1に記載の通信再現装置。 - 前記送信メッセージ生成部は、
前記選択送信メッセージ記録データに示される特定のパラメータの値と、前記選択送信メッセージ記録データに記録されている送信メッセージの一つ前の送信メッセージに対する応答メッセージの記録データである先行応答メッセージ記録データに示される前記特定のパラメータの値とが一致するか否かを判定することを特徴とする請求項1又は2に記載の通信再現装置。 - 前記送信メッセージ生成部は、
前記選択送信メッセージ記録データの前記特定のパラメータの値を、前記メッセージ受信部により受信された最新の再現応答メッセージに示される前記特定のパラメータの値に変更することを特徴とする請求項1〜3のいずれかに記載の通信再現装置。 - 前記送信メッセージ生成部は、
前記第2の通信装置との間に確立するセッションごとに値が変化するパラメータ及び前記第2の通信装置との間に確立したセッションが進行するに従って値が変化するパラメータの少なくともいずれかについて、前記選択送信メッセージ記録データと前記先行応答メッセージ記録データとの間で値が一致するか否かを判定することを特徴とする請求項1〜4のいずれかに記載の通信再現装置。 - 前記送信メッセージ生成部は、
送信メッセージ記録データごとに、送信メッセージ記録データに記録されている送信メッセージの一つ前の送信メッセージに対する応答メッセージの記録データに示される前記特定のパラメータの値を示す通信状態情報を生成し、
いずれかの送信メッセージ記録データを前記選択送信メッセージ記録データとして選択した際に、選択した送信メッセージ記録データに示される前記特定のパラメータの値と、選択した送信メッセージ記録データの通信状態情報に示される値とが一致するか否かを判定することを特徴とする請求項1〜5のいずれかに記載の通信再現装置。 - 前記通信再現装置は、更に、
送信メッセージ記録データごとに、送信メッセージ記録データに示される前記特定のパラメータの値と、送信メッセージ記録データに記録されている送信メッセージの一つ前の送信メッセージに対する応答メッセージの記録データに示される前記特定のパラメータの値とが一致するか否かを通知する通知情報を前記通信記録装置から受信する情報受信部を有し、
前記送信メッセージ送信部は、
いずれかの送信メッセージ記録データを前記選択送信メッセージ記録データとして選択した際に、選択した送信メッセージ記録データの通知情報に基づき、前記特定のパラメータの値についての一致判定を行うことを特徴とする請求項1〜5のいずれかに記載の通信再現装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008182181A JP5183331B2 (ja) | 2008-07-14 | 2008-07-14 | 通信再現装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008182181A JP5183331B2 (ja) | 2008-07-14 | 2008-07-14 | 通信再現装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010020654A JP2010020654A (ja) | 2010-01-28 |
JP5183331B2 true JP5183331B2 (ja) | 2013-04-17 |
Family
ID=41705458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008182181A Expired - Fee Related JP5183331B2 (ja) | 2008-07-14 | 2008-07-14 | 通信再現装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5183331B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05191476A (ja) * | 1992-01-09 | 1993-07-30 | Nec Corp | プロトコルアナライザ |
JP3212959B2 (ja) * | 1998-12-28 | 2001-09-25 | 日本電気通信システム株式会社 | メッセージ/シーケンス編集機能を有する自動通信プロトコル試験システムおよび試験方法 |
JP4488666B2 (ja) * | 2002-02-15 | 2010-06-23 | 株式会社東芝 | 医用システムの再現試験サービス装置 |
JP4170243B2 (ja) * | 2004-03-05 | 2008-10-22 | 三菱電機株式会社 | ウェブアプリケーション検査装置 |
JPWO2007010593A1 (ja) * | 2005-07-15 | 2009-01-29 | 富士通株式会社 | Tcpセッションエミュレーション装置 |
US20070106692A1 (en) * | 2005-11-10 | 2007-05-10 | International Business Machines Corporation | System and method for recording and replaying a session with a web server without recreating the actual session |
-
2008
- 2008-07-14 JP JP2008182181A patent/JP5183331B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010020654A (ja) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9398047B2 (en) | Methods and systems for phishing detection | |
US9459888B2 (en) | Implementing browser based hypertext transfer protocol session storage | |
JP5010747B2 (ja) | インターネットを介した定義済みパスを再生するシステムおよび方法 | |
US20090132713A1 (en) | Single-roundtrip exchange for cross-domain data access | |
US10079907B2 (en) | Cached data detection | |
US20220188402A1 (en) | Real-Time Detection and Blocking of Counterfeit Websites | |
US8140643B2 (en) | Managing user personal information across web sites | |
CN107168963A (zh) | 客户端的页面加载和页面的缓存方法、系统和客户端 | |
US11637863B2 (en) | Detection of user interface imitation | |
CN107911381A (zh) | 应用程序编程接口的访问方法、系统、服务端及客户端 | |
US20150304156A1 (en) | Method and apparatus for generating resource address, and system thereof | |
US20090172018A1 (en) | Electronic document management method | |
JP5709448B2 (ja) | アクセス解析装置及びアクセス解析方法及びアクセス解析プログラム | |
JP5183331B2 (ja) | 通信再現装置 | |
CN110866196A (zh) | 一种打印机网络信息采集方法、装置及电子设备 | |
JP5640752B2 (ja) | 攻撃模倣テスト方法、攻撃模倣テスト装置及び攻撃模倣テストプログラム | |
US20210264112A1 (en) | Bot dialog manager | |
US20050144479A1 (en) | Method, medium, and apparatus for processing cookies | |
Algwil | Click-based Captcha paradigm as a web service | |
US8127026B2 (en) | User operation acting device, user operation acting program, and computer readable recording medium | |
CN110177096A (zh) | 客户端认证方法、装置、介质和计算设备 | |
US8667563B1 (en) | Systems and methods for displaying personalized content | |
CN115632885B (zh) | 蜜罐制作方法、装置、电子设备及可读存储介质 | |
WO2023230797A1 (zh) | 一种跨系统测试方法及装置 | |
EP3684026B1 (en) | Method and apparatus for sending form request |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121205 |
|
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: 20121218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130115 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |