JP2004139372A - Browser related security checking program - Google Patents

Browser related security checking program Download PDF

Info

Publication number
JP2004139372A
JP2004139372A JP2002303721A JP2002303721A JP2004139372A JP 2004139372 A JP2004139372 A JP 2004139372A JP 2002303721 A JP2002303721 A JP 2002303721A JP 2002303721 A JP2002303721 A JP 2002303721A JP 2004139372 A JP2004139372 A JP 2004139372A
Authority
JP
Japan
Prior art keywords
document
security
information
browser
web
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.)
Granted
Application number
JP2002303721A
Other languages
Japanese (ja)
Other versions
JP4232431B2 (en
Inventor
Hideki Uchida
内田 英樹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002303721A priority Critical patent/JP4232431B2/en
Publication of JP2004139372A publication Critical patent/JP2004139372A/en
Application granted granted Critical
Publication of JP4232431B2 publication Critical patent/JP4232431B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To visibly identify dynamic security information regarding Web programs including a JAVA(R) script on a client display when using a browser. <P>SOLUTION: When inputting the address of a Web server connected to a client, a user accesses the Web server. A source document stored in the Web server is downloaded through Internet to a client hard disc to create a source copy document. A security setting information database is compared with a source copy, and security setting information and security information showing whether the Web programs described in the source copy can be independently executed are dynamically acquired and displayed on a screen. Then, a security checking program outputs the source copy to the browser. The browser displays its processing result on a client screen. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ブラウザーのセキュリティチェックプログラムに関する。
【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 セキュリティチェックプログラムのアイコン
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a browser security check program.
[0002]
[Prior art]
In recent years, network systems called Internet and Intranet utilizing open technologies such as TCP / IP are rapidly spreading. In each home, it is becoming possible to always connect to the Internet using a line such as FTTH or ADSL having a broadband called a broadband. There is a Web as a typical application of the Internet. This is a system for downloading a document such as a homepage stored in a Web server to a client through the Internet. The homepage is described using a markup language such as HTML or XHTML that conforms to SGML or XML. By using a dedicated browsing program called a browser, you can jump to another page or link with e-mail. Can be performed only by clicking with the mouse. Furthermore, for a document such as HTML, JAVA script, VBScript, JAVA applet, and ActiveX can be used. These are applications, and are hereinafter referred to as Web programs. With this technology, the HTML creator can perform more dynamic page representation and hardware control on the user's PC. For example, it is possible to automatically jump to another page or display a message box as a separate window, so that the range of use is very wide. In Active X, the client hardware can also be controlled. These Web programs are automatically executed without the user on the client side being conscious. The JAVA script and VBScript are interpreters, which are downloaded in a program source state and executed by a client browser. On the other hand, the JAVA applet and the active X are in the form of an executable program, and the JAVA applet is downloaded every time. Once downloaded, the active X is stored in the hard disk of the client and thereafter executed from the browser without downloading. .
[0003]
With the expansion of infrastructure and the advancement of technology described above, businesses utilizing the Internet have also become popular. By combining Web technology with encryption and authentication technologies, realization of e-government using the Internet, Internet shopping, and banking from home can be realized. In this case, personal information such as a personal name, address, and telephone number, and confidential information such as a credit card number may be registered using the Web. For safe use in such applications, security must be ensured.
[0004]
However, Web programs have many downsides from the viewpoint of security. For example, a computer virus called Nimda, after invading a Web server, rewrites an HTML document provided by the server and embeds a JAVA script that infects the client with the virus just by browsing its homepage. Further, when the HTML document creator is malicious, a disadvantageous Web program called a browser crusher may be embedded on the client side. As a specific example, it is possible to use an infinite loop to repeatedly open an e-mail transmission window, or to stop the operation of a specific OS.
[0005]
As described above, the Web program is indispensable, but its use involves risks. To address these issues, Microsoft's Internet Explorer browser provides security by providing multiple security zones and allowing users to customize the advanced settings of each security zone. For example, an Internet zone, an intranet zone, and the like are provided, and a high security level can be individually set. In addition, regarding Active X, a mark indicating that it is safe can be added. It is also possible to set to allow only active X marked as safe. Furthermore, since the security zone to which the URL being viewed belongs is displayed in the browser, the user can browse while checking which security zone the user is currently in. Further, a setting can be made so that the user is confirmed each time the Web program is executed.
[0006]
Patent Document 1 discloses a security technique in a Web program received via the Internet. In this technology, 1) malicious program detection in proxy server 2) filtering function in Internet gateway 3) real-time behavior analysis in browser of client machine. In the final process 3), a suspicious application that is considered to be a malicious program is detected and analyzed in real time, wrapped in a security monitoring program, and the illegal operation is immediately interrupted.
[0007]
Japanese Patent Application Laid-Open No. H11-163873 discloses a technique for selecting usable software by checking the setting and status of this kind of communication environment. Japanese Patent Application Laid-Open No. H10-163,086 discloses a security technique for publishing a document.
[Patent Document 1] U.S. Pat. No. 6,272,641 (column 3, lines 10 to 58)
[Patent Document 2] JP-A-2001-75787 (paragraph number 0004)
[Patent Document 3] JP-A-2001-325249 (paragraph number 0009)
[Problems to be solved by the invention]
However, in Patent Literature 1, which is the related art, the browser of the client and the proxy server or the Internet gateway operate in conjunction with each other, and the mechanism is too large and unsuitable for ensuring security at the individual level. Further, in each of the above-described conventional technologies, it is possible to display the security zone level on the screen and disable the use of the Web program or set to confirm with the user before execution. However, the following two problems are encountered. Have
[0008]
First, it is difficult for the user to confirm the setting information of the security zone. The above-described conventional technology notifies a user in which security zone the user is browsing as real-time security information. Therefore, the user needs to know the detailed setting information of each security zone in advance. However, security zone settings have a deep hierarchy, and there is no list of settings for all security zones, so it is troublesome to check the settings. For this reason, a situation in which a user browses a homepage without grasping accurate setting information occurs. For example, even if the user intends to disable the Web program, the actual setting is different, and the Web program may be set to be executed. As described above, the first problem is that there is an environment in which the difference between the user's recognition and the actual setting easily appears in the basic information called the security setting information.
[0009]
Second, the user cannot know information as to whether or not a Web program is described in the HTML document to be browsed. In the related art, only the security zone in which the user is browsing is notified to the user, and the timing at which the Web program is executed is not notified. Thus, the user has no idea when the Web program is being executed. In other words, the user cannot know whether or not the Web program is described in the HTML document, and cannot estimate the risk. Therefore, in order for the user to ensure security, the Web program must be disabled or set to be confirmed by the user before execution. This is not practical.
Generally, in order to ensure security, it is necessary to accurately grasp security-related information. However, in the prior art, as described above, the user is not notified of the basic information such as the danger level of the HTML document to be viewed and the security setting information of the browser, and the user cannot analyze the risk. There is no other way to ensure security.
[0010]
The present invention has been made in view of such a problem, and performs browsing of a homepage with a high security level by notifying a user of setting information actually applied by a browser and danger of an HTML document to be viewed. It is aimed at. Further, a security check is performed before the browser processes the HTML document, and the source document such as HTML is corrected, thereby preventing a known malicious Web program from being executed. Furthermore, a means for specifying the route of infection at the time of virus infection is provided by logging the viewed URL and the activation status of the JAVA script and the like as a log.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, a security check program according to the present invention comprises: a command receiving unit that receives a document acquisition command from a browser; a document acquisition unit that acquires a document specified by the document acquisition command; Document checking means for checking the contents of the Web program and determining the type of Web program; security setting information obtaining means for obtaining security settings to be applied to the document obtained by referring to the security setting information database of the browser; Security determining means for comparing the contents of the document with security settings to be applied to determine whether or not execution is possible for each Web program; security information displaying means for displaying the execution feasibility determination status for each Web program; Document output means for outputting to a browser.
[0012]
According to this configuration, the security check program executes a security check on the HTML document before the browser executes the Web program. The security information of the HTML document obtained as a result can be displayed on the display of the client for each Web program. As a result, the user can visually confirm detailed security information of the HTML document, which could not be obtained conventionally. In addition, since a document acquisition command can be received from a browser, the operation feeling is the same as browsing a homepage using a conventional browser. The HTML document to be obtained may be on the Internet, on an intranet, or in the hard disk of the client.
[0013]
In a preferred embodiment, the Web program information proved to be dangerous is converted into a database, and a means for comparing with the HTML document and a means for deleting the dangerous Web program part from the HTML document are provided. The threat that a known dangerous Web program is executed can be removed.
In another preferred aspect, in the process of displaying the execution status of the execution of each Web program, the status is displayed as an icon on a task bar, and the shape of the icon is changed according to the degree of risk. A means for displaying by clicking is provided. Thereby, it can be displayed in a form that does not disturb the browsing of the homepage.
In another preferred aspect, the security information display means for displaying the execution permission / inhibition status for each Web program has a function of outputting the contents to a log file together with the screen. As a result, the URL and time at which the Web program was executed, and the type of the Web program can be recorded. For example, when there is a suspicion that a virus has entered from the Web, it becomes a material for specifying the fact.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention (hereinafter, referred to as embodiments) will be described with reference to the drawings.
FIG. 1 is an overall schematic diagram of an embodiment on which the present invention is based. A description will be given of a series of flows from when a user accesses the Web server 10 to when it is displayed on the screen 90 of the client. The client 90 refers to a PC (personal computer), a portable information terminal, a mobile phone, or the like. The user accesses the Web server 10 by inputting a URL (uniform resource locator) indicating the address of the Web server 10 to be connected from the screen 90 of the client. A Web server is an information browsing system using HTTP (hyper text transfer protocol). A source document 20 such as HTML stored in a Web server 10 is downloaded to a client hard disk 40 through the Internet 30 and a source copy such as HTML is performed. A copy document 60 is created. Setting information such as whether or not each Web program can be executed is registered in the security setting information database 50. A browser 70 such as Internet Explorer compares the source copy 60 such as HTML with the security setting information database 50 to determine whether each Web program can be executed. The processing result 80 executed based on the determination is displayed on the screen 90 of the client.
[0015]
FIG. 2 is an overall system schematic diagram of the embodiment of the present invention. By adding the security check program 100 to the embodiment of FIG. 1, the acquisition and display of security information 110, which could not be performed conventionally, are performed. First, a source copy 60 such as HTML is obtained in the same procedure as in FIG. Next, the security setting information database 50 is compared with the source copy 60 such as HTML, and the security setting information and the security information 110 indicating whether or not each Web program described in the source copy 60 such as HTML can be executed are dynamically obtained. And displays it on the screen 90. Thereafter, the security check program 110 outputs the source copy 60 such as HTML to the browser 70. The browser 70 displays the processing result 80 on the screen 90 of the client. Thus, the user can be notified of the security setting information of the browser and the security information 63 indicating whether or not each Web program described in the source copy 60 such as HTML can be executed.
[0016]
The above will be specifically described with an actual example. As a content example of the source copy 60 such as HTML, the non-malicious HTML document example of FIG. 3 is used. Generally, an HTML document is given a meaning to a sentence by a mark called a tag. In this example, a JAVA script and a JAVA applet are described, and a portion from <SCRIPT> which is a Java script start tag 201 to </ SCRIPT> which is a Java script end tag 203 is a JAVA script description portion. The document. write ("here uses JavaScript"); is a command statement, and displays "here uses JavaScript" on the screen. The Java applet start tag 204 <APPLE to the JAVA applet end tag 206 </ APPLET> is a JAVA applet description section. SampleApplet, which is a Java applet instruction section, is an applet name and has a function of displaying "here, a Java applet is used". Also, the Web program unused section 207 is always displayed on the screen irrespective of the security setting of the browser, saying "No Web program is used here", and is described for comparison with the Web program. ing.
[0017]
FIG. 4 is a configuration diagram of the security check program. Microsoft's Windows is used as the OS, and Microsoft's Internet Explorer is used as the browser. When the security check program 100 starts, the security setting information acquisition unit 101 acquires the security setting information 103 from the security setting database 50 and stores it in the security information storage unit 102. In the case of Windows, the security setting database 50 is actually a registry,
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Current Version \ Internet Settings. Below this are two keys, Zone Map key 51 and Zones key 52. The corresponding conditions of each security zone are registered in the ZoneMap key 51, and a security zone to be applied for each URL is linked. In the Zones key 52, security setting information actually assigned to each security zone is registered. For example, with the default setting value of the Internet zone, all JAVA scripts can be executed. However, by modifying this key, the user can change the setting so that the JAVA script cannot be executed.
[0018]
The procedure for creating the security setting information 103 will be described with reference to FIG. The security setting information 103 has a structure of four columns and four rows. The columns are classified into security zone 121, type 122, browser setting value 123, and security zone applicable condition 124. The contents of the security zone 121 and the type 122 are fixed. The browser setting value 123 is created with reference to the Zones key 52, and the security zone applicable condition 124 is created with reference to the ZoneMap key 51. The line is large and has an Internet zone 125, an intranet zone 126, a trusted site 127, and a restricted site 127. Each has four types of active X, applet, and script as default values. Below the Zones key 52 are subkeys 1-4, 1 for the intranet zone, 2 for the trusted zone, 3 for the Internet zone, and 4 for the restricted sites zone. A plurality of keys and DWORD values are stored under each sub key, and the key indicates the setting target and the DWORD value indicates the setting content. As the meanings of the key values, 1200 indicates whether the operation of the active X is enabled, 1400 indicates whether the operation of the script is enabled, and 1C00 indicates whether the operation of the applet is enabled. A DWORD value 0, 1 or 3 is set for each of them. 0 indicates operable, 1 indicates prompt display, and 3 indicates inoperable. The security setting information acquisition unit 101 sets the browser setting value 123 by referring to the Zones key 52 of the registry. If the DWORD value is 0, the display is valid, if 1 the prompt is displayed, and if it is 3, the display is invalid. In this example, since the DWORD value of the 1200 key in the sub key 3 is 0, the active X browser setting value 123 of the Internet zone 125 is valid. In addition, only 1C00 that defines the operation of the applet can be set to another value in addition to the above 0, 1, and 33 types, and the safety during operation can be specified in four steps. However, the security check program 100 regards all values other than 0, 1, and 3 as operable 0, and simply determines that it is valid.
[0019]
Next, a method of setting the security zone applicable condition 124 will be described. Below the ZoneMap key 51 is a Domains key. Below this, there are a plurality of keys indicating URLs, and the security zone to which each URL belongs is set as a DWORD value. The set value 1 indicates the intranet zone, 2 indicates the trusted zone, 3 indicates the Internet zone, and 4 indicates the restricted site zone. In this example, bbb. bbb. It is assumed that there is a Bbb key and its DWORD value is 4, and URLbbb. bbb. bbb is set. With the method described above, the security check program 100 creates the security setting information 103 with reference to the information on the security setting database of the browser.
[0020]
Next, a flow from acquisition of the HTML document 60 to creation of the document information 108 will be described with reference to FIG. The command acquisition unit 105 of the security check program 100 receives a document acquisition command from the browser 70. Upon receiving the content, the document acquisition unit 106 accesses the specified URL and acquires the source 20 such as an HTML document. For example, a document acquisition command http: // aaa. aaa. aaa / zeni. If html is specified, the command receiving unit 105 receives this command and passes it to the document acquisition unit 106 as it is. The document acquisition unit 106 executes this command and downloads the document. At this time, the URL is aaa. aaa. aaa, and the document name is zeni. htm. The document acquisition unit 106 recognizes the URL as being from http: // to the next /. Also, the part after / at the end of the instruction is recognized as a document name.
[0021]
In this example, zeni. htm is a non-malicious document example shown in FIG. The document check unit 107 checks the contents of the source copy 60 such as HTML and creates document information 108. FIG. 6 is an example of document information. The URL 131 records the URL where the document is stored. The document name 132 records the document name of the source copy 60 such as HTML. The type 133 is a fixed value, and is divided into three according to the type of Web program. The presence / absence 134 indicates whether or not each Web program is described in the source copy 60 such as HTML. The information of the URL and the document name acquired by the document acquisition unit 106 is developed into a URL 131 and a document name 132. Next, zeni. htm is checked, and the presence or absence of a Web program is checked from the tag information.
[0022]
FIG. 7 shows tag information for each Web program type. There are three types of program types 301: active X 304, applet 305, and script 306. A start tag 302 and an end tag 303 are registered for each. For Active X, <OBJECT is a start tag and </ OBJECT> is an end tag tag. Similarly, the JAVA applet has a start tag of <APPLET, the end tag has </ APPLET>, and the JAVA script and VBScript have a start tag of <SCRIPT and an end tag of </ SCRIPT>. This information and zeni. By comparing the content of the HTM with the content of the HTM, the presence / absence 134 of each Web program in the document information 108 is checked. <SCRIPT 201 and </ SCRIPT> 203 in FIG. 3 correspond to the script-related tag 306, and similarly, <APPLET 204 and </ APPLET> 206 correspond to the applet-related tag 305. Also, it can be seen that the active X related tag 304 does not exist. Therefore, there is an applet and a script of presence / absence 144 for each Web program, and there is no active. As described above, the sentence information 108 relating to the source copy 60 such as HTML can be obtained by the procedure described above.
[0023]
Next, a procedure for matching the security setting information 103 with the document information 108, creating the security information 110, and displaying it on the screen will be described. FIG. 8 is an example of security information. This is a form in which three columns of an application status 141, a URL 131, and a document name 132 are added based on the security setting information 103 of FIG. The security determination unit 104 first transcribes the security zone 121, type 122, browser setting value 123, and security applicable condition 124 of the security setting information 103 to the security information 110. Next, by comparing the URL 131 of the document information 108 with the security applicable zone 124 of the security setting information 103, it is determined which security zone the URL corresponds to. In this example, bbb. bbb. bbb is a restricted zone, and otherwise obtains the set value with the Internet zone, and aaa. aaa. aaa is determined to be the Internet zone. Then, the URL 131 and the document name 132 of the document information 108 are transcribed in the column of the Internet zone 125. In this example, the URL is aaa. aaa. aaa and zeni. html. The application status 141, the URL 131, and the document name 132 of the other zones 126, 127, and 128 are not applicable, and thus are displayed as-.
[0024]
Next, the application status 141 is determined by comparing the browser setting value 123 of the security setting information 110 with the presence or absence 134 of the document information 108. The determination conditions are as follows. When the browser setting value 123 is valid, it is determined that the browser is being executed if the presence / absence 134 is present, and it is determined that there is no corresponding case if the browser setting 123 is not present. When the browser setting value 123 is invalid, if there is the presence / absence 134, it is determined that the browser is stopped. When the browser setting value 123 is a prompt, if the presence or absence 134 is present, the browser is determined to be a prompt. In this example, active X is set to be valid, but does not exist because it does not exist in the document. The applet has been disabled and is present in the document, so it stops. Since the script is set to be valid and exists in the document, the script is being executed. The security information display unit 111 displays the security information 110 obtained by the above procedure on the screen 90. Further, after the security judgment is completed, the security judgment unit 104 outputs the source copy 60 such as HTML to the browser 70 through the document output unit 109. The browser 70 outputs the execution result 80 to the screen 90.
[0025]
FIG. 9 shows an example of a use screen according to the present invention. A browser window 401 is displayed on the screen 90. The browser 70 displays the URL information 402 and the security zone information 405 by default. In the window 401, a message “JAVA script is used here.” "And a display section 404" Web program not used here "indicating that the Web program is not used is displayed as an execution result. The JAVA script instruction section 202 document. write ("This uses JavaScript".); and the Web program unused portion 207 Here, it is understood that the Web program is not used but executed. In addition, since there is no indication that “the Java applet is used here”, the JAVA applet instruction unit 205 can confirm that it is not operating. The applet did not operate because the security setting database 50 has set the applet invalid.
[0026]
The security information display unit 111 of the security check program 100 displays information on the type 122 of the Web program of the security information 110 and its application status 141 on the task bar 406 as an icon 407 of the security check program. In this example, "Active X not applicable", "Script running", and "Applet stop" are displayed. This information not only matches the contents of the browser window 401, but also indicates that Active X is not described in HTML and that an applet is described but invalid in the security setting database 50. Therefore, the user is notified of the suspension.
[0027]
As described above, according to the present invention, the execution state of a Web program, which could not be obtained conventionally, can be displayed on a screen in real time. In this example, the information indicated by the browser to the user is the URL 402 and the security zone 405, and there is no information on the operation status of the Web program. According to the present invention, it is possible to always display the current operating status for each type of Web program. Since the user can work while checking the situation, it is possible to avoid a situation where the Web program is executed without knowing the situation. Although text is used for explanation on the task bar, icons that are visually easy to understand may be used. Further, by providing a function of double-clicking the security check program icon 407 to display the security information 110 of FIG. 8 on the screen, more detailed information can be provided to the user.
[0028]
<Modification 1> In the above example, the means for notifying the user of the operation status of the Web program in real time by obtaining and comparing the security setting information of the browser and the information of the display target document has been described. On the other hand, in this modification, a means for responding to a known malicious script will be described. In this modification, a function of converting a known malicious script example into a database and referring to the document check unit 107 is added. The document check unit 107 refers to this database, compares it with the source copy 60 such as HTML, and checks whether a malicious script is included. When a malicious script is found to be mixed, the information is passed to the document output unit 109, and after removing the malicious part, the HTML document is delivered to the browser.
[0029]
For example, FIG. 10 shows an example of a malicious document. The portion from the JAVA script start tag 501 <SCRIPT LANGUAGE = "JavaScript"> to the JAVA script end tag 505 </ SCRIPT> is a JAVA script description portion. From the infinite loop statement 502for (;;)} to the repetition unit 504 # is a loop instruction surrounded by a for statement. Since the number of loops is not set in this for statement, an infinite loop is executed when the for statement is executed. The new window display unit 503 window. open (“eternal.html”) is a repeated instruction, and in this example, an instruction for newly creating a window is described. Therefore, when this HTML document is displayed, the window is kept open until the processing limit of the PC is reached.
[0030]
Such a situation can be avoided by registering a malicious command in advance and checking it before displaying a document. A dangerous database for registering a plurality of known malicious programs such as for (;;) is added to the document check unit 107 of the security check program 100. When checking the document, the document checking unit 107 checks the script start tag <SCRIPT LANGUAGE = “JavaScript”> to acquire the start position of the Web program. Next, referring to the registered malicious instructions, the presence / absence of a problem character string is sequentially scanned from the script start position. This operation is performed up to the script end tag </ SCRIPT>. If there is no corresponding character string, the next statement is obtained and scanning is repeated. If a problem character string is found, all spaces between the script start tag <SCRIPT LANGUAGE = “JavaScript”> and the script end tag </ SCRIPT> are replaced with spaces. In this example, since for (;;) is present, all character strings from <SCRIPT LANGUAGE = "JavaScript"> to </ SCRIPT> are replaced with spaces. Since the Web program is deleted as described above, no damage is caused to the user. Further, when a malicious program is found, by recording information such as a problem in the application status 141 of the security information 110, it is possible to notify the user that the malicious document has been viewed. The present invention can be similarly applied not only to the exemplified JAVA script but also to a VB script.
[0031]
<Modification 2> In Modification 1, correspondence to a known malicious script is described. However, if an unknown virus or the like is described in the form of a Web program, this cannot be prevented by the present invention. . However, when such a problem occurs, a log can be created for specifying which URL has caused the damage. The security information display unit 111 merely displays the contents of the security information 110 on the screen 90. In the second modification, a function of adding a log to a specific file on the hard disk is added.
[0032]
FIG. 11 is an example of a log. This is a format in which the date and time of viewing are added to the data of the security information 110. Since the timing of writing the log is the same as the timing of displaying the security information 110 on the screen 90, the date 601 and the time 602 are recorded by acquiring the time to be added from the system time of the PC. Other items can be transcribed from the security information 110. In this example, the homepage is browsed three times on March 29, and a known malicious script is detected at the time of the third browsing.
In the above embodiment, HTML is taken as an example of the format of the document provided to the user, but the present invention can be similarly applied to a markup language such as XML. In addition, although the protocol has been described using http as an example, the present invention can be similarly applied to a protocol such as https. At this time, it is necessary to refer to the ProtocolDefaults key under the zoneMap key, which is a protocol description part of the security setting database, and obtain information on which security zone is applied in each protocol.
[0033]
【The invention's effect】
According to the present invention, the security-related setting information of the browser and the contents of the browsed home page can be displayed as a list. In addition, the operation status of the Web program is displayed as an icon on the task bar in real time. Further, since a known malicious Web program is detected and a document source such as HTML is corrected, a secure homepage can be browsed. Further, by keeping a record of document browsing as a log, it is possible to confirm when, where, and what Web program has been activated, thereby facilitating identification of the cause when a problem occurs.
[0034]
As described above, the mechanism that can be implemented by individual users can greatly reduce the risk associated with user browsing the homepage.
[Brief description of the drawings]
FIG. 1 is an overall schematic diagram of an embodiment on which the present invention is based.
FIG. 2 is an overall system schematic diagram of an embodiment of the present invention.
FIG. 3 is an example of a general non-malicious HTML document.
FIG. 4 is a configuration diagram of a security check program of the present invention.
FIG. 5 is an example of security setting information collected by the present invention.
FIG. 6 is an example of document information collected by the present invention.
FIG. 7 shows tag information for each Web program type corresponding to the present invention.
FIG. 8 is an example of security information displayed to a user in the present invention.
FIG. 9 is a screen example using the present invention.
FIG. 10 is an example of a malicious document that can be prevented from being executed in the first modification.
FIG. 11 is an example of a log output in a second modification.
[Explanation of symbols]
10 Web server
20 Source documents such as HTML
30 Internet
50 Security Setting Database
60 Source copy such as HTML
70 Browser
90 screens
100 Security Check Program
110 Security Information
103 Security setting information
108 Document information
407 Security check program icon

Claims (6)

コンピュータに、ブラウザーから文書取得命令を受信する命令受信手段、前記文書取得命令にて指定された文書を取得する文書取得手段、取得した文書の内容をチェックしWeb用プログラムの種類を判別する文書チェック手段、ブラウザーのセキュリティ設定情報データーベースを参照して取得した文書に適用すべきセキュリティ設定を取得するセキュリティ設定情報取得手段、取得した文書の内容と適用すべきセキュリティ設定を比較してWeb用プログラム別に実行可否を判定するセキュリティ判定手段、前記Web用プログラム別の実行可否決定状況を表示するセキュリティ情報表示手段、取得した文書をブラウザーへ出力する文書出力手段として機能させるためのセキュリティチェックプログラム。A computer, a command receiving unit for receiving a document obtaining command from a browser, a document obtaining unit for obtaining the document specified by the document obtaining command, a document check for checking the content of the obtained document and determining the type of the Web program Means, security setting information obtaining means for obtaining security settings to be applied to a document obtained by referring to a security setting information database of a browser, and comparing the content of the obtained document with the security settings to be applied and for each Web program Security determining means for determining whether or not execution is possible, security information displaying means for displaying the execution feasibility determination status for each Web program, and security check program for functioning as a document output means for outputting an acquired document to a browser. 前記文書取得手段は、前記文書取得命令にて指定された文書をネットワークを介して取得することを特徴とする請求項1記載のセキュリティチェックプログラム。2. The security check program according to claim 1, wherein the document acquisition unit acquires the document specified by the document acquisition command via a network. 前記セキュリティ情報表示手段において、タスクバーにアイコンを表示し、前記Web用プログラム別の実行可否状況によってアイコンの形を変化させることを特徴とした請求項2記載のセキュリティチェックプログラム。3. The security check program according to claim 2, wherein the security information display means displays an icon on a task bar, and changes the shape of the icon depending on whether the Web program is executable. コンピュータに、既知の危険なWebプログラムに関する危険情報データーベースと前記データーベースを参照する手段、文書取得手段にて取得した文書と危険情報データーベースとを比較して危険情報の有無を判定する危険情報有無判定手段、前記危険情報有無判定結果を危険情報有無記憶手段に記憶する手段、前記危険情報有無を画面に表示する危険情報有無表示手段として機能させるための請求項3のセキュリティチェックプログラムA computer, a danger information database relating to a known dangerous Web program, means for referring to the database, and danger information for determining whether or not danger information exists by comparing the danger information database with a document acquired by the document acquisition means. 4. The security check program according to claim 3, which functions as presence / absence determination means, means for storing the risk information presence / absence determination result in risk information presence / absence storage means, and risk information presence / absence display means for displaying the presence / absence of the risk information on a screen. 前記危険情報有無判定手段で得られた危険情報有無の結果を元に、HTML等ソース文書を修正するソース文書修正手段を持つことを特徴とする請求項4記載のセキュリティチェックプログラム。5. The security check program according to claim 4, further comprising a source document correcting unit that corrects a source document such as HTML based on the result of the presence or absence of the risk information obtained by the risk information presence determining unit. 前記セキュリティ情報表示手段において、その内容をログファイルに出力することを特徴とした請求項1記載のセキュリティチェックプログラム。2. A security check program according to claim 1, wherein said security information display means outputs the contents to a log file.
JP2002303721A 2002-10-18 2002-10-18 Browser-related security check program Expired - Fee Related JP4232431B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002303721A JP4232431B2 (en) 2002-10-18 2002-10-18 Browser-related security check program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002303721A JP4232431B2 (en) 2002-10-18 2002-10-18 Browser-related security check program

Publications (2)

Publication Number Publication Date
JP2004139372A true JP2004139372A (en) 2004-05-13
JP4232431B2 JP4232431B2 (en) 2009-03-04

Family

ID=32451370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002303721A Expired - Fee Related JP4232431B2 (en) 2002-10-18 2002-10-18 Browser-related security check program

Country Status (1)

Country Link
JP (1) JP4232431B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071268A (en) * 2006-09-15 2008-03-27 Softbank Mobile Corp Script execution control method and communication terminal equipment
CN100385852C (en) * 2004-06-22 2008-04-30 腾讯科技(深圳)有限公司 Realization and realizing device for selective download from webpage inserted piece
JP2009541898A (en) * 2006-06-26 2009-11-26 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for program instrumentation for restricting the behavior of embedded scripts in a document
JP2012508914A (en) * 2008-11-14 2012-04-12 北京捜狗科技▲発▼展有限公司 Page resource processing method and apparatus
JP2014142960A (en) * 2008-11-03 2014-08-07 Nhn Business Platform Corp Method and system of preventing browser-based fraud
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

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385852C (en) * 2004-06-22 2008-04-30 腾讯科技(深圳)有限公司 Realization and realizing device for selective download from webpage inserted piece
JP2009541898A (en) * 2006-06-26 2009-11-26 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for program instrumentation for restricting the behavior of embedded scripts in a document
JP2008071268A (en) * 2006-09-15 2008-03-27 Softbank Mobile Corp Script execution control method and communication terminal equipment
JP4709717B2 (en) * 2006-09-15 2011-06-22 ソフトバンクモバイル株式会社 Script execution control method and communication terminal device
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
JP2014142960A (en) * 2008-11-03 2014-08-07 Nhn Business Platform Corp Method and system of preventing browser-based fraud
JP2012508914A (en) * 2008-11-14 2012-04-12 北京捜狗科技▲発▼展有限公司 Page resource processing method and apparatus

Also Published As

Publication number Publication date
JP4232431B2 (en) 2009-03-04

Similar Documents

Publication Publication Date Title
KR100519842B1 (en) Virus checking and reporting for computer database search results
JP4625246B2 (en) Automatic detection of cross-site scripting vulnerabilities
JP6624771B2 (en) Client-based local malware detection method
US9268945B2 (en) Detection of vulnerabilities in computer systems
EP3097509B1 (en) Intercepting and supervising calls to transformed operations and objects
US9984171B2 (en) Systems and methods for detecting false code
Kirda et al. Noxes: a client-side solution for mitigating cross-site scripting attacks
EP1990977B1 (en) Client side protection against drive-by pharming via referrer checking
US8554740B2 (en) Recording a log of operations
TWI461937B (en) Method and system to selectively secure the display of advertisements on web browsers
KR101497742B1 (en) System and method for authentication, data transfer, and protection against phising
JP4405248B2 (en) Communication relay device, communication relay method, and program
EP2447878A1 (en) Web based remote malware detection
US20060282897A1 (en) Secure web application development and execution environment
WO2008153635A2 (en) Mashup component isolation via server-side analysis and instrumentation
JP2010146457A (en) Information processing system and program
US11586726B2 (en) Secure web framework
CN105100065B (en) Webshell attack detection methods, device and gateway based on cloud
US8732189B2 (en) Command execution program and command execution method
JP4232431B2 (en) Browser-related security check program
KR20140011518A (en) Method and system to prevent malware code
JP2005092564A (en) Filtering device
JP2001154984A (en) Method and system for protecting copyright of digital image transmitted through network
US20160378982A1 (en) Local environment protection method and protection system of terminal responding to malicious code in link information
US20050278537A1 (en) Logging off a user from a website

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