(57)【要約】【課題】ブラウザー使用時にＪＡＶＡスクリプト等のＷｅｂプログラムに関する動的なセキュリティ情報をクライアントのディスプレイ上で目視による確認ができるようにする。【解決手段】ユーザーはクライアントに接続するＷｅｂサーバーのアドレスを入力することで、Ｗｅｂサーバーにアクセスし、Ｗｅｂサーバーに格納されたソース文書は、インターネットを通してクライアントのハードディスクへダウンロードされ、ソースコピー文書が作成され、セキュリティ設定情報データーベースとソースコピーとの比較を行い、セキュリティ設定情報及びソースコピーに記述された各Ｗｅｂ用プログラム別の実行可否を示したセキュリティ情報を動的に取得し、画面表示する。その後にセキュリティチェックプログラムはソースコピーをブラウザーへ出力する。ブラウザーはその処理結果をクライアントの画面に表示する。【選択図】　図２
2004139372.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、ブラウザーから文書取得命令を受信する命令受信手段、前記文書取得命令にて指定された文書を取得する文書取得手段、取得した文書の内容をチェックしＷｅｂ用プログラムの種類を判別する文書チェック手段、ブラウザーのセキュリティ設定情報データーベースを参照して取得した文書に適用すべきセキュリティ設定を取得するセキュリティ設定情報取得手段、取得した文書の内容と適用すべきセキュリティ設定を比較してＷｅｂ用プログラム別に実行可否を判定するセキュリティ判定手段、前記Ｗｅｂ用プログラム別の実行可否決定状況を表示するセキュリティ情報表示手段、取得した文書をブラウザーへ出力する文書出力手段として機能させるためのセキュリティチェックプログラム。
【請求項２】
前記文書取得手段は、前記文書取得命令にて指定された文書をネットワークを介して取得することを特徴とする請求項１記載のセキュリティチェックプログラム。
【請求項３】
前記セキュリティ情報表示手段において、タスクバーにアイコンを表示し、前記Ｗｅｂ用プログラム別の実行可否状況によってアイコンの形を変化させることを特徴とした請求項２記載のセキュリティチェックプログラム。
【請求項４】
コンピュータに、既知の危険なＷｅｂプログラムに関する危険情報データーベースと前記データーベースを参照する手段、文書取得手段にて取得した文書と危険情報データーベースとを比較して危険情報の有無を判定する危険情報有無判定手段、前記危険情報有無判定結果を危険情報有無記憶手段に記憶する手段、前記危険情報有無を画面に表示する危険情報有無表示手段として機能させるための請求項３のセキュリティチェックプログラム
【請求項５】
前記危険情報有無判定手段で得られた危険情報有無の結果を元に、ＨＴＭＬ等ソース文書を修正するソース文書修正手段を持つことを特徴とする請求項４記載のセキュリティチェックプログラム。
【請求項６】
前記セキュリティ情報表示手段において、その内容をログファイルに出力することを特徴とした請求項１記載のセキュリティチェックプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ブラウザーのセキュリティチェックプログラムに関する。
【０００２】
【従来の技術】
近年、ＴＣＰ／ＩＰなどのオープンな技術を活用したインターネットやイントラネットと呼ばれるネットワークシステムが急速に広がっている。各家庭においてもブロードバンドとよばれる広帯域をもったＦＴＴＨやＡＤＳＬなどの回線を使用してインターネットに常時接続できるようになってきている。インターネットの代表的なアプリケーションとしてＷｅｂがある。これは、Ｗｅｂサーバーに保管されているホームページなどの文書を、インターネットを通してクライアントへダウンロードするシステムである。ホームページはＳＧＭＬやＸＭＬに準拠したＨＴＭＬやＸＨＴＭＬ等のマークアップランゲージを使って記述されており、ブラウザーと呼ばれる専用閲覧プログラムを使用することで、別のページへジャンプしたり、電子メールと連動するなどの動作が、マウスによるクリックだけで可能となる。さらに、ＨＴＭＬ等の文書にはＪＡＶＡスクリプト、ＶＢＳｃｒｉｐｔ、ＪＡＶＡアプレット、アクティブＸを使用することができる。これらは、アプリケーションであり、本明細書では以降、Ｗｅｂ用プログラムと呼ぶ。この技術により、ＨＴＭＬ製作者は、ユーザー側のＰＣ上でさらに動的なページ表現やハード制御が可能となる。例えば、自動的に別のページへジャンプしたり、別ウィンドウとしてメッセージボックスを表示する事ができ、非常に活用範囲が広い。アクティブＸではクライアントのハードウェアも制御可能となる。これらのＷｅｂ用プログラムはクライアント側の利用者が意識することなく、自動的に実行される。なお、ＪＡＶＡスクリプト、ＶＢＳｃｒｉｐｔはインタプリタであり、プログラムソースの状態でダウンロードされ、クライアントのブラウザーが実行する。これに対し、ＪＡＶＡアプレット、アクティブＸは実行プログラム形式であり、ＪＡＶＡアプレットは毎回ダウンロードされ、アクティブＸは一度ダウンロードされるとクライアントのハードディスク内に保存され、以降はダウンロードすることなくブラウザーから実行される。
【０００３】
以上のようなインフラの広がりや技術の進展により、インターネットを活用したビジネスも一般化してきている。Ｗｅｂの技術に暗号や認証の技術を組み合わせて、家庭内からインターネットを使った電子政府の実現やインターネットショッピング、バンキングが可能となっている。この場合、個人名や住所、電話番号といった個人情報、クレジットカード番号などの機密情報もＷｅｂを使って登録することもある。このような用途で安心して使用するには、セキュリティの確保が前提となる。
【０００４】
しかしながら、Ｗｅｂ用プログラムは、セキュリティの観点から見るとマイナス面が多い。例えば、Ｎｉｍｄａというコンピュータウィルスは、Ｗｅｂサーバーに侵入後、そのサーバーが提供するＨＴＭＬ文書を書き換え、そのホームページを閲覧するだけで、クライアントがウィルスに感染するＪＡＶＡスクリプトを埋め込んでいる。また、ＨＴＭＬ文書作成者に悪意がある場合、ブラウザークラッシャーと呼ばれる、クライアント側に不利益なＷｅｂ用プログラムを埋め込む場合がある。具体例として、無限ループを利用して電子メール送信ウィンドウを繰り返し開くといった迷惑行為や、特定のＯＳの動作を停止させることが可能である。
【０００５】
以上のように、Ｗｅｂ用プログラムは必要不可欠である反面、その使用にはリスクが生じる。こうした、問題に対処するため、マイクロソフト社のブラウザーであるインターネットエクスプローラーでは、複数のセキュリティゾーンを設け、各セキュリティゾーンの詳細設定をユーザーがカスタマイズできるようにすることでセキュリティを確保している。例えば、インターネットゾーン、イントラネットゾーン等が設けられ、個別に安全性の高さのレベルを各々設定できる。また、アクティブＸに関しては、安全であることを示すマークを付加できる。安全とマークされたアクティブＸのみ動作許可する設定もできる。さらに、閲覧中のＵＲＬがどのセキュリティゾーンに属するかをブラウザー中に表示するので、ユーザーは現在、どのセキュリティゾーンにいるのかを確認しながら閲覧できる。さらに、Ｗｅｂ用プログラム実行の際はその都度ユーザーに確認をとるような設定もできる。
【０００６】
また、特許文献１ではインターネット経由で受信されるＷｅｂ用プログラムにおけるセキュリティ技術が開示されている。同技術では１）プロキシサーバーにおける悪質プログラム検知　２）インターネットゲートウェイでのフィルタリング機能　３）クライアントマシンのブラウザーでのリアルタイム行動分析を行う。最終プロセスの３）では、不正プログラムとみられる疑わしいアプリケーションに対し、リアルタイムで検知・分析をおこない、セキュリティモニタリングプログラムにより包み込み、ただちに不正な動作を中断させる。
【０００７】
なお、この種の通信環境の設定や状態を確認して使用可能なソフトウェア選定する技術として特許文献２がある。また、文書を公開する側のセキュリティ技術として、特許文献３がある。
【特許文献１】米国特許　第６，２７２，６４１号（コラム３の１０行目から５８行目）
【特許文献２】特開２００１−７５７８７（段落番号０００４）
【特許文献３】特開２００１−３２５２４９（段落番号０００９）
【発明が解決しようとする課題】
しかしながら、上記の従来技術である特許文献１では、プロキシサーバーやインターネットゲートウェイとクライアントのブラウザーが連動して動作するものであり、個人レベルでのセキュリティ確保には仕掛けが大きすぎ不適切である。また、上記の各従来技術では、セキュリティゾーンレベルを画面に表示する事及びＷｅｂ用プログラムを使用不可、もしくは実行前にユーザーに確認をする設定が可能であるが、以下に示す２つの問題点を抱えている。
【０００８】
第一は、セキュリティゾーンの設定情報をユーザーが確認しにくいことである。上記の従来技術は、リアルタイムのセキュリティ情報として、どのセキュリティゾーンで閲覧しているかをユーザーへ通知する。従って、各セキュリティゾーンの詳細な設定情報を、ユーザーは事前に知っておく必要がある。だが、セキュリティゾーンの設定は階層が深く、また全セキュリティゾーンの設定一覧表などもなく、設定内容を確認する作業は面倒である。このため、ユーザーが正確な設定情報を把握しないままホームページを閲覧する事態が起こってしまう。例えば、ユーザーはＷｅｂ用プログラムを使用不可としているつもりでも実際の設定は異なり、Ｗｅｂ用プログラムが実行される設定となっている場合もありうる。このように、セキュリティの設定情報という基本的な情報において、ユーザーの認識と実際の設定とに差が出やすい環境となっていることが、第一の問題である。
【０００９】
第二に、閲覧するＨＴＭＬ文書にＷｅｂ用プログラムが記述されているか否かという情報をユーザーは知りえないことである。従来技術では、ユーザーにどのセキュリティゾーンで閲覧しているかを通知するだけであり、Ｗｅｂ用プログラムが実行されるタイミングは通知されない。このため、ユーザーはＷｅｂ用プログラムがいつ実行されているのか全く分からない。換言すれば、ユーザーはＨＴＭＬ文書にＷｅｂ用プログラムが記述されているか否かを知るすべがなく、危険度を推定できない。従って、ユーザーがセキュリティを確保するためには、Ｗｅｂ用プログラムを使用不可に設定するか、実行前にユーザーに確認にする設定せねばならない。これでは、実用的でない。
一般にセキュリティを確保する為には、セキュリティ関連情報を正確に把握すること必要がある。しかし従来技術では上記の様に、ユーザーに対し閲覧するＨＴＭＬ文書の危険度やブラウザーのセキュリティ設定情報という基本的な情報を通知しておらず、ユーザーはリスクを分析できないため、使いやすさを犠牲にするしかセキュリティを確保する手段がない。
【００１０】
本発明は、このような問題を鑑みなされたものであり、ブラウザーが実際に適用している設定情報と、閲覧するＨＴＭＬ文書の危険度をユーザーに伝える事で、セキュリティレベルの高いホームページ閲覧を行うことを目的としている。また、ブラウザーがＨＴＭＬ文書を処理する前にセキュリティチェックを行い、ＨＴＭＬ等ソース文書を修正する事で、既知の悪意のあるＷｅｂ用プログラムが実行されることを防止する。さらに、閲覧したＵＲＬとＪＡＶＡスクリプト等の起動状況をログとして残す事でウィルス感染時、感染経路を特定する手段を与える。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るセキュリティチェックプログラムは、ブラウザーから文書取得命令を受信する命令受信手段と、前記文書取得命令にて指定された文書を取得する文書取得手段と、取得した文書の内容をチェックしＷｅｂ用プログラムの種類を判別する文書チェック手段と、ブラウザーのセキュリティ設定情報データーベースを参照して取得した文書に適用すべきセキュリティ設定を取得するセキュリティ設定情報取得手段と、取得した文書の内容と適用すべきセキュリティ設定を比較してＷｅｂ用プログラム別に実行可否を判定するセキュリティ判定手段と、前記Ｗｅｂ用プログラム別の実行可否決定状況を表示するセキュリティ情報表示手段と、取得した文書をブラウザーへ出力する文書出力手段と、を備える。
【００１２】
この構成によれば、セキュリティチェックプログラムは、ブラウザーがＷｅｂ用プログラムを実行する前にＨＴＭＬ文書のセキュリティチェックを実行する。その結果得られるＨＴＭＬ文書のセキュリティ情報をＷｅｂ用プログラム別に、クライアントのディスプレイに表示することができる。これにより、従来得ることができなかった、ＨＴＭＬ文書の詳細なセキュリティ情報を、ユーザーが目視にて確認できるようになる。また、ブラウザーからの文書取得命令を受信できるので、従来のブラウザーによるホームページ閲覧と変わりない操作感がある。取得するＨＴＭＬ文書はインターネット上でもよいし、イントラネット上でもよく、またクライアントのハードディスク内にあっても構わない。
【００１３】
また、好適な態様では、危険であることが実証されているＷｅｂ用プログラム情報をデーターベース化し、ＨＴＭＬ文書と比較を行う手段とＨＴＭＬ文書から危険なＷｅｂ用プログラム部を削除する手段を設ける事で、既知の危険なＷｅｂ用プログラムが実行される脅威を取り除ける。
また、別の好適な態様では、前記Ｗｅｂ用プログラム別の実行可否の決定状況を表示する処理において、タスクバーにアイコンとして表示し危険度に応じてアイコンの形を変化させ、詳細情報はタスクバーのアイコンをクリックすることで表示する手段を設ける。これにより、ホームページ閲覧の邪魔にならない形で表示することができる。
また、別の好適な態様では、Ｗｅｂ用プログラム別の実行可否決定状況を表示するセキュリティ情報表示手段において、その内容を画面と共にログファイルにも出力する機能を設ける。これにより、Ｗｅｂプログラムが実行されたＵＲＬと時間、Ｗｅｂプログラムの種類を記録することができ、例えばＷｅｂからウィルスが侵入した疑いがある場合、その事実を特定するための資料となる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態（以下、実施形態という）について、図面に基づいて説明する。
図１は、本発明の前提となる実施形態の全体的な概要図である。ユーザーがＷｅｂサーバー１０にアクセスし、クライアントの画面９０に表示するまでの一連の流れで説明する。クライアント９０はＰＣ（パーソナルコンピュータ）や携帯情報端末、携帯電話等を指す。ユーザーはクライアントの画面９０から接続するＷｅｂサーバー１０のアドレスを示すＵＲＬ〔ｕｎｉｆｏｒｍ　ｒｅｓｏｕｒｃｅ　ｌｏｃａｔｏｒ〕を入力することで、Ｗｅｂサーバー１０にアクセスする。ＷｅｂサーバーとはＨＴＴＰ〔ｈｙｐｅｒ　ｔｅｘｔ　ｔｒａｎｓｆｅｒ　ｐｒｏｔｏｃｏｌ〕を用いた情報閲覧システムであり、Ｗｅｂサーバー１０に格納されたＨＴＭＬ等のソース文書２０は、インターネット３０を通してクライアントのハードディスク４０へダウンロードされ、ＨＴＭＬ等ソースコピー６０というコピー文書が作成される。各Ｗｅｂプログラムの実行可否等の設定情報は、セキュリティ設定情報データーベース５０に登録されている。インターネットエクスプローラー等のブラウザー７０は、ＨＴＭＬ等ソースコピー６０とセキュリティ設定情報データーベース５０を比較することで、各Ｗｅｂ用プログラムの実行可否を判断する。その判断に基づき実行した処理結果８０がクライアントの画面９０に表示される。
【００１５】
図２は本発明の実施形態の全体的なシステム概要図である。図１の実施形態にセキュリティチェックプログラム１００を追加する事で、従来行えなかったセキュリティ情報１１０の取得、表示を行う。まず、図１と同様の手順でＨＴＭＬ等ソースコピー６０を得る。次にセキュリティ設定情報データーベース５０とＨＴＭＬ等ソースコピー６０との比較を行い、セキュリティ設定情報及びＨＴＭＬ等ソースコピー６０に記述された各Ｗｅｂ用プログラム別の実行可否を示したセキュリティ情報１１０を動的に取得し、画面９０に画面表示する。その後にセキュリティチェックプログラム１１０はＨＴＭＬ等ソースコピー６０をブラウザー７０へ出力する。ブラウザー７０はその処理結果８０をクライアントの画面９０に表示する。これにより、ブラウザーのセキュリティ設定情報及びＨＴＭＬ等ソースコピー６０に記述された各Ｗｅｂ用プログラム別の実行可否を示したセキュリティ情報６３をユーザーへ通知する事ができる。
【００１６】
以上を具体的に実例にて説明する。ＨＴＭＬ等のソースコピー６０の内容例として、図３の悪意のないＨＴＭＬ文書例を用いる。一般にＨＴＭＬ文書はタグと呼ばれるマークで文章に意味付けされる。本例ではＪＡＶＡスクリプトとＪＡＶＡアプレットが記述されており、Ｊａｖａスクリプト開始タグ２０１である＜ＳＣＲＩＰＴ　からＪａｖａスクリプト終了タグ２０３である＜／ＳＣＲＩＰＴ＞までがＪＡＶＡスクリプト記述部である。Ｊａｖａスクリプト命令部２０２であるｄｏｃｕｍｅｎｔ．ｗｒｉｔｅ（”ここはＪａｖａＳｃｒｉｐｔを使用しています”）；が命令文であり、「ここはＪａｖａＳｃｒｉｐｔを使用しています」と画面に表示する。また、Ｊａｖａアプレット開始タグ２０４＜ＡＰＰＬＥからＪＡＶＡアプレット終了タグ２０６＜／ＡＰＰＬＥＴ＞まではＪＡＶＡアプレット記述部である。ＪＡＶＡアプレット命令部であるＳａｍｐｌｅＡｐｐｌｅｔがアプレット名であり、「ここはＪａｖａアプレットを使用しています」と表示する機能をもつ。また、Ｗｅｂ用プログラム未使用部２０７は「ここはＷｅｂプログラムは使っていません」とブラウザーのセキュリティ設定内容に関わらず常に画面に表示するものであり、Ｗｅｂ用プログラムとの比較のために記述している。
【００１７】
図４はセキュリティチェックプログラムの構成図である。ＯＳとしてマイクロソフト社のＷｉｎｄｏｗｓをブラウザーとしてマイクロソフト社のインターネットエクスプローラーを使用する。セキュリティチェックプログラム１００は起動すると同時にセキュリティ設定情報取得部１０１が、セキュリティ設定データーベース５０からセキュリティ設定情報１０３を取得し、セキュリティ情報記憶部１０２に保存する。Ｗｉｎｄｏｗｓの場合、セキュリティ設定データーベース５０の実態はレジストリであり、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥Ｍｉｃｒｏｓｏｆｔ￥Ｗｉｎｄｏｗｓ￥ＣｕｒｒｅｎｔＶｅｒｓｉｏｎ￥Ｉｎｔｅｒｎｅｔ　Ｓｅｔｔｉｎｇｓに保存されている。この下にＺｏｎｅ　Ｍａｐ　キー５１、Ｚｏｎｅｓキー５２という２つのキーがある。ＺｏｎｅＭａｐ　キー５１には各セキュリティゾーンの該当条件が登録されており、ＵＲＬ毎に適用するセキュリティゾーンの紐つけが行われている。Ｚｏｎｅｓキー５２は各セキュリティゾーンに実際にあてがわれるセキュリティ設定情報が登録されている。例えばインターネットゾーンのデフォルト設定値ではＪＡＶＡスクリプトは全て実行可能であるが、本キーを修正することで、ＪＡＶＡスクリプトを実行不可にユーザーが設定変更できる。
【００１８】
図５にセキュリティ設定情報例を示しながら、セキュリティ設定情報１０３の作成手順を説明する。セキュリティ設定情報１０３は大きく４列、４行の構成をとる。列はセキュリティゾーン１２１、種別１２２、ブラウザー設定値１２３、セキュリティゾーン該当条件１２４に分類される。セキュリティゾーン１２１、種別１２２の内容は固定である。ブラウザー設定値１２３はＺｏｎｅｓキー５２を、セキュリティゾーン該当条件１２４はＺｏｎｅＭａｐ　キー５１をそれぞれ参照して作成する。行は大きくインターネットゾーン１２５、イントラネットゾーン１２６、信頼済みサイト１２７、制限付きサイト１２７がある。それぞれ、アクティブＸ、アプレット、スクリプトの４つの種別をデフォルト値として持っている。Ｚｏｎｅｓキー５２の下に１〜４までのサブキーがあり、１はイントラネットゾーン、２は信頼済みゾーン、３はインターネットゾーン、４は制限付きサイトゾーンを表している。各サブキーの下に複数のキーとＤＷＯＲＤ値が保存されており、キーが設定対象をＤＷＯＲＤ値が設定内容を示している。キーの値の意味として、１２００がアクティブＸの動作可否、１４００がスクリプトの動作可否、１Ｃ００がアプレットの動作可否を示している。それぞれについてＤＷＯＲＤ値０または１または３が設定されており、０ならば動作可能、１ならばプロンプトの表示、３ならば動作不可を示している。セキュリティ設定情報取得部１０１はレジストリのＺｏｎｅｓキー５２を参照することでブラウザ設定値１２３を設定する。ＤＷＯＲＤ値が０なら有効、１ならプロンプト、３なら無効と表示する。本例では、サブキー３にある１２００キーのＤＷＯＲＤ値が０であるので、インターネットゾーン１２５のアクティブＸのブラウザー設定値１２３は有効となる。なお、アプレットの動作を規定する１Ｃ００のみ上記の０，１，３３種類に加えて別の値を設定でき、動作時の安全性を４段階に細かく特定できる。しかし、セキュリティチェックプログラム１００では０、１、３以外の値を全て動作可能である０とみなし、単に有効と判定する。
【００１９】
次にセキュリティゾーン該当条件１２４の設定方法を説明する。ＺｏｎｅＭａｐ　キー５１の下にＤｏｍａｉｎｓキーがある。その下にＵＲＬを示すキーが複数あり、各ＵＲＬ別にどのセキュリティゾーンに属するのかがＤＷＯＲＤ値として設定している。設定値１はイントラネットゾーン、２は信頼済みゾーン、３はインターネットゾーン、４は制限付きサイトゾーンを表している。本例では、Ｄｏｍａｉｎｓキーの下にｂｂｂ．ｂｂｂ．ｂｂｂキーがありそのＤＷＯＲＤ値が４の場合を想定しており、制限付きサイト１２８のセキュリティゾーン該当条件１２４にＵＲＬｂｂｂ．ｂｂｂ．ｂｂｂを設定している。以上説明した方法で、ブラウザーのセキュリティ設定データーベースの情報を参照し、セキュリティチェックプログラム１００はセキュリティ設定情報１０３を作成する。
【００２０】
次に図４を用いて、ＨＴＭＬ文書６０を取得し、文書情報１０８を作成するまでの流れを説明する。ブラウザー７０からの文書取得命令をセキュリティチェックプログラム１００の命令受信部１０５で受信する。その内容を受けて文書取得部１０６は指定されたＵＲＬにアクセスしＨＴＭＬ文書等ソース２０を取得する。例えば、ブラウザー７０から文書取得命令ｈｔｔｐ：／／ａａａ．ａａａ．ａａａ／ｚｅｎｉ．ｈｔｍｌが指定された場合、命令受信部１０５は本命令を受け取り、そのまま文書取得部１０６へ渡す。文書取得部１０６は本命令を実行し、文書をダウンロードする。このとき、ＵＲＬはａａａ．ａａａ．ａａａであり、文書名はｚｅｎｉ．ｈｔｍとなる。文書取得部１０６はＵＲＬをｈｔｔｐ：／／から次の／までの間をとして認識する。また、命令の最後尾にある／以降の部分を文書名として認識する。
【００２１】
本例ではｚｅｎｉ．ｈｔｍの内容を図３に示した悪意のない文書例する。文書チェック部１０７はＨＴＭＬ等ソースコピー６０の内容をチェックし、文書情報１０８を作成する。図６は文書情報の例である。ＵＲＬ１３１は文書が保存されていたＵＲＬを記録する。文書名１３２はＨＴＭＬ等ソースコピー６０の文書名を記録する。種別１３３は固定値であり、Ｗｅｂ用プログラムの種類別に３つに区分される。有無１３４はそれぞれのＷｅｂ用プログラムがＨＴＭＬ等ソースコピー６０に記述されているか否かを示す。前記、文書取得部１０６にて取得したＵＲＬ及び文書名の情報をＵＲＬ１３１、文書名１３２に展開する。次にｚｅｎｉ．ｈｔｍの内容をチェックしそのタグ情報からＷｅｂプログラムの有無をチェックする。
【００２２】
図７にＷｅｂプログラム種別毎のタグ情報を示す。プログラム種別３０１としてアクティブＸ３０４、アプレット３０５、スクリプト３０６の３種がある。それぞれに、開始タグ３０２終了タグ３０３が登録されている。アクティブＸは＜ＯＢＪＥＣＴが開始タグ、＜／ＯＢＪＥＣＴ＞が終了タグタグである。同様にＪＡＶＡアプレットは＜ＡＰＰＬＥＴが開始タグ、終了タグは＜／ＡＰＰＬＥＴ＞、ＪＡＶＡスクリプト及びＶＢＳｃｒｉｐｔは＜ＳＣＲＩＰＴが開始タグ、＜／ＳＣＲＩＰＴ＞が終了タグである。この情報と図３に示したｚｅｎｉ．ｈｔｍの内容とを比較することで、文書情報１０８中の各Ｗｅｂプログラム別の有無１３４をチェックする。図３の＜ＳＣＲＩＰＴ２０１及び＜／ＳＣＲＩＰＴ＞２０３がスクリプト関連タグ３０６に該当し、同様に＜ＡＰＰＬＥＴ２０４、＜／ＡＰＰＬＥＴ＞２０６がアプレット関連タグ３０５に該当する。また、アクティブＸ関連タグ３０４は存在しないことが分かる。従って、各Ｗｅｂプログラム別の有無１４４のアプレット及びスクリプトは有りとなり、アクティブは無しとなる。以上、説明した手順にてＨＴＭＬ等ソースコピー６０に関する文章情報１０８を得ることができる。
【００２３】
次に、セキュリティ設定情報１０３と文書情報１０８を突合せ、セキュリティ情報１１０を作成し、画面に表示する手順を説明する。図８はセキュリティ情報の例である。図５のセキュリティ設定情報１０３をベースに適用状況１４１、ＵＲＬ１３１、文書名１３２という３つの列を追加した形である。セキュリティ判定部１０４はまずセキュリティ設定情報１０３のセキュリティゾーン１２１、種別１２２、ブラウザ設定値１２３、セキュリティ該当条件１２４をセキュリティ情報１１０に転記する。次に、文書情報１０８のＵＲＬ１３１とセキュリティ設定情報１０３のセキュリティ該当ゾーン１２４とを比較することで、そのＵＲＬがどのセキュリティゾーンに該当するかを判定する。本例では、セキュリティ該当条件１２４から、ｂｂｂ．ｂｂｂ．ｂｂｂが制限付きゾーンでありそれ以外はインターネットゾーンとの設定値を得て、ａａａ．ａａａ．ａａａをインターネットゾーンと判定する。そして、インターネットゾーン１２５の欄に文書情報１０８のＵＲＬ１３１、文書名１３２を転記する。本例ではＵＲＬにａａａ．ａａａ．ａａａを、文書名にｚｅｎｉ．ｈｔｍｌをそれぞれ転記する。それ以外のゾーン１２６、１２７、１２８の適用状況１４１、ＵＲＬ１３１、文書名１３２は非該当であるので、−と表示する。
【００２４】
次に適用状況１４１をセキュリティ設定情報１１０のブラウザー設定値１２３と文書情報１０８の有無１３４を比較して決定する。決定条件は次の通りである。ブラウザー設定値１２３が有効の時、有無１３４で有りならば実行中と判定する、無しならば該当無しと判定する。ブラウザー設定値１２３が無効の時、有無１３４で有りならば停止と判定する、無しならば該当無しと判定する。ブラウザー設定値１２３がプロンプトの時、有無１３４で有りならばプロンプトと判定する、無しならば該当無しと判定する。本例では、アクティブＸは有効と設定されているが、文書中に存在しないので、該当無しとなる。アプレットは無効と設定されていて、文書中に存在するので、停止となる。スクリプトは有効と設定されていて、文書中に存在するので、実行中となる。以上の手順で得た、セキュリティ情報１１０をセキュリティ情報表示部１１１が画面９０に表示をする。また、セキュリティ判定部１０４はセキュリティ判定終了後、文書出力部１０９を通してＨＴＭＬ等ソースコピー６０をブラウザー７０へ出力する。ブラウザー７０は実行結果８０を画面９０へ出力する。
【００２５】
図９に本発明の使用画面例を示す。画面９０にブラウザーウィンドウ４０１が表示される。ブラウザー７０はＵＲＬ情報４０２、セキュリティゾーン情報４０５をデフォルトで表示する。また、ウィンドウ４０１内にＪＡＶＡスクリプト表示部４０３に『ここはＪＡＶＡスクリプトを使用しています。』とＷｅｂプログラム未使用の表示部４０４『ここはＷｅｂプログラムは使っていません』が実行結果として表示されている。図３のＪＡＶＡスクリプト命令部２０２ｄｏｃｕｍｅｎｔ．ｗｒｉｔｅ（”ここは、ＪａｖａＳｃｒｉｐｔを使用しています．”）；及びＷｅｂプログラム未使用部２０７ここは、Ｗｅｂプログラムは使っていませんが実行された事がわかる。また、ＪＡＶＡアプレット命令部２０５は「ここはＪａｖａアプレットを使用しています」との表示がないことから動作していないと確認できる。アプレットが動作しなかったのは、セキュリティ設定データーベース５０にてアプレットを無効と設定している為である。
【００２６】
セキュリティチェックプログラム１００のセキュリティ情報表示部１１１は、セキュリティ情報１１０のＷｅｂ用プログラムの種別１２２とその適用状況１４１の情報をタスクバー４０６にセキュリティチェックプログラムのアイコン４０７として表示する。本例では、アクティブＸ該当無し、スクリプト動作中、アプレット停止と表示する。この情報は、ブラウザーウィンドウ４０１の内容と一致しているのみならず、アクティブＸはＨＴＭＬの中に記述されていないこと及びアプレットは記述されていたがセキュリティ設定データーベース５０にて無効と設定されていたため、停止された事をユーザーに知らせている。
【００２７】
以上、説明したように本発明によると、従来得ることができなかった、Ｗｅｂ用プログラムの実行状態をリアルタイムに画面に表示することができる。本例では、ブラウザーがユーザーに示す情報はＵＲＬ４０２とセキュリティゾーン４０５であり、Ｗｅｂプログラムの動作状況に関しては何の情報もない。本発明ならば、各Ｗｅｂ用プログラムの種別毎に現在どのような動作状況であるかを常に表示できる。ユーザーはその状況を確認しながら作業できるので、知らない内にＷｅｂ用プログラムが実行されるといった事態を回避できる。なお、タスクバーへの表示は説明のために文章を使用したが、視覚的に分かりやすいアイコンを用いてもかまわない。さらに、セキュリティチェックプログラムのアイコン４０７をダブルクリックすることで、図８のセキュリティ情報１１０を画面に表示する機能を設けることで、より詳細な情報をユーザーに提供できる。
【００２８】
〈変形例１〉以上の例では、ブラウザーのセキュリティ設定情報及び表示対象文書の情報を取得し比較することで、ユーザーにＷｅｂ用プログラムの動作状況をリアルタイムに知らせる手段を説明した。これに対し、この変形例では既知の悪意があるスクリプトに対する対応手段を説明する。この変形例では既知の悪意があるスクリプト例をデーターベース化して文書チェック部１０７で参照する機能を付加する。文書チェック部１０７はこのデーターベースを参照して、ＨＴＭＬ等ソースコピー６０と比較し、悪意があるスクリプトが含まれているか否かをチェックする。悪意があるスクリプトの混入が認められた場合、その情報は文書出力部１０９に渡され、悪意ある部分を削除した後、ＨＴＭＬ文書をブラウザーへ引き渡す。
【００２９】
例えば、図１０に悪意がある文書例を示す。ＪＡＶＡスクリプト開始タグ５０１＜ＳＣＲＩＰＴ　ＬＡＮＧＵＡＧＥ＝”ＪａｖａＳｃｒｉｐｔ”＞からＪＡＶＡスクリプト終了タグ５０５＜／ＳＣＲＩＰＴ＞までがＪＡＶＡスクリプト記述部だある。無限ループ文５０２ｆｏｒ（；；）｛から繰り返し部５０４｝までがｆｏｒ文で囲まれたループ命令である。このｆｏｒ文にはループ回数が設定されていないので、実行すると無限ループに入ってしまう。その間に記述されている新規ウィンドウ表示部５０３ｗｉｎｄｏｗ．ｏｐｅｎ（”ｅｔｅｒｎａｌ．ｈｔｍｌ”）が繰り返される命令であり、本例ではウィンドウを新規に作成する命令が記述されている。従って、本ＨＴＭＬ文書を表示した場合、ＰＣの処理限界がくるまで、ウィンドウを開きつづけることとなる。
【００３０】
このような状況は、悪意がある命令を事前に登録し、文書表示前にチェックすることで回避できる。セキュリティチェックプログラム１００の文書チェック部１０７にｆｏｒ（；；）等の既知の悪意があるプログラムを複数、登録する危険データーベースを追加する。文書チェック部１０７は、文書チェック時に、スクリプト開始タグである＜ＳＣＲＩＰＴ　ＬＡＮＧＵＡＧＥ＝”ＪａｖａＳｃｒｉｐｔ”＞をチェックしＷｅｂ用プログラムの開始位置を取得する。次に登録された悪意がある命令を参照し、スクリプト開始位置から順に問題文字列の有無をスキャンする。この動作をスクリプト終了タグである＜／ＳＣＲＩＰＴ＞まで行う。該当する文字列がなかった場合、次の命令文を得て、スキャンを繰り返す。問題文字列が見つかった場合、スクリプト開始タグ＜ＳＣＲＩＰＴ　ＬＡＮＧＵＡＧＥ＝”ＪａｖａＳｃｒｉｐｔ”＞からスクリプト終了タグ＜／ＳＣＲＩＰＴ＞の間を全てスペースに置き換える。本例では、ｆｏｒ（；；）が存在するので＜ＳＣＲＩＰＴ　ＬＡＮＧＵＡＧＥ＝”ＪａｖａＳｃｒｉｐｔ”＞から＜／ＳＣＲＩＰＴ＞までの文字列は全てスペースに置き換えられる。このようにＷｅｂ用プログラムを削除するので、ユーザーに被害は及ばない。また、悪意があるプログラムが発見された場合、セキュリティ情報１１０の適用状況１４１に問題有り等の情報を記録することで、悪意がある文書を閲覧したことをユーザーに知らせることができる。例示したＪＡＶＡスクリプトだけでなく、ＶＢスクリプトについても同様に適用できる。
【００３１】
〈変形例２〉変形例１では既知の悪意があるスクリプトへの対応を記述したが、未知のウィルス等がＷｅｂ用プログラムの形で記述されている場合は、これを防ぐことは本発明ではできない。しかしながら、こうした問題が発生した場合に、どのＵＲＬで被害にあったのかを特定するための、ログを作成することができる。セキュリティ情報表示部１１１は単に画面９０へセキュリティ情報１１０の内容を表示していただけであったが、変形例２ではハードディスク上の特定のファイルにログとして追記する機能を付加する。
【００３２】
図１１はログの例である。セキュリティ情報１１０のデータに閲覧日時を付加したフォーマットとなっている。ログを書き出すタイミングは画面９０へセキュリティ情報１１０を表示するタイミングと同じなので、追記する時間をＰＣのシステム時刻から取得することで、日付６０１時間６０２を記録する。その他の項目はセキュリティ情報１１０から転記可能である。本例では、３月２９日に３回ホームページを閲覧し、３回目の閲覧時に既知の悪意あるスクリプトを検出している。
なお、以上の実施例では、ユーザーに提供する文書のフォーマットとしてＨＴＭＬを例にとったが、ＸＭＬ等のマークアップランゲージでも同様に適用できる。また、プロトコルとしてｈｔｔｐを例にとったが、ｈｔｔｐｓ等のプロトコルにも同様に適用できる。その際は、セキュリティ設定データーベースのプロトコル記述部であるｚｏｎｅＭａｐキーの下のＰｒｏｔｏｃｏｌＤｅｆａｕｌｔｓキーを参照し、各プロトコルでどのセキュリティゾーンが適用されるかという情報を取得する必要がある。
【００３３】
【発明の効果】
本発明によれば、ブラウザーのセキュリティ関連設定情報及び閲覧するホームページの内容を一覧表として表示できる。また、Ｗｅｂ用プログラムの動作状況をリアルタイムでタスクバーにアイコンとして表示する。さらに、既知の悪意のあるＷｅｂプログラムを検知し、ＨＴＭＬ等文書ソースを修正するので安全なホームページ閲覧ができる。さらに、文書閲覧の記録をログとして残すことで、いつ、どこで、どんなＷｅｂ用プログラムが起動したかを確認でき、問題発生時の原因特定を容易にする。
【００３４】
以上により、個人ユーザーでも実装できる仕掛けで、ユーザーのホームページ閲覧に伴うリスクを大幅の削減する。
【図面の簡単な説明】
【図１】本発明の前提となる実施形態の全体的な概要図である。
【図２】本発明の実施形態の全体的なシステム概要図である。
【図３】一般的な悪意のないＨＴＭＬ文書例である。
【図４】本発明のセキュリティチェックプログラムの構成図である。
【図５】本発明で収集するセキュリティ設定情報例である。
【図６】本発明で収集する文書情報の例である。
【図７】本発明で対応するＷｅｂプログラム種別毎のタグ情報である。
【図８】本発明でユーザーに表示するセキュリティ情報の例である。
【図９】本発明を使用した画面例である。
【図１０】変形例１で実行阻止可能な悪意がある文書例である。
【図１１】変形例２で出力するログの例である。
【符号の説明】
１０　Ｗｅｂサーバー
２０　ＨＴＭＬ等ソース文書
３０　インターネット
５０　セキュリティ設定データベース
６０　ＨＴＭＬ等ソースコピー
７０　ブラウザ
９０　画面
１００　セキュリティチェックプログラム
１１０　セキュリティ情報
１０３　セキュリティ設定情報
１０８　文書情報
４０７　セキュリティチェックプログラムのアイコン
【図１】
2004139372.tif 000003
【図２】
2004139372.tif 000004
【図３】
2004139372.tif 000005
【図４】
2004139372.tif 000006
【図５】
2004139372.tif 000007
【図６】
2004139372.tif 000008
【図７】
2004139372.tif 000009
【図８】
2004139372.tif 000010
【図９】
2004139372.tif 000011
【図１０】
2004139372.tif 000012
【図１１】
2004139372.tif 000013