JP2012515390A - プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ - Google Patents

プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ Download PDF

Info

Publication number
JP2012515390A
JP2012515390A JP2011545822A JP2011545822A JP2012515390A JP 2012515390 A JP2012515390 A JP 2012515390A JP 2011545822 A JP2011545822 A JP 2011545822A JP 2011545822 A JP2011545822 A JP 2011545822A JP 2012515390 A JP2012515390 A JP 2012515390A
Authority
JP
Japan
Prior art keywords
script
script engine
engine
private
public
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
JP2011545822A
Other languages
English (en)
Other versions
JP5676477B2 (ja
Inventor
ミカエル ピー エフ フェルスコール
ワルテル デーズ
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2012515390A publication Critical patent/JP2012515390A/ja
Application granted granted Critical
Publication of JP5676477B2 publication Critical patent/JP5676477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

データ処理システムは、スクリプトを実行するためのスクリプトエンジン手段を伴うブラウザを有する。前記スクリプトエンジン手段は、パブリックスクリプトエンジンとプライベートスクリプトエンジンとを実装する。前記ブラウザは、前記スクリプトが当該システムでの予め決められたリソースへのアクセスを要求しない場合には、前記パブリックスクリプトエンジンにより実行される前記スクリプトをもつように構成される。前記ブラウザは、前記スクリプトが前記予め決められたリソースへのアクセスを要求する場合には、前記プライベートスクリプトエンジンにより実行される前記スクリプトをもつように構成される。前記プライベートスクリプトエンジンだけが、前記スクリプトが前記予め決められたリソースにアクセスすることを可能にするインタフェースをもつ。前記スクリプトエンジン手段は、前記プライベートスクリプトエンジンが、前記パブリックスクリプトエンジン又は当該データ処理システムの外部の未承認のサーバにデータを通信することを阻止するように構成される。

Description

本発明は、スクリプトを実行するためのスクリプトエンジン手段をもつランタイム環境を有するデータ処理システム、スクリプトエンジン手段を有するランタイム環境、コンピュータで実行可能な命令を有するコンピュータプログラムプロダクト、及び、実行制御指示を含むスクリプトを表すデータ構造に関する。
ネットワーク化された電子デバイスの使用は、ますます普及するようになってきた。ホームネットワークの分野において、リモートユーザインタフェースは、UPnP(Universal Plug and Play)ネットワークにおける消費者向け電子(CE;Consumer Electronics)デバイスに対して提供される。リモートユーザインタフェースは、ユーザが、UPnPホームネットワークを介して他のUPnPデバイス上のアプリケーションを遠隔で制御することを可能にし、ユーザが、インターネットに接続されたCEデバイスを用いてインターネットサービスとインタラクトすることも可能にする。斯様なインターネットサービスの一例は、ユーザが動画等のコンテンツ情報をダウンロードすることができるサービスである。UPnPのより詳細な背景については、例えば国際公開第2005/002139号を参照されたい。
多数のインターネットサービス提供者、異なるタイプのサービス及び多数の消費者向けデバイス供給者が含まれることを考慮すると、ユーザに対して最良の体験を提供するために、通信プロトコル及びユーザインタフェースを可能な限り標準化することが好ましい。
一の斯様な規格は、CEA-2014(Web4CEとしても知られている)、Consumer Electronics Association(CEA)規格である。例えば、"Web4CE: Accessing Web-based Applications on Consumer Devices", W. Dees and P. Shrubsole, WWW 2007/ Poster Paper, Topic: Systems, pp.1303-1304を参照されたい。この規格は、UPnPネットワーク及びインターネット上のリモートユーザインタフェースに対して、ウェブベースのプロトコルとCE-HTMLと呼ばれるXHTMLベースのコンテンツフォーマットとを指定している。CE-HTMLは、Javascript 1.5, XHTML 1.0及びCSS TV Profile 1.0のような共通のオープンインターネット言語に基づいている。CE-HTMLは、インタラクティブサービスのためのスクリプト記述の意味及びコンテンツフォーマットを指定し、これらのサービスを主催及びレンダリングするブラウザ環境を規定している。CE-HTMLの現在のバージョンの標準化は、主に2つの標準化、即ちConsumer Electronics Association(CEA)とOpen IPTV Forum(OIPF)とに向かって進められる。CEA-2014は、2つの主要なアプリケーションをもっている。第一に、これは、消費者が、UPnPホームネットワークを介して他のUPnPデバイス上のアプリケーションを遠隔で制御することを可能にする。第二に、これは、消費者が、インターネットに接続された消費者向けデバイスを用いてインターネットサービス又はウェブベースのアプリケーションとインタラクトすることを可能にする。ユーザインタラクションは、CEA-2014に準拠したブラウザ、例えばMedia Adaptor、テレビ又は携帯電話を含むデバイスのリモコン装置、キー又はタッチスクリーンを用いて行われ得る。
典型的には、ウェブブラウザは、HTMLフォーマットにおける電子文書をレンダリングするために用いられるが、特別な目的の言語のホストは、HTML文書に組み込まれた実行可能なコンテンツを介してブラウザの動作を制御するように開発されている。実行可能なコンテンツは、例えばブラウザに対する双方向性及び自動化を追加する。これらの特別な目的の言語の例は、一見Javaに似ている多目的手順スクリプト言語であるECMAScript、スタイルメタデータがコンテンツから抽出されることを可能とするCSS(Cascading style sheets)、HTMLの代替手段としての、スタイルメタデータと組み合わせてコンテンツに対して用いられ得るXML、及び、XMLコンテンツを新たな形式に変換する提示言語であるXSLTである。反応性のユーザの主観的印象を向上させるためにスクリプト記述するXML及びJavaScriptの組み合わせを含むこれらの技術が発展している。Document Object Model規格は、全てのブラウザが、予測可能な態様で同一のJavaScriptに応答することを保証する(情報元;Wikipedia)。更に、ブラウザ環境は、Adobe Flashのような、外国のコンテンツを表示するため、及び/又は、このコンテンツとインタラクトするためにプラグインにより拡張され得る。外国のコンテンツは、視覚的又は非視覚的なものであってもよく、スクリプトエンジンにより用いられ得るスクリプトAPIを提供してもよい。従って、ウェブブラウザは、ウェブアプリケーションのための、及び、例えばサーバからダウンロードされた電子文書に組み込まれたスクリプトを実行するための、クライアント側ランタイム環境を提供する。スクリプトのより詳細な背景については、例えば国際公開2006/106414号を参照されたい。
電子文書に組み込まれたスクリプトは、文書がダウンロードされるシステムを改ざんするために、又は、システムのユーザに関するプライバシーに敏感な情報を取得するために、文書提供者により悪用され得る。即ち、ダウンロードされた文書において受信されたスクリプトを実行することは、システムのセキュリティ及びユーザのプライバシーを妨害し得る。
論文"Secure Web scripting", V. Anupam and A. Mayer, Internet Computing IEEE Vol.2, issue 6, Nov/Dec 1998, pp. 46-55は、明示的セキュリティモデルについて述べている。提案されたモデルは、モジラ(Mozilla)ブラウザソースコードにおけるJavaScriptに対して実装されている。これは、"安全な"インタープリタにより実現され、3つの構成要素、即ち、アクセス制御、状況の独立性及びトラストマネジメントに基づいている。アクセス制御は、或るスクリプトがユーザのコンピュータ上のどのデータにアクセスすることができるか、及び、どのモードにおいてアクセスすることができるかを規制する。状況の独立性は、異なる状況において(例えば、異なるブラウザウインドウにおいて同時に、又は、同一のブラウザウインドウにおいて連続的に)実行する2つのスクリプトは、それぞれ他のデータに自由にアクセスすることはできない。トラストマネジメントは、異なる状況において同時に実行するスクリプトの間において信用がどのように確立され終了するかを規制する。異なるユーザは、異なる度合いのプライバシー及びセキュリティを要求し、これは、ウェブサーバとインタラクトするときに異なる度合いのフレキシビリティに置き換える。これらの違いは、異なった、ユーザ選択されたセキュリティポリシーで表現される。選択されたセキュリティポリシーは、スクリプトに対してパッド入りセル(padded cell)に対して与えられる。名前空間を、アクセスできない、読み取り専用及び書き込み可能なアイテムに分割することにより、アクセス制御は、スクリプトがブラウザ及びウインドウに関連したデータの部分にのみアクセスすることを保証し、これは、閲覧している間、ユーザプライバシーを危険にさらさない。また、セキュリティポリシーは、外部インタフェースへのアクセスを規制する。更に、状況の独立性は、異なる状況においてスクリプト間に"隠されたチャンネル"が存在しないことを保証する。例えば、書込み可能なアイテムが状況の変化に渡って持続した場合には(現時点ではJavaScriptに当てはまる)、これは、共同ウェブサイトにアクセス可能な(非持続性ではあるが)ユーザ不可視の"cookie"として用いられ得る。或るウインドウの第1の状況においてユーザにより(例えばこの状況のHTML文書に或るフォームを書き込むことにより)与えられたデータは、第2の状況が第1の状況のアクセス制御リスト(ACL;access control list)内にある場合には、第2の状況におけるスクリプトに対してのみ利用可能である。しかしながら、これらのスクリプトは、任意の他の状況においては、このデータにアクセスすることはできない。
国際公開第2006/106414号は、スクリプトオブジェクトでのドメインセキュリティについて述べている。この公報は、スクリプトオブジェクトでのドメインセキュリティを与える方法を開示している。この方法は、第1の所有者による第1のスクリプトオブジェクトが第2の所有者による第2のスクリプトオブジェクトへのアクセスを試みるときに例外を生成するステップと、第2のスクリプトオブジェクトへのアクセス権の付与に関する問い合わせを行う、第2の所有者に対する対話を生成するステップと、第2のスクリプトオブジェクトに対して第1のスクリプトオブジェクトのアクセス権を付与するかどうかの命令を実行するステップとを含む。この命令は、第2の所有者に対する生成された対話に応答する。"所有者"という用語に関して、電子文書の所有者は、この文書を発行したドメインである。ローカルソース(例えばクライアントデータベース又はファイル)を表す任意のオブジェクトの所有者は、ローカルユーザである。知られているように、この状況の範囲内の例外は、ソフトウェア命令の実行の通常フローを変える条件の発生である。例外を取り扱うように設計されたコンピュータコードは、"例外ハンドラ"と呼ばれる。
国際公開第2005/031568号は、ウェブブラウザにより同一のユーザインタフェースにおけるリモート及びローカルのサービス及び情報を提示することに関する。ウェブブラウザは、ECMAScriptエンジンを含む。このエンジンは、ECMAScript拡張ライブラリを介してデバイスネイティブな環境と通信するECMAScript拡張モジュール(core JavaScript言語の標準化されたバージョン)により拡張される。これは、ECMAScript環境が、ネイティブコード(JavaにおけるJNI;Java Native Interfaceのようなもの)において実行される新たなクラス及び方法で拡張されることを可能にする。ECMAScriptエンジン及びECMAScript拡張モジュールは、潜在的に任意のソフトウェアプラットフォーム上のウェブブラウザの型に条件付きでコンパイルされ得る。ウェブブラウザの型が有効にされたECMAScript拡張機能で生成されると、ECMAScript環境は、特別に書かれたECMAScript拡張ライブラリを許可ファイルとともに電子デバイス上の或るディレクトリに配置することにより拡張され得る。許可ファイルは、どのウェブページがこれらの拡張にアクセスするかを指定する。このファイルは、セキュリティ上の理由のためにも重要である。
CE企業、ネットワークオペレータ及びサービス提供者は、IPTV(Internet Protocol Television)及びインタラクティブウェブベースサービスを、接続されたテレビに行わせるための規格を現在開発している。この状況の範囲内において、発明者らは、インターネット上のサービス提供者により提供されたサービスがホームネットワーク内のUPnPデバイスを実際に制御することを可能にするという状況を考慮した。発明者らは、プライバシーの問題を特に考慮した。
これらの見識に基づいて、発明者らは、権限が与えられたときに第三者サービスがホームネットワーク機能だけを制御することを保証するためにセキュリティシステムを導入することを提言している。更に、発明者らは、第三者サービスがホームネットワーク内のデバイスとのインタラクションを通じてプライバシーに敏感な情報を取得するために悪用することを避けることにより、エンドユーザのプライバシーが維持されることを保証することを提言している。
それ故、発明者らは、ランタイム環境モデル、例えば、ブラウザ、オペレーティングシステム若しくはJava Virtual Machine、又は、既存のランタイム環境モデルに対する変更を用いることを提案しており、これは、セキュリティ及びプライバシーの双方の関心に対処し、これは、CE-HTMLを介してUPnPデバイスの制御に対して指定された要件の全セットに適合し、(第三者)サービス提供者からのスクリプトによりホームネットワーク内のUPnPデバイスの制御をサポートする。
本発明の一実施形態は、以下の特性を実現するためにデュアルスクリプトエンジンにより(又は2つの異なるモードをもつスクリプトエンジンの2つの別個のインスタンスにより)ブラウザを与えることに基づいている。(XMLHttpRequestスクリプトオブジェクトを含む)現在主流のブラウザのスクリプトエンジンの全機能を実装し、パブリックスクリプトエンジンからプライベートスクリプトエンジンに(例えば文字列として符号化されたスクリプトを含む)データを通信するためにスクリプトサポートを与えるパブリックスクリプトエンジンが与えられる。プライベートスクリプトエンジンは、現在主流のブラウザのスクリプトエンジンの全機能を実装するために与えられ、これは、更に、ホームネットワーク内のUPnPデバイスを制御するために前述したスクリプトAPIのようなプライバシーに敏感な機能にアクセスするために用いられ得る拡張スクリプトAPIをサポートする。プライベートスクリプトエンジンは、パブリックスクリプトエンジンとのデータ通信のためのスクリプトサポートを与えず、例えばホームネットワークの外部の未承認のサービスに対してXMLHttpRequest要求を禁止することにより、ホームネットワークの外部の共用ストレージ、他のプログラム又は未承認のサービスに対する通信を阻止する。一方のスクリプトエンジンから他方へのイベントの伝播はない。
ホームネットワークの外部にあるサーバへの通信の承認は、ユーザによるイベント毎の承認、並びに/又は、ランタイム環境のデベロッパ/デプロイヤ及び/若しくはユーザによる事前(例えばサーバ毎、ドメイン毎等)の承認に基づいて生ずる。事前の承認は、ランタイム環境の構成により(例えばプライベートスクリプトエンジンからのデータ通信に対する制限から除外されるサーバ又はサーバドメインのローカルに又は遠隔に格納されたリストを維持することにより)取得され得るか、又は、ユーザに関連付けられたセキュリティプロファイル若しくは認証、外部サーバ、及び/若しくは、スクリプトが取得されたデータソースから間接的に導出され得る。
より詳細には、本発明の一実施形態は、スクリプトを実行するためのスクリプトエンジン手段を伴うランタイム環境を有するデータ処理システム、例えばホームネットワークに関する。ランタイム環境は、例えば、ブラウザ、Java Virtual Machine、オペレーティングシステム等を有する。スクリプトエンジン手段は、パブリックスクリプトエンジン及びプライベートスクリプトエンジンを実装する。ランタイム環境は、スクリプトがそのシステムでの予め決められたリソースに対するアクセスを要求しない場合にはパブリックスクリプトエンジンにより実行されるスクリプトをもち、スクリプトが予め決められたリソースに対するアクセスを要求する場合にはプライベートスクリプトエンジンにより実行されるスクリプトをもつ。予め決められたリソースは、例えば、通常のブラウザサンドボックス又はUPnPホームネットワークの範囲外にあるデータ処理システムのハードディスクドライブ又は他のメインメモリ上のデータを有する。プライベートスクリプトエンジンだけが、スクリプトが予め決められたリソースにアクセスすることを可能にするためのインタフェース(例えば、スクリプトアプリケーションプログラムインタフェース又はAPI)をもつ。スクリプトエンジン手段は、通信が承認されていない限り、又は、一般的な通信においてはサーバに対して承認されていない限り、プライベートスクリプトエンジンがパブリックスクリプトエンジン又はデータ処理システムの外部のサーバにデータを通信することを阻止するように構成されている。一方のスクリプトエンジンから他方へのイベントの伝播はない。
従って、スクリプトがパブリックスクリプトエンジンにより実行された場合には、スクリプトは適切なAPIをもたないのでリソースにアクセスすることができない。スクリプトがプライベートスクリプトエンジンにより実行された場合には、スクリプトは、予め決められたリソースにアクセスする。しかしながら、スクリプトは、承認されない限り、例えば、これらの目的のための適切なインタフェースを欠く結果として、又は、未承認の外部サーバと通信するためにこれらのインタフェースを用いるための要求の否認の結果として、予め決められたリソースから導出されたデータがパブリックスクリプトエンジン又は外部サーバに対して通信することをもたらし得ない。結果として、予め決められたリソースでのデータのプライバシーが保証される。
本発明の一実施形態において、スクリプトエンジン手段は、前述された関連する特性とともにそれぞれ利用可能な2つのスクリプトエンジンをもつことにより、パブリックスクリプトエンジン及びプライベートスクリプトエンジンを実装する。例えば、プライベートスクリプトエンジンは、XHTML及びCSSをサポートする例えばブラウザに対するプラグインとして、及び、未承認の外部サーバ、共用ストレージ、又は、パブリックスクリプトエンジンにデータを送信するための任意のインタフェースを欠く特別なプライベートECMAScriptエンジンインスタンスとして実装され得る。ブラウザのECMAScriptエンジンは、パブリックスクリプトエンジンとして機能し得る。知られているように、プラグインは、APIを既存のソフトウェアに追加するために用いられ得る。代わりに、スクリプトエンジン手段は、2つの動作モード、即ちパブリックモード及びプライベートモードのうち一方に選択的に設定可能なスクリプトエンジンを有する。パブリックモードでは、スクリプトエンジンは、パブリックスクリプトエンジンである場合のように動作し、プライベートモードでは、スクリプトエンジンは、プライベートスクリプトエンジンである場合のように動作する。
スクリプトを実行させるためにパブリック又はプライベートスクリプトエンジンのうちどちらを選択するかの処理は、種々の態様において実装され得る。
第1の態様において、スクリプトは、プライベートスクリプトエンジン上で実行されるものであるかどうかを示すファイルネーム拡張子をもつ。ファイルネーム拡張子は、ランタイム環境により解釈され、その後すぐに、ランタイム環境は、プライベート及びパブリックスクリプトエンジンのうちどちらが呼び出されるかを決定する。例えば、スクリプトは、スクリプトのファイルネーム拡張子を含むパスにより、HTMLファイルにおいて参照される。スクリプトがJavascriptである場合には、スクリプトは、スクリプトが実行される必要がある状況に依存して、ファイルネーム拡張子".js"又は".xjs"を有し得る。ファイルネーム拡張子が".js"の場合には、ランタイム環境は、パブリックスクリプトエンジンがこのスクリプトを実行するためのものであるようにこれを解釈する。ファイルネーム拡張子が".xjs"の場合には、ランタイム環境は、プライベートスクリプトエンジンがこのスクリプトを実行するためのものであるようにこれを解釈する。
第2の態様において、スクリプトは、プライベートスクリプトエンジンがスクリプトを実行するために呼び出されることを特定する明示的ステートメントをもつ他の実行可能なファイルに組み込まれるか、又は、このファイルにより参照される。明示的ステートメントは、スクリプトを解釈するためにどのスクリプトエンジンが用いられるかを特定するタイプ属性をもつ宣言ステートメント、例えばXHTMLスクリプトエレメント、又は、専用の手続きステートメント、例えばスクリプト内の"switchToPrivateMode()"若しくは"privateScript.run(script)"を有し得る。
第3の態様において、スクリプトは、組み込まれたか又は参照されたスクリプトを実行するためにプライベートスクリプトエンジンの起動を黙示的に要求する他の実行可能なファイル内のステートメントに組み込まれるか、又はこのステートメントにより参照される。このステートメントは、例えば予め決められたリソースに関連付けられたMIMEタイプを特定するHTML<object>エレメントであり得る。例えば、UPnPホームネットワークの制御に関連付けられたランタイム環境プラグインがMIMEタイプ"application/upnpcontrol"により識別されると仮定すると、このMIMEタイプのHTMLオブジェクトエレメントを含む実行可能なファイルは、組み込まれたか又は参照されたスクリプトがプライベートスクリプトエンジンにおいて実行されるべきことを黙示的に特定する。プライベートスクリプトエンジンを呼び出す必要性を黙示的に特定する他のタイプのステートメントは、プライベートスクリプトエンジンの状況においてのみサポートされる機能又は方法に対する要求を有する。例えば、"readHDDContents()"がプライベートエンジンにより予め決められたリソースに対してのみサポートされていると仮定すると、ファイル内のステートメント"readHDDContents"の発生は、プライベートエンジン内のファイルを更に実行するための要求を黙示的に伝える。
本発明の前記実施形態は、データ処理システムに関する。これらの実施形態は、装置メーカー、PC製造業者、セットトップボックス製造業者等に商業的に関連する。
本発明の他の実施形態は、斯様なデータ処理システムで使用するスクリプトエンジン手段をもつランタイム環境に関する。ランタイム環境は、例えば、ブラウザ、オペレーティングシステム又はJava Virtual Machineを有する。斯様な実施形態は、ソフトウェア提供者に商業的に関連する。
本発明の他の実施形態は、実行されると、データ処理システムの操作可能な使用の間においてランタイム環境を実行するように構成されるコンピュータ実行可能な命令を有するコンピュータプログラムプロダクトに関する。このソフトウェアは、半導体メモリ(例えばUSBスティック)、又は光ディスクのようなデータ担体上に供給され得る。また、このソフトウェアは、インターネットを介してダウンロードされたものとして供給されてもよい。
本発明の更に他の実施形態は、前記データ処理システムで実行されるスクリプトを表すデータ構造に関する。知られているように、データ構造は、特定のデータ処理機能をサポートするように設計されたデータエレメント間の物理的又は論理的関係を示す。この意味では、本発明におけるスクリプトは、データ構造を表す。本発明のデータ構造は、スクリプトを実行するためにパブリックスクリプトエンジンとプライベートスクリプトエンジンとの間で選択可能な実行制御指示を含む。前記で特定されたように、実行制御指示は、例えばスクリプトのファイルネーム拡張子、プライベートスクリプトエンジンで実行されるべきスクリプトが組み込まれた他の実行可能なファイル内の明示的ステートメント、又は、プライベートスクリプトエンジン内の組み込まれたか若しくは参照されたスクリプトを実行する必要性を黙示的に伝える他の実行可能なファイル内のステートメントに含まれる。この実施形態は、データ処理システムでプライバシーに敏感なリソースにアクセスするスクリプトの提供者に商業的に関連する。
本発明は、例により、添付図面を参照して、更に詳細に説明される。
本発明におけるシステムのブロック図である。
ウェブブラウザは、典型的には、HTMLフォーマットにおける電子文書をレンダリングするために用いられるが、特別な目的の言語のホストが、HTMLページ内に組み込まれた実行可能なコンテンツを介してブラウザの動作を制御するように開発されている。実行可能なコンテンツは、例えば双方向性及び自動化をブラウザに追加する。これらの特別な目的の言語の例は、一見Javaに類似している多目的手続きスクリプト言語であるECMAScript、スタイルメタデータがコンテンツから抽出されることを可能とするCSS(Cascading style sheets)、HTMLの代替手段としてスタイルメタデータと組み合わせてコンテンツに対して用いられ得るXML、XMLコンテンツを新たな形式に変換する提示言語であるXSLTである。反応性のユーザの主観的印象を向上させるためにスクリプト記述するXML及びJavaScriptの組み合わせを含むこれらの技術が発展してきた。Document Object Model規格は、全てのブラウザが、予測可能な態様で同一のJavaScriptに応答することを保証する(情報元;Wikipedia)。従って、ウェブブラウザは、ウェブアプリケーションのための、及び、例えばサーバからダウンロードされた電子文書に組み込まれたスクリプトを実行するための、クライアント側の環境を提供する。スクリプトのより詳細な背景については、例えば前述した国際公開2006/106414号を参照されたい。
HTML文書に組み込まれたスクリプトは、文書がダウンロードされたシステムを改ざんするため、又は、そのシステムのユーザに関するプライバシーに敏感な情報を取得するために、文書提供者により悪用され得る。
図1は、本発明におけるシステム100のブロック図である。システム100は、ここではクライアント102とも呼ばれるデータ処理システム102、及び、データネットワーク108を介してのサーバ106とのデータ通信のためのネットワークインタフェース104を有する。クライアント102は、例えば、パーソナルコンピュータ、セットトップボックス、ホームネットワーク等である。クライアント102は、ランタイム環境110、例えば、ブラウザ、オペレーティングシステム又はJava Virtual Machineを有する。ランタイム環境110は、スクリプトを実行するためのスクリプトエンジン手段をもつ。例えば、ランタイム環境110はブラウザを有し、スクリプトは、例えばサーバ106により供給されるか又はUSBスティック若しくはPCを介して供給される電子HTML文書において受信される。スクリプトエンジン手段は、パブリックスクリプトエンジン112及びプライベートスクリプトエンジン114を実装する。ランタイム環境110は、スクリプトが、クライアント102での予め決められたリソース、例えばハードディスクドライブ(HDD)124又はUPnPホームネットワーク126上の通常の(ブラウザ)サンドボックスの範囲外のデータへのアクセスを要求しない場合に、パブリックスクリプトエンジン112により実行されるスクリプトをもつように構成される。ランタイム環境110は、スクリプトが予め決められたリソース124又は126へのアクセスを要求する場合には、プライベートスクリプトエンジン114により実行されるスクリプトをもつように構成される。以下で述べられるように、この選択的な実行を実装する幾つかの手法が存在するが、差し当たり、ランタイム環境110が構成されると仮定する。
スクリプトが、通常の(ブラウザ)サンドボックスの範囲外のHDD124又はUPnPホームネットワーク126上のデータへのアクセスを要求しない場合には、スクリプトは、スクリプトエンジン112により実行される。例えば、ブラウザにおいてレンダリングされるウェブページにおけるウェブリソースのアニメーションを特定するスクリプトは、この目的のためにHDD124又はUPnPホームネットワーク126へのアクセスを要求しない。
スクリプトは、通常の(ブラウザ)サンドボックスの範囲外のHDD124上のデータ又はUPnPホームネットワーク126上のデータへのアクセスを要求する場合には、スクリプトは、プライベートスクリプトエンジン114により実行される。例えば、スクリプトは、ホームネットワーク内のUPnPメディアサーバ上に格納されたマルチメディアコンテンツをスキャン及び管理する。
パブリックスクリプトエンジン112は、HDD124上の通常のブラウザサンドボックスの範囲外のデータとインタラクトするソフトウェアアプリケーション122、又は、UPnPホームネットワーク126とインタラクトするUPnPコントロールポイント128、に対するインタフェース、例えばスクリプトアプリケーションプログラムインタフェース(API)をもたない。これに対し、プライベートスクリプトエンジン114は、HDD124にアクセス可能なソフトウェアアプリケーション122に対するスクリプトAPI120とUPnPホームネットワーク126にアクセス可能なスクリプトAPI130とをもつ。プライベートスクリプトエンジン114は、サーバ106に対する通信が承認されない限り、サーバ106とのデータ通信を阻止し、これに対し、パブリックスクリプトエンジンは、この区別を行わない通信インタフェース(図示省略)をもつ。
ホームネットワークの外部にあるサーバに対する通信の承認は、ユーザによるイベント毎の承認、並びに/又は、ランタイム環境のユーザ及び/若しくはデベロッパ/デプロイヤによる事前(例えばサーバ毎、ドメイン毎等)の承認に基づいて発生し得る。事前の承認は、ランタイム環境の設定により(例えば、プライベートスクリプトエンジンからのデータ通信に対する制限を免除されるサーバ又はサーバドメインのローカル又は遠隔に格納されたリストを維持することにより)取得され得るか、又は、スクリプトが取得されたユーザ、外部サーバ及び/若しくはデータソースに関連付けられたセキュリティプロファイル若しくは証明から間接的に導出され得る。
図1の略図は、パブリックスクリプトエンジン112及びプライベートスクリプトエンジン114が別個のスクリプトエンジンとして実装される状況を示している。例えば、プライベートエンジン114は、XHTML及びCSSをサポートする、例えばブラウザに対するプラグイン、並びに、外部サーバ106に対する未承認のデータ通信を阻止するとともにcookiesのような共有ストレージに対してデータを通信するための任意のインタフェースを欠く特別なプライベートECMAScriptエンジンインスタンスとして実装され、又は、パブリックスクリプトエンジン112に実装される。ブラウザのECMAScriptエンジンは、パブリックスクリプトエンジン112として機能し得る。知られているように、プラグインは、APIを既存のソフトウェアに追加するために用いられ得る。完全性のために、cookiesは、同一のドメインから生じるサービスのための(ブラウザ)サンドボックスの範囲内の固定共有ストレージと見なされる。
本発明の一実施形態において、ランタイム環境110により受信されたスクリプトは、ランタイム環境が、例えばスクリプトのファイルネーム拡張子又はスクリプトの分析により、スクリプトを実行するために用いられるべき、スクリプトエンジン112及び114のうち適切な一方のスクリプトエンジンを決定し得る場合を除いて、デフォルトのパブリックスクリプトエンジン112が実行されることによりルーティングされる。パブリックスクリプトエンジン112は、例えばスクリプトがプライベートスクリプトエンジン114における実行を要求する明示的ステートメントを含む場合には、プライベートスクリプトエンジン114にスクリプトを条件付きで転送するように構成される。ランタイム環境110は、ファイルネーム拡張子を解釈し、これに基づき、スクリプトエンジン112及び114のうちどちらのスクリプトエンジンにおいてスクリプトが実行されるべきかを決定する。
例えば、スクリプトは、HTMLファイルにおいて、スクリプトのファイルネーム拡張子を含むパスにより参照される。スクリプトがJavascriptである場合には、スクリプトは、ファイル拡張子".js"又は".xjs"を有し得る。ファイルネーム拡張子が".js"である場合には、ランタイム環境110は、パブリックスクリプトエンジン112がこのスクリプトを実行するためのものであることを決定する。ファイルネーム拡張子が".xjs"である場合には、ランタイム環境110は、プライベートスクリプトエンジン114がスクリプトを実行すべきものとしてこれを解釈し、実行されるべきプライベートスクリプトエンジン114にスクリプトを転送する。ランタイム環境110は、(前にダウンロードされた.jsファイルを含む)HTMLファイルに含まれ、及び/又は、このHTMLファイルにより参照される全てのスクリプトがパブリックスクリプトエンジン112の代わりにプライベートスクリプトエンジン114において実行されるような切り替えモードに対するトリガとしてこれを用い得る。
他の例において、スクリプトは、組み込まれたスクリプトを実行するためにプライベートスクリプトエンジン112が呼び出されるべきことを特定する明示的ステートメントをもつ他のスクリプトに組み込まれる。パブリックスクリプトエンジン112は、他のスクリプトを実行し、遅かれ早かれ明示的ステートメントに達する。パブリックスクリプトエンジン112は、エンジン112とエンジン114との間の一方向インタフェース(図示省略)を介して明示的ステートメントを実行すると、前述したように、組み込まれたスクリプトを一方向インタフェースを介してプライベートスクリプトエンジン114に転送するように構成される。即ち、プライベートスクリプトエンジンは、プライベートスクリプトエンジン114にデータを通信することを可能にするが、プライベートスクリプトエンジン114は、パブリックスクリプトエンジン114にデータを通信することはできない。スクリプトエンジン112及び114間の一方向データ通信インタフェースは、プラグインにデータを送信するためにパブリックスクリプトエンジン112においてスクリプトが実行するのを可能にするデータ通信手法でプラグインインタフェースを拡張することにより実装され得る。
更に他の例として、スクリプトを表す(オブジェクト指向プログラミングコンテクストにおける)オブジェクトがそのタイプ又はクラスにより特定される。スクリプトにおいて宣言されたタイプは、これがHDD124を用いるか又はUPnPホームネットワーク126を用いるかを示す。スクリプトがUPnPホームネットワーク126で実行されるべきか又はUPnPホームネットワーク126に対するAPI130を用いるべきアプリケーションであることを前記タイプが示す場合には、パブリックスクリプトエンジン112は、スクリプトを実行させるように、スクリプトを一方向インタフェースを介してプライベートスクリプトエンジン114に転送する。これは、タイプ又はクラスがプライバシーに敏感であるように予め決められるか又は予め設定され、それ故、組み込まれたか又は参照されたスクリプトを実行するためにプライベートスクリプトエンジン114の起動を黙示的に要求するためである。このステートメントは、例えば、予め決められたリソースに関連付けられたMIMEタイプを特定するHTMLオブジェクトエレメントであり得る。例えば、UPnPホームネットワークの制御に関連付けられたランタイム環境プラグインがMIMEタイプ"application/upnpcontrol"により識別されると仮定すると、このMIMEタイプのHTML<object>エレメントを含む実行可能なファイルは、組み込まれたか又は参照されたスクリプトがプライベートスクリプトエンジン114において実行されるべきことを特定する。プライベートスクリプトエンジン114を呼び出す必要性を黙示的に特定する他のタイプのステートメントは、プライベートスクリプトエンジン114の状況においてのみサポートされる機能又は手法に対する要求を有する。例えば、"readHDDContents()"がプライベートエンジン114による予め決められたリソース上でのみサポートされると仮定すると、ファイルにおけるステートメント"readHDDContents"の発生は、プライベートスクリプトエンジン114におけるファイルの更に実行する必要性を黙示的に伝える。
従って、スクリプトエンジン112及び114のデータ通信機能の特定により、斯様な通信が承認されない限り、クライアント102のリソース124又は126に存在するプライバシーに敏感なデータは、例えばサーバ106から取り出されブラウザ110においてレンダリングされた電子HTML文書において、外部のサプライヤにより提供されたスクリプトを介してサーバ106に開示され得なくなる。スクリプトがエンジン112により実行される場合には、予め決められたリソース124及び126に対するアクセスは存在しない。スクリプトがエンジン114により実行される場合には、スクリプトは、予め決められたリソース124及び126にアクセスする。しかしながら、この目的のためのインタフェースが、承認されたサーバにのみに通信を制限するという事実により、リソース124及び126から取り出されたデータをサーバ106に通信するための手法は、斯様な通信が承認されない限り存在しない。
前記の例においては、スクリプトエンジン112及び114は、2つの別個のエンジンとして実装された。代替手段として、スクリプトエンジン112及び114は、2つの動作可能なモード、即ち、パブリックモード及びプライベートモードのうち一方に選択的に設定可能な単一のスクリプトエンジンにより実装される。パブリックモードでは、スクリプトエンジンは、これがパブリックスクリプトエンジン112であったかのように動作し、プライベートモードでは、スクリプトエンジンは、これがプライベートスクリプトエンジン114であったかのように動作する。第2の代替手段は、同一のスクリプトエンジンの論理的に別個のインスタンスとしてパブリックスクリプトエンジン112及びプライベートスクリプトエンジン114を実装することである。一例として、異なるドメインから生ずる、スクリプトに対する異なる許可の付与をサポートするセキュリティシステムをもつランタイム環境110としての主流のブラウザの使用を仮定する。そして、パブリックスクリプトエンジン112は、プライベートスクリプトエンジン114に向かう一方向通信インタフェースの追加を伴う、ブラウザの通常のスクリプトエンジンとして実装され得る。プライベートスクリプトエンジン114は、プライベートスクリプトエンジン114において実行されることが要求されるスクリプトが、外部のスクリプトが生じたドメインに関わらず特定のドメインのコンテクストの範囲内で実際に実行されるように、ブラウザのスクリプトエンジンを設定することにより実装され得る。このドメインの範囲内において実行するスクリプトは、ブラウザプラグインを介して予め決められたリソースを制御するための特権が与えられるが、パブリックスクリプトエンジン112、又は、サーバ106のような、データ処理システム102の外部のサーバにデータを通信することは、斯様な通信が承認されない限り阻止される。

Claims (7)

  1. スクリプトを実行するためのスクリプトエンジン手段を伴うランタイム環境を有するデータ処理システムであって、
    前記スクリプトエンジン手段は、パブリックスクリプトエンジンとプライベートスクリプトエンジンとを実装し、
    前記ランタイム環境は、前記スクリプトが当該システムでの予め決められたリソースへのアクセスを要求しない場合には、前記パブリックスクリプトエンジンにより実行される前記スクリプトをもつように構成され、
    前記ランタイム環境は、前記スクリプトが前記予め決められたリソースへのアクセスを要求する場合には、前記プライベートスクリプトエンジンにより実行される前記スクリプトをもつように構成され、
    前記プライベートスクリプトエンジンだけが、前記スクリプトが前記予め決められたリソースにアクセスすることを可能にするインタフェースをもち、
    前記スクリプトエンジン手段は、前記プライベートスクリプトエンジンが、通信が承認されない限り、前記パブリックスクリプトエンジン又は当該データ処理システムの外部のサーバにデータを通信することを阻止するように構成される、データ処理システム。
  2. 前記スクリプトエンジン手段は、前記パブリックスクリプトエンジンとして動作する第1のスクリプトエンジンと、前記プライベートスクリプトエンジンとして動作する第2のスクリプトエンジンとを有する、請求項1に記載のデータ処理システム。
  3. 前記スクリプトエンジン手段は、第1のモードに設定されたときに前記パブリックスクリプトエンジンとして動作し、第2のモードに設定されたときに前記プライベートスクリプトエンジンとして動作する、設定可能なスクリプトエンジンを有する、請求項1に記載のデータ処理システム。
  4. 前記ランタイム環境は、ブラウザ、Java Virtual Machine及びオペレーティングシステムのうち少なくとも1つを有する、請求項1に記載のデータ処理システム。
  5. 請求項1に記載のデータ処理システムで使用するスクリプトエンジン手段を伴う、ランタイム環境。
  6. 前記データ処理システムの操作可能な使用の間、実行時に、請求項1に記載のランタイム環境を実装するように構成された、コンピュータで実行可能な命令を有する、コンピュータプログラム。
  7. 請求項1に記載のデータ処理システムで実行されるスクリプトを表すデータ構造であって、
    当該データ構造は、前記スクリプトを実行するための前記パブリックスクリプトエンジンと前記プライベートスクリプトエンジンとの間で選択可能な実行制御指示を含む、データ構造。
JP2011545822A 2009-01-19 2010-01-13 プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ Active JP5676477B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14564609P 2009-01-19 2009-01-19
US61/145,646 2009-01-19
US17280109P 2009-04-27 2009-04-27
US61/172,801 2009-04-27
PCT/IB2010/050127 WO2010082161A1 (en) 2009-01-19 2010-01-13 Browser with dual scripting engine for privacy protection

Publications (2)

Publication Number Publication Date
JP2012515390A true JP2012515390A (ja) 2012-07-05
JP5676477B2 JP5676477B2 (ja) 2015-02-25

Family

ID=42027806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011545822A Active JP5676477B2 (ja) 2009-01-19 2010-01-13 プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ

Country Status (8)

Country Link
US (1) US9258136B2 (ja)
EP (1) EP2387765B1 (ja)
JP (1) JP5676477B2 (ja)
KR (1) KR101786060B1 (ja)
CN (1) CN102282565B (ja)
BR (1) BRPI1004942B1 (ja)
RU (1) RU2556338C2 (ja)
WO (1) WO2010082161A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225061B2 (en) 2009-07-02 2012-07-17 Apple Inc. Method and apparatus for protected content data processing
US8689181B2 (en) 2010-11-23 2014-04-01 Axeda Corporation Scripting web services
US8464350B2 (en) * 2011-03-14 2013-06-11 International Business Machines Corporation System and method for in-private browsing
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
US9015851B2 (en) * 2012-04-23 2015-04-21 Google Inc. Electronic book content protection
CN102842006A (zh) * 2012-07-09 2012-12-26 华为软件技术有限公司 扩展脚本对象的访问控制方法及其访问控制系统和终端
US20140053064A1 (en) 2012-08-16 2014-02-20 Qualcomm Incorporated Predicting the usage of document resources
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
US9589149B2 (en) * 2012-11-30 2017-03-07 Microsoft Technology Licensing, Llc Combining personalization and privacy locally on devices
CN103268442B (zh) * 2013-05-14 2015-12-23 北京奇虎科技有限公司 一种实现安全访问视频网站的方法和装置
CN104239752A (zh) * 2013-06-09 2014-12-24 腾讯科技(深圳)有限公司 使用浏览器保护隐私信息的方法和装置
RU2584507C1 (ru) * 2014-12-19 2016-05-20 Закрытое акционерное общество "Лаборатория Касперского" Способ обеспечения безопасного выполнения файла сценария
US10671760B2 (en) * 2015-02-27 2020-06-02 Arash Esmailzadeh Secure and private data storage
US10572691B2 (en) 2015-04-28 2020-02-25 Microsoft Technology Licensing, Llc Operating system privacy mode
CN105893863A (zh) * 2015-11-30 2016-08-24 乐视致新电子科技(天津)有限公司 一种隐私信息保护方法及装置
US10462145B2 (en) 2016-07-15 2019-10-29 The Directv Group, Inc. Method and apparatus for controlling access to custom browser functionality
US10476900B2 (en) * 2016-09-30 2019-11-12 McAFEE, LLC. Safe sharing of sensitive data
US10481876B2 (en) 2017-01-11 2019-11-19 Microsoft Technology Licensing, Llc Methods and systems for application rendering
US10394584B2 (en) * 2017-12-18 2019-08-27 Atlassian Pty Ltd Native execution bridge for sandboxed scripting languages
US20220269774A1 (en) * 2021-02-19 2022-08-25 Capital One Services, Llc Methods, media, and systems for screening malicious content from a web browser
US11972000B2 (en) 2021-08-06 2024-04-30 Arash Esmailzadeh Information dispersal for secure data storage

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254783A (ja) * 1997-01-09 1998-09-25 Sun Microsyst Inc システムリソースへのソフトウェアアクセスを制御する方法及び装置
JP2000172646A (ja) * 1998-12-04 2000-06-23 Toshiba Corp アプリケーション機能指定装置及び記憶媒体
JP2005148977A (ja) * 2003-11-13 2005-06-09 Canon Software Inc プログラム実行環境設定システムおよびプログラム提供サーバ装置およびクライアント装置および呼制御サーバ装置およびプログラム実行環境設定方法およびプログラムおよび記録媒体
US6931546B1 (en) * 2000-01-28 2005-08-16 Network Associates, Inc. System and method for providing application services with controlled access into privileged processes
US20070226773A1 (en) * 2006-03-21 2007-09-27 Novell, Inc. System and method for using sandboxes in a managed shell

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308275B1 (en) * 1998-07-10 2001-10-23 At Home Corporation Web host providing for secure execution of CGI programs and method of doing the same
US6608634B1 (en) 1999-12-23 2003-08-19 Qwest Communications International, Inc. System and method for demonstration of dynamic web sites with integrated database without connecting to a network
US7051119B2 (en) * 2001-07-12 2006-05-23 Yahoo! Inc. Method and system for enabling a script on a first computer to communicate and exchange data with a script on a second computer over a network
US6978445B2 (en) * 2001-09-28 2005-12-20 Siebel Systems, Inc. Method and system for supporting user navigation in a browser environment
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US7401235B2 (en) * 2002-05-10 2008-07-15 Microsoft Corporation Persistent authorization context based on external authentication
US7343626B1 (en) * 2002-11-12 2008-03-11 Microsoft Corporation Automated detection of cross site scripting vulnerabilities
GB0227993D0 (en) 2002-12-02 2003-01-08 Ncr Int Inc A system and method for enabling communication between a web browser and a software agent infrastructure
CN100521636C (zh) 2003-06-30 2009-07-29 皇家飞利浦电子股份有限公司 在URI中嵌入UPnP AV媒体服务器的对象ID
WO2005031568A1 (en) 2003-09-26 2005-04-07 Opera Software Asa Presenting remote and local information in a web browser
US7676560B2 (en) * 2003-10-24 2010-03-09 Microsoft Corporation Using URI's to identify multiple instances with a common schema
US7444678B2 (en) * 2003-10-28 2008-10-28 Aol Llc Securing resources from untrusted scripts behind firewalls
US7401230B2 (en) * 2004-03-31 2008-07-15 Intel Corporation Secure virtual machine monitor to tear down a secure execution environment
CN100447736C (zh) * 2004-05-08 2008-12-31 英特尔公司 包括固件接口运行时环境保护字段的设备和方法
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
KR100618375B1 (ko) * 2004-08-30 2006-08-31 삼성전자주식회사 웹서비스가 가능한 디지털 영상/음향 처리장치, 그의웹서비스 제공방법 및 웹서비스 시스템
US7831995B2 (en) * 2004-10-29 2010-11-09 CORE, SDI, Inc. Establishing and enforcing security and privacy policies in web-based applications
US7593980B2 (en) * 2004-11-30 2009-09-22 Cisco Technology, Inc. Application server system and method
US20060248537A1 (en) 2005-04-06 2006-11-02 Nokia Corporation System and method for domain security with script objects
US8078740B2 (en) * 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US7707635B1 (en) * 2005-10-06 2010-04-27 Trend Micro Incorporated Script-based pattern for detecting computer viruses
US7836303B2 (en) * 2005-12-09 2010-11-16 University Of Washington Web browser operating system
KR101282117B1 (ko) 2006-07-25 2013-07-03 삼성전자주식회사 공유 네트워크 환경에서 범용 플러그 앤 플레이 서비스를위한 장치 및 방법
US8353031B1 (en) * 2006-09-25 2013-01-08 Symantec Corporation Virtual security appliance
US8490117B1 (en) * 2006-10-23 2013-07-16 Adobe Systems Incorporated Bridging script engines
US7614003B2 (en) * 2006-10-23 2009-11-03 Adobe Systems Incorporated Rendering hypertext markup language content
WO2008073618A2 (en) * 2006-11-06 2008-06-19 Devicevm, Inc. Instant on platform
US20080133722A1 (en) * 2006-12-04 2008-06-05 Infosys Technologies Ltd. Parallel dynamic web page section processing
US20080148298A1 (en) * 2006-12-18 2008-06-19 Palm, Inc. System and Methods for Providing Granular Security for Locally Running Scripted Environments and Web Applications
US8484742B2 (en) * 2007-01-19 2013-07-09 Microsoft Corporation Rendered image collection of potentially malicious web pages
US20080189767A1 (en) * 2007-02-01 2008-08-07 Microsoft Corporation Accessing file resources outside a security boundary
EP2122508A1 (en) * 2007-02-09 2009-11-25 Novarra, Inc. Method and apparatus for providing information content for display on a client device
EP1975830A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Distributed computer system
US8024790B2 (en) * 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
US8001551B2 (en) * 2007-04-24 2011-08-16 Microsoft Corporation Providing localized resources for client-side script execution
US8763115B2 (en) * 2007-08-08 2014-06-24 Vmware, Inc. Impeding progress of malicious guest software
US7748609B2 (en) * 2007-08-31 2010-07-06 Gemalto Inc. System and method for browser based access to smart cards
US8160247B2 (en) * 2007-09-27 2012-04-17 Adobe Systems Incorporated Providing local storage service to applications that run in an application execution environment
US8307443B2 (en) * 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US7979909B2 (en) * 2007-12-03 2011-07-12 Wells Fargo Bank Application controlled encryption of web browser data
US8635701B2 (en) * 2008-03-02 2014-01-21 Yahoo! Inc. Secure browser-based applications
US8272059B2 (en) * 2008-05-28 2012-09-18 International Business Machines Corporation System and method for identification and blocking of malicious code for web browser script engines
US8108912B2 (en) * 2008-05-29 2012-01-31 Red Hat, Inc. Systems and methods for management of secure data in cloud-based network
US8250666B2 (en) * 2008-07-03 2012-08-21 Sap Ag Method and apparatus for improving security in an application level virtual machine environment
US8136158B1 (en) * 2008-07-21 2012-03-13 Google Inc. User-level segmentation mechanism that facilitates safely executing untrusted native code
US8413139B2 (en) * 2009-03-11 2013-04-02 Microsoft Corporation Programming model for application and data access and synchronization within virtual environments
US8505084B2 (en) * 2009-04-06 2013-08-06 Microsoft Corporation Data access programming model for occasionally connected applications
US8839138B1 (en) * 2009-12-21 2014-09-16 Symantec Corporation Systems and methods for transitioning between user interface environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254783A (ja) * 1997-01-09 1998-09-25 Sun Microsyst Inc システムリソースへのソフトウェアアクセスを制御する方法及び装置
JP2000172646A (ja) * 1998-12-04 2000-06-23 Toshiba Corp アプリケーション機能指定装置及び記憶媒体
US6931546B1 (en) * 2000-01-28 2005-08-16 Network Associates, Inc. System and method for providing application services with controlled access into privileged processes
JP2005148977A (ja) * 2003-11-13 2005-06-09 Canon Software Inc プログラム実行環境設定システムおよびプログラム提供サーバ装置およびクライアント装置および呼制御サーバ装置およびプログラム実行環境設定方法およびプログラムおよび記録媒体
US20070226773A1 (en) * 2006-03-21 2007-09-27 Novell, Inc. System and method for using sandboxes in a managed shell

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200401137004; 鹿島 龍次: 'パフォーマンスを有効活用する ネットワークプログラミングのポイント' C MAGAZINE 第15巻 第11号 , 20031101, p.42-54, ソフトバンクパブリッシング株式会社 *
JPN6014004290; 鹿島 龍次: 'パフォーマンスを有効活用する ネットワークプログラミングのポイント' C MAGAZINE 第15巻 第11号 , 20031101, p.42-54, ソフトバンクパブリッシング株式会社 *

Also Published As

Publication number Publication date
US20110283363A1 (en) 2011-11-17
KR101786060B1 (ko) 2017-10-16
RU2556338C2 (ru) 2015-07-10
US9258136B2 (en) 2016-02-09
JP5676477B2 (ja) 2015-02-25
WO2010082161A1 (en) 2010-07-22
BRPI1004942A8 (pt) 2017-10-03
BRPI1004942A2 (ja) 2017-08-08
CN102282565B (zh) 2016-08-03
EP2387765A1 (en) 2011-11-23
EP2387765B1 (en) 2018-05-23
BRPI1004942B1 (pt) 2020-04-07
KR20110117171A (ko) 2011-10-26
CN102282565A (zh) 2011-12-14
RU2011134494A (ru) 2013-03-10

Similar Documents

Publication Publication Date Title
JP5676477B2 (ja) プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ
Jackson et al. Subspace: secure cross-domain communication for web mashups
US9923926B1 (en) Seamless management of untrusted data using isolated environments
US8291475B2 (en) Secure cross-domain communication for web mashups
TWI420338B (zh) 安全之瀏覽器基礎應用程式
US9626204B1 (en) Automated provisioning of secure virtual execution environment using virtual machine templates based on source code origin
KR101549816B1 (ko) 안전하고 확장 가능한 정책 기반 애플리케이션 플랫폼
US9921860B1 (en) Isolation of applications within a virtual machine
TWI575919B (zh) 授權網站之推播通知
US8843820B1 (en) Content script blacklisting for use with browser extensions
Crites et al. Omash: enabling secure web mashups via object abstractions
RU2646332C2 (ru) Ограниченная платформа драйверов, которая запускает драйверы в песочнице в пользовательском режиме
AU2010274979A1 (en) Communicating information about a local machine to a browser application
US10986137B2 (en) Clipboard hardening
CN101978674A (zh) 用于显示由客户端生成的信息的方法
KR20140068940A (ko) 애플리케이션용 콘텐츠 핸들링 기법
Cannon et al. Enforcing security for desktop clients using authority aspects
Decat et al. Towards building secure web mashups
US20210044657A1 (en) Information processing apparatus, access control system, and non-transitory computer-readable storage medium for storing access control program
EP3432244A1 (en) Anti adblock solution vpaid
Gomez et al. BlackBerry PlayBook Security: Part one
CN113778506A (zh) 一种浏览器的管控方法、系统、装置以及电子设备
Davidson Enhancing Mobile Security and Privacy through App Splitting
Schultz Extending browser platforms with native capabilities, enabling additional features in a media streaming context

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141225

R150 Certificate of patent or registration of utility model

Ref document number: 5676477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250