JP2005063224A - Method and device for automatically generating security policy of secure os, and program for executing the method - Google Patents
Method and device for automatically generating security policy of secure os, and program for executing the method Download PDFInfo
- Publication number
- JP2005063224A JP2005063224A JP2003293787A JP2003293787A JP2005063224A JP 2005063224 A JP2005063224 A JP 2005063224A JP 2003293787 A JP2003293787 A JP 2003293787A JP 2003293787 A JP2003293787 A JP 2003293787A JP 2005063224 A JP2005063224 A JP 2005063224A
- Authority
- JP
- Japan
- Prior art keywords
- security policy
- generating
- notation
- source code
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、リソースのラベリングと強制アクセス制御(MAC:Mandatory Access Control)機構などを導入したセキュアなオペレーティングシステム(OS:Operating System、以下、セキュアなオペレーティングシステムのことをセキュアOSと呼ぶ)における、セキュリティポリシと呼ばれるセキュリティ設定を自動的に生成する方法及び装置に関する。 The present invention provides security in a secure operating system (OS: Operating System, hereinafter referred to as a secure OS) in which resource labeling and a mandatory access control (MAC) mechanism are introduced. The present invention relates to a method and an apparatus for automatically generating a security setting called a policy.
軍事設備を含んだ中央省庁においては、従来のOSよりも高いセキュリティを有するOSが必要とされ、セキュアOS(例えば、非特許文献1を参照 )の中でも、特に、トラステッド(Trusted)OSと呼ばれるTCSEC(Trusted Computer Systems Evaluation Criteria)のB1レベル及びCMWEC(Compartmented Mode Workstation Evaluation Criteria) で求められている機能を実装しているOSの普及が進んできた。セキュアOSは、トラステッドOSほど厳しい実装要件は必要とされないものの、MAC機構などトラステッドOSの実装要件の一部を満たしているOSのことを指している。セキュアOSは、中央省庁以外でも、ユーザやスーパーユーザが不適切なセキュリティ設定を行うことによる情報漏洩・サーバへの不正侵入・不正利用を特に警戒する環境において、今後普及が進むことが予測されている。 Central government agencies that include military equipment require OSs with higher security than conventional OSs. Among secure OSs (see, for example, Non-Patent Document 1), TCSEC called a Trusted OS is particularly preferred. The spread of OSs that implement the functions required by the B1 level of (Trusted Computer Systems Evaluation Criteria) and CMWEC (Compartmented Mode Workstation Evaluation Criteria) has progressed. A secure OS refers to an OS that satisfies some of the requirements for implementing a trusted OS, such as a MAC mechanism, although implementation requirements that are not as strict as those of a trusted OS are required. Secure OSs are expected to spread further in environments that are particularly wary of information leaks, unauthorized intrusion and unauthorized use of servers by inappropriate security settings by users and superusers other than central government ministries and agencies. Yes.
セキュアOSは、セキュリティポリシと呼ぶセキュリティの設定をきめ細かく施すことにより高いセキュリティを実現している。このセキュリティポリシは、一般に、OSによって書式等が異なるばかりでなく、各OSで複数の強制アクセス制御の実装形態を利用できる場合には、それぞれの強制アクセス制御の実装形態によっても書式が異なる。例えば、セキュアOSのMAC機構は、ユーザやスーパーユーザが従来の任意アクセス制御(DAC:Discretionary Access Control)の範囲でどのような設定を行っても、予めセキュリティ管理者が設定したMACのセキュリティポリシで許可しているアクセス権限を越えてプロセスが動作することができないようになっている、そのため、あるアプリケーションをMAC機構に対応したセキュアOS上で動作させるためには、セキュリティポリシにおいて、そのアプリケーションのプロセスがどのようなプロセス、ファイル、ソケットといったリソースにアクセスする権限が必要なのかを羅列しなければならない。 The secure OS realizes high security by finely setting a security setting called a security policy. In general, the format of this security policy is not only different depending on the OS, but also in the case where a plurality of mandatory access control implementation forms can be used in each OS, the format differs depending on the implementation form of each mandatory access control. For example, the MAC mechanism of the secure OS is based on the MAC security policy set in advance by the security administrator, no matter what setting the user or super user performs within the range of conventional discretionary access control (DAC). The process cannot operate beyond the permitted access authority. Therefore, in order to operate a certain application on the secure OS corresponding to the MAC mechanism, the process of the application is required in the security policy. Must list what processes, files, sockets, etc. resources they need to have access to.
従来、このセキュリティポリシは人手によって生成する他はなく、アプリケーションの動作とセキュアOSの仕様・セキュリティポリシの双方を理解している開発者が各アプリケーション、OS、強制アクセス制御の実装形態ごとにセキュリティポリシを生成する必要があった。また、先述のようにセキュリティポリシがターゲットマシンのディレクトリ構造に左右されるMAC機構に対応する場合は、ディレクトリ構造も考慮してセキュリティポリシを生成しなければならない。このようにセキュリティポリシを生成するためには多くの情報を必要とするため、セキュアOS上でアプリケーションを動作させるためには、アプリケーションの開発時、導入時、さらには維持管理時にも多くのコストがかかることになる。これは、セキュアOSの普及の阻害要因となっている。
上述したように、セキュアOSのセキュリティポリシの生成に際しては、従来、その大半に人手が介在し、また、セキュリティポリシの作成者は、アプリケーションの動作とセキュアOS仕様・セキュリティポリシの文法の双方を知る必要がある。また、アプリケーションが必要としていないセキュリティポリシを追加してしまうことにより、セキュリティホールが混入する恐れがある。さらに、セキュリティポリシの設定は難解であり、一般に、アプリケーションの開発者とセキュリティポリシを理解して設定できる開発者とは別となっている。このため、セキュアOSを利用するためにはコストがかかってしまう。 As described above, when generating a security policy for a secure OS, the majority of them have conventionally involved human intervention, and the creator of the security policy knows both the operation of the application and the grammar of the secure OS specification / security policy. There is a need. Also, adding a security policy that is not required by the application may lead to security holes. Furthermore, setting a security policy is difficult, and is generally separate from an application developer and a developer who can understand and set the security policy. For this reason, it is expensive to use the secure OS.
本発明は、このような問題を解決し、セキュアOS上でアプリケーションを使用するためにセキュリティポリシを生成する際に、アプリケーションのソースファイルないし開発時に使用するモデリング図からセキュリティポリシの雛型を生成し、さらにアプリケーションを使用するセキュアOSの環境に特化したセキュリティポリシを自動的に生成することができる方法及び装置を提供することにある。 The present invention solves such a problem, and generates a security policy template from an application source file or a modeling diagram used during development when generating a security policy for using an application on a secure OS. Another object of the present invention is to provide a method and apparatus capable of automatically generating a security policy specialized for a secure OS environment using an application.
本発明による、リソースへのラベリングと強制アクセス制御機構とを備えたセキュアOSにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成する方法は、アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのOSと強制アクセス制御の実装形態に依存しない第1の中間表記を生成する、第1の中間表記生成段階と、第1の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することによりそのアクセス関係のアクセス権限を解決する段階と、第1の中間表記に基づき、ターゲットのOSと強制アクセス制御の実装形態の情報からターゲットのディレクトリ構造に依存しない第2の中間表記を生成する段階と、第2の中間表記に基づき、ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する段階と、を有する。 According to the present invention, a method for automatically generating a security policy used for operating an application in a secure OS having a resource labeling and a mandatory access control mechanism is obtained from a source code representing an application or a modeling diagram. In the first intermediate notation generation stage for generating the first intermediate notation that does not depend on the OS and the implementation form of mandatory access control, and in the generation of the first intermediate notation, a certain access relationship is set in the security policy. When there are a plurality of candidates for access authority, the stage of resolving the access authority of the access relationship by presenting the candidate access authority to the user, and implementation of the target OS and forced access control based on the first intermediate notation From the form information, the target directory structure Based on the generating a second intermediate representation which is independent, a second intermediate representation comprises generating a security policy from the information in the directory structure of the target, the.
ここでソースコードとして、既存のコンパイラには無視されてその既存のコンパイラには影響を与えない構文からなるとともにセキュリティポリシの生成に必要な情報を持つ指示子をソースコードに埋め込んだ指示子表記拡張ソースコードを用いる場合には、第1の中間表記生成段階は、この指示子表記拡張ソースコードから指示子表記を抽出する段階と、指示子表記から第1の中間表記を生成する段階と、を備えればよい。この場合、セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、このセキュリティポリシ記述拡張モデリング図を指示子表記拡張ソースコードに変換するようにしてもよい。 Here, as the source code, the directive notation extension that has a syntax that is ignored by the existing compiler and does not affect the existing compiler and that has information necessary for generating the security policy is embedded in the source code. In the case of using the source code, the first intermediate notation generation step includes a step of extracting the indicator notation from the indicator notation extended source code and a step of generating the first intermediate notation from the indicator notation. You just have to prepare. In this case, the security policy description extended modeling diagram whose grammar is extended so that the information necessary for generating the security policy can be embedded is input, and this security policy description extended modeling diagram is converted into the indicator notation extended source code. May be.
ソースコードとして既存文法によるソースコードを用いる場合には、第1の中間表記生成段階は、既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、抽出されたアクセス権限から第1の中間表記を生成する段階と、を備えればよい。この場合、既存文法によるモデリング図を入力として、この既存文法によるモデリング図を既存文法によるソースコードに変換するようにしてもよい。 In the case of using source code according to an existing grammar as source code, the first intermediate notation generation stage extracts what resources and what access authority the process requires in the source code according to the existing grammar; Generating a first intermediate representation from the extracted access authority. In this case, a modeling diagram based on the existing grammar may be input to the modeling diagram based on the existing grammar and converted into source code based on the existing grammar.
モデリング図として、上述したセキュリティポリシ記述拡張モデリング図を用いる場合には、第1の中間表記生成段階は、セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出する段階と、セキュリティポリシ記述から第1の中間表記を生成する段階と、を備えればよい。 When the above-described security policy description extended modeling diagram is used as a modeling diagram, the first intermediate notation generation step includes a step of extracting a security policy description from the security policy description extended modeling diagram, and a first step from the security policy description. Generating an intermediate representation.
モデリング図として既存文法によるモデリング図を用いる場合には、第1の中間表記生成段階は、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、抽出されたアクセス権限から第1の中間表記を生成する段階と、を備えればよい。 When using a modeling diagram based on an existing grammar as a modeling diagram, the first intermediate notation generation step is a step of extracting what access authority is required for which resource by the process, and from the extracted access authority. Generating a first intermediate representation.
本発明による、リソースへのラベリングと強制アクセス制御機構とを備えたセキュアOSにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成する装置は、アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのOSと強制アクセス制御の実装形態に依存しない第1の中間表記を生成する、第1の中間表記生成手段と、第1の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することによりそのアクセス関係のアクセス権限を解決する手段と、第1の中間表記に基づき、ターゲットのOSと強制アクセス制御の実装形態の情報からターゲットのディレクトリ構造に依存しない第2の中間表記を生成し、第2の中間表記に基づき、ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する手段と、を有する。 According to the present invention, an apparatus for automatically generating a security policy used for operating an application in a secure OS having a resource labeling and a mandatory access control mechanism is obtained from a source code representing an application or a modeling diagram. When generating the first intermediate notation and the first intermediate notation generating means for generating the first intermediate notation that does not depend on the OS and the implementation form of the mandatory access control, a certain access relationship is set in the security policy. When there are a plurality of candidates for access authority, means for resolving the access authority of the access relationship by presenting the candidate access authority to the user, and implementation of target OS and forced access control based on the first intermediate notation From the form information, the target directory structure Generating a second intermediate representation which does not depend on, based on the second intermediate representation comprises means for generating a security policy from the information in the directory structure of the target, the.
ここでソースコードとして、上述したような指示子表記拡張ソースコードを用いるためには、第1の中間表記生成手段は、指示子表記拡張ソースコードから指示子表記を抽出し、指示子表記から第1の中間表記を生成する手段を備えていればよい。この場合、上述したセキュリティポリシ記述拡張モデリング図を入力として、セキュリティポリシ記述拡張モデリング図を指示子表記拡張ソースコードに変換する手段をさらに設けてもよい。 Here, in order to use the indicator notation extended source code as described above as the source code, the first intermediate notation generating unit extracts the indicator notation from the indicator notation extended source code, It suffices to have a means for generating one intermediate representation. In this case, there may be further provided means for converting the security policy description extended modeling diagram into the indicator notation extended source code with the above-described security policy description extended modeling diagram as an input.
ソースコードとして既存文法によるソースコードを用いるためには、第1の中間表記生成手段は、その既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出し、抽出されたアクセス権限から第1の中間表記を生成する手段を備えていればよい。 In order to use the source code based on the existing grammar as the source code, the first intermediate notation generating means extracts and extracts what access authority the process requires in the source code based on the existing grammar. It suffices to have means for generating the first intermediate notation from the access authority that has been set.
モデリング図として上述したセキュリティポリシ記述拡張モデリング図を用いるためには、第1の中間表記生成手段は、セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出し、セキュリティポリシ記述から第1の中間表記を生成する手段を備えていればよい。 In order to use the above-described security policy description extended modeling diagram as a modeling diagram, the first intermediate notation generation unit extracts the security policy description from the security policy description extended modeling diagram, and uses the first intermediate notation from the security policy description. What is necessary is just to provide the means to produce | generate.
モデリング図として既存文法によるモデリング図を用いる場合には、第1の中間表記生成手段は、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出し、抽出されたアクセス権限から第1の中間表記を生成する手段を備えていればよい。 When a modeling diagram based on an existing grammar is used as a modeling diagram, the first intermediate notation generation unit extracts what access authority is required for which resource by the process, and the first access authority is extracted from the extracted access authority. It suffices to have a means for generating the intermediate representation.
本発明によれば、セキュアOSのセキュリティポリシの自動的に生成することが可能となって、セキュアOSとセキュアOS上で動作させるアプリケーションの開発・導入・維持管理時のコストを削減することができる。さらに、アプリケーションのソースファイルからセキュリティポリシを自動的に生成する場合において、そのアプリケーションが必要としていないセキュリティポリシが追加されることが防がれ、これにより、セキュリティの強化が可能になる。 According to the present invention, it is possible to automatically generate a security policy for a secure OS, and it is possible to reduce costs during development, introduction, and maintenance management of a secure OS and an application operating on the secure OS. . Furthermore, when a security policy is automatically generated from an application source file, it is possible to prevent a security policy not required by the application from being added, thereby enhancing security.
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図1は、本発明の実施の一形態のセキュリティポリシ自動生成装置の構成を示すブロック図である。 Next, a preferred embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an automatic security policy generation apparatus according to an embodiment of the present invention.
図1に示したセキュリティポリシ自動生成装置100は、アプリケーションの指示子表記拡張ソースコード11、既存文法によるアプリケーションのソースコード12、既存文法によるアプリケーションのモデリング図13、アプリケーションのセキュリティポリシ記述拡張モデリング図14のいずれかを入力として、そのアプリケーションをセキュアOS上で動作させるためのセキュリティポリシ16を生成するものである。ここで指示子表記拡張ソースコード11とは、セキュリティポリシの自動生成に必要な情報を埋め込むことができるような指示子を埋め込んだソースコードのことを指す。この場合、この指示子は、既存のコンパイラには無視され、既存のコンパイラの処理には影響を与えないような構文からなっている。セキュリティポリシ記述拡張モデリング図14とは、セキュリティポリシ生成に必要な情報を記述できるように文法を拡張したモデリング図のことを指す。
The automatic security
セキュリティポリシ自動生成部装置100は、指示子表記拡張ソースコード11から指示子を抽出する指示子抽出部111と、既存文法によるソースコード12を解釈するソースコード解釈部112と、セキュリティポリシ記述拡張モデリング図14を指示子表記拡張ソースコード11に変換する拡張モデリング図変換部113と、既存文法によるモデリング図13を解釈するモデリング図解釈部114と、セキュリティポリシ記述拡張モデリング図14からセキュリティポリシ記述を抽出するセキュリティポリシ記述抽出部115、既存文法によるソースコードまたはモデリング図の解釈結果に基づき、アプリケーションのプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出するアクセス権限抽出部121と、抽出された指示子、アクセス権限あるいはセキュリティポリシ記述に基づいてセキュリティポリシ16を生成するセキュリティポリシ生成部131と、ユーザに対して問合せを行うユーザ問合せ部141と、を備えている。
The security policy
具体的には、指示子抽出部111は、指示子表記拡張ソースコード11中の指示子表記を抽出し、これをターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。ソースコード解釈部112は、既存文法によるソースコード12をアセンブリ言語などの低級言語表記に変換する。モデリング図解釈部114は、既存文法によるモデリング図13をプロセス対リソースの関係を記した中間表記0に変換する。セキュリティポリシ記述抽出部115は、セキュリティポリシ記述モデリング図14中のセキュリティポリシ記述を抽出して、これを、ターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。アクセス権限抽出部121は、上述した低級言語表記あるいは中間表記0から、必要なアクセス権限を抽出・蓄積して、蓄積したアクセス権限を、ターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。セキュリティポリシ生成部131は、中間表記1をターゲットのディレクトリ構造に依存しない中間表記2に変換し、さらに最終的なセキュリティポリシを生成する。なお、対象とするアプリケーションにおいて、あるアクセス関係についてセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合があるが、これについては、ユーザ問合せ部141がこれら複数のアクセス権限候補をユーザに提示し、ユーザが選択したアクセス権限によってセキュリティポリシが設定されるようにしている。すなわち、指示子抽出部111、セキュリティポリシ記述抽出部及びアクセス権限抽出部121は、中間表記1を生成する際に複数のアクセス権限候補があってそれを解決しなければならないときに、ユーザ問合せ部141を介してユーザに問い合わせ、アクセス権限の解決を行う。
Specifically, the
次に、このセキュリティポリシ自動生成装置100によるセキュリティポリシの自動生成について、説明する。上述したようにこのセキュリティポリシ自動生成装置100は、指示子表記拡張ソースコード11、既存文法によるソースコード12、既存文法によるモデリング図13、セキュリティポリシ記述拡張モデリング図14のいずれかを入力としてセキュリティポリシを生成するものであるから、これら指示子表記拡張ソースコード11、既存文法によるソースコード12、既存文法によるモデリング図13及びセキュリティポリシ記述拡張モデリング図14のそれぞれごとに、どのようにしてセキュリティポリシが生成されるかを説明する。
Next, automatic generation of a security policy by the security policy
指示子表示拡張ソースコード11がセキュリティポリシ自動作成装置100に与えられると、指示子抽出部111は、指示子表記拡張ソースコード11から指示子を抽出して中間表記1に変換し、セキュリティポリシ生成部131は指示子に基づく中間表記1をセキュリティポリシに変換することにより、セキュリティポリシを生成する。
When the indicator display
既存文法によるソースコード12がセキュリティポリシ自動作成装置100に与えられると、ソースコード解釈部112は、セキュリティポリシ自動生成に必要となるアクセス権限に関する情報を抽出しやすいように、このソースコードの低級言語への変換を行う。その後、アクセス権限抽出部121は、低級言語に変換されたソースコードに基づいて、対象とするアプリケーションが必要とするアクセス権限を抽出・蓄積してそれを中間表記1に変換し、セキュリティポリシ生成部131は、抽出・蓄積されたアクセス権限に基づく中間表記1をセキュリティポリシに変換することにより、セキュリティポリシ16を生成する。
When the
セキュリティポリシ記述拡張モデリング図14からのセキュリティポリシの生成には、2通りの手順がある。第1の手順では、セキュリティポリシ記述拡張モデリング図14がセキュリティポリシ自動生成装置100に与えられると、拡張モデリング図変換部113によってセキュリティポリシ記述拡張モデリング図14が指示子表記拡張ソースコード11に変換し、その後、上述した指示子表記拡張ソースコード11に対する手順によって、セキュリティポリシ16が生成する。2つ目の手順では、セキュリティポリシ記述拡張モデリング図14がセキュリティポリシ自動生成装置100に与えられると、セキュリティポリシ記述抽出部115は、セキュリティポリシ記述拡張モデリング図14に含まれるセキュリティポリシ記述を抽出して中間表記1に変換し、セキュリティポリシ生成部131はこのセキュリティポリシ記述に基づく中間表記1をセキュリティポリシに変換し、これによってセキュリティポリシ16が生成する。
Security Policy Description Extended Modeling There are two procedures for generating a security policy from FIG. In the first procedure, when the security policy description extended modeling FIG. 14 is given to the automatic security
既存文法によるモデリング図13からのセキュリティポリシ16の生成には2通りの手順がある。1つ目の手順では、モデリング図変換装置15によって既存文法によるモデリング図13を既存文法によるソースコード12に変換し、このソースコード12をセキュリティポリシ自動生成装置100に与えることにより、上述した既存文法によるソースコード12からのセキュリティポリシ16の生成の手順にしたがって、セキュリティポリシ16を生成する。モデリング図からソースコードを生成するモデリング図変換装置15としては、既存技術によるものを使用することができる。2つ目の手順では、既存文法のモデリング図13がセキュリティポリシ自動生成装置100に与えられると、モデリング図解釈部114は、このモデリング図13から、対象とするアプリケーションにおいてどのようなアクセスが発生するかを抽出し、アクセス権限抽出部121は、モデリング図解釈部114での抽出結果に応じて、対象とするアプリケーションが必要とするアクセス権限を抽出・蓄積して、蓄積したアクセス権限に基づく中間表記1を生成する。その後、セキュリティポリシ生成部131は、抽出・蓄積されたアクセス権限に基づく中間表記1をセキュリティポリシに変換することにより、セキュリティポリシ16を生成する。
Modeling with Existing Grammar There are two procedures for generating the
図2は、このセキュリティポリシ自動生成装置100において、セキュリティポリシ記述拡張モデリング図14と指示子表記拡張ソースコード11のいずれかを入力としてセキュリティポリシを自動生成する処理を示すフローチャートである。ここでは、セキュリティポリシ記述拡張モデリング図については、上述した1つ目の手順で処理されるものとする。
FIG. 2 is a flowchart showing a process for automatically generating a security policy with either the security policy description extended modeling FIG. 14 or the indicator notation extended
入力があると、まずステップ201において、その入力がセキュリティポリシ記述拡張モデリング図であるか指示子表記拡張ソースコードであるかを判定する。
If there is an input, it is first determined in
入力がセキュリティポリシ記述拡張モデリング図である場合には、拡張モデリング図変換部113にそのセキュリティポリシ記述拡張モデリング図がわたされ、ステップ211において、拡張モデリング図変換部113は、そのモデリング図中のセキュリティポリシ記述を抽出し、ステップ212において、セキュリティポリシ記述を指示子表記に変換する。このステップ211、212と並行して、ステップ221において、拡張モデリング図変換部113は、モデリング図中のセキュリティポリシ記述以外の記述を抽出し、ステップ222において、セキュリティポリシ記述以外の記述をソースコードに変換する。ステップ212での指示子表記への変換とステップ222でのソースコードへの変換が終了すると、これらの指示子表記とソースコードとを、ステップ223において、指示子を含んだ指示子表記拡張ソースコードに統合する。これにより、拡張モデリング図変換部113での処理は終了する。その後、ステップ202に移行する。
When the input is a security policy description extended modeling diagram, the extended modeling
ステップ201において入力が指示子表記拡張ソースコードであった場合には、そのままステップ202に移行する。
If the input is the indicator notation extension source code in
ステップ202では、指示子抽出部111が、指示子表記拡張ソースコードから、指示子表記を抽出する。次にステップ203において、指示子表記においてそれぞれの設定項目について複数のアクセス権限候補があるかどうかを判定し、複数のアクセス権限候補がある場合には、ステップ207においてユーザ問合せ部141によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の1つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ1つずつ決まると、ステップ204において、指示子抽出部111は、指示子表記をターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。その後、セキュリティポリシ生成部131は、ステップ205において、ターゲットのOSと強制アクセス制御の実装形態の情報とに基づいて、中間表記1をターゲットのディレクトリ構造に依存しない中間表記2に変換し、ステップ206において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。ターゲットのOSと強制アクセス制御の実装形態とディレクトリ構造とに関する情報は、予め、あるいはセキュリティポリシの生成時に、セキュリティポリシ生成部131に入力として与えられる。実際に本実施形態に基づいてセキュリティポリシを生成する際には、アプリケーションをステップ205の段階の中間表記2のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ206を実行するようにしてもよい。
In
図3は、このセキュリティポリシ自動生成装置100において、既存文法によるモデリング図13あるいは既存文法によるソースコード12のいずれかを入力としてセキュリティポリシを自動生成する処理を示すフローチャートである。ここでは、既存文法については、上述した1つ目の手順で処理されるものとする。
FIG. 3 is a flowchart showing a process for automatically generating a security policy by using either the modeling FIG. 13 based on the existing grammar or the
入力があると、まずステップ301において、その入力が既存文法のモデリング図であるか既存文法のソースコードであるかを判定する。入力が既存文法のモデリング図である場合には、ステップ311において、それをモデリング図変換装置15に与えて既存文法のソースコードに変換する。その後、入力されたあるいはモデリング図から変換されたソースコードを、ステップ302において、ソースコード解釈部112は、アセンブリ言語などの低級言語表記に変換する。ステップ303において、アクセス権限抽出部121は、必要なアクセス権限をその低級言語表記から抽出・蓄積する。これは例えば、アセンブリ言語表記のソースコード中でシステムコールが発行される部位に着目して、どのようなシステムコールを発行する権限を与える必要があるかを蓄積することによって実現できる。ステップ304では、それぞれの設定項目について複数のアクセス権限候補があるかどうかを判定し、複数のアクセス権限候補がある場合には、ステップ208においてユーザ問合せ部141によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の1つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ1つずつ決まると、ステップ305において、アクセス権限抽出部121は、蓄積されているアクセス権限をターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。その後、図2に示した場合と同様に、セキュリティポリシ生成部131は、ステップ306において、ターゲットのOSと強制アクセス制御の実装形態の情報とに基づいて、中間表記1をターゲットのディレクトリ構造に依存しない中間表記2に変換し、ステップ307において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。この場合も、アプリケーションをステップ306の段階の中間表記2のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ307を実行するようにしてもよい。
If there is an input, it is first determined in
図4は、このセキュリティポリシ自動生成装置100において、セキュリティポリシ記述拡張モデリング図14について上述した2つ目の手順を適用してセキュリティポリシを自動生成する処理を示すフローチャートである。 FIG. 4 is a flowchart showing a process for automatically generating a security policy by applying the second procedure described above with respect to the security policy description extended modeling FIG.
まず、ステップ401において、セキュリティポリシ記述抽出部115は、セキュリティポリシ記述拡張モデリング図中のセキュリティポリシ記述を抽出する。次にステップ402において、それぞれの設定項目について複数のアクセス権限候補があるかどうかを判定し、複数のアクセス権限候補がある場合には、ステップ406においてユーザ問合せ部141によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の1つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ1つずつ決まると、セキュリティポリシ記述抽出部115は、ステップ403において、セキュリティポリシ記述をターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。その後、図2に示した場合と同様に、セキュリティポリシ生成部131は、ステップ404において、ターゲットのOSと強制アクセス制御の実装形態の情報とに基づいて、中間表記1をターゲットのディレクトリ構造に依存しない中間表記2に変換し、ステップ405において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。この場合も、アプリケーションをステップ404の段階の中間表記2のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ405を実行するようにしてもよい。
First, in
図5は、このセキュリティポリシ自動生成装置100において、既存文法によるモデリング図13について上述した2つ目の手順を適用してセキュリティポリシを自動生成する処理を示すフローチャートである。 FIG. 5 is a flowchart showing a process for automatically generating a security policy by applying the second procedure described above with respect to FIG.
まず、ステップ501において、モデリング図解釈部121は、モデリング図を各プロセス対リソースの関係を記した中間表記0に変換する。次に、アクセス権限抽出部121は、ステップ502において、中間表記0から各プロセス対リソースの必要なアクセス権限を抽出する。次に、ステップ503において、それぞれの設定項目につきアクセス権限を候補が複数有り得るかどうかを判定し、アクセス権限候補が複数ある場合には、ステップ507においてユーザ問合せ部141によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の1つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ1つずつ決まると、アクセス権限抽出部121は、ステップ504において、中間表記0をターゲットのOSと強制アクセス制御の実装形態に依存しない中間表記1に変換する。その後、図2に示した場合と同様に、セキュリティポリシ生成部131は、ステップ505において、ターゲットのOSと強制アクセス制御の実装形態の情報とに基づいて、中間表記1をターゲットのディレクトリ構造に依存しない中間表記2に変換し、ステップ506において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。この場合も、アプリケーションをステップ505の段階の中間表記2のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ506を実行するようにしてもよい。
First, in
以上のようにして本実施形態のセキュリティポリシ自動生成装置100を用いることにより、アプリケーションについて、その指示子表記拡張ソースコード11、既存文法によるソースコード12、既存文法によるモデリング図13、及びセキュリティポリシ記述拡張モデリング図14の各々からセキュリティポリシを自動生成することが可能になる。なお、当然ことながら、このセキュリティポリシ自動生成装置100は、入力として何を用いるのかに応じて、指示子抽出部111、ソースコード解釈部112、拡張モデリング図変換部113、モデリング図解釈部114、セキュリティポリシ記述抽出部115及びアクセス権限抽出部121のうちの一部を省略することができる。例えば指示子表記拡張ソースコードのみを対象にするのであれば、指示子抽出部111、セキュリティポリシ生成部131及びユーザ問合せ部141のみを設ければよい。
As described above, by using the security policy
以上説明したセキュリティポリシ自動生成装置100は、一般には、セキュリティポリシを自動生成するためのコンピュータプログラムを、パーソナルコンピュータやワークステーションなどのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。セキュリティポリシの自動生成を実行するためのプログラムは、CD−ROMなどの記録媒体によって、あるいはネットワークを介して、コンピュータに読み込まれる。そのようなコンピュータは、例えば、CPUと、プログラムやデータを格納するためのハードディスク装置と、主メモリと、キーボードやマウスなどの入力装置と、CRTや液晶ディスプレイなどの表示装置と、CD−ROM等の記録媒体を読み取る読み取り装置と、ネットワークと接続するための通信インタフェースとから構成されている。ハードディスク装置、主メモリ、入力装置、表示装置、読み取り装置及び通信インタフェースは、いずれもCPUに接続している。このコンピュータでは、セキュリティポリシの自動生成を行うためのプログラムを格納した記録媒体を読み取り装置に装着してそのプログラムを記録媒体から読み出してハードディスク装置に格納し、あるいはそのようなプログラムをネットワークを介してダウンロードしてハードディスク装置に格納し、ハードディスク装置に格納されたプログラムをCPUが実行し、さらに、対象とするアプリケーションの指示子表記拡張ソースコード、既存文法によるソースコード、既存文法によるモデリング図あるいはセキュリティポリシ記述拡張モデリングを与えることによって、セキュリティポリシの自動生成が行われる。
Generally, the security policy
11 指示子表記拡張ソースコード
12 既存文法のソースコード
13 既存文法のモデリング図
14 セキュリティポリシ記述拡張モデリング図
15 モデリング図変換装置
16 生成されたセキュリティポリシ
100 セキュリティポリシ自動生成装置
111 指示子抽出部
112 ソースコード解釈部
113 拡張モデリング図変換部
114 モデリング図解釈部
115 セキュリティポリシ記述抽出部
121 アクセス権限抽出部
131 セキュリティポリシ生成部
141 ユーザ問合せ部
11 Directive
Claims (15)
前記アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのオペレーティングシステムと強制アクセス制御の実装形態に依存しない第1の中間表記を生成する、第1の中間表記生成段階と、
前記第1の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することにより当該アクセス関係のアクセス権限を解決する段階と、
前記第1の中間表記に基づき、前記ターゲットのオペレーティングシステムと強制アクセス制御の実装形態の情報から前記ターゲットのディレクトリ構造に依存しない第2の中間表記を生成する段階と、
前記第2の中間表記に基づき、前記ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する段階と、
を有する、セキュリティポリシを自動的に生成する方法。 A method for automatically generating a security policy used to run an application in an operating system with resource labeling and mandatory access control mechanisms,
Generating a first intermediate representation from the source code or modeling diagram representing the application, wherein the first intermediate representation is independent of a target operating system and mandatory access control implementation;
When generating the first intermediate notation, if there are a plurality of candidates for the access authority set in the security policy for a certain access relation, the access authority for the access relation is resolved by presenting the candidate access authority to the user. And the stage of
Generating a second intermediate representation that is independent of the target directory structure from the target operating system and information on implementation of mandatory access control based on the first intermediate representation;
Generating a security policy from information on the directory structure of the target based on the second intermediate notation;
A method for automatically generating a security policy.
既存のコンパイラには無視されて前記既存のコンパイラには影響を与えない構文からなるとともにセキュリティポリシの生成に必要な情報を持つ指示子をソースコードに埋め込んだ指示子表記拡張ソースコードを対象として、前記指示子表記拡張ソースコードから指示子表記を抽出する段階と、
前記指示子表記から前記第1の中間表記を生成する段階と、
を有する、請求項1に記載のセキュリティポリシを自動的に生成する方法。 The first intermediate representation generation stage includes:
Targeting an extension source code that has a syntax that is ignored by an existing compiler and does not affect the existing compiler, and that has a directive having information necessary for generating a security policy embedded in the source code, Extracting indicator notation from the indicator notation extension source code;
Generating the first intermediate notation from the indicator notation;
The method of automatically generating a security policy according to claim 1, comprising:
既存文法によるソースコードを対象として、前記既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、
前記抽出されたアクセス権限から前記第1の中間表記を生成する段階と、
を有する、請求項1に記載のセキュリティポリシを自動的に生成する方法。 The first intermediate representation generation stage includes:
Extracting what resources and what access rights a process needs in the source code with the existing grammar for the source code with the existing grammar;
Generating the first intermediate representation from the extracted access rights;
The method of automatically generating a security policy according to claim 1, comprising:
セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、該セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出する段階と、
前記セキュリティポリシ記述から前記第1の中間表記を生成する段階と、
を有する、請求項1に記載のセキュリティポリシを自動的に生成する方法。 The first intermediate representation generation stage includes:
Extracting a security policy description extended modeling diagram from the security policy description extended modeling diagram as an input, and a security policy description extended modeling diagram whose grammar has been extended so that information necessary for generating a security policy can be embedded;
Generating the first intermediate representation from the security policy description;
The method of automatically generating a security policy according to claim 1, comprising:
既存文法によるモデリング図を入力として、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、
前記抽出されたアクセス権限から前記第1の中間表記を生成する段階と、
を有する、請求項1に記載のセキュリティポリシを自動的に生成する方法。 The first intermediate representation generation stage includes:
Using an existing grammar modeling diagram as input, extracting what resources and what access rights the process needs,
Generating the first intermediate representation from the extracted access rights;
The method of automatically generating a security policy according to claim 1, comprising:
前記アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのオペレーティングシステムと強制アクセス制御の実装形態に依存しない第1の中間表記を生成する、第1の中間表記生成手段と、
前記第1の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することにより当該アクセス関係のアクセス権限を解決する手段と、
前記第1の中間表記に基づき、前記ターゲットのオペレーティングシステムと強制アクセス制御の実装形態の情報から前記ターゲットのディレクトリ構造に依存しない第2の中間表記を生成し、前記第2の中間表記に基づき、前記ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する手段と、
を有する、セキュリティポリシを自動的に生成する装置。 A device that automatically generates a security policy used to run an application in an operating system with resource labeling and mandatory access control mechanisms,
First intermediate notation generating means for generating a first intermediate notation independent of a target operating system and mandatory access control implementation from a source code or modeling diagram representing the application;
When generating the first intermediate notation, if there are a plurality of candidates for the access authority set in the security policy for a certain access relation, the access authority for the access relation is resolved by presenting the candidate access authority to the user. Means to
Based on the first intermediate notation, a second intermediate notation that does not depend on the directory structure of the target is generated from information on the target operating system and mandatory access control implementation, and based on the second intermediate notation, Means for generating a security policy from information on the directory structure of the target;
A device that automatically generates a security policy.
前記アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのオペレーティングシステムと強制アクセス制御の実装形態に依存しない第1の中間表記を生成する処理と、
前記第1の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することにより当該アクセス関係のアクセス権限を解決する処理と、
前記第1の中間表記に基づき、前記ターゲットのオペレーティングシステムと強制アクセス制御の実装形態の情報から前記ターゲットのディレクトリ構造に依存しない第2の中間表記を生成する処理と、
前記第2の中間表記に基づき、前記ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する処理と、
を実行させるプログラム。 To automatically generate a security policy that is used to run applications in an operating system with resource labeling and mandatory access control mechanisms,
Processing to generate a first intermediate representation independent of the target operating system and mandatory access control implementation from the source code or modeling diagram representing the application;
When generating the first intermediate notation, if there are a plurality of candidates for the access authority set in the security policy for a certain access relation, the access authority for the access relation is resolved by presenting the candidate access authority to the user. Processing to
Based on the first intermediate notation, generating a second intermediate notation independent of the target directory structure from information on the target operating system and mandatory access control implementation;
A process of generating a security policy from information on the directory structure of the target based on the second intermediate notation;
A program that executes
A computer-readable recording medium that stores the program according to claim 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003293787A JP2005063224A (en) | 2003-08-15 | 2003-08-15 | Method and device for automatically generating security policy of secure os, and program for executing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003293787A JP2005063224A (en) | 2003-08-15 | 2003-08-15 | Method and device for automatically generating security policy of secure os, and program for executing the method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005063224A true JP2005063224A (en) | 2005-03-10 |
Family
ID=34370578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003293787A Pending JP2005063224A (en) | 2003-08-15 | 2003-08-15 | Method and device for automatically generating security policy of secure os, and program for executing the method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005063224A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008126773A1 (en) * | 2007-04-05 | 2008-10-23 | Nec Corporation | Information processing system and information processing method |
JP2009020782A (en) * | 2007-07-13 | 2009-01-29 | Hitachi Software Eng Co Ltd | Method and program for optimizing security policy of secure os |
US9824224B2 (en) | 2012-08-02 | 2017-11-21 | International Business Machines Corporation | Security-minded cloning method, system and program |
-
2003
- 2003-08-15 JP JP2003293787A patent/JP2005063224A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008126773A1 (en) * | 2007-04-05 | 2008-10-23 | Nec Corporation | Information processing system and information processing method |
JP5317020B2 (en) * | 2007-04-05 | 2013-10-16 | 日本電気株式会社 | Information processing system and information processing method |
JP2009020782A (en) * | 2007-07-13 | 2009-01-29 | Hitachi Software Eng Co Ltd | Method and program for optimizing security policy of secure os |
US9824224B2 (en) | 2012-08-02 | 2017-11-21 | International Business Machines Corporation | Security-minded cloning method, system and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080229303A1 (en) | Method, system and computer program for distributing customized software products | |
JP2007535761A (en) | System and method for generating anti-tamper code | |
JP2009053740A (en) | System, method, and computer program for recording operation log | |
US10521201B2 (en) | Information processing apparatus and method | |
US8904492B2 (en) | Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus | |
JP4848430B2 (en) | Virtual role | |
CN113360947A (en) | Data desensitization method and device, computer readable storage medium and electronic equipment | |
EP3355229B1 (en) | Analysis device, analysis method, and analysis program | |
CN113778897A (en) | Automatic test method, device, equipment and storage medium of interface | |
KR101364599B1 (en) | Method and system for deciding harmfulness of software application | |
US20090193411A1 (en) | Method and system for assessing deployment and un-deployment of software installations | |
JP2005063224A (en) | Method and device for automatically generating security policy of secure os, and program for executing the method | |
WO2021044502A1 (en) | Test design device, test design method, test design program, and test design system | |
CN115794253A (en) | Application integration method and device, electronic equipment and computer readable storage medium | |
JP5150546B2 (en) | Information processing apparatus, operation history acquisition method, computer program | |
Kankhare et al. | A cloud based system to sense security vulnerabilities of web application in open-source private cloud IAAS | |
CN110837612B (en) | Uniform Resource Identifier (URI) data acquisition method and device and storage medium | |
JP2007018091A (en) | Information processor, information processing system, application development support method and program | |
CN114389936A (en) | Cross-cloud multi-cluster deployment operation and maintenance method, system, processor and storage medium | |
García-Zubía et al. | Remote laboratories from the software engineering point of view | |
CN112486460A (en) | Method, system, device and medium for automatically importing interface document | |
JP2005050314A (en) | Application software repackage system for application software streaming and its method | |
JP4057997B2 (en) | Document processing apparatus with script, document acquisition apparatus, document processing system with script, document processing method with script, and program for causing computer to execute the method | |
JP2018005915A (en) | Method and system for providing application package, and method and system for executing application | |
KR20190059168A (en) | Apparatus of middleware for connecting webpages and application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050621 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050721 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050721 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080730 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090304 |