(57)【特許請求の範囲】
【請求項１】
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却する処理実行部と、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測部と、
を有し、
前記処理失敗回数計測部は、前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
前記処理要求ごとに予め定められた遅延閾値を記憶しており、
前記処理実行部は、受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却し、
前記処理実行部は、前記受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求ごとに予め設定されている前記処理要求がエラーとなる可能性に応じた前記遅延閾値を超える場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記処理実行部は、エラーとなる可能性が高いと予め設定されている前記処理要求に応じた前記遅延閾値として、エラーとなる可能性が低いと予め設定されている前記処理要求に応じた前記遅延閾値よりも大きな値を持つ前記遅延閾値を用いる
通信装置。
【請求項３】
請求項１又は２に記載の通信装置であって、
処理の結果を返却する際に遅延させる時間である遅延時間は前記処理要求ごとに定められており、
前記処理実行部は、前記処理要求に応じた前記遅延時間の分、処理の結果を遅延させて返却する
通信装置。
【請求項４】
請求項１乃至３のいずれかに記載の通信装置であって、
前記接続元情報には複数の接続元判断情報が含まれており、
前記処理失敗回数計測部は、前記接続元情報に含まれる前記接続元判断情報ごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記処理実行部は、前記接続元情報に含まれる前記接続元判断情報のうちの少なくとも１つに対応する前記処理が失敗した回数が前記遅延閾値を超えている場合に、前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【請求項５】
請求項１乃至４のいずれかに記載の通信装置であって、
前記接続元情報には、前記ユーザのＩＰアドレス、認証アカウント名、送信元メールアドレス、が含まれており、
前記処理失敗回数計測部は、前記接続元情報に含まれる前記ＩＰアドレス、前記認証アカウント名、前記送信元メールアドレス、のそれぞれごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記処理実行部は、前記接続元情報に含まれる前記ＩＰアドレス、前記認証アカウント名、前記送信元メールアドレス、のうちの少なくとも１つに対応する前記処理が失敗した回数が前記遅延閾値を超えている場合に、前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【請求項６】
請求項１乃至５のいずれかに記載の通信装置であって、
前記処理実行部は、前記失敗回数計測部が計測した失敗の回数が前記処理要求に応じた前記遅延閾値を超える場合に、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の成功、失敗にかかわらず当該処理の結果を所定時間分遅延させて返却する
通信装置。
【請求項７】
請求項１乃至６のいずれかに記載の通信装置であって、
前記処理実行部は、処理の結果を所定時間分遅延させて返却する対象となる前記接続元情報を遅延対象情報として記憶装置に格納するよう構成され、
前記記憶装置が記憶する前記遅延対象情報を、当該遅延対象情報を格納後、所定時間経過することで削除する
通信装置。
【請求項８】
処理要求ごとに予め定められた遅延閾値を記憶する記憶装置を有する通信装置にて実行される通信方法であって、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却し、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却し、
前記受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求ごとに予め設定されている前記処理要求がエラーとなる可能性に応じた前記遅延閾値を超える場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信処理方法。
【請求項９】
処理要求ごとに予め定められた遅延閾値を記憶する記憶装置を有する通信装置に、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却する処理実行手段と、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測手段と、
を実現させ、
前記処理失敗回数計測手段は、前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
前記処理実行手段は、受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却し、
前記処理実行手段は、前記受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求ごとに予め設定されている前記処理要求がエラーとなる可能性に応じた前記遅延閾値を超える場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信処理方法、プログラムに関し、特に、サイバー攻撃防止機能付きの通信装置、通信処理方法、プログラムに関する。
【背景技術】
【０００２】
ネットワーク上のシステムに対しては、例えば、認証リクエストの連続多数発行によりユーザのパスワードを盗み出すパスワードリスト攻撃などの攻撃が行われることが知られている。
【０００３】
パスワードの漏洩を防衛するための技術としては、例えば、特許文献１が知られている。特許文献１には、計数手段と、権限停止手段と、権限復帰手段と、を有する通信装置が記載されている。特許文献１によると、計数手段は、アクセスを受けた際に利用者の特定が失敗した回数を要求元情報ごとに計数する。そして、権限停止手段は、計数手段が計数した回数が所定の条件を満たした場合に、受信した要求を廃棄する。
【０００４】
また、同様にパスワードの漏洩を防衛するための技術として、例えば、特許文献２が知られている。特許文献２には、認証手段と、アクセス制御手段と、を有する認証装置が記載されている。特許文献２によると、認証手段は、受信した認証情報が記憶装置に記憶されているか否かを判断する。そして、認証情報が記憶装置に記憶されていないと判断した場合、アクセス制御手段は、ある時間が経過するまで待機した後に、通信装置からのアクセスを許可しないことを表す応答情報を送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０７９３５９号公報
【特許文献２】特開２００５−３１００６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、例えばメールサーバなどの場合、上記のように認証処理を行うとともに、メールアドレスの有効性を確認するような処理を行うことになる。このように、装置が複数の処理を行う場合がある。
【０００７】
また、上記のように１つの装置が複数の処理を行う場合、処理の内容や特性に応じてエラーが生じる可能性が異なる場合があるものと考えられる。例えば、上記のようなメールサーバの場合、メールクライアントに記憶されている認証情報を用いてリクエストを行う場合が多い認証処理よりも、利用の都度入力する可能性のあるメールアドレスの入力処理の方が、間違った入力が行われる可能性が高いものと考えられる。このような場合に、認証処理とメールアドレスの有効性の確認処理との間で一律な制御を行うと、一方の処理に対するセキュリティが優先され、他方のセキュリティが弱くなる（又は、一方に過剰な要求が行われる）可能性があるものと考えられる。
【０００８】
一方、引用文献１、２に記載されている技術はパスワードの漏洩を防ぐための技術であり、上記のような複数の処理を行う場合は考慮されていない。そのため、引用文献１、２の技術では、処理の内容に応じた制御を行うことは難しく、処理の内容や特性（例えば、失敗のしやすさなど）に応じた的確な防御を行うことが難しい、という問題が生じていた。
【０００９】
このように、システムに対して送信された要求に応じた的確な防御を実行することが難しい、という問題が生じていた。
【００１０】
そこで、本発明の目的は、システムに対して送信された要求に応じた的確な防御を実行することが難しい、という問題を解決する通信装置を提供することにある。
【課題を解決するための手段】
【００１１】
かかる目的を達成するため本発明の一形態である通信装置は、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却する処理実行部と、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測部と、
を有し、
前記処理失敗回数計測部は、前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
前記処理要求ごとに予め定められた遅延閾値を記憶しており、
前記処理実行部は、受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
という構成を採る。
【００１２】
また、本発明の他の形態である通信処理方法は、
処理要求ごとに予め定められた遅延閾値を記憶する記憶装置を有する通信装置にて実行される通信方法であって、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却し、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
という構成を採る。
【００１３】
また、本発明の他の形態であるプログラムは、
処理要求ごとに予め定められた遅延閾値を記憶する記憶装置を有する通信装置に、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却する処理実行手段と、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測手段と、
を実現させ、
前記処理失敗回数計測手段は、前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
前記処理実行手段は、受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
プログラムである。
【発明の効果】
【００１４】
本発明は、以上のように構成されることにより、システムに対して送信された要求に応じた的確な防御を実行することが難しい、という問題を解決する通信装置を提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係るメール中継装置の構成の一例を示すブロック図である。
【図２】図１で示すユーザ情報ＤＢに格納される情報の一例を示す図である。
【図３】図１で示す閾値設定管理ＤＢに格納される情報の一例を示す図である。
【図４】図１で示す遅延時間設定管理ＤＢに格納される情報の一例を示す図である。
【図５】図１で示すリクエスト処理部の構成の一例を示す図である。
【図６】図５で示す処理実行部が実行する処理の一例を示すシーケンス図である。
【図７】図５で示す処理実行部が実行する処理の一例を示すシーケンス図である。
【図８】図５で示す処理失敗回数計測部が行うエラー発生回数の計測の様子の一例を示す図である。
【図９】図１で示すエラーレスポンスカウンタ格納部に格納される情報の一例を示す図である。
【図１０】図１で示すアクセス制限対象リストに格納される情報の一例を示す図である。
【図１１】本発明の第１の実施形態に係るメール中継装置の動作の一例を示すフローチャートである。
【図１２】処理失敗回数計測部がエラー発生回数を計測する際の動作の一例を示すフローチャートである。
【図１３】アクセス制限対象リストの更新を行う際のアクセス制限対象リスト更新部の動作の一例を示すフローチャートである。
【図１４】攻撃判定部が攻撃者を判定する際の動作の一例を示すフローチャートである。
【図１５】本発明の第２の実施形態における通信装置の構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１６】
［第１の実施形態］
図１は、メール中継装置１の構成の一例を示す図である。図２は、ユーザ情報ＤＢ１４に格納される情報の一例を示す図である。図３は、閾値設定管理ＤＢ１５に格納される情報の一例を示す図である。図４は、遅延時間設定管理ＤＢ１６に格納される情報の一例を示す図である。図５は、リクエスト処理部１２の構成の一例を示す図である。図６、７は、処理実行部１２１が実行する処理の一例を示すシーケンス図である。図８は、処理失敗回数計測部１２２が行うエラー発生回数の計測の様子の一例を示す図である。図９は、エラーレスポンスカウンタ格納部１７に格納される情報の一例を示す図である。図１０は、アクセス制限対象リスト１８に格納される情報の一例を示す図である。図１１乃至図１４は、メール中継装置１の動作の一例を示すフローチャートである。
【００１７】
本発明の第１の実施形態では、クライアント装置や外部メールサーバなどの外部メールシステムから受信したリクエストに応じた処理を行うとともに、当該処理の結果を外部メールシステムに返却するサイバー攻撃防止機能付きのメール中継装置１（通信装置）について説明する。後述するように、本実施形態におけるメール中継装置１は、リクエストごとに、また、リクエストの接続元の情報である接続元情報ごとに、エラーが発生した回数を計測する。具体的には、接続元情報には、接続元ＩＰアドレス、認証アカウント名、送信元メールアドレスの少なくとも３つの接続元判断情報が含まれており、メール中継装置１は、接続元判断情報ごとにエラーが発生した回数を計測する。また、メール中継装置１は、リクエストごとにエラーが発生した回数を計測する。そして、受信したリクエストに応じた接続元情報に、エラーが発生した回数がリクエストに応じた遅延閾値を超える対象（接続元ＩＰアドレスなど）が含まれている場合、メール中継装置１は、処理の結果を所定時間遅延させて返却する。このように、本実施形態におけるメール中継装置１は、リクエストに応じた処理を行うとともに、所定の条件を満たす接続元からのリクエストに対して、処理の成否にかかわらず一律にレスポンスを遅延させるよう構成されている。
【００１８】
メール中継装置１は、例えば、ＳＭＴＰ（Simple Mail Transfer Protocol）認証機能（SMTP-AUTH：SMTP Authentication）などを有するメールサーバ装置である。メール中継装置１は、図示しない演算装置（ＣＰＵ：Central Processing Unit）と、プログラムを記憶する記憶媒体と、ユーザ情報ＤＢ（database）１４と、閾値設定管理ＤＢ１５と、遅延時間設定管理ＤＢ１６と、エラーレスポンスカウンタ格納部１７と、アクセス制限対象リスト１８と、を有している。また、メール中継装置１は、記憶媒体が記憶するプログラムを演算装置が実行することで実現される設定管理部１１と、リクエスト処理部１２と、メール配送部１３と、を有している（図１参照）。
【００１９】
メール中継装置１は、クライアント装置や外部メールサーバなどの外部メールシステムから、ＳＭＴＰ認証要求、メール送信要求、などの様々なリクエスト（処理要求）を受信する。そして、メール中継装置１は、受信したリクエストに応じた処理を行うとともに、リクエストに応じたレスポンスを返却する。また、後述するように、メール中継装置１は、所定の条件を満たす接続元からのリクエストに対して、処理の成否にかかわらず一律にレスポンスを遅延させる。
【００２０】
設定管理部１１は、リクエスト処理部１２が受信したリクエストに応じた処理を行う際の各種設定を管理、格納する。図１を参照すると、設定管理部１１は、ユーザ情報ＤＢ１４と、閾値設定管理ＤＢ１５と、遅延時間設定管理ＤＢ１６と、を有している。
【００２１】
ユーザ情報ＤＢ１４と、閾値設定管理ＤＢ１５と、遅延時間設定管理ＤＢ１６とは、例えば、ディスク装置や半導体メモリなどの記憶装置により構成されている。なお、ユーザ情報ＤＢ１４と、閾値設定管理ＤＢ１５と、遅延時間設定管理ＤＢ１６とは、１つの記憶装置から構成されても構わないし、複数の記憶装置から構成されても構わない。
【００２２】
ユーザ情報ＤＢ１４は、メール中継装置１に登録されているユーザの情報であるユーザ情報を格納するデータベースである。ユーザ情報ＤＢ１４に格納されているユーザ情報は、例えば、リクエスト処理部１２がＳＭＴＰ認証処理を行う際に利用される。
【００２３】
図２で示すように、ユーザ情報ＤＢ１４には、ユーザ情報として、ユーザを識別するためのアカウント名と、アカウント名の入力者を認証するためのパスワードと、メールアドレス（例えば、１つまたは複数）と、が対応付けて格納されている。図２を参照すると、ユーザ情報ＤＢ１４に格納されているユーザ情報の１行目は、例えば、アカウント名「USER01」とパスワード「p@ssword」とメールアドレス「user01@example.com」とが対応付けられていることを示している。
【００２４】
閾値設定管理ＤＢ１５は、リクエストごとの遅延閾値（例えば、単位時間あたりのエラー発生回数の閾値）を示す情報である遅延閾値情報を格納するデータベースである。閾値設定管理ＤＢ１５に格納されている遅延閾値情報は、例えば、リクエスト処理部１２がアクセス制限対象リスト１８の更新処理を行う際に用いられる。
【００２５】
図３で示すように、閾値設定管理ＤＢ１５には、遅延閾値情報として、リクエストの種別を示す項目と、単位時間あたりのエラー数の閾値を示す遅延閾値と、が対応付けて格納されている。図３を参照すると、閾値設定管理ＤＢ１５に格納されている遅延閾値情報の１行目は、例えば、項目「単位時間あたりのＳＭＴＰ認証時のエラー数」と遅延閾値「１０」とが対応付けられていることを示している。また、遅延閾値情報の２行目は、例えば、項目「単位時間あたりの宛先（メール送信時）エラー数」と遅延閾値「５０」とが対応付けられていることを示している。
【００２６】
このように、閾値設定管理ＤＢ１５には、リクエストごとに遅延閾値が設定された遅延閾値情報が格納されている。また、閾値設定管理ＤＢ１５に格納されている遅延閾値情報に含まれる遅延閾値は、例えば、リクエストごとに予め設定された、リクエストがエラーとなる可能性に応じて定められている。具体的には、例えば、メールクライアントに記憶されている認証情報を用いてリクエストを行う場合が多い認証処理（ＳＭＴＰ認証処理）よりも、利用の都度入力する可能性のあるメールアドレス入力処理の方が、間違った入力が行われる可能性が高いものと考えられる。そこで、例えば上記のように、項目「単位時間あたりの宛先（メール送信時）エラー数」と対応する遅延閾値「５０」の方が、項目「単位時間あたりのＳＭＴＰ認証時のエラー数」と対応する遅延閾値「１０」よりも大きい値となるよう遅延閾値を設定する。このように、遅延閾値情報に含まれる遅延閾値は、例えば、エラーとなる可能性が高いリクエストに対応する値が、エラーとなる可能性が低いリクエストに対応する値よりも大きい値となるようリクエストごとに定められている。
【００２７】
なお、図３で示す遅延閾値の具体的な数値は一例である。遅延閾値の値は、調整可能な値であり、例えば、１以上の任意の数値を設定することが出来る。また、閾値設定管理ＤＢ１５には、例示した情報以外の遅延閾値情報を含めても構わない。
【００２８】
遅延時間設定管理ＤＢ１６は、リクエストごとの遅延時間（リクエストに応じたレスポンスを遅延させる時間）を示す情報である遅延時間情報を格納するデータベースである。遅延時間設定管理ＤＢ１６に格納されている遅延時間情報は、例えば、リクエスト処理部１２がレスポンスを遅延させる際に用いられる。
【００２９】
図４で示すように、遅延時間設定管理ＤＢ１６には、遅延時間情報として、リクエストの種別と、レスポンスを遅延させる時間を示す遅延ミリ秒と、が対応付けて格納されている。図４を参照すると、遅延時間設定管理ＤＢ１６に格納されている遅延時間情報の１行目は、例えば、リクエスト「HELO,EHLO（接続開始）」と遅延ミリ秒「10000」とが対応付けられていることを示している。遅延時間設定管理ＤＢ１６に格納されている遅延時間情報の１行目によると、リクエスト処理部１２は、例えば、攻撃者に対するリクエスト「HELO,EHLO（接続開始）」に応じたレスポンスを遅延ミリ秒「10000」分遅延させることになる。
【００３０】
このように、遅延時間設定管理ＤＢ１６には、リクエストごとに遅延時間が設定された遅延時間情報が格納されている。なお、図４で示す遅延ミリ秒（遅延時間）の具体的な数値は一例である。遅延ミリ秒の値は、調整可能な値であり、例えば、１以上の任意の数値を設定することが出来る。また、遅延時間設定管理ＤＢ１６には、例示した情報以外の遅延時間情報を含めても構わない。
【００３１】
リクエスト処理部１２は、クライアント装置や外部メールサーバなどの外部メールシステムから、ＳＭＴＰ認証要求、メール送信要求、などの様々なＳＭＴＰリクエスト（リクエスト）を受信する。そして、リクエスト処理部１２は、受信したリクエストに応じた処理を、例えばユーザ情報ＤＢ１４などを利用して行う。また、リクエスト処理部１２は、リクエストに応じた処理が失敗した回数を計測するとともに、計測した回数と遅延閾値とに基づいてアクセス制限対象リスト１８を更新する。そして、リクエスト処理部１２は、アクセス制限対象リスト１８に基づいてリクエストを送信した接続元が攻撃者であると判断される場合、遅延時間設定管理ＤＢ１６から取得したリクエストに応じた遅延時間分、レスポンスを遅延させる。つまり、リクエスト処理部１２は、受信したリクエストに応じた接続元情報に、アクセス制限対象リスト１８に格納されている遅延対象が含まれる場合、リクエストに応じた遅延時間分、レスポンスを遅延させることになる。
【００３２】
図５を参照すると、リクエスト処理部１２は、処理実行部１２１と、処理失敗回数計測部１２２と、アクセス制限対象リスト更新部１２３と、攻撃判定部１２４と、を含んでいる。
【００３３】
処理実行部１２１は、ＳＭＴＰ認証要求、メール送信要求、などの様々なリクエストを受け取る。そして、処理実行部１２１は、受信したリクエストに応じた処理を、例えばユーザ情報ＤＢ１４などを利用して行う。その後、処理実行部１２１は、リクエストに応じたレスポンスを返却する。
【００３４】
例えば、処理実行部１２１は、図６で示すようなＳＭＴＰ認証要求（リクエスト）に応じた認証処理を行う。具体的には、図６を参照すると、処理実行部１２１は、ユーザから送信されたリクエストに応じて、所定の成功応答やアカウント名待ち応答、パスワード入力待ち応答、認証成功応答、認証失敗応答などのレスポンスを返却する。また、処理実行部１２１は、例えば図７で示すようなメール送信要求に応じたメール送信処理を行う。具体的には、図７を参照すると、処理実行部１２１は、送信元メールアドレス及び宛先メールアドレスの存在を確認し当該確認結果に応じたレスポンスを返却する。また、処理実行部１２１は、送信元メールアドレス及び宛先メールアドレスが存在する場合に、メール配送部１３を介してメールデータの送信処理を行い、当該処理に応じたレスポンスを返却する。つまり、処理実行部１２１は、送信先のメールアドレスのユーザのメールボックスにメールを格納するため、メール配送部１３を介して、外部のメール格納装置に対してメールデータを中継するとともに、レスポンスを返却する。
【００３５】
また、処理実行部１２１は、所定の条件を満たす接続元（攻撃者）からのリクエストに対して上記のようなレスポンスを返却する際に、当該レスポンスを遅延させる。具体的には、処理実行部１２１は、後述する攻撃判定部１２４がアクセス制限対象リスト１８に基づいてリクエストの送信元である接続元が攻撃者であると判断した場合、遅延時間設定管理ＤＢ１６から取得したリクエストに応じた遅延時間分、レスポンスを遅延させる。つまり、処理実行部１２１は、受信したリクエストに応じた接続元情報に、アクセス制限対象リスト１８に格納されている遅延対象（接続元判断情報）が含まれる場合、リクエストに応じた遅延時間分、レスポンスを遅延させることになる。
【００３６】
処理失敗回数計測部１２２は、リクエストに応じた処理が失敗した回数（エラー発生回数）を、接続元を示す接続元情報ごと、リクエストごと、に、例えばエラー発生日時と対応付けて計測する。そして、処理失敗回数計測部１２２は、計測結果をエラーレスポンスカウンタ格納部１７に格納する。
【００３７】
例えば、処理実行部１２１は、認証処理時に接続元により入力されたアカウント名が存在していない場合やパスワードが誤っていた場合などにエラーを検出する。また、例えば、処理実行部１２１は、メール送信処理時に接続元により入力された送信元メールアドレスや宛先メールアドレスが存在していない場合などにエラーを検出する。そこで、処理失敗回数計測部１２２は、処理実行部１２１からエラーが発生した旨の情報を受け取って、発生したエラーの回数（エラー発生回数）を計測する。
【００３８】
ここで、接続元情報には、例えば、接続元ＩＰアドレス、認証アカウント名、送信元メールアドレスなどの接続元判断情報が含まれている。そこで、処理失敗回数計測部１２２は、接続元判断情報ごとに、エラーが発生した回数を計測する。例えば、図８で示すように、接続元ＩＰアドレス「12.34.56.78」、認証アカウント名「USER01」、送信元メールアドレス「user01@example.com」を含む接続元情報が示す接続元から送信されたリクエストに応じた処理が失敗した場合を考える。この場合、処理失敗回数計測部１２２は、接続元ＩＰアドレス「12.34.56.78」、認証アカウント名「USER01」、送信元メールアドレス「user01@example.com」、それぞれに対して、処理が１回失敗したことを計測する。また、上記失敗とともに、接続元ＩＰアドレス「98.76.54.32」、認証アカウント名「USER01」、送信元メールアドレス「user01@example.com」を含む接続元情報が示す接続元から送信されたリクエストに応じた処理が失敗した場合を考える。この場合、処理失敗回数計測部１２２は、認証アカウント名「USER01」、送信元メールアドレス「user01@example.com」に対する失敗回数を２回と計測するとともに、接続元ＩＰアドレス「12.34.56.78」、接続元ＩＰアドレス「98.76.54.32」の失敗回数を１回と計測することになる。
【００３９】
また、処理失敗回数計測部１２２は、上記計測をリクエストごとに行う。つまり、処理失敗回数計測部１２２は、各リクエストに応じたエラー発生回数を判別可能なよう、リクエストごとにエラー失敗回数を計測する。例えば、処理失敗回数計測部１２２は、ＳＭＴＰ認証要求時の処理の失敗回数（ＳＭＴＰ認証エラー数）と、メール送信要求時の処理の失敗回数（宛先エラー数）と、を互いに区別して計測する。
【００４０】
アクセス制限対象リスト更新部１２３は、処理失敗回数計測部１２２が計測したエラー発生回数と閾値設定管理ＤＢ１５に格納されている遅延閾値とを利用して、アクセス制限対象リスト１８を更新する。なお、アクセス制限対象リスト更新部１２３により行われるアクセス制限対象リスト１８の更新処理の詳細については後述する。
【００４１】
攻撃判定部１２４は、アクセス制限対象リスト１８を参照して、リクエストの送信元である接続元が攻撃者であるか否かを判定する。攻撃判定部１２４は、例えば、受信したリクエストに応じた接続元情報に、アクセス制限対象リスト１８に格納されている遅延対象が含まれる場合、当該リクエストを送信した接続元が攻撃者であると判定する。そして、攻撃判定部１２４は、判定結果を処理実行部１２１に通知する。
【００４２】
例えば、処理実行部１２１が、接続元ＩＰアドレス「12.34.56.78」、認証アカウント名「USER01」、送信元メールアドレス「user01@example.com」を含む接続元情報が示す接続元から送信されたリクエストを受信したとする。また、アクセス制限対象リスト１８には、接続元ＩＰアドレス「12.34.56.78」が制限の対象として含まれているものとする。この場合、リクエストに応じた接続元情報に、アクセス制限対象リスト１８に含まれている接続元ＩＰアドレスが含まれることになる。そこで、攻撃判定部１２４は、当該リクエストの送信元である接続元が攻撃者であると判断する。一方、リクエストに応じた接続元情報に、アクセス制限対象リスト１８に格納されている遅延対象が含まれない場合、攻撃判定部１２４は、リクエストを送信した接続元が攻撃者ではないと判定することになる。
【００４３】
エラーレスポンスカウンタ格納部１７と、アクセス制限対象リスト１８とは、例えば、ディスク装置や半導体メモリなどの記憶装置により構成されている。なお、エラーレスポンスカウンタ格納部１７と、アクセス制限対象リスト１８とは、１つの記憶装置から構成されても構わないし、複数の記憶装置から構成されても構わない。
【００４４】
エラーレスポンスカウンタ格納部１７には、接続元（接続元ＩＰアドレス、認証アカウント名、送信元メールアドレス）ごと、リクエストごと、のエラー発生回数をエラー発生日時と対応付けた情報であるエラー発生回数情報が格納されている。上記のように、エラー発生回数情報は、例えば、処理失敗回数計測部１２２により格納されることになる。また、エラーレスポンスカウンタ格納部１７に格納されるエラー発生回数情報は、例えば、アクセス制限対象リスト更新部１２３がアクセス制限対象リスト１８の更新処理を行う際に用いられる。
【００４５】
図９で示すように、エラーレスポンスカウンタ格納部１７には、エラー発生回数情報として、送信元（接続元ＩＰアドレス、認証アカウント名、送信元メールアドレスの何れか一つ）と、エラー発生日時と、ＳＭＴＰ認証エラー数と、宛先エラー数と、が対応付けて格納されている。図９を参照すると、エラーレスポンスカウンタ格納部１７に格納されているエラー発生回数情報の１行目は、例えば、送信元ＩＰアドレス「12.34.56.78」とエラー発生日時「2015/03/19 16:15:40」とＳＭＴＰ認証エラー数「10」と宛先エラー数「10」とが対応付けられていることを示している。つまり、図９の１行目は、エラー発生日時「2015/03/19 16:15:40」に、送信元ＩＰアドレス「12.34.56.78」を含む接続元から送信されたリクエストに応じて、ＳＭＴＰ認証エラーが１０回発生し、宛先エラーが１０回発生したことを示している。
【００４６】
このように、エラーレスポンスカウンタ格納部１７には、接続元判断情報ごと、エラー発生日時ごと、リクエストごと、に、発生したエラーの回数が格納されている。
【００４７】
アクセス制限対象リスト１８には、レスポンスを遅延させる対象となる接続元（接続元判断情報：接続元ＩＰアドレス、認証アカウント名、送信元メールアドレスのいずれか）を示す情報である遅延対象情報が格納されている。アクセス制限対象リスト１８に格納されている遅延対象情報は、例えば、攻撃判定部１２４がリクエストの送信元である接続元が攻撃者であるか否かを判定する際に用いられる。
【００４８】
図１０で示すように、アクセス制限対象リスト１８には、レスポンスを遅延させる対象となる（攻撃者と判定する）接続元（接続元判断情報）と、レスポンスを遅延させる期限を示す有効期限と、が対応付けて格納されている。図１０を参照すると、アクセス制限対象リスト１８に格納されている遅延対象情報の１行目は、例えば、接続元「ＩＰアドレス：12.34.56.78」と有効期限「2015/03/19 17:15:41」とが対応づけられていることを示している。つまり、図１０の１行目は、「ＩＰアドレス：12.34.56.78」を含む接続元情報を有する接続元から何らかのリクエストが来た場合、当該リクエストの送信元である接続元を攻撃者であると判定することを示している。つまり、図１０の１行目は、「ＩＰアドレス：12.34.56.78」を含む接続元情報を有する接続元から何らかのリクエストが来た場合、当該リクエストに応じたレスポンスを処理の成否にかかわらず一律に遅延させることを示していることになる。また、図１０の１行目は、上記レスポンスの遅延（攻撃者の判定）が有効期限「2015/03/19 17:15:41」まで行われることを示している。
【００４９】
メール配送部１３は、リクエスト処理部１２からの指示に応じて、ＳＭＴＰの処理が終わったメールを、メール中継装置１の外部に位置するメール格納処理装置に中継する。メール配送部１３は、一般的なメール配送部の機能と同様の機能を有することが出来る。
【００５０】
以上が、メール中継装置１の各構成についての説明である。ここで、アクセス制限対象リスト更新部１２３がアクセス制限対象リスト１８を更新する際の処理の一例について説明する。
【００５１】
アクセス制限対象リスト更新部１２３は、エラーレスポンスカウンタ格納部１７から過去一定期間（予め設定された任意の期間）のエラー発生回数情報を取得する。つまり、アクセス制限対象リスト更新部１２３は、エラー発生日時が予め設定された期間内のエラー発生回数情報を取得する。また、アクセス制限対象リスト更新部１２３は、設定管理部１１を介して、閾値設定管理ＤＢ１５から遅延閾値情報（リクエストごとの遅延閾値）を取得する。
【００５２】
続いて、アクセス制限対象リスト更新部１２３は、過去一定期間内の接続元（接続元ＩＰアドレス、認証アカウント名、送信元メールアドレス）ごと、リクエストごと、のエラー発生回数を上記取得したエラー発生回数情報に基づいて算出する。そして、アクセス制限対象リスト更新部１２３は、算出結果とリクエストごとの遅延閾値とを比較する。
【００５３】
エラー発生回数が遅延閾値を超えているリクエストがあった場合、アクセス制限対象リスト更新部１２３は、アクセス制限対象リスト１８に、接続元情報（接続元ＩＰアドレス、認証アカウント名、送信元メールアドレスのいずれか）と制限対象としての有効期限とを格納する。なお、有効期限は、例えば、現在日時から一定時間後（例えば、１日後など。任意の値）として設定される。また、格納する対象の接続元情報が既に格納されていた場合、アクセス制限対象リスト更新部１２３は、有効期限を例えば上書きして格納する（順次追加するよう構成しても構わない）。
【００５４】
アクセス制限対象リスト更新部１２３は、例えば上記のような処理によりアクセス制限対象リスト１８を更新する。なお、アクセス制限対象リスト１８内に有効期限を超えた情報がある場合、アクセス制限対象リスト更新部１２３は、不要な情報（有効期限を超えた情報）を削除することが出来る。
【００５５】
続いて、メール中継装置１が行う動作の一例について、図１１乃至１４を参照して説明する。まず、図１１を参照して、メール中継装置１が行う動作の全体の流れの一例について説明する。
【００５６】
図１１を参照すると、リクエスト処理部１２の処理実行部１２１が外部メールシステムからリクエストを受け取る（ステップＳ１０１）。すると、処理実行部１２１は、当該受け取ったリクエストに応じた処理を行う（ステップＳ１０２）。例えば、メール送信要求を受け取った場合、処理実行部１２１は、送信先のメールアドレスのユーザのメールボックスにメールを格納するため、メール配信部１３を介してメール格納装置にメールデータを中継する。
【００５７】
上記処理によりエラーレスポンスを返すことが必要になった（エラーが発生した）場合（ステップＳ１０３、ｙｅｓ）、処理失敗回数計測部１２２は、エラー発生回数を計測してエラーレスポンスカウンタ格納部１７に計測結果を格納する（ステップＳ１０４）。一方、リクエストに応じた処理でエラーが発生しなかった場合（ステップＳ１０３、ｎｏ）、処理失敗回数計測部１２２による上記ステップＳ１０４の処理は省略される。なお、ステップＳ１０４の処理の詳細については、後述する。
【００５８】
リクエスト処理部１２のアクセス制限対象リスト更新部１２３は、アクセス制限対象リスト１８の更新を行う（ステップＳ１０５）。なお、ステップＳ１０５の処理の詳細については、後述する。
【００５９】
攻撃判定部１２４は、アクセス制限対象リスト１８に基づいて、リクエストを送信した接続元が攻撃者に当たるか否かを判定する（ステップＳ１０６）。なお、ステップＳ１０６の処理の詳細については、後述する。
【００６０】
攻撃判定部１２４により接続元が攻撃者に当たると判定された場合（ステップＳ１０７、ｙｅｓ）、処理実行部１２１は、遅延時間設定管理ＤＢ１６から受信したリクエストに応じた遅延時間を取得する（ステップＳ１０８）。そして、処理実行部１２１は、上記取得した遅延時間分、処理を待つ（ステップＳ１０９）。その後、処理実行部１２１は、接続元にレスポンスを返却する（ステップＳ１１０）。つまり、攻撃されていると判断した場合、処理実行部１２は、リクエストに応じた処理の成否にかかわらずレスポンスを遅延させることになる。
【００６１】
一方、攻撃判定部１２４により接続元が攻撃者に当たらないと判定された場合（ステップＳ１０７、ｎｏ）、処理実行部１２１は、レスポンスを遅延させず即座に返却する（ステップＳ１１０）。
【００６２】
以上が、メール中継装置１が行う動作の全体の流れの一例である。次に、処理失敗回数計測部１２２がエラー発生回数を計測する際の動作の一例について、図１２を参照して説明する。
【００６３】
図１２を参照すると、処理失敗回数計測部１２２は、処理実行部１２１からエラーが検出された旨の情報受け取る。例えば、処理失敗回数計測部１２２は、検出したエラーに応じた接続元情報、リクエストの種類を受け取る（ステップＳ２０１）。
【００６４】
続いて、処理失敗回数計測部１２２は、接続元（接続元判断情報）、時刻、リクエストの種類に応じたエラー発生回数を１つ上げる（ステップＳ２０２）。処理失敗回数計測部１２２は、上記処理を接続元情報の分繰り返すことになる（ステップＳ２０３、ｙｅｓ）。上記動作により、処理失敗回数計測部１２２は、リクエストに応じた処理が失敗した回数（エラー発生回数）を、接続元判断情報ごと、リクエストごと、エラー発生日時ごと、に計測する。そして、処理失敗回数計測部１２２は、計測結果をエラーレスポンスカウンタ格納部１７に格納する。
【００６５】
続いて、エラーが発生した全ての対象についてエラー発生回数を計測すると（ステップＳ２０３、ｎｏ）、処理失敗回数計測部１２２は、エラーレスポンスカウンタ格納部１７に格納されているエラー発生回数情報のうち古い情報を削除する。つまり、処理失敗回数計測部１２２は、例えば、現在の時刻（図示しない時計などにより確認される）とエラー発生回数情報とを比較して、エラー発生日時が現在の時刻より所定時間以上前のエラー発生回数情報を削除する（ステップＳ２０４）。なお、処理失敗回数計測部１２２によるエラー発生回数情報の削除は、エラー発生回数の計測と同時、又はその前に行われても構わない。また、処理失敗回数計測部１２２によるエラー発生回数情報の削除は、エラー発生回数の計測と独立して例えば定期的に行われても構わない。
【００６６】
以上が、処理失敗回数計測部１２２がエラー発生回数を計測する際の動作の一例である。次に、アクセス制限対象リスト１８の更新を行う際のアクセス制限対象リスト更新部１２３の動作の一例について、図１３を参照して説明する。
【００６７】
図１３を参照すると、アクセス制限対象リスト更新部１２３は、エラーレスポンスカウンタ格納部１７から過去一定期間（予め設定された任意の期間）のエラー発生回数情報を取得する（ステップＳ３０１）。また、アクセス制限対象リスト更新部１２３は、設定管理部１１を介して、閾値設定管理ＤＢ１５から遅延閾値情報（リクエストごとの遅延閾値）を取得する（ステップＳ３０２）。
【００６８】
続いて、アクセス制限対象リスト更新部１２３は、過去一定期間内の接続元（接続元判断情報）ごと、リクエストごと、のエラー発生回数を上記取得したエラー発生回数情報に基づいて算出する。そして、アクセス制限対象リスト更新部１２３は、算出結果とリクエストごとの遅延閾値を比較する（ステップＳ３０３）。
【００６９】
エラー発生回数が遅延閾値を超えているリクエストがあった場合（ステップＳ３０３、ｙｅｓ）、アクセス制限対象リスト更新部１２３は、アクセス制限対象リスト１８に、該当する接続元判断情報と制限対象としての有効期限を格納する（ステップＳ３０４）。なお、格納する対象の情報が既に格納されていた場合、アクセス制限対象リスト更新部１２２は、有効期限を上書きして格納する。
【００７０】
アクセス制限対象リスト更新部１２３は、例えば上記のような処理によりアクセス制限対象リスト１８に情報を追加する。続いて、アクセス制限対象リスト更新部１２３は、アクセス制限対象リスト１８に有効期限を超えた情報が存在するか否かを確認する（ステップＳ３０５）。そして、アクセス制限対象リスト１８に有効期限を超えた情報が存在する場合（ステップＳ３０５、ｙｅｓ）、アクセス制限対象リスト更新部１２３は、有効期限を超えた情報を削除する（ステップＳ３０６）。なお、アクセス制限対象リスト更新部１２３による情報の削除は、アクセス制限対象リスト１８に対する情報の格納と同時、又はその前に行われても構わない。また、アクセス制限対象リスト更新部１２３による情報の削除は、アクセス制限対象リスト１８に情報を追加する処理と独立して、例えば定期的に行われても構わない。
【００７１】
以上が、アクセス制限対象リスト１８の更新を行う際のアクセス制限対象リスト更新部１２３の動作の一例である。次に、攻撃判定部１２４が攻撃者を判定する際の動作の一例について、図１４を参照して説明する。
【００７２】
図１４を参照すると、攻撃判定部１２４は、アクセス制限対象リスト１８を参照して、受信したリクエストに応じた接続元情報に、アクセス制限対象リスト１８に格納されている遅延対象が含まれるか否かを確認する（ステップＳ４０１）。
【００７３】
受信したリクエストに応じた接続元情報にアクセス制限対象リスト１８に格納されている遅延対象が含まれる場合（ステップＳ４０２、ｙｅｓ）、攻撃判定部１２４は、接続元が攻撃者であると判定する（ステップＳ４０３）。そして、攻撃判定部１２４は、その旨を処理実行部１２１に通知する。この場合、図１１で示すステップＳ１０７の処理は「ｙｅｓ」となり、処理実行部１２１により返却されるリクエストに応じたレスポンスは遅延することになる。
【００７４】
一方、受信したリクエストに応じた接続元情報にアクセス制限対象リスト１８に格納されている遅延対象が含まれない場合（ステップＳ４０２、ｎｏ）、攻撃判定部１２４は、接続元が攻撃者でないと判定する（ステップＳ４０４）。そして、攻撃判定部１２４は、その旨を処理実行部１２１に通知する。この場合、図１１で示すステップＳ１０７の処理は「ｎｏ」となり、処理実行部１２１により返却されるリクエストに応じたレスポンスは即座に返却されることになる。
【００７５】
以上が、メール中継装置１が行う全体の動作及び各動作の一例についての説明である。
【００７６】
このように、本実施形態におけるメール中継装置１は、処理実行部１２１と処理失敗回数計測部１２２とアクセス制限対象リスト更新部１２３と攻撃判定部１２４とを有している。このような構成により、処理失敗回数計測部１２２は、リクエストに応じた処理が失敗した回数（エラー発生回数）を、接続元情報（接続元判断情報）ごと、リクエストごと、に、例えばエラー発生日時と対応付けて計測することが出来る。また、アクセス制限対象リスト更新部１２３は、処理失敗回数計測部１２２の計測結果に基づいて、アクセス制限対象リスト１８を更新することが出来る。その結果、攻撃判定部１２４は、更新されたアクセス制限対象リスト１８に基づいて攻撃者を判定することが出来る。これにより、処理実行部１２１は、攻撃者からのリクエストに対して、処理の成否にかかわらず一律にレスポンスを遅延させることが出来ることになる。つまり、処理実行部１２１は攻撃者が接続を開始した時点からレスポンスを遅延させることが可能となり、接続の確立に時間をかけさせ攻撃のための接続を多数確立させることを防ぐことが可能となる。
【００７７】
また、本実施形態におけるメール中継装置１は、リクエストごとの遅延閾値が格納された閾値設定管理ＤＢ１５を有している。また、処理失敗回数計測部１２２は、リクエストごとにエラー発生回数を計測するように構成されている。このような構成により、アクセス制限対象リスト更新部１２３は、リクエストごとに設定された遅延閾値とエラー発生回数とを比較してアクセス制限対象リスト１８の更新を行うか否かを判断することが出来る。その結果、アクセス制限対象リスト更新部１２３は、例えば、リクエストの失敗のしやすさに応じて、アクセス制限対象リスト１８に情報を格納するか否かを制御することが出来る。また、攻撃判定部１２４は、リクエストの失敗のしやすさに応じて、接続元が攻撃者であるか否かを判定する際の基準を制御することが出来る。これにより、リクエスト（例えば、リクエストの失敗のしやすさ）に応じて接続元を攻撃者とみなすか否かの判定の基準を制御することが可能となり、送信されたリクエストに応じた的確な防御を実行することが可能となる。
【００７８】
また、本実施形態における処理失敗回数計測部１２２は、接続元判断情報ごとにエラー発生回数を計測する。そして、アクセス制限対象リスト更新部１２３は、接続元判断情報ごとにアクセス制限対象リスト１８の更新を行う。このような構成により、攻撃判定部１２４は、例えば、攻撃者が複数のＩＰアドレスを利用して攻撃した場合であっても、認証アカウント名や送信元メールアドレスにより接続元が攻撃者であると判定することが出来る。これにより、処理実行部１２１は、複数のＩＰアドレスを用いるなど様々な攻撃に対応してレスポンスを遅延させることが出来る。
【００７９】
また、本実施形態におけるメール中継装置１の場合、攻撃者と同じ接続元（ＩＰアドレス）から正常な利用者が正常な利用を行う場合、レスポンス遅延により遅くなるが、利用を拒否されることはない。そのため、仮に攻撃者と同じ接続元であったとしても、正常な利用者は、時間はかかるもののメール送信を行うことが出来る。このように、本実施形態におけるメール中継装置１は、攻撃者の攻撃を防ぎつつ、正常な利用者に過大な不利益を与えることを防ぐことを可能としている。
【００８０】
また、本実施形態におけるアクセス制限対象リスト１８に格納されている情報は、有効期限の経過により削除されるよう構成されている。このような構成により、アクセス制限対象リスト１８は自動的にメンテナンスされることになる。これにより、運用管理者に負担をかけることなくアクセス制限対象リスト１８をメンテナンスすることが可能となり、運用管理者の負担を軽減することが可能となる。
【００８１】
なお、閾値設定管理ＤＢ１５には、リクエストごとに複数の遅延閾値を格納することが出来る。また、この場合、アクセス制限対象リスト更新部１２３は、複数の遅延閾値を使用して複数のアクセス制限対象リスト１８を更新するよう構成することが出来る。このような構成により、例えば、エラー発生回数が第１の遅延閾値を超えている場合、アクセス制限対象リスト更新部１２３は、レスポンスを遅延させる第１のアクセス制限対象リスト１８に情報を格納することが出来る。また、エラー発生回数が第１の遅延閾値よりも大きな値である第２の遅延閾値を超えている場合、アクセス制限対象リスト更新部１２３は、レスポンスを返さない第２のアクセス制限対象リスト１８に情報を格納することが出来る。以上のように、リクエストごとに複数の遅延閾値を格納することで、よりエラーが発生している接続元からのリクエストに応じたレスポンスを返さないよう構成することが出来る。このような構成により、例えば、より強い防御が要求されるシステムに対応することが出来る。
【００８２】
また、本実施形態においては、メール中継装置１について説明したが、本発明は、メール中継装置１以外にも適応可能である。本発明は、例えば、Ｗｅｂ業務システムなど、メールシステム以外のリクエストに対して成功・エラーの状態が存在するネットワークサービスに対しても適応可能である。
【００８３】
［第２の実施形態］
本発明の第２の実施形態では、ユーザから受信した処理要求に応じた処理を行うとともに、当該処理の結果をユーザに返却する通信装置２について説明する。
【００８４】
図１５を参照すると、本実施形態における通信装置２は、処理実行部２１と、処理失敗回数計測部２２と、を有している。また、通信装置２は図示しない記憶装置を有しており、当該記憶装置には、処理要求ごとに予め定められた遅延閾値が格納されている。
【００８５】
処理実行部２１は、ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果をユーザに返却する。
【００８６】
処理失敗回数計測部２２は、処理要求の送信元であるユーザを示す接続元情報ごとに処理要求に応じた処理が失敗した回数を計測する。また、処理失敗回数計測部２２は、接続元情報ごとに処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう処理が失敗した回数を処理要求ごとに分けて計測する。
【００８７】
さらに、本実施形態における処理実行部２１は、受信した処理要求である受信処理要求に応じた接続元情報に対応する処理が失敗した回数のうちの少なくとも１つが、処理要求に応じた遅延閾値を超えている場合、接続元情報が示すユーザから送信された処理要求に応じた処理の結果を所定時間分遅延させて返却する。
【００８８】
このように、本実施形態における通信装置２は、処理実行部２１と処理失敗回数計測部２２とを有している。また、通信装置２は、処理要求ごとに予め定められた遅延閾値を記憶している。このような構成により、通信装置２の処理失敗回数計測部２２は、接続元情報ごと、処理要求ごと、に処理要求に応じた処理が失敗した回数を計測することが出来る。また、通信装置２の処理実行部２１は、受信した処理要求である受信処理要求に応じた接続元情報に対応する処理が失敗した回数と、処理要求に応じた遅延閾値と、を比較することが出来る。その結果、処理実行部２１は、処理要求ごとの遅延閾値を用いて、受信した受信処理要求に応じた処理の結果の返却を遅延させるか否かを判断することが出来る。これにより、通信装置２は、送信された処理要求に応じた的確な防御を実行することが可能となる。
【００８９】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における通信装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【００９０】
（付記１）
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却する処理実行部と、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測部と、
を有し、
前記処理失敗回数計測部は、前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
前記処理要求ごとに予め定められた遅延閾値を記憶しており、
前記処理実行部は、受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【００９１】
このように、通信装置は、処理要求ごとに定められた遅延閾値を記憶している。その結果、例えば、処理要求の特性（失敗のしやすさなど）に応じて、処理の結果を遅延させて返却するか否かを判断することが出来る。これにより、処理要求に応じた的確な防御を実行することが可能となる。
【００９２】
（付記２）
付記１に記載の通信装置であって、
前記処理実行部は、前記受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求ごとに予め設定されている前記処理要求がエラーとなる可能性に応じた前記遅延閾値を超える場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【００９３】
上記通信装置は、処理要求ごとに予め設定されている処理要求がエラーとなる可能性に応じた遅延閾値を記憶している。このように処理要求がエラーとなる可能性に応じた遅延閾値を用いることで、処理要求の失敗のしやすさに応じて、処理の結果を遅延させて返却するか否かを判断することが出来る。これにより、処理要求に応じた的確な防御を実行することが可能となる。
【００９４】
（付記３）
付記１又は２に記載の通信装置であって、
前記処理実行部は、エラーとなる可能性が高いと予め設定されている前記処理要求に応じた前記遅延閾値として、エラーとなる可能性が低いと予め設定されている前記処理要求に応じた前記遅延閾値よりも大きな値を持つ前記遅延閾値を用いる
通信装置。
【００９５】
（付記４）
付記１乃至３のいずれかに記載の通信装置であって、
処理の結果を返却する際に遅延させる時間である遅延時間は前記処理要求ごとに定められており、
前記処理実行部は、前記処理要求に応じた前記遅延時間の分、処理の結果を遅延させて返却する
通信装置。
【００９６】
上記通信装置は、処理要求に応じた前記遅延時間の分処理の結果を遅延させて返却するよう構成されている。このように処理要求ごとに遅延時間を定めることで、より処理要求に応じた的確な防御を実行することが可能となる。
【００９７】
（付記５）
付記１乃至４のいずれかに記載の通信装置であって、
前記接続元情報には複数の接続元判断情報が含まれており、
前記処理失敗回数計測部は、前記接続元情報に含まれる前記接続元判断情報ごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記処理実行部は、前記接続元情報に含まれる前記接続元判断情報のうちの少なくとも１つに対応する前記処理が失敗した回数が前記遅延閾値を超えている場合に、前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【００９８】
（付記６）
付記１乃至５のいずれかに記載の通信装置であって、
前記接続元情報には、前記ユーザのＩＰアドレス、認証アカウント名、送信元メールアドレス、が含まれており、
前記処理失敗回数計測部は、前記接続元情報に含まれる前記ＩＰアドレス、前記認証アカウント名、前記送信元メールアドレス、のそれぞれごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記処理実行部は、前記接続元情報に含まれる前記ＩＰアドレス、前記認証アカウント名、前記送信元メールアドレス、のうちの少なくとも１つに対応する前記処理が失敗した回数が前記遅延閾値を超えている場合に、前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信装置。
【００９９】
（付記７）
付記１乃至６のいずれかに記載の通信装置であって、
前記処理実行部は、前記失敗回数計測部が計測した失敗の回数が前記処理要求に応じた前記遅延閾値を超える場合に、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の成功、失敗にかかわらず当該処理の結果を所定時間分遅延させて返却する
通信装置。
【０１００】
（付記８）
付記１乃至７のいずれかに記載の通信装置であって、
前記処理実行部は、処理の結果を所定時間分遅延させて返却する対象となる前記接続元情報を遅延対象情報として記憶装置に格納するよう構成され、
前記記憶装置が記憶する前記遅延対象情報を、当該遅延対象情報を格納後、所定時間経過することで削除する
通信装置。
【０１０１】
（付記９）
処理要求ごとに予め定められた遅延閾値を記憶する記憶装置を有する通信装置にて実行される通信方法であって、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却し、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測し、
前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
通信処理方法。
【０１０２】
（付記１０）
処理要求ごとに予め定められた遅延閾値を記憶する記憶装置を有する通信装置に、
ユーザから受信した所定の処理要求に応じて、当該受信した処理要求に応じた処理を行うとともに、当該処理の結果を前記ユーザに返却する処理実行手段と、
前記処理要求の送信元である前記ユーザを示す接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測手段と、
を実現させ、
前記処理失敗回数計測手段は、前記接続元情報ごとに前記処理要求に応じた処理が失敗した回数を計測するとともに、対応する処理要求が判別可能なよう前記処理が失敗した回数を前記処理要求ごとに分けて計測し、
前記処理実行手段は、受信した処理要求である受信処理要求に応じた前記接続元情報に対応する前記処理が失敗した回数のうちの少なくとも１つが、前記処理要求に応じた前記遅延閾値を超えている場合、前記接続元情報が示す前記ユーザから送信された前記処理要求に応じた処理の結果を所定時間分遅延させて返却する
プログラム。
【０１０３】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０１０４】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【０１０５】
１  メール中継装置
１１  設定管理部
１２  リクエスト処理部
１２１  処理実行部
１２２  処理失敗回数計測部
１２３  アクセス制限対象リスト更新部
１２４  攻撃判定部
１３  メール配送部
１４  ユーザ情報ＤＢ
１５  閾値設定管理ＤＢ
１６  遅延時間設定管理ＤＢ
１７  エラーレスポンスカウンタ格納部
１８  アクセス制限対象リスト
２  通信装置
２１  処理実行部
２２  処理失敗回数計測部
【要約】      （修正有）【課題】システムに対して送信された要求に応じた的確な防御を実行する。【解決手段】ユーザから受信した所定の処理要求に応じて受信した処理要求に応じた処理を行うとともに処理の結果をユーザに返却する処理実行部１２１と、処理要求の送信元であるユーザを示す接続元情報ごとに処理要求に応じた処理が失敗した回数を計測する処理失敗回数計測部１２２と、を有する。処理失敗回数計測部は、対応する処理要求が判別可能なよう処理が失敗した回数を処理要求ごとに分けて計測し、処理要求ごとに予め定められた遅延閾値を記憶する。処理実行部は、受信した処理要求である受信処理要求に応じた接続元情報に対応する処理が失敗した回数のうちの少なくとも１つが、処理要求に応じた遅延閾値を超えている場合、接続元情報が示すユーザから送信された処理要求に応じた処理の結果を所定時間分遅延させて返却する。【選択図】図５【図１】
0006028839.tif 000002
【図２】
0006028839.tif 000003
【図３】
0006028839.tif 000004
【図４】
0006028839.tif 000005
【図５】
0006028839.tif 000006
【図６】
0006028839.tif 000007
【図７】
0006028839.tif 000008
【図８】
0006028839.tif 000009
【図９】
0006028839.tif 000010
【図１０】
0006028839.tif 000011
【図１１】
0006028839.tif 000012
【図１２】
0006028839.tif 000013
【図１３】
0006028839.tif 000014
【図１４】
0006028839.tif 000015
【図１５】
0006028839.tif 000016