JP2010113566A - 情報処理装置、アクセス制御方法、及びプログラム - Google Patents

情報処理装置、アクセス制御方法、及びプログラム Download PDF

Info

Publication number
JP2010113566A
JP2010113566A JP2008286228A JP2008286228A JP2010113566A JP 2010113566 A JP2010113566 A JP 2010113566A JP 2008286228 A JP2008286228 A JP 2008286228A JP 2008286228 A JP2008286228 A JP 2008286228A JP 2010113566 A JP2010113566 A JP 2010113566A
Authority
JP
Japan
Prior art keywords
access
request
definition information
response
procedure
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.)
Withdrawn
Application number
JP2008286228A
Other languages
English (en)
Inventor
Takao Okubo
隆夫 大久保
Shusuke Tsuji
秀典 辻
Masaki Hashimoto
正樹 橋本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008286228A priority Critical patent/JP2010113566A/ja
Publication of JP2010113566A publication Critical patent/JP2010113566A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】ネットワークを介した攻撃に対する堅牢性を向上させることのできる情報処理装置、アクセス制御方法、及びプログラムの提供を目的とする。
【解決手段】ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手段と、前記処理要求ごとに前記処理実行手段に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段と、前記処理実行手段によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手段と、前記処理実行手段によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手段による呼び出しに応じ、前記アクセスの内容と前記第一の定義情報とに基づいて前記アクセスの許否を判定する第一の判定手段とを有する。
【選択図】図6

Description

本発明は、情報処理装置、アクセス制御方法、及びプログラムに関し、特にネットワークを介した要求に応じて処理を実行する情報処理装置、アクセス制御方法、及びプログラムに関する。
近年、ネットワーク技術及びWeb技術等の発達により、オンラインショッピング等、ネットワークを介して様々なサービスの利用が可能とされている。斯かるサービスの提供形態は、サービスの提供者側のコスト削減等に寄与すると共に、サービスの利用者の利便性を著しく向上させている。
特開2000−215165号公報 特開2002−149422号公報 特開平10−254783号公報 特開2000−194627号公報
しかしながら、従来、Webアプリケーション等、ネットワークを介して利用されるアプリケーションには、インジェクション攻撃やバッファーオーバーフロー攻撃に対する脆弱性が存在するといった問題がある。また、不正な状態遷移違反による攻撃(例えば、CSRF(Cross Site Request Forgeries))に対する脆弱性が存在するといった問題がある。
本発明は、上記の点に鑑みてなされたものであって、ネットワークを介した攻撃に対する堅牢性を向上させることのできる情報処理装置、アクセス制御方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、情報処理装置は、ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手段と、前記処理要求ごとに前記処理実行手段に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段と、前記処理実行手段によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手段と、前記処理実行手段によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手段による呼び出しに応じ、前記アクセスの内容と前記第一の定義情報とに基づいて前記アクセスの許否を判定する第一の判定手段とを有する。
このような情報処理装置では、ネットワークを介した攻撃に対する堅牢性を向上させることができる。
本発明によれば、ネットワークを介した攻撃に対する堅牢性を向上させることのできる情報処理装置、アクセス制御方法、及びプログラムを提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、Webサーバ装置10及びクライアント装置20は、LAN(Local Area Network)又はインターネット等のネットワーク30(有線又は無線の別は問わない。)を介して接続されている。Webサーバ装置10は、Webアプリケーションによって所定のサービスをネットワークを介して提供するコンピュータである。クライアント装置20は、Webブラウザを有し、Webサーバ装置10によって提供されるサービスをWebブラウザを介してユーザに利用させるコンピュータである。なお、Webサーバ装置10によって提供されるサービスは、必ずしもWebアプリケーションによって実現されなくてもよい。一般的なクライアント・サーバシステムにおけるサーバプログラムであってもよい。
図2は、本発明の実施の形態におけるWebサーバ装置のハードウェア構成例を示す図である。図2のWebサーバ装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105とを有する。
Webサーバ装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってWebサーバ装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、本実施の形態におけるWebアプリケーションの状態遷移を説明するための図である。本実施の形態において、Webアプリケーション11は、オンラインショッピングサービスを提供するWebアプリケーションである。Webアプリケーション11は、クライアント20からの処理要求に応じて、クレジット与信、購入確認、購入の順で状態を遷移させる。具体的には、クレジットカードの与信を要求するHTTPリクエストをクライアント装置20より受信すると(S11)、Webアプリケーション11は、クレジットの与信を実行し(S12)、購入確認用のWebページ(購入確認ページ)をクライアント装置20に返信する(S13)。続いて、購入確認ページに基づいて購入確認を示すHTTPリクエストをクライアント装置20より受信すると、Webアプリケーション11は、購入確認処理を行い(S15)、購入用のWebページ(購入ページ)を返信する(S16)。続いて、購入ページに基づいて購入を確定するHTTPリクエストをクライアント装置20より受信すると(S17)、Webアプリケーション11は、購入情報をデータベース15に記録する(S18)。
上記のような状態遷移(処理手順)に基づいて処理を実行するWebアプリケーション11に対して、例えば、以下のような攻撃が予想される。
図4は、予想される攻撃の第一の例を示す図である。同図は、CSRF(Cross Site Request Forgeries)等、Webアプリケーション11の状態遷移を無視した攻撃を示す。すなわち、クレジット与信(S12)、及び購入確認(S15)の状態(処理)を経ずに、いきなり購入(S17)が実行される。この場合、不正なデータがデータベース15に書き込まれてしまう可能性がある。
また、図5は、予想される攻撃の第二の例を示す図である。同図は、いわゆるインジェクション攻撃を示す。すなわち、本来、データベース15への書き込みが行われない状態(購入確認(S15))において、クライアント装置20からの不正な処理要求(S14)に応じてデータベース15への不正な書き込みが行われてしまうというものである。
以上のような攻撃を防御すべく、本実施の形態のWebサーバ装置10は以下のようなソフトウェア構成を有する。図6は、本実施の形態におけるWebサーバ装置のソフトウェア構成例を示す図である。同図において、Webサーバ装置10は、Webアプリケーション11、フック部12、権限検査部13、及び権限検査コード生成部14等を有する。これら各部は、Webサーバ装置10のCPU104に処理を実行させることによりその機能を実現する。
Webアプリケーション11は、図3に示したWebアプリケーション11と同じである。すなわち、図3において説明した状態遷移(クレジット与信→購入確認→購入)に基づいてクライアント装置20より要求されるサービス(処理)を実行する。同図においてWebアプリケーション11は、履歴管理部111を含む。履歴管理部111は、メモリ装置101を用いてWebアプリケーション11の状態遷移の履歴情報(処理の実行履歴)をクライアント装置10のユーザごと(セッションごと)に管理する。履歴管理部111は、例えば、Sessionオブジェクト(Java(登録商標)の場合、HttpSessionオブジェクト)を利用してもよい。
権限検査部13は、クライアント装置20からの処理要求に応じたWebアプリケーション11による処理の実行の可否を判定する。具体的には、クライアント装置20からの処理要求が上記したような攻撃に該当する可能性を判断する。同図において権限検査部13は、履歴検証部131、アクセス権検証部132、及び履歴更新部133等を含む。履歴検証部131は、履歴管理部111に基づいて、過去の状態遷移の履歴を検証することによりWebアプリケーション11による処理の実行の可否を判定する。アクセス権検証部132は、状態(処理要求)ごとに予め定義された各種リソース(例えば、ネットワーク、ファイルシステム上のファイル、データベース15等)へのアクセス権限に基づいてWebアプリケーション11による処理の実行の可否(リソースへのアクセスの許否)を判定する。履歴更新部133は、Webアプリケーション11による処理が正常に実行されたときに、履歴管理部111における履歴情報を更新する。
フック部12は、Webアプリケーション11のソースコードを修正することなく、Webアプリケーション11によって実行される処理手順の予め定められたタイミングを検知し(フックし)、予め定められた処理を挿入させる(割り込ませる)ための制御を行う。同図においてフック部12は、メソッド開始点フック部121、リソースアクセスフック部122、及びメソッド終了点フック部123等を含む。メソッド開始点フック部121は、予め定められたメソッド(Webアプリケーション11におけるメソッド又は関数。以下、メソッドで統一する。)の開始点(開始時)をフックし、履歴検証部131に処理を実行させる。リソースアクセスフック部122は、メソッド実行中におけるリソースへのアクセス要求をフックし、アクセス権検証部132に処理を実行させる。メソッド終了点フック部123は、予め定められたメソッドの終了点(終了時)をフックし、履歴更新部133に処理を実行させる。
なお、フック部12は、例えば、アスペクト指向プログラミング(AOP:Aspect Oriented Programming)によって実装することができる。アスペクト指向プログラミングによれば、Webアプリケーション11のソースコードに影響を与えることなく、各タイミングをフックすることができる。アスペクト指向言語は、所定のものに限定されないが、例えば、AspectJ、AspectR、JBossAOP等が挙げられる。
権限検査コード生成部14は、フック部12及び権限検査部13のソースコードを自動生成する。したがって、権限検査コード生成部14は、Webアプリケーション11の実行環境の構築時に処理を実行する。
図7は、権限検査コード生成部を説明するための図である。同図に示されるように権限検査コード生成部14は、状態定義一覧情報141及び権限検査コードテンプレート142を入力情報とし、当該入力情報に基づいて権限検査部13のソースコードである権限検査コード143を生成する。なお、権限検査コード143は、Webアプリケーション11の状態(クレジット与信、購入確認、購入)ごとに生成される。
図8は、状態定義一覧情報の構成例を示す図である。同図に示されるように、状態定義一覧情報141は、Webアプリケーション11の状態ごとに、状態名、メソッド名、必須履歴、及び権限等が定義された情報であり、補助記憶装置102に記録されている。状態名は、各状態を識別するための名称である。同図では、図3に合わせて、クレジット与信、購入確認、及び購入の3つの状態の状態名が示されている。メソッド名は、Webアプリケーション11が各状態に遷移するためのメソッドの名前である。各メソッドは、クライアント装置20からの処理要求に応じて呼び出される。
必須履歴は、各状態へ遷移するために同一セッションにおいて過去に(既に)実行されている必要がある処理を示す情報(過去に遷移している必要がある状態を示す情報)である。同図では、過去に呼び出されているメソッド名によって必須履歴が定義されている。例えば、本実施の形態ではクレジット与信の前に状態は存在しないため、クレジット与信に対する必須履歴は無い。購入確認については、クレジット与信の実行が前提とされているため、クレジット与信に係るメソッド(@credit)が必須履歴とされている。また、購入については、クレジット与信及び購入確認の実行が前提とされているため、それぞれに係るメソッド(@credit、@confirm)が必須履歴とされている。
権限は、Webアプリケーション11に対して許可するリソースへのアクセス権限であり、状態ごとに最低限必要なアクセス権限が定義される。例えば、クレジット与信であれば、カード会社との通信が必要であるため、ネット(ネットワーク)のsend/recv(送受信)の権限が与えられ、ファイル及びDB(データベース)へのアクセス権限は与えられていない。また、購入確認については、ネット、ファイル、及びDBの全てに対するアクセス権限が与えられていない。また、購入については、データベース15へのアクセスが必要であるため、DBに対するread/write(読み書き)権限が与えられている。
一方、権限検査コードテンプレート142は、権限検査コード143の雛形としてのソースコードであり、状態ごとに異なる部分が変数化又はパラメータ化された(すなわち、空白とされた)ものである。変数化された部分には、状態定義一覧情報141における定義が埋め込まれる。権限検査コードテンプレート142は、予め作成(コーディング)され、補助記憶装置102にファイルとして保存される。
図9は、権限検査コードテンプレートの処理手順を説明するためのフローチャートである。同図において、[]で囲まれた文字列は変数化された部分である。
ステップS101は、[メソッド名]に合致するメソッドの開始点をメソッド開始点フック部121にフックさせる。続いて、ステップS102は、履歴管理部111からの履歴情報の取得を履歴検証部131に実行させる。続いて、ステップS103は、取得された履歴情報が[必須履歴]に一致するか否かの判定を履歴検証部131に実行させる。両者が一致しない場合(S103でNo)、例外の発生を履歴検証部131に実行させる。両者が一致した場合(S103でYes)、処理の継続を許可する。
ステップS104は、[メソッド名]に合致するメソッドの実行中におけるリソースへのアクセス要求をリソースアクセスフック部122にフックさせる。続いて、ステップS105は、アクセスの内容(アクセス対象とされているリソースの種別(ネット、ファイル、DB)とアクセスするために要求されている権限)をアクセス権検証部132に取得させる。続いて、ステップS106は、取得されたアクセスの内容が[権限]を満たすか否かをアクセス権検証部132に判定させる。アクセスの内容が[権限]を満たさない場合、すなわち、[権限]において認められていないリソース又はアクセスが要求されている場合(S106でNo)、例外の発生をアクセス権検証部132に実行させる。一方、アクセスの内容が[権限]を満たす場合(S106でYes)、処理の継続を許可する。
ステップS107は、[メソッド名]に合致するメソッドの終了点をメソッド終了点フック部123にフックさせる。続いて、ステップS108は、[メソッド名]の履歴管理部131への登録を履歴更新部133に実行させる。
上記のような状態定義一覧情報141及び権限検査コードテンプレート142に基づいて権限検査コード生成部14が実行する処理手順について説明する。図10は、権限検査コード生成部による処理手順を説明するためのフローチャートである。同図の処理は、例えば、ユーザによる指示入力に応じて実行される。
ステップS201において、状態定義一覧情報141より1つの状態に関する定義(図8における1行分。以下、「カレント定義」という。)を取得する。続いて、権限検査コードテンプレート142を補助記憶装置102よりメモリ装置103に読み込む(S202)。続いて、読み込まれた権限検査コードテンプレート142における[メソッド名]の部分をカレント定義のメソッド名によって置換する(S203)。続いて、権限検査コードテンプレート142における[必須履歴]の部分をカレント定義の必須履歴によって置換する(S204)。続いて、権限検査コードテンプレート142における[権限]の部分をカレント定義の権限によって置換する(S204)。続いて、変数化された部分が置換された権限検査コード143を権限検査コードテンプレート142とは異なるファイル名によって補助記憶装置102に書き出す(S206)。ステップS201〜S206までの処理が状態定義一覧情報141に定義されている全ての状態に対して実行されると(S207でYes)、処理を終了する。
以上の処理のよって状態ごとに権限検査コード143が生成される。例えば、図11は、権限検査コードの一例を示す図である。同図に示される権限検査コード143は、購入状態に対応する権限検査コード143である。したがって、[メソッド名]は、「@purcahse」に置換されている。[必須履歴]は、「@credit、@confirm」に置換されている。[権限]は、「ネット:send/recv」に置換されている。
このように自動生成される権限検査コード143をコンパイル等することにより、フック部12及び権限検査部13を実現するバイナリコードが生成される。したがって、図3におけるステップS11のクレジット与信要求に応じてWebアプリケーション11の@creditが呼び出されたとき、ステップS14の購入確認要求に応じてWebアプリケーション11の@confirmメソッドが呼び出されたとき、又はステップS16の購入要求に応じてWebアプリケーション11の@purchaseメソッドが呼び出されたときに、それぞれの状態に対応する権限検査コード143に基づいて、フック部12及び権限検査部13によって各要求に対する処理の実行の可否が判定される。なお、コンパイル等によって状態定義一覧情報141は、フック部12又は権限検査部13のプログラムロジック内に組み込まれる。したがって、この場合、第一の定義情報管理手段及び第二の定義情報管理手段は権限検査部13に含まれる。
以上のように生成されるフック部12及び権限検査部13によって、図4や図5に示されるような攻撃は以下のように防御される。
図12は、第一の例の攻撃に対する防御の例を示す図である。同図は図4に示される攻撃、すなわち、クレジット与信、購入確認を経ずにいきなり購入要求がクライアント装置20より受信された場合の処理手順を示す。この場合、購入状態に対応する権限検査コード143(すなわち、図11に示した権限検査コード143)に基づいて処理が実行される。図12において、太い実線で示される矢印は、実行されるパス(処理手順の経路)を示し、破線で示される矢印は実行されないパスを示す。
具体的には、購入要求の受信に応じWebアプリケーション11の@purchaseメソッドが呼び出されると、メソッド開始点フック部121が当該メソッドの呼び出しを検知し、履歴検証部131を呼び出す(S101a)。続いて、履歴検証部131は、履歴管理部111より履歴情報を取得する(S102a)。続いて履歴検証部131は、取得された履歴情報は「@credit、@confirm」に一致するか否かを判定する(S103a)。ここでは、クレジット与信(@credit)及び購入(@credit)を経ていないという前提なので、取得された履歴情報は、「@credit、@confirm」に一致しない(S103aでNo)。したがって、履歴検証部131は、例外を発生させる。Webアプリケーション11は、当該例外をキャッチすると、@purcchaseメソッドの実行を中止する。その結果、図4に示される攻撃は防御される。
また、図13は、第二の例の攻撃に対する防御の例を示す図である。同図は図5に示される攻撃、すなわち、クレジット与信の実行後、購入確認要求において不正なデータベース書き込みが指示されている場合の処理手順を示す。この場合、購入確認状態に対応する権限検査コード143に基づいて処理が実行される。
具体的には、購入確認要求の受信に応じWebアプリケーション11の@confirmメソッドが呼び出されると、メソッド開始点フック部121が当該メソッドの呼び出しを検知し、履歴検証部131を呼び出す(S101b)。続いて、履歴検証部131は、履歴管理部111より履歴情報を取得する(S102b)。続いて履歴検証部131は、取得された履歴情報は「@credit」に一致するか否かを判定する(S103b)。ここでは、クレジット与信は実行されているという前提なので、両者は一致する(S103bでYes)。続いて、@confirmメソッド内でWebアプリケーション11によって実行される処理においてリソースへのアクセス要求が発生すると、リソースアクセスフック部122はアクセス権検証部132を呼び出す(S104b)。続いて、アクセス権検証部132は、アクセスの内容を取得する(S105b)。ここでは、データベース15に対する書き込みであることが取得される。続いて、アクセス権検証部132は、データベース15に対する書き込み権限と「−」(いずれのリソースにもアクセス権限無し)とを比較することにより、データベース15に対する書き込み権限は認められないと判定する(S106bでNo)。そこで、アクセス権検証部132は、例外を発生させる。Webアプリケーション11は、当該例外をキャッチすると、@confirmメソッドの実行を中止する。その結果、図5に示される攻撃は防御される。
上述したように、本実施の形態におけるWebサーバ装置10によれば、ネットワークを介した攻撃を適切に防御することができる。具体的には、要求された処理が正当な状態遷移か否かを過去の状態遷移の履歴をチェックすることにより状態遷移に違反した処理要求を無視することができる。よって、クライアント装置20による不正な状態遷移の操作を防止することができる。
また、Webアプリケーション11の一つのプロセス(OSによって起動されるプロセス)に対して、状態ごとにアクセス権限を変化させるため、常に必要最小限にアクセス権限を制限することができる。その結果、各状態では予定していないリソースへのアクセスを制限することができる。例えば、認証時においてユーザ情報データベースの参照のみを許可することで、全ユーザ情報の参照や削除等のSQL(Structured Query Language)インジェクション攻撃を防御することができる。
また、防御の仕組みを実現する実装(権限検査コード143)は、状態ごとに細分化されたアクセス制御情報を状態定義一覧情報141において定義することで自動的に生成される。したがって、既存のソースコードを修正する必要はなく、防御機構を簡便に実現することができる。
なお、本実施の形態では、権限検査コードテンプレート142における変数化された部分をWebアプリケーション11の実行環境の構築時に解決する例について説明したが、当該部分を実行時に解決するようにしてもよい。具体的には、状態ごとに権限検査コード143を生成するのではなく、権限検査コードテンプレート142を共通の権限検査コード143として扱い、権限検査コード143に対してコンパイル等を行う。変数化された部分については、フック部12又は権限検査部13の処理の実行時において、フック部12又は権限検査部13が状態定義一覧情報141に定義された値に置換すればよい。そうすることにより、状態定義一覧情報141の編集に応じたコンパイル等の作業を不要とすることができる。なお、この場合、補助記憶装置102において状態定義一覧情報141を記録した部分が、第一の定義情報管理手段、第二の定義情報管理手段に相当する。
また、権限検査コード生成部14は、Webアプリケーション11の実行時には必要ではないため、Webサーバ装置10以外のコンピュータに実装されてもよい。すなわち、権限検査コード143の生成は、Webサーバ装置10以外のコンピュータに実行させてもよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手段と、
前記処理要求ごとに前記処理実行手段に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段と、
前記処理実行手段によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手段と、
前記処理実行手段によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手段による呼び出しに応じ、前記アクセスの内容と前記第一の定義情報とに基づいて前記アクセスの許否を判定する第一の判定手段とを有する情報処理装置。
(付記2)
前記処理要求ごとに過去に実行されている必要がある処理を示す情報が定義された第二の定義情報を管理する第二の定義情報管理手段と、
前記処理要求に応じた処理の終了の検知に基づく前記処理挿入制御手段による呼び出しに応じ、当該処理の識別情報を処理履歴管理手段に記録する処理履歴記録手段と、
前記処理要求に対する処理の開始の検知に基づく前記処理挿入制御手段による呼び出しに応じ、前記第二の定義情報と前記処理履歴管理手段に記録されている処理の識別情報とに基づいて、当該処理要求に応じた処理の実行の可否を判定する第二の判定手段とを有する付記1記載の情報処理装置。
(付記3)
前記処理実行手段は、前記処理要求に応じて状態を遷移させ、
前記第一の定義情報には、前記状態ごとに前記アクセス権限が定義されている付記1又は2記載の情報処理装置。
(付記4)
前記処理実行手段は、前記処理要求に応じて状態を遷移させ、
前記第二の定義情報には、前記状態ごとに過去に遷移している必要がある状態を示す情報が定義されている付記2記載の情報処理装置。
(付記5)
コンピュータが実行するアクセス制御方法であって、
ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手順と、
前記処理実行手順によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手順と、
前記処理実行手順によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手順による呼び出しに応じ、前記アクセスの内容と、前記処理要求ごとに前記処理実行手順に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段とに基づいて前記アクセスの許否を判定する第一の判定手順とを有するアクセス制御方法。
(付記6)
前記処理要求に応じた処理の終了の検知に基づく前記処理挿入制御手段による呼び出しに応じ、当該処理の識別情報を処理履歴管理手段に記録する処理履歴記録手順と、
前記処理要求に対する処理の開始の検知に基づく前記処理挿入制御手順による呼び出しに応じ、前記処理要求ごとに過去に実行されている必要がある処理を示す情報が定義された第二の定義情報を管理する第二の定義情報管理手段と、前記処理履歴管理手段に記録されている処理の識別情報とに基づいて、当該処理要求に応じた処理の実行の可否を判定する第二の判定手順とを有する付記5記載のアクセス制御方法。
(付記7)
前記処理実行手順は、前記処理要求に応じて状態を遷移させ、
前記第一の定義情報には、前記状態ごとに前記アクセス権限が定義されている付記5又は6記載のアクセス制御方法。
(付記8)
前記処理実行手順は、前記処理要求に応じて状態を遷移させ、
前記第二の定義情報には、前記状態ごとに過去に遷移している必要がある状態を示す情報が定義されている付記6記載のアクセス制御方法。
(付記9)
コンピュータに、
ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手順と、
前記処理実行手順によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手順と、
前記処理実行手順によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手順による呼び出しに応じ、前記アクセスの内容と、前記処理要求ごとに前記処理実行手順に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段とに基づいて前記アクセスの許否を判定する第一の判定手順とを実行させるためのプログラム。
(付記10)
前記処理要求に応じた処理の終了の検知に基づく前記処理挿入制御手段による呼び出しに応じ、当該処理の識別情報を処理履歴管理手段に記録する処理履歴記録手順と、
前記処理要求に対する処理の開始の検知に基づく前記処理挿入制御手順による呼び出しに応じ、前記処理要求ごとに過去に実行されている必要がある処理を示す情報が定義された第二の定義情報を管理する第二の定義情報管理手段と、前記処理履歴管理手段に記録されている処理の識別情報とに基づいて、当該処理要求に応じた処理の実行の可否を判定する第二の判定手順とを有する付記9記載のプログラム。
(付記11)
前記処理実行手順は、前記処理要求に応じて状態を遷移させ、
前記第一の定義情報には、前記状態ごとに前記アクセス権限が定義されている付記9又は10記載のプログラム。
(付記12)
前記処理実行手順は、前記処理要求に応じて状態を遷移させ、
前記第二の定義情報には、前記状態ごとに過去に遷移している必要がある状態を示す情報が定義されている付記10記載のプログラム。
本発明の実施の形態におけるシステム構成例を示す図である。 本発明の実施の形態におけるWebサーバ装置のハードウェア構成例を示す図である。 本実施の形態におけるWebアプリケーションの状態遷移を説明するための図である。 予想される攻撃の第一の例を示す図である。 予想される攻撃の第二の例を示す図である。 本実施の形態におけるWebサーバ装置のソフトウェア構成例を示す図である。 権限検査コード生成部を説明するための図である。 状態定義一覧情報の構成例を示す図である。 権限検査コードテンプレートの処理手順を説明するためのフローチャートである。 権限検査コード生成部による処理手順を説明するためのフローチャートである。 権限検査コードの一例を示す図である。 第一の例の攻撃に対する防御の例を示す図である。 第二の例の攻撃に対する防御の例を示す図である。
符号の説明
10 Webサーバ装置
11 Webアプリケーション
12 フック部
13 権限検査部
14 権限検査コード生成部
20 クライアント装置
30 ネットワーク
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 メソッド開始点フック部
122 リソースアクセスフック部
123 メソッド終了点フック部
131 履歴検証部
132 アクセス権検証部
133 履歴更新部
B バス

Claims (5)

  1. ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手段と、
    前記処理要求ごとに前記処理実行手段に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段と、
    前記処理実行手段によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手段と、
    前記処理実行手段によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手段による呼び出しに応じ、前記アクセスの内容と前記第一の定義情報とに基づいて前記アクセスの許否を判定する第一の判定手段とを有する情報処理装置。
  2. 前記処理要求ごとに過去に実行されている必要がある処理を示す情報が定義された第二の定義情報を管理する第二の定義情報管理手段と、
    前記処理要求に応じた処理の終了の検知に基づく前記処理挿入制御手段による呼び出しに応じ、当該処理の識別情報を処理履歴管理手段に記録する処理履歴記録手段と、
    前記処理要求に対する処理の開始の検知に基づく前記処理挿入制御手段による呼び出しに応じ、前記第二の定義情報と前記処理履歴管理手段に記録されている処理の識別情報とに基づいて、当該処理要求に応じた処理の実行の可否を判定する第二の判定手段とを有する請求項1記載の情報処理装置。
  3. 前記処理実行手段は、前記処理要求に応じて状態を遷移させ、
    前記第一の定義情報には、前記状態ごとに前記アクセス権限が定義されている請求項1又は2記載の情報処理装置。
  4. コンピュータが実行するアクセス制御方法であって、
    ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手順と、
    前記処理実行手順によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手順と、
    前記処理実行手順によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手順による呼び出しに応じ、前記アクセスの内容と、前記処理要求ごとに前記処理実行手順に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段とに基づいて前記アクセスの許否を判定する第一の判定手順とを有するアクセス制御方法。
  5. コンピュータに、
    ネットワークを介して受信される処理要求に応じ要求された処理を実行する処理実行手順と、
    前記処理実行手順によって実行される処理に対して予め定義されたタイミングを検知し、該タイミングにおいて所定の処理の挿入を制御する処理挿入制御手順と、
    前記処理実行手順によるリソースに対するアクセス要求が発生の検知に基づく前記処理挿入制御手順による呼び出しに応じ、前記アクセスの内容と、前記処理要求ごとに前記処理実行手順に対するリソースへのアクセス権限が定義された第一の定義情報を管理する第一の定義情報管理手段とに基づいて前記アクセスの許否を判定する第一の判定手順とを実行させるためのプログラム。
JP2008286228A 2008-11-07 2008-11-07 情報処理装置、アクセス制御方法、及びプログラム Withdrawn JP2010113566A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008286228A JP2010113566A (ja) 2008-11-07 2008-11-07 情報処理装置、アクセス制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008286228A JP2010113566A (ja) 2008-11-07 2008-11-07 情報処理装置、アクセス制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2010113566A true JP2010113566A (ja) 2010-05-20

Family

ID=42302077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008286228A Withdrawn JP2010113566A (ja) 2008-11-07 2008-11-07 情報処理装置、アクセス制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2010113566A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012137938A (ja) * 2010-12-27 2012-07-19 Internatl Business Mach Corp <Ibm> リソース保護処理プログラムとリソース保護処理装置とリソース保護処理方法
EP2611102A1 (en) 2011-12-27 2013-07-03 Ricoh Company, Ltd. Providing a web application with measures against vulnerabilities

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012137938A (ja) * 2010-12-27 2012-07-19 Internatl Business Mach Corp <Ibm> リソース保護処理プログラムとリソース保護処理装置とリソース保護処理方法
EP2611102A1 (en) 2011-12-27 2013-07-03 Ricoh Company, Ltd. Providing a web application with measures against vulnerabilities
US8984608B2 (en) 2011-12-27 2015-03-17 Ricoh Company, Limited Image processing apparatus, image processing system, and computer-readable storage medium for generating a token value

Similar Documents

Publication Publication Date Title
US8635691B2 (en) Sensitive data scanner
JP5863869B2 (ja) ブラウザベースの不正行為防止方法およびシステム
AU2012368190B2 (en) Centralized operation management
US8321949B1 (en) Managing software run in a computing system
KR101238572B1 (ko) 신뢰 환경을 지원하기 위한 컴퓨터 판독가능 구성요소의자동 업데이트
US8739298B2 (en) Method and system for enforcing a license dependency rule for a software application
JP4851703B2 (ja) コンピュータプログラムのライセンスの施行を支援するシステム
JP4844102B2 (ja) サブプログラム及びそのサブプログラムを実行する情報処理装置
CN112861191B (zh) 一种应用程序监控方法及装置
Møller et al. Automated detection of client-state manipulation vulnerabilities
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
JP6282217B2 (ja) 不正プログラム対策システムおよび不正プログラム対策方法
CN114398686A (zh) 基于区块链的文件存储方法、装置、设备和存储介质
US20240095402A1 (en) Methods and Systems for Recursive Descent Parsing
Chinprutthiwong et al. Security Study of Service Worker Cross-Site Scripting.
CN113190838A (zh) 一种基于表达式的web攻击行为检测方法及系统
US8484232B2 (en) Method, computer arrangement, computer program and computer program product for checking for the presence of control statements in a data value
Bui et al. Xss vulnerabilities in cloud-application add-ons
JP2010113566A (ja) 情報処理装置、アクセス制御方法、及びプログラム
JP2007179087A (ja) データ利用制約システム、データ利用制約方法およびデータ利用制約プログラム
JP5126495B2 (ja) 安全度評価と連動するセキュリティの方針設定装置、そのプログラムおよびその方法
JP7553076B2 (ja) ソフトウェア検証方法およびソフトウェア開発システム
JP6628861B2 (ja) 情報処理装置
JP2011081501A (ja) オペレーティングシステムプログラム、及びこれが搭載されているコンピュータ
WO2020261438A1 (ja) 実行制御システム、実行制御方法、及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120110