(57)【要約】コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知装置であって、不正クライアントが不正行為に先立っおこなった一連の処理要求を不正アクセスイベントシーケンスとして登録した不正アクセスイベントシーケンスデータベースと、クライアントの一連の処理要求をこの不正アクセスイベントシーケンスデータベースと照合して不正アクセスを検知する不正アクセス検知部と、この不正アクセスイベントシーケンスデータベースを作成するイベントシーケンス作成部を備える。
2003100619.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知装置であって、
前記不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセス事象列として記憶した不正アクセス事象列記憶手段と、
クライアントの一連の処理要求を前記不正アクセス事象列記憶手段により記憶された不正アクセス事象列と照合することにより該処理要求を不正アクセスと判定する不正アクセス判定手段と、
を備えたことを特徴とする不正アクセス検知装置。
【請求項２】
前記不正アクセス判定手段により判定された前記不正アクセスの将来の攻撃を予測し、予測される攻撃とその対策を通知する攻撃対策通知手段をさらに備えたことを特徴とする請求の範囲第１項に記載の不正アクセス検知装置。
【請求項３】
前記不正アクセス判定手段により判定された前記不正アクセスを要求したクライアントを不正クライアントとして記憶した不正クライアント記憶手段と、前記不正クライアント記憶手段により記憶された不正クライアントからの処理要求を拒否する不正クライアント拒否手段と、をさらに備えたことを特徴とする請求の範囲第１項または第２項に記載の不正アクセス検知装置。
【請求項４】
前記不正アクセス事象列は、前記不正クライアントからの個々の処理要求またはいくつかの処理要求を事象とし、複数の該事象から構成される事象列であることを特徴とする請求の範囲第１項または第２項に記載の不正アクセス検知装置。
【請求項５】
前記不正アクセス事象列記憶手段は、前記複数の不正アクセス事象列に共通する事象を融合した不正アクセス事象木を記憶し、前記不正アクセス判定手段は、前記クライアントの一連の処理要求を前記不正アクセス事象木と照合することにより該処理要求を不正アクセスと判定することを特徴とする請求の範囲第４項に記載の不正アクセス検知装置。
【請求項６】
前記不正アクセスに関する不正アクセスデータを記録した不正アクセスデータ記録手段と、前記サーバへの全ての処理要求を処理履歴として記録した処理履歴記録手段と、前記不正アクセスデータ記録手段により記録された不正アクセスデータおよび前記処理履歴記録手段により記録された処理履歴を用いて前記不正アクセス事象列を作成する不正アクセス事象列作成手段と、をさらに備えたことを特徴とする請求の範囲第４項に記載の不正アクセス検知装置。
【請求項７】
前記不正アクセス事象列作成手段は、個々の事象に定義した重要度に基づいて前記不正アクセス事象列を作成することを特徴とする請求の範囲第６項に記載の不正アクセス検知装置。
【請求項８】
コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知プログラムであって、
前記不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセス事象列として登録する不正アクセス事象列登録手順と、
クライアントの一連の処理要求を前記不正アクセス事象列登録手順により登録された不正アクセス事象列と照合することにより該処理要求を不正アクセスと判定する不正アクセス判定手順と、
をコンピュータで実行することを特徴とする不正アクセス検知プログラム。
【請求項９】
前記不正アクセス判定手順により判定された前記不正アクセスの将来の攻撃を予測し、予測される攻撃とその対策を通知する攻撃対策通知手順をさらにコンピュータで実行することを特徴とする請求の範囲第８項に記載の不正アクセス検知プログラム。
【請求項１０】
前記不正アクセス判定手順により判定された前記不正アクセスを要求したクライアントを不正クライアントとして登録する不正クライアント登録手順と、前記不正クライアント登録手順により登録された不正クライアントからの処理要求を拒否する不正クライアント拒否手順と、をさらにコンピュータで実行することを特徴とする請求の範囲第８項または第９項に記載の不正アクセス検知プログラム。
【請求項１１】
前記不正アクセス事象列は、前記不正クライアントからの個々の処理要求またはいくつかの処理要求を事象とし、複数の該事象から構成される事象列であることを特徴とする請求の範囲第８項または第９項に記載の不正アクセス検知プログラム。
【請求項１２】
前記不正アクセス事象列登録手順は、前記複数の不正アクセス事象列に共通する事象を融合した不正アクセス事象木を登録し、前記不正アクセス判定手順は、前記クライアントの一連の処理要求を前記不正アクセス事象木と照合することにより該処理要求を不正アクセスと判定することを特徴とする請求の範囲第１１項に記載の不正アクセス検知プログラム。
【請求項１３】
前記不正アクセスに関する不正アクセスデータを記録する不正アクセスデータ記録手順と、前記サーバへの全ての処理要求を処理履歴として記録する処理履歴記録手順と、前記不正アクセスデータ記録手順により記録された不正アクセスデータおよび前記処理履歴記録手順により記録された処理履歴を用いて前記不正アクセス事象列を作成する不正アクセス事象列作成手順と、をさらにコンピュータで実行することを特徴とする請求の範囲第１１項に記載の不正アクセス検知プログラム。
【請求項１４】
前記不正アクセス事象列作成手順は、個々の事象に定義した重要度に基づいて前記不正アクセス事象列を作成することを特徴とする請求の範囲第１３項に記載の不正アクセス検知プログラム。
【請求項１５】
コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知方法であって、
前記不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセス事象列として登録する不正アクセス事象列登録工程と、
クライアントの一連の処理要求を前記不正アクセス事象列登録工程により登録された不正アクセス事象列と照合することにより該処理要求を不正アクセスと判定する不正アクセス判定工程と、
を含んだことを特徴とする不正アクセス検知方法。
【請求項１６】
前記不正アクセス判定工程により判定された前記不正アクセスの将来の攻撃を予測し、予測される攻撃とその対策を通知する攻撃対策通知工程をさらに含んだことを特徴とする請求の範囲第１５項に記載の不正アクセス検知方法。
【請求項１７】
前記不正アクセス判定工程により判定された前記不正アクセスを要求したクライアントを不正クライアントとして登録する不正クライアント登録工程と、前記不正クライアント登録工程により登録された不正クライアントからの処理要求を拒否する不正クライアント拒否工程と、をさらに含んだことを特徴とする請求の範囲第１５項または第１６項に記載の不正アクセス検知方法。
【請求項１８】
前記不正アクセス事象列は、前記不正クライアントからの個々の処理要求またはいくつかの処理要求を事象とし、複数の該事象から構成される事象列であることを特徴とする請求の範囲第１５項または第１６項に記載の不正アクセス検知方法。
【請求項１９】
前記不正アクセス事象列登録工程は、前記複数の不正アクセス事象列に共通する事象を融合した不正アクセス事象木を登録し、前記不正アクセス判定工程は、前記クライアントの一連の処理要求を前記不正アクセス事象木と照合することにより該処理要求を不正アクセスと判定することを特徴とする請求の範囲第１８項に記載の不正アクセス検知方法。
【請求項２０】
前記不正アクセスに関する不正アクセスデータを記録する不正アクセスデータ記録工程と、前記サーバへの全ての処理要求を処理履歴として記録する処理履歴記録工程と、前記不正アクセスデータ記録工程により記録された不正アクセスデータおよび前記処理履歴記録工程により記録された処理履歴を用いて前記不正アクセス事象列を作成する不正アクセス事象列作成工程と、をさらに含んだことを特徴とする請求の範囲第１８項に記載の不正アクセス検知方法。
【請求項２１】
前記不正アクセス事象列作成工程は、個々の事象に定義した重要度に基づいて前記不正アクセス事象列を作成することを特徴とする請求の範囲第２０項に記載の不正アクセス検知方法。
【発明の詳細な説明】
技術分野
この発明は、コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法に関し、特に、精度良く不正アクセスを検知するとともに、攻撃の予兆を検知し、サーバが将来の攻撃に備えることを可能とする不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法に関するものである。
背景技術
近年のネットワーク技術の進展に伴って、インターネット上の分散システムであるワールドワイドウエブ（ＷＷＷ）の利用が急速に拡大し、さまざまなサービスを提供するサーバも累増してきたが、かかるサーバの増加とともに不正アクセスも急増している。
この急増する不正アクセスに対処するために、不正アクセスを検知する不正アクセス検知ツールが利用されている。この不正アクセス検知ツールは、クライアントからの不正な処理要求を検知する検知ルールを有し、この検知ルールとクライアントからの処理要求を照らし合わせることによって不正アクセスの判定をおこなっている。検知ルールの具体例としては、実際には存在しない非常に長いＵＲＬを用いたホームページアクセス要求、無意味で非常に長い文字列の照合処理要求、正しくないパスワードの入力などがある。
しかしながら、従来の不正アクセス判定技術のように、個々の処理要求に対して不正アクセスの判定をおこなおうとすると、正当なアクセスか不当なアクセスかを判定できない場合が多く発生するという問題がある。たとえば、正しくないパスワードの入力に対しては、不正なアクセスの試みであるのか、正当な利用者の単なる誤入力であるのかの判定ができない。
もし、この正しくないパスワード入力を全て不正アクセスとすると、正当なアクセスを不正アクセスと判定する誤検知が多く発生し、逆に、全て不正アクセスでないとすると、不正なアクセスを見逃し、実際に侵入攻撃がおこなわれるまで不正アクセスを検知することができないという問題がある。
なお、サーバの負荷状態などの指標を監視して、その指標の値が正常値から逸脱した場合に不正アクセスがおこなわれたと判定する不正アクセス判定技術があるが、この不正アクセス判定技術には、指標の正常値を決めることが困難であるという問題がある。
従って、この発明は、精度良く不正アクセスを検知するとともに、攻撃の予兆を検知し、サーバが将来の攻撃に備えることを可能とする不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法を提供することを目的としている。
発明の開示
上述した課題を解決し、目的を達成するため、本発明は、コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知装置であって、前記不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセス事象列として記憶した不正アクセス事象列記憶手段と、クライアントの一連の処理要求を前記不正アクセス事象列記憶手段により記憶された不正アクセス事象列と照合することにより該処理要求を不正アクセスと判定する不正アクセス判定手段と、を備えたことを特徴とする。
また、本発明は、コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知プログラムであって、前記不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセス事象列として登録する不正アクセス事象列登録手順と、クライアントの一連の処理要求を前記不正アクセス事象列登録手順により登録された不正アクセス事象列と照合することにより該処理要求を不正アクセスと判定する不正アクセス判定手順と、をコンピュータで実行することを特徴とする。
また、本発明は、コンピュータネットワークを通じてサービスを提供するサーバに対して不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセスとして検知する不正アクセス検知方法であって、前記不正クライアントが不正行為に先立っておこなう一連の処理要求を不正アクセス事象列として登録する不正アクセス事象列登録工程と、クライアントの一連の処理要求を前記不正アクセス事象列登録工程により登録された不正アクセス事象列と照合することにより該処理要求を不正アクセスと判定する不正アクセス判定工程と、を含んだことを特徴とする。
かかる発明によれば、不正クライアントが不正行為に先立ってサーバに対しておこなう一連の処理要求を不正アクセス事象列として記憶し、クライアントの一連の処理要求が不正アクセス事象列と照合した場合にこれらの処理要求を不正アクセスと判定することとしたので、精度良く不正アクセスを検知するとともに、攻撃の予兆を検知し、サーバが将来の攻撃に備えることを可能とすることができる。
発明を実施するための最良の形態
以下、添付図面を参照して、この発明に係る不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法の好適な実施の形態を詳細に説明する。なお、以下に示す実施の形態１では、この発明に係る不正アクセス検知装置をサーバに組み込んだ場合について説明し、実施の形態２では、この発明に係る不正アクセス検知装置をネットワークに組み込んだ場合について説明する。
実施の形態１．
まず、本実施の形態１に係るサーバについて説明する。第１図は、本実施の形態１に係るサーバの構成を示す機能ブロック図である。同図に示すように、このサーバ１００は、サーバ処理部１１０と、アクセスログ１２０と、不正アクセス検知部１３０とを有し、インターネットを介してクライアント１０〜３０にサービスを提供するコンピュータである。なお、ここでは説明の便宜上、３台のクライアント１０〜３０のみを示したが、このサーバ１００は、任意の台数のクライアントからアクセスされる。
サーバ処理部１１０は、クライアント１０〜３０からの処理要求に応答してサービスを提供する処理部であり、処理要求が正当か否かの判定を不正アクセス検知部１３０に依頼し、処理要求が不正と判定された場合には、サービスの提供をおこなわない。
アクセスログ１２０は、クライアント１０〜３０からの処理要求を記録したデータであり、処理要求が正当な処理要求か不正な処理要求かにかかわらず、全ての処理要求とその処理結果を記録する。
不正アクセス検知部１３０は、サーバ１００に対する不正アクセスを検知する処理部であり、不正クライアント判定部１３１と、不正アクセスイベント判定部１３２と、イベントシーケンス判定部１３３と、イベントシーケンス作成部１３４と、不正クライアントデータベース１３５と、検知ルール１３６と、検知ログ１３７と、検知イベントマスタテーブル１３８と、不正アクセスイベントシーケンスデータベース１３９とを有する。
不正クライアント判定部１３１は、サーバ１００へアクセスするクライアント１０〜３０を不正クライアントデータベース１３５に登録されている不正クライアントと照合することによって不正アクセスを検知する処理部である。
不正アクセスイベント判定部１３２は、クライアント１０〜３０からサーバ１００への個々の処理要求を検知ルール１３６に登録されている不正な処理要求と照合することによって不正アクセスを検知する処理部である。
イベントシーケンス判定部１３３は、クライアント１０〜３０からサーバ１００への一連の処理要求を不正アクセスイベントシーケンスデータベース１３９に登録されている不正アクセスイベントシーケンスと照合することによって不正アクセスを検知する処理部である。このイベントシーケンス判定部１３３は、個々の処理要求単体で不正を判定するのではなく、クライアント１０〜３０からの一連の処理要求を時系列に照合することによって不正アクセスを検知するとともに、攻撃の予兆を検知する。また、検知した攻撃の予兆に基づいて、攻撃予報を発報する。なお、不正アクセスイベントシーケンスデータベース１３９に登録されている不正アクセスイベントシーケンスの詳細については後述する。
イベントシーケンス作成部１３４は、アクセスログ１２０および不正アクセスを記録した検知ログ１３７から不正アクセスイベントシーケンスを生成し、生成された不正アクセスイベントシーケンスから不正アクセスイベントシーケンスデータベース１３９に登録する不正アクセスイベントシーケンスを、検知イベントマスタテーブル１３８を用いて選択する処理部である。なお、このイベントシーケンス作成部１３４の詳細についても後述する。
不正クライアントデータベース１３５は、過去に不正アクセスをおこなった不正クライアントを登録したデータベースである。この不正クライアントデータベース１３５には、ＩＰアドレス、クライアント名、この不正クライアントデータベース１３５への登録日、サーバ１００への最終アクセス日が不正クライアントごとに記録される。サーバ１００への最終アクセス日は、一定期間アクセスのない不正クライアントをこの不正クライアントデータベース１３５から削除する場合に使用される。
第２図は、不正クライアントデータベース１３５の一例を示す図である。同図は、ＩＰアドレスが１．２．３．４であるクライアントが２００１／１／１に不正クライアントとして登録され、この不正クライアントのサーバ１００への最終アクセス日が２００１／１／１０であることを示している。また、ＩＰアドレスが１１１．２２２．１１１．２２２であってクライアント名がａ．ｂ．ｃ．ｏｒ．ｊｐであるクライアントが、２０００／１１／１３に不正クライアントとして登録され、この不正クライアントのサーバ１００への最終アクセス日が２００１／１／１２であることを示し、ＩＰアドレスが１００．２００．２５５．２５５であってクライアント名がａａａ．ｂｂｂ．ｃｃｃ．ｎｅ．ｊｐであるクライアントが、２０００／７／１８に不正クライアントとして登録され、この不正クライアントのサーバ１００への最終アクセス要求日が２０００／１１／１３であることを示している。
検知ルール１３６は、不正な処理要求を登録したデータベースである。この検知ルール１３６は、処理要求単位に不正アクセスを登録したものであり、単一の処理要求だけに基づいた不正アクセスの判定に用いられる。一方、複数の処理要求に基づいた不正アクセスの判定には、不正アクセスイベントシーケンスデータベース１３９が用いられる。
検知ログ１３７は、不正クライアント判定部１３１、不正アクセスイベント判定部１３２またはイベントシーケンス判定部１３３が不正アクセスを検知した場合に、その不正アクセスについて記録したデータであり、不正アクセスイベントシーケンスデータベース１３９を作成するためのデータとなる。
第３図は、検知ログ１３７の一例を示す図である。同図に示すように、この検知ログ１３７には、各不正アクセスについて、一連番号であるＩＤ、不正アクセスの発生日、不正処理要求の種別を示すイベント名、ソースポート名、ターゲットポート名、不正クライアントのＩＰアドレスを示す発信元、アクセスされたサーバ１００のＩＰアドレスを示す送信先が記録されている。たとえば、一連番号１７５００６の不正アクセスは、１９−Ｓｅｐ−００に発生し、不正処理要求の種別はＳＮＭＰ＿Ｃｏｍｍｕｎｉｔｙであり、ソースポート名は９２３であり、ターゲットポート名はＳＮＭＰであり、不正クライアントのＩＰアドレスは１９２．１６８．３５．１６６であり、アクセスされたサーバ１００のＩＰアドレスは１９２．１６８．３５．１６１であることを示している。
検知イベントマスタテーブル１３８は、不正アクセスイベントシーケンスを構成する個々のイベントを登録したテーブルであり、イベントシーケンス作成部１３４が不正アクセスイベントシーケンスデータベース１３９を作成するために使用する。ここで、イベントとは、クライアント１０〜３０からの単一の処理要求または複数の処理要求を集約した複合処理要求である。なお、この検知イベントマスタテーブル１３８の詳細は後述する。
不正アクセスイベントシーケンスデータベース１３９は、不正アクセスイベントシーケンスを登録したデータベースであり、この不正アクセスイベントシーケンスデータベース１３９を利用して不正アクセスを検知することにより、より精度良く不正アクセスを検知するとともに、攻撃予兆を検知し、将来の攻撃に備えることができる。
ここで、不正アクセスイベントシーケンスについて説明する。第４図は、不正アクセスイベントシーケンスの概念を説明するための説明図である。同図は、攻撃Ｘに至る手順として、Ａ、Ｂ、ＣおよびＤの４つのイベントを経ていることを示している。
同図において、矢印はイベントの遷移を示しており、矢印に付加された確率および時間は、過去の事例に基づくイベント間の遷移確率および時間間隔を示している。たとえば、イベントＡからイベントＢへの遷移確率はｐ１であり、時間間隔はｔ１であることを示している。ここで、時間間隔ｔ１は、過去の事例の平均時間間隔、最小時間間隔、最大時間間隔から構成される。
一方、イベントＡから「イベントＢ以外」のイベントへの遷移は、イベントＡから「ｎｏｔ」への矢印で示し、その遷移確率はｐ５であることを示している。この場合、ｐ１＋ｐ５は１となる。また、イベントＡから「イベントＢ以外」のイベントへの遷移は不正アクセスではなく、その時間間隔は意味を持たないため、遷移確率のみを示している。ここで、イベントＢからイベントＣへの遷移確率ｐ２は、イベントＢに先立ってイベントＡが発生した場合の遷移確率である。したがって、この遷移確率ｐ２は、単にイベントＢからイベントＣへの遷移確率ではないことに注意する必要がある。
このように、不正アクセスイベントシーケンスは、攻撃に至るまでに発生するイベントの条件付き状態遷移の確率モデルとして構築される。たとえば、ポートスキャン、ルート権限の取得、不正プログラムの導入による踏み台の設置および攻撃指令によるＵＤＰＦｌｏｏｄの送出という順番でイベントが発生し、その後、ＤＤｏＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃が発生したという事例が過去にあった場合、この一連のイベントの遷移が不正アクセスイベントシーケンスとなる。
次に、不正アクセスイベントシーケンスを用いた不正アクセス検知について説明する。不正アクセス検知は、複数の不正アクセスイベントシーケンスを融合した予兆検知ルールを用いておこなわれる。
第５図は、予兆検知ルールの構造の一例を示す図である。同図に示すように、この予兆検知ルールは、複数の不正アクセスイベントシーケンスを共通するイベントについて融合し、木の形としたものである。たとえば、Ａ→Ｂ→Ｄの部分は、３つの不正アクセスイベントシーケンスＡ→Ｂ→Ｄ→Ａ→攻撃Ｙ、Ａ→Ｂ→Ｄ→Ｅ→Ｇ→攻撃ＺおよびＡ→Ｂ→Ｄ→Ｆ→Ｃ→攻撃Ｍを融合したものである。この予兆検知ルールを用いる不正アクセス検知では、個々の不正アクセスイベントシーケンスを独立したルールとして用いる不正アクセス検知では不可能な、複数の不正アクセスイベントシーケンスにまたがった不正アクセス検知をおこなうことが可能となる。
また、この不正アクセス検知では、新たに発生するイベントを監視し、予兆検知ルールとの照合をおこなうことで現段階が将来の攻撃に至るどの段階にあるかを検知し、その段階の先にある各遷移の遷移確率および遷移時間を用いて攻撃が発生するまでの時間と攻撃が発生する確率を予測することができる。たとえば、イベントＦが発生した段階で、攻撃Ｍが発生する時間はｔ１２＋ｔ１３後であり、その確率はｐ１２×ｐ１３であると予測することができる。
また、この予兆検知ルールとの照合では、発生するイベントが予兆検知ルールの３つのイベントと照合した場合に、攻撃の予兆と判断することとしているが、この判断基準としては、攻撃までに残されたイベント数、攻撃までの時間間隔、攻撃までの遷移確率、予測される攻撃の重要度、およびこれらの組み合わせを用いることもできる。
次に、本実施の形態１に係るサーバ１００の不正アクセス検知動作について説明する。第６図は、本実施の形態１に係るサーバ１００の不正アクセス検知動作を示すフローチャートである。なお、ここではユーザがクライアント１０からサーバ１００へのアクセスを要求する場合について説明するが、他のクライアント２０および３０からアクセスを要求する場合も同様な動作となる。
同図に示すように、クライアント１０からユーザがサーバ１００へのアクセスを要求すると（ステップＳ６０１）、サーバ処理部１１０がこのアクセス要求を受け付け（ステップＳ６０２）、不正アクセス検知部１３０にアクセスが正当か否かの判定を依頼する。依頼を受けた不正アクセス検知部１３０は、このアクセスを要求したクライアント１０が不正クライアントとして不正クライアントデータベース１３５に登録されているか否かを調べ（ステップＳ６０３）、不正クライアントとして登録されていない場合には、サーバ処理部１１０がクライアント１０に対してアクセスを許可し（ステップＳ６０４）、アクセス許可を受けたクライアント１０が一連の処理要求を順にサーバ１００に送信する（ステップＳ６０５〜ステップＳ６０６）。
そして、サーバ処理部１１０が各処理要求を受け付け（ステップＳ６０７）、不正アクセス検知部１３０に不正な処理要求か否かの判定を依頼する。依頼を受けた不正アクセス検知部１３０は、各処理要求が不正アクセスイベントとして検知ルール１３６に登録されているか否かを調べ（ステップＳ６０８）、不正アクセスイベントとして登録されていない場合には、このクライアント１０からのこれまでの処理要求に基づくイベントシーケンスと不正アクセスイベントシーケンスデータベース１３９に登録された不正アクセスイベントシーケンスとの照合をおこなう（ステップＳ６０９）。照合の結果、不正アクセスイベントシーケンスと一致しない場合には、正当な処理要求としてサーバ処理部１１０が処理を実行し（ステップＳ６１０）、アクセスログ１２０に記録し（ステップＳ６１４）、処理結果をクライアント１０に送付する（ステップＳ６１５）。
これに対して、不正アクセスイベントシーケンスと一致した場合には、このクライアント１０を攻撃者と判断し、このクライアント１０のＩＰアドレス、攻撃までの予測時間（最小値、平均値、最大値）、攻撃の種類、攻撃が発生する確率、予測される攻撃の重要度などの情報を攻撃予報として発報する（ステップＳ６１１）。また、このクライアント１０を不正クライアントとして不正クライアントデータベース１３５に登録し（ステップＳ６１２）、検知ログに記録し（ステップＳ６１３）、処理結果を「不正アクセス」としてステップＳ６１４に進む。
一方、不正アクセスイベントと判定した場合は（ステップＳ６０８の肯定）、処理結果を「不正アクセス」としてステップＳ６１２に進み、また、不正クライアントと判定した場合は（ステップＳ６０３の肯定）、処理結果を「不正アクセス」としてステップＳ６１３に進む。
そして、処理結果を受け取ったクライアント１０は、受け取った処理結果をユーザに提示する（ステップＳ６１６）。
次に、第１図に示したイベントシーケンス作成部１３４の処理について説明する。第７図は、第１図に示したイベントシーケンス作成部１３４の処理手順を示すフローチャートである。同図に示すように、このイベントシーケンス作成部１３４は、アクセスログ１２０および検知ログ１３７を読み込み（ステップＳ７０１）、検知ログ１３７に登録された各不正アクセスに対して、クライアントからの一連の処理要求を不正アクセスイベントシーケンスとして抽出する（ステップＳ７０２）。なお、この不正アクセスイベントシーケンス抽出の対象とするアクセスログ１２０は、特定の攻撃と関連がある部分だけに限ることとする。具体的には、検知したい攻撃の発生に先立った一定期間（たとえば１日分）とする。ただし、サーバ１００が攻撃で動作不能になるような攻撃については、できるだけ早く攻撃を検知できるようにするために、期間を長くとることとする。
そして、抽出した不正アクセスイベントシーケンスに対して検知イベントマスタテーブル１３８を用いて重み付けをおこなう（ステップＳ７０３）。この検知イベントマスタテーブル１３８は、個々のイベントの重要性をあらかじめ重みとして定義したテーブルであり、これらの重みの算術演算によって不正アクセスイベントシーケンスの重み付けをおこなう。
第８図は、検知イベントマスタテーブル１３８の一例を示す図である。同図に示すように、この検知イベントマスタテーブル１３８は、イベントの一連番号を示すイベント番号と、イベントの名前を示すイベント名と、イベントの重みを定義した重要度をイベントごとに管理したテーブルである。たとえば、イベント番号１のＡｒｐという名前のイベントは、重みが１０と定義されていることを示し、イベント番号２のＢａｃｋＯｒｉｆｉｃｅという名前のイベントは、重みが７と定義されていることを示す。
そして、重み付けの結果に基づいて不正アクセスイベントシーケンスを選択し（ステップＳ７０４）、予兆検知ルールとして不正アクセスイベントシーケンスデータベース１３９に登録する（ステップＳ７０５）。この不正アクセスイベントシーケンスの選択は、重みの大きな不正アクセスイベントシーケンスを専門家に提示し、専門家の指定のもとにおこなう。専門家の指定を受けることによって、より確実な不正アクセスイベントシーケンスの選択が可能となる。
上述したように、本実施の形態１では、検知ルール１３６を用いて単一の処理要求から不正アクセスを検知するだけでなく、イベントシーケンス判定部１３３が不正アクセスイベントシーケンスデータベース１３９を用いて複数の処理要求から不正アクセスを検知することとしたので、より精度良く不正アクセスを検知するとともに、攻撃の予兆を検知し、将来の攻撃に備えることができる。
なお、本実施の形態１では、サーバ１００に対する過去の不正アクセスに基づいて不正クライアントデータベース１３５および不正アクセスイベントシーケンスデータベース１３９を構築したが、これらのデータベースは、サーバ１００とは独立したデータベースとして利用することができる。したがって、これらのデータベースを、複数のサーバに対する不正アクセスに基づいて構築し、また複数のサーバで共通に用いることができる。
実施の形態２．
ところで、上記実施の形態１では、不正アクセス検知装置をサーバ１００に組み込んだ場合について説明したが、本発明はこれに限定されるものではなく、コンピュータネットワークに組み込むことによって、コンピュータネットワークに接続された複数のサーバを対象として不正アクセスを検知することができる。そこで、本実施の形態２では、本発明をコンピュータネットワークに組み込んだ場合について説明する。
第９図は、本実施の形態２に係る不正アクセス検知システムのシステム構成を示すブロック図である。同図に示すように、この不正アクセス検知システムは、ルータ４０と、サーバ５０〜７０と、不正アクセス検知装置８０と、これらの装置を接続するＬＡＮ９０とからなり、クライアント１０〜３０からのインターネットを介したサーバ５０〜７０に対する不正アクセスを検知する。なお、ここでは、説明の便宜上、３台のクライアント１０〜３０と３台のサーバ５０〜７０のみを示したが、クライアントとサーバの台数は任意の数とすることができる。また、第１図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
ルータ４０は、コンピュータネットワーク同士を相互に接続する装置であり、ここでは、インターネットとＬＡＮ９０を接続している。このルータ４０は、不正アクセス検知装置８０と連携して、不正クライアントからの処理要求に相当するパケットを遮断することができる。
サーバ５０〜７０は、インターネットを介してクライアント１０〜３０にサービスを提供するコンピュータであり、アクセスログ５１〜７１と、不正アクセス検知装置８０と連携して不正アクセスに対処する不正アクセス対処部５２〜７２を有する。
不正アクセス検知装置８０は、ＬＡＮ９０上を流れているトラフィックを監視し、サーバ５０〜７０に対する不正アクセスを検知する装置であり、不正クライアント判定部８１と、不正アクセスイベント判定部８２と、イベントシーケンス判定部８３と、不正クライアントデータベース１３５と、検知ルール１３６と、検知ログ１３７と、不正アクセスイベントシーケンスデータベース１３９と、ＬＡＮインタフェース部８４と、対策指示部８５とを有する。
不正クライアント判定部８１、不正アクセスイベント判定部８２およびイベントシーケンス判定部８３は、それぞれ不正クライアント判定部１３１、不正アクセスイベント判定部１３２およびイベントシーケンス判定部１３３と同様の役割を果たす処理部であるが、不正アクセスを検知した場合には、サーバ処理部１１０のかわりに、対策指示部８５に対策を依頼する。
ＬＡＮインタフェース部８４は、ＬＡＮ９０上を流れているパケットを取り込み、不正クライアント判定部８１に不正アクセスの検知を依頼する処理部である。また、このＬＡＮインタフェース部８４は、対策指示部８５の指示に基づいて、ルータ４０およびサーバ５０〜７０に対して不正アクセスに対処するための指示を送信する。
対策指示部８５は、不正クライアント判定部８１、不正アクセスイベント判定部８２およびイベントシーケンス判定部８３が不正アクセスを検出した場合に、ルータ４０およびサーバ５０〜７０に対してこの不正アクセスへの対策を指示する処理部である。
上述したように、本実施の形態２では、ＬＡＮインタフェース部８４がＬＡＮ９０上を流れているパケットを取り込み、不正クライアント判定部８１、不正アクセスイベント判定部８２およびイベントシーケンス判定部８３がこのパケットから不正アクセスを検知し、不正アクセスが検知された場合に、対策指示部８５がルータ４０およびサーバ５０〜７０に対してその対策を指示することとしたので、サーバ５０〜７０に対する不正アクセスを精度良く検知するとともに、攻撃の予兆を検知し、ルータ４０およびサーバ５０〜７０が将来の攻撃に備えることを可能としている。
以上説明したように、本発明によれば、不正クライアントが不正行為に先立ってサーバに対しておこなう一連の処理要求を不正アクセス事象列として記憶し、クライアントの一連の処理要求が不正アクセス事象列と照合した場合にこれらの処理要求を不正アクセスと判定することとしたので、精度良く不正アクセスを検知するとともに、攻撃の予兆を検知し、サーバが将来の攻撃に備えることを可能とすることができるという効果を奏する。
産業上の利用可能性
以上のように、本発明に係る不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法は、コンピュータネットワークを通じてサービスを提供するサーバへの不正アクセスに適宜対処し、信頼性の高いサービスを提供する必要があるサーバシステムに適している。
【図面の簡単な説明】
第１図は、本実施の形態１に係るサーバの構成を示す機能ブロック図であり、第２図は、不正クライアントデータベースの一例を示す図であり、第３図は、検知ログの一例を示す図であり、第４図は、不正アクセスイベントシーケンスの概念を説明するための説明図であり、第５図は、予兆検知ルールの構造の一例を示す図であり、第６図は、本実施の形態１に係るサーバの不正アクセス検知動作を示すフローチャートであり、第７図は、第１図に示したイベントシーケンス作成部の処理手順を示すフローチャートであり、第８図は、検知イベントマスタテーブルの一例を示す図であり、第９図は、本実施の形態２に係る不正アクセス検知システムのシステム構成を示すブロック図である。
【図１】
2003100619.tif 000003
【図２】
2003100619.tif 000004
【図３】
2003100619.tif 000005
【図４】
2003100619.tif 000006
【図５】
2003100619.tif 000007
【図６】
2003100619.tif 000008
【図７】
2003100619.tif 000009
【図８】
2003100619.tif 000010
【図９】
2003100619.tif 000011
【国際調査報告】
2003100619.tif 000012
2003100619.tif 000013