説明

セキュリティ検査システム

【課題】
ウィルス検査等のセキュリティ検査では、脅威の検知に関する検査定義ファイルが更新される度に全てのデータを再検査する必要があった。
【解決手段】
ユーザ端末と接続されるサーバは、検査定義ファイルを保持し、前記脅威の発生に応じて前記ファイルを更新し、データを前記サーバに登録する際に、前記データに対する第一の検査を実行し、前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記サーバに登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行する検査部を備えることにより、検査定義ファイルが更新されても、全てのデータを再検査する必要がない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータウィルス等に対するセキュリティ検査を効率化する方法に関する。
【背景技術】
【0002】
あるプログラムに寄生し他人のコンピュータに勝手に入り込んで悪さをするコンピュータウィルス、独立したプログラムで自己増殖を繰り返しながら破壊活動を行うワームウィルス、及びコンピュータ上でユーザが知らない間にユーザの行動や個人情報などを収集するスパイウェア等(以下、これらを総称して「ウィルス」と称する)、毎月40種類以上の新たなウィルスが発生している。
【0003】
一般的なウィルス対策は、コンピュータにウィルス検査プログラム(以下、検査プログラムと略す)を導入し、コンピュータ上のファイルやネットワークなどを利用して外部から取得したデータに対して検査を行っている。検査は、例えば、複数のウィルスの名称、ウィルスの性質、ウィルス検知方法、及びウィルスを検知した際の対策処理などが記述されているファイル(以下、検査定義ファイルと称する)に基づいて実行される。また、検査プログラムの提供企業(以下、セキュリティ事業者と称する)より、定期的に最新の検査定義ファイルを取得することにより、新種のウィルスにも対応することができる。
【0004】
現在までに多数のウィルスが発見されており、それに比例して検査処理も時間がかかるようになってきている。サーバから多数のユーザがデータを受信するダウンロードサービスの場合、サーバは入出力データに対してウィルス検査を実施するが、全ての入出力データに毎回ウィルス検査を実施すると、大量のアクセスに対処できない。
【0005】
そこで、検査を効率化するための技術として、ウィルス検査を実施した際、検査結果ファイルの作成及び電子署名を行い、次回のウィルス検査では、これらの情報に基づいて、検査定義ファイルの差分だけを再検査する方法がある(特許文献1参照)。
【0006】
また、記憶装置上のファイルの更新情報を管理し、前回のウィルス検査後に更新されたファイルだけに対して、再度ウィルス検査を行う方法もある(特許文献2参照)。
【0007】
【特許文献1】特開2003−196111号公報
【特許文献2】米国特許出願公開第2004/0158730号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1では、データをサーバに登録する際に一度検査を行い、ダウンロード時にその検査結果を基に検査定義ファイルの更新部分だけを再検査する。しかし、検査定義ファイルが更新された場合は、全てのデータの再検査を行う必要があるため、ウィルスが頻繁に発見される場合や、検査対象データが大量にある場合は、再検査に時間がかかる。
【0009】
一方、特許文献2では、記憶装置内のデータが更新された場合に更新されたデータに対してだけウィルス検査を行う。しかし、検査定義ファイルが更新された場合は、全てのデータを再検査する必要があり、特許文献1の場合と同様の課題が生じる。
【0010】
そこで、本発明の目的は、検査定義ファイルが更新されても、全てのデータを再検査する必要がない、セキュリティ検査をより効率化するシステムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の望ましい態様の一つは次の通りである。
【0012】
ユーザ端末と接続される計算機は、脅威の検知に関するファイルを保持し、前記脅威の発生に応じて前記ファイルを更新し、データを前記計算機に登録する際に、前記データに対する第一の検査を実行し、前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記計算機に登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行する検査部を備える。
【発明の効果】
【0013】
本発明により、検査定義ファイルが更新されても、全てのデータを再検査する必要がない、セキュリティ検査をより効率化するシステムを提供することができる。
【発明を実施するための最良の形態】
【0014】
以下に本発明の実施の形態を説明する。
【実施例1】
【0015】
図1は、セキュリティ検査システムの構成を示す図である。セキュリティ検査システムは、Webシステム等のサーバ1、ユーザ端末2(2−1〜2−m)、セキュリティ事業者が有しウィルスに関するセキュリティ情報(検査定義ファイル等)を提供する検査定義情報提供端末3、及び第三者機関である認証局4から構成され、これらは、インターネットなどのネットワーク5を介して相互に接続されている。
【0016】
サーバ1は、CPU11、メモリ12、記憶装置13、インタフェース14、及びそれらを接続するバス15から構成される。インタフェース14は、ネットワーク5との間のデータ転送を制御するネットワーク制御装置である。インタフェース14には、表示装置、入力装置(キーボード等)、及び可搬型記憶媒体が装着されるドライブ等が接続されていてもよい。
【0017】
CPU11は、記憶装置13に格納されるプログラムをメモリ12に読み込んで実行することにより、ウィルス検査等の機能を計算機上に実現する。
【0018】
記憶装置13は、OSの他、サービス提供部101、ユーザ管理部102、検査部103等のプログラム、及びデータ配信履歴テーブル104、定義更新履歴テーブル105、検査結果テーブル106、検査定義ファイル107、ユーザ情報管理テーブル108等の情報を格納する。
【0019】
サービス提供部101は、サーバ1の管理者(以下、Web事業者と称する)が、サービス(ダウンロードサービス等)を、ネットワーク5を介してユーザに提供するためのプログラムである。サービスは、全てのユーザに提供されてもよいし、ユーザ管理部102によるユーザの認証結果を基にアクセス制御された後に提供されてもよい。
【0020】
ユーザ管理部102は、ユーザからのアクセスを受け付けた際、パスワード認証等によりユーザの認証を行うためのプログラムである。
【0021】
検査部103は、ウィルス検査を行うためのプログラムである。ユーザ端末2がデータをサーバ1に登録したりダウンロードをする際に、データのウィルス検査が実施される。
【0022】
データ配信履歴テーブル104は、どのユーザにどのデータを配信したかの履歴を示すテーブルである。図2は、データ配信履歴テーブル104の一例を示す図である。
【0023】
データ配信履歴テーブル104は、サーバ1にアクセスしたユーザのユーザID21、ユーザがサーバ1から取得したデータのデータID22、ユーザが該データを取得した取得日時23、該データ配信後に該データがウィルスを含んでいることが判明した際にサーバ1からユーザが連絡通知を受信することを希望するか否かを示す通知可否フラグ24、ユーザが連絡通知を受信する場合の電子メールなどの通知方法25、及びユーザの通知先を示すメールアドレスなどの通知先26等から構成される。
【0024】
定義更新履歴テーブル105は、検査定義ファイルに関する情報を示すテーブルである。図3は、定義更新履歴テーブル105の一例を示す図である。
【0025】
定義更新履歴テーブル105は、検査定義ファイルのバージョンを一意に示す検査定義ID31、検査定義ファイルを更新した日時である定義更新日時32、及び後述する発生推定日時33等から構成される。
【0026】
検査結果テーブル106は、検査の結果に関する情報を示すテーブルである。図4は、検査結果テーブル106の一例を示す図である。
【0027】
検査結果テーブル106は、検査したデータに一意に割り当てられたデータID41、該データの登録日時42、該データからハッシュ関数(例えばSecure Hash Algorithm 1等)により計算したハッシュ値43、検査日時44、検査時に使用した検査定義ファイルの検査定義ID45、検査の結果ウィルスが発見されれば該ウィルス名を示し、発見されなければその旨を示す検査結果46(以下、41〜46の情報を総称して検査結果情報と称する)、及び検査結果情報に対する電子署名値47等から構成される。
【0028】
検査定義ファイル107は、先述の通りであり、新たなウィルスが発見された場合に、セキュリティ事業者が該ウィルスに対する検知/駆除するための情報を更新し、検査定義情報提供端末3にて公開される。検査定義ファイル107は、サーバ1が検査定義情報提供端末3から定期的に最新定義ファイルを取得/更新するか、または、検査定義情報提供端末3から、情報が更新された時に配布される。
【0029】
ユーザ情報管理テーブル108は、サーバ1にアクセスしたユーザの属性を示すテーブルである。例えば、ユーザ情報識別ID、ユーザID、パスワード、氏名、年齢、住所、メールアドレス、興味を持っている事柄等の、ユーザの属性情報が登録され、ユーザの認証やサービスの提供に使用される。
【0030】
尚、上記101〜103のプログラムが提供する機能は、ハードウェアにより実現されてもよい。その場合、サービス提供部はデータ配信履歴テーブルを、ユーザ管理部はユーザ情報管理テーブルを、検査部は定義更新履歴テーブル、検査定義ファイル、及び検査結果テーブルを有することになる。
【0031】
サーバ1の機能の各々は、1つの装置上に構築せずに、複数の装置に各処理部を分散させて実現してもよい。また、該機能の各々は、複数の企業が提供してもよい。
【0032】
Web事業者としては、映画や音楽などのデジタルコンテンツをWeb上で販売しているコンテンツ販売事業者、ソフトウェア販売事業者、サーバ上で複数のユーザ間で電子ファイル等のデータを共有管理する場を提供する電子会議室サイト運営事業者、サーバレンタル事業者、及び企業内の従業員ポータルサイト管理者等が想定される。
【0033】
Web事業者は、ウィルス検査機能を含むデータのダウンロードサービスを行うことにより、ユーザに安全なデータの利用環境を提供する。特に、扱うデータの安全性を確実に保証できない場合に、ウィルス検査機能を提供することが有効となる。
【0034】
ユーザは、ユーザ端末2を用いてサーバ1にアクセスし、ウィルス検査を含むデータのダウンロードサービスを利用する。
【0035】
本実施例では、ユーザ端末2は、ユーザがサーバ1にアクセスして電子会議室サービスを利用するための端末とし、Webクライアント(Webブラウザ等)や検査結果監視部16などのプログラムを自身の備える記憶装置に格納している。
【0036】
ユーザ端末2は、検査結果監視部16を実行して、定期的またはユーザからの要求に応じてサーバ1にアクセスし、該ユーザが既に取得しているデータについての検査結果情報を取得する。さらに、該検査結果情報中の検査結果46にてウィルスが発見されている場合には、検査定義情報提供端末3にアクセスし、発見されたウィルスに対する対策情報(例えばウィルス駆除用のパッチファイル)を検索/取得し、ユーザに対し表示する。尚、検査結果監視部16がハードウェアにより実現されてもよいことはいうまでもない。
【0037】
検査定義情報提供端末3は、検査プログラム、検査定義ファイル、及び検査結果情報等を提供するためにセキュリティ事業者が利用する端末である。
【0038】
認証局4は、Web事業者やユーザ等に対し電子証明書を発行する第三者機関である。認証局4は、後述するウィルス検査結果などに施された署名を検証するための公開鍵及び公開鍵証明書を、ユーザが取得/検証するための機関である。また、公開鍵証明書は事前にWeb事業者により認証局に登録されているとする。また、公開鍵や公開鍵証明書の取得、検証のステップは、必要に応じて行われる。
【0039】
尚、データとは、ユーザがサーバ1からダウンロードする画像やソフトウェア等の電子ファイルや、テキストデータが想定される。
【0040】
ユーザ端末2、検査定義情報提供端末3、及び認証局4の中の構成は、記憶装置13内のプログラムが異なる以外は、サーバ1と同様の構成を備える。そして、CPUが、各装置が備えるプログラムを実行することによって、各装置が提供する機能を計算機上に実現する。また、それらの機能は、ハードウェアにより実現されてもよい。
【0041】
各装置のCPU11が実行するプログラムは、予めメモリ12または記憶装置13に格納されていてもよいし、ドライブに装着される可搬型記憶媒体を介して、他の装置からメモリ12または記憶装置13に格納されてもよい。更に、インタフェース14に接続される通信回線、または通信回線上を伝搬する搬送波またはデジタル信号等を介して、他の装置からメモリ12または記憶装置13に格納されてもよい。
【0042】
図5は、セキュリティ事業者が検査定義情報提供端末3を介してサーバ1に提供する検査定義ファイルに関する検査定義更新情報の一例を示す図である。検査定義更新情報は、セキュリティ事業者が検査定義ファイルを更新する際に、更新したバージョンの検査定義ファイルで新たに検知/駆除が可能になったウィルスに関する情報であり、サーバ1から取得可能な状態(例えばインターネットからアクセスが可能な状態)で、セキュリティ事業者の顧客(ここではサーバ1)に対して公開されている。
【0043】
検査定義更新情報は、基本情報51として、検査定義更新情報の発行者、発効日、対応する検査定義ファイルの検査定義IDを持つ。また、更新詳細情報52として、更新したバージョンの検査定義ファイルで検知/駆除が可能になった新たなウィルスに対して一意に割り当てたウィルスID53、更新した検査定義ファイルのバージョン情報である検査定義ID54、ウィルス53が発見された日時である発見日55、該ウィルスが広まる速度を表す感染力56、該検査定義ファイルが更新された日時を示す対応日57等から構成される。
【0044】
図6は、サーバ1がユーザに対してデータを送信(ダウンロード)する際に、ウィルス検査の結果を通知すると共に、今後の該データに対するウィルス検査の結果の通知を希望するか否かの確認及びデータをダウンロードするか否かのデータ取得確認画面の一例を示す図である。これは、ユーザ端末2を介してユーザに提示される。
【0045】
データ取得確認画面は、データ情報表示部61、ウィルス検査情報表示部62、通知確認表示部63、及びダウンロード確認表示部64等から構成される。
【0046】
データ情報表示部61は、データID、データサイズ、及びデータ登録者等、該データに関する情報を表示する。ウィルス検査情報表示部62は、ウィルス検査を行った製品名、検査結果、検査定義ファイルの検査定義ID、検査者名、検査結果に対する署名情報、及び検査結果情報のダウンロードボタン等を表示する。通知確認表示部63は、該データをダウンロード後に該データに対するウィルス検査が実行された場合に、その結果情報の通知を希望するか否かの選択を、ユーザに促す。ダウンロード確認表示部64は、該データのダウンロードの実行をするか否かの選択を、ユーザに促す。
【0047】
以下、セキュリティ検査システムのフローについて説明する。ここでは、電子会議室サイト運営事業者が運営する電子会議室サービスについて説明する。電子会議室サービスとは、共通の目的を持つ複数のユーザがグループとなり、サーバ上に共有のスペースを作り、各ユーザが保持しているデータをサーバに登録し、グループ内の他のユーザが該データをダウンロードすることにより、データの共有管理の場を提供するサービスである。電子会議室サービスでは、各ユーザが登録するデータが安全であるとは限らないため、ウィルスの検査が必要になる。
【0048】
前提条件として、サーバ1が電子会議室サービスをユーザに提供する装置とし、ユーザA及びBは、それぞれ、ユーザ端末2−1及び2−2を用いてサーバ1にアクセスするものとする。また、ユーザA及びBは、既に従来の方法により、サーバ1にユーザ登録済みで、アクセス権限を持つものとする。更に、サーバ1は、検査定義情報提供端末3と連携するための情報を保持しているものとする。ネットワーク5では、悪意のある第3者により盗聴や改竄、成りすまし等のセキュリティ上の危険を避けるため、Secure Socket Layer(SSL)等の暗号化通信技術を用いて情報の暗号化、サーバ認証を行うことが望ましい。これらのセキュリティの確保は、必要に応じて行われる。
【0049】
図7は、検査定義ファイルが更新された場合、サーバ1が検査部103を実行することにより行う処理のフロー図である。
【0050】
サーバ1は、定期的に検査定義情報提供端末3にアクセスし、または、セキュリティ事業者からメールなどの通信手段により通知を受信することにより、検査定義ファイルが更新されているか否かを確認する(ステップ701)。更新されていない場合は、該処理を終了する。更新されている場合は、検査定義情報提供端末3から、更新された(最新の)検査定義ファイル、及び検査定義更新情報(図5)を取得する(ステップ702)。
【0051】
次に、取得した検査定義更新情報に基づいて、発生推定日時33(図3)を計算する(ステップ703)。発生推定日時とは、検査定義ファイルで更新されたウィルスがいつ発生したかの推定日時を示す。発生推定日時は、ウィルス検査の対象とするデータと対象としないデータとを区別するための指標で、発生推定日時よりも前に登録または更新されたデータについては、検査の対象外として処理する。
【0052】
発生推定日時33は、ウィルスが発生した日よりも以前の日時に設定する必要がある。例えば、発生推定日時33は、検査定義更新情報内の各ウィルスについて、ウィルスが発見された日時である発見日55から時間差を引いた時刻とする。時間差は一定値としてもよいし、該ウィルスが広まる速度を表す感染力56に応じて算出してもよい。例えば、図5の場合、感染力が“高”の場合は3日、“低”の場合は1ヶ月と事前に感染力に対する時間差を定めておくことで、発生推定日時を算出できる。検査定義更新情報内の各ウィルスについて発生推定日時を計算し、その中で最も古い日時を該検査定義ファイルの発生推定日時とする。
【0053】
次に、定義更新履歴テーブル105の、検査定義ID31、定義更新日時32、及び発生推定日時33を更新する(ステップ704)。
【0054】
但し、発生推定日時33は、セキュリティ事業者が算出し、検査定義更新情報に追加してサーバ1に配布してもよい。この場合、ステップ703は省略される。
【0055】
図8は、ユーザAがサーバ1にデータを登録するときのフロー図である。但し、ユーザAは、サーバ1に対して、既に従来の方法(例えばID/パスワード認証)により認証済みで、ログインしているものとする。
【0056】
サーバ1は、検査部を実行することにより、以下の処理を行う。まず、ユーザAが端末2−1よりサーバ1に対して送信したデータの登録要求を受信する(ステップ801)。サーバ1では、該要求を受信すると、データ登録画面を表示する。
【0057】
次に、サーバ1は、ユーザAが端末2−1より送信した、登録すべきデータを受信する(ステップ802)。そして、最新の検査定義ファイルを用いてウィルス検査を行う(ステップ803)。
【0058】
ウィルスを検出した場合は登録を拒否する(ステップ804)。検出しなかった場合は、ハッシュ関数により該データのハッシュ値を計算する。次に、検査結果情報に対して署名値47の計算を行う。例えば、検査結果情報をバイト値に直した後に結合し、結合結果に対してサーバ1の持つ秘密鍵を用いて署名値の計算を行う。そして、この署名値47と検査結果情報を検査結果テーブル106に登録する(ステップ805)。また、該データを、データIDをキーにして検索できる状態にして、記憶装置13に格納(データをサーバ1に登録)する(ステップ806)。
【0059】
データの登録は図8の処理以外の方法は認めないとし、それ以外の方法(例えばウィルス検査を行わずに記憶装置13にデータを格納)の場合は不正にデータを登録したものと判断する。
【0060】
図9は、サーバ1が検査部103を実行することにより、ユーザBが図8の処理により登録したデータを、サーバ1から取得するときのフロー図である。但し、ユーザBは、サーバ1に対して、既に従来の方法により認証済みで、ログインしているものとする。
【0061】
サーバ1はユーザBからのデータリスト表示要求を受信すると、ユーザBが取得可能なデータリスト(ユーザBがログインしている電子会議室に登録されているデータのリスト)を表示する(ステップ901)。ユーザBは端末2−2に表示されているリストの中で取得したいデータを選択し、サーバ1に対してデータ取得要求を送信する。サーバ1はデータ取得要求を受信すると、該データのデータIDをキーに記憶装置13を検索し、該データ、該データの検査結果情報、及び該データの署名値を取得する(ステップ902)。
【0062】
次に、サーバ1が保持している公開鍵、検査結果情報及び署名値から署名の検証(検査結果情報が変更されていないか否かの確認)を行う(ステップ903)。署名の検証に失敗した場合は、不正な検査結果の改竄があったものと判断し、その旨を管理者に通知する(ステップ904)。
【0063】
署名の検証に成功した場合は、図8の場合と同様に、該データのハッシュ値を計算し、検査結果情報に含まれるハッシュ値43と比較する(ステップ905)。比較の結果、ハッシュ値が一致しない場合は、データが不正に変更されたと判断し、その旨を管理者に通知する(ステップ904)。ハッシュ値が一致した場合は、最新の検査定義ファイルの検査定義IDと、該検査結果情報に含まれる検査定義IDを比較(検査定義ファイルが更新されているか否かの確認)する(ステップ906)。検査定義ファイルが更新されていない場合は再検査する必要はないと判断し、ステップ911に移行する。
【0064】
検査定義ファイルが更新されている場合は、該検査結果情報に含まれる検査定義ID45をキーにして、定義更新履歴テーブル105から、該データに対して過去にウィルス検査を行った際の検査定義ファイルの定義更新日時32、該定義更新日時32よりも後に更新された検査定義ファイルの検査定義ID31、及び発生推定日時33(以下、これらを総称して定義更新情報と称する)を取得する。
【0065】
次に、該検査結果情報に含まれる登録日時42と、取得した定義更新情報の発生推定日時33を比較する(ステップ907)。登録日時42よりも発生推定日時33の方が古い定義更新情報が一つもない場合は、該データは更新された検査定義ファイルが新たに対応したウィルスには関係ないとして検査が不要と判断し、ステップ910に移行する。一つでもあった場合は、ウィルス検査処理(ステップ908)を行う。
【0066】
ステップ908では、最新の検査定義ファイルを用いてウィルス検査を行うか、従来の方法で検査定義ファイルの中で前回の検査から更新された部分だけを再検査する。
【0067】
ウィルス検査の結果、ウィルスがないと判断された場合は、該データに対する検査結果テーブル106を更新する。更新する内容は、検査日時44としてステップ908での検査日時を、検査定義ID45として検査時点での最新検査定義ファイルの検査定義IDを、検査結果46として“OK”を、それぞれ、更新する。また、ステップ805と同様の方法で署名値47を計算し更新する(ステップ910)。
【0068】
次に、端末2−2に対してデータ取得確認画面(図6)を表示する(ステップ911)。ユーザBはデータ取得確認画面内のデータ情報表示部61及びウィルス検査情報表示部62を確認する。更に、ユーザBは通知確認表示部63にて、ダウンロード後に該データに対してウィルスが検査された場合に、その情報の通知を希望するか否かを選択し、通知を希望する場合は通知先の情報(ここでは電子メールアドレス)を入力する。但し、通知先の情報はユーザの認証結果に基づき、記憶装置13を検索し、事前に登録してある該ユーザの通知先情報を取得し、サーバ1で事前に入力して表示してもよい。ユーザBは、ダウンロード確認表示部64において、ダウンロードを実行するか否かを選択し、選択結果及び通知可否情報を端末2−2よりサーバ1へ送信する。
【0069】
サーバ1では、端末2−2より選択結果及び通知可否情報を受け付ける。選択結果がダウンロードを希望していない場合は終了する。ダウンロードを希望している場合は、端末2−2に対してデータを送信する。また、データ配信履歴テーブル104に配信履歴情報を更新する。ここで、データ配信履歴テーブル104に追加する配信履歴情報のうち、通知可否24及び通知先26はユーザ端末2−2から受信した通知可否情報をもとに更新される(ステップ913)。
【0070】
ステップ909において、ウィルスが発見された場合には、サーバ1は、記憶装置13より、該ウィルスを含むデータを削除し、該データに対する検査結果テーブル106を更新する。更新する内容は、検査日時44としてステップ908での検査日時を、検査定義ID45として検査時点での最新検査定義ファイルの検査定義IDを、検査結果46として検出されたウィルスのウィルスIDを、それぞれ、更新する。また、ステップ805と同様の方法で署名値47を計算し更新する(ステップ914)。そしてユーザ端末2−2に対してウィルスを含んでいたためデータを削除した旨の検査結果を通知する(ステップ915)。
【0071】
次に、サーバ1は、検査定義情報提供端末3にアクセスし、検出したウィルスに関する対策情報(例えばウィルス駆除用のパッチファイル)を検索し取得する(ステップ916)。
【0072】
更に、サーバ1は、データ配信履歴テーブル104より、データID22がウィルスを含んでいた当該データのデータIDと一致し、かつ通知可否24の項目が“通知”の配信履歴を取得し、通知方法25及び通知先26を元に通知を希望している各ユーザに、該データがウィルスを含んでいたこと及び上記対策情報を通知する(ステップ917)。
【0073】
尚、上記処理において、ステップ901、902、911〜913、及び915〜917については、サービス提供部101による処理、それ以外のステップについては、検査部103による処理、としてもよい。
【0074】
以上に示したように、サーバ1からデータを出力する際に、検査定義ファイルが更新されている場合にも、更新された検査定義ファイルで新たに対応したウィルスの発生時期を推測し、十分に高い確率で該データには関係がないと判断される場合は再検査をしないことにより、検査の効率を向上させることができる。
【0075】
また、ダウンロードサービスでは取得したデータがどのような検査を受けてきたのか受信者が分からなければ、ユーザは安心してデータを使用することができない。特にユーザのコンピュータに検査プログラムが導入されていない場合や、検査プログラムが古く、全てのウィルスを検知できない場合などは、ダウンロードサービスを提供する事業者が、ユーザに対してデータの安全性を提示することが望ましい。そこで、データ配信時にユーザに対して、配信以後に該データにウィルスが発見された場合に通知を行うかを確認しておき、配信以後に新たな検査定義ファイルにより該データにウィルスが発見された場合には希望ユーザに通知することにより、ユーザが安心してデータを利用することができる。
【実施例2】
【0076】
実施例2では、ユーザがダウンロード後のデータについての、別のデータ検査方法について説明する。図11は、データ検査結果監視のフロー図である。但し、ユーザ端末2は、サーバ1へアクセスするための情報(例えばサーバ1のURL、ユーザID及びパスワード)、及び検査定義情報提供端末3と連携するための情報を保持しているものとする。また、ユーザ端末2は、定期的または端末起動時またはユーザからの実行要求時等のタイミングで、サーバ1にアクセスし、従来の方法(例えばID/パスワード認証)により認証済みで、ログインしているものとする。また、ダウンロードしたデータの情報(例えばデータID)は、ダウンロード時にユーザがユーザ端末2の記憶装置に格納するなどして、該データIDを基に検査結果情報を要求してもよい。ここでは、データ配信履歴テーブル104を用いる方法について説明する。
【0077】
ユーザ端末2は、検査結果監視部16を実行して、以下の処理を行う。まず、サーバ1に対して、ユーザ2の既にダウンロードしたデータの検査結果を要求する(1001)。
【0078】
サーバ1では、データ配信履歴テーブル104より検査結果を要求しているユーザのユーザIDが配信履歴テーブルのユーザID21と一致し、かつ通知可否24の項目が“通知”の配信履歴を取得する。次に、検査結果テーブルより、取得した配信履歴に含まれるデータID22と検査結果テーブルのデータID41が一致する検査結果情報および署名値47を取得し、それらをユーザ端末2に送信する。
【0079】
次に、ユーザ端末2は、検査結果情報及び署名値47を受信すると、Web事業者の公開鍵を用いて署名値を検証する(1002)。署名値の検証に失敗した場合は、例えばポップアップウィンドウなどにより、ユーザ端末2に署名の検証に失敗したことを表示する(1006)。
【0080】
署名値の検証に成功した場合は、検査結果情報に含まれる検査結果46を解析し、全てのデータについてウィルスが検出されていなければ(例えば検査結果46が“OK”)終了する。ウィルスが検出されている場合は、検査定義情報提供端末3にアクセスし、検査結果46にあるウィルスIDをキーに検出したウィルスに関する対策情報を検索し取得する(1005)。そして、ユーザ端末2に、ウィルスの検査結果と対策情報を表示する(1006)。
【0081】
以上に示したように、データを配信したシステムがデータのウィルス検査結果を一元管理し、データをダウンロードしたユーザ端末が、ダウンロード後も検査結果を監視することにより、発見が難しいスパイウェアやボッドなどのウィルスに対して各ユーザが迅速に対処することができる。
【0082】
尚、本稿では、ウィルスに対する検査方法であるとして説明したが、ウィルス以外の脅威にも適用できることはいうまでもない。脅威とは、それに悪意があるか否かによらず、結果として資産(登録されたデータ等)に害を及ぼす可能性のある事象のことを示す。ウィルス以外の脅威としては、例えば、企業システムの脆弱な箇所を攻撃して、ユーザに悪意のあるプログラムを実行させるクロス・サイト・スクリプティング攻撃等が考えられる。
【図面の簡単な説明】
【0083】
【図1】セキュリティ検査システムの構成図。
【図2】データ配信履歴テーブルの一例を示す図。
【図3】定義更新履歴テーブルの一例を示す図。
【図4】検査結果テーブルの一例を示す図。
【図5】検査定義更新情報のデータ構成例を示す図。
【図6】データ取得確認画面の一例を示す図。
【図7】検査定義ファイル更新処理のフロー図。
【図8】データ登録処理のフロー図。
【図9】データ出力処理のフロー図。
【図10】データ検査結果監視処理のフロー図。
【符号の説明】
【0084】
1…サーバ、2…ユーザ端末、3…検査定義情報提供端末、4…認証局、5…ネットワーク、11…CPU、12…メモリ、13…記憶装置、14…インタフェース、15…バス

【特許請求の範囲】
【請求項1】
ユーザ端末と接続される計算機において、
脅威の検知に関するファイルを保持し、
前記脅威の発生に応じて前記ファイルを更新し、
データを前記計算機に登録する際に、前記データに対する第一の検査を実行し、
前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記計算機に登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行する検査部を備える、計算機。
【請求項2】
前記第一及び第二の検査の結果は、前記ファイルを一意に示す検査定義ID、前記データの登録日時、及び前記データのハッシュ値を含む、請求項1記載の計算機。
【請求項3】
前記発生推定日時は、前記ファイルにおいて更新されている脅威が発見された日時から時間差を引いた日時である、請求項1記載の計算機。
【請求項4】
前記ユーザ端末から前記データの取得要求があった際、前記ユーザ端末に前記第二の検査の結果を送信し、前記ユーザ端末からユーザの確認情報を受信した後に、前記データを前記ユーザ端末に送信するサービス提供部を更に備える、請求項1記載の計算機。
【請求項5】
前記サーバは、前記ユーザ端末に配信後のデータの検査結果通知を希望するか否かの選択情報、及び前記ユーザ端末のアドレスを備え、
前記サービス提供部は、前記データの配信後に前記データに脅威が存在することが発見された場合には、前記アドレスに基づいて、前記ユーザ端末に、前記脅威が前記データに存在することを通知する、請求項4記載の計算機。
【請求項6】
前記サービス提供部は、前記脅威が前記データに存在することを通知する際、前記データに対する対策情報を併せて送信する、請求項5記載の計算機。
【請求項7】
前記脅威とは、ウィルスである、請求項1記載の計算機。
【請求項8】
ユーザ端末と計算機が接続され、前記ユーザ端末が前記計算機に登録したデータに対してセキュリティ検査を行う検査方法であって、
脅威の検知に関するファイルを、前記脅威の発生に応じて更新するステップと、
前記データを前記計算機に登録する際に、前記データに対する第一の検査を実行するステップと、
前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記計算機に登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行するステップを備える、検査方法。
【請求項9】
前記第一及び第二の検査の結果は、前記ファイルを一意に示す検査定義ID、前記データの登録日時、及び前記データのハッシュ値を含む、請求項8記載の検査方法。
【請求項10】
前記発生推定日時は、前記ファイルにおいて更新されている脅威が発見された日時から時間差を引いた日時である、請求項8記載の検査方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate