JP4177957B2 - アクセス制御システム - Google Patents
アクセス制御システム Download PDFInfo
- Publication number
- JP4177957B2 JP4177957B2 JP2000300561A JP2000300561A JP4177957B2 JP 4177957 B2 JP4177957 B2 JP 4177957B2 JP 2000300561 A JP2000300561 A JP 2000300561A JP 2000300561 A JP2000300561 A JP 2000300561A JP 4177957 B2 JP4177957 B2 JP 4177957B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- file
- program
- communication
- access control
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置が管理する情報を不正なアクセスから保護する場合に好適なアクセス制御技術に関する。
【0002】
【従来の技術】
一般のコンピュータシステムでは、マルチユーザー・マルチタスクOSが備えるユーザー認証機構と、該認証結果に基づいたファイルアクセス制御機構を用いて機密情報ファイルの保護を実現しているケースが多い。具体的には、前記OSが実装された情報処理装置を利用する際に、ユーザーは必ず自己のユーザーIDとパスワードを入力し、認証を受ける。前記情報処理装置が管理する全てのファイル各々には、ファイルリードやライト等のアクセスタイプ毎に、ユーザーIDとグループIDを用いてアクセス可能なユーザーを定義したアクセスコントロールリストがセキュリティ属性情報として割り当てられている。ユーザーがアプリケーションプログラムを介してファイルへアクセスした場合、上記OSは、アクセス要求元となるユーザーのID及び該ユーザーが所属するグループIDを、アクセス対象となるファイルに割り当てられたアクセスコントロールリストと照合し、当該リストに前記ユーザーが含まれている場合に限りアクセスを許可するといった制御を行なう。
【0003】
一方で、インターネットを介した情報発信、情報収集や、各種サービス提供を行なう手段としてWorldWideWeb(WWW)のサービスが広く使われている。WWWでは、HyperTextTransferProtocol(HTTP)と呼ばれる通信プロトコルが、リクエストデータとレスポンスデータの転送に用いられている。また、WWWシステムではコンテンツの不正な差し替えや、ネットワークを経由した機密情報流出を未然に防ぐためのセキュリティ技術がいくつか用意されている。
【0004】
HTTPが有するセキュリティ機構として、基本認証(BasicAuthentication)と呼ばれるものがある。基本認証では、認証情報としてユーザーIDとパスワードを予めWWWサーバに登録しておき、ブラウザを通じてユーザーから送信されるユーザーIDとパスワードを、前記認証情報と比較して認証を行なう。各コンテンツへのアクセス権限設定を記述したポリシーファイルと、該ポリシーに基づくアクセス制御機構も前記WWWサーバに実装されている。同様な機構を、CommonGatewayInterface(CGI)プログラムに実装し、ユーザー認証とコンテンツへのアクセス制御を実現することも可能である。
【0005】
WWWでは、他のセキュリティ技術として、認証局から発行される証明書に基づき、ユーザーとWWWサーバの相互認証と通信データの暗号化を行なうことが可能である。この技術は、消費者のクレジットカード番号がネットワーク上に流れる一部のインターネットショッピングのようなサービスにおいて、必須の技術とされている。これらの技術によるユーザー(クライアント)認証は、WWWサーバ側のOSが具備するユーザー認証機構とは通常独立したものであるが、前記認証に用いるユーザーIDや、ユーザーの証明書を、OSが管理するユーザーアカウントに関連付けて使用することができるWWWサーバプログラムもある。つまり、認証されたユーザーは、OSのアクセス制御下でWWWコンテンツにアクセスする。これらのセキュリティ技術については、“Web Security:A Step-by-Step Reference Guide”Lincoln D. Stein著、Addison-Wesley Pub Co;(ISBN:0201634899)などに記載されている。
【0006】
近年増加しているインターネットサービスプログラム等に潜むセキュリティホールやバグを利用した不正アクセスを解決する他の技術としては、常駐型のファイル監視プログラムを情報処理装置上に設け、定期的にファイルの破壊の有無をチェックする方法が、特開平10−069417号公報に開示されている。これと同様の技術として、特定のファイルについてそのサイズの増減やタイムスタンプを定期的にチェックするプログラムを情報処理装置上に設け、該ファイルの変化を検知するツールが、シェアウエアやフリーウエアとして幾つか公開されている。
【0007】
【発明が解決しようとする課題】
先に述べたセキュリティホールやバグに関する情報は、http://www.cert.org/等で報告され、バグ修正用のプログラムも各メーカーから配布されるようになっている。しかし、攻撃者あるいは侵入者は、あらゆる手段を用いて外部ネットワークから情報処理装置への侵入を試みる。たとえば、前記マルチユーザー・マルチタスクなOSが具備するアクセス制御機構では、アクセス要求元のユーザーIDとその所属グループに基づいてアクセスの可否を判断しているため、OSの管理者のような強い権限をもつユーザーに成りすまして侵入すれば、システム中のいかなるファイルにもアクセスできるので、システム中の情報を書き換えたり、機密情報を盗み出すことがてきてしまう。
【0008】
また、前記ファイルの変化を定期的にチェックする手法では、ファイルが改ざんされた後の検出になるため、不正アクセスが発生したことは分かるが、それを未然に防ぐことができないと共に、ファイルの不正な読み出しについては事後検出もできない。
【0009】
また、前記WWWサーバやCGIプログラムを利用してコンテンツのアクセス制御機能を実現したシステムにおいては、各コンテンツへのアクセス権限設定を記述したポリシーファイルも、その他のファイルと同じく不正アクセスの対象になる。したがって、該ポリシーファイルが破壊あるいは改ざんされた場合には、前記アクセス制御機能が正常に働かない。
【0010】
本発明の目的は、アクセス要求元(サブジェクト)がいかなる権限をもつ場合でも、そのアクセス手段およびアクセス対象(オブジェクト)を制限することが可能なアクセス制御システム及びその方法を提供することにある。
【0011】
本発明の他の目的は、不正なファイルアクセスを未然に防ぐことが可能なアクセス制御システム及びその方法を提供することにある。
【0012】
本発明の他の目的は、アクセス権限設定を記述したポリシーファイルと、該ポリシーファイルに基づいてアクセス制御を施行するプログラムを、外部からの不正アクセスや攻撃から保護可能なアクセス制御システム及びその方法を提供することにある。
【0013】
本発明の他の目的は、例えば機密情報にアクセスしながらサービスを提供するようなアプリケーションプログラムを、外部からの不正アクセスから保護可能なアクセス制御システム及びその方法を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明では、ファイルアクセスに関するアクセス制御ポリシーとして、より厳密にアクセス要求を特定する情報、すなわち、アクセス要求元とアクセス実行手段とアクセスタイプとを特定する情報を用いる。
【0015】
さらに具体的には、特定のファイルへのアクセスを、特定のユーザーが特定のプログラムを用いた場合のみ許可するアクセス制御ポリシーを記述したポリシーファイルを作り、アクセス制御手段が、ファイルへのアクセスが発生したときに、前記ポリシーファイルの記述に従ってアクセスの正当性すなわち可否を判定する。前記アクセス制御ポリシーには、アクセス対象となるファイルの名称と、アクセスが許可されたユーザー名とプログラム名の組合せを、ファイルのオープン・リード・ライト・削除・リネームといったアクセスタイプ毎に予め規定しておく。
【0016】
また、不正なファイルアクセスを未然に防ぐために、本発明では、前記ファイルアクセスを監視するファイルI/O(Input/Output)フック手段を前記情報処理装置に設け、該ファイルI/Oフック手段は、前記アクセスを検知した時に、当該アクセスタイプ及びアクセス対象となるファイルの名称と、該アクセスの要求元となるユーザー名及びプログラム名を取得して前記アクセス制御手段に送信する。前記アクセス制御手段は、受信内容を前記ポリシーファイルの内容と照合し、該ポリシーに違反するアクセスであれば当該アクセスを無効にし、前記ファイルI/Oフック手段を経由して前記アクセス要求元にエラーを返す。
【0017】
また、前記ポリシーファイルと前記アクセス制御手段を保護するために、本発明では、1台の情報処理装置上に2つのOSと、両OS間でデータ通信するためのプロセス間通信手段と、両OSが互いに排他的に占有するメモリや磁気ディスクおよびネットワークデバイスを設ける。前記2つのOSのうち一方をアクセス監視対象となるサービス用OSとして使用し前記ファイルI/Oフック手段を前記サービス用OSのカーネルレベルのモジュールとして設ける。もう一方をセキュリティ用OSとして使用し、前記アクセス制御手段および前記ポリシーファイルを占有する磁気ディスクに格納すると共に、前記アクセス制御手段をプロセスとして動作させ、該アクセス制御手段とポリシーファイルを前記サービス用OS上の、サービスを受けるユーザが使うプロセスからアクセスできないようにする。
【0018】
一方、よりセキュリティを高めるために、機密情報を取り扱うようなアプリケーションプログラム(以後、機密プログラムと称す)とのプロセス間通信に関するアクセス制御ポリシーとして、より厳密にアクセス要求を特定する情報、すなわち、アクセス要求元とアクセス実行手段とを特定する情報を用いてもよい。具体的には、特定の機密プログラムとのプロセス間通信を、特定のユーザーが特定のプログラムを用いた場合のみ許可するアクセス制御ポリシーを記述したポリシーファイルを作り、複数のアプリケーションプログラム間で通信が発生したときに、プロセス間通信手段が当該通信を検知してアクセス制御手段に通知し、アクセス制御手段が前記ポリシーファイルの記述に従って通信の正当性すなわち可否を判定する。前記アクセス制御ポリシーには、通信機能を備える機密プログラムの名称と、当該機密プログラムとの通信が許可されたユーザー名とプログラム名の組合せを予め規定しておく。
【0019】
この場合は,前記機密プログラムと当該機密プログラムがアクセスする機密情報ファイルについても、前記セキュリティ用OSが占有する磁気ディスクに格納すると共に、前記機密プログラムをセキュリティ用OS上のプロセスとして動作させることでサービス用OS側からの不正アクセスから保護する。もしくは、セキュリティ用OSやサービス用OSとは別の第3のOSと、各OS間で通信するためのプロセス間通信手段と、各OSが互いに排他的に占有するメモリや磁気ディスクおよびネットワークデバイスを設け、前記機密プログラムと当該プログラムがアクセスする機密情報ファイルを、前記第3のOSが占有する磁気ディスクに格納すると共に、第3のOS上のプロセスとして動作させることで、サービス用OS側からの不正アクセスから保護する。
【0020】
本発明におけるOSとは、ユーザーまたはプログラムからの要求に応じて記憶媒体中のデータ、ファイルへのアクセスを実行する機能と、アクセス要求元のユーザーやプログラムを識別する機能と、排他制御機構により占有する記憶手段を有するプログラムモジュールを意味しており、
・データ(ファイル)アクセスを管理しており、検知が可能である。
・アクセス要求元のユーザーを識別できる。
・アクセス要求元のアプリケーションを識別できる。
【0021】
といった特徴を持つ。したがって、一般的にOSと呼ばれるものに限らず上記特徴を持つものであれば、本発明を適用することは可能である。
【0022】
また,サービス提供とは,リクエストに応じて所定の処理を実行し、その処理結果を要求元に返すことを指し,また,サービス利用とは,上記サービス提供をおこなうものに対して、リクエストを発行し、その処理結果を受け取ることを指す。
【0023】
また,機密情報とは、システム利用者のうち、権限を持つものだけがその内容および存在自体を知り得るような情報を指し,機密プログラムとは、このような情報を扱いながら所定を処理を実行するプログラムを指す。
【0024】
本発明を実現するのに必要な各プログラム(コード、モジュール、ユニットともいう)は,ネットワークに接続される他のサーバからコンピュータが読み取り可能な媒体,すなわちネットワーク上の伝送信号,またはCDROM,FDなどの可搬型記憶媒体,を経由して,事前にまたは必要なときに導入してもよい。
【0025】
【発明の実施の形態】
以下、図を用いて本発明の実施の一形態を説明する。
【0026】
図1は、本発明のアクセス制御システムの一構成例である。100はサーバ情報処理装置であり、サービス用オペレーティングシステム(OS)103が管理するメモリ101、当該サービス用OS103が占有するディスクコントローラ112aと磁気ディスク114aとLANコントローラ113、セキュリティ用OS104が管理するメモリ102と、当該セキュリティ用OS104が占有するディスクコントローラ112bと磁気ディスク114bその他を備える。
【0027】
複数OS制御プログラム116は、サーバ情報処理装置上で複数のOS(本実施例ではサービス用OS103とセキュリティ用OS104)が動作するための各種の制御をする部分で、各ハードウェアの初期化および、メモリと磁気ディスクの分割占有処理、CPUのスケジューリング、割り込み処理等を行う。OS間通信処理部108は、複数OS制御プログラム116の中に存在し、サーバ情報処理装置上で動作するOS間での通信機能を提供する。や
サーバ情報処理装置100の起動時には、前記複数OS制御プログラム116が各ハードウェアの初期化およびOS毎のハードウェア分割占有処理等を行い、サービス用OS103とサーバプログラム109がディスクコントローラ112aを介して磁気ディスク114aからメモリ101上にロードされると共に、セキュリティ用OS104とアクセス制御プログラム110がディスクコントローラ112bを介して磁気ディスク114bからメモリ102上にロードされる。前記OS間通信処理部108は、ファイルI/Oフックプログラムと前記アクセス制御プログラム110との間でデータ交換を行なうために使用するものとし、前記サーバプログラム109からは直接使用できないインタフェースとなっている。
【0028】
なお、OS間通信処理部108は、サービス用OS103に含まれるプロセス間通信プログラムとして、構成することも可能である。
【0029】
また、サービス用OS103は、流通している既存のマルチユーザー・マルチタスクなOSと同様、ユーザーの識別・認証機能を具備しているものとする。前記サーバ情報処理装置100と複数のクライアント情報処理装置120は、ローカルエリアネットワーク(LAN)115を介して相互に接続されており、前記サーバプログラム109は、LANコントローラ113とLAN115を介して、クライアントプログラム121からのリクエストの受信と、当該クライアントプログラム121へのレスポンスの送信を行なう。サーバプログラム109とクライアントプログラム121は、例えばWWWサーバとブラウザに相当するプログラムである。なお、前記サーバ情報処理装置100とクライアント情報処理装置120は、電話回線やインターネットを介して接続されていてもよい。また、サービス用OS103とセキュリティOSとは、OS間通信のインタフェースを非公開にすれば別々の装置上にあっても良く、セキュリティ的にも問題はない。
【0030】
前記サーバプログラム109のようにOS上で動作するアプリケーションプログラムは、一般にユーザーレベルのプロセスと呼ばれている。該サーバプログラム109は、前述のようにクライアントプログラム121からのリクエストに基いて処理を実行するものであり、言い換えればネットワークからの攻撃の対象にもなり得るプログラムである。これに対し、ファイルI/Oフックプログラム106やファイルシステムドライバ107のようにOSの一機能として動作するプログラムは、一般にカーネルレベルのモジュールと呼ばれており、多くのコンピュータシステムではアクセス制御機能をカーネルレベルのモジュールとして実装している。
【0031】
図1のサーバ情報処理装置100のように、1台の情報処理装置上に複数のOSを同時に動作させるための技術としては、仮想計算機あるいはマイクロカーネルがある。その他、リアルタイムOSを一般的なOSのカーネルレベルのモジュールとして実装すると共に、前記リアルタイムOSがシステム障害を検知すると、リアルタイム処理を継続しながらもシステムを自動的に再起動する方法が、特開平11−024943号公報に開示されている。また、OS間通信処理部108のような、異種OS上のプロセス間通信を実現する方法は、特開平11−085546号公報に開示されている。これらを本発明の前提条件として、引続き実施の形態を述べる。
【0032】
図2は、前記ポリシーファイル200のデータ構造を示したものである。
【0033】
210から212は、ポリシー記述の一例を示したものである。オブジェクト名201は、アクセスを制限すべきファイルの名称を示す。オブジェクト名として、210や212のようにファイル単位の指定と、211のようなディレクトリ単位の指定が可能となっている。ディレクトリ単位の指定では、該ディレクトリ名に続くファイル名を所定の文字、記号(たとえばアスタリスク(*))で表記する。前記オブジェクトに対して禁止すべきアクセスを、禁止されたアクセスのタイプ202に示す。エラーコード203は、前記禁止されたアクセスのタイプ202が発生した際に、当該アクセス発行元(サブジェクト)となるプログラムに返すべきエラーコードを示す。例外サブジェクト204は、特別にアクセスを許されたプログラムの名称である。プログラムのハッシュ値205は、前記例外サブジェクトとして指定されたプログラムファイルの特徴値(ハッシュ値)をたとえば8バイトで表したものである。ユーザー名206は、前記例外サブジェクト204のプログラムを利用可能なユーザーを、前記サービス用OS103が管理するユーザー名またはグループ名で表したものである。
【0034】
つまり前記ポリシーは、前記プログラムのハッシュ値205に登録されたハッシュ値を有するプログラムが前記例外サブジェクトとして登録され、且つ該プログラムをユーザー名206に登録されたユーザーあるいはグループのメンバーが利用している場合に限り、例外としてアクセスを許可することを表している。同時に、これら条件が整っていない場合は、アクセス発行元のプログラムに対して前記エラーコード203を返すことを意味する。
【0035】
前記ポリシーファイル200の設定は、システムのセキュリティ管理者が行なうものとする。例えば、HTMLファイルなどのWWWコンテンツを侵入者によって不正に書き換えられないようにするには、該HTMLファイルへのライトアクセスを原則として禁止しておき、例外としてコンテンツ管理者に任命されているユーザーが特定のHTML編集用プログラムを用いた場合に限りライトアクセスを許可するといったポリシーを前記ポリシーファイル200に記述すればよい。
【0036】
例外サブジェクトには、サーバプログラム109のように、ネットワークからの攻撃を受けやすいプログラムを指定しないことが重要である。更に例外サブジェクトとして登録するプログラムを、CD−ROM等の取り外し可能な記憶媒体に格納しておき、必要なときだけ媒体を装着して使用すればより確実に保護できるので、さらなるセキュリティ効果が期待できる。図1の構成に当該媒体の駆動装置を追加し、ディスクコントローラ112aが当該駆動装置に対応すれば、このような記憶媒体が使用可能となる。
【0037】
図3は、アクセスログファイル300のデータ構造の一例を示したものである。アクセスログファイル300は、前記ポリシーファイル200にて禁じられているアクセスが発生した事実を、アクセス制御プログラム110のアクセスログ登録ルーチン406が書き込むためのファイルであり、当該アクセスが発生した日時301と、当該アクセスの対象となったファイルを表すオブジェクト名302と、当該アクセスのタイプ303、当該アクセスを発行したプログラムを表すサブジェクト名304、そして前記プログラムを利用していたユーザーを表すユーザー名305から構成される。
【0038】
図4に、ファイルI/Oフックプログラム106と、アクセス制御プログラム110の構成を示す。
【0039】
ファイルI/Oフックプログラム106は、前記サーバ情報処理装置100の起動時に、サービス用OS103と共にメモリ101上にロードされる。アクセス制御プログラム110は、前記サーバ情報処理装置100の起動時に、セキュリティ用OS104と共にメモリ102上にロードされる。
【0040】
図5と図6を用いて、本発明のアクセス制御の概要を記す。
【0041】
図5は、I/Oマネージャ105と、ファイルI/Oフックプログラム106と、アクセス制御プログラム110の三者間における処理の流れを示すものである。501は、サーバプログラム109が発行したファイルアクセスが、I/Oマネージャ105を経由してファイルI/Oフックプログラム106に到達するまでの通信経路であり、サービス用OS103の上で動作する全てのアプリケーションプログラムからのファイルアクセスについて共通なものである。ファイルI/Oフックプログラム106には、図6に示すI/Oパケット600のデータが渡される。I/Oパケット600は、I/Oフックプログラム106に渡される前にサービス用OS103が具備するアクセス制御機構をパスしていることと仮定して説明するが、これに限ったものではなく、前記アクセス制御プログラム110のチェックをパスしてからサービス用OS103が具備するアクセス制御機構のチェックを受けるものであってもよい。
【0042】
図6は、前記三者間を流れるパケットのデータ構造を示したものである。601はアクセス対象のファイルを表すオブジェクト名である。602は前記オブジェクトへのアクセスタイプを示す。603は、当該アクセスを発行したプログラムのプロセスIDを示す。604は当該アクセスの処理結果を示すステータスを示す。605は当該アクセスに関連するデータの長さを示すものであり、例えば前記アクセスタイプ602がファイルへの書込み(ライト)要求であれば、書込みデータがデータ領域607に格納され、当該書込みデータの長さがデータ長605に格納される。606は、前記データ領域607へのポインタである。
【0043】
図5において、502は、ファイルI/Oフックプログラム106が検知したファイルオープン要求に関するアクセス権限チェックと、アクセスログ300への書き込みを、アクセス制御プログラム110に対してリクエストするに用いる通信経路である。前記リクエストのデータ構造を、図6のリクエストパケット610に示す。サブジェクト名611は、ファイルアクセスの発行元となるプログラムの名称であり、ユーザー名612は、前記プログラムの利用者をユーザー名とグループ名で表すものである。サブジェクト名611及びユーザー名612は、受信したI/Oパケット600に含まれるプロセスID603を指定して、前記サービス用OS103として用いる標準のOSに対してシステムコールを発行することで取得できる。
【0044】
前記リクエストパケット610は、OS間通信処理部108が当該パケットのデータを、ファイルI/Oフックプログラムのメモリ空間630からアクセス制御プログラムのメモリ空間640に複写することで伝達される。アクセス制御プログラム110では、受信したリクエストパケットに含まれる情報を、ポリシーファイル200の内容と照合し、その結果をレスポンスパケット620に登録して前記ファイルI/Oフックプログラムに伝達する。この伝達は、前記通信経路502と同様に、OS間通信処理部108が前記パケットのデータを、アクセス制御プログラムのメモリ空間640からファイルI/Oフックプログラムのメモリ空間630に複写することで達成される。503は、当該レスポンスパケットの通信経路を示すものである。
【0045】
ファイルI/Oフックプログラム106は、受信したレスポンスパケット620の内容から当該アクセスの可否を判断し、アクセス不可であればエラーコード203をI/Oパケット600のステータス604に設定し、当該I/Oパケットを前記I/Oマネージャ105に返す。前記ステータス604にエラーコードが設定されている場合、前記I/Oマネージャ105は、通信経路506を用いてファイルアクセス発行元のサーバプログラム109に当該エラーを返す。一方、前記ステータス604にエラーコードが設定されていなければ、通信経路505を用いてファイルシステムドライバ107及びディスクコントローラ112aを介して磁気ディスク114aへのファイルアクセスを続行し、通信経路506を用いて当該アクセスの結果を前記サーバプログラム109に返す。
【0046】
本発明のアクセス制御の具体的処理内容を、図7から図16を用いて説明する。
【0047】
図7は、ファイルI/Oフックプログラム106が具備するファイルI/Oフックルーチンの処理内容を示すフロー図である。
【0048】
サーバプログラム109が、ステップ701でクライアントプログラム121からのリクエストを受信し、ステップ702で前記リクエストに応じたファイルアクセスをサービス用OS103に対して発行した場合を想定する。
【0049】
当該ファイルアクセスは、通信経路501を経由して、ファイルI/Oフックルーチン400にI/Oパケット600として渡される(ステップ703)。ステップ703からステップ712は、ファイルI/Oフックルーチン400の処理フローである。ステップ704では、I/Oパケット600に含まれるプロセスID603から、ファイルアクセス発行元のサブジェクト名611とユーザー名612を取得する。
【0050】
ステップ705からステップ708では、アクセスタイプ602を調べ、ファイルオープン、ファイルクローズ、ファイルリード又はライト、またはファイル削除又はリネームにそれぞれ対応する処理ルーチンを実行する。これらに該当しない場合、又は対応する処理ルーチンを実行した後は、通信経路504を経由して、ステップ713にてI/Oマネージャ105の処理に戻る。
【0051】
図8を用いてオープン処理ルーチン401の処理フローを説明する。ステップ801では、アクセス日時として現在の日付と時刻を取得する。ステップ802では、リクエストパケット610を作成すると共に、当該パケット中のエラーコード203とハッシュ値205を0に初期設定する。次にステップ803にて、アクセス制御プログラム110のオープン制御ルーチン405をコールすると共に、前記リクエストパケット610をオープン制御ルーチン405に渡す。
【0052】
オープン制御ルーチン405の処理フローを、図9を用いて説明する。ステップ901では、受信したリクエストパケット610のうち、オブジェクト名601とアクセスタイプ602の内容を、ポリシーファイル200と照合する。ステップ902では、当該アクセスが禁止されたアクセスのタイプとして登録されているかどうかを判別する。このとき、禁止されたアクセスタイプに該当しなければ正当なアクセスとみなし、ステップ903にて、許可されたアクセスタイプをレスポンスパケット620の認可アクセス613に登録し、オープン処理ルーチン401の処理に戻る。ここで、許可されたアクセスタイプとは、オブジェクト名601で示されるファイルに対するリードとライトの内、サブジェクト名611で示されるプログラムから実行可能なアクセスタイプのことを表す。したがって、オブジェクト名601で示されるファイルに対して、ポリシーファイル200の中でリードとライト共に許可されていれば、認可アクセス613にはリードとライトの両方を登録する。また、リードのみが許可されている場合はリードのみを、ライトのみが許可されている場合はライトのみを前記認可アクセス613に登録する。リードとライトの両方を禁じる場合には、ポリシーとして当該ファイルのオープンを禁止するよう、予めポリシーファイル200に記述しておけばよい。
【0053】
ステップ902にて禁止されたアクセスだと判断した場合、ステップ904にて、前記サブジェクト名611とユーザー名612が、共にポリシーファイル200に記述された例外サブジェクト204とユーザー名206に該当するか否かを判別する。このとき、サブジェクト名については該プログラムファイルのパス名が完全に一致するか否かを判別する。またユーザー名については、ユーザー名612に含まれるユーザー名とグループ名のいずれかが一致するか否かを判別する。判別の結果、例外サブジェクト204かつユーザー名206に該当する場合、ステップ905にて当該プログラムファイルのハッシュ値205をポリシーファイル200から取得して、レスポンスパケット620に設定する。また、ステップ906では、ステップ903と同様に、許可されたアクセスタイプをレスポンスパケット620の認可アクセス613として設定する。その後、ステップ908で、該当するエラーコード203をレスポンスパケット620に設定してから、オープン処理ルーチン401へ戻る。ここでのエラーコード設定は、オープン処理ルーチン401のステップ804からステップ812の処理の中で意味を持つものである。
【0054】
ステップ904にて、例外サブジェクト204とユーザー名206とに該当しないと判断した場合、ステップ907にて、当該アクセスの内容をアクセスログファイル300に書込む。その後、ステップ908で、該当するエラーコード203をレスポンスパケット620に設定してから、オープン処理ルーチン401へ戻る。
【0055】
次に、図8において、ステップ804ではレスポンスパケット中のハッシュ値205の値を調べ、0であれば例外として認められたアクセスではないと判断し、ステップ805でエラーコードの値をチェックする。エラーコードが0でなければ禁止されたアクセスであったと判断し、ステップ806にて、I/Oパケット600のステータス604に、当該エラーコード203を設定して処理を終了する。ステップ805で、エラーコードが0であれば、正当なアクセスであったと判断し、ステップ810にて当該アクセス情報を後述するオープンファイルテーブルの先頭アドレスに登録してから処理を終了する。
【0056】
ステップ804でハッシュ値が0でない場合は、例外として認められたサブジェクトであると判断し、ステップ807にてサブジェクト名601で示されるプログラムファイルのハッシュ値を算出し、ステップ808にてレスポンスパケット中のハッシュ値205と比較する。両者が等しければ、例外サブジェクト204に相当するとみなして、ステップ812にて当該アクセス情報をオープンファイルテーブルの先頭アドレスに登録してから本ルーチンの処理を終了する。ハッシュ値が等しくなければ、前記プログラムファイルが不正なプログラムであるとみなして、ステップ809にて前記リクエストパケットにおけるサブジェクト名611を例外サブジェクトにならないように、例えばサブジェクト名としてnullデータに、変更し、、ステップ810にてアクセスログ登録ルーチン406をコールすると共に前記リクエストパケット610をアクセスログ登録ルーチン406に渡す。
【0057】
該アクセスログ登録ルーチン406の処理フローを、図14を用いて説明する。ステップ1401で、リクエストパケット610の内容をポリシーファイル200と照合する。予め前記ステップ809で例外サブジェクト扱いにならぬようにサブジェクト名611をクリアしておくことにより、必ず禁止されたオープンアクセスとして扱われる。ステップ1402にて、該当するエラーコードをポリシーファイル200から読み出してレスポンスパケット620に設定し、当該パケットを返す。ステップ1403にて当該アクセス内容を、アクセスログファイル300に書き込み、オープン処理ルーチン401の処理に戻る。
【0058】
図8のオープン処理ルーチン401において、ステップ811でレスポンスパケット中のエラーコード203をI/Oパケットのステータス604に設定して本ルーチンの処理を終了する。
【0059】
図10を用いてオープンファイルテーブルについて説明する。オープンファイルテーブル1000は、現在オープン中のファイルに関する情報を格納した構造体データ1002の集合である。1個の構造体には1件のオープンファイルの情報を記憶しており、ファイルI/Oフックプログラム106では、各構造体を先頭アドレス1001とポインタ1003によりリストとして管理する。本オープンファイルテーブル1000の一例を図11に示す。
【0060】
オープンファイルテーブル1000に登録された情報に該当するアクセスであれば、該アクセスを許可することになるため、オープンファイルテーブル1000を不正に書換えられないよう保護することが重要である。サービス用OS103として、プロセス毎に独立したメモリ空間が割当てられると共にメモリ空間の排他制御機構が働くOSを使うことで、前記オープンファイルテーブル1000も別プロセスからは不正に書換えできない仕組みにすることが可能になる。
【0061】
図12は、クローズ処理ルーチン402の処理フローを示したものである。ステップ1201では、受信したI/Oパケット600の中にあるオブジェクト名601と、プロセスID603、並びにプロセスID603から取得したサブジェクト名611およびユーザー名612の組み合わせと同じものをオープンファイルテーブル1000から検索する。ステップ1202で、該当する情報がテーブルにあれば、ステップ1203にて該当する情報をテーブルから削除する。一方、テーブルに存在しなければ、ポリシーファイル200に登録されていないファイルへのクローズ要求とみなし、本ルーチンの処理を終了する。
【0062】
図13は、リード・ライト処理ルーチン403の処理フローを表したものである。ステップ1301では、受信したI/Oパケット600の中にあるオブジェクト名601と、プロセスID603と、プロセスID603から取得したサブジェクト名611と、ユーザー名612との組み合わせと同じものをオープンファイルテーブル1000から検索し、更にアクセスタイプ602が認可されたアクセスタイプ613に含まれるか否かをチェックする。ステップ1302にて、前記オブジェクト名601と、プロセスID603と、サブジェクト名611と、ユーザー名612と、アクセスタイプ602との組合せがテーブル1000にあれば、本ルーチンの処理を終了する。このことは、オープンファイルテーブル1000に登録されたアクセスであれば正当なアクセスであるとみなし、アクセス制御プログラム110の処理を行わないことを意味する。これは、本発明のアクセス制御によって生じるシステムのパフォーマンス低下を軽減する効果がある。
【0063】
ステップ1302にて、オープンファイルテーブルに登録されたアクセスでなければ前記ポリシーファイル200により禁止されたアクセスとみなし、ステップ1303でアクセス日時を取得し、ステップ1304でリクエストパケット610を作成する。このとき、エラーコード203を0に初期設定する。この後、ステップ1305にてアクセスログ登録ルーチン406の処理にジャンプする。
【0064】
図14のアクセスログ登録ルーチン406において、ステップ1401ではリクエストパケット610の内容をポリシーファイル200と照合し、ステップ1402にて、該当するエラーコードをポリシーファイル200から読み出してレスポンスパケット620に設定する。次に、ステップ1403にて当該アクセス内容を、アクセスログファイル300に書き込み、リード・ライト処理ルーチン403の処理に戻る。リード・ライト処理ルーチン403では、図13のステップ1306において、レスポンスパケットで受信したエラーコードをI/Oパケットのステータス604に設定し、本ルーチンの処理を終了する。
【0065】
図15は、削除・リネーム処理ルーチン404の処理フローを表したものである。図8のオープン処理ルーチン401と同じ処理内容のステップには同じ番号を付している。
【0066】
ステップ1503にて、アクセス制御プログラム110の削除・リネーム制御ルーチン407をコールすると共に、前記リクエストパケット610を削除・リネーム制御ルーチンに渡す。
【0067】
削除・リネーム制御ルーチン407の処理フローを、図16を用いて説明する。図9のオープン制御ルーチン405と同じ処理内容のステップには同じ番号を付している。ステップ1602では、当該アクセスが禁止されたアクセスのタイプとして登録されているかどうかを判別する。禁止されたアクセスタイプに該当しなければ正当なアクセスとみなし、削除・リネーム処理ルーチン404の処理に戻る。
【0068】
ステップ1602にて禁止されたアクセスだと判断した場合、図9と同様にステップ904、905の処理を行い、ステップ1603にて、例外サブジェクト204とユーザー名206に該当しないと判断した場合、図9と同様にステップ907の処理を行う。
【0069】
ステップ905または907の処理を済ませると、ステップ908で、該当するエラーコード203をレスポンスパケット620に設定してから、削除・リネーム処理ルーチン404へ戻る。
【0070】
次に図15において、図8と同様にステップ804の処理を行う。ステップ1505では、エラーコードが0であれば、正当なアクセスであったと判断し、本ルーチンの処理を終了する。ステップ807にてサブジェクト名601で示されるプログラムファイルのハッシュ値を算出し、ステップ808にてレスポンスパケット中のハッシュ値205と比較して、両者が等しければ、例外サブジェクト204に相当するとみなして本ルーチンの処理を終了する。ハッシュ値が等しくない場合は図8と同様の処理を行い、アクセスログ登録ルーチン406を呼び出す。当該ルーチンが処理を済ませると削除・リネーム処理ルーチン404の処理に戻る。
【0071】
図15において、ステップ1511でレスポンスパケット中のエラーコード203をI/Oパケットのステータス604に設定して本ルーチンの処理を終了する。
【0072】
以上、本発明の実施の一形態を説明したが、OSが備えるファイルシステムの種類によっては、ファイルオープン要求を表すI/Oパケットの中に、目的となるアクセスタイプを付属情報として含むものがある。つまり、ファイルのリードアクセスをするためのオープン要求なのか、リード・ライトのためのオープン要求なのかを、前記I/Oパケット600中のアクセスタイプ602から検知できる。このようなファイルシステムを前提とした場合には、図7に示すファイルI/Oフックルーチン400の処理フローと、図8に示すオープン処理ルーチン401の処理フローと、更に図9に示すオープン制御ルーチン405の処理フローとを変更することにより、前記オープンファイルテーブル1000の管理が不要なアクセス制御システムが実現できる。
【0073】
図7においてはファイルI/Oフックルーチン400の処理フローから、ステップ706と、ステップ707と、ステップ710と、ステップ711を省く。つまり、ファイルオープン要求と、ファイル削除要求と、ファイルのリネーム要求のいずれかを検知し、ファイルのオープン要求であれば、ステップ709にてオープン処理ルーチン401の処理に移り、削除又はリネーム要求であれば、ステップ712にて削除・リネーム処理ルーチン404の処理に移るよう、ファイルI/Oフックルーチン400の処理フローを変更すればよい。
【0074】
図8においては,オープン処理ルーチンの処理フローから、ステップ812の処理を省く。つまり、ステップ808でのハッシュ値照合処理の結果、等しければ本ルーチンの処理を終了するよう、オープン処理ルーチン401の処理フローを変更する。
【0075】
更に、図9で説明したオープン制御ルーチン405の処理フローは、図26に示す処理フローに変更する。図26のステップ2801における処理,すなわち,受信したリクエストパケット610のうち、オブジェクト名601とアクセスタイプ602の内容を、ポリシーファイル200と照合するといった処理において、このときアクセスタイプ602の中に含まれる前記オープン要求の付属情報(リードやライト)まで取得して、前記ポリシーファイル200と照合する。本発明では、前記オープン要求の付属情報として、リードとライトの両方が含まれる場合、リードとライトの両方、もしくはいずれか一方が禁止されたアクセスとしてポリシーファイル200に記述されていれば、当該オープン要求を禁止されたアクセスとしてみなす。
【0076】
ステップ2802では、当該アクセスが禁止されたアクセスのタイプとして登録されているかどうかを判別する。このとき、禁止されたアクセスタイプに該当しなければ正当なアクセスとみなし、ステップ2803にて、レスポンスパケット620のエラーコード203と、ハッシュ値205を共に0を設定し、オープン処理ルーチン401の処理に戻る。リードとライトの両方を禁じる場合には、ポリシーとして当該ファイルのオープンを禁止するよう、予めポリシーファイル200に記述しておけばよい。
【0077】
ステップ2802にて禁止されたアクセスだと判断した場合、ステップ2804にて、前記サブジェクト名611とユーザー名612が、共にポリシーファイル200に記述された例外サブジェクト204とユーザー名206に該当するか否かを判別する。このとき、サブジェクト名については該プログラムファイルのパス名が完全に一致するか否かを判別する。またユーザー名については、ユーザー名612に含まれるユーザー名とグループ名のいずれかが一致するか否かを判別する。判別の結果、例外サブジェクト204かつユーザー名206に該当する場合、ステップ2805にて当該プログラムファイルのハッシュ値205をポリシーファイル200から取得して、レスポンスパケット620に設定する。その後、ステップ2808で、該当するエラーコード203をレスポンスパケット620に設定してから、オープン処理ルーチン401へ戻る。
【0078】
ステップ2804にて、例外サブジェクト204とユーザー名206とに該当しないと判断した場合、ステップ2807にて、当該アクセスの内容をアクセスログファイル300に書込む。その後、ステップ2808で、該当するエラーコード203をレスポンスパケット620に設定してから、オープン処理ルーチン401へ戻る。
【0079】
次に、本発明のアクセス制御システムのうち、プロセス間通信に関するアクセス制御について説明する。図17は、機密性の高い情報と、それにアクセスするプログラムを不正アクセスから保護するためのアクセス制御システムの一構成例であり,図1と同じ構成要素には,同じ番号を付している。この構成は、情報の機密性を確保しつつ、外部ネットワークに対してサービスを提供する場合に有効であり、高い安全性を確保することができる。
【0080】
図17の構成は,図1の構成と同様であるが,さらに,機密用OS122が管理するメモリ1708と、当該機密用OS122が占有するディスクコントローラ112cと磁気ディスク114cとLANコントローラ123その他を備える。
【0081】
前記サービス用OS103が占有するLANコントローラ113aは、インターネット等の外部ネットワーク1706に接続されたクライアント情報処理装置120等との通信に用いる。一方、前記機密用OS122が占有するLANコントローラ113cは、内部ネットワーク1707に接続された機器との通信に用いる。
【0082】
複数OS制御プログラム116は、機密用OS122まで含めた複数のOSの制御を行う。
【0083】
前記サービス用OS103とセキュリティ用OS104と機密用OS122は、各々ドライバ部117とドライバ部118とドライバ部119を含んでおり、各OS上のアプリケーションプログラムは、必ずこれらドライバを経由してOS間通信処理部108へアクセスする。この方法は、すでに説明したプロセス間通信方法と同様なものである。
【0084】
一般的なプロセス間通信の種類には、共有メモリやセマフォ、メッセージキューなど様々なものがあり、いずれも予め取り決められた名称や番号を用いて通信相手を識別することになっている。
【0085】
更に本発明は、以下の特徴を持つ。すなわち,プロセス間通信の不正利用を防止するために、プロセス間通信に関するセキュリティポリシーを記述した通信制御ポリシー1800を前記磁気ディスク114bに格納しておき、前記OS間通信処理部108を利用したプロセス間通信の要求については、セキュリティ用OS104側で動作する通信制御プログラム1700が、前記通信制御ポリシー1800の記述に基づいてアクセス制御を行う。また、当該プロセス間通信に関するアクセスログを、前記磁気ディスク114b中の通信ログ1900に記録する機能を備える。また、前記通信制御プログラム1700は、実行中のプロセス間通信に関する情報を、セキュリティ用OS104が管理するメモリ102の中に設けた通信管理テーブル2000にて保持する。
【0086】
中継プログラム1701は、前記サービス用OS103の上で動作するアプリケーションプログラムの1つである。本実施例では、外部ネットワークに接続されたクライアント情報処理装置120からの要求に応じて、後述する機密プログラム1703とのプロセス間通信を行ない、処理結果を前記クライアント情報処理装置120に返信する役割をもったプログラムを中継プログラムと称す。なお、前記クライアント情報処理装置120とのデータ通信をサーバプログラム109により実施し、前記中継プログラム1701は、必要に応じてサーバプログラム109が呼び出して利用するものであってもよい。
【0087】
機密プログラム1703は、機密用OS122の上で動作するアプリケーションプログラムの1つであり、本実施例では、機密用OS122が占有するディスクコントローラ112cを利用して磁気ディスク114cに格納された機密情報1704にアクセスしたり、同じく機密用OS122が占有するLANコントローラ113cを経由して、占有する内部ネットワークに接続された記憶媒体中の機密情報1705にアクセスしながらサービスを提供するものと仮定して説明する。
【0088】
前記サーバ情報処理装置100の起動時には、前記複数OS制御プログラム116が各ハードウェアの初期化、メモリ領域の分割、CPUのスケジューリング等を行う。
【0089】
次に、サービス用OS103とサーバプログラム109と中継プログラム1701がディスクコントローラ112aを介して磁気ディスク114aからメモリ101上にロードされ、セキュリティ用OS104とアクセス制御プログラム110がディスクコントローラ112bを介して磁気ディスク114bからメモリ102上にロードされ、更に機密用OS122と機密プログラム1703がディスクコントローラ112cを介して磁気ディスク114cからメモリ1708上にロードされる。
【0090】
図18は、前記通信制御ポリシー1800のデータ構造の一例を示したものである。アプリケーション名1801は、機密用OS122の上で動作する機密プログラムの名称であり、機密用OS122上でユニークな識別子となるよう、例えばプログラムファイルの絶対パス名等を用いる。サービス番号1802は、前記アプリケーション名1801に対応する機密プログラムが提供するサービスの識別子であり、例えばTCP/IP通信におけるポート番号や、メッセージ通信におけるメッセージキュー番号(メッセージキュー名称)等に相当する。本実施の形態では、1つの機密プログラムに対して1つのサービス番号を登録する場合を例に説明するが、これに限ったものではなく、複数のサービス番号を登録してもよい。サービス番号は、通信する双方で事前に取り決めておくものとし、中継プログラム1701から通信制御ポリシー1800の参照はできないものとする。
【0091】
許可アプリケーション名1803は、サービス用OS103上で動作するプログラムであり、且つ前記アプリケーション名1801で示される機密プログラムとの通信を許可されたプログラムの名称であり、例えば中継プログラム1701に相当する。特徴値1804は、前記許可アプリケーション名1803で示されるプログラムが備える特徴値であり、例えば当該プログラムファイルのサイズやハッシュ値等に相当する。ユーザー名1805は、前記許可アプリケーション名1803で示されるプログラムが実行中に使用する権限をユーザー名で表したものである。これは、一般的なマルチユーザー・マルチタスクのOSにおいて、アプリケーションプログラムが必ず何れかのユーザー権限を使用して動作することを前提としている。特にユーザー名を限定したくない場合は、ユーザー名を所定の文字、記号(たとえばアスタリスク(*))で表記する。なお、本通信制御ポリシー1800は、システムの運用に先立って、管理者が予め登録しておくものである。また、図18では機密プログラムと中継プログラムの組み合わせが1対1の場合を例に記述しているが、1つの機密プログラムの利用許可を、複数の中継プログラムに与えても良い。
【0092】
図19は、前記通信ログ1900のデータ構造の一例を示したものである。通信ログ1900は、前記通信制御ポリシー1800に違反する通信が発生した事実を書き込むためのファイルであり、当該通信が発生した日時1901と、当該通信の対象となった機密プログラム名1902と、機密プログラムとの通信要求を発行したサービス用OS103側プログラムを表すサブジェクト名1903、そしてエラーの内容を表すエラー番号1904から構成される。
【0093】
図20は、通信管理テーブル2000のデータ構造の一例を示したものである。通信管理テーブル2000は、機密プログラムの識別子2001と、当該機密プログラムが提供するサービスの番号2002と、機密プログラムとのプロセス間通信のために使用する暗証データ2003と、サービス用OS103のドライバ部117が提供する通信中のプログラムの識別子2004、とから構成される。図20では、各識別子にそれぞれプログラム名称を用いているが、例えば機密用OS122とサービス用OS103が各々管理するプロセスIDのような、プロセス特有の情報と組み合わせて管理してもよい。
【0094】
図21から図25は、中継プログラム1701と機密プログラム1703が、前記OS間通信処理部108の通信機能を利用してプロセス間通信をする際の、処理フローを示したものである。本実施の形態において、中継プログラム1701と機密プログラム1703は、クライアントとサーバの関係にあることから、前もって機密プログラム1703がデータ受信可能な状態になるものとして説明する。また、プロセス間通信手段には様々な種類があるが、どの手段を用いた場合でもその手順は、ハンドルの取得処理、データ送信処理とデータ受信処理、ハンドルの解放処理に大別できる。ハンドルとは、アプリケーションプログラムがファイル、メモリなどのオブジェクトをアクセスする際にアクセス対象となるオブジェクトを指定するデータであり,OSから与えられる。ハンドルは、オブジェクトごとにシステム内でユニークな数値であることが保証されている。この場合のオブジェクトとは、例えばファイルやソケットなど、データ処理の際に用いるアクセス対象全般を指す。本発明では、機密用OS122やサービス用OS103上のプログラムがハンドル値を取得する際に、各OSのドライバ部を経由して必ず通信制御プログラム1700によるポリシーチェックを受け,正当性を確認するところに特徴がある。
【0095】
図21は、前記OS間通信処理部108を介して、機密プログラム1703が通信制御プログラム1700に対してサービスを登録し、中継プログラム1701からのデータ受信待ち状態になるまでの処理フローを示したものである。ステップ2100にて、前記通信制御プログラム1700は、OS間通信処理部108の機能を用いて機密用OS122側からのデータ受信が可能な状態となっている。機密プログラム1703は、ステップ2101にて暗証データを作成し、ステップ2102にて、機密用OS122のドライバ部119に対してサービス番号と暗証データを送付し、中継プログラム1701とのプロセス間通信に利用するハンドルを要求する。
【0096】
機密用OS122のドライバ部119は、ステップ2103にて通信制御プログラム1700との通信路を確立し、ステップ2104にて前記機密プログラム1703の識別子とサービス番号と暗証データを、通信制御プログラム1700に送付する。
【0097】
通信制御プログラム1700は、ステップ2105にて通信制御ポリシー1800を参照し、機密プログラムとサービス番号が登録されているかどうかを調べ,正当性を確認する。通信制御ポリシー1800に記述されていれば、ステップ2106にて前記機密プログラム1703の識別子情報とサービス番号と暗証データを、通信管理テーブル2000に登録する。通信制御ポリシー1800に記述されていなければ、ステップ2107にてその旨を前記ドライバ部119に返信するためのエラー設定を行う。ステップ2108では、通信制御ポリシーとの照合結果を返信するとともに、ドライバ部118を介して、ドライバ部119との通信路を解放する。
【0098】
前記ドライバ部119は、ステップ2109にて通信制御プログラム1700からの返信データをチェックし、通信管理テーブル2000への登録に成功していれば、ステップ2111にて中継プログラム1701と通信するために利用するハンドルをOS間通信処理部108から取得し、ステップ2112にて前記機密プログラム1703への返信データとして、前記ハンドル値を設定する。一方、通信管理テーブルへの登録に失敗した場合は、ステップ2110にて、前記機密プログラム1703への返信データとしてエラーを設定する。
【0099】
機密プログラム1703は、ステップ2113にてドライバ部119からの返信データをチェックする。要求したハンドル取得に成功していれば、ステップ2114にてサービス用OS103側からのデータ受信待ち状態になり、ハンドル取得に失敗していれば、ステップ2115にて所定のエラー処理を実行する。
【0100】
図22は、前記機密プログラム1703がプロセス間通信に利用していたハンドルを解放する際の処理フローを示したものである。ステップ2200にて、前記通信制御プログラム1700は、OS間通信処理部108の機能を用いて機密用OS122側からのデータ受信が可能な状態となっている。機密プログラム1703は、ステップ2201にて、機密用OS122のドライバ部119に対してハンドル値を指定し、当該ハンドルの解放を要求する。
【0101】
機密用OS122のドライバ部119は、ステップ2202にて通信制御プログラム1700との通信路を確立し、ステップ2203にて前記機密プログラム1703の識別子とサービス番号を、通信制御プログラム1700に送付する。
【0102】
通信制御プログラム1700では、ステップ2204にて通信管理テーブル2000を参照し、登録された機密プログラムであるかを確認する。通信管理テーブル2000に記述されていれば、ステップ2205にて前記機密プログラムの情報を、通信管理テーブル2000から削除する。通信管理テーブル2000に記述されていなければ、ステップ2206にてその旨を前記ドライバ部119に返信するためのエラー設定を行う。ステップ2207では、通信管理テーブル2000との照合結果を返信するとともに、ドライバ部119との通信路を解放する。
【0103】
前記ドライバ部119は、ステップ2208にて通信制御プログラム1700からの返信データをチェックし、通信管理テーブルからの削除に成功していれば、ステップ2210にて今度は中継プログラム1701との通信に利用していたハンドルの解放処理を実行する。一方、通信管理テーブルからの削除に失敗した場合は、ステップ2209にて、前記機密プログラム1703への返信データとしてエラーを設定する。
【0104】
機密プログラム1703は、ステップ2211にてドライバ部119からの返信データをチェックし、ハンドル解放に成功していれば、ステップ2212にて処理を終了する。一方、ハンドル解放に失敗していれば、ステップ2213にて所定のエラー処理を実行する。
【0105】
図23と図24は、前記OS間通信処理部108を介して、中継プログラム1701が機密プログラム1703とのプロセス間通信用のハンドルを取得するまでの処理フローを示したものである。図23のステップ2300にて、前記通信制御プログラム1700は、OS間通信処理部108の機能を用いてサービス用OS103側からのデータ受信が可能な状態となっている。中継プログラム1701は、ステップ2301にて、サービス用OS103のドライバ部117に対して利用したいサービス番号を送付し、機密プログラムとのプロセス間通信に利用するハンドルを要求する。サービス番号は、上述の通り、ポート番号と同様に、事前に取り決めておくものとする。参照のために、プログラムに固定的に埋め込んでおくか、定義ファイルに記述しておくなどが考えられる。
【0106】
サービス用OS103のドライバ部117は、ステップ2302にて通信制御プログラム1700との通信路を確立し、ステップ2303にて前記中継プログラム1701の識別子とその特徴値、および中継プログラム1701が使用しているユーザー権限を表すユーザー名を取得し、利用したいサービス番号と共に通信制御プログラム1700に送付する。
【0107】
通信制御プログラム1700では、ステップ2304にて通信管理テーブル2000と通信制御ポリシー1800を参照し、指定されたサービスが有効であり、且つ当該サービスの利用を許可されたプログラムか否かを調べ,正当性を確認する。具体的には、ドライバ部117から渡された中継プログラムの識別子と特徴値とユーザー名とが、通信制御ポリシー1800の内容に一致すればポリシーに合致していると言える。もしサービスが有効で、且つポリシーに合致していれば、ステップ2305にて前記中継プログラム1701の識別子情報を、前記サービス利用中のプログラムとして通信管理テーブル2000に登録し、該当するサービスの利用に必要な暗証データを中継プログラムに返信するために、通信管理テーブル2000から取得する。一方、サービスが有効でない、あるいはポリシーに合致していなければ、ステップ2306にてその旨を通信ログ1900に書き込むと共に、前記ドライバ部117に返信するためのエラー設定を行う。ステップ2307では、通信制御ポリシーとの照合結果を返信するとともに、ドライバ部117との通信路を解放する。
【0108】
前記ドライバ部117は、ステップ2308にて通信制御プログラム1700からの返信データをチェックし、通信管理テーブル2000への登録に成功していれば、つまり中継プログラム1701の認証に成功していれば、ステップ2310にて今度は機密プログラムとの通信用ハンドルを取得する処理(図24)に移る。一方、通信管理テーブルへの登録に失敗した場合は、ステップ2309にて、前記中継プログラム1701にエラーを返して終了する。
【0109】
図24では、図21のステップ2114で示したように、前記機密プログラム1703がサービス用OS103側からデータ受信可能であることを前提にして、中継プログラム1701の通信用ハンドル取得処理を説明する。サービス用OS103のドライバ部117は、OS間通信処理部108の機能を利用して、機密プログラム1703との通信用ハンドルを取得する。ステップ2402では、先に図23のステップ2307にて通信制御プログラム1700から受信した暗証データを、機密用OS122のドライバ部119を経由して機密プログラム1703に送付する。
【0110】
機密プログラム1703では、ステップ2403にて、ドライバ部117から受信した暗証データと、機密プログラム1703が作成した(図21のステップ2101)暗証データとを照合し、結果を前記ドライバ部117に返信する。
【0111】
前記ドライバ部117は、ステップ2404にて機密プログラム1703からの返信データをチェックする。前記暗証データが一致している場合には、前記機密プログラム1703との通信を許可されたと判断し、ステップ2405にて、中継プログラム1701への返信データとして、機密プログラム1703との通信ハンドル値を設定する。一方、前記暗証データに誤りがあった場合は、ステップ2406にて、機密プログラム1703との通信用ハンドルを解放すると共に、前記中継プログラム1701への返信データとしてエラーを設定する。
【0112】
中継プログラム1701は、ステップ2407にてドライバ部117からの返信データをチェックし、ハンドル取得に成功していれば、以後、OS間通信処理部108の機能を利用して機密プログラム1703とのデータ通信が可能となる(ステップ2408)。一方、ハンドル取得に失敗していれば、ステップ2409にて所定のエラー処理を実行する。
【0113】
図25は、前記中継プログラム1701が機密プログラムとのプロセス間通信に利用していたハンドルを解放する際の処理フローを示したものである。ステップ2500にて、前記通信制御プログラム1700は、OS間通信処理部108の機能を用いてサービス用OS103側からのデータ受信が可能な状態となっている。中継プログラム1701は、ステップ2501にて、サービス用OS103のドライバ部117に対してハンドル値を指定して、当該ハンドルの解放を要求する。
【0114】
サービス用OS103のドライバ部117は、ステップ2502にて通信制御プログラム1700との通信路を確立し、ステップ2503にて前記中継プログラム1701の識別子とサービス番号を、通信制御プログラム1700に送付する。
【0115】
通信制御プログラム1700では、ステップ2504にて通信管理テーブル2000を参照し、当該テーブルに登録された中継プログラムであるかを確認する。通信管理テーブル2000に登録されていれば、ステップ2505にて前記中継プログラムに該当する情報を、通信管理テーブル2000から削除する。通信管理テーブル2000に記述されていなければ、ステップ2506にてその旨を前記ドライバ部117に返信するためのエラー設定を行う。ステップ2507では、通信管理テーブル2000との照合結果を返信するとともに、ドライバ部117との通信路を解放する。
【0116】
前記ドライバ部117は、ステップ2508にて通信制御プログラム1700からの返信データをチェックし、通信管理テーブルからの削除に成功していれば、ステップ2510にて今度は機密プログラム1703との通信に利用していたハンドルの解放処理を実行する。一方、通信管理テーブルからの削除に失敗した場合は、ステップ2509にて、前記中継プログラム1701への返信データとしてエラーを設定する。
【0117】
中継プログラム1701は、ステップ2511にてドライバ部117からの返信データをチェックし、ハンドル解放に成功していれば、ステップ2512にて処理を終了する。一方、ハンドル解放に失敗していれば、ステップ2513にて所定のエラー処理を実行する。
【0118】
以上説明したように、本発明によれば、侵入者が強い権限をもつユーザーに成りすました場合でも、ファイルへのアクセスを制限できるという効果がある。
【0119】
また、不正なファイルアクセスを未然に防ぐことができるという効果がある。
【0120】
また、機密性の高い情報へのアクセス手段となるプログラム自体を保護できるという効果がある。また、前記ポリシーファイルとアクセス制御手段を、外部からの不正アクセスや攻撃から保護できるという効果がある。
【0121】
また、図1に示すシステムの、サーバ情報処理装置とクライアント情報処理装置とを結ぶLAN115や、図17に示すシステムの、サーバ情報処理装置とクライアント情報処理装置とを結ぶ外部ネットワーク1706などの通信回線上にファイアウォールを設け、さらに本発明を併用すれば、より強固なセキュリティを確保することが出来る。
【0122】
【発明の効果】
本発明によれば、情報処理装置が管理するファイル、情報、および実行中のプロセスを不正なアクセスから保護することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるアクセス制御システムの一構成例を示す図。
【図2】アクセス制御ポリシーの設定を格納するためのポリシーファイルを示す図。
【図3】不正アクセスが発生した事実を記録するためのアクセスログファイルを示す図。
【図4】ファイルI/Oフックプログラム106とアクセス制御プログラム110を構成するプログラムルーチンを示す図。
【図5】本発明の実施の一形態において、各モジュール間を流れるデータの通信経路を示す図。
【図6】本発明の実施の一形態において、各モジュール間を流れるデータの構造を示す図。
【図7】ファイルI/Oフックルーチン400の処理のフローチャートを示す図。
【図8】オープン処理ルーチン401の処理のフローチャートを示す図。
【図9】オープン制御ルーチン405の処理のフローチャートを示す図。
【図10】オープンファイルテーブルの構造体とそのリストを示す図。
【図11】オープンファイルテーブルに登録されるデータの一例を示す図。
【図12】クローズ処理ルーチン402の処理のフローチャートを示す図。
【図13】リード・ライト処理ルーチン403の処理のフローチャートを示す図。
【図14】アクセスログ登録ルーチン406の処理のフローチャートを示す図。
【図15】削除・リネーム処理ルーチン404の処理のフローチャートを示す図。
【図16】削除・リネーム処理ルーチン407の処理のフローチャートを示す図。
【図17】プロセス間通信に関するアクセス制御システムの一構成例を示す図。
【図18】プロセス間通信に関するポリシーの設定を格納するためのファイルを示す図。
【図19】不正なプロセス間通信が発生した事実を記録するためのログファイルを示す図。
【図20】通信管理テーブルのリストを示す図。
【図21】機密用OS122上のプログラムによる通信用ハンドル取得処理のフローチャートを示す図。
【図22】機密用OS122上のプログラムによる通信用ハンドル解放処理のフローチャートを示す図。
【図23】サービス用OS103上のプログラムによる通信用ハンドル取得処理のフローチャート(前半)を示す図。
【図24】サービス用OS103上のプログラムによる通信用ハンドル取得処理のフローチャート(後半)を示す図。
【図25】サービス用OS103上のプログラムによる通信用ハンドル解放処理のフローチャートを示す図。
【図26】オープン制御ルーチン405の処理のフローチャート(その2)を示す図。
【符号の説明】
100・・・サーバ情報処理装置、101・・・サービス用OSが管理するメモリ、102・・・セキュリティ用OSが管理するメモリ、103・・・サービス用OS、104・・・セキュリティ用OS、105・・・I/Oマネージャ、106・・・ファイルI/Oフックプログラム、107・・・ファイルシステムドライバ、108・・・OS間通信制御部、109・・・サーバプログラム、110・・・アクセス制御プログラム、111・・・CPU、112・・・ディスクコントローラ、113・・・LANコントローラ、114・・・磁気デバイス、115・・・LAN、116・・・複数OS制御プログラム、117〜119・・・ドライバ部、120・・・クライアント情報処理装置、121・・・クライアントプログラム、200・・・ポリシーファイル、300・・・アクセスログファイル、501〜506・・・通信経路、600・・・I/Oパケット、610・・・リクエストパケット、620・・・レスポンスパケット、1000・・・オープンファイルテーブル、1700・・・通信制御プログラム、1701・・・中継プログラム、1703・・・機密プログラム、1704〜1705・・・機密情報、1706・・・外部ネットワークとの接続回線、1707・・・内部ネットワークとの接続回線、1708・・・機密用OSが管理するメモリ、1800・・・通信制御ポリシー、1900・・・通信ログ、2000・・・通信管理テーブル
Claims (5)
- 情報処理装置において,第1のOSと第2のOSとを実行し,前記第1のOSの管理下で実行されるアプリケーションプログラムによるファイルへのアクセスを制御するアクセス制御システムであって,
前記アクセス制御システムを構成するハードウェアは,前記第1のOSが排他的に占有する第1のOS用ハードウェアと前記第2のOSが排他的に占有する第2のOS用ハードウェアと,前記第1のOSと前記第2のOS間の通信機能を提供し,前記アプリケーションプログラムが利用できるインタフェースを備えない通信手段と,を含み,
前記第1のOS用ハードウェアを利用し前記第1のOSの管理下でカーネルレベルで動作し,前記第1のOS用ハードウェアに含まれる記憶部に格納されているファイルへのアクセスを監視するファイルアクセス監視部と,
前記第2のOS用ハードウェアを利用し前記第2のOSの管理下で動作するアクセス制御部と,を備え,
前記ファイルアクセス監視部は,前記第 1 のOSの管理下で実行される前記アプリケーションプログラムによる,前記第1のOS用ハードウェアに含まれる前記記憶部に格納されている前記ファイルへの前記アクセスを受信した場合に,前記通信手段を介して,前記第2のOSの管理下で動作する前記アクセス制御部に,前記ファイルへの前記アクセスを通知し,
前記アクセス制御部は,前記ファイルへの前記アクセスの正当性を判定し,
当該判定結果を,前記通信手段を介して,前記第1のOSの管理下で動作する前記ファイルアクセス監視部に送信し,
前記ファイルアクセス監視部は,前記判定結果が前記アクセスが正当であることを示す場合に,前記アプリケーションプログラムによる,前記第1のOS用ハードウェアに含まれる記憶部に格納された前記ファイルへの前記アクセスを続行する
ことを特徴とするアクセス制御システム。 - 請求項1に記載のアクセス制御システムであって,
前記ファイルアクセス監視部は,前記アクセスが正当でないことを前記判定結果が示す場合に,前記アプリケーションプログラムに対して,前記ファイルへの前記アクセスに対するエラーを送信する
ことを特徴とするアクセス制御システム。 - 請求項1または2に記載のアクセス制御システムであって,
前記第1のOS用ハードウェアに含まれる前記記憶部に格納されている前記ファイルへのアクセス制御ポリシーが記載され,前記第2のOS用ハードウェアに含まれる記憶部に格納されたポリシーファイルを備え,
前記アクセス制御部は,前記ポリシーファイルを参照して,前記アクセスの正当性を判定する
ことを特徴とするアクセス制御システム。 - 請求項3に記載のアクセス制御システムであって,
前記第2のOS用ハードウェアに含まれる記憶部に格納されるアクセスログファイルを備え,
前記アクセス制御部は,前記ポリシーファイルを参照して正当でないと判定した前記アクセスに係わる情報を
前記アクセスログファイルに書き込む
ことを特徴とするアクセス制御システム。 - 請求項1ないし4いずれか一に記載のアクセス制御システムであって,
前記アクセス制御システムを,複数OS制御部を備える1台の情報処理装置を用いて構成し,
前記複数OS制御部は,
前記第1のOSと前記第2のOS間の前記通信手段の提供と,
前記情報処理装置を構成するハードウェアの分割による,前記第1のOSが排他的に占有する第1のOS用ハードウェアと前記第2のOSが排他的に占有する第2のOS用ハードウェアとの割り当てと,を行う
ことを特徴とするアクセス制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000300561A JP4177957B2 (ja) | 2000-03-22 | 2000-09-28 | アクセス制御システム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000084706 | 2000-03-22 | ||
JP2000-84706 | 2000-03-22 | ||
JP2000300561A JP4177957B2 (ja) | 2000-03-22 | 2000-09-28 | アクセス制御システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008058919A Division JP2008204468A (ja) | 2000-03-22 | 2008-03-10 | アクセス制御システム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001337864A JP2001337864A (ja) | 2001-12-07 |
JP2001337864A5 JP2001337864A5 (ja) | 2004-12-24 |
JP4177957B2 true JP4177957B2 (ja) | 2008-11-05 |
Family
ID=26588305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000300561A Expired - Fee Related JP4177957B2 (ja) | 2000-03-22 | 2000-09-28 | アクセス制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4177957B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022131633A1 (de) | 2021-12-08 | 2023-06-15 | Panasonic Intellectual Property Management Co., Ltd. | Informationsverarbeitungsvorrichtung und bestimmungsverfahren |
DE102023107350A1 (de) | 2022-03-28 | 2023-09-28 | Panasonic Intellectual Property Management Co., Ltd. | Informationsverarbeitungsvorrichtung und Steuerverfahren der Informationsverarbeitungsvorrichtung |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4582682B2 (ja) | 2002-07-08 | 2010-11-17 | 株式会社日立製作所 | セキュリティウォールシステム |
US7143288B2 (en) * | 2002-10-16 | 2006-11-28 | Vormetric, Inc. | Secure file system server architecture and methods |
JP4400059B2 (ja) | 2002-10-17 | 2010-01-20 | 株式会社日立製作所 | ポリシー設定支援ツール |
US7814021B2 (en) * | 2003-01-23 | 2010-10-12 | Verdasys, Inc. | Managed distribution of digital assets |
US7472272B2 (en) * | 2003-01-23 | 2008-12-30 | Verdasys, Inc. | Digital asset usage accountability via event journaling |
JP2004302516A (ja) * | 2003-03-28 | 2004-10-28 | Ntt Docomo Inc | 端末装置およびプログラム |
JP2007034341A (ja) * | 2003-08-22 | 2007-02-08 | Nec Corp | コンピュータシステム及びそれに用いるプログラム実行環境実現方法並びにそのプログラム |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
JP2006004008A (ja) | 2004-06-15 | 2006-01-05 | Sony Computer Entertainment Inc | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
KR100861822B1 (ko) * | 2004-07-05 | 2008-10-07 | 싸이언스 파크 가부시키가이샤 | 데이터 관리 방법 |
JP2006053788A (ja) * | 2004-08-12 | 2006-02-23 | Ntt Docomo Inc | ソフトウェア動作監視装置及びソフトウェア動作監視方法 |
US7707586B2 (en) * | 2004-09-08 | 2010-04-27 | Intel Corporation | Operating system independent agent |
JP2006114020A (ja) * | 2004-09-17 | 2006-04-27 | Ricoh Co Ltd | 電子装置システムとその電子装置,制御方法,プログラム,および記録媒体 |
KR100685672B1 (ko) * | 2004-11-29 | 2007-02-23 | 주식회사 안철수연구소 | 컴퓨터 프로그램에 의한 자동입력 방지방법 |
JP4664055B2 (ja) * | 2004-12-10 | 2011-04-06 | 株式会社エヌ・ティ・ティ・ドコモ | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
EP1873678A4 (en) * | 2005-03-24 | 2013-10-09 | Nec Corp | ACCESS RIGHTS ASSESSMENT SYSTEM, ACCESS RIGHTS ASSESSMENT PROCEDURE AND ACCESS RIGHTS ASSESSMENT PROGRAM |
JP4647392B2 (ja) * | 2005-05-23 | 2011-03-09 | 京セラ株式会社 | デバイス制御装置、デバイス制御方法およびプログラム |
CN101233525A (zh) | 2005-05-26 | 2008-07-30 | 松下电器产业株式会社 | 数据处理装置 |
JP4116024B2 (ja) | 2005-07-29 | 2008-07-09 | 株式会社ソニー・コンピュータエンタテインメント | ペリフェラルの使用管理方法、電子システム及びその構成装置 |
JP4762693B2 (ja) * | 2005-11-22 | 2011-08-31 | 株式会社日立製作所 | ファイルサーバ、ファイルサーバのログ管理システム及びファイルサーバのログ管理方法 |
JP2007286905A (ja) * | 2006-04-17 | 2007-11-01 | Nec System Technologies Ltd | 情報処理端末装置、ファイル流出防止方法およびファイル流出防止プログラム |
JP4737762B2 (ja) * | 2006-06-12 | 2011-08-03 | 株式会社日立ソリューションズ | 機密情報の管理プログラム |
EP1901190A1 (en) * | 2006-09-15 | 2008-03-19 | Sony DADC Austria AG | Method and system for managing access to add-on data files |
JP5097130B2 (ja) * | 2006-12-27 | 2012-12-12 | パナソニック株式会社 | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
JP4806751B2 (ja) * | 2007-03-19 | 2011-11-02 | Necパーソナルプロダクツ株式会社 | ファイルアクセス先制御装置、その方法及びそのプログラム |
JP2008234188A (ja) * | 2007-03-19 | 2008-10-02 | Toyota Motor Corp | 情報処理装置 |
JP2008299409A (ja) * | 2007-05-29 | 2008-12-11 | Nippon Telegr & Teleph Corp <Ntt> | データ登録方法、データ登録プログラムおよび記録媒体 |
JP5387415B2 (ja) * | 2007-12-26 | 2014-01-15 | 日本電気株式会社 | 仮想計算機システム、ポリシ強制システム、ポリシ強制方法及び仮想計算機制御用プログラム |
WO2009102006A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | アクセス制御装置、その方法及び情報記録媒体 |
JP5260081B2 (ja) * | 2008-02-25 | 2013-08-14 | パナソニック株式会社 | 情報処理装置及びその制御方法 |
US8225390B2 (en) * | 2008-06-27 | 2012-07-17 | Microsoft Corporation | Licensing protected content to application sets |
JP5138527B2 (ja) * | 2008-09-29 | 2013-02-06 | 株式会社日立ソリューションズ | ポリシーベースのファイルサーバアクセス制御方法及びシステム |
KR101113820B1 (ko) * | 2010-03-16 | 2012-02-29 | 소프트캠프(주) | 응용프로그램의 파일 입출력 보안방법과 보안시스템 |
JP2011198256A (ja) * | 2010-03-23 | 2011-10-06 | Nomura Research Institute Ltd | コンテント保護装置 |
US9015807B2 (en) * | 2011-12-01 | 2015-04-21 | Microsoft Technology Licensing, Llc | Authorizing application access to secure resources |
US9165150B2 (en) * | 2013-02-19 | 2015-10-20 | Symantec Corporation | Application and device control in a virtualized environment |
JP6092057B2 (ja) * | 2013-09-13 | 2017-03-08 | 株式会社日立ソリューションズ | ファイルアクセス制御装置、ファイルアクセス制御プログラム及びファイルアクセス制御方法 |
JP6536109B2 (ja) * | 2015-03-20 | 2019-07-03 | アイシン・エィ・ダブリュ株式会社 | セキュリティ管理システムおよびセキュリティ管理方法 |
KR102107277B1 (ko) * | 2016-08-08 | 2020-05-06 | (주)나무소프트 | 피싱 또는 랜섬웨어 공격을 차단하는 방법 및 시스템 |
JP6782900B2 (ja) * | 2018-12-13 | 2020-11-11 | デジタルア−ツ株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
KR102542213B1 (ko) * | 2022-11-11 | 2023-06-14 | 펜타시큐리티시스템 주식회사 | 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 |
-
2000
- 2000-09-28 JP JP2000300561A patent/JP4177957B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022131633A1 (de) | 2021-12-08 | 2023-06-15 | Panasonic Intellectual Property Management Co., Ltd. | Informationsverarbeitungsvorrichtung und bestimmungsverfahren |
DE102023107350A1 (de) | 2022-03-28 | 2023-09-28 | Panasonic Intellectual Property Management Co., Ltd. | Informationsverarbeitungsvorrichtung und Steuerverfahren der Informationsverarbeitungsvorrichtung |
Also Published As
Publication number | Publication date |
---|---|
JP2001337864A (ja) | 2001-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4177957B2 (ja) | アクセス制御システム | |
JP2008204468A (ja) | アクセス制御システム | |
US6658571B1 (en) | Security framework for dynamically wrapping software applications executing in a computing system | |
JP5013882B2 (ja) | 保護ドメインに基づいたセキュリティ用の方法及び装置 | |
Provos et al. | Preventing privilege escalation | |
US7379918B2 (en) | Method and system for single reactivation of software product licenses | |
EP1435030B1 (en) | Stateful reference monitor | |
JP4878647B2 (ja) | 信頼できないコンテントを安全に実行するための方法およびシステム | |
JP4809530B2 (ja) | 制限付きのトークンを使用したセキュリティモデル | |
JP5620374B2 (ja) | アプリケーションセットに対する保護されたコンテンツの許可 | |
US9336369B2 (en) | Methods of licensing software programs and protecting them from unauthorized use | |
US20120137375A1 (en) | Security systems and methods to reduce data leaks in enterprise networks | |
US20040078591A1 (en) | Security System And Methodology For Providing Indirect Access Control | |
JP2001067135A (ja) | 電気通信システムにおける機能作動の違法使用の防止 | |
US20060031937A1 (en) | Pre-emptive anti-virus protection of computing systems | |
JP4023654B2 (ja) | アプリケーションの監視方法およびプログラム | |
US20070162909A1 (en) | Reserving resources in an operating system | |
GB2403827A (en) | Kernel cryptographic module signature verification system and method | |
US20050038790A1 (en) | Device and method for establishing a security policy in a distributed system | |
US7150041B2 (en) | Disk management interface | |
WO2003034687A1 (en) | Method and system for securing computer networks using a dhcp server with firewall technology | |
Iglio | Trustedbox: a kernel-level integrity checker | |
EP1944676B1 (en) | Stateful reference monitor | |
JP2004005377A (ja) | 多重システム停止の再発防止方法 | |
JP4412489B2 (ja) | 不正アクセスに対する防御ポリシ作成システム及び方法とそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050223 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060510 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080310 |
|
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: 20080805 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080825 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |