JP2013125497A - Information processing device, information processing method and program - Google Patents

Information processing device, information processing method and program Download PDF

Info

Publication number
JP2013125497A
JP2013125497A JP2011275337A JP2011275337A JP2013125497A JP 2013125497 A JP2013125497 A JP 2013125497A JP 2011275337 A JP2011275337 A JP 2011275337A JP 2011275337 A JP2011275337 A JP 2011275337A JP 2013125497 A JP2013125497 A JP 2013125497A
Authority
JP
Japan
Prior art keywords
security constraint
information processing
processing apparatus
script
security
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.)
Pending
Application number
JP2011275337A
Other languages
Japanese (ja)
Inventor
Mitsuru Nishibe
満 西部
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2011275337A priority Critical patent/JP2013125497A/en
Publication of JP2013125497A publication Critical patent/JP2013125497A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)

Abstract

PROBLEM TO BE SOLVED: To excellently inhibit vulnerability etc. in a web application.SOLUTION: A processing unit performs information processing on the basis of prescribed processing data selected from a plurality of pieces of processing data. A control unit controls operation of the processing unit. In this case, the control unit performs control on the basis of security restriction associated with the prescribed processing data. For example, the processing unit is a web browser and the processing data is an object composing a document object model. For example, the security restriction is given to the object as a property, defined by a security object or defined by an HTTP header etc.

Description

本技術は、情報処理装置、情報処理方法およびプログラムに関し、特に、ウェブアプリケーション上の脆弱性などを防ぐようにした情報処理装置、情報処理方法およびプログラムに関する。   The present technology relates to an information processing apparatus, an information processing method, and a program, and more particularly, to an information processing apparatus, an information processing method, and a program that prevent vulnerabilities on web applications.

近年、ネットワークを介してホームページの閲覧やメールの送受信を行うウェブ(Web)システムが広く利用されている(例えば、特許文献1参照)。ウェブアプリケーションは、スクリプトコードを利用したリッチクライアント技術などの技術進歩と、クライアント装置にウェブブラウザがインストールされていれば簡単に実行できる簡便さから、ビジネス用途を含め、さまざまな分野で利用されている。ウェブアプリケーションは、クライアント装置とサーバ装置がネットワークで接続された、クライアント・サーバ型のウェブシステム上で動作する。   2. Description of the Related Art In recent years, web (Web) systems that browse homepages and send and receive mail via a network have been widely used (see, for example, Patent Document 1). Web applications are used in various fields, including business applications, due to technological advances such as rich client technology using script code and the ease of execution if a web browser is installed on the client device. . The web application operates on a client / server type web system in which a client device and a server device are connected via a network.

ウェブアプリケーションでは、ウェブアプリケーションあるいはサーバ上のプログラムのエスケープ忘れ等のバグが存在した場合、(1)悪意のある任意のスクリプトがウェブブラウザ上で動く、(2)悪意のあるリクエストをサーバに送る、などのような脆弱性につながる。これは、ウェブアプリケーションの僅かなバグによって、ユーザは,アカウントの乗っ取り、個人情報の漏洩等の被害を受けることを意味する。   In a web application, if there is a bug such as forgetting to escape the program on the web application or the server, (1) any malicious script runs on the web browser, (2) sends a malicious request to the server, Leads to vulnerabilities such as This means that a slight bug in the web application will cause the user to take over an account and leak personal information.

現状では、上述の脆弱性による被害を防ぐために、ウェブブラウザ上で動くウェブアプリケーションおよびサーバ上のプログラムを検証し、バグを取り除くことで対処している。例えば、(1)エスケープ漏れがないかの確認、(2)必ずサーバとの通信にはワンタイムトークンを使っているかの確認等である。あるいは、クライアント側やサーバ側で攻撃や情報漏洩の可能性のあるリクエストかをチェックする仕組みが考えられる。   At present, in order to prevent damage due to the above-mentioned vulnerability, the web application running on the web browser and the program on the server are verified, and the bug is removed. For example, (1) confirmation that there is no escape leak, and (2) confirmation that a one-time token is always used for communication with the server. Alternatively, a mechanism for checking whether there is a request for an attack or information leakage on the client side or the server side can be considered.

特開2010−128877号公報JP 2010-128877 A

しかし、プログラムをどれだけ検証しても、現実にはバグが発見され脆弱性が露呈することが後を絶たない。また、ウェブアプリケーションは年々規模を拡大し複雑化していることから、バグの発見はより困難になると予想される。そのことを踏まえると、ウェブアプリケーションにはバグが必ずある前提で、ウェブブラウザがそのバグから利用者を守る必要がある。しかし、従来の技術ではそれに該当するものはなかった。   However, no matter how much the program is verified, in reality, bugs are discovered and vulnerabilities are exposed. Also, bug detection is expected to become more difficult as web applications grow in size and complexity each year. With that in mind, web applications must always have bugs, and web browsers need to protect users from those bugs. However, none of the conventional techniques correspond to this.

本技術の目的は、ウェブアプリケーション上の脆弱性などを良好に防止可能とすることにある。   The objective of this technique is to make it possible to satisfactorily prevent vulnerabilities on web applications.

本技術の概念は、
複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理部と、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理部の動作を制御する制御部とを備える
情報処理装置にある。
The concept of this technology is
A processing unit that performs information processing based on predetermined processing data selected from a plurality of processing data;
The information processing apparatus includes: a control unit that controls an operation of the processing unit based on a security constraint associated with the predetermined processing data.

処理部により、複数の処理データから選択された所定の処理データに基づいて情報処理が行われる。制御部により、処理部の動作が制御される。この場合、所定の処理データに関連付けされたセキュリティ制約に基づいて、制御が行われる。ここで、例えば、処理部はウェブブラウザであり、処理データは、ドキュメントオブジェクトモデルを構成するオブジェクトであってもよい。本技術においては、ウェブアプリケーション上の脆弱性などを良好に防止できる。   The processing unit performs information processing based on predetermined processing data selected from a plurality of processing data. The operation of the processing unit is controlled by the control unit. In this case, control is performed based on security constraints associated with predetermined processing data. Here, for example, the processing unit may be a web browser, and the processing data may be an object constituting a document object model. In this technology, it is possible to satisfactorily prevent vulnerabilities on web applications.

例えば、セキュリティ制約は、オブジェクト内へのスクリプトの挿入権限であってもよい。また、例えば、セキュリティ制約は、オブジェクト内のスクリプトの実行可能権限であってもよい。また、例えば、セキュリティ制約は、リクエストに関する制限であってもよい。また、例えば、セキュリティ制約は、スクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定であってもよい。   For example, the security constraint may be the right to insert a script into the object. Further, for example, the security constraint may be a right to execute a script in the object. Further, for example, the security constraint may be a restriction regarding a request. Also, for example, the security constraint may be a designation of an accessible or inaccessible object of the script.

また、例えば、セキュリティ制約は、アプリケーション・プログラミング・インタフェースへのアクセス権限であってもよい。また、例えば、セキュリティ制約は、異なる生成元からのオブジェクトの参照あるいは変更のリクエストのポリシー変更であってもよい。また、例えば、セキュリティ制約は、子オブジェクトも含めたヒープ使用量の上限であってもよい。また、例えば、セキュリティ制約は、子オブジェクトも含めたオブジェクト数の上限であってもよい。また、例えば、セキュリティ制約は、オブジェクトに設定できる文字列長の上限であってもよい。   Also, for example, the security constraint may be an access right to the application programming interface. Further, for example, the security constraint may be a policy change of an object reference or change request from a different generation source. For example, the security constraint may be an upper limit of heap usage including child objects. For example, the security constraint may be the upper limit of the number of objects including child objects. Further, for example, the security constraint may be an upper limit of a character string length that can be set for the object.

例えば、セキュリティ制約は、オブジェクトに属性として与えられてもよい。その場合、セキュリティ制約は、クラスで指定されてもよい。また、例えば、セキュリティ制約は、セキュリティオブジェクトにより定義されてもよい。また、例えば、セキュリティ制約の指定のないオブジェクトのセキュリティ制約として、親からのセキュリティ制約を引き継ぐようにされてもよい。   For example, security constraints may be given to objects as attributes. In that case, the security constraint may be specified in a class. Further, for example, the security constraint may be defined by a security object. Further, for example, as a security constraint for an object for which no security constraint is specified, the security constraint from the parent may be taken over.

また、例えば、所定のオブジェクト内のスクリプトが他のオブジェクト内のスクリプトを呼び出して実行する場合、この所定のオブジェクトのセキュリティ制約を引き継ぐようにされてもよい。また、例えば、HTTPヘッダによりセキュリティ制約を指定するようにされてもよい。また、例えば、セキュリティ制約は、所定の条件に応じて動的に変化するようにされてもよい。   For example, when a script in a predetermined object calls and executes a script in another object, the security constraint of the predetermined object may be taken over. Further, for example, the security constraint may be specified by an HTTP header. Further, for example, the security constraint may be dynamically changed according to a predetermined condition.

本技術によれば、ウェブアプリケーション上の脆弱性などを良好に防止できる。   According to the present technology, it is possible to satisfactorily prevent the vulnerability on the web application.

実施の形態としてのウェブシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the web system as embodiment. ウェブブラウザの構成例を示すブロック図である。It is a block diagram which shows the structural example of a web browser. スクリプトエンジンの処理の流れの一例を概略的に示すフローチャートである。It is a flowchart which shows an example of the flow of a process of a script engine roughly. DOMのオブジェクトに与えられるセキュリティ制約がオブジェクト内へのスクリプトの挿入権限である場合について説明するための図である。It is a figure for demonstrating the case where the security constraint given to the object of DOM is the insertion authority of the script in an object. DOMのオブジェクトに与えられるセキュリティ制約がオブジェクト内のスクリプトの実行可能権限である場合について説明するための図である。It is a figure for demonstrating the case where the security constraint given to the object of DOM is the executable authority of the script in an object. DOMのオブジェクトに与えられるセキュリティ制約がオブジェクト内のスクリプトの実行可能権限である場合(スクリプトを介して“div要素”が操作される場合)について説明するための図である。It is a figure for demonstrating the case where the security constraint given to the object of DOM is the executable authority of the script in an object (when a "div element" is operated via a script). DOMのオブジェクトに与えられるセキュリティ制約がリクエストに関する制限である場合について説明するための図である。It is a figure for demonstrating the case where the security restrictions given to the object of DOM are the restrictions regarding a request. DOMのオブジェクトに与えられるセキュリティ制約がスクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定である場合について説明するための図である。It is a figure for demonstrating the case where the security constraint given to the object of DOM is designation | designated of the object which can be accessed of a script, or an inaccessible object. セキュリティ制約を、各オブジェクトに属性として与える場合におけるセキュリティ制約の書き方例(例1)を示す図である。It is a figure which shows the example (Example 1) of how to write a security constraint in the case of giving a security constraint as an attribute to each object. セキュリティ制約を、各オブジェクトに属性として与える場合におけるセキュリティ制約の書き方例(例2)を示す図である。It is a figure which shows the example (Example 2) of how to write a security constraint in the case of giving a security constraint as an attribute to each object. セキュリティ制約をクラス指定で間接的に指定する場合、DOMにセキュリティクラスを定義するオブジェクトが設けられることを説明するための図である。When a security constraint is indirectly specified by class specification, it is a figure for demonstrating that the object which defines a security class is provided in DOM. セキュリティ制約を、HTTPヘッダで指定する場合におけるセキュリティ制約の書き方例(例3)を示す図である。It is a figure which shows the example (Example 3) of how to write a security constraint in the case of designating a security constraint with an HTTP header. スクリプトエンジンの処理の流れの一例(セキュリティ制約の動的変化)を概略的に示すフローチャートである。It is a flowchart which shows roughly an example (dynamic change of a security constraint) of the flow of a script engine process.

以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明を以下の順序で行う。
1.実施の形態
2.変形例
Hereinafter, modes for carrying out the invention (hereinafter referred to as “embodiments”) will be described. The description will be given in the following order.
1. Embodiment 2. FIG. Modified example

<1.実施の形態>
[ウェブシステム]
図1は、実施の形態としてのウェブシステム100の構成例を示している。このウェブシステム100は、ウェブブラウザを含むクライアント装置110と、サーバ装置120a,120Bとが、ネットワーク130を介して接続されて構成されている。クラインアント装置110とサーバ装置120A,120Bとは互いに通信を行う。
<1. Embodiment>
[Web system]
FIG. 1 shows a configuration example of a web system 100 as an embodiment. The web system 100 is configured by connecting a client device 110 including a web browser and server devices 120 a and 120 B via a network 130. The client device 110 and the server devices 120A and 120B communicate with each other.

このウェブシステム100は、一般的なネットワークレベルでは既存のシステムと異なる点はない。ウェブブラウザは、サーバ装置120Aからページを読込み、表示する。その際に、他のサーバ装置120Bからリソースを取得することも含む。また、ウェブブラウザは、表示した後もスクリプトによって継続してサーバ装置120A,120Bとのアクセスが発生するシステムも含む。   The web system 100 is not different from existing systems at a general network level. The web browser reads the page from the server device 120A and displays it. In that case, it also includes acquiring a resource from the other server apparatus 120B. In addition, the web browser includes a system in which access to the server apparatuses 120A and 120B is generated by a script even after being displayed.

図2は、ウェブブラウザの構成例を示している。ウェブブラウザは、画面やスクリプト等のオブジェクトから構成されるドキュメントオブジェクトモデル(DOM:Document Object Model)と、スクリプトエンジンからなる。ウェブブラウザは、ページや画像をロードする。また、ウェブブラウザは、スクリプトから呼ばれるアプリケーション・プログラミング・インタフェース(API:Application Programming Interface)により、サーバ装置へリクエストを出し、サーバ装置からレスポンスを受け取る。   FIG. 2 shows a configuration example of the web browser. The web browser includes a document object model (DOM) composed of objects such as a screen and a script, and a script engine. Web browsers load pages and images. Further, the web browser issues a request to the server device by an application programming interface (API) called from a script, and receives a response from the server device.

この実施の形態では、DOMの各オブジェクトにセキュリティ制約が与えられる。そして、スクリプトエンジンがスクリプトを実行する際に、その制約を満たしているかが検証され、満たしていない場合に、特殊な動作に移行するようにされる。   In this embodiment, security restrictions are given to each object of the DOM. Then, when the script engine executes the script, it is verified whether or not the constraint is satisfied, and when the script engine does not satisfy the constraint, the operation is shifted to a special operation.

図3のフローチャートは、スクリプトエンジンの処理の流れの一例を概略的に示している。スクリプトエンジンは、ステップST1において、処理を開始する。そして、スクリプトエンジンは、ステップST2において、スクリプトの実行が指示されたか否かを判断する。スクリプトの実行が指示されたとき、スクリプトエンジンは、ステップST3において、セキュリティ制約を満たしているか否かを判断する。   The flowchart in FIG. 3 schematically shows an example of the processing flow of the script engine. In step ST1, the script engine starts processing. Then, in step ST2, the script engine determines whether or not execution of the script is instructed. When the execution of the script is instructed, the script engine determines whether or not the security constraint is satisfied in step ST3.

セキュリティ制約を満たしているとき、スクリプトエンジンは、ステップST4において、スクリプトを実行する。スクリプトエンジンは、このステップST4の処理の後、ステップST5において、処理を終了する。一方、ステップST3でセキュリティ制約を満たしていないとき、スクリプトエンジンは、ステップST6において、スクリプトを実行する代わりに、特殊な動作、例えば、エラー箇所やその原因を示すエラーダイアログを出す等する。スクリプトエンジンは、このステップST6の処理の後、ステップST5におおいて、処理を終了する。   When the security constraint is satisfied, the script engine executes the script in step ST4. After the process of step ST4, the script engine ends the process in step ST5. On the other hand, when the security constraint is not satisfied in step ST3, the script engine issues a special operation, for example, an error dialog indicating the error location and the cause thereof in step ST6, instead of executing the script. After the process of step ST6, the script engine ends the process in step ST5.

次に、セキュリティ制約、セキュリティ制約の指定方法、ウェブブラウザの動作などを具体的に説明していく。   Next, the security constraint, the method for specifying the security constraint, the operation of the web browser, etc. will be specifically described.

[セキュリティ制約]
DOMのオブジェクトに与えられるセキュリティ制約として、例えば、以下が挙げられる。
[Security constraints]
Examples of the security restrictions given to the DOM object include the following.

(1)オブジェクト内へのスクリプトの挿入権限
DOMのオブジェクトに与えられるセキュリティ制約を、オブジェクト内へのスクリプトの挿入権限とすることができる。この場合、例えば、攻撃スクリプトを含んだ投稿などのオブジェクトへの挿入を防止できる。
(1) Authority to Insert a Script into an Object A security constraint given to a DOM object can be an authority to insert a script into the object. In this case, for example, insertion into an object such as a post including an attack script can be prevented.

図4は、DOMのオブジェクトに与えられるセキュリティ制約がオブジェクト内へのスクリプトの挿入権限である場合について示している。最初に、セキュリティ制約が与えられていない場合の動作例を説明する。(1)アタッカ(attacker)は、サーバに、攻撃スクリプトを含んだ投稿を送る。(2)クライアント(client)は、サーバ(server)から、この攻撃スクリプトを含んだ投稿を受信する。(3)クライアントでは、この攻撃スクリプトを含んだ投稿がDOM上に配置される。(4)そして、この攻撃スクリプトが実行される。   FIG. 4 shows a case where the security constraint given to the DOM object is the right to insert a script into the object. First, an operation example when no security constraint is given will be described. (1) The attacker sends a post including the attack script to the server. (2) The client receives a post including this attack script from the server. (3) On the client, a post including this attack script is placed on the DOM. (4) Then, this attack script is executed.

DOMのオブジェクトに、セキュリティ制約として、オブジェクト内へのスクリプトの挿入権限が与えられる場合には、挿入される“div要素”にスクリプトの挿入権限が無ければ、上述の(3)の段階で攻撃スクリプトの挿入を防止でき、攻撃スクリプトの実行を阻止できる。   If the DOM object is given the right to insert a script into the object as a security constraint, if the inserted “div element” does not have the right to insert a script, the attack script in step (3) above. Can be prevented and attack script execution can be prevented.

(2)オブジェクト内のスクリプトの実行可能権限
DOMのオブジェクトに与えられるセキュリティ制約を、オブジェクト内のスクリプトの実行可能権限とすることができる。この場合、例えば、攻撃スクリプトの実行を阻止できる。
(2) Executable authority of script in object A security constraint given to a DOM object can be an executable authority of a script in the object. In this case, for example, execution of the attack script can be prevented.

図5は、DOMのオブジェクトに与えられるセキュリティ制約がオブジェクト内のスクリプトの実行可能権限である場合について示している。最初に、セキュリティ制約が与えられていない場合の動作例を説明する。(1)アタッカ(attacker)は、サーバに、攻撃スクリプトを含んだ投稿を送る。(2)クライアント(client)は、サーバ(server)から、この攻撃スクリプトを含んだ投稿を受信し、表示する。(3)攻撃スクリプトが、実行される。   FIG. 5 shows a case where the security constraint given to the DOM object is the executable authority of the script in the object. First, an operation example when no security constraint is given will be described. (1) The attacker sends a post including the attack script to the server. (2) The client receives a post including this attack script from the server and displays it. (3) The attack script is executed.

DOMのオブジェクトに、セキュリティ制約として、オブジェクト内のスクリプトの実行可能権限が与えられる場合には、挿入される“div要素”にスクリプトの実行可能権限が無ければ、上述の(3)の段階における攻撃スクリプトの実行を阻止できる。   If the DOM object is granted the executable permission for the script in the object as a security constraint, the attack in the above stage (3) if the inserted “div element” does not have the executable permission for the script Can prevent script execution.

図6も、DOMのオブジェクトに与えられるセキュリティ制約がオブジェクト内のスクリプトの実行可能権限である場合について示している。この場合は、スクリプトを介して“div要素”が操作される場合を示している。最初に、セキュリティ制約が与えられていない場合の動作例を説明する。(1)アタッカ(attacker)は、サーバに、攻撃スクリプトを含んだ投稿を送る。(2)クライアント(client)は、サーバ(server)から、この攻撃スクリプトを含んだ投稿を受信する。(3)クライアントにおいて、攻撃スクリプトを含んだ投稿がDOM上に配置される。(4)そして、攻撃スクリプトが、実行される。   FIG. 6 also shows the case where the security constraint given to the DOM object is the executable authority of the script in the object. In this case, a case where a “div element” is operated via a script is shown. First, an operation example when no security constraint is given will be described. (1) The attacker sends a post including the attack script to the server. (2) The client receives a post including this attack script from the server. (3) In the client, a post including the attack script is placed on the DOM. (4) Then, the attack script is executed.

DOMのオブジェクトに、セキュリティ制約として、オブジェクト内のスクリプトの実行可能権限が与えられる場合には、挿入される“div要素”にスクリプトの実行可能権限が無ければ、上述の(4)の段階における攻撃スクリプトの実行を阻止できる。   If the DOM object is granted the executable permission of the script in the object as a security constraint, the attack in the above stage (4) if the inserted “div element” does not have the executable authority of the script Can prevent script execution.

(3)リクエスト制限
DOMのオブジェクトに与えられるセキュリティ制約を、リクエストに関する制限(クッキー(cookie)等の情報の送出許可)とすることができる。この場合、例えば、攻撃リンクからサーバへのクッキー(cookie)付きのリクエストの送信を防止できる。
(3) Request restriction A security restriction given to a DOM object can be a restriction on a request (permission of sending information such as a cookie). In this case, for example, transmission of a request with a cookie from the attack link to the server can be prevented.

図7は、DOMのオブジェクトに与えられるセキュリティ制約がリクエストに関する制限である場合について示している。ここでは、認証が必要なメール(Mail)やソーシャル・ネットワーキング・サービス(SNS:Social NetworkService)を想定している。   FIG. 7 shows the case where the security constraint given to the DOM object is a request-related constraint. Here, mail (Mail) and social networking service (SNS: Social Network Service) that require authentication are assumed.

最初に、セキュリティ制約が与えられていない場合の動作例を説明する。(1)アタッカ(attacker)は、サーバに、攻撃リンクを含んだ投稿を送る。(2)クライアント(client)は、サーバ(server)から、この攻撃リンクを含んだ投稿を受信し、攻撃リンクも表示する。(3)クライアントにおいて、攻撃リンクをユーザが踏むと、(4)クライアントからサーバにリクエストが飛ぶ。このとき、クライアントはサーバにクッキー(cookie)も送る。そのため、クライアントのユーザの権限でサーバの状態を変更できる(投稿や削除、設定変更が可能)。   First, an operation example when no security constraint is given will be described. (1) An attacker sends a post including an attack link to a server. (2) The client receives a post including the attack link from the server and displays the attack link. (3) When the user steps on the attack link in the client, (4) a request is sent from the client to the server. At this time, the client also sends a cookie to the server. Therefore, the server status can be changed with the user authority of the client (posting, deletion, and setting change are possible).

DOMのオブジェクトに、セキュリティ制約として、リクエストに関する制限が与えられる場合には、投稿が表示される“div要素”にクッキー(cookie)を送る権限が無ければ、攻撃リンクを何の効力も持たないものとできる。   If the DOM object is restricted as a security constraint as a security constraint, the attack link will not have any effect unless it has the authority to send a cookie to the “div element” in which the post is displayed. And can.

(4)スクリプトのアクセス可能/不可能オブジェクトの指定
DOMのオブジェクトに与えられるセキュリティ制約を、スクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定とすることができる。この場合、例えば、攻撃スクリプトがクッキー(cookie)を取得することを阻止でき、また、例えば、攻撃スクリプトが取得した情報をAPIで攻撃者のサーバに送信することを阻止できる。
(4) Specification of accessible / inaccessible object of script The security constraint given to the DOM object can be specified as an accessible or inaccessible object of the script. In this case, for example, the attack script can be prevented from acquiring a cookie, and for example, the information acquired by the attack script can be prevented from being transmitted to the attacker's server by API.

図8は、DOMのオブジェクトに与えられるセキュリティ制約がスクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定である場合について示している。最初に、セキュリティ制約が与えられていない場合の動作例を説明する。   FIG. 8 shows a case where the security constraint given to the DOM object is a designation of an accessible or inaccessible object of the script. First, an operation example when no security constraint is given will be described.

(1)クライアント(client)は、サーバ(server)から、コンテンツを読み込む。(2)外部サーバ(hacked server)がハック(hack)され、攻撃スクリプトを含んだライブラリに差し替えられ、それがクライアントに読み込まれる。(3)クライアントにおいて、攻撃スクリプトが実行され、攻撃スクリプトはセッション情報や個人情報を取得する。(4)そして、攻撃スクリプトは、取得した情報を攻撃者のサーバ(attacker sever)に送る。   (1) A client reads content from a server. (2) A hacked server is hacked and replaced with a library containing an attack script, which is read by the client. (3) The attack script is executed at the client, and the attack script acquires session information and personal information. (4) Then, the attack script sends the acquired information to the attacker's server (attacker sever).

DOMのオブジェクトに、セキュリティ制約として、スクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定が与えられる場合には、クッキー(cookie)等へのアクセス権限が制限されていれば、攻撃スクリプトによる、クッキー(cookie)等の取得を阻止できる。また、この場合には、使用可能なAPIが制限されていれば、攻撃スクリプトが、攻撃者のサーバへ取得した情報を送信すること阻止できる。   If the DOM object is specified as a security-restricted object that can be accessed by the script or an object that cannot be accessed, if the access authority to the cookie is restricted, Can prevent the acquisition of cookies, etc. Further, in this case, if the usable API is restricted, the attack script can be prevented from transmitting the acquired information to the attacker's server.

(5)その他のセキュリティ制約
DOMのオブジェクトに与えられるセキュリティ制約を、APIへのアクセス権限とすることができる。ただし、APIもオブジェクトとして定義される場合は、上述の「(4)スクリプトのアクセス可能/不可能オブジェクトの指定」の項目と等価となる。
(5) Other Security Constraints Security constraints given to DOM objects can be API access rights. However, when an API is also defined as an object, it is equivalent to the item “(4) Specification of accessible / impossible object of script” described above.

また、DOMのオブジェクトに与えられるセキュリティ制約を、SOP(SameOrigin Policy)やCORS(Cross-Origin Resource Sharing))等のリクエストのポリシーの変更とすることができる。ここで、SOPとは、異なる生成元からのオブジェクトの参照や変更を禁止する仕組みであり、CORSとは、異なる生成元からオブジェクトの参照や変更を可能にする仕組みである。   Further, the security constraint given to the DOM object can be a change in a policy of a request such as SOP (Same Origin Policy) or CORS (Cross-Origin Resource Sharing). Here, the SOP is a mechanism that prohibits reference and change of objects from different generation sources, and the CORS is a mechanism that enables reference and change of objects from different generation sources.

また、DOMのオブジェクトに与えられるセキュリティ制約を、子オブジェクトも含めたヒープ使用量の上限とすることができる。また、DOMのオブジェクトに与えられるセキュリティ制約を、子オブジェクトも含めたオブジェクト数の上限とすることができる。さらに、DOMのオブジェクトに与えられるセキュリティ制約を、オブジェクトの各アトリビュート等に設定できる文字列長の上限とすることができる。   Further, the security constraint given to the DOM object can be set as the upper limit of the heap usage amount including the child object. In addition, the security constraint given to the DOM object can be the upper limit of the number of objects including child objects. Furthermore, the security constraint given to the DOM object can be the upper limit of the character string length that can be set in each attribute of the object.

また、XHR(XML Http Request)以外にも、“img”や“iframe”等による外部へのリクエスト先のドメインやポートで制約することもできる。   In addition to XHR (XML Http Request), it is also possible to constrain by the domain or port of the request destination to the outside by “img”, “iframe” or the like.

[セキュリティ制約の指定方法]
次に、セキュリティ制約の指定方法(書き方)について説明する。
[How to specify security constraints]
Next, a security constraint designation method (how to write) will be described.

(1)各オブジェクトに属性として与える
セキュリティ制約を、各オブジェクトに属性として与えることができる。図9は、その場合における、セキュリティ制約の書き方例(例1)を示している。図10も、その場合におけるセキュリティ制約の書き方例(例2)を示している。図9の例の場合には、要素にセキュリティ制約を直接指定するが、図10の例の場合には、要素にセキュリティクラスを指定し、セキュリティ制約を間接的に指定する。図10の例の場合、図11に示すように、DOM上にセキュリティクラスを定義するオブジェクトが設けられることになる。
(1) Giving each object as an attribute Security constraints can be given to each object as attributes. FIG. 9 shows an example (Example 1) of how to write a security constraint in that case. FIG. 10 also shows a writing example (example 2) of the security constraint in that case. In the example of FIG. 9, the security constraint is directly specified for the element. In the example of FIG. 10, the security class is specified for the element, and the security constraint is indirectly specified. In the example of FIG. 10, as shown in FIG. 11, an object defining a security class is provided on the DOM.

(2)セキュリティオブジェクトによる定義
各オブジェクトのセキュリティ制約を、セキュリティオブジェクトにより定義することができる。この場合、HTMLの中にセキュリティ制約を列挙したオブジェクトが定義され、オブジェクト生成時にどのようなセキュリティ制約を与えるかが決定される。
(2) Definition by security object The security constraint of each object can be defined by the security object. In this case, an object that enumerates security constraints is defined in the HTML, and what kind of security constraint is given at the time of object generation is determined.

(3)HTTPヘッダによる指定
各オブジェクトのセキュリティ制約を、HTTPヘッダで指定することができる。この場合、セキュリティオブジェクトの定義を書くことができる。あるいは、ヘッダでのみスクリプトを実行可能といった簡易的な指定を行うことができる。図12は、その場合におけるセキュリティ制約の書き方例(例3)を示している。この場合、ヘッダ(head)タグのみでのスクリプト(script)の実行を許可する。1行で指定するため、複雑な指定はできない。フォーム(Form)の中でのスクリプト(script)の実行禁止など、攻撃の対象となる場所をピンポイントに潰す指定が主になる。
(3) Specification by HTTP header The security constraint of each object can be specified by the HTTP header. In this case, a security object definition can be written. Alternatively, it is possible to specify simply that the script can be executed only in the header. FIG. 12 shows an example (Example 3) of how to write a security constraint in that case. In this case, execution of a script with only a header tag is permitted. Since it is specified in one line, complicated specification is not possible. It is mainly specified to crush the location that is the target of attack, such as prohibition of script execution in the form.

(4)親からのセキュリティ制約の引き継ぎ
セキュリティ制約の指定のないオブジェクトのセキュリティ制約を、親のセキュリティ制約を引き継ぐようにすることもできる。このように親からのセキュリティ制約の指定を引き継ぐことで、効率的なセキュリティ制約の指定が可能となる。例えば、親オブジェクトのセキュリティがAクラスに指定され、第1の子オブジェクトのセキュリティが指定されておらず、第2の子オブジェクトのセキュリティがBクラスに指定されているとする。この場合、第1の子オブジェクトには、親オブジェクトのセキュリティであるAクラスが引き継がれることとなる。
(4) Inheritance of security constraint from parent It is also possible to inherit the security constraint of an object for which no security constraint is specified, from the security constraint of the parent. In this way, by inheriting the specification of the security constraint from the parent, it is possible to efficiently specify the security constraint. For example, suppose that the security of the parent object is designated as class A, the security of the first child object is not designated, and the security of the second child object is designated as class B. In this case, the class A that is the security of the parent object is taken over by the first child object.

(5)呼び戻し元のセキュリティ制約の引き継ぎ
所定のオブジェクト内のスクリプトが他のオブジェクト内のスクリプトを呼び出して実行する場合、この所定のオブジェクトのセキュリティ制約を引き継ぐようにすることもできる。自分固有のセキュリティ制約を持たないオブジェクトへのアクセスのラッパーなどの機能を持つライブラリ等で用いることができる。
(5) Inheritance of security constraint of call-back source When a script in a predetermined object calls and executes a script in another object, the security constraint of the predetermined object can be inherited. It can be used in libraries with functions such as wrappers for accessing objects that do not have their own security constraints.

なお、上述したようにセキュリティ制約の定義をHTMLに書いてもよいが、外部ファイルによって定義することもできる。その場合、HTMLには、外部ファイルを参照することが記載される。   As described above, the definition of the security constraint may be written in HTML, but it can also be defined by an external file. In that case, referring to an external file is described in HTML.

[ウェブブラウザの動作]
(1)スクリプト実行時に、DOM上のオブジェクトに対するアクセスが発生した場合には、以下の動作をする。すなわち、実行中のコンテキストのセキュリティ制約から、対象のオブジェクトへのアクセス権限があるかを確認する。そして、アクセス権限がある場合には実行を続けるが、無い場合には処理を中断して例外を発生させる。この場合、スクリプトエンジンは例外ハンドラを読み出し、また、エラー個所や原因を示すエラーダイアログを出して停止する。
[Web browser operation]
(1) When an access to an object on the DOM occurs during script execution, the following operation is performed. That is, it is confirmed whether there is an access right to the target object from the security constraint of the context being executed. If the user has the access right, the execution is continued. If not, the process is interrupted and an exception is generated. In this case, the script engine reads the exception handler and stops by giving an error dialog indicating the error location and cause.

(2)リンククリックやスクリプトなどによってネットワークに対するリクエストが発生した場合、以下の動作をする。すなわち、実行中のコンテキストのセキュリティ制約から、対象ドメインやポートへのアクセス権限があるかを確認する。そして、リンクをクリックした場合は、そのリンクが属するセキュリティ制約に従ってリクエスト権限があるかを確認する。そして、リクエスト権限がある場合には実行を続けるが、無い場合には処理を中断して例外を発生させる。   (2) When a request to the network is generated by a link click or a script, the following operation is performed. That is, it is confirmed whether there is an access right to the target domain or port from the security constraint of the context being executed. When a link is clicked, it is confirmed whether the request authority is given according to the security constraint to which the link belongs. If there is a request authority, the execution is continued. If there is no request authority, the process is interrupted and an exception is generated.

(3)異なったセキュリティ制約を持つ関数オブジェクトを呼び出す場合、現在のセキュリティ制約をスタックに積み、飛び先の関数オブジェクトのセキュリティ制約をコンテキストに設定する。そして、異なったセキュリティ制約を持つ関数オブジェクトから戻る場合、上述のスタックからセキュリティ制約をポップして、それをコンテキストに設定する。   (3) When calling a function object having a different security constraint, the current security constraint is stacked on the stack, and the security constraint of the destination function object is set in the context. When returning from a function object having a different security constraint, the security constraint is popped from the above stack and set in the context.

(4)オブジェクトのプロパティを書き換える場合、現在のセキュリティ制約に従い、文字数などの制約を超えないことを確認する。   (4) When rewriting the properties of an object, check that the number of characters and other constraints are not exceeded in accordance with the current security constraints.

上述したように、図1に示すウェブシステム100においては、DOM上のオブジェクトに対して適切なセキュリティ制約が設定されることにより、バグが発見されても、XSSやCSRF、あるいは未知の脆弱性を防ぐことができる。   As described above, in the web system 100 shown in FIG. 1, even if a bug is found by setting an appropriate security constraint on an object on the DOM, XSS, CSRF, or an unknown vulnerability is detected. Can be prevented.

また、図1に示すウェブシステム100においては、DOM上のオブジェクトに対して適切なセキュリティ制約が設定されることにより、外部サーバ上のスクリプトを安全に利用することができる。仮に、中に悪意のあるスクリプトが混ざっていても、このスクリプタは、重要な情報を取得できず、被害を最小限に留めることができる。   Moreover, in the web system 100 shown in FIG. 1, the script on an external server can be safely used by setting an appropriate security constraint for the object on the DOM. Even if a malicious script is mixed in, this scripter cannot acquire important information and can minimize damage.

また、図1に示すウェブシステム100においては、DOM上のオブジェクトに対して適切なセキュリティ制約が設定されることにより、ウェブブラウザ自体のバグ等によるUXSS(ユニバーサルクロススクリプティング)等の未知の脆弱性も防ぐことができる。   In addition, in the web system 100 shown in FIG. 1, an unknown security vulnerability such as UXSS (Universal Cross Scripting) due to a bug of the web browser itself is set by setting an appropriate security constraint for an object on the DOM. Can be prevented.

また、図1に示すウェブシステム100においては、一部のスクリプトに対して制限をかけると同時に同一生成元ポリシーを変更することで、安全に同一生成元ポリシーを越えてウェブAPIを利用することができる。   Further, in the web system 100 shown in FIG. 1, it is possible to safely use the web API beyond the same origin policy by changing the same origin policy while restricting some scripts. it can.

また、図1に示すウェブシステム100においては、変更できるオブジェクトや使用できるオブジェクトの個数や属性の文字列長に適切な制限をかけることで、バッファ・オーバーフロー(buffer overflow)やヒープ・スプレイ(heap spray)攻撃など、ウェブブラウザ自体の脆弱性を狙った攻撃を防ぐことができる。   Further, in the web system 100 shown in FIG. 1, by appropriately limiting the number of objects that can be changed, the number of objects that can be used, and the character string length of attributes, buffer overflow and heap spray (heap spray) ) Attacks that target vulnerabilities in the web browser itself, such as attacks, can be prevented.

<2.変形例>
なお、上述実施の形態においては、各オブジェクトに対して設定されるセキュリティ制約が固定であるように説明した。しかし、このセキュリティ制約が、他の条件に応じて動的に変化する例も考えられる。
<2. Modification>
In the above-described embodiment, it has been described that the security constraint set for each object is fixed. However, an example in which this security constraint changes dynamically according to other conditions is also conceivable.

例えば、URL(Uniform Resource Locator)に従って外部のセキュリティ制約を与える例が考えられる。すなわち、(1)外部ベンダーが各メジャーサイトを安全に使うために、サイト毎にセキュリティ制約を配布することが考えられる。(2)そのサイトがセキュリティ制約を持っていない場合、ウェブブラウザがURLに紐付いた制約を適用することが考えられる。   For example, an example in which external security restrictions are given according to a URL (Uniform Resource Locator) can be considered. That is, (1) In order for an external vendor to use each major site safely, it is conceivable to distribute security constraints for each site. (2) If the site does not have a security constraint, it is conceivable that the web browser applies a constraint associated with the URL.

図13のフローチャートは、その場合におけるスクリプトエンジンの処理の流れの一例を概略的に示している。スクリプトエンジンは、ステップST11において、処理を開始する。そして、スクリプトエンジンは、ステップST12において、スクリプトの実行が指示されたか否かを判断する。スクリプトの実行が指示されたとき、スクリプトエンジンは、ステップST13の処理に移る。   The flowchart in FIG. 13 schematically shows an example of the processing flow of the script engine in that case. In step ST11, the script engine starts processing. Then, in step ST12, the script engine determines whether script execution has been instructed. When the execution of the script is instructed, the script engine proceeds to the process of step ST13.

このステップST3において、スクリプトエンジンは、実行指示されたスクリプトの取得先のサイトがセキュリティ制約を持っているか否かを判断する。持っているとき、スクリプトエンジンは、ステップST14において、取得先のサイトが持っているセキュリティ制約を使用することに決定し、その後に、ステップST15の処理に移る。一方、スクリプトエンジンは、ステップST13で取得先のサイトがセキュリティ制約を持っていないとき、ステップST16において、取得先のサイトのURLに紐付いたセキュリティ制約を使用することに決定し、その後に、ステップST15の処理に移る。   In step ST3, the script engine determines whether or not the site from which the script instructed to be executed has a security constraint. If so, the script engine decides in step ST14 to use the security constraints of the acquisition site, and then proceeds to the processing of step ST15. On the other hand, when the acquisition destination site does not have security constraints in step ST13, the script engine determines in step ST16 that the security constraint associated with the URL of the acquisition destination site is used, and thereafter, step ST15. Move on to processing.

ステップST15において、スクリプトエンジンは、セキュリティ制約を満たしているか否かを判断する。セキュリティ制約を満たしているとき、スクリプトエンジンは、ステップST17において、スクリプトを実行する。スクリプトエンジンは、このステップST17の処理の後、ステップST18において、処理を終了する。一方、ステップST15でセキュリティ制約を満たしていないとき、スクリプトエンジンは、ステップST19において、スクリプトを実行する代わりに、特殊な動作、例えば、エラー箇所やその原因を示すエラーダイアログを出す等する。スクリプトエンジンは、このステップST19の処理の後、ステップST18におおいて、処理を終了する。   In step ST15, the script engine determines whether security constraints are satisfied. When the security constraint is satisfied, the script engine executes the script in step ST17. After the process of step ST17, the script engine ends the process in step ST18. On the other hand, when the security constraint is not satisfied in step ST15, the script engine issues a special operation, for example, an error dialog indicating an error location and its cause, in step ST19, instead of executing the script. After the process of step ST19, the script engine ends the process in step ST18.

また、本技術は、以下のような構成を取ることもできる。
(1)複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理部と、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理部の動作を制御する制御部とを備える
情報処理装置。
(2)上記処理部は、ウェブブラウザであり、
上記処理データは、ドキュメントオブジェクトモデルを構成するオブジェクトである
前記(1)に記載の情報処理装置。
(3)上記セキュリティ制約は、上記オブジェクト内へのスクリプトの挿入権限である
前記(2)に記載の情報処理装置。
(4)上記セキュリティ制約は、上記オブジェクト内のスクリプトの実行可能権限である
前記(2)または(3)に記載の情報処理装置。
(5)上記セキュリティ制約は、リクエストに関する制限である
前記(2)から(4)のいずれかに記載の情報処理装置。
(6)上記セキュリティ制約は、スクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定である
前記(2)から(5)のいずれかに記載の情報処理装置。
(7)上記セキュリティ制約は、アプリケーション・プログラミング・インタフェースへのアクセス権限である
前記(2)から(6)のいずれかに記載の情報処理装置。
(8)上記セキュリティ制約は、異なる生成元からのオブジェクトの参照あるいは変更のリクエストのポリシー変更である
前記(2)から(7)のいずれかに記載の情報処理装置。
(9)上記セキュリティ制約は、子オブジェクトも含めたヒープ使用量の上限である
前記(2)から(8)のいずれかに記載の情報処理装置。
(10)上記セキュリティ制約は、子オブジェクトも含めたオブジェクト数の上限である
前記(2)から(9)のいずれかに記載の情報処理装置。
(11)上記セキュリティ制約は、上記オブジェクトに設定できる文字列長の上限である
前記(2)から(10)のいずれかに記載の情報処理装置。
(12)上記セキュリティ制約は、上記オブジェクトに属性として与えられる
前記(2)から(11)のいずれかに記載の情報処理装置。
(13)上記セキュリティ制約は、クラスで指定される
前記(12)に記載の情報処理装置。
(14)上記セキュリティ制約は、セキュリティオブジェクトにより定義される
前記(2)から(13)のいずれかに記載の情報処理装置。
(15)上記セキュリティ制約の指定のないオブジェクトのセキュリティ制約として、親からのセキュリティ制約を引き継ぐ
前記(2)から(14)のいずれかに記載の情報処理装置。
(16)所定のオブジェクト内のスクリプトが他のオブジェクト内のスクリプトを呼び出して実行する場合、該所定のオブジェクトのセキュリティ制約を引き継ぐ
前記(2)から(15)のいずれかに記載の情報処理装置。
(17)HTTPヘッダにより上記セキュリティ制約を指定する
請求項2に記載の情報処理装置。
(18)上記セキュリティ制約は、所定の条件に応じて動的に変化する
前記(2)から(17)のいずれかに記載の情報処理装置。
(19)複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理ステップと、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理ステップ得の動作を制御する制御ステップとを備える
情報処理方法。
(20)コンピュータを、
複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理手段と、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理手段の動作を制御する制御手段と
して機能させるプログラム。
Moreover, this technique can also take the following structures.
(1) a processing unit that performs information processing based on predetermined processing data selected from a plurality of processing data;
An information processing apparatus comprising: a control unit that controls an operation of the processing unit based on a security constraint associated with the predetermined processing data.
(2) The processing unit is a web browser,
The information processing apparatus according to (1), wherein the processing data is an object constituting a document object model.
(3) The information processing apparatus according to (2), wherein the security constraint is an authority to insert a script into the object.
(4) The information processing apparatus according to (2) or (3), wherein the security constraint is a right to execute a script in the object.
(5) The information processing apparatus according to any one of (2) to (4), wherein the security constraint is a request-related restriction.
(6) The information processing apparatus according to any one of (2) to (5), wherein the security constraint is designation of an accessible object or an inaccessible object of a script.
(7) The information processing apparatus according to any one of (2) to (6), wherein the security constraint is an access right to an application programming interface.
(8) The information processing apparatus according to any one of (2) to (7), wherein the security constraint is a policy change of an object reference or a change request from a different generation source.
(9) The information processing apparatus according to any one of (2) to (8), wherein the security constraint is an upper limit of a heap usage amount including a child object.
(10) The information processing apparatus according to any one of (2) to (9), wherein the security constraint is an upper limit of the number of objects including a child object.
(11) The information processing apparatus according to any one of (2) to (10), wherein the security constraint is an upper limit of a character string length that can be set for the object.
(12) The information processing apparatus according to any one of (2) to (11), wherein the security constraint is given to the object as an attribute.
(13) The information processing apparatus according to (12), wherein the security constraint is specified by a class.
(14) The information processing apparatus according to any one of (2) to (13), wherein the security constraint is defined by a security object.
(15) The information processing apparatus according to any one of (2) to (14), wherein a security constraint from a parent is taken over as a security constraint of an object for which no security constraint is specified.
(16) The information processing apparatus according to any one of (2) to (15), wherein when a script in a predetermined object calls and executes a script in another object, the security constraint of the predetermined object is taken over.
(17) The information processing apparatus according to claim 2, wherein the security constraint is designated by an HTTP header.
(18) The information processing apparatus according to any one of (2) to (17), wherein the security constraint is dynamically changed according to a predetermined condition.
(19) Processing steps for performing information processing based on predetermined processing data selected from a plurality of processing data;
A control step for controlling an operation of obtaining the processing step based on a security constraint associated with the predetermined processing data.
(20)
Processing means for performing information processing based on predetermined processing data selected from a plurality of processing data;
A program that functions as a control unit that controls the operation of the processing unit based on a security constraint associated with the predetermined processing data.

100・・・ウェブシステム
110・・・クライアント装置
120A,120B・・・サーバ装置
130・・・ネットワーク
DESCRIPTION OF SYMBOLS 100 ... Web system 110 ... Client apparatus 120A, 120B ... Server apparatus 130 ... Network

Claims (20)

複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理部と、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理部の動作を制御する制御部とを備える
情報処理装置。
A processing unit that performs information processing based on predetermined processing data selected from a plurality of processing data;
An information processing apparatus comprising: a control unit that controls an operation of the processing unit based on a security constraint associated with the predetermined processing data.
上記処理部は、ウェブブラウザであり、
上記処理データは、ドキュメントオブジェクトモデルを構成するオブジェクトである
請求項1に記載の情報処理装置。
The processing unit is a web browser,
The information processing apparatus according to claim 1, wherein the processing data is an object constituting a document object model.
上記セキュリティ制約は、上記オブジェクト内へのスクリプトの挿入権限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is an authority to insert a script into the object.
上記セキュリティ制約は、上記オブジェクト内のスクリプトの実行可能権限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is a right to execute a script in the object.
上記セキュリティ制約は、リクエストに関する制限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is a restriction related to a request.
上記セキュリティ制約は、スクリプトのアクセス可能なオブジェクトまたはアクス不可能なオブジェクトの指定である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is designation of an accessible object or an inaccessible object of the script.
上記セキュリティ制約は、アプリケーション・プログラミング・インタフェースへのアクセス権限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is an access right to an application programming interface.
上記セキュリティ制約は、異なる生成元からのオブジェクトの参照あるいは変更のリクエストのポリシー変更である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is a policy change of an object reference or change request from a different generation source.
上記セキュリティ制約は、子オブジェクトも含めたヒープ使用量の上限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is an upper limit of a heap usage amount including a child object.
上記セキュリティ制約は、子オブジェクトも含めたオブジェクト数の上限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is an upper limit of the number of objects including child objects.
上記セキュリティ制約は、上記オブジェクトに設定できる文字列長の上限である
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is an upper limit of a character string length that can be set for the object.
上記セキュリティ制約は、上記オブジェクトに属性として与えられる
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is given to the object as an attribute.
上記セキュリティ制約は、クラスで指定される
請求項12に記載の情報処理装置。
The information processing apparatus according to claim 12, wherein the security constraint is specified by a class.
上記セキュリティ制約は、セキュリティオブジェクトにより定義される
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is defined by a security object.
上記セキュリティ制約の指定のないオブジェクトのセキュリティ制約として、親からのセキュリティ制約を引き継ぐ
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint from the parent is inherited as the security constraint of the object for which the security constraint is not specified.
所定のオブジェクト内のスクリプトが他のオブジェクト内のスクリプトを呼び出して実行する場合、該所定のオブジェクトのセキュリティ制約を引き継ぐ
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein when a script in a predetermined object calls and executes a script in another object, the security constraint of the predetermined object is inherited.
HTTPヘッダにより上記セキュリティ制約を指定する
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is specified by an HTTP header.
上記セキュリティ制約は、所定の条件に応じて動的に変化する
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the security constraint is dynamically changed according to a predetermined condition.
複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理ステップと、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理ステップ得の動作を制御する制御ステップとを備える
情報処理方法。
Processing steps for performing information processing based on predetermined processing data selected from a plurality of processing data;
A control step for controlling an operation of obtaining the processing step based on a security constraint associated with the predetermined processing data.
コンピュータを、
複数の処理データから選択された所定の処理データに基づいて情報処理を行う処理手段と、
上記所定の処理データに関連付けされたセキュリティ制約に基づいて上記処理手段の動作を制御する制御手段と
して機能させるプログラム。
Computer
Processing means for performing information processing based on predetermined processing data selected from a plurality of processing data;
A program that functions as a control unit that controls the operation of the processing unit based on a security constraint associated with the predetermined processing data.
JP2011275337A 2011-12-16 2011-12-16 Information processing device, information processing method and program Pending JP2013125497A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011275337A JP2013125497A (en) 2011-12-16 2011-12-16 Information processing device, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011275337A JP2013125497A (en) 2011-12-16 2011-12-16 Information processing device, information processing method and program

Publications (1)

Publication Number Publication Date
JP2013125497A true JP2013125497A (en) 2013-06-24

Family

ID=48776678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011275337A Pending JP2013125497A (en) 2011-12-16 2011-12-16 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (1) JP2013125497A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717564B1 (en) * 2016-03-21 2017-03-20 서울여자대학교 산학협력단 Web-in-the-loop simulation apparatus and method for development and evaluation of website
US10965689B2 (en) 2016-05-31 2021-03-30 Advanced New Technologies Co., Ltd. Method and device for preventing server from being attacked

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717564B1 (en) * 2016-03-21 2017-03-20 서울여자대학교 산학협력단 Web-in-the-loop simulation apparatus and method for development and evaluation of website
US10965689B2 (en) 2016-05-31 2021-03-30 Advanced New Technologies Co., Ltd. Method and device for preventing server from being attacked
US10986101B2 (en) 2016-05-31 2021-04-20 Advanced New Technologies Co., Ltd. Method and device for preventing server from being attacked

Similar Documents

Publication Publication Date Title
Georgiev et al. Breaking and fixing origin-based access control in hybrid web/mobile application frameworks
US20190260750A1 (en) Client-site dom api access control
Wang et al. The Multi-Principal OS Construction of the Gazelle Web Browser.
JP5296106B2 (en) Secure browser-based application
Ter Louw et al. {AdJail}: Practical Enforcement of Confidentiality and Integrity Policies on Web Advertisements
Barth et al. The security architecture of the chromium browser
JP4395178B2 (en) Content processing system, method and program
Barth et al. Protecting Browsers from Extension Vulnerabilities.
US8843820B1 (en) Content script blacklisting for use with browser extensions
Dong et al. AdSentry: comprehensive and flexible confinement of JavaScript-based advertisements
Shahriar et al. Client-side detection of cross-site request forgery attacks
Walfish Treehouse: Javascript sandboxes to help web developers help themselves
EP2917869B1 (en) Protecting systems from unauthorized access to system resources using browser independent web page technology
US9208235B1 (en) Systems and methods for profiling web applications
US8904492B2 (en) Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
EP3518135B1 (en) Protection against third party javascript vulnerabilities
JP2018005344A (en) Function extension system, function extension method, and function extension program
Zhou et al. Protecting private web content from embedded scripts
Hothersall-Thomas et al. BrowserAudit: automated testing of browser security features
Moshchuk et al. Content-based isolation: rethinking isolation policy design on client systems
KR101977428B1 (en) Content handling for applications
JP2013125497A (en) Information processing device, information processing method and program
JP2010205186A (en) Information processor, method and program
Patil Isolating malicious content scripts of browser extensions
Saini et al. The darker side of firefox extension