JP2004318816A - 通信中継装置、通信中継方法及びプログラム - Google Patents

通信中継装置、通信中継方法及びプログラム Download PDF

Info

Publication number
JP2004318816A
JP2004318816A JP2003400724A JP2003400724A JP2004318816A JP 2004318816 A JP2004318816 A JP 2004318816A JP 2003400724 A JP2003400724 A JP 2003400724A JP 2003400724 A JP2003400724 A JP 2003400724A JP 2004318816 A JP2004318816 A JP 2004318816A
Authority
JP
Japan
Prior art keywords
content
transmission
script program
destination
communication relay
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
JP2003400724A
Other languages
English (en)
Other versions
JP4405248B2 (ja
Inventor
Nobuo Sakiyama
伸夫 崎山
Hideki Yoshida
英樹 吉田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003400724A priority Critical patent/JP4405248B2/ja
Priority to US10/808,564 priority patent/US20050021791A1/en
Publication of JP2004318816A publication Critical patent/JP2004318816A/ja
Application granted granted Critical
Publication of JP4405248B2 publication Critical patent/JP4405248B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】サーバからクライアントに転送されるコンテンツ中に含まれる不正スクリプトによりクライアントに格納される情報が漏洩されること防止することのできる通信中継装置を提供すること。
【解決手段】プロキシサーバ3は、Webサーバ1からWebブラウザ21へ転送されるコンテンツを受信すると、このコンテンツから、Webブラウザ21に格納されているクッキー情報をクライアント計算機2から外部の送信先へ向けて送出させる機能を有するスクリプトプログラムを抽出する。そのようなスクリプトプログラムが受信された場合、このコンテンツをクライアント計算機2へ送信してよいかどうかについての許否を判断し、送信が許可されたときにのみ、このコンテンツをクライアント計算機2へ送信する。
【選択図】 図1

Description

本発明は、クライアントとサーバとの間で転送されるコンテンツを中継する通信中継装置、通信中継方法及びプログラムに関する。
インターネットでのWebアクセスに用いられるプロトコルであるHTTPは、要求に応じてコンテンツを返すことで完結する単純なプロトコルであり複数の要求にまたがる状態を持たない。従って、そのままではWebサーバは各Webブラウザを区別することができない。一方、現実の応用では各Webブラウザを区別して認証を行ったり複数のHTTPにまたがって状態を保持したセッションを維持したりする必要があり、このためにクッキー(Cookie)と呼ばれるメカニズムが用いられてきた。
クッキーはWebサーバで任意に解釈できる文字列であり、WebブラウザからのHTTPによる要求に対する応答のなかでWebサーバから送信されてWebブラウザ中に設定され、Webブラウザが次回から同一Webサーバ、ないし同一ドメインに属するWebサーバへコンテンツを要求する際に、そのなかに埋め込まれてWebサーバに送信される。クッキーが埋め込まれていない要求への返答に対してWebサーバがそれぞれ異なるクッキー設定の返答を行うことで、Webサーバは各Webブラウザを区別できることになる。
一方、Webブラウザで表示される文書の記述技術として、JavaScript(TM)やVBScript(TM)といったスクリプト言語によって記述されたプログラムをHTML中に埋め込んで用いる方法が広く用いられている。Webブラウザで受信されたHTML文書は表示のため内部で解析されて構造を持ったオブジェクトとして扱われるが、このオブジェクトに対してイベントドリブンの操作をスクリプト言語で行うことで動的なコンテンツ表示を行うことを可能としている。これらのスクリプトプログラムはWebサーバにより提供され異なる管理下にあるWebブラウザ上で実行される性質を持つため、通常の状態で操作可能なオブジェクトは表示されるコンテンツやWebブラウザのGUI部品に限定されている。ここで、先に説明したクッキーはWebサーバが設定するものであるため、スクリプトプログラムから自由に操作することができるように定められている。よって、スクリプトプログラムによるクッキーへの操作によって、クッキー文字列を他のドメインの提携サイトへと転送することによって新たな認証作業をWebブラウザのユーザが行わずにすむシングルサインオンも実装され得る。
また、WebブラウザとWebサーバのそれぞれの所有者が特別な関係にありWebサーバを「信頼できる」と判断する場合、Webブラウザの設定により特定のWebサーバからのスクリプトプログラムによってWebブラウザの外のクライアント計算機上のリソースに対する操作を許可することができる。
以上のような技術的背景に対するセキュリティ上の脅威として、クロスサイトスクリプティング脆弱性と呼ばれる問題が知られている(例えば、非特許文献1参照)。クロスサイトスクリプティングとは、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、Webブラウザのクッキーが攻撃者サーバへ漏洩するなどセキュリティ上の被害が発生するものであり、そのような攻撃が有効となるWebシステムはクロスサイトスクリプティング脆弱性を有するとされる。
クロスサイトスクリプティング脆弱性の原因は、Webサイトでの動的ページ生成において、ユーザからの入力に由来する内容について十分なチェックが行なわれていないことにあり、チェックを行ない不正スクリプトの無効化を完全に行うことが対策とされている(例えば、非特許文献1参照)。
しかし、平均的なWebサイト構築者にとって対策は困難な問題となっている(例えば、非特許文献2参照)。Webサイト構築に用いられるアプリケーションやミドルウェアが脆弱である場合、それらを組み合わせたり設定したりするだけでサイトを運営する場合は脆弱性をチェックするだけの技術をサイト構築者が持たない場合も多く、また仮にWebサイトを構築するプログラムを全て検査しようとした場合、検査項目が膨大になる場合が多いためである。
インターネットに接続する計算機の代表的なセキュリティ防護装置としてはファイアウォールが知られているが、クロスサイトスクリプティングはHTTPプロトコル中の形式的には正当なデータによる攻撃であるため、Webサーバを保護するためのファイアウォールによって防ぐことができない。
より高度な防御方法としては、侵入検知システムを設置しHTTPのリクエスト内容を細かく検査する方法がある(例えば、非特許文献3,4参照)が、クロスサイトスクリプティング脆弱性は特定少数の実装がほとんどとなるWebサーバの脆弱性だけではなく、多くのベンダが異なる実装を提供しているミドルウェアさらに個別サイトごとに作られたWebアプリケーションといった広範な領域に関係するため、完全に有効なルールセットを個別サイトの運営に関わらないベンダが提供するのは不可能であり、また個別サイトにとっても網羅的な検査ルールの作成は脆弱性そのものの除去と同程度のコストがかかると考えられる。
ユーザ側での自衛手段として、Webブラウザでのスクリプトプログラム実行全てを禁止する方法があるが、これらはWebサイトの正規のスクリプトプログラムの実行をも禁止するものである上、クロスサイトスクリプティング脆弱性の問題はWebサイト運営上の瑕疵によって生ずるものなので問題の解決とならない。
クロスサイトスクリプティングによる被害はクッキー漏洩に留まらず、クッキーの予期しない廃棄やWebサーバを「信頼できるサイト」と設定していた場合のクライアント計算機上のファイルの破壊や漏洩、偽コンテンツの表示などがあげられるが、なかでもクッキーは多くの電子商取引サイトでセッション保持や認証のために利用されており、その漏洩は顧客の個人情報の漏洩や不正取引による金銭的損害に直結する。従って、クッキーの漏洩に注目して対策することは有効である。
クッキー漏洩に着目すると、クライアント計算機上にソフトウェアで構成されたファイアウォールによってクッキーの送出を阻止する方法も存在している(例えば、非特許文献5)。しかし、Webサイトの正規のスクリプトプログラムの実行を妨害するものである上、クロスサイトスクリプティング脆弱性の問題はWebサイト運営上の瑕疵によって生ずるものなので、問題の解決とならない。
クッキー漏洩へのWebサイトとWebブラウザ双方で連携して行う対策として、WebサーバでクッキーにHTTP−only属性を設定し、WebブラウザでスクリプトプログラムでのHTTP−only属性のついたクッキーの取扱いを禁止するという方式が提案されている(例えば、非特許文献6参照)。しかし、ユーザ側でのWebブラウザの更新が前提とされていること、正当な理由があってスクリプトによってクッキーを操作する場合には利用できない問題がある。
また、クロスサイトスクリプティング脆弱性を利用することによって、Webページ内のサーバとクライアントとの間以外では秘匿すべき情報を漏洩させることが可能である。さらに、Webページ内の入力フォームの送信先を不正に変更すること、正当なサイトのWebページに替えて別の入力フォームをもつWebページを表示させること、または正当なサイトのWebページのなかに別の入力フォームをもつWebページを内部フレームを使って表示することによって、ユーザに秘匿すべき情報の入力を促して詐取することが可能である。
「セキュアプログラミング講座 A. WEBプログラマコース」、情報処理振興事業協会 セキュリティセンター、 2001年 「クロスサイトスクリプティング攻撃に対する電子商取引サイトの脆弱さの実態とその対策」、高木浩光 関口智嗣 大蒔和仁、情報処理学会 第4回コンピュータセキュリティシンポジウム、 2001年 Abstracting Application-Level Web Security, David Scott and Richard Sharp, the 11th International World-Wide Web conference (WWW2002), 2002 AppShield white paper, Sanctum Inc., 2001 シマンテック 2001年9月18日 フ゜レスリリース, http://www.symantec. co.jp/region/jp/news/year01/010918.html, 株式会社シマンテック Mitigating Cross-site Scripting With HTTP-only Cookies, Microsoft, 2002, http://msdn.microsoft.com/workshop/author/dhtml/httponly_cookies. asp
クロスサイトスクリプティング脆弱性を悪用したクッキーに代表されるWebブラウザに格納される情報の漏洩は顧客の個人情報の漏洩や不正取引による金銭的損害に直結する。責任を負うべきWebサイト管理者にとって、事前に全ての脆弱性を検査して取り除くことは困難である。さらに、既存の脆弱性防御技術によってWebスクリプティングの有用性を損なうことなく完全に対策を行うことは、Webアプリケーションからの脆弱性の完全な除去と同程度に困難であった。また、クロスサイトスクリプティング脆弱性を悪用したWebページの情報の漏洩やユーザのフォーム入力の詐取も同様に、顧客の個人情報の漏洩や不正取引による金銭的損害に直結する。
本発明は、上記事情を考慮してなされたもので、サーバからクライアントに送信されるコンテンツ中に含まれる不正スクリプトを利用した攻撃(例えば、クライアントに格納される情報が漏洩されること、Webページの内容が漏洩させること、フォーム入力の送信先の変更または虚偽の入力フォームによりユーザのフォーム入力が詐取されることなど)を防止することのできる通信中継装置、通信中継方法及びプログラムを提供することを目的とする。
本発明に係る通信中継装置は、サーバからクライアントへ送信されるコンテンツを受信する受信手段と、受信した前記コンテンツから、不正の機能を有する可能性のあるスクリプトプログラムを抽出する抽出手段と、前記抽出手段により前記スクリプトプログラムが抽出された場合に、前記コンテンツの送信を許可するか否かについて判断する判断手段と、前記判断手段により許可すると判断された場合にのみ、前記コンテンツを前記クライアントへ向けて送信する送信手段とを備えたことを特徴とする。
好ましくは、前記抽出手段は、受信した前記コンテンツから、前記クライアント又は前記コンテンツに格納されている情報を前記クライアントから送信させる機能を有するスクリプトプログラムを抽出するようにしてもよい。
好ましくは、前記抽出手段は、受信した前記コンテンツから、前記コンテンツに格納されている入力フォームの送信先を示す情報を変更する機能を有するスクリプトプログラムを抽出するようにしてもよい。
好ましくは、前記抽出手段は、受信した前記コンテンツから、前記コンテンツに替えて前記サーバと同一又は異なるサーバ上の他のコンテンツを前記クライアントに要求させる機能を有するスクリプトプログラムを抽出するようにしてもよい。
好ましくは、前記抽出手段は、受信した前記コンテンツから、前記コンテンツに加えて前記サーバと同一又は異なる上の他のコンテンツを前記クライアントから要求させる機能と両コンテンツを一体に表現する機能を有するスクリプトプログラムを抽出するようにしてもよい。
好ましくは、前記抽出手段は、受信した前記コンテンツから、前記コンテンツに入力フォームを追加する機能を有するスクリプトプログラムを抽出するようにしてもよい。
本発明では、通信中継装置は、例えば、クライアント(ソフト的には、例えば、Webブラウザ)からの要求を受け付け、サーバ(例えば、Webサーバ)に転送する。サーバから要求に対応するコンテンツが返信されると、例えば、コンテンツのデータタイプを判定するなどして、スクリプトを含み得るデータタイプのものについてはスクリプトを抽出し、検査する。
そして、例えば、クライアント情報(例えば、クッキーないしクッキーに由来するデータ等)の送信を試みるスクリプトが含まれると判定されるなどした場合、クライアント情報の送信先をアクセス制御リストと照合するなどして、送信を許可されない送信先(例えば、リストに含まれない送信先)である場合には、コンテンツのクライアントへの送信を禁止する。
本発明によれば、クライアントに格納される情報の送信を試みる不正スクリプトがサーバからクライアントへ送信されることを防止でき、これによって、該不正スクリプトによりクライアントに格納される情報が漏洩されること防止することができる。また、この結果、例えばWebサーバ運営者の責任となるセキュリティ被害を防止することができる。さらに、例えば、送信を防止されたスクリプトを含むHTTPセッションについてWebサーバ管理者へ詳細を通知することなどが可能になるため、クロスサイトスクリプティング脆弱性をもつWebアプリケーションやミドルウェアについて修正やアップグレードなどの対策が容易になる。
また、例えば、コンテンツ情報(例えば、Webページ中の文字列)の送信を試みるスクリプトやコンテンツ中の入力フォームの送信先(例えば、HTMLフォーマットにおけるformタグのaction属性)の変更を試みるスクリプト、別コンテンツを要求して現コンテンツのかわりに表示するスクリプト、別コンテンツを要求して現コンテンツと一体に表現する(例えば、HTMLフォーマットにおいて別コンテンツのURLをsrc属性としてもつiframeタグを表示する)スクリプトが含まれると判定されるなどした場合、コンテンツ情報の送信先、formの変更後の送信先、別コンテンツの要求先をおのおのアクセス制御リストと照合するなどして、許可されない送信先(例えば、リストに含まれない送信先)である場合には、コンテンツのクライアントへの送信を禁止する。
本発明によれば、ユーザとサーバの間でのみ共有されることが期待される秘匿情報の送信・詐取を試みる不正スクリプトがサーバからクライアントへ送信されることを防止でき、これによって、該不正スクリプトにより情報が漏洩されることを防止することができる。また、この結果、例えばWebサーバ運営者の責任となるセキュリティ被害を防止することができる。さらに、例えば、送信を防止されたスクリプトを含むHTTPセッションについてWebサーバ管理者へ詳細を通知することなどが可能になるため、クロスサイトスクリプティング脆弱性をもつWebアプリケーションやミドルウェアについて修正やアップグレードなどの対策が容易になる。
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
本発明によれば、サーバからクライアントに送信されるコンテンツ中に含まれる不正スクリプトを利用した攻撃を防止することができる。
以下、図面を参照しながら本発明の実施形態について説明する。
以下では、通信中継装置としてネットワーク側通信インタフェースとWebサーバ側通信インタフェースがそれぞれ通信端点となり通信内容を送信するプロキシサーバの形態をとる場合を例にとって説明する。
(第1の実施形態)
図1に、本発明の第1の実施形態に係る通信システムの構成例を示す。図1において、1はWebサーバ、2はクライアント計算機、21はクライアント計算機2上で動作するWebブラウザ、3はプロキシサーバ(通信中継装置)、8はネットワーク(本具体例では、インターネットとする)を示す。
図1では、1つのWebサーバのみ示しているが、複数のWebサーバが存在し得る。同様に、クライアント計算機2も複数存在し得る。
プロキシサーバ3とWebサーバ1との対応関係については、1つのプロキシサーバ2が唯一のWebサーバ1を対象とする構成と、1つのプロキシサーバ3が複数のWebサーバ1を対象にし得る構成とが可能である。
図2に、本実施形態のプロキシサーバの構成例を示す。
図2に示されるように、本プロキシサーバ3は、(要求元のクライアント計算機2上で動作する)Webブラウザとの通信を行うネットワーク側通信インタフェース31、Webサーバ1との通信を行うWebサーバ側通信インタフェース32、コンテンツ分類部33、文書解釈部34、スクリプト検査部35を備えている。
また、スクリプト検査部35は送信許可判定部351を有し、送信許可判定部351は送信許可リスト3511を有する。図3に、送信許可リスト3511の一例を示す。
なお、図1では、Webサーバ1とプロキシサーバ3とは、直接接続されるように記述されているが、イントラネットを介して接続してもよいし、インターネットを介して接続するようにしてもよい(後者の場合には、暗号通信等によりセキュリティーを確保するのが好ましい)。また、図1では、Webサーバ1とネットワーク8とは、直接接続されるように記述されているが、例えば、イントラネット経由で接続可能な他の中継装置を介して接続されてもよい。
本プロキシサーバは、例えば、計算機によって実現することが可能である。
以下、本実施形態の動作の概要について説明する。
Webブラウザ(図1のクライアント計算機2参照)は、ネットワーク側通信インタフェース31にTCP/IPにより接続し、HTTPによるリクエストを送信する。本プロキシサーバ3のネットワーク側通信インタフェース31によって受信されたリクエストは、Webサーバ側通信インタフェース32を経由してそのままWebサーバ1へ送られる。Webサーバ1では、リクエストに対応したレスポンスを本プロキシサーバ3のWebサーバ側通信インタフェース32へ送信する。本プロキシサーバ3のWebサーバ側通信インタフェース32では、コンテンツをコンテンツ分類部33へ送る。コンテンツ分類部33では、データ型に応じてスクリプトが含まれ得る型の文書とスクリプトが含まれる可能性がないデータに分類し、スクリプトが含まれる可能性がないデータについてはネットワーク側通信インタフェース31経由でWebブラウザに返信する。スクリプトが含まれ得る型の文書については、各データ型に対応する文書解釈部34へ送る。ただし、文書がスクリプトそのものである場合にはスクリプト検査部35へ送る。
本プロキシサーバ3の文書解釈部34では、文書を構文解析する。構文解析の結果、スクリプトを含まない場合は、ネットワーク側通信インタフェース31経由でWebブラウザに返信する。スクリプトを含んでいる場合は、スクリプト検査部35へ送る。スクリプト検査部35では、スクリプトを検査し、Webブラウザに格納される情報に依存するいずれかのデータについて送信を試みるプログラムがあるかどうかを検査し、送信が行われ得る場合には、送信許可判定部351によって送信が許可されるかどうかを判別する。ここでは、送信許可判定部351は、送信先一覧をURLとして保持した送信許可リスト3511を送信許可規則とし照合するものとする。許可されない送信を含む場合は、エラーをネットワーク側通信インタフェース31経由でWebブラウザに送信する。さらに、スクリプトによって動的に文書が生成されるかどうか検査し、動的に文書が生成される場合には、文書解釈部34に結果を送って検査をやり直す。許可されない送信を含まない場合にのみ、スクリプト検査部35はネットワーク側通信インタフェース31経由でWebサーバ1からのレスポンスをWebブラウザへ返信する。
以下では、本実施形態のより詳細な動作例について説明するのに先立って、クロスサイトスクリプティング脆弱性によるクッキー漏洩について説明する。
なお、ここでは、Webブラウザに格納される情報の一例としてクッキーを考えるものとする。
まず、図4を参照しながら、クッキーの典型的利用形態について説明する。図4は、本プロキシサーバにより送信許可される場合である。図4では、本プロキシサーバは省略している。なお、図4では、Webサイトの一例としてオンラインショップを示している(後掲の図5及び図6の同様である)。
(1)まず、クライアント計算機から所望のWebサーバへのアクセス・認証がなされる。
(2)次に、Webサーバからクライアント計算機へ認証用クッキー設定要求がなされる。
(3)次に、クライアント計算機においてクッキーの設定がなされる。
(4)そして、クライアント計算機からWebサーバへのクッキーつきアクセスがなされる。
これによって、WebサーバはWebブラウザを特定する必要のあるサービスを提供できるようになる。
次に、図5を参照しながら、提携サイトへのクッキー送信例について説明する。図5は、本プロキシサーバにより送信許可される場合である。図5では、本プロキシサーバは省略している。
(1)まず、クライアント計算機とWebサーバAとの間で、図4の(1)〜(4)がなされる。
(2)次に、WebサーバAからクライアント計算機へ「提携サイトBへのクッキー送信スクリプト」の送信がなされる。
(3)次に、クライアント計算機において「提携サイトBへのクッキー送信スクリプト」が実行され、実行されたスクリプトによって、クライアント計算機からWebサーバBへのクッキー情報の送信・シングルサインオンがなされる。
このように、スクリプトプログラムによるクッキーへの操作によって、クッキー情報を他のWebサーバへ送信させ、例えば、新たな認証作業をWebブラウザのユーザが行わずにすむシングルサインオンなどができるようになる。
次に、図6を参照しながら、従来の通信システムにおけるクロスサイトスクリプティング脆弱性によるクッキー漏洩について説明する。
クロスサイトスクリプティングでは、図5で説明したような仕組みを悪用して、例えば、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、Webブラウザのクッキー情報を攻撃者サーバへ漏洩させるなどの不正が行われ得る。そして、クッキー情報の漏洩に留まらず、クライアント計算機上のファイルの破壊や漏洩、偽コンテンツの表示なども発生し得る。この不正は、例えば、以下のようにして実現される。
ここで、図6のWebサーバ(1a)は、脆弱性を持つものとする(なお、このWebサーバ自体は正当なものである)。また、クライアント計算機は、この脆弱性を持つWebサーバとの間で、例えば、図4のような手順を既に行っており、クッキーを設定しているものとする。
(1)まず、攻撃者がクライアント計算機へ不正コンテンツを送付する。これは、例えば、広告メールや、掲示板での誘導など、種々の方法で行われる。
(2)クライアント計算機のWebブラウザが、この不正コンテンツをレンダリングする。
(3)そして、クライアント計算機からWebサーバへ、例えば漏洩先サイトへのクッキー送信スクリプトのもととなるデータ等の不正データを含むGETリクエストを送出してしまう。
(4)このGETリクエストを受けたWebサーバは、誤った出力処理をしてしまう。
(5)この結果、不正スクリプト(漏洩先サイトへのクッキー送信スクリプト)つきHTMLを送付してしまう。
(6)この不正スクリプト(漏洩先サイトへのクッキー送信スクリプト)つきHTMLを受けたクライアント計算機のWebブラウザでは、この不正スクリプトすなわち漏洩先サイトへのクッキー送信スクリプトを実行してしまう。
(7)この結果、クライアント計算機から漏洩先サイトへのクッキー情報の不正送信がなされてしまう。
(8)このようにして、漏洩先サイト(1c)は、攻撃したクライアント計算機のクッキー情報を不正に取得することができる。
(9)これによって、漏洩先サイトは、例えば、攻撃したクライアント計算機になりすまして、先のWebサーバへアクセスすることができる。
これに対して、本実施形態では、図6のWebサーバとインターネットとの間に存在するプロキシサーバにおいて、図6の(5)の不正スクリプトつきHTMLを遮断するようにし、これによって、クッキー情報等の漏洩を防止することができるようにしている。
以下、本実施形態のより詳細な動作例について説明する。
図7及び図8に、本実施形態のプロキシサーバ3の処理手順の一例を示す。
なお、ここでは一例として、スクリプトとしてJavaScript及びVBScriptを対象とし、スクリプトを含む可能性のある文書としてHTML、XML及びCSSを対象とするものとする。また、前述のように、Webブラウザに格納される情報の一例としてクッキーを考えるものとする。
Webブラウザ(図1のクライアント計算機2参照)からのリクエストが本プロキシサーバ3を経由してWebサーバ1に送られ、Webサーバ1からのレスポンスが本プロキシサーバ3で受信される(ステップS1)。
本プロキシサーバ3は、HTTPリクエストを受信すると、当該リクエストが設定されたWebサーバへのリクエストであることを確認した上で(ステップS2)、Webサーバ1へリクエストを送信し(ステップS3)、対応するWebサーバ1からのHTTPレスポンスを受信する(ステップS5)。
なお、この一連の過程でエラーが発生した場合は(ステップS2でNoの場合、ステップS4でNoの場合、ステップS6でNoの場合)、エラーコードとエラーメッセージの生成を行って(ステップS7)、Webブラウザへエラーを示すレスポンスを返す(ステップS8)。
さて、受信(ステップS5)したHTTPレスポンスがHTTPのMessage−Bodyを含んでいない場合は(ステップS8)、HTTPレスポンスをそのままWebブラウザに送信する形で返信する(ステップS9)。
次に、HTTPレスポンスの内容はコンテンツ分類部33に送られる。
コンテンツ分類部33では、HTTPレスポンスのContent−Typeヘッダによって、コンテンツがJavaScript又はVBScriptの場合は(ステップS10)、スクリプト検査部35に、HTML,XML,CSSの場合には(ステップS11)、文書解釈部34へ送る。その他の場合は(ステップS10でNoかつステップS11でNoの場合)、Webサーバ1からのHTTPレスポンスをそのままWebブラウザに送信する形で返信する(ステップS22)。
文書解釈部34では、文書の型に応じた構文解析を行い(ステップS12)、文書がJavaScript又はVBScriptのスクリプトを含む場合は(ステップS13)、スクリプト検査部35へ送る。スクリプトを含まない場合は(ステップS13)、WebサーバからのHTTPレスポンスをそのままWebブラウザに送信する形で返信する(ステップS22)。
スクリプト検査部35では、スクリプトの構文解析および意味解析を行い、スクリプトで扱うオブジェクトの依存ツリーを作成する(ステップS14)。
依存ツリー中でDocumentオブジェクトのCookieプロパティが参照され(ステップS15)、かつ、当該クッキーに依存するデータが別のドキュメントのURLやFormのデータとされている場合(ステップS16)、それらのURLについて送信許可判定部351において送信許可リスト3511の内容と合致するかどうか検査する。なお、オブジェクトの依存ツリーに対して定数の畳み込みを行っても問題のURLを列挙する形で確定できない場合には、任意のURLへの送信であると仮定して検査する(この場合、任意の送信先に対する送信が許可されていないならば、許可されない送信であると判断する)。
検査においてひとつでも許可リストに合致しないURLがクッキー送信に用いられ得ると判断された場合には(ステップS17)、当該Webコンテンツについては送信が許可されないと判断して、当該WebコンテンツのWebブラウザ(クライアント計算機2)への送出を禁止し、検出された当該Webコンテンツに係るWebブラウザからの要求及び当該コンテンツを保存して、Webサーバ管理者への通知を目的としたログをとるとともに、該ログ(又は、当該コンテンツのみ若しくは当該要求のみ)を含む通知メッセージを作成し、事前に設定された管理者(アカウント)にメールで送信し(ステップS16)、またHTTPレスポンスについては、エラーコードとエラーメッセージを生成して(ステップS19)、Webブラウザへ返信する(ステップS22)。
スクリプト検査部35では、クッキーの検査とは別にDocumentオブジェクトのwriteメソッドが呼び出されているかどうかも検査する。Documentオブジェクトのwriteメソッドによって、Webブラウザによって解釈されるドキュメントが生成されるため、そのなかにスクリプトが含まれていれば実行される可能性があるためである。すなわち、ステップS15若しくはステップS16又はステップS17でNoとなったものについて、Documentオブジェクトのwriteメソッドが呼び出される場合には(ステップS20)、スクリプトを部分的に実行する形で新しい文書を作成し(ステップS21)、文書解釈部34へ処理を渡してスクリプトが含まれるかどうか検査するところに戻る。
以上のような検査をへてスクリプトがクッキーの不正送信を行わないと判断できる場合に、Webサーバから受信したHTTPレスポンスを、そのままWebブラウザに送信する形で、返信する。
このように本実施形態によれば、クッキー情報等の漏洩を防止することができる。
なお、上記では、当該Webコンテンツについて送信が許可されないと判断された場合に、当該WebコンテンツのWebブラウザ(クライアント計算機2)への送出を禁止するとともに、通知メッセージの送信や、エラーメッセージの送信を行ったが、通知メッセージの送信とエラーメッセージの送信の一方又は両方を行わない構成も可能である(ログを保存しない構成も可能である)。
なお、上記では、送信許可判定部351は、送信先一覧をURLとして保持した送信許可リスト3511を送信許可規則とし照合する場合を例にとって説明しているが、その代わりに、許可される送信先URLを正規表現の記述として保有し、個々の送信先URLと照合して全ての送信先URLが正規表現と一致する場合にのみ送信許可の結果を返すようにしてもよいし、両者を併用してもよい。
(第2の実施形態)
本発明の第2の実施形態に係る通信システムの構成例は、図1と同様である。
図1では、1つのWebサーバのみ示しているが、複数のWebサーバが存在し得る。同様に、クライアント計算機2も複数存在し得る。
プロキシサーバ3とWebサーバ1との対応関係については、1つのプロキシサーバ2が唯一のWebサーバ1を対象とする構成と、1つのプロキシサーバ3が複数のWebサーバ1を対象にし得る構成とが可能である。
図9に、本実施形態のプロキシサーバの構成例を示す。
図9に示されるように、本プロキシサーバ3は、(要求元のクライアント計算機2上で動作する)Webブラウザとの通信を行うネットワーク側通信インタフェース31、Webサーバ1との通信を行うWebサーバ側通信インタフェース32、コンテンツ分類部33、文書解釈部34、スクリプト検査部35を備えている。
また、スクリプト検査部35は、クッキー(Cookie)送信許可判定部351、情報送信許可判定部352、フォーム(form)送信先許可判定部353、外部コンテンツ要求先許可判定部354を有する。
なお、クッキー(Cookie)送信許可判定部351は、基本的には、第1の実施形態の送信許可判定部351と同様のものである。すなわち、本実施形態では、スクリプト検査部35に、情報送信許可判定部352とフォーム送信先許可判定部353と外部コンテンツ要求先許可判定部354とを付加したものになっている。
クッキー送信許可判定部351は、クッキー送信許可リスト3511を有し、情報送信許可判定部352は、情報送信許可リスト3521を有し、フォーム送信先許可判定部353は、フォーム送信先許可リスト3531を有し、外部コンテンツ要求先許可判定部354は、外部コンテンツ要求先許可リスト3541を有する。クッキー送信許可リスト3511の一例、情報送信許可リスト3521の一例、フォーム送信先許可リスト3531の一例および外部コンテンツ要求先許可リスト3541の一例は、図3と同様である。なお、各許可リスト3511,3521,3531,3541の内容は、互いに独立して設定可能であるが、全て同じ内容にしても構わない。
なお、図1では、Webサーバ1とプロキシサーバ3とは、直接接続されるように記述されているが、イントラネットを介して接続してもよいし、インターネットを介して接続するようにしてもよい(後者の場合には、暗号通信等によりセキュリティーを確保するのが好ましい)。また、図1では、Webサーバ1とネットワーク8とは、直接接続されるように記述されているが、例えば、イントラネット経由で接続可能な他の中継装置を介して接続されてもよい。
本プロキシサーバは、例えば、計算機によって実現することが可能である。
以下、本実施形態の動作の概要について説明する。
Webブラウザ(図1のクライアント計算機2参照)は、ネットワーク側通信インタフェース31にTCP/IPにより接続し、HTTPによるリクエストを送信する。本プロキシサーバ3のネットワーク側通信インタフェース31によって受信されたリクエストは、Webサーバ側通信インタフェース32を経由してそのままWebサーバ1へ送られる。Webサーバ1では、リクエストに対応したレスポンスを本プロキシサーバ3のWebサーバ側通信インタフェース32へ送信する。本プロキシサーバ3のWebサーバ側通信インタフェース32では、コンテンツをコンテンツ分類部33へ送る。コンテンツ分類部33では、データ型に応じてスクリプトが含まれ得る型の文書とスクリプトが含まれる可能性がないデータに分類し、スクリプトが含まれる可能性がないデータについてはネットワーク側通信インタフェース31経由でWebブラウザに返信する。スクリプトが含まれ得る型の文書については、各データ型に対応する文書解釈部34へ送る。ただし、文書がスクリプトそのものである場合にはスクリプト検査部35へ送る。
本プロキシサーバ3の文書解釈部34では、文書を構文解析する。構文解析の結果、スクリプトを含まない場合は、ネットワーク側通信インタフェース31経由でWebブラウザに返信する。スクリプトを含んでいる場合は、スクリプト検査部35へ送る。スクリプト検査部35では、スクリプトを検査し、Webブラウザに格納される情報に依存するいずれかのデータについて送信を試みるプログラムがあるかどうかを検査し、送信が行われ得る場合には、クッキー送信許可判定部351によって送信が許可されるかどうかを判別する。ここでは、クッキー送信許可判定部351は、送信先一覧をURLとして保持した送信許可リスト3511を送信許可規則とし照合するものとする。許可されない送信を含む場合は、エラーをネットワーク側通信インタフェース31経由でWebブラウザに送信する。
なお、ここまでは、基本的には第1の実施形態と同様である。
スクリプト検査部353では、さらに、コンテンツ中の情報の送信を試みるプログラムであるかどうかを検査し、送信が行われうる場合には、情報送信許可判定部352によって送信が許可されるかどうかを判別する。ここでは、情報送信許可判定部352は、送信先一覧をURLとして保持した送信許可リスト3521を送信許可規則とし照合するものとする。許可されない送信を含む場合は、エラーをネットワーク側通信インタフェース31経由でWebブラウザに送信する。さらに、スクリプト検査部35は、formの送信先の変更を試みるプログラムであるかどうかを検査し、変更が行われうる場合には、フォーム送信先許可判定部353によって送信先変更が許可されるかどうかを判別する。ここでは、フォーム送信先許可判定部353は、送信先一覧をURLとして保持した送信先許可リスト3531を送信先許可規則とし照合するものとする。許可されない送信先変更を含む場合は、エラーをネットワーク側通信インタフェース31経由でWebブラウザに送信する。さらに、スクリプト検査部35は、オブジェクトのlocation情報の変更やiframeタグのsrc属性の変更などにより外部コンテンツの表示を試みるプログラムであるかどうかを検査し、変更が行われうる場合には外部コンテンツ要求先許可判定部354によって送信先変更が許可されるかどうかを判別する。ここでは、外部コンテンツ要求先許可判定部354は、要求先一覧をURLとして保持した要求先許可リスト3541を送信先許可規則とし照合するものとする。許可されない送信先変更を含む場合は、エラーをネットワーク側通信インタフェース31経由でWebブラウザに送信する。さらに、スクリプトによって動的に文書が生成されるかどうか検査し、動的に文書が生成される場合には、formの挿入やiframeタグの挿入が行われるかどうかを検査し、挿入が行われる場合にはformについてはform送信先判定部353により判定を行い、iframeについては、外部コンテンツ要求先許可判定部354により判定を行う。その後、文書検査部34に文書生成の結果を送って検査をやり直す。許可されない送信・送信・外部コンテンツ要求を含まない場合にのみ、スクリプト検査部35はネットワーク側通信インタフェース31経由でWebサーバ1からのレスポンスをWebブラウザへ返信する。
以下では、本実施形態のより詳細な動作例について説明するのに先立って、クロスサイトスクリプティング脆弱性によるコンテンツ情報漏洩、form送信先変更によるform入力詐取、外部偽form表示によるform入力情報詐取について説明する。
なお、クッキーの典型的利用形態(図4参照)、提携サイトへのクッキー送信例(図5参照)、クロスサイトスクリプティング脆弱性によるクッキー漏洩(図6参照)については、第1の実施形態で説明した通りである。
まず、図10を参照しながら、従来の通信システムにおけるクロスサイトスクリプティング脆弱性によるクコンテンツ情報漏洩について説明する。なお、図10では、Webサイトの一例としてオンラインショップを示している(後掲の図11、図12、図13及び図14も同様である)。
クロスサイトスクリプティングでは、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、セッション中のコンテンツに表記される情報を攻撃者サーバへ漏洩させるなどの不正が行われ得る。
ここで、図10のWebサーバ(1a)は、脆弱性を持つものとする(なお、このWebサーバ自体は正当なものである)。
(1)まず、攻撃者がクライアント計算機へ不正コンテンツを送付する。これは、例えば、広告メールや、掲示板での誘導など、種々の方法で行われる。
(2)クライアント計算機のWebブラウザが、この不正コンテンツをレンダリングする。
(3)そして、クライアント計算機からWebサーバへ、例えば漏洩先サイトへのコンテンツ情報送信スクリプトのもととなるデータ等の不正データを含むGETリクエストを送出してしまう。
(4)このGETリクエストを受けたWebサーバは、誤った出力処理をしてしまう。
(5)この結果、不正スクリプト(漏洩先サイトへのコンテンツ情報送信スクリプト)つきHTMLを送付してしまう。
(6)この不正スクリプト(漏洩先サイトへのコンテンツ情報送信スクリプト)つきHTMLを受けたクライアント計算機のWebブラウザでは、この不正スクリプトすなわち漏洩先サイトへのコンテンツ情報送信スクリプトを実行してしまう。
(7)この結果、クライアント計算機から漏洩先サイトへのコンテンツ情報の不正送信がなされてしまう。例えば、このコンテンツ情報に、データベース101からの秘密情報が含まれていれば、秘密情報が漏洩してしまうことになる。
(8)このようにして、漏洩先サイト(1c)は、攻撃したクライアント計算機やそのユーザ固有の情報を不正に取得することができる。
(9)これによって、漏洩先サイトは、例えば、攻撃したクライアント計算機になりすまして、先のWebサーバへアクセスすることができたり、他の入手した情報を流用することができる。
次に、図11を参照しながら、従来の通信システムにおけるクロスサイトスクリプティング脆弱性によるform送信先変更によるform入力詐取について説明する。
クロスサイトスクリプティングでは、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、form送信先を変更することによってform入力を詐取するなどの不正が行われ得る。
ここで、図11のWebサーバ(1a)は、脆弱性を持つものとする(なお、このWebサーバ自体は正当なものである)。
(1)まず、攻撃者がクライアント計算機へ不正コンテンツを送付する。これは、例えば、広告メールや、掲示板での誘導など、種々の方法で行われる。
(2)クライアント計算機のWebブラウザが、この不正コンテンツをレンダリングする。
(3)そして、クライアント計算機からWebサーバへ、例えばform送信先の不正な変更スクリプトのもととなるデータ等の不正データを含むGETリクエストを送出してしまう。
(4)このGETリクエストを受けたWebサーバは、誤った出力処理をしてしまう。
(5)この結果、不正スクリプト(漏洩先サイトへのform送信先の不正な変更スクリプト)つきHTMLを送付してしまう。
(6)クライアント計算機のWebブラウザでは、formを正常に表示する。
(7)ユーザはWebブラウザに表示されたformに情報を入力し、送信操作を行う。
(8)送信操作によって、クライアント計算機のWebブラウザでは、この不正スクリプトすなわち漏洩先サイトへのform送信先変更スクリプトを実行し、その後情報を送信してしまう。
(9)この結果、クライアント計算機から漏洩先サイトへのform入力情報の不正送信がなされてしまう。
(10)このようにして、漏洩先サイト(1c)は、ユーザ固有の情報を不正に取得することができる。
(11)これによって、漏洩先サイトは、例えば、入手したユーザ固有の情報を流用することができる。
次に、図12を参照しながら、従来の通信システムにおけるクロスサイトスクリプティング脆弱性によるリダイレクトを用いた偽formの表示による入力詐取について説明する。
クロスサイトスクリプティングでは、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、外部の偽formを表示することによってform入力情報を詐取するなどの不正が行われ得る。
ここで、図12のWebサーバ(1a)は、脆弱性を持つものとする(なお、このWebサーバ自体は正当なものである)。
(1)まず、攻撃者がクライアント計算機へ不正コンテンツを送付する。これは、例えば、広告メールや、掲示板での誘導など、種々の方法で行われる。
(2)クライアント計算機のWebブラウザが、この不正コンテンツをレンダリングする。
(3)そして、クライアント計算機からWebサーバへ、例えば外部偽form表示スクリプトのもととなるデータ等の不正データを含むGETリクエストを送出してしまう。
(4)このGETリクエストを受けたWebサーバは、誤った出力処理をしてしまう。
(5)この結果、不正スクリプト(外部偽form出力スクリプト)つきHTMLを送付してしまう。
(6)クライアント計算機のWebブラウザでは、リダイレクト不正スクリプトを実行する。
(7)クライアント計算機のWebブラウザでは、不正リダイレクト先のリクエストを指示されたサーバ、ここでは漏洩先サイトへ送信する。
(8)漏洩先サイトはformを含んだHTMLコンテンツを送付する。formの送信先は漏洩先サイトとなっている。
(9)クライアント計算機のWebブラウザでは漏洩先サイトから送付されたform、すなわち偽formを正規のコンテンツと一体に表示する。
(10)ユーザはWebブラウザに表示された偽formに情報を入力し、送信操作を行う。
(11)クライアント計算機のWebブラウザは、ユーザの送信操作によって偽formに入力された情報を漏洩先サイトへ送信してしまう。
この結果、クライアント計算機から漏洩先サイトへのform入力情報の不正送信がなされてしまう。
(12)このようにして、漏洩先サイト(1c)は、ユーザ固有の情報を不正に取得することができる。
(13)これによって、漏洩先サイトは、例えば、入手したユーザ固有の情報を流用することができる。
さらに、図13を参照しながら、従来の通信システムにおけるクロスサイトスクリプティング脆弱性による外部偽form表示によるform入力詐取について説明する。
クロスサイトスクリプティングでは、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、外部の偽formを表示することによってform入力情報を詐取するなどの不正が行われ得る。
ここで、図13のWebサーバ(1a)は、脆弱性を持つものとする(なお、このWebサーバ自体は正当なものである)。
(1)まず、攻撃者がクライアント計算機へ不正コンテンツを送付する。これは、例えば、広告メールや、掲示板での誘導など、種々の方法で行われる。
(2)クライアント計算機のWebブラウザが、この不正コンテンツをレンダリングする。
(3)そして、クライアント計算機からWebサーバへ、例えば外部偽form表示スクリプトのもととなるデータ等の不正データを含むGETリクエストを送出してしまう。
(4)このGETリクエストを受けたWebサーバは、誤った出力処理をしてしまう。
(5)この結果、不正スクリプト(外部偽form出力スクリプト)つきHTMLを送付してしまう。
(6)クライアント計算機のWebブラウザでは、不正スクリプトを実行し、不正に挿入されたiframeタグの処理を行う。
(7)クライアント計算機のWebブラウザではiframeタグの表示のため、iframeタグの中身のリクエストを指示されたサーバ、ここでは漏洩先サイトへ送信する。
(8)漏洩先サイトはformを含んだHTMLコンテンツを送付する。formの送信先は漏洩先サイトとなっている。
(9)クライアント計算機のWebブラウザでは漏洩先サイトから送付されたform、すなわち偽formを正規のコンテンツと一体に表示する。
(10)ユーザはWebブラウザに表示された偽formに情報を入力し、送信操作を行う。
(11)クライアント計算機のWebブラウザは、ユーザの送信操作によって偽formに入力された情報を漏洩先サイトへ送信してしまう。
この結果、クライアント計算機から漏洩先サイトへのform入力情報の不正送信がなされてしまう。
(12)このようにして、漏洩先サイト(1c)は、ユーザ固有の情報を不正に取得することができる。
(13)これによって、漏洩先サイトは、例えば、入手したユーザ固有の情報を流用することができる。
次に、図14を参照しながら、従来の通信システムにおけるクロスサイトスクリプティング脆弱性による偽formの追加によるform入力詐取について説明する。
クロスサイトスクリプティングでは、ユーザが閲覧するWebページに不正なスクリプトプログラムを混入させてユーザのWebブラウザで実行させることで、form送信先を変更することによってform入力を詐取するなどの不正が行われ得る。
ここで、図14のWebサーバ(1a)は、脆弱性を持つものとする(なお、このWebサーバ自体は正当なものである)。
(1)まず、攻撃者がクライアント計算機へ不正コンテンツを送付する。これは、例えば、広告メールや、掲示板での誘導など、種々の方法で行われる。
(2)クライアント計算機のWebブラウザが、この不正コンテンツをレンダリングする。
(3)そして、クライアント計算機からWebサーバへ、例えば外部偽form表示スクリプトのもととなるデータ等の不正データを含むGETリクエストを送出してしまう。
(4)このGETリクエストを受けたWebサーバは、誤った出力処理をしてしまう。
(5)この結果、不正スクリプト(外部偽form出力スクリプト)つきHTMLを送付してしまう。
(6)クライアント計算機のWebブラウザでは、不正スクリプトを実行する。
(7)クライアント計算機のWebブラウザでは漏洩先サイトから送付されたform、すなわち偽formを正規のコンテンツと一体に表示する。
(8)ユーザはWebブラウザに表示された偽formに情報を入力し、送信操作を行う。
(9)クライアント計算機のWebブラウザは、ユーザの送信操作によって偽formに入力された情報を漏洩先サイトへ送信してしまう。
この結果、クライアント計算機から漏洩先サイトへのform入力情報の不正送信がなされてしまう。
(10)このようにして、漏洩先サイト(1c)は、ユーザ固有の情報を不正に取得することができる。
(11)これによって、漏洩先サイトは、例えば、入手したユーザ固有の情報を流用することができる。
これに対して、本実施形態では、図10、図11、図12、図13、図14のWebサーバとインターネットとの間に存在するプロキシサーバにおいて、図10の(5)、図11の(5)、図12の(5)、図13の(5)、図14の(5)の不正スクリプトつきHTMLを遮断するようにし、これによって、クッキー情報等の漏洩を防止することができるようにしている。
以下、本実施形態のより詳細な動作例について説明する。
図7及び図15に、本実施形態のプロキシサーバ3の処理手順の一例を示す。
なお、ここでは一例として、スクリプトとしてJavaScript及びVBScriptを対象とし、スクリプトを含む可能性のある文書としてHTML、XML及びCSSを対象とするものとする。また、前述のように、Webブラウザに格納される情報の一例としてクッキーを考えるものとする。
まず、ステップS1〜ステップS19,ステップS22は、基本的には、第1の実施形態で説明した通りである(図7及び図8参照)。
ただし、図8では、ステップS14において、スクリプト検査部35が、スクリプトの構文解析および意味解析を行い、スクリプトで扱うオブジェクトの依存ツリーを作成した後に、ステップS15において、依存ツリー中でDocumentオブジェクトのCookieプロパティが参照されていなければ、ステップS20へ進んだが、図15では、次のようになる。すなわち、ステップS14の後、ステップS15−1において、依存ツリー中でDocumentオブジェクトが参照されていれば、ステップS15−2へ進み、参照されていなければ、ステップS33へ進み、ステップS15−2において、Cookieプロパティが参照されていれば、ステップS16へ進み、Cookieプロパティが参照されていなければ、ステップS31へ進む。
さて、スクリプト検査部35では、さらに、Documentオブジェクトが参照されているケース(ステップS15−2,S16,S17でNoの場合)において、Documentオブジェクトが別コンテンツのURLやformのデータとされている場合(ステップS31)、それらのURLが送信許可判定部352において送信許可リスト3521の内容と合致するかどうか検査する(ステップS32)。オブジェクト依存ツリーにおける定数の畳み込みに関する処理や許可されない送信が含まれると判断された場合の処理は、クッキーの検査の場合と同一である(ステップS18,S19,S22)。また、ステップS31でNoの場合およびステップS32でNoの場合には、ステップS33に進む。
スクリプト検査部35では、さらに、ステップS15−2,S31,S32でNoのケースにおいて、formのactionプロパティへの代入や変更などが行われている場合(ステップS33)、それらのURLが送信先許可判定部353において送信先許可リスト3531の内容と合致するかどうか検査する(ステップS34)。定数の畳み込みに関する処理や許可されない送信が含まれると判断された場合の処理はクッキーの検査の場合と同一である(ステップS18,S19,S22)。また、ステップS33でNoの場合およびステップS34でNoの場合には、ステップS35に進む。
スクリプト検査部35では、さらに、ステップS33,S34でNoのケースにおいて、オブジェクトのlocationプロパティの変更が行われている場合(ステップS35)、およびiframeのsrcプロパティの変更が行われている場合(ステップS36)、それらのURLが要求先許可判定部354において要求先許可リスト3541の内容と合致するかどうか検査する(ステップS42)。定数の畳み込みに関する処理や許可されない送信が含まれると判断された場合の処理はクッキーの検査の場合と同一である(ステップS18,S19,S22)。
また、スクリプト検査部35では、ステップS35でNoかつステップS36でNo、またはステップS42でNoのケースにおいて、Documentオブジェクトのwriteメソッドが呼び出されているかどうかを検査する(ステップS37)。Documentオブジェクトのwriteメソッドによって、Webブラウザによって解釈されるドキュメントが生成されるため、そのなかで外部コンテンツを表示するタグが含まれていれば偽formの表示につながり、またそのなかにスクリプトが含まれていれば実行される可能性があるためである。すなわち、Documentオブジェクトのwriteメソッドが呼び出される場合(ステップS37)には、スクリプトを部分的に実行する形で新しい文書を作成し(ステップS38)、文書の型に応じた構文解析を行い(ステップS39)、formが生成される場合(ステップS40)には、ステップS34に進んで、form送信先判定部353で検査を行い、iframeが生成される場合(ステップS41)には、ステップS42に進んで、外部コンテンツ要求先判定部354で検査を行い、それ以外の場合(ステップS41でNoの場合)は、文書解釈部34へ処理を渡してスクリプトが含まれるかどうか検査するところ(ステップS13)に戻る。なお、ステップS37でNoの場合には、Webサーバ1から受信したHTTPレスポンスを、そのままWebブラウザに送信する形で、返信する(ステップS22)。
以上のような検査をへてスクリプトが不正な情報漏洩を行わないと判断できる場合に、Webサーバから受信したHTTPレスポンスを、そのままWebブラウザに送信する形で、返信する。
このように本実施形態によれば、秘匿すべき情報の漏洩を防止することができる。
なお、上記では、当該Webコンテンツについて送信が許可されないと判断された場合に、当該WebコンテンツのWebブラウザ(クライアント計算機2)への送出を禁止するとともに、通知メッセージの送信や、エラーメッセージの送信を行ったが、通知メッセージの送信とエラーメッセージの送信の一方又は両方を行わない構成も可能である(ログを保存しない構成も可能である)。
なお、上記では、送信許可判定部351、送信先判定部352、送信先判定部353、要求先判定部354は、それぞれ、送信先一覧をURLとして保持した送信許可リスト3511を送信許可規則とし照合する場合、送信先一覧をURLとして保持した送信許可リスト3521、送信先一覧をURLとして保持した送信先許可リスト3531、要求先一覧をURLとして保持した要求先許可リスト3541を例にとって説明しているが、その代わりに、許可されるURLを正規表現の記述として保有し、個々のURLと照合して全てのURLが正規表現と一致する場合にのみ許可の結果を返すようにしてもよいし、両者を併用してもよい。
ところで、第2の実施形態は、クッキー送信許可判定部351と情報送信許可判定部352とフォーム送信先許可判定部353と外部コンテンツ要求先許可判定部354をすべて備え、第1の実施形態は、それらのうちクッキー(Cookie)送信許可判定部351のみを備えるものであったが、情報送信許可判定部352とフォーム(form)送信先許可判定部353と外部コンテンツ要求先許可判定部354とのうちのいずれか1つのみを備える形態や、クッキー送信許可判定部351と情報送信許可判定部352とフォーム送信先許可判定部353と外部コンテンツ要求先許可判定部354のうちのいずれか2つまたは3つを備える形態も可能である。
また、第1の実施形態若しくは第2の実施形態又は上記のようなそれ以外の各種形態において、本プロキシサーバ(通信中継装置)は、1つの装置(例えば、計算機)で構成してもよいし、複数の装置(例えば、計算機)で構成してもよい。
後者の場合に、例えば、本プロキシサーバを構成する計算機から、送信許可判定部のみを独立させて、これをもう一つの計算機で構成するようにしてもよい。この場合、プロキシサーバ本体たる計算機と各許可判定部たる計算機とは、例えば、専用線で接続してもよいし、インターネットを介して接続するようにしてもよい(後者の場合には、暗号通信等によりセキュリティーを確保するのが好ましい)。
また、上記の場合に、プロキシサーバ本体たる計算機と許可判定部たる計算機との対応関係については、1つの許可判定部たる計算機を唯一のプロキシサーバ本体たる計算機のみが使用可能とする構成と、1つの許可判定部たる計算機を複数のプロキシサーバ本体たる計算機が使用可能とする構成とが可能である。
また、これまでの各種形態では、本プロキシサーバ(通信中継装置)とWebサーバとを別々の装置(例えば、計算機)で構成するものとして説明したが、例えば、本プロキシサーバ(通信中継装置)の不正コンテンツを遮断する機能に相当する部分(例えば、図2や図9のコンテンツ分類部33、文書解釈部34、スクリプト検査部35、及びネットワーク側通信インタフェース31の機能のうちのエラーメッセージや通知メッセージ等を生成し送信する機能)の部分を、Webサーバに含まれる機能拡張モジュールとして実現することも可能である。また、この場合にも、上記のように、Webサーバ本体と送信許可判定部とを別々の計算機で実現するような構成も可能である。
また、これまでの各種形態では、ネットワークとしてインターネットを取り上げたが、もちろん、他のネットワークでも適用可能である。
また、これまでの各種形態では、スクリプトとしてJavaScript及びVBScriptを対象とし、スクリプトを含む可能性のある文書としてHTML、XML及びCSSを対象とする場合を取り上げたが、もちろん、当該ネットワークで使用されるスクリプトあるいは不正に使用される可能性のあるスクリプトなど適宜の基準で対象とするスクリプトを選択して構わない。スクリプトを含む可能性のある文書についても同様である。また、新たなスクリプトや、スクリプトを含む可能性のある新たな文書が発生した場合には、それらを新たに対象として追加すればよい。
なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の第1の実施形態に係る通信システムの構成例を示す図 同実施形態に係る通信中継装置の構成例を示す図 送信許可リストの一例を示す図 クッキーの典型的利用形態について説明するための図 提携サイトへのクッキー送信例について説明するための図 クロスサイトスクリプティング脆弱性によるクッキー漏洩及び同実施形態に係る通信中継装置による不正コンテンツの遮断によるクッキー漏洩の回避について説明するための図 本発明の第1及び第2の実施形態に係る通信制御装置の処理手順の一例を示すフローチャート 本発明の第1の実施形態に係る通信制御装置の処理手順の一例を示すフローチャート 本発明の第2の実施形態に係る通信中継装置の構成例を示す図 クロスサイトスクリプティング脆弱性によるコンテンツ情報漏洩及び同実施形態に係る通信中継装置による不正コンテンツの遮断によるコンテンツ漏洩の回避について説明するための図 クロスサイトスクリプティング脆弱性によるform送信先変更による情報詐取及び同実施形態に係る通信中継装置による不正コンテンツの遮断による情報詐取の回避について説明するための図 クロスサイトスクリプティング脆弱性によるリダイレクトを用いた偽formの表示による入力詐取及び同実施形態に係る通信中継装置による不正コンテンツの遮断による入力詐取の回避について説明するための図 クロスサイトスクリプティング脆弱性による偽form表示による情報詐取及び同実施形態に係る通信中継装置による不正コンテンツの遮断による情報詐取の回避について説明するための図 クロスサイトスクリプティング脆弱性による偽formの追加によるform入力詐取及び同実施形態に係る通信中継装置による不正コンテンツの遮断による情報詐取の回避について説明するための図 同実施形態に係る通信制御装置の処理手順の一例を示すフローチャート
符号の説明
1…Webサーバ、2…通信中継装置、3…クライアント計算機、8…インターネット、21…Webブラウザ、31…ネットワーク側通信インタフェース、32…サーバ側通信インタフェース、33…コンテンツ分類部、34…文書解釈部、35…スクリプト検査部、351…送信許可判定部、3511…送信許可リスト

Claims (33)

  1. サーバからクライアントへ送信されるコンテンツを受信する受信手段と、
    受信した前記コンテンツから、不正の機能を有する可能性のあるスクリプトプログラムを抽出する抽出手段と、
    前記抽出手段により前記スクリプトプログラムが抽出された場合に、前記コンテンツの送信を許可するか否かについて判断する判断手段と、
    前記判断手段により許可すると判断された場合にのみ、前記コンテンツを前記クライアントへ向けて送信する送信手段とを備えたことを特徴とする通信中継装置。
  2. 前記抽出手段は、受信した前記コンテンツから、前記クライアント又は前記コンテンツに格納されている情報を前記クライアントから送信させる機能を有するスクリプトプログラムを抽出することを特徴とする請求項1に記載の通信中継装置。
  3. 前記情報の正当な送信先として指定されたものを示す送信先情報を記憶する記憶手段を更に備え、
    前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記情報の送信先が、前記送信先情報により示される送信先に該当するものでない場合に、前記コンテンツの送信を許可しないと判断することを特徴とする請求項2に記載の通信中継装置。
  4. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記情報の送信先が複数存在する場合には、該複数の送信先の全てが前記送信先情報により示される送信先に該当するものであるときにのみ、前記コンテンツの送信を許可すると判断することを特徴とする請求項3に記載の通信中継装置。
  5. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記情報の送信先の特定が困難な場合には、該送信先を任意の送信先とみなすことを特徴とする請求項3に記載の通信中継装置。
  6. 前記サーバは、Webサーバであり、
    前記情報は、前記クライアント上で実行中のWebブラウザに保持されているクッキー情報を含むものであることを特徴とする請求項3に記載の通信中継装置。
  7. 前記抽出手段は、受信した前記コンテンツから、前記コンテンツに格納されている入力フォームの送信先を示す情報を変更する機能を有するスクリプトプログラムを抽出することを特徴とする請求項1に記載の通信中継装置。
  8. 前記入力フォームの正当な送信先として指定されたものを示す送信先情報を記憶する記憶手段を更に備え、
    前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記入力フォームの変更後の送信先が、前記送信先情報により示される送信先に該当するものでない場合に、前記コンテンツの送信を許可しないと判断することを特徴とする請求項7に記載の通信中継装置。
  9. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記入力フォームの変更後の送信先が複数存在する場合には、該複数の変更後の送信先の全てが前記送信先情報により示される送信先に該当するものであるときにのみ、前記コンテンツの送信を許可すると判断することを特徴とする請求項8に記載の通信中継装置。
  10. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記入力フォームの変更後の送信先の特定が困難な場合には、該送信先を任意の送信先とみなすことを特徴とする請求項8に記載の通信中継装置。
  11. 前記抽出手段は、受信した前記コンテンツから、前記コンテンツに替えて前記サーバと同一又は異なるサーバ上の他のコンテンツを前記クライアントに要求させる機能を有するスクリプトプログラムを抽出することを特徴とする請求項1に記載の通信中継装置。
  12. 前記抽出手段は、受信した前記コンテンツから、前記コンテンツに加えて前記サーバと同一又は異なる上の他のコンテンツを前記クライアントから要求させる機能と両コンテンツを一体に表現する機能を有するスクリプトプログラムを抽出することを特徴とする請求項1に記載の通信中継装置。
  13. 前記他のコンテンツの正当な要求先として指定されたものを示す要求先情報を記憶する記憶手段を更に備え、
    前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記他のコンテンツの要求先が、前記要求先情報により示される要求先に該当するものでない場合に、受信した前記コンテンツの送信を許可しないと判断することを特徴とする請求項11または12に記載の通信中継装置。
  14. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記他のコンテンツの要求先が複数存在する場合には、該複数の要求先の全てが前記要求先情報により示される要求先に該当するものであるときにのみ、受信した前記コンテンツの送信を許可すると判断することを特徴とする請求項13に記載の通信中継装置。
  15. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記他のコンテンツの要求先の特定が困難な場合には、該要求先を任意の要求先とみなすことを特徴とする請求項13に記載の通信中継装置。
  16. 前記抽出手段は、受信した前記コンテンツから、前記コンテンツに入力フォームを追加する機能を有するスクリプトプログラムを抽出することを特徴とする請求項1に記載の通信中継装置。
  17. 前記入力フォームの正当な送信先として指定されたものを示す送信先情報を記憶する記憶手段を更に備え、
    前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記入力フォームの送信先が、前記送信先情報により示される送信先に該当するものでない場合に、前記コンテンツの送信を許可しないと判断することを特徴とする請求項16に記載の通信中継装置。
  18. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記入力フォームの送信先が複数存在する場合には、該複数の送信先の全てが前記送信先情報により示される送信先に該当するものであるときにのみ、前記コンテンツの送信を許可すると判断することを特徴とする請求項17に記載の通信中継装置。
  19. 前記判断手段は、前記スクリプトプログラムの有する前記機能に係る前記入力フォームの送信先の特定が困難な場合には、該送信先を任意の送信先とみなすことを特徴とする請求項17に記載の通信中継装置。
  20. 前記送信先情報は、前記許可をするURLのリスト又は正規表現記述を含むものであることを特徴とする請求項3、8または17に記載の通信中継装置。
  21. 前記要求先情報は、前記許可をするURLのリスト又は正規表現記述を含むものであることを特徴とする請求項13に記載の通信中継装置。
  22. 前記抽出手段は、
    前記コンテンツから予め定められた言語により記述されたスクリプトプログラムを検出する手段と、
    前記言語により記述されたスクリプトプログラムが検出された場合に、該スクリプトプログラムが前記機能を有するか否かについて判断する手段とを更に備えたことを特徴とする請求項1に記載の通信中継装置。
  23. 前記抽出手段は、
    検出された前記言語により記述されたスクリプトプログラムが、前記機能を有しないと判断された場合に、該スクリプトプログラムが文書を生成するものか否かについて判断する手段と、
    前記言語により記述されたスクリプトプログラムが文書を生成するものと判断された場合に、該スクリプトプログラムを実行する手段と、
    前記実行によって生成された文書から、前記予め定められた言語により記述されたスクリプトプログラムを検出する手段とを更に備えたことを特徴とする請求項22に記載の通信中継装置。
  24. 前記抽出手段は、
    前記コンテンツから予め定められた言語により記述された文書を検出する文書検出手段と、
    前記言語により記述された文書が検出された場合に、該文書から予め定められた言語により記述されたスクリプトプログラムを検出するスクリプトプログラム検出手段と、
    前記言語により記述されたスクリプトプログラムが検出された場合に、該スクリプトプログラムが前記機能を有するか否かについて判断する手段とを更に備えたことを特徴とする請求項1に記載の通信中継装置。
  25. 前記抽出手段は、
    検出された前記言語により記述されたスクリプトプログラムが、前記機能を有しないと判断された場合に、該スクリプトプログラムが文書を生成するものか否かについて判断する手段と、
    前記言語により記述されたスクリプトプログラムが文書を生成するものと判断された場合に、該スクリプトプログラムを実行する手段とを更に備え、
    前記スクリプトプログラム検出手段は、前記実行によって生成された文書から、前記予め定められた言語により記述されたスクリプトプログラムを検出することを特徴とする請求項24に記載の通信中継装置。
  26. 前記送信手段は、前記判断手段により許可しないと判断された場合には、前記コンテンツを前記クライアントへ向けて送信しないことを特徴とする請求項1に記載の通信中継装置。
  27. 前記送信手段は、前記判断手段により許可しないと判断された場合には、前記コンテンツの代わりに、エラー用コンテンツを前記クライアントへ向けて送信することを特徴とする請求項26に記載の通信中継装置。
  28. 前記送信手段は、前記判断手段により許可しないと判断された場合には、その旨を通知するメッセージを、予め定められた管理者のアカウントに宛てて送信することを特徴とする請求項26に記載の通信中継装置。
  29. 前記送信手段は、前記メッセージに、少なくとも前記コンテンツを付加して送信することを特徴とする請求項28に記載の通信中継装置。
  30. 前記判断手段を除いて前記通信中継装置を第1の計算機上に構成するとともに、前記判断手段を第2の計算機上に構成することを特徴とする請求項1に記載の通信中継装置。
  31. 前記サーバは、Webサーバであり、
    前記通信中継装置を、前記Webサーバに含まれる機能拡張モジュールとして構成することを特徴とする請求項1に記載の通信中継装置。
  32. サーバからクライアントへ送信されるコンテンツを受信するステップと、
    受信した前記コンテンツから、不正の機能を有する可能性のあるスクリプトプログラムを抽出するステップと、
    前記スクリプトプログラムが抽出された場合に、前記コンテンツの送信を許可するか否かについて判断するステップと、
    許可すると判断された場合にのみ、前記コンテンツを前記クライアントへ向けて送信するステップとを有することを特徴とする通信中継方法。
  33. コンピュータを通信中継装置として機能させるためのプログラムであって、
    サーバからクライアントへ送信されるコンテンツを受信する受信機能と、
    受信した前記コンテンツから、不正の機能を有する可能性のあるスクリプトプログラムを抽出する抽出機能と、
    前記抽出機能により前記スクリプトプログラムが抽出された場合に、前記コンテンツの送信を許可するか否かについて判断する判断機能と、
    前記判断機能により許可すると判断された場合にのみ、前記コンテンツを前記クライアントへ向けて送信する送信機能とを実現させるためのプログラム。
JP2003400724A 2003-03-31 2003-11-28 通信中継装置、通信中継方法及びプログラム Expired - Fee Related JP4405248B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003400724A JP4405248B2 (ja) 2003-03-31 2003-11-28 通信中継装置、通信中継方法及びプログラム
US10/808,564 US20050021791A1 (en) 2003-03-31 2004-03-25 Communication gateway apparatus, communication gateway method, and program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003096946 2003-03-31
JP2003400724A JP4405248B2 (ja) 2003-03-31 2003-11-28 通信中継装置、通信中継方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2004318816A true JP2004318816A (ja) 2004-11-11
JP4405248B2 JP4405248B2 (ja) 2010-01-27

Family

ID=33478750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003400724A Expired - Fee Related JP4405248B2 (ja) 2003-03-31 2003-11-28 通信中継装置、通信中継方法及びプログラム

Country Status (2)

Country Link
US (1) US20050021791A1 (ja)
JP (1) JP4405248B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007095058A (ja) * 2005-09-26 2007-04-12 Ricoh Co Ltd 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2007095055A (ja) * 2005-09-26 2007-04-12 Ricoh Co Ltd 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2007095056A (ja) * 2005-09-26 2007-04-12 Ricoh Co Ltd 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2008186160A (ja) * 2007-01-29 2008-08-14 Fuji Xerox Co Ltd 文書表示装置およびプログラム
JP2009501392A (ja) * 2005-07-15 2009-01-15 マイクロソフト コーポレーション Htmlブラウザおよび拡張機能の既知の脆弱性からの免疫付与
JP2009515230A (ja) * 2005-06-28 2009-04-09 アラジン ノゥリッジ システムズ リミテッド ウェブページをブラウズするユーザーマシンのセキュリティーレベルを高めるための方法
JP2009521737A (ja) * 2005-11-10 2009-06-04 株式会社エヌ・ティ・ティ・ドコモ Javascriptプログラムの不安全動作安を検出するため、及び防止するための方法及び装置
JP2011257810A (ja) * 2010-06-04 2011-12-22 Fujitsu Ltd 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US8239939B2 (en) 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
JP2012174082A (ja) * 2011-02-23 2012-09-10 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US20040268139A1 (en) * 2003-06-25 2004-12-30 Microsoft Corporation Systems and methods for declarative client input security screening
US7571322B2 (en) * 2004-08-10 2009-08-04 Microsoft Corporation Enhanced cookie management
US8078740B2 (en) * 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US8112799B1 (en) * 2005-08-24 2012-02-07 Symantec Corporation Method, system, and computer program product for avoiding cross-site scripting attacks
JPWO2007132661A1 (ja) * 2006-05-12 2009-09-24 株式会社Access 端末、ネットワークシステム、コンテキスト情報提供方法、及び、コンテキスト情報提供プログラム
US8181246B2 (en) 2007-06-20 2012-05-15 Imperva, Inc. System and method for preventing web frauds committed using client-scripting attacks
US8640202B2 (en) * 2007-10-04 2014-01-28 International Business Machines Corporation Synchronizing user sessions in a session environment having multiple web services
US20090119769A1 (en) * 2007-11-05 2009-05-07 Microsoft Corporation Cross-site scripting filter
US8949990B1 (en) * 2007-12-21 2015-02-03 Trend Micro Inc. Script-based XSS vulnerability detection
US8600790B1 (en) * 2008-01-10 2013-12-03 Usability Sciences Corporation System and method for presenting an internet survey to pre-qualified vistors to a website
US8578482B1 (en) * 2008-01-11 2013-11-05 Trend Micro Inc. Cross-site script detection and prevention
US8850567B1 (en) 2008-02-04 2014-09-30 Trend Micro, Inc. Unauthorized URL requests detection
US8763120B1 (en) * 2008-07-15 2014-06-24 Zscaler, Inc. Exploitation detection
US8276190B1 (en) * 2008-08-19 2012-09-25 Google Inc. Cross-domain authentication
KR20100038536A (ko) * 2008-10-06 2010-04-15 주식회사 이베이지마켓 인터넷을 이용한 전자상거래에서 고객정보 활용시스템 및 그 방법
WO2010111716A1 (en) * 2009-03-27 2010-09-30 Jeff Brown Real-time malicious code inhibitor
US8738711B2 (en) * 2009-11-03 2014-05-27 Oto Technologies, Llc System and method for redirecting client-side storage operations
US20110145723A1 (en) * 2009-12-16 2011-06-16 Oto Technologies, Llc System and method for redirecting client-side storage operations
JP2011175394A (ja) * 2010-02-24 2011-09-08 Fujifilm Corp シングル・サインオン・システムを構成するウェブ・サーバならびにその動作制御方法およびその動作制御プログラム
KR101083311B1 (ko) * 2010-03-29 2011-11-15 한국전자통신연구원 악성 스크립트 분석 시스템 및 그를 이용한 악성 스크립트 분석 방법
EP2485161B1 (en) 2010-11-29 2019-09-25 Hughes Network Systems, LLC Computer networking system and method with javascript execution for pre-fetching content from dynamically-generated URL
US8959142B2 (en) 2012-02-29 2015-02-17 Microsoft Corporation Combining server-side and client-side user interface elements
US10171483B1 (en) 2013-08-23 2019-01-01 Symantec Corporation Utilizing endpoint asset awareness for network intrusion detection
CN105512559B (zh) * 2014-10-17 2019-09-17 阿里巴巴集团控股有限公司 一种用于提供访问页面的方法与设备
US10491629B2 (en) * 2017-02-06 2019-11-26 Synopsys, Inc. Detecting sensitive data sent from client device to third-party
US20210382949A1 (en) * 2020-06-07 2021-12-09 InfoTrust, LLC Systems and methods for web content inspection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166981A (ja) * 1999-12-06 2001-06-22 Fuji Xerox Co Ltd ハイパーテキスト解析装置および方法
US6996845B1 (en) * 2000-11-28 2006-02-07 S.P.I. Dynamics Incorporated Internet security analysis system and process
US6988100B2 (en) * 2001-02-01 2006-01-17 International Business Machines Corporation Method and system for extending the performance of a web crawler

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515230A (ja) * 2005-06-28 2009-04-09 アラジン ノゥリッジ システムズ リミテッド ウェブページをブラウズするユーザーマシンのセキュリティーレベルを高めるための方法
US8225392B2 (en) 2005-07-15 2012-07-17 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US8239939B2 (en) 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
JP2009501392A (ja) * 2005-07-15 2009-01-15 マイクロソフト コーポレーション Htmlブラウザおよび拡張機能の既知の脆弱性からの免疫付与
JP2007095055A (ja) * 2005-09-26 2007-04-12 Ricoh Co Ltd 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2007095056A (ja) * 2005-09-26 2007-04-12 Ricoh Co Ltd 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2007095058A (ja) * 2005-09-26 2007-04-12 Ricoh Co Ltd 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2009521737A (ja) * 2005-11-10 2009-06-04 株式会社エヌ・ティ・ティ・ドコモ Javascriptプログラムの不安全動作安を検出するため、及び防止するための方法及び装置
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US8335929B2 (en) 2006-06-23 2012-12-18 Microsoft Corporation Communication across domains
US8489878B2 (en) 2006-06-23 2013-07-16 Microsoft Corporation Communication across domains
JP2008186160A (ja) * 2007-01-29 2008-08-14 Fuji Xerox Co Ltd 文書表示装置およびプログラム
JP2011257810A (ja) * 2010-06-04 2011-12-22 Fujitsu Ltd 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
JP2012174082A (ja) * 2011-02-23 2012-09-10 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP4405248B2 (ja) 2010-01-27
US20050021791A1 (en) 2005-01-27

Similar Documents

Publication Publication Date Title
JP4405248B2 (ja) 通信中継装置、通信中継方法及びプログラム
US10469531B2 (en) Fraud detection network system and fraud detection method
JP5642856B2 (ja) クロスサイトスクリプティングフィルタ
Kirda et al. Noxes: a client-side solution for mitigating cross-site scripting attacks
US8112799B1 (en) Method, system, and computer program product for avoiding cross-site scripting attacks
US8578482B1 (en) Cross-site script detection and prevention
US8161538B2 (en) Stateful application firewall
KR101672791B1 (ko) 모바일 웹 애플리케이션 환경에서의 취약점 탐지 방법 및 시스템
Nithya et al. A survey on detection and prevention of cross-site scripting attack
US20150082424A1 (en) Active Web Content Whitelisting
US11503072B2 (en) Identifying, reporting and mitigating unauthorized use of web code
Calzavara et al. Testing for integrity flaws in web sessions
US8650214B1 (en) Dynamic frame buster injection
Tiwari et al. Optimized client side solution for cross site scripting
Duraisamy et al. A server side solution for protection of web applications from cross-site scripting attacks
Hadpawat et al. Analysis of prevention of XSS attacks at client side
Sadana et al. Analysis of cross site scripting attack
Maurya et al. Cross Site Scripting Vulnerabilities and Defences: A Review
Ray Countering cross-site scripting in web-based applications
Piessens et al. Developing Secure Software: A survey and classification of common software vulnerabilities
Das et al. Defeating Cyber Attacks Due to Script Injection.
JP7013297B2 (ja) 不正検知装置、不正検知ネットワークシステム、及び不正検知方法
Tuncay et al. Harun Oz
Oz et al. (In) Security of File Uploads in Node. js
Kombade et al. Client side csrf defensive tool

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081111

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: 20091006

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: 20091104

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees