JP4628073B2 - Access control apparatus and access control method - Google Patents

Access control apparatus and access control method Download PDF

Info

Publication number
JP4628073B2
JP4628073B2 JP2004347640A JP2004347640A JP4628073B2 JP 4628073 B2 JP4628073 B2 JP 4628073B2 JP 2004347640 A JP2004347640 A JP 2004347640A JP 2004347640 A JP2004347640 A JP 2004347640A JP 4628073 B2 JP4628073 B2 JP 4628073B2
Authority
JP
Japan
Prior art keywords
access control
input
control rule
output
variable
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
Application number
JP2004347640A
Other languages
Japanese (ja)
Other versions
JP2006155416A (en
Inventor
拓 藤本
敬 鈴木
雄大 中山
敦 竹下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2004347640A priority Critical patent/JP4628073B2/en
Publication of JP2006155416A publication Critical patent/JP2006155416A/en
Application granted granted Critical
Publication of JP4628073B2 publication Critical patent/JP4628073B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アクセス制御装置及びアクセス制御方法に関する。   The present invention relates to an access control apparatus and an access control method.

一般に、計算機上で実行されているプロセスが、キーボードからの入力データやファイルといった計算機上のリソースにアクセスするためには、カーネルプログラムにシステムコールと呼ばれる要求を発行し、カーネルを通じてアクセスする必要がある。これにより、リソースに対してアクセス権限を有するプロセスのみが、リソースへアクセス可能となる。   In general, in order for a process running on a computer to access computer resources such as input data and files from the keyboard, it is necessary to issue a request called a system call to the kernel program and access it through the kernel. . As a result, only processes that have access authority to the resource can access the resource.

一方で、計算機上で動作する各プロセスは、信頼あるベンダから提供されたものや計算機に元々組み込まれた信頼度の高いプロセスから、計算機のユーザが独自に導入した信頼度の低いプロセスが存在する。信頼度の低いプロセスでは、プロセス自体が悪意を有していたり、脆弱性を有していたりする可能性があり、これらのプロセスに、計算機上のリソースに対するアクセスを許可した場合に、外部へ情報が漏えいしたり、計算機上のファイルが改ざんされたりするといった、危険性が存在する。   On the other hand, each process running on a computer has a low-reliability process originally introduced by a computer user from a high-reliability process originally provided by a computer provided by a reliable vendor. . In a process with low reliability, the process itself may be malicious or vulnerable, and if these processes are allowed access to resources on the computer, information is sent to the outside. There is a risk that the file will be leaked or the files on the computer will be tampered with.

さらに、計算機上で動作するプロセスは、それぞれの役割に応じてアクセスする必要があるリソースが決まっている。例えば、Webのサーバプロセスであれば、HTTPリクエストに応じるために必要なファイル(例えば、Webサーバのルートディレクトリ以下)の入力や、ログファイルへの出力のみ可能であれば良い。   Furthermore, resources that need to be accessed for processes running on a computer are determined according to their roles. For example, in the case of a Web server process, it is only necessary to be able to input a file necessary for responding to an HTTP request (for example, under the Web server root directory) or output to a log file.

上記に挙げたような危険性を避けるためには、このような各プロセスの役割や権限に応じて、各プロセスの計算機上の各リソースに対するアクセスを制御可能である必要がある。   In order to avoid the dangers mentioned above, it is necessary to be able to control access to each resource on the computer of each process according to the role and authority of each process.

上記を実現する技術の一つとして、各プロセスの各リソースに対するアクセス権限を細かく設定したアクセス制御規則を利用することにより、細粒度のアクセス制御を行う強制アクセス制御と呼ばれる技術が存在する。例えば、SELinuxでは、各プロセスに対してドメインと呼ばれるアクセス権のレベルを設定し、また計算機上の各リソースに対しては、タイプと呼ばれるレベルを設定する(例えば、非特許文献1参照。)。しかるのち、各ドメインの各タイプに対するアクセス権を記述するアクセス制御規則を設定し、カーネルがこのアクセス制御規則により各プロセスの各リソースに対するアクセスを制御することが可能である。例えば、Webサーバの例では、図12に示したように、Webサーバプロセスに“httpd_t”というドメインを設定し、Webページ用のファイルが格納されたディレクトリ“/var/www/html/”には“httpd_sys_content_t”というタイプを設定し、さらに<httpd_tドメインに属するプロセスはhttpd_sys_content_tタイプに属するディレクトリのみ読み込み可能>というアクセス制御規則を設定することで、Webサーバプロセスに必要最小限の権限のみ与えることが可能である。   As one of the techniques for realizing the above, there is a technique called forced access control that performs fine-grained access control by using an access control rule in which access authority to each resource of each process is set finely. For example, in SELinux, a level of access right called a domain is set for each process, and a level called a type is set for each resource on a computer (see, for example, Non-Patent Document 1). After that, it is possible to set an access control rule that describes an access right for each type of each domain, and the kernel can control access to each resource of each process by this access control rule. For example, in the example of the Web server, as shown in FIG. 12, a domain “httpd_t” is set in the Web server process, and the directory “/ var / www / html /” where the Web page file is stored is set. By setting the type “httpd_sys_content_t” and setting the access control rule that <process belonging to the httpd_t domain can only read directories belonging to the httpd_sys_content_t type>, it is possible to give only the minimum authority to the Web server process. It is.

SELinuxのような強制アクセス制御技術を適用する例として、例えば、図13に示した例では、プロセスAはリソースAとリソースBを読み込むことが可能であり、プロセスBはリソースBのみ読み込むことが可能である。   As an example of applying mandatory access control technology such as SELinux, for example, in the example shown in FIG. 13, process A can read resource A and resource B, and process B can read only resource B. It is.

ここで、プロセスAがリソースAを読み込んだ後、プロセスAがプロセスBに対して出力するような場合を考える。この場合、プロセスBは、本来読み込む権限がないはずのリソースAを読み込むことが可能となってしまう。   Here, consider the case where process A outputs to process B after process A reads resource A. In this case, the process B can read the resource A that should not have the authority to read.

SELiunuxで実現されているような強制アクセス制御技術により、このような状況を避けるためには、<リソースAを読み込む権限がある全てのプロセスは、プロセスBとのプロセス間通信を禁止する>というアクセス制御規則があれば良い。   In order to avoid such a situation using forced access control technology such as that implemented in SELiunux, <all processes authorized to read resource A are prohibited from inter-process communication with process B>. There should be control rules.

この場合、プロセスAが読み込んだリソースがBであったとしても、プロセスAはプロセスBに対してそれを出力することは不可能となる。   In this case, even if the resource read by process A is B, process A cannot output it to process B.

また、このような状況において、リソースAを読み込んだ時点でプロセスAのアクセス権限を変え、プロセスBとのプロセス間通信を禁止するという、SELinuxの強制アクセス制御技術に比べて柔軟なアクセス制御を実現可能とする技術も開示されている(例えば、特許文献1参照。)。この場合では、プロセスAはリソースAを読み込むまではプロセスBと通信可能であるが、リソースAを読み込んだ後は、プロセス Bと通信不可能となり、リソースBをプロセスBに対して出力することはできない。   In this situation, flexible access control is achieved compared to SELinux's mandatory access control technology, which changes the access authority of process A when resource A is read and prohibits interprocess communication with process B. A technique that enables this is also disclosed (for example, see Patent Document 1). In this case, process A can communicate with process B until resource A is read, but after resource A is read, communication with process B is impossible and resource B cannot be output to process B. Can not.

以上挙げた二つの文献では、どちらも各プロセスの各リソースに対するアクセス制御を行う。しかし、プロセス間のアクセス権が異なる時には、図13で挙げたような場合に実際には許可されるはずのリソースBのプロセス間通信を禁止しなければならず、各プロセスの動作が必要以上に制限されてしまう。   In the two documents mentioned above, both perform access control for each resource of each process. However, when access rights between processes are different, communication between resources B that should actually be permitted in the case shown in FIG. 13 must be prohibited, and the operation of each process is more than necessary. It will be restricted.

例えば、JAVA(登録商標)アプレットのように、プロセスAがインターネット上から信頼のおけないコード(上記の例ではプロセスB)を取得して実行するようなアプリケーションは数多く存在する。この場合、プロセスAはプロセスBを実行するにあたり、pipe等のシステムコールを用いて情報のやり取りを行うのが一般的である。しかし、信頼性のないプロセスBは端末の特定のリソースに対してアクセスを許可されないのが一般的であり、この場合、例えばプロセスAがブラウザ等のプログラムでユーザから入力されたパスワードを保持している場合などでは、従来技術では、プロセスAはプロセスBを実行するにあたり、一切の情報のやり取りができなくなり、各プロセスの動作は非常に制限されることとなる。しかし、一方で、プロセスAとプロセスBの自由な情報のやり取りを許可することは、プロセスBが悪意を持っていた場合には、情報漏えいが発生する危険性が大きい。   For example, there are many applications such as JAVA (registered trademark) applet that process A acquires and executes an untrusted code (process B in the above example) from the Internet. In this case, when process A executes process B, information is generally exchanged using a system call such as a pipe. However, unreliable process B is generally not allowed access to specific resources of the terminal. In this case, for example, process A holds the password entered by the user with a program such as a browser. In the case where the process A is executed, the process A cannot exchange any information when the process B is executed, and the operation of each process is extremely limited. However, on the other hand, allowing free exchange of information between process A and process B has a high risk of information leakage if process B is malicious.

上記のようにプロセスの柔軟性を損なうアクセス制御は、ユーザ・プログラムベンダの双方にとって不自由となるか、または、上記のような問題点を回避するために、アクセス制御規則を緩めることにより、セキュリティ上の脆弱性が発生する。   Access control that impairs process flexibility as described above can be inconvenient for both user and program vendors, or security can be relaxed by loosening access control rules to avoid such problems. The above vulnerability occurs.

このような問題について、情報流解析と呼ばれる技術を用いた解決方法が考えられる(例えば、非特許文献2参照。)。情報流解析技術では、プロセスの動作を、元のプログラムソースの静的な解析、あるいはプロセス実行中の動的な解析により、プロセスに入力された情報の流れを追跡・制御する。具体的には、プロセスに入力された情報について、プロセスが参照する変数間での情報の伝播を解析する。
Security Enhanced Linux (SE Linux) http://www.nsa.gov/selinux/ 特開平8−87440号公報 Stephen Tse and Steve Zdancewic.“Run-time principals in information-flow type systems”. In proceedings of IEEE Symposium on Security and Privacy、 pages 179-193, 2004.
For such a problem, a solution using a technique called information flow analysis can be considered (for example, see Non-Patent Document 2). In the information flow analysis technology, the flow of information input to the process is tracked and controlled by static analysis of the original program source or dynamic analysis during process execution. Specifically, for information input to the process, the propagation of information between variables referred to by the process is analyzed.
Security Enhanced Linux (SE Linux) http: // www. nsa. gov / selinux / JP-A-8-87440 Stephen Tse and Steve Zdancewic. “Run-time principals in information-flow type systems”. In proceedings of IEEE Symposium on Security and Privacy, pages 179-193, 2004.

しかしながら、上記に挙げたような問題を解決するには、プロセスへのリソースの入力、及びプロセスからのリソースの出力のみ監視すれば良く、情報流解析技術のようにプロセスが参照する変数まで監視するのは、プロセスのパフォーマンスを低下させる要因となる。   However, in order to solve the problems mentioned above, it is only necessary to monitor the input of resources to the process and the output of resources from the process, and monitor variables referenced by the process, such as information flow analysis technology. This is a factor that degrades the performance of the process.

そこで、本発明は、上記の課題に鑑み、オーバーヘッドを軽減し、柔軟なアクセス制御を行うアクセス制御装置及びアクセス制御方法を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an access control apparatus and an access control method that reduce overhead and perform flexible access control.

上記目的を達成するため、本発明の特徴は、入力データをプロセスが参照する入力変数へ入力し、プロセス実行に従い入力変数から派生した出力変数に格納された出力データを出力するアクセス制御装置であって、(a)入力データに対応する第一のアクセス制御規則を導出する第一のアクセス制御規則導出部と、(b)入力変数と出力変数との対応を表す派生規則に基づき、出力データの派生元である入力データを特定する入力データ特定部と、(c)入力データ特定部によって特定された入力データに対応する第一のアクセス制御規則に従って、出力データに対応する第二のアクセス制御規則を導出する第二のアクセス制御規則導出部と、(d)第二のアクセス制御規則に従って、出力データの出力処理を制御するアクセス制御部とを備えるアクセス制御装置であることを要旨とする。   In order to achieve the above object, a feature of the present invention is an access control device that inputs input data to an input variable referred to by a process and outputs output data stored in an output variable derived from the input variable according to process execution. (A) a first access control rule deriving unit for deriving a first access control rule corresponding to the input data, and (b) a derivation rule representing the correspondence between the input variable and the output variable, An input data specifying unit for specifying input data as a derivation source; and (c) a second access control rule corresponding to the output data in accordance with the first access control rule corresponding to the input data specified by the input data specifying unit. A second access control rule deriving unit for deriving data, and (d) an access control unit for controlling output processing of output data according to the second access control rule. And summarized in that a that the access control device.

第1の特徴に係るアクセス制御装置によると、オーバーヘッドを軽減し、柔軟なアクセス制御を行うことができる。   According to the access control device according to the first feature, overhead can be reduced and flexible access control can be performed.

又、第1の特徴に係るアクセス制御装置において、入力データの入力元が計算機上のリソースである場合、第一のアクセス制御規則導出部は、リソースに対応する第一のアクセス制御規則を導出してもよい。このアクセス制御装置によると、リソースに応じた出力処理を行うことができる。   In the access control device according to the first feature, when the input source of the input data is a resource on the computer, the first access control rule deriving unit derives the first access control rule corresponding to the resource. May be. According to this access control device, output processing according to resources can be performed.

又、第1の特徴に係るアクセス制御装置において、第一のアクセス制御規則及び第二のアクセス制御規則は、出力処理の際に発生するシステムコールを許可するか否かを定めてもよい。このアクセス制御装置によると、システムコールの発行元プロセスが、指定されたリソースを入力する権限があるかどうかを調べ、権限がある場合にのみリソースを読み込むことができる。   In the access control device according to the first feature, the first access control rule and the second access control rule may determine whether or not to permit a system call generated during output processing. According to this access control device, the process that issued the system call can check whether or not it has the authority to input the specified resource, and can read the resource only when it has the authority.

又、第1の特徴に係るアクセス制御装置において、入力データの入力先が当該プロセスを生成したプログラムが参照する変数である場合、入力データ特定部は、変数を特定してもよい。このアクセス制御装置によると、変数に対応した第一のアクセス制御規則に従って、出力処理を制御することができる。   In the access control device according to the first feature, when the input destination of input data is a variable referred to by the program that generated the process, the input data specifying unit may specify the variable. According to this access control device, output processing can be controlled according to the first access control rule corresponding to the variable.

又、第1の特徴に係るアクセス制御装置において、出力データが複数の入力データから派生する場合、第二のアクセス制御規則導出部は、複数の入力データに対応する第一のアクセス制御規則に従って、出力データに対応する第二のアクセス制御規則を導出してもよい。このアクセス制御装置によると、すべての入力データを考慮した第二のアクセス制御規則を導出することができる。   Further, in the access control device according to the first feature, when the output data is derived from a plurality of input data, the second access control rule derivation unit, according to the first access control rule corresponding to the plurality of input data, A second access control rule corresponding to the output data may be derived. According to this access control apparatus, it is possible to derive a second access control rule that takes all input data into consideration.

又、第1の特徴に係るアクセス制御装置において、出力処理がプロセス間通信におけるデータの送信である場合、第二のアクセス制御規則導出部は、送信先のプロセスに対応する第一のアクセス制御規則に従って、出力データに対応する第二のアクセス制御規則を導出してもよい。このアクセス制御装置によると、送信先のプロセスに応じた出力制御を行うことができる。   Further, in the access control device according to the first feature, when the output process is data transmission in inter-process communication, the second access control rule derivation unit includes the first access control rule corresponding to the destination process. Accordingly, a second access control rule corresponding to the output data may be derived. According to this access control apparatus, output control according to the process of the transmission destination can be performed.

又、第1の特徴に係るアクセス制御装置において、派生規則は、プロセスを生成したプログラムのプログラムソースを静的解析することにより生成されてもよい。このアクセス制御装置によると、生成された派生規則を参照することにより、出力変数の派生元の入力変数を適切に特定することができる。   In the access control device according to the first feature, the derivation rule may be generated by statically analyzing the program source of the program that generated the process. According to this access control device, it is possible to appropriately specify the input variable from which the output variable is derived by referring to the generated derivation rule.

又、第1の特徴に係るアクセス制御装置において、プロセスへの入力データが他のプロセスからの出力データである場合、第一のアクセス制御規則導出部は、他のプロセスの出力データに対応する第二のアクセス制御規則に従って、入力データに対応する第一のアクセス制御規則を導出してもよい。このアクセス制御装置によると、各プロセスに応じた、柔軟な出力制御を行うことができる。   In the access control device according to the first feature, when the input data to the process is output data from another process, the first access control rule deriving unit corresponds to the output data of the other process. A first access control rule corresponding to the input data may be derived according to the second access control rule. According to this access control apparatus, flexible output control according to each process can be performed.

又、第1の特徴に係るアクセス制御装置において、出力データの出力先が計算機上のリソースである場合、アクセス制御部は、出力データに対応する第二のアクセス制御規則に従って、リソースのアクセス制御規則を更新してもよい。このアクセス制御装置によると、出力処理に応じて、アクセス制御規則を適宜更新することができる。   In the access control device according to the first feature, when the output destination of the output data is a resource on the computer, the access control unit performs the resource access control rule according to the second access control rule corresponding to the output data. May be updated. According to this access control apparatus, the access control rule can be updated as appropriate according to the output process.

本発明の第2の特徴は、入力データをプロセスが参照する入力変数へ入力し、プロセス実行に従い入力変数から派生した出力変数に格納された出力データを出力するアクセス制御方法であって、(a)入力データに対応する第一のアクセス制御規則を導出するステップと、(b)入力変数と前記出力変数との対応を表す派生規則に基づき、出力データの派生元である入力データを特定するステップと、(c)特定された入力データに対応する第一のアクセス制御規則に従って、出力データに対応する第二のアクセス制御規則を導出するステップと、(d)第二のアクセス制御規則に従って、出力データの出力処理を制御するステップとを含むアクセス制御方法であることを要旨とする。   A second feature of the present invention is an access control method in which input data is input to an input variable referred to by a process, and output data stored in an output variable derived from the input variable is output in accordance with process execution. ) A step of deriving a first access control rule corresponding to the input data; and (b) a step of specifying the input data from which the output data is derived based on a derivation rule representing the correspondence between the input variable and the output variable. (C) deriving a second access control rule corresponding to the output data according to the first access control rule corresponding to the identified input data; and (d) outputting according to the second access control rule. And an access control method including a step of controlling data output processing.

第2の特徴に係るアクセス制御方法によると、オーバーヘッドを軽減し、柔軟なアクセス制御を行うことができる。   According to the access control method according to the second feature, overhead can be reduced and flexible access control can be performed.

本発明によると、オーバーヘッドを軽減し、柔軟なアクセス制御を行うアクセス制御装置及びアクセス制御方法を提供することができる。   According to the present invention, it is possible to provide an access control apparatus and an access control method that reduce overhead and perform flexible access control.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。   Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, it should be noted that the drawings are schematic.

<第1の実施の形態>
(アクセス制御装置)
第1の実施の形態に係るアクセス制御装置100は、図1に示すように、第一のアクセス制御規則導出部110、入力データ特定部120、第二のアクセス制御規則導出部130、アクセス制御部140とを備える。
<First Embodiment>
(Access control device)
As shown in FIG. 1, the access control apparatus 100 according to the first embodiment includes a first access control rule deriving unit 110, an input data specifying unit 120, a second access control rule deriving unit 130, and an access control unit. 140.

第1の実施の形態では、例えばSELinuxで実現されているような既存の強制アクセス制御技術と同じく、計算機上で動作する各プロセスの、計算機上の各リソースに対するアクセスを制御する、アクセス制御規則があらかじめ定められているものとする。   In the first embodiment, an access control rule for controlling access to each resource on the computer of each process operating on the computer is the same as the existing mandatory access control technology realized in SELinux, for example. Assume that it is determined in advance.

また、第1及び第2の実施の形態において、プロセスにデータが入力されてから出力されるまでの流れを図2に示す。図2に示すように、入力処理により、ファイルやキーボード等の計算機上のリソースからプロセスが参照する入力変数410へ入力された入力データ310は、プロセス実行に従い出力変数420へ派生し、出力処理により、出力変数420に格納された出力データ320が出力される。   In the first and second embodiments, FIG. 2 shows the flow from the input of data to the output of the process. As shown in FIG. 2, input data 310 input to an input variable 410 referred to by a process from resources on a computer such as a file or a keyboard by input processing is derived to an output variable 420 according to process execution. The output data 320 stored in the output variable 420 is output.

各リソースに定められたアクセス制御規則とは、具体的には、図3に示すように、プロセスの各リソースに対する、メモリへの読み込み(入力処理)や別プロセス・別計算機への送信(出力処理)といった、入出力の処理を制御する規則である。例えば、プロセス1は、キーボードからのデータの入力を禁止される。また、図3では、以下の説明のため、各アクセス制御規則に一意の識別子を付与している。アクセス制御装置100は、プロセスによるデータの入出力処理を監視し、その制御まで行うため、例えばプロセスの入出力の処理を管理するカーネルの機能として組み込むことが考えられる。   Specifically, as shown in FIG. 3, the access control rule defined for each resource is read into memory (input processing) or transmitted to another process / computer (output processing) for each resource of the process. ) Is a rule for controlling input / output processing. For example, the process 1 is prohibited from inputting data from a keyboard. In FIG. 3, a unique identifier is assigned to each access control rule for the following explanation. Since the access control apparatus 100 monitors and controls the data input / output processing by the process, for example, it can be considered to be incorporated as a kernel function for managing the input / output processing of the process.

アクセス制御装置100の第一のアクセス制御規則導出部110は、プロセスの記憶領域に入力される入力データ310に対応する第一のアクセス制御規則210を導出する。   The first access control rule deriving unit 110 of the access control apparatus 100 derives a first access control rule 210 corresponding to the input data 310 input to the process storage area.

入力データ特定部120は、与えられた入力変数410と出力変数420との対応を表す派生規則220に基づき、出力データ320の派生元である入力データ310を特定する。   The input data specifying unit 120 specifies the input data 310 that is the derivation source of the output data 320 based on the derivation rule 220 that indicates the correspondence between the given input variable 410 and the output variable 420.

第二のアクセス制御規則導出部130は、入力データ特定部120によって特定された入力データ310に対応する第一のアクセス制御規則に従って、出力データ320に対応する第二のアクセス制御規則230を導出する。   The second access control rule deriving unit 130 derives the second access control rule 230 corresponding to the output data 320 according to the first access control rule corresponding to the input data 310 specified by the input data specifying unit 120. .

アクセス制御部140は、第二のアクセス制御規則230に従って、出力データ320の出力処理を制御する。   The access control unit 140 controls the output process of the output data 320 according to the second access control rule 230.

上述した各部の動作については、アクセス制御方法において、詳細に説明する。   The operation of each unit described above will be described in detail in the access control method.

又、第1の実施の形態に係るアクセス制御装置100は、処理制御装置(CPU)を有し、上述した第一のアクセス制御規則導出部110、入力データ特定部120、第二のアクセス制御規則導出部130、アクセス制御部140などをモジュールとして、CPUに内蔵する構成とすることができる。これらのモジュールは、パーソナルコンピュータ等の汎用コンピュータにおいて、所定のプログラム言語を利用するための専用プログラムを実行することにより実現することができる。   The access control device 100 according to the first embodiment includes a processing control device (CPU), and includes the first access control rule deriving unit 110, the input data specifying unit 120, and the second access control rule described above. The deriving unit 130, the access control unit 140, and the like can be built in the CPU as modules. These modules can be realized by executing a dedicated program for using a predetermined program language in a general-purpose computer such as a personal computer.

又、図示していないが、アクセス制御装置100は、第一のアクセス制御規則導出処理、入力データ特定処理、第二のアクセス制御規則導出処理、アクセス制御処理などをCPUに実行させるためのプログラムを蓄積するプログラム保持部を備えてもよい。プログラム保持部は、例えば、RAM、ROM、ハードディスク、フレキシブルディスク、コンパクトディスク、ICチップ、カセットテープなどの記録媒体である。このような記録媒体によれば、プログラムの蓄積、運搬、販売などを容易に行うことができる。   Although not shown, the access control device 100 executes a program for causing the CPU to execute a first access control rule derivation process, an input data identification process, a second access control rule derivation process, an access control process, and the like. You may provide the program holding | maintenance part which accumulate | stores. The program holding unit is a recording medium such as a RAM, a ROM, a hard disk, a flexible disk, a compact disk, an IC chip, and a cassette tape. According to such a recording medium, it is possible to easily store, transport, and sell programs.

又、図示していないが、アクセス制御装置100は、入力元アクセス制御規則200、第一のアクセス制御規則210、派生規則220、第二のアクセス制御規則230を保持するデータ保持部を備えてもよい。データ保持部は、RAM等の内部記憶装置でもよく、ハードディスク等の外部記憶装置でもよい。   Although not shown, the access control apparatus 100 may include a data holding unit that holds the input source access control rule 200, the first access control rule 210, the derivation rule 220, and the second access control rule 230. Good. The data holding unit may be an internal storage device such as a RAM or an external storage device such as a hard disk.

(アクセス制御方法)
次に、図3に示すようなアクセス制御規則があらかじめ与えられたものとして、アクセス制御装置100によるアクセス制御方法について、図5を用いて説明する。
(Access control method)
Next, an access control method performed by the access control apparatus 100 will be described with reference to FIG. 5, assuming that an access control rule as shown in FIG.

まず、ステップS101において、第一のアクセス制御規則導出部110は、プロセスに入力された入力データ310の入力元にあらかじめ付与された入力元アクセス制御規則200を取得する。ここで、入力元とは例えば、計算機上のリソース、具体的には計算機上に保存されたデータや、計算機のユーザによりキーボードから入力されたデータを指す。これらがプロセスに入力される際、プロセスは必ずリソースを当該プロセスのメモリ空間に読み込むためにreadシステムコールを発行する。例えば、計算機上のファイルを読み込む際には、下記のようなシステムコールを発行する。   First, in step S <b> 101, the first access control rule deriving unit 110 acquires an input source access control rule 200 assigned in advance to the input source of the input data 310 input to the process. Here, the input source refers to, for example, a resource on a computer, specifically data stored on the computer or data input from a keyboard by a user of the computer. When these are entered into a process, the process always issues a read system call to read the resource into the process's memory space. For example, when reading a file on a computer, the following system call is issued.

read ( “ファイルディスクリプタ”、 入力変数、 入力サイズ)
第一引数のファイルディスクリプタは、計算機上のファイルを一意に表す。このシステムコールは、ファイルディスクリプタで指定されたファイルから入力サイズで指定されたデータ長だけ読み取り入力変数410に代入することを、カーネルに要求するものである。
read (“file descriptor”, input variable, input size)
The file descriptor of the first argument uniquely represents a file on the computer. This system call requests the kernel to read from the file specified by the file descriptor by the data length specified by the input size and assign it to the input variable 410.

カーネルは、システムコールを受け取った際、あらかじめ与えられたアクセス制御規則により、システムコールの発行元プロセスが、指定されたリソースを入力する権限があるかどうかを調べ、権限がある場合には、そのシステムコールを許可する。   When the kernel receives a system call, it checks whether the process that issued the system call has the authority to input the specified resource according to the access control rules given in advance. Allow system calls.

上記のようなシステムコールが発行され、入力データ310がプロセスに入力された際、ステップS102において、第一のアクセス制御規則導出部110は、入力元アクセス制御規則200を、入力変数410に対応する第一のアクセス制御規則210とする。入力データ310の入力先と一意に対応付けるため、例えば図4に示すように入力変数410と第一のアクセス制御規則210とを対応付けて記録する。   When the system call as described above is issued and the input data 310 is input to the process, in step S102, the first access control rule deriving unit 110 corresponds the input source access control rule 200 to the input variable 410. The first access control rule 210 is assumed. In order to uniquely associate with the input destination of the input data 310, for example, as shown in FIG. 4, the input variable 410 and the first access control rule 210 are associated and recorded.

次に、ステップS104において、第二のアクセス制御規則導出部130は、プロセスからデータが出力される際、出力データ320に対応する第二のアクセス制御規則230を導出する。プロセスがメモリ空間からデータを出力する際、必ずwriteシステムコールを発行する。   Next, in step S104, the second access control rule deriving unit 130 derives a second access control rule 230 corresponding to the output data 320 when data is output from the process. Whenever a process outputs data from memory space, it must issue a write system call.

write (“ファイルディスクリプタ”、出力変数、出力サイズ)
ファイルディスクリプタは、出力先を表す。例えば、ファイルディスクリプタが計算機上のファイルを指す場合、ディスプレイを指す場合、計算機内外の別プロセスを指す場合がある。このシステムコールは、出力変数420から出力サイズで指定されたデータ長だけ読み取り、ファイルディスクリプタで指定された出力先に出力することを、カーネルに要求するものである。
write (“file descriptor”, output variable, output size)
The file descriptor represents an output destination. For example, when a file descriptor indicates a file on a computer, when indicating a display, it may indicate another process inside or outside the computer. This system call requests the kernel to read only the data length specified by the output size from the output variable 420 and output it to the output destination specified by the file descriptor.

上記のようなシステムコールが発行され、出力データ320がプロセスから出力される際、第二のアクセス制御規則導出部130は、当該出力処理を制御するための第二のアクセス制御規則230を導出する。具体的には以下の手順による。   When the system call as described above is issued and the output data 320 is output from the process, the second access control rule deriving unit 130 derives the second access control rule 230 for controlling the output process. . Specifically, the following procedure is followed.

(1)当該出力データ320が格納された出力変数420の派生元となっている全ての入力変数410を導出
(2)上記各入力変数410に対応する第一のアクセス制御規則210を取得
(3)上記全ての第一のアクセス制御規則210から、出力変数420に対応する第二のアクセス制御規則230を導出
上記3つの手順のうち、手順(1)については、上記非特許文献2で挙げたような情報流解析技術を用いる方法も考えられるが、パフォーマンス低下に繋がる。従って、与えられた入力変数410と出力変数420との対応を表す派生規則220が入力されるものとし、ステップS103において、これを利用する。派生規則220の導出方法については、第2の実施の形態において詳細に述べる。ここでは、出力変数420の派生元となった全ての入力変数410が特定できたものとする。例えば、当該出力データが、図4で示した入力変数のうちX1、X2から派生したものであった場合、手順(2)によりPolicy2、Policy3を取得し、手順(3)により第二のアクセス制御規則230が導出される。この場合、第二のアクセス制御規則230は、Policy2、Policy3を結合し、以下のような規則となる。
(1) Deriving all input variables 410 from which the output variable 420 in which the output data 320 is stored is derived (2) Obtaining the first access control rule 210 corresponding to each of the input variables 410 (3) ) The second access control rule 230 corresponding to the output variable 420 is derived from all the first access control rules 210. Among the above three procedures, the procedure (1) is mentioned in Non-Patent Document 2 above. Although a method using such an information flow analysis technique is also conceivable, it leads to performance degradation. Accordingly, it is assumed that a derivation rule 220 representing the correspondence between the given input variable 410 and the output variable 420 is input, and this is used in step S103. A method for deriving the derivation rule 220 will be described in detail in the second embodiment. Here, it is assumed that all the input variables 410 from which the output variable 420 is derived can be specified. For example, if the output data is derived from X1 and X2 among the input variables shown in FIG. 4, Policy2 and Policy3 are obtained by procedure (2), and the second access control is obtained by procedure (3). Rule 230 is derived. In this case, the second access control rule 230 combines Policy2 and Policy3 and becomes the following rule.

・プロセス1とプロセス2は、ファイル出力を禁止
・プロセス1、2を含み、カーネルを除く全てのプロセスは、計算機外への出力を禁止
次に、ステップS105において、アクセス制御部140は、第二のアクセス制御規則230に従い、当該出力データ320の出力処理を制御する。上記で示した例では、出力処理の主体がプロセス1であった場合に、出力先が別プロセスであれば出力を許可するが、出力先が計算機外やファイルであった場合には、出力を禁止する。
-Process 1 and process 2 prohibit file output-Processes 1 and 2, including all processes, except kernel, prohibit output outside computer Next, in step S105, the access control unit 140 The output processing of the output data 320 is controlled in accordance with the access control rule 230. In the example shown above, if the main subject of output processing is process 1, output is permitted if the output destination is a different process, but if the output destination is outside the computer or a file, output is permitted. Ban.

(作用及び効果)
第1の実施の形態に係るアクセス制御装置及びアクセス制御方法によると、プロセスに入力されたデータに対してアクセス制御規則を与え、プロセスからデータが出力される際に、そのデータのアクセス制御規則に従い出力処理を制御することができる。このため、例えば、図13の例では、プロセスAがプロセスBにリソースAを出力する際は許可されないが、リソースBを出力する際は許可されるといった柔軟なアクセス制御が可能である。また、リソースの入出力のみを監視することにより、情報流解析技術に発生したようなオーバーヘッドを軽減することができる。
(Action and effect)
According to the access control apparatus and the access control method according to the first embodiment, an access control rule is given to data input to the process, and when the data is output from the process, the access control rule of the data is obeyed. Output processing can be controlled. Therefore, for example, in the example of FIG. 13, flexible access control is possible in which process A is not permitted when outputting resource A to process B, but is permitted when outputting resource B. In addition, by monitoring only the input / output of resources, it is possible to reduce the overhead generated in the information flow analysis technique.

又、入力データ310の入力元が計算機上のリソースである場合、第一のアクセス制御規則導出部110は、リソースに対応する第一のアクセス制御規則210を導出することができる。このため、リソースに応じた出力処理を行うことができる。   If the input source of the input data 310 is a computer resource, the first access control rule deriving unit 110 can derive the first access control rule 210 corresponding to the resource. For this reason, the output process according to a resource can be performed.

又、第一のアクセス制御規則210及び第二のアクセス制御規則230は、出力処理の際に発生するシステムコールを許可するか否かを定めることができる。このため、システムコールの発行元プロセスが、指定されたリソースを入力する権限があるかどうかを調べ、権限がある場合にのみリソースを読み込むことができる。   In addition, the first access control rule 210 and the second access control rule 230 can determine whether or not to permit a system call generated during the output process. For this reason, the process that issued the system call checks whether or not it has the authority to input the specified resource, and can read the resource only when it has the authority.

又、入力データ310の入力先が当該プロセスを生成したプログラムが参照する変数である場合、入力データ特定部120は、変数を特定することができる。このため、変数に対応した第一のアクセス制御規則210に従って、出力処理を制御することができる。   Further, when the input destination of the input data 310 is a variable referred to by the program that generated the process, the input data specifying unit 120 can specify the variable. Therefore, the output process can be controlled according to the first access control rule 210 corresponding to the variable.

又、出力データ320が複数の入力データ310から派生する場合、第二のアクセス制御規則導出部130は、複数の入力データ310に対応する第一のアクセス制御規則210に従って、出力データ320に対応する第二のアクセス制御規則230を導出することができる。このため、すべての入力データ310を考慮した第二のアクセス制御規則230を導出することができる。   When the output data 320 is derived from a plurality of input data 310, the second access control rule deriving unit 130 corresponds to the output data 320 according to the first access control rule 210 corresponding to the plurality of input data 310. A second access control rule 230 can be derived. Therefore, it is possible to derive the second access control rule 230 in consideration of all input data 310.

又、出力処理がプロセス間通信におけるデータの送信である場合、第二のアクセス制御規則導出部130は、送信先のプロセスに対応する第一のアクセス制御規則210に従って、出力データ320に対応する第二のアクセス制御規則230を導出することができる。このため、送信先のプロセスに応じた出力制御を行うことができる。   When the output process is data transmission in inter-process communication, the second access control rule deriving unit 130 corresponds to the output data 320 according to the first access control rule 210 corresponding to the destination process. Two access control rules 230 can be derived. For this reason, output control according to the process of the transmission destination can be performed.

<第2の実施の形態>
(アクセス制御装置及びアクセス制御方法)
第2の実施形態では、入力データ特定部120が、出力変数420へデータを派生する入力変数410を特定する方法を述べる。ここで、派生とは、具体的には、出力変数420に格納されている出力データ320が、派生元の入力変数410に格納されている入力データ310から生成されたことを表す。例えば、図6のようなプログラムでは、変数に格納されているデータは、変数aと変数bに格納されたデータから生成されている。
<Second Embodiment>
(Access control device and access control method)
In the second embodiment, a method in which the input data specifying unit 120 specifies the input variable 410 that derives data to the output variable 420 will be described. Here, the derivation specifically indicates that the output data 320 stored in the output variable 420 is generated from the input data 310 stored in the derivation source input variable 410. For example, in the program as shown in FIG. 6, the data stored in the variable is generated from the data stored in the variable a and the variable b.

入力データ特定部120は、あらかじめ生成された派生規則220を用いることで、入力変数410を特定する。派生規則220は、例えば図7のように表され、出力変数420がどの入力変数410から派生するかを表す。この例では、出力変数Y1が入力変数X1、X2から派生することを表す。   The input data specifying unit 120 specifies the input variable 410 by using the derivation rule 220 generated in advance. The derivation rule 220 is expressed as shown in FIG. 7, for example, which input variable 410 the output variable 420 is derived from. In this example, the output variable Y1 is derived from the input variables X1 and X2.

派生規則220は、例えばプロセスを生成した実行プログラムのプログラムソースを静的解析することで生成可能である。具体的には、下記の手順による。   The derivation rule 220 can be generated, for example, by statically analyzing the program source of the execution program that generated the process. Specifically, the following procedure is followed.

(1)入力変数410、及び出力変数420を特定する。   (1) The input variable 410 and the output variable 420 are specified.

(ア) 入力変数410や出力変数420は、第1の実施の形態で示したようなシステムコールや、プログラム言語で規定された、そのシステムコールを呼び出すための高水準関数の引数となる変数であるため、プログラムソースの解析により特定可能である。   (A) The input variable 410 and the output variable 420 are variables that are arguments for a system call as described in the first embodiment or a high-level function for calling the system call specified in the program language. Therefore, it can be specified by analyzing the program source.

(イ) 例えば、ファイル入力には、第1の実施の形態で示したreadシステムコールや、その高水準関数であるfgets()関数等が用いられる。   (A) For example, the read system call shown in the first embodiment, the fgets () function that is a high-level function thereof, or the like is used for file input.

(2)特定された入力変数410、出力変数420を用い、プログラムソースを静的解析することで、派生規則220を生成する。   (2) The derived rule 220 is generated by statically analyzing the program source using the specified input variable 410 and output variable 420.

(ア) 図6のような派生が発生する演算において、演算の入力側が入力変数410であった場合に、演算の出力側の変数は入力変数410から派生したことになる。   (A) In the operation in which derivation occurs as shown in FIG. 6, when the input side of the operation is the input variable 410, the variable on the output side of the operation is derived from the input variable 410.

(イ) もし、入力変数410から派生した変数が入力となる演算が発生した場合、その演算の出力もまた、入力変数410から派生したことになる。   (A) If an operation is performed in which a variable derived from the input variable 410 is input, the output of the operation is also derived from the input variable 410.

(ウ) 上記の繰り返しにおいて、入力変数410や入力変数410から派生した変数から、さらに派生した変数が出力変数420であった場合、出力変数420の派生元入力変数として入力変数410を派生規則220に記録する。   (C) In the above repetition, when the variable further derived from the input variable 410 or the variable derived from the input variable 410 is the output variable 420, the input variable 410 is derived as the derivation source input variable of the output variable 420. To record.

(エ) 全ての入力変数410について、上記処理を繰り返す。   (D) The above process is repeated for all input variables 410.

入力データ特定部120は、上記のようにして得られた派生規則220を参照することで、出力処理に関わるシステムコールが発生した際、出力データ320が格納された出力変数420の派生元の入力変数410を特定する。   The input data specifying unit 120 refers to the derivation rule 220 obtained as described above, so that when a system call related to output processing occurs, the input source of the output variable 420 in which the output data 320 is stored is input. The variable 410 is specified.

(作用及び効果)
第2の実施の形態に係るアクセス制御装置及びアクセス制御方法によると、派生規則220は、プロセスを生成したプログラムのプログラムソースを静的解析することにより生成される。
(Action and effect)
According to the access control apparatus and the access control method according to the second embodiment, the derivation rule 220 is generated by statically analyzing the program source of the program that generated the process.

このように生成された派生規則220を参照することにより、出力変数420の派生元の入力変数410を適切に特定することができる。   By referring to the derivation rule 220 generated in this way, the input variable 410 from which the output variable 420 is derived can be appropriately specified.

<第3の実施の形態>
(アクセス制御装置及びアクセス制御方法)
第3の実施の形態では、第1の実施形態において特に出力処理による出力先が別のプロセスであった場合について述べる。第3の実施の形態では、アクセス制御部140により出力処理が許可され、プロセスへの出力データ320の出力が発生したものとする。
<Third Embodiment>
(Access control device and access control method)
In the third embodiment, a case will be described in which the output destination by the output process is a different process in the first embodiment. In the third embodiment, it is assumed that output processing is permitted by the access control unit 140 and output of the output data 320 to the process has occurred.

第3の実施形態に係わる入出力処理の流れを図8に示す。図8では、入力元プロセス510が参照する出力変数421に格納された出力データ321が、出力先プロセス520が参照する入力変数412に入力されている。   FIG. 8 shows the flow of input / output processing according to the third embodiment. In FIG. 8, the output data 321 stored in the output variable 421 referred to by the input source process 510 is input to the input variable 412 referred to by the output destination process 520.

出力先プロセス520から見た場合、入力元アクセス制御規則200は入力元プロセス510の出力変数に対応する第二のアクセス制御規則231である。出力先プロセス520の第一のアクセス制御規則導出部110は、出力先プロセス520が発行したシステムコールを参照することで、入力変数412に対応する第一のアクセス制御規則212を導出する。具体的には、readシステムコールのファイルディスクリプタを参照することで、入力元プロセス510の出力変数421を特定し、出力変数421に対応する第二のアクセス制御規則231を入力元アクセス制御規則200として取得し、入力変数412に対応する第一のアクセス制御規則212とする。   When viewed from the output destination process 520, the input source access control rule 200 is the second access control rule 231 corresponding to the output variable of the input source process 510. The first access control rule derivation unit 110 of the output destination process 520 derives the first access control rule 212 corresponding to the input variable 412 by referring to the system call issued by the output destination process 520. Specifically, the output variable 421 of the input source process 510 is specified by referring to the file descriptor of the read system call, and the second access control rule 231 corresponding to the output variable 421 is set as the input source access control rule 200. The first access control rule 212 corresponding to the input variable 412 is acquired.

(作用及び効果)
第3の実施の形態に係るアクセス制御装置及びアクセス制御方法によると、プロセスへの入力データが他のプロセスからの出力データ321である場合、第一のアクセス制御規則導出部110は、他のプロセスの出力データ321に対応する第二のアクセス制御規則231に従って、入力データに対応する第一のアクセス制御規則212を導出することができる。このため、各プロセスに応じた、柔軟な出力制御を行うことができる。
(Action and effect)
According to the access control device and the access control method according to the third embodiment, when the input data to the process is the output data 321 from the other process, the first access control rule deriving unit 110 In accordance with the second access control rule 231 corresponding to the output data 321, the first access control rule 212 corresponding to the input data can be derived. For this reason, flexible output control according to each process can be performed.

<第4の実施の形態>
(アクセス制御装置及びアクセス制御方法)
第4の実施形態では、第1の実施の形態において特に出力処理による出力先がファイルであった場合について述べる。第4の実施の形態では、アクセス制御部140により出力処理が許可され、ファイルへの出力データ320の出力が発生したものとする。
<Fourth embodiment>
(Access control device and access control method)
In the fourth embodiment, a case will be described in which the output destination by the output process is a file in the first embodiment. In the fourth embodiment, it is assumed that output processing is permitted by the access control unit 140 and output of the output data 320 to a file has occurred.

第4の実施形態に係わる入出力処理の流れを図9に示す。図9では、ファイル610から入力されたデータを格納する入力変数411に対応する第一のアクセス制御規則211、及びファイル620から入力されたデータを格納する入力変数412に対応する第一のアクセス制御規則212があり、出力変数420に対応する第二のアクセス制御規則230は、第一のアクセス制御規則211、及び第一のアクセス制御規則212から導出されている。また、出力データ320は、第二のアクセス制御規則230に従い、ファイル610へ出力されている。   FIG. 9 shows the flow of input / output processing according to the fourth embodiment. In FIG. 9, the first access control rule 211 corresponding to the input variable 411 that stores the data input from the file 610 and the first access control corresponding to the input variable 412 that stores the data input from the file 620. There is a rule 212, and a second access control rule 230 corresponding to the output variable 420 is derived from the first access control rule 211 and the first access control rule 212. The output data 320 is output to the file 610 according to the second access control rule 230.

あらかじめファイル610、及びファイル620について、図10に示したような入力元アクセス制御規則201、入力元アクセス制御規則202が定められていたとする。Policy610に該当するものが入力元アクセス制御規則201であり、Policy620に該当するものが入力元アクセス制御規則202である。   Assume that the input source access control rule 201 and the input source access control rule 202 as shown in FIG. 10 have been defined for the file 610 and the file 620 in advance. What corresponds to Policy 610 is the input source access control rule 201, and what corresponds to Policy 620 is the input source access control rule 202.

第1の実施の形態でも述べたように、第二のアクセス制御規則導出部は、入力変数411に対応する第一のアクセス制御規則210と入力変数412に対応する第二のアクセス制御規則212から、以下のような、出力変数420に対応する第二のアクセス制御規則230を導出する。   As described in the first embodiment, the second access control rule deriving unit includes the first access control rule 210 corresponding to the input variable 411 and the second access control rule 212 corresponding to the input variable 412. The second access control rule 230 corresponding to the output variable 420 is derived as follows.

・プロセス1とプロセス2は、ディスプレイへの出力を禁止
・プロセス1、2を含み、カーネルを除く全てのプロセスは、プロセスへの出力を禁止
第二のアクセス制御規則230では、ファイル出力については禁止されていないので、アクセス制御部140は、出力データ320のファイル610への出力を許可する。この際、アクセス制御部140は、第二のアクセス制御規則230を参照し、それをファイル610の入力元アクセス制御規則201に継承する。これにより、出力処理後の入力元アクセス制御規則201は、図11に示すようになる。
-Process 1 and process 2 are prohibited from outputting to the display.-All processes including processes 1 and 2 except the kernel are prohibited from outputting to the process. In the second access control rule 230, file output is prohibited. Therefore, the access control unit 140 permits the output data 320 to be output to the file 610. At this time, the access control unit 140 refers to the second access control rule 230 and inherits it to the input source access control rule 201 of the file 610. Thereby, the input source access control rule 201 after the output processing is as shown in FIG.

(作用及び効果)
第4の実施の形態に係るアクセス制御装置及びアクセス制御方法によると、出力データ320の出力先が計算機上のリソース(例えば、ファイル610)である場合、アクセス制御部140は、出力データ320に対応する第二のアクセス制御規則230に従って、図11に示すように、リソース(例えば、ファイル610)のアクセス制御規則を更新することができる。このため、出力処理に応じて、アクセス制御規則を適宜更新することができる。
(Action and effect)
According to the access control device and the access control method according to the fourth embodiment, when the output destination of the output data 320 is a computer resource (for example, the file 610), the access control unit 140 corresponds to the output data 320. In accordance with the second access control rule 230, the access control rule of the resource (for example, the file 610) can be updated as shown in FIG. Therefore, the access control rules can be updated as appropriate according to the output process.

<その他の実施の形態>
本発明は上記の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
<Other embodiments>
Although the present invention has been described according to the above-described embodiments, it should not be understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples, and operational techniques will be apparent to those skilled in the art.

例えば、第1の実施の形態に係るアクセス制御装置100において、第一のアクセス制御規則導出部110、入力データ特定部120、第二のアクセス制御規則導出部130、アクセス制御部140などをモジュールとして、一つのCPUに内蔵する構成としてもよいとして説明したが、それらが二つあるいはそれ以上のCPUに分かれていても構わない。その際はそれらのCPU間でデータのやりとりが行えるようにバスなどで装置間を接続しているとする。   For example, in the access control apparatus 100 according to the first embodiment, the first access control rule deriving unit 110, the input data specifying unit 120, the second access control rule deriving unit 130, the access control unit 140, and the like are used as modules. Although it has been described that the configuration may be built in one CPU, they may be divided into two or more CPUs. In this case, it is assumed that the devices are connected by a bus or the like so that data can be exchanged between the CPUs.

このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   As described above, the present invention naturally includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

第1の実施の形態に係るアクセス制御装置の構成ブロック図である。1 is a configuration block diagram of an access control apparatus according to a first embodiment. FIG. 第1の実施の形態に係る入出力処理を説明するための図である。It is a figure for demonstrating the input-output process which concerns on 1st Embodiment. 第1の実施の形態に係るリソースに付与されたアクセス制御規則の一例である。It is an example of the access control rule provided to the resource which concerns on 1st Embodiment. 第1の実施の形態に係る入力変数と第一のアクセス制御規則との対応表の一例である。4 is an example of a correspondence table between input variables and first access control rules according to the first embodiment. 第1の実施の形態に係るアクセス制御方法を示すフローチャートである。It is a flowchart which shows the access control method which concerns on 1st Embodiment. 第2の実施の形態に係る派生を説明するための図である。It is a figure for demonstrating the derivation which concerns on 2nd Embodiment. 第2の実施の形態に係る派生規則の一例である。It is an example of the derivation rule which concerns on 2nd Embodiment. 第3の実施の形態に係る入出力処理を説明するための図である。It is a figure for demonstrating the input / output process which concerns on 3rd Embodiment. 第4の実施の形態に係る入出力処理を説明するための図である。It is a figure for demonstrating the input-output process which concerns on 4th Embodiment. 第4の実施の形態に係る更新前のアクセス制御規則の一例である。It is an example of the access control rule before the update which concerns on 4th Embodiment. 第4の実施の形態に係る更新後のアクセス制御規則の一例である。It is an example of the access control rule after the update which concerns on 4th Embodiment. SELinuxにおける強制アクセス制御を説明するための図である。It is a figure for demonstrating mandatory access control in SELinux. プロセスに入力されたリソースの出力を説明するための図である。It is a figure for demonstrating the output of the resource input into the process.

符号の説明Explanation of symbols

100…アクセス制御装置
110…アクセス制御規則導出部
120…入力データ特定部
130…アクセス制御規則導出部
140…アクセス制御部
200、201、202…入力元アクセス制御規則
210、211、212…第一のアクセス制御規則
220…派生規則
230、231…第二のアクセス制御規則
310…入力データ
320、321…出力データ
410、411、412…入力変数
420、421…出力変数
510…入力元プロセス
520…出力先プロセス
610、620…ファイル
DESCRIPTION OF SYMBOLS 100 ... Access control apparatus 110 ... Access control rule derivation part 120 ... Input data specific | specification part 130 ... Access control rule derivation part 140 ... Access control part 200, 201, 202 ... Input source access control rule 210, 211, 212 ... 1st Access control rule 220: Derivation rule 230, 231 ... Second access control rule 310 ... Input data 320, 321 ... Output data 410, 411, 412 ... Input variable 420, 421 ... Output variable 510 ... Input source process 520 ... Output destination Process 610, 620 ... file

Claims (10)

入力データをプロセスが参照する入力変数へ入力し、プロセス実行に従い入力変数から派生した出力変数に格納された出力データを出力するアクセス制御装置であって、
前記入力データに対応する第一のアクセス制御規則を導出する第一のアクセス制御規則導出部と、
前記入力変数と前記出力変数との対応を表す派生規則に基づき、前記出力データの派生元である前記入力データを特定する入力データ特定部と、
前記入力データ特定部によって特定された入力データに対応する第一のアクセス制御規則に従って、出力データに対応する第二のアクセス制御規則を導出する第二のアクセス制御規則導出部と、
前記第二のアクセス制御規則に従って、前記出力データの出力処理を制御するアクセス制御部と
を備え
前記第一のアクセス制御規則導出部は、システムコールが発行され、入力データがプロセスに入力された際における入力元アクセス制御規則を、入力変数に対応する前記第一のアクセス制御規則として導出し、
前記第二のアクセス制御規則導出部は、
出力データが格納された出力変数の派生元となっている全ての入力変数を導出し、
導出した前記入力変数に対応する第一のアクセス制御規則を取得し、
全ての前記第一のアクセス制御規則から、出力変数に対応する第二のアクセス制御規則を導出する
ことを特徴とするアクセス制御装置。
An access control device that inputs input data to an input variable referred to by a process and outputs output data stored in an output variable derived from the input variable according to process execution,
A first access control rule derivation unit for deriving a first access control rule corresponding to the input data;
Based on a derivation rule that represents the correspondence between the input variable and the output variable, an input data specifying unit that specifies the input data from which the output data is derived,
A second access control rule deriving unit for deriving a second access control rule corresponding to the output data according to the first access control rule corresponding to the input data identified by the input data identifying unit;
An access control unit that controls output processing of the output data according to the second access control rule ,
The first access control rule derivation unit derives an input source access control rule when a system call is issued and input data is input to a process as the first access control rule corresponding to an input variable,
The second access control rule derivation unit includes:
Derive all the input variables that are the source of the output variable that stores the output data,
Obtaining a first access control rule corresponding to the derived input variable;
A second access control rule corresponding to an output variable is derived from all the first access control rules .
前記入力データの入力元が計算機上のリソースである場合、
前記第一のアクセス制御規則導出部は、前記リソースに対応する第一のアクセス制御規則を導出することを特徴とする請求項1に記載のアクセス制御装置。
When the input source of the input data is a computer resource,
The access control apparatus according to claim 1, wherein the first access control rule deriving unit derives a first access control rule corresponding to the resource.
前記第一のアクセス制御規則及び前記第二のアクセス制御規則は、前記出力処理の際に発生するシステムコールを許可するか否かを定めることを特徴とする請求項1又は2に記載のアクセス制御装置。   3. The access control according to claim 1, wherein the first access control rule and the second access control rule determine whether or not to permit a system call generated during the output process. 4. apparatus. 前記入力データの入力先が当該プロセスを生成したプログラムが参照する変数である場合、
前記入力データ特定部は、前記変数を特定することを特徴とする請求項1〜3のいずれか1項に記載のアクセス制御装置。
When the input destination of the input data is a variable referenced by the program that generated the process,
The access control apparatus according to claim 1, wherein the input data specifying unit specifies the variable.
前記出力データが複数の入力データから派生する場合、
前記第二のアクセス制御規則導出部は、前記複数の入力データに対応する第一のアクセス制御規則に従って、前記出力データに対応する第二のアクセス制御規則を導出することを特徴とする請求項1〜4のいずれか1項に記載のアクセス制御装置。
When the output data is derived from a plurality of input data,
The second access control rule deriving unit derives a second access control rule corresponding to the output data according to a first access control rule corresponding to the plurality of input data. The access control apparatus of any one of -4.
前記出力処理がプロセス間通信におけるデータの送信である場合、
前記第二のアクセス制御規則導出部は、送信先のプロセスに対応する第一のアクセス制御規則に従って、前記出力データに対応する第二のアクセス制御規則を導出することを特徴とする請求項1〜5のいずれか1項に記載のアクセス制御装置。
When the output processing is data transmission in inter-process communication,
The second access control rule deriving unit derives a second access control rule corresponding to the output data according to a first access control rule corresponding to a destination process. 6. The access control device according to any one of 5 above.
前記派生規則は、プロセスを生成したプログラムのプログラムソースを静的解析することにより生成されることを特徴とする請求項1〜6のいずれか1項に記載のアクセス制御装置。   The access control apparatus according to claim 1, wherein the derivation rule is generated by statically analyzing a program source of a program that generated a process. プロセスへの入力データが他のプロセスからの出力データである場合、
前記第一のアクセス制御規則導出部は、前記他のプロセスの出力データに対応する第二のアクセス制御規則に従って、前記入力データに対応する第一のアクセス制御規則を導出することを特徴とする請求項1〜のいずれか1項に記載のアクセス制御装置。
If the input data to the process is output data from another process,
The first access control rule deriving unit derives a first access control rule corresponding to the input data according to a second access control rule corresponding to output data of the other process. Item 6. The access control device according to any one of Items 1 to 5 .
出力データの出力先が計算機上のリソースである場合、
前記アクセス制御部は、前記出力データに対応する第二のアクセス制御規則に従って、前記リソースのアクセス制御規則を更新することを特徴とする請求項1〜8のいずれか1項に記載のアクセス制御装置。
If the output destination of the output data is a computer resource,
The access control apparatus according to claim 1, wherein the access control unit updates the access control rule of the resource according to a second access control rule corresponding to the output data. .
入力データをプロセスが参照する入力変数へ入力し、プロセス実行に従い入力変数から派生した出力変数に格納された出力データを出力するアクセス制御装置におけるアクセス制御方法であって、
前記アクセス制御装置が、前記入力データに対応する第一のアクセス制御規則を導出するステップと、
前記アクセス制御装置が、前記入力変数と前記出力変数との対応を表す派生規則に基づき、前記出力データの派生元である前記入力データを特定するステップと、
前記アクセス制御装置が、前記特定された入力データに対応する第一のアクセス制御規則に従って、前記出力データに対応する第二のアクセス制御規則を導出するステップと、
前記アクセス制御装置が、前記第二のアクセス制御規則に従って、前記出力データの出力処理を制御するステップと
を含み、
前記第一のアクセス制御規則を導出するステップでは、システムコールが発行され、入力データがプロセスに入力された際における入力元アクセス制御規則を、入力変数に対応する前記第一のアクセス制御規則として導出し、
前記第二のアクセス制御規則を導出するステップでは、
出力データが格納された出力変数の派生元となっている全ての入力変数を導出し、
導出した前記入力変数に対応する第一のアクセス制御規則を取得し、
全ての前記第一のアクセス制御規則から、出力変数に対応する第二のアクセス制御規則を導出する
ことを特徴とするアクセス制御方法。
An access control method in an access control device for inputting input data to an input variable referred to by a process and outputting output data stored in an output variable derived from the input variable according to process execution,
The access control device deriving a first access control rule corresponding to the input data;
The access control device identifying the input data from which the output data is derived based on a derivation rule representing a correspondence between the input variable and the output variable;
The access control device deriving a second access control rule corresponding to the output data according to a first access control rule corresponding to the identified input data;
The access control device in accordance with said second access control rule, see containing and controlling the output process of the output data,
In the step of deriving the first access control rule, an input source access control rule when a system call is issued and input data is input to the process is derived as the first access control rule corresponding to the input variable. And
In the step of deriving the second access control rule,
Derive all the input variables that are the source of the output variable that stores the output data,
Obtaining a first access control rule corresponding to the derived input variable;
A second access control rule corresponding to an output variable is derived from all the first access control rules .
JP2004347640A 2004-11-30 2004-11-30 Access control apparatus and access control method Expired - Fee Related JP4628073B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004347640A JP4628073B2 (en) 2004-11-30 2004-11-30 Access control apparatus and access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004347640A JP4628073B2 (en) 2004-11-30 2004-11-30 Access control apparatus and access control method

Publications (2)

Publication Number Publication Date
JP2006155416A JP2006155416A (en) 2006-06-15
JP4628073B2 true JP4628073B2 (en) 2011-02-09

Family

ID=36633607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004347640A Expired - Fee Related JP4628073B2 (en) 2004-11-30 2004-11-30 Access control apparatus and access control method

Country Status (1)

Country Link
JP (1) JP4628073B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181260B2 (en) * 2007-08-15 2012-05-15 International Business Machines Corporation Tracking the origins of data and controlling data transmission
US9027123B2 (en) 2008-12-08 2015-05-05 Nec Corporation Data dependence analyzer, information processor, data dependence analysis method and program
EP2696303B1 (en) 2012-08-03 2017-05-10 Alcatel Lucent Mandatory access control (MAC) in virtual machines
US9501646B2 (en) 2012-09-26 2016-11-22 Mitsubishi Electric Corporation Program verification apparatus, program verification method, and computer readable medium
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
KR102398014B1 (en) * 2015-08-21 2022-05-16 주식회사 케이티 Method of Streamlining of Access Control in Kernel Layer, Program and System using thereof
JP7446544B1 (en) 2023-07-05 2024-03-08 三菱電機株式会社 Information processing device and information processing method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887440A (en) * 1994-09-16 1996-04-02 Toshiba Corp Device and method for data input/output management
JPH11219320A (en) * 1998-02-03 1999-08-10 Toshiba Corp Data recording/reproducing system
JP2001290780A (en) * 2000-04-04 2001-10-19 Canon Inc Digital content circulation managing center, digital content user terminal, digital content circulation system, digital content managing method, digital content using method, and storage medium
JP2002268945A (en) * 2001-03-07 2002-09-20 Kanazawa Inst Of Technology Method for intensifying security of server information processing system
JP2002288030A (en) * 2001-03-27 2002-10-04 Hitachi Software Eng Co Ltd Program for prohibition of data taking-out
JP2003044297A (en) * 2000-11-20 2003-02-14 Humming Heads Inc Information processing method and device controlling computer resource, information processing system, control method therefor, storage medium and program
JP2006065689A (en) * 2004-08-27 2006-03-09 Ntt Docomo Inc Secret information protection apparatus, propagation rule derivation apparatus and method for protecting secret information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887440A (en) * 1994-09-16 1996-04-02 Toshiba Corp Device and method for data input/output management
JPH11219320A (en) * 1998-02-03 1999-08-10 Toshiba Corp Data recording/reproducing system
JP2001290780A (en) * 2000-04-04 2001-10-19 Canon Inc Digital content circulation managing center, digital content user terminal, digital content circulation system, digital content managing method, digital content using method, and storage medium
JP2003044297A (en) * 2000-11-20 2003-02-14 Humming Heads Inc Information processing method and device controlling computer resource, information processing system, control method therefor, storage medium and program
JP2002268945A (en) * 2001-03-07 2002-09-20 Kanazawa Inst Of Technology Method for intensifying security of server information processing system
JP2002288030A (en) * 2001-03-27 2002-10-04 Hitachi Software Eng Co Ltd Program for prohibition of data taking-out
JP2006065689A (en) * 2004-08-27 2006-03-09 Ntt Docomo Inc Secret information protection apparatus, propagation rule derivation apparatus and method for protecting secret information

Also Published As

Publication number Publication date
JP2006155416A (en) 2006-06-15

Similar Documents

Publication Publication Date Title
JP6248153B2 (en) Activate trust level
JP4676744B2 (en) Security-related programming interface
US8281410B1 (en) Methods and systems for providing resource-access information
EP2867820B1 (en) Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
US11194914B2 (en) Method and apparatus to detect security vulnerabilities in a web application
Lee et al. Lord of the x86 rings: A portable user mode privilege separation architecture on x86
US20180173876A1 (en) Deceiving attackers in endpoint systems
Singh et al. Analysis of malicious behavior of android apps
WO2007103192A2 (en) Prevention of executable code modification
Gadyatskaya et al. Security in the Firefox OS and Tizen mobile platforms
Wan et al. Practical and effective sandboxing for Linux containers
Athanasopoulos et al. Nacldroid: Native code isolation for android applications
US9477538B2 (en) Method and system for the support of application specific policies for conventional operating systems
JP4628073B2 (en) Access control apparatus and access control method
EP2754082B1 (en) Content handling for applications
US20110154364A1 (en) Security system to protect system services based on user defined policies
US8336059B2 (en) Access right checking system, access right checking method, and access right checking program
Kavitha et al. Exploring the malicious android applications and reducing risk using static analysis
KR101731920B1 (en) Mobile terminal and control method thereof
Mao et al. Automatic permission inference for hybrid mobile apps
US8788845B1 (en) Data access security
US20230035678A1 (en) Method and system for protecting security of html5 file
JP2005149394A (en) Information processor, information processing method, program and recording medium
Mituca et al. Access control for apps running on constrained devices in the internet of things
Nakamura et al. (Short Paper) Evidence Collection and Preservation System with Virtual Machine Monitoring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101018

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

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

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees