JP4232431B2 - ブラウザー関連のセキュリティチェックプログラム - Google Patents
ブラウザー関連のセキュリティチェックプログラム Download PDFInfo
- Publication number
- JP4232431B2 JP4232431B2 JP2002303721A JP2002303721A JP4232431B2 JP 4232431 B2 JP4232431 B2 JP 4232431B2 JP 2002303721 A JP2002303721 A JP 2002303721A JP 2002303721 A JP2002303721 A JP 2002303721A JP 4232431 B2 JP4232431 B2 JP 4232431B2
- Authority
- JP
- Japan
- Prior art keywords
- security
- document
- information
- browser
- program
- 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
【発明の属する技術分野】
本発明は、ブラウザーのセキュリティチェックプログラムに関する。
【0002】
【従来の技術】
近年、TCP/IPなどのオープンな技術を活用したインターネットやイントラネットと呼ばれるネットワークシステムが急速に広がっている。各家庭においてもブロードバンドとよばれる広帯域をもったFTTHやADSLなどの回線を使用してインターネットに常時接続できるようになってきている。インターネットの代表的なアプリケーションとしてWebがある。これは、Webサーバーに保管されているホームページなどの文書を、インターネットを通してクライアントへダウンロードするシステムである。ホームページはSGMLやXMLに準拠したHTMLやXHTML等のマークアップランゲージを使って記述されており、ブラウザーと呼ばれる専用閲覧プログラムを使用することで、別のページへジャンプしたり、電子メールと連動するなどの動作が、マウスによるクリックだけで可能となる。さらに、HTML等の文書にはJAVAスクリプト、VBScript、JAVAアプレット、アクティブXを使用することができる。これらは、アプリケーションであり、本明細書では以降、Web用プログラムと呼ぶ。この技術により、HTML製作者は、ユーザー側のPC上でさらに動的なページ表現やハード制御が可能となる。例えば、自動的に別のページへジャンプしたり、別ウィンドウとしてメッセージボックスを表示する事ができ、非常に活用範囲が広い。アクティブXではクライアントのハードウェアも制御可能となる。これらのWeb用プログラムはクライアント側の利用者が意識することなく、自動的に実行される。なお、JAVAスクリプト、VBScriptはインタプリタであり、プログラムソースの状態でダウンロードされ、クライアントのブラウザーが実行する。これに対し、JAVAアプレット、アクティブXは実行プログラム形式であり、JAVAアプレットは毎回ダウンロードされ、アクティブXは一度ダウンロードされるとクライアントのハードディスク内に保存され、以降はダウンロードすることなくブラウザーから実行される。
【0003】
以上のようなインフラの広がりや技術の進展により、インターネットを活用したビジネスも一般化してきている。Webの技術に暗号や認証の技術を組み合わせて、家庭内からインターネットを使った電子政府の実現やインターネットショッピング、バンキングが可能となっている。この場合、個人名や住所、電話番号といった個人情報、クレジットカード番号などの機密情報もWebを使って登録することもある。このような用途で安心して使用するには、セキュリティの確保が前提となる。
【0004】
しかしながら、Web用プログラムは、セキュリティの観点から見るとマイナス面が多い。例えば、Nimdaというコンピュータウィルスは、Webサーバーに侵入後、そのサーバーが提供するHTML文書を書き換え、そのホームページを閲覧するだけで、クライアントがウィルスに感染するJAVAスクリプトを埋め込んでいる。また、HTML文書作成者に悪意がある場合、ブラウザークラッシャーと呼ばれる、クライアント側に不利益なWeb用プログラムを埋め込む場合がある。具体例として、無限ループを利用して電子メール送信ウィンドウを繰り返し開くといった迷惑行為や、特定のOSの動作を停止させることが可能である。
【0005】
以上のように、Web用プログラムは必要不可欠である反面、その使用にはリスクが生じる。こうした、問題に対処するため、マイクロソフト社のブラウザーであるインターネットエクスプローラーでは、複数のセキュリティゾーンを設け、各セキュリティゾーンの詳細設定をユーザーがカスタマイズできるようにすることでセキュリティを確保している。例えば、インターネットゾーン、イントラネットゾーン等が設けられ、個別に安全性の高さのレベルを各々設定できる。また、アクティブXに関しては、安全であることを示すマークを付加できる。安全とマークされたアクティブXのみ動作許可する設定もできる。さらに、閲覧中のURLがどのセキュリティゾーンに属するかをブラウザー中に表示するので、ユーザーは現在、どのセキュリティゾーンにいるのかを確認しながら閲覧できる。さらに、Web用プログラム実行の際はその都度ユーザーに確認をとるような設定もできる。
【0006】
また、特許文献1ではインターネット経由で受信されるWeb用プログラムにおけるセキュリティ技術が開示されている。同技術では1)プロキシサーバーにおける悪質プログラム検知 2)インターネットゲートウェイでのフィルタリング機能 3)クライアントマシンのブラウザーでのリアルタイム行動分析を行う。最終プロセスの3)では、不正プログラムとみられる疑わしいアプリケーションに対し、リアルタイムで検知・分析をおこない、セキュリティモニタリングプログラムにより包み込み、ただちに不正な動作を中断させる。
【0007】
なお、この種の通信環境の設定や状態を確認して使用可能なソフトウェア選定する技術として特許文献2がある。また、文書を公開する側のセキュリティ技術として、特許文献3がある。
【特許文献1】
米国特許 第6,272,641号(コラム3の10行目から58行目)
【特許文献2】
特開2001−75787(段落番号0004)
【特許文献3】
特開2001−325249(段落番号0009)
【発明が解決しようとする課題】
しかしながら、上記の従来技術である特許文献1では、プロキシサーバーやインターネットゲートウェイとクライアントのブラウザーが連動して動作するものであり、個人レベルでのセキュリティ確保には仕掛けが大きすぎ不適切である。また、上記の各従来技術では、セキュリティゾーンレベルを画面に表示する事及びWeb用プログラムを使用不可、もしくは実行前にユーザーに確認をする設定が可能であるが、以下に示す2つの問題点を抱えている。
【0008】
第一は、セキュリティゾーンの設定情報をユーザーが確認しにくいことである。上記の従来技術は、リアルタイムのセキュリティ情報として、どのセキュリティゾーンで閲覧しているかをユーザーへ通知する。従って、各セキュリティゾーンの詳細な設定情報を、ユーザーは事前に知っておく必要がある。だが、セキュリティゾーンの設定は階層が深く、また全セキュリティゾーンの設定一覧表などもなく、設定内容を確認する作業は面倒である。このため、ユーザーが正確な設定情報を把握しないままホームページを閲覧する事態が起こってしまう。例えば、ユーザーはWeb用プログラムを使用不可としているつもりでも実際の設定は異なり、Web用プログラムが実行される設定となっている場合もありうる。このように、セキュリティの設定情報という基本的な情報において、ユーザーの認識と実際の設定とに差が出やすい環境となっていることが、第一の問題である。
【0009】
第二に、閲覧するHTML文書にWeb用プログラムが記述されているか否かという情報をユーザーは知りえないことである。従来技術では、ユーザーにどのセキュリティゾーンで閲覧しているかを通知するだけであり、Web用プログラムが実行されるタイミングは通知されない。このため、ユーザーはWeb用プログラムがいつ実行されているのか全く分からない。換言すれば、ユーザーはHTML文書にWeb用プログラムが記述されているか否かを知るすべがなく、危険度を推定できない。従って、ユーザーがセキュリティを確保するためには、Web用プログラムを使用不可に設定するか、実行前にユーザーに確認にする設定せねばならない。これでは、実用的でない。
一般にセキュリティを確保する為には、セキュリティ関連情報を正確に把握すること必要がある。しかし従来技術では上記の様に、ユーザーに対し閲覧するHTML文書の危険度やブラウザーのセキュリティ設定情報という基本的な情報を通知しておらず、ユーザーはリスクを分析できないため、使いやすさを犠牲にするしかセキュリティを確保する手段がない。
【0010】
本発明は、このような問題を鑑みなされたものであり、ブラウザーが実際に適用している設定情報と、閲覧するHTML文書の危険度をユーザーに伝える事で、セキュリティレベルの高いホームページ閲覧を行うことを目的としている。また、ブラウザーがHTML文書を処理する前にセキュリティチェックを行い、HTML等ソース文書を修正する事で、既知の悪意のあるWeb用プログラムが実行されることを防止する。さらに、閲覧したURLとJAVAスクリプト等の起動状況をログとして残す事でウィルス感染時、感染経路を特定する手段を与える。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るセキュリティチェックプログラムは、ブラウザーから文書取得命令を受信する命令受信手段と、前記文書取得命令にて指定された文書を取得する文書取得手段と、取得した文書の内容をチェックしWeb用プログラムの種類を判別する文書チェック手段と、ブラウザーのセキュリティ設定情報データーベースを参照して取得した文書に適用すべきセキュリティ設定を取得するセキュリティ設定情報取得手段と、取得した文書の内容と適用すべきセキュリティ設定を比較してWeb用プログラム別に実行可否を判定するセキュリティ判定手段と、前記Web用プログラム別の実行可否決定状況を表示するセキュリティ情報表示手段と、取得した文書をブラウザーへ出力する文書出力手段と、を備える。
【0012】
この構成によれば、セキュリティチェックプログラムは、ブラウザーがWeb用プログラムを実行する前にHTML文書のセキュリティチェックを実行する。その結果得られるHTML文書のセキュリティ情報をWeb用プログラム別に、クライアントのディスプレイに表示することができる。これにより、従来得ることができなかった、HTML文書の詳細なセキュリティ情報を、ユーザーが目視にて確認できるようになる。また、ブラウザーからの文書取得命令を受信できるので、従来のブラウザーによるホームページ閲覧と変わりない操作感がある。取得するHTML文書はインターネット上でもよいし、イントラネット上でもよく、またクライアントのハードディスク内にあっても構わない。
【0013】
また、好適な態様では、危険であることが実証されているWeb用プログラム情報をデーターベース化し、HTML文書と比較を行う手段とHTML文書から危険なWeb用プログラム部を削除する手段を設ける事で、既知の危険なWeb用プログラムが実行される脅威を取り除ける。
また、別の好適な態様では、前記Web用プログラム別の実行可否の決定状況を表示する処理において、タスクバーにアイコンとして表示し危険度に応じてアイコンの形を変化させ、詳細情報はタスクバーのアイコンをクリックすることで表示する手段を設ける。これにより、ホームページ閲覧の邪魔にならない形で表示することができる。
また、別の好適な態様では、Web用プログラム別の実行可否決定状況を表示するセキュリティ情報表示手段において、その内容を画面と共にログファイルにも出力する機能を設ける。これにより、Webプログラムが実行されたURLと時間、Webプログラムの種類を記録することができ、例えばWebからウィルスが侵入した疑いがある場合、その事実を特定するための資料となる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態(以下、実施形態という)について、図面に基づいて説明する。
図1は、本発明の前提となる実施形態の全体的な概要図である。ユーザーがWebサーバー10にアクセスし、クライアントの画面90に表示するまでの一連の流れで説明する。クライアント90はPC(パーソナルコンピュータ)や携帯情報端末、携帯電話等を指す。ユーザーはクライアントの画面90から接続するWebサーバー10のアドレスを示すURL〔uniform resource locator〕を入力することで、Webサーバー10にアクセスする。WebサーバーとはHTTP〔hyper text transfer protocol〕を用いた情報閲覧システムであり、Webサーバー10に格納されたHTML等のソース文書20は、インターネット30を通してクライアントのハードディスク40へダウンロードされ、HTML等ソースコピー60というコピー文書が作成される。各Webプログラムの実行可否等の設定情報は、セキュリティ設定情報データーベース50に登録されている。インターネットエクスプローラー等のブラウザー70は、HTML等ソースコピー60とセキュリティ設定情報データーベース50を比較することで、各Web用プログラムの実行可否を判断する。その判断に基づき実行した処理結果80がクライアントの画面90に表示される。
【0015】
図2は本発明の実施形態の全体的なシステム概要図である。図1の実施形態にセキュリティチェックプログラム100を追加する事で、従来行えなかったセキュリティ情報110の取得、表示を行う。まず、図1と同様の手順でHTML等ソースコピー60を得る。次にセキュリティ設定情報データーベース50とHTML等ソースコピー60との比較を行い、セキュリティ設定情報及びHTML等ソースコピー60に記述された各Web用プログラム別の実行可否を示したセキュリティ情報110を動的に取得し、画面90に画面表示する。その後にセキュリティチェックプログラム110はHTML等ソースコピー60をブラウザー70へ出力する。ブラウザー70はその処理結果80をクライアントの画面90に表示する。これにより、ブラウザーのセキュリティ設定情報及びHTML等ソースコピー60に記述された各Web用プログラム別の実行可否を示したセキュリティ情報63をユーザーへ通知する事ができる。
【0016】
以上を具体的に実例にて説明する。HTML等のソースコピー60の内容例として、図3の悪意のないHTML文書例を用いる。一般にHTML文書はタグと呼ばれるマークで文章に意味付けされる。本例ではJAVAスクリプトとJAVAアプレットが記述されており、Javaスクリプト開始タグ201である<SCRIPT からJavaスクリプト終了タグ203である</SCRIPT>までがJAVAスクリプト記述部である。Javaスクリプト命令部202であるdocument.write("ここはJavaScriptを使用しています");が命令文であり、「ここはJavaScriptを使用しています」と画面に表示する。また、Javaアプレット開始タグ204<APPLEからJAVAアプレット終了タグ206</APPLET>まではJAVAアプレット記述部である。JAVAアプレット命令部であるSampleAppletがアプレット名であり、「ここはJavaアプレットを使用しています」と表示する機能をもつ。また、Web用プログラム未使用部207は「ここはWebプログラムは使っていません」とブラウザーのセキュリティ設定内容に関わらず常に画面に表示するものであり、Web用プログラムとの比較のために記述している。
【0017】
図4はセキュリティチェックプログラムの構成図である。OSとしてマイクロソフト社のWindowsをブラウザーとしてマイクロソフト社のインターネットエクスプローラーを使用する。セキュリティチェックプログラム100は起動すると同時にセキュリティ設定情報取得部101が、セキュリティ設定データーベース50からセキュリティ設定情報103を取得し、セキュリティ情報記憶部102に保存する。Windowsの場合、セキュリティ設定データーベース50の実態はレジストリであり、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settingsに保存されている。この下にZone Map キー51、Zonesキー52という2つのキーがある。ZoneMap キー51には各セキュリティゾーンの該当条件が登録されており、URL毎に適用するセキュリティゾーンの紐つけが行われている。Zonesキー52は各セキュリティゾーンに実際にあてがわれるセキュリティ設定情報が登録されている。例えばインターネットゾーンのデフォルト設定値ではJAVAスクリプトは全て実行可能であるが、本キーを修正することで、JAVAスクリプトを実行不可にユーザーが設定変更できる。
【0018】
図5にセキュリティ設定情報例を示しながら、セキュリティ設定情報103の作成手順を説明する。セキュリティ設定情報103は大きく4列、4行の構成をとる。列はセキュリティゾーン121、種別122、ブラウザー設定値123、セキュリティゾーン該当条件124に分類される。セキュリティゾーン121、種別122の内容は固定である。ブラウザー設定値123はZonesキー52を、セキュリティゾーン該当条件124はZoneMap キー51をそれぞれ参照して作成する。行は大きくインターネットゾーン125、イントラネットゾーン126、信頼済みサイト127、制限付きサイト127がある。それぞれ、アクティブX、アプレット、スクリプトの4つの種別をデフォルト値として持っている。Zonesキー52の下に1〜4までのサブキーがあり、1はイントラネットゾーン、2は信頼済みゾーン、3はインターネットゾーン、4は制限付きサイトゾーンを表している。各サブキーの下に複数のキーとDWORD値が保存されており、キーが設定対象をDWORD値が設定内容を示している。キーの値の意味として、1200がアクティブXの動作可否、1400がスクリプトの動作可否、1C00がアプレットの動作可否を示している。それぞれについてDWORD値0または1または3が設定されており、0ならば動作可能、1ならばプロンプトの表示、3ならば動作不可を示している。セキュリティ設定情報取得部101はレジストリのZonesキー52を参照することでブラウザ設定値123を設定する。DWORD値が0なら有効、1ならプロンプト、3なら無効と表示する。本例では、サブキー3にある1200キーのDWORD値が0であるので、インターネットゾーン125のアクティブXのブラウザー設定値123は有効となる。なお、アプレットの動作を規定する1C00のみ上記の0,1,33種類に加えて別の値を設定でき、動作時の安全性を4段階に細かく特定できる。しかし、セキュリティチェックプログラム100では0、1、3以外の値を全て動作可能である0とみなし、単に有効と判定する。
【0019】
次にセキュリティゾーン該当条件124の設定方法を説明する。ZoneMap キー51の下にDomainsキーがある。その下にURLを示すキーが複数あり、各URL別にどのセキュリティゾーンに属するのかがDWORD値として設定している。設定値1はイントラネットゾーン、2は信頼済みゾーン、3はインターネットゾーン、4は制限付きサイトゾーンを表している。本例では、Domainsキーの下にbbb.bbb.bbbキーがありそのDWORD値が4の場合を想定しており、制限付きサイト128のセキュリティゾーン該当条件124にURLbbb.bbb.bbbを設定している。以上説明した方法で、ブラウザーのセキュリティ設定データーベースの情報を参照し、セキュリティチェックプログラム100はセキュリティ設定情報103を作成する。
【0020】
次に図4を用いて、HTML文書60を取得し、文書情報108を作成するまでの流れを説明する。ブラウザー70からの文書取得命令をセキュリティチェックプログラム100の命令受信部105で受信する。その内容を受けて文書取得部106は指定されたURLにアクセスしHTML文書等ソース20を取得する。例えば、ブラウザー70から文書取得命令http://aaa.aaa.aaa/zeni.htmlが指定された場合、命令受信部105は本命令を受け取り、そのまま文書取得部106へ渡す。文書取得部106は本命令を実行し、文書をダウンロードする。このとき、URLはaaa.aaa.aaaであり、文書名はzeni.htmとなる。文書取得部106はURLをhttp://から次の/までの間をとして認識する。また、命令の最後尾にある/以降の部分を文書名として認識する。
【0021】
本例ではzeni.htmの内容を図3に示した悪意のない文書例する。文書チェック部107はHTML等ソースコピー60の内容をチェックし、文書情報108を作成する。図6は文書情報の例である。URL131は文書が保存されていたURLを記録する。文書名132はHTML等ソースコピー60の文書名を記録する。種別133は固定値であり、Web用プログラムの種類別に3つに区分される。有無134はそれぞれのWeb用プログラムがHTML等ソースコピー60に記述されているか否かを示す。前記、文書取得部106にて取得したURL及び文書名の情報をURL131、文書名132に展開する。次にzeni.htmの内容をチェックしそのタグ情報からWebプログラムの有無をチェックする。
【0022】
図7にWebプログラム種別毎のタグ情報を示す。プログラム種別301としてアクティブX304、アプレット305、スクリプト306の3種がある。それぞれに、開始タグ302終了タグ303が登録されている。アクティブXは<OBJECTが開始タグ、</OBJECT>が終了タグタグである。同様にJAVAアプレットは<APPLETが開始タグ、終了タグは</APPLET>、JAVAスクリプト及びVBScriptは<SCRIPTが開始タグ、</SCRIPT>が終了タグである。この情報と図3に示したzeni.htmの内容とを比較することで、文書情報108中の各Webプログラム別の有無134をチェックする。図3の<SCRIPT201及び</SCRIPT>203がスクリプト関連タグ306に該当し、同様に<APPLET204、</APPLET>206がアプレット関連タグ305に該当する。また、アクティブX関連タグ304は存在しないことが分かる。従って、各Webプログラム別の有無144のアプレット及びスクリプトは有りとなり、アクティブは無しとなる。以上、説明した手順にてHTML等ソースコピー60に関する文章情報108を得ることができる。
【0023】
次に、セキュリティ設定情報103と文書情報108を突合せ、セキュリティ情報110を作成し、画面に表示する手順を説明する。図8はセキュリティ情報の例である。図5のセキュリティ設定情報103をベースに適用状況141、URL131、文書名132という3つの列を追加した形である。セキュリティ判定部104はまずセキュリティ設定情報103のセキュリティゾーン121、種別122、ブラウザ設定値123、セキュリティ該当条件124をセキュリティ情報110に転記する。次に、文書情報108のURL131とセキュリティ設定情報103のセキュリティ該当ゾーン124とを比較することで、そのURLがどのセキュリティゾーンに該当するかを判定する。本例では、セキュリティ該当条件124から、bbb.bbb.bbbが制限付きゾーンでありそれ以外はインターネットゾーンとの設定値を得て、aaa.aaa.aaaをインターネットゾーンと判定する。そして、インターネットゾーン125の欄に文書情報108のURL131、文書名132を転記する。本例ではURLにaaa.aaa.aaaを、文書名にzeni.htmlをそれぞれ転記する。それ以外のゾーン126、127、128の適用状況141、URL131、文書名132は非該当であるので、−と表示する。
【0024】
次に適用状況141をセキュリティ設定情報110のブラウザー設定値123と文書情報108の有無134を比較して決定する。決定条件は次の通りである。ブラウザー設定値123が有効の時、有無134で有りならば実行中と判定する、無しならば該当無しと判定する。ブラウザー設定値123が無効の時、有無134で有りならば停止と判定する、無しならば該当無しと判定する。ブラウザー設定値123がプロンプトの時、有無134で有りならばプロンプトと判定する、無しならば該当無しと判定する。本例では、アクティブXは有効と設定されているが、文書中に存在しないので、該当無しとなる。アプレットは無効と設定されていて、文書中に存在するので、停止となる。スクリプトは有効と設定されていて、文書中に存在するので、実行中となる。以上の手順で得た、セキュリティ情報110をセキュリティ情報表示部111が画面90に表示をする。また、セキュリティ判定部104はセキュリティ判定終了後、文書出力部109を通してHTML等ソースコピー60をブラウザー70へ出力する。ブラウザー70は実行結果80を画面90へ出力する。
【0025】
図9に本発明の使用画面例を示す。画面90にブラウザーウィンドウ401が表示される。ブラウザー70はURL情報402、セキュリティゾーン情報405をデフォルトで表示する。また、ウィンドウ401内にJAVAスクリプト表示部403に『ここはJAVAスクリプトを使用しています。』とWebプログラム未使用の表示部404『ここはWebプログラムは使っていません』が実行結果として表示されている。図3のJAVAスクリプト命令部202document.write("ここは、JavaScriptを使用しています.");及びWebプログラム未使用部207ここは、Webプログラムは使っていませんが実行された事がわかる。また、JAVAアプレット命令部205は「ここはJavaアプレットを使用しています」との表示がないことから動作していないと確認できる。アプレットが動作しなかったのは、セキュリティ設定データーベース50にてアプレットを無効と設定している為である。
【0026】
セキュリティチェックプログラム100のセキュリティ情報表示部111は、セキュリティ情報110のWeb用プログラムの種別122とその適用状況141の情報をタスクバー406にセキュリティチェックプログラムのアイコン407として表示する。本例では、アクティブX該当無し、スクリプト動作中、アプレット停止と表示する。この情報は、ブラウザーウィンドウ401の内容と一致しているのみならず、アクティブXはHTMLの中に記述されていないこと及びアプレットは記述されていたがセキュリティ設定データーベース50にて無効と設定されていたため、停止された事をユーザーに知らせている。
【0027】
以上、説明したように本発明によると、従来得ることができなかった、Web用プログラムの実行状態をリアルタイムに画面に表示することができる。本例では、ブラウザーがユーザーに示す情報はURL402とセキュリティゾーン405であり、Webプログラムの動作状況に関しては何の情報もない。本発明ならば、各Web用プログラムの種別毎に現在どのような動作状況であるかを常に表示できる。ユーザーはその状況を確認しながら作業できるので、知らない内にWeb用プログラムが実行されるといった事態を回避できる。なお、タスクバーへの表示は説明のために文章を使用したが、視覚的に分かりやすいアイコンを用いてもかまわない。さらに、セキュリティチェックプログラムのアイコン407をダブルクリックすることで、図8のセキュリティ情報110を画面に表示する機能を設けることで、より詳細な情報をユーザーに提供できる。
【0028】
〈変形例1〉以上の例では、ブラウザーのセキュリティ設定情報及び表示対象文書の情報を取得し比較することで、ユーザーにWeb用プログラムの動作状況をリアルタイムに知らせる手段を説明した。これに対し、この変形例では既知の悪意があるスクリプトに対する対応手段を説明する。この変形例では既知の悪意があるスクリプト例をデーターベース化して文書チェック部107で参照する機能を付加する。文書チェック部107はこのデーターベースを参照して、HTML等ソースコピー60と比較し、悪意があるスクリプトが含まれているか否かをチェックする。悪意があるスクリプトの混入が認められた場合、その情報は文書出力部109に渡され、悪意ある部分を削除した後、HTML文書をブラウザーへ引き渡す。
【0029】
例えば、図10に悪意がある文書例を示す。JAVAスクリプト開始タグ501<SCRIPT LANGUAGE="JavaScript">からJAVAスクリプト終了タグ505</SCRIPT>までがJAVAスクリプト記述部だある。無限ループ文502for(;;){から繰り返し部504}までがfor文で囲まれたループ命令である。このfor文にはループ回数が設定されていないので、実行すると無限ループに入ってしまう。その間に記述されている新規ウィンドウ表示部503window.open("eternal.html")が繰り返される命令であり、本例ではウィンドウを新規に作成する命令が記述されている。従って、本HTML文書を表示した場合、PCの処理限界がくるまで、ウィンドウを開きつづけることとなる。
【0030】
このような状況は、悪意がある命令を事前に登録し、文書表示前にチェックすることで回避できる。セキュリティチェックプログラム100の文書チェック部107にfor(;;)等の既知の悪意があるプログラムを複数、登録する危険データーベースを追加する。文書チェック部107は、文書チェック時に、スクリプト開始タグである<SCRIPT LANGUAGE="JavaScript">をチェックしWeb用プログラムの開始位置を取得する。次に登録された悪意がある命令を参照し、スクリプト開始位置から順に問題文字列の有無をスキャンする。この動作をスクリプト終了タグである</SCRIPT>まで行う。該当する文字列がなかった場合、次の命令文を得て、スキャンを繰り返す。問題文字列が見つかった場合、スクリプト開始タグ<SCRIPT LANGUAGE="JavaScript">からスクリプト終了タグ</SCRIPT>の間を全てスペースに置き換える。本例では、for(;;)が存在するので<SCRIPT LANGUAGE="JavaScript">から</SCRIPT>までの文字列は全てスペースに置き換えられる。このようにWeb用プログラムを削除するので、ユーザーに被害は及ばない。また、悪意があるプログラムが発見された場合、セキュリティ情報110の適用状況141に問題有り等の情報を記録することで、悪意がある文書を閲覧したことをユーザーに知らせることができる。例示したJAVAスクリプトだけでなく、VBスクリプトについても同様に適用できる。
【0031】
〈変形例2〉変形例1では既知の悪意があるスクリプトへの対応を記述したが、未知のウィルス等がWeb用プログラムの形で記述されている場合は、これを防ぐことは本発明ではできない。しかしながら、こうした問題が発生した場合に、どのURLで被害にあったのかを特定するための、ログを作成することができる。セキュリティ情報表示部111は単に画面90へセキュリティ情報110の内容を表示していただけであったが、変形例2ではハードディスク上の特定のファイルにログとして追記する機能を付加する。
【0032】
図11はログの例である。セキュリティ情報110のデータに閲覧日時を付加したフォーマットとなっている。ログを書き出すタイミングは画面90へセキュリティ情報110を表示するタイミングと同じなので、追記する時間をPCのシステム時刻から取得することで、日付601時間602を記録する。その他の項目はセキュリティ情報110から転記可能である。本例では、3月29日に3回ホームページを閲覧し、3回目の閲覧時に既知の悪意あるスクリプトを検出している。
なお、以上の実施例では、ユーザーに提供する文書のフォーマットとしてHTMLを例にとったが、XML等のマークアップランゲージでも同様に適用できる。また、プロトコルとしてhttpを例にとったが、https等のプロトコルにも同様に適用できる。その際は、セキュリティ設定データーベースのプロトコル記述部であるzoneMapキーの下のProtocolDefaultsキーを参照し、各プロトコルでどのセキュリティゾーンが適用されるかという情報を取得する必要がある。
【0033】
【発明の効果】
本発明によれば、ブラウザーのセキュリティ関連設定情報及び閲覧するホームページの内容を一覧表として表示できる。また、Web用プログラムの動作状況をリアルタイムでタスクバーにアイコンとして表示する。さらに、既知の悪意のあるWebプログラムを検知し、HTML等文書ソースを修正するので安全なホームページ閲覧ができる。さらに、文書閲覧の記録をログとして残すことで、いつ、どこで、どんなWeb用プログラムが起動したかを確認でき、問題発生時の原因特定を容易にする。
【0034】
以上により、個人ユーザーでも実装できる仕掛けで、ユーザーのホームページ閲覧に伴うリスクを大幅の削減する。
【図面の簡単な説明】
【図1】本発明の前提となる実施形態の全体的な概要図である。
【図2】本発明の実施形態の全体的なシステム概要図である。
【図3】一般的な悪意のないHTML文書例である。
【図4】本発明のセキュリティチェックプログラムの構成図である。
【図5】本発明で収集するセキュリティ設定情報例である。
【図6】本発明で収集する文書情報の例である。
【図7】本発明で対応するWebプログラム種別毎のタグ情報である。
【図8】本発明でユーザーに表示するセキュリティ情報の例である。
【図9】本発明を使用した画面例である。
【図10】変形例1で実行阻止可能な悪意がある文書例である。
【図11】変形例2で出力するログの例である。
【符号の説明】
10 Webサーバー
20 HTML等ソース文書
30 インターネット
50 セキュリティ設定データベース
60 HTML等ソースコピー
70 ブラウザ
90 画面
100 セキュリティチェックプログラム
110 セキュリティ情報
103 セキュリティ設定情報
108 文書情報
407 セキュリティチェックプログラムのアイコン
Claims (6)
- コンピュータを、ブラウザーから文書取得命令を受信する命令受信手段、前記文書取得命令にて指定された文書を取得する文書取得手段、取得した文書の内容をチェックしWeb用プログラムの種別を判別する文書チェック手段、ブラウザーのセキュリティ設定情報データーベースを参照して取得した文書に適用すべきセキュリティ設定を取得するセキュリティ設定情報取得手段、取得した文書の内容と適用すべきセキュリティ設定を比較して前記Web用プログラムの種別毎にその適用状況を判定するセキュリティ判定手段、前記Web用プログラムの種別毎の適用状況を表示するセキュリティ情報表示手段、取得した文書をブラウザーへ出力する文書出力手段として機能させるためのセキュリティチェックプログラム。
- 前記文書取得手段は、前記文書取得命令にて指定された文書をネットワークを介して取得することを特徴とする請求項1記載のセキュリティチェックプログラム。
- 前記セキュリティ情報表示手段において、タスクバーにアイコンを表示し、前記Web用プログラムの種別毎の適用状況によってアイコンの形を変化させることを特徴とした請求項2記載のセキュリティチェックプログラム。
- コンピュータを、既知の危険なWebプログラムに関する危険情報データーベースと前記ブラウザーのセキュリティ設定情報データーベースを参照する手段、文書取得手段にて取得した文書と危険情報データーベースとを比較して危険情報の有無を判定する危険情報有無判定手段、前記危険情報有無判定結果を危険情報有無記憶手段に記憶する手段、前記危険情報有無を画面に表示する危険情報有無表示手段として機能させるための請求項3のセキュリティチェックプログラム。
- 前記危険情報有無判定手段で得られた危険情報有無の結果を元に、HTML等ソース文書を修正するソース文書修正手段を持つことを特徴とする請求項4記載のセキュリティチェックプログラム。
- 前記セキュリティ情報表示手段において、その内容をログファイルに出力することを特徴とした請求項1記載のセキュリティチェックプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002303721A JP4232431B2 (ja) | 2002-10-18 | 2002-10-18 | ブラウザー関連のセキュリティチェックプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002303721A JP4232431B2 (ja) | 2002-10-18 | 2002-10-18 | ブラウザー関連のセキュリティチェックプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004139372A JP2004139372A (ja) | 2004-05-13 |
JP4232431B2 true JP4232431B2 (ja) | 2009-03-04 |
Family
ID=32451370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002303721A Expired - Fee Related JP4232431B2 (ja) | 2002-10-18 | 2002-10-18 | ブラウザー関連のセキュリティチェックプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4232431B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100385852C (zh) * | 2004-06-22 | 2008-04-30 | 腾讯科技(深圳)有限公司 | 一种网页插件选择下载的实现方法及其装置 |
US20080083012A1 (en) * | 2006-06-26 | 2008-04-03 | Dachuan Yu | Program instrumentation method and apparatus for constraining the behavior of embedded script in documents |
JP4709717B2 (ja) * | 2006-09-15 | 2011-06-22 | ソフトバンクモバイル株式会社 | スクリプト実行制御方法及び通信端末装置 |
US9686288B2 (en) | 2008-01-25 | 2017-06-20 | Ntt Docomo, Inc. | Method and apparatus for constructing security policies for web content instrumentation against browser-based attacks |
KR101074624B1 (ko) * | 2008-11-03 | 2011-10-17 | 엔에이치엔비즈니스플랫폼 주식회사 | 브라우저 기반 어뷰징 방지 방법 및 시스템 |
CN101504649B (zh) * | 2008-11-14 | 2011-11-30 | 北京搜狗科技发展有限公司 | 一种页面资源的处理方法及装置 |
-
2002
- 2002-10-18 JP JP2002303721A patent/JP4232431B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004139372A (ja) | 2004-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5254656B2 (ja) | ドライブバイ・ファーミングに対するリファラーチェックを介したクライアント側の保護 | |
KR100519842B1 (ko) | 검색 요구 처리 방법, 장치, 기록 매체 및 바이러스 데이터베이스 구축 방법 | |
Kirda et al. | Noxes: a client-side solution for mitigating cross-site scripting attacks | |
JP6624771B2 (ja) | クライアントベースローカルマルウェア検出方法 | |
JP4625246B2 (ja) | クロスサイトスクリプティング脆弱性の自動検出 | |
US9602520B2 (en) | Preventing URL confusion attacks | |
JP5992488B2 (ja) | クロスサイトスクリプティングフィルタ | |
US8800042B2 (en) | Secure web application development and execution environment | |
EP2447878B1 (en) | Web based remote malware detection | |
US8266700B2 (en) | Secure web application development environment | |
US9268945B2 (en) | Detection of vulnerabilities in computer systems | |
KR101497742B1 (ko) | 인증, 데이터 전송 및 피싱에 대한 보호를 위한 방법 및 시스템 | |
JP2009521737A (ja) | Javascriptプログラムの不安全動作安を検出するため、及び防止するための方法及び装置 | |
WO2016086767A1 (zh) | 实现浏览器安全的方法、浏览器客户端和装置 | |
JP2009501392A (ja) | Htmlブラウザおよび拡張機能の既知の脆弱性からの免疫付与 | |
Schlumberger et al. | Jarhead analysis and detection of malicious java applets | |
US11586726B2 (en) | Secure web framework | |
JP4232431B2 (ja) | ブラウザー関連のセキュリティチェックプログラム | |
US20110213794A1 (en) | Command execution program and command execution method | |
JP2005092564A (ja) | フィルタリング装置 | |
Breon et al. | Microsoft Office 97 Executable Content Security Risks and Countermeasures | |
US20160378982A1 (en) | Local environment protection method and protection system of terminal responding to malicious code in link information | |
Afonso et al. | A hybrid framework to analyze web and os malware | |
KR20020022314A (ko) | 클라이언트 컴퓨터 분석 방법 및 그 시스템 | |
Crotts | Exploring Cross-Site Scripting (XSS): Attack Payloads, Prevention, and Mitigation Techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050307 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080401 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080416 |
|
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: 20081118 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |