JP2012048609A - Security policy generation program, and secure os computer system - Google Patents

Security policy generation program, and secure os computer system Download PDF

Info

Publication number
JP2012048609A
JP2012048609A JP2010191948A JP2010191948A JP2012048609A JP 2012048609 A JP2012048609 A JP 2012048609A JP 2010191948 A JP2010191948 A JP 2010191948A JP 2010191948 A JP2010191948 A JP 2010191948A JP 2012048609 A JP2012048609 A JP 2012048609A
Authority
JP
Japan
Prior art keywords
file
application
security policy
secure
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
Application number
JP2010191948A
Other languages
Japanese (ja)
Inventor
Yuichi Nakamura
雄一 中村
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2010191948A priority Critical patent/JP2012048609A/en
Publication of JP2012048609A publication Critical patent/JP2012048609A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technology for setting access authority which is required by an application as security policy without depending on an operation history of the application.SOLUTION: The security policy generation program reads at least one of an execution file of the application which operates on a secure OS, a setting file of the application, a file list which constitutes the application, and analyzes which access authority on the secure OS becomes necessary in relation to the files. In addition, its analysis result is output as a security policy candidate of the secure OS.

Description

本発明は、セキュアOS(Operating System)のセキュリティポリシを生成する技術に関するものである。   The present invention relates to a technology for generating a security policy of a secure OS (Operating System).

一般に、コンピュータのOS上のリソース(ファイル、ネットワークポートなど)に対するアクセス権限は、そのリソースの所有者が設定する。また、全ての権限をもつ特権ユーザが存在し、OS管理者がその特権ユーザとしてリソースのアクセス権限を設定することもできる。   In general, the access authority for a resource (file, network port, etc.) on the OS of the computer is set by the owner of the resource. Further, there is a privileged user having all the authority, and the OS administrator can set the resource access authority as the privileged user.

これに対し、セキュアOSとは、全権を持つ特権ユーザを排除し、プロセス毎(例えばアプリケーションの実行ファイル毎)に最小限のアクセス権限を付与することができるようにしたOSである。プロセス毎にどんなアクセス権限を持つかについての設定は、セキュリティポリシファイルというファイルに記載されている。   On the other hand, the secure OS is an OS in which a privileged user having all rights is excluded and a minimum access authority can be given for each process (for example, for each execution file of an application). Settings regarding what access authority each process has are described in a file called a security policy file.

セキュアOSでは、上記機能により、プロセスが必要なリソースにだけアクセスすることがOSによって保証されている。そのため、プロセスにセキュリティホールがあり、攻撃者に当該プロセスが乗っ取られたとしても、当該プロセスに起因するセキュリティ被害を最小限に留めることができる。   In the secure OS, the OS ensures that the process accesses only the resources that the process requires. Therefore, even if there is a security hole in the process and the process is taken over by an attacker, the security damage caused by the process can be minimized.

セキュアOS上でプロセスに必要最小限の権限を割り当てるには、セキュリティポリシを適切に設定する必要がある。しかし、アクセス権限の設定項目が膨大になることが多く、その作業は煩雑である。そこで、セキュリティポリシを設定する作業をサポートする技術が研究されている。例えば、下記特許文献1および非特許文献1のような技術が提案されている。   In order to assign the minimum necessary authority to the process on the secure OS, it is necessary to appropriately set the security policy. However, the setting items for access authority are often enormous, and the work is complicated. Therefore, a technology that supports the work of setting a security policy has been studied. For example, techniques such as the following Patent Document 1 and Non-Patent Document 1 have been proposed.

特許文献1は、アプリケーションの動作ログからセキュリティポリシ設定を自動生成する技術を記載している。非特許文献1は、セキュリティポリシの記述を単純化する技術を記載している。   Patent Document 1 describes a technology for automatically generating a security policy setting from an operation log of an application. Non-Patent Document 1 describes a technique for simplifying the description of a security policy.

特開2005−128623号公報JP 2005-128623 A

"SEEdit: SELinux Security Policy Configuration System with Higher Level Language",Proc. of 23rd Large Installation System Administration Conference (LISA '09),pp.107-117 (11, 2009),URL:http://www.usenix.org/event/lisa09/tech/full_papers/nakamura.pdf(2010年8月10日取得)"SEEdit: SELinux Security Policy Configuration System with Higher Level Language", Proc. Of 23rd Large Installation System Administration Conference (LISA '09), pp.107-117 (11, 2009), URL: http: //www.usenix. org / event / lisa09 / tech / full_papers / nakamura.pdf (acquired on August 10, 2010)

セキュアOSのセキュリティポリシを適切に設定するためには、アプリケーションが使用する可能性のある全てのアクセス権限について、アクセス可否を設定する必要がある。   In order to appropriately set the security policy of the secure OS, it is necessary to set whether or not access is possible for all access authorities that the application may use.

上記特許文献1に記載の技術では、アプリケーションを実際に動作させて動作履歴を監査ログなどの形態で取得し、その履歴を参考にしてアプリケーションが必要とするアクセス許可を設定する。この手法では、アプリケーションが使用する可能性のあるアクセス権限を網羅するためにアプリケーションを繰り返しテスト動作させる必要があり、動作履歴を取得するための作業工数が多大になる可能性がある。また、セキュアOSの仕様によっては、パフォーマンス劣化を防ぐため、監査ログを簡易記述することがあり、この場合は監査ログから完全な動作履歴を得ることが難しくなる。   In the technique described in Patent Document 1, an operation history is acquired in a form such as an audit log by actually operating an application, and an access permission required by the application is set with reference to the history. In this method, it is necessary to repeatedly perform an application test operation in order to cover the access authority that can be used by the application, and there is a possibility that the number of work steps for acquiring the operation history may be increased. Depending on the specifications of the secure OS, the audit log may be simply described to prevent performance degradation. In this case, it is difficult to obtain a complete operation history from the audit log.

本発明は、上記のような課題を解決するためになされたものであり、アプリケーションの動作履歴に拠ることなく、当該アプリケーションが必要とするアクセス権限をセキュリティポリシとして設定することのできる技術を提供することを目的とする。   The present invention has been made to solve the above-described problems, and provides a technique capable of setting an access right required by an application as a security policy without depending on the operation history of the application. For the purpose.

本発明に係るセキュリティポリシ生成プログラムは、セキュアOS上で動作するアプリケーションの実行ファイル、アプリケーションの設定ファイル、アプリケーションを構成するファイルリストのうち少なくともいずれかを読み込み、これらファイルに関連してセキュアOS上のいずれのアクセス権限が必要となるかを解析する。また、その解析結果を、セキュアOSのセキュリティポリシ候補として出力する。   The security policy generation program according to the present invention reads at least one of an execution file of an application operating on the secure OS, an application setting file, and a file list constituting the application, and relates to these files on the secure OS. Analyze which access rights are required. The analysis result is output as a security policy candidate of the secure OS.

本発明に係るセキュリティポリシ生成プログラムによれば、アプリケーションに関連するファイルを解析することにより、アプリケーションを実行するときにいずれのアクセス権限が必要となるかを把握することができる。これにより、アプリケーションを実行しなくとも、セキュアOS上で必要となるアクセス権限が分かる。また、そのアクセス権限をセキュリティポリシの候補として提示するので、セキュリティポリシを設定する作業負担を軽減することができる。   According to the security policy generation program according to the present invention, it is possible to grasp which access authority is required when executing an application by analyzing a file related to the application. Thereby, it is possible to know the access authority necessary on the secure OS without executing the application. In addition, since the access authority is presented as a security policy candidate, the work load for setting the security policy can be reduced.

実施形態1に係るセキュアOSコンピュータ100の構成図である。1 is a configuration diagram of a secure OS computer 100 according to Embodiment 1. FIG. セキュリティポリシファイル120の構成とデータ例を示す図である。2 is a diagram illustrating a configuration of a security policy file 120 and data examples. FIG. アプリケーションパッケージ140の構成図である。2 is a configuration diagram of an application package 140. FIG. アプリケーション設定ファイル142の記述例を示す図である。5 is a diagram illustrating a description example of an application setting file 142. FIG. アプリケーション構成ファイル143の記述例を示す図である。5 is a diagram illustrating a description example of an application configuration file 143. FIG. セキュリティポリシ生成プログラム130の機能構成図である。3 is a functional configuration diagram of a security policy generation program 130. FIG. ネットワークパーミッションパターンファイル136の構成とデータ例を示す図である。3 is a diagram illustrating a configuration of a network permission pattern file 136 and an example of data. FIG. シンボルパーミッション対応テーブル137の構成とデータ例を示す。The structure and data example of the symbol permission correspondence table 137 are shown. 逆アセンブラ部131がアプリケーションの実行ファイルを逆アセンブルしてアセンブリ命令に変換した結果の例を示す図である。It is a figure which shows the example of the result by which the disassembler part 131 disassembled the execution file of the application and converted into the assembly instruction. 逆アセンブラ部131がアプリケーションの実行ファイルを逆アセンブルしてシンボルを抽出した結果の例を示す図である。It is a figure which shows the example of the result as which the disassembler part 131 extracted the symbol by disassembling the execution file of an application. セキュリティポリシ生成プログラム130の全体動作フローである。4 is an overall operation flow of the security policy generation program 130. ステップS1102の詳細フローを示す図である。It is a figure which shows the detailed flow of step S1102. ステップS1103の詳細フローを示す図である。It is a figure which shows the detailed flow of step S1103. ステップS1104の詳細フローを示す図である。It is a figure which shows the detailed flow of step S1104. ステップS1105において設定提示部135が画面表示するファイルアクセス制御ポリシ設定画面1500の1例を示す図である。It is a figure which shows an example of the file access control policy setting screen 1500 which the setting presentation part 135 displays on a screen in step S1105. ステップS1105において設定提示部135が画面表示するネットワークアクセス制御ポリシ設定画面1600の1例を示す図である。It is a figure which shows an example of the network access control policy setting screen 1600 which the setting presentation part 135 displays on a screen in step S1105. ステップS1105において設定提示部135が画面表示するCapabilityアクセス制御ポリシ設定画面1700の1例を示す図である。It is a figure which shows an example of the Capability access control policy setting screen 1700 which the setting presentation part 135 displays on a screen in step S1105.

<実施の形態1>
図1は、本発明の実施形態1に係るセキュアOSコンピュータ100の構成図である。セキュアOSコンピュータ100は、セキュアOSを搭載したコンピュータであり、セキュアOS110、セキュリティポリシファイル120、セキュリティポリシ生成プログラム130を備える。必要に応じて、アプリケーションプログラムおよび必要な設定ファイルなどを格納したアプリケーションパッケージ140をインストールすることもできる。さらには、インストール済みのアプリケーションパッケージを管理するパッケージ管理プログラム150を備えていてもよい。
<Embodiment 1>
FIG. 1 is a configuration diagram of a secure OS computer 100 according to the first embodiment of the present invention. The secure OS computer 100 is a computer equipped with a secure OS, and includes a secure OS 110, a security policy file 120, and a security policy generation program 130. If necessary, an application package 140 that stores application programs, necessary setting files, and the like can be installed. Furthermore, a package management program 150 for managing installed application packages may be provided.

セキュアOSコンピュータ100は、図1に示した構成の他、セキュアOS110および上記各プログラムを実行するCPU(Central Processing Unit)を備える。また、セキュアOS110、上記各プログラム、セキュリティポリシファイル120などのデータを格納するHDD(Hard Disk Drive)などの記憶装置、メモリ、ネットワークインターフェースなどの構成を適宜備える。   In addition to the configuration shown in FIG. 1, the secure OS computer 100 includes a secure OS 110 and a CPU (Central Processing Unit) that executes each of the above programs. In addition, a configuration such as a storage device such as an HDD (Hard Disk Drive) that stores data such as the secure OS 110, each of the above programs, and the security policy file 120, a memory, a network interface, and the like is provided as appropriate.

以下では、説明の便宜上、セキュアOS110、上記各プログラムなどのプログラムを動作主体として説明する場合があるが、これらのプログラムを実際に実行するのはCPUなどの演算装置であることを付言しておく。   In the following, for convenience of explanation, the secure OS 110 and the programs such as the above-mentioned programs may be described as the operation subject, but it is added that it is an arithmetic device such as a CPU that actually executes these programs. .

セキュアOS110は、セキュアOSコンピュータ100のOSである。セキュアOS110は、セキュリティポリシファイル120の記述にしたがって、セキュアOSコンピュータ100が備えるリソースに対するアクセスを制御する。セキュリティポリシファイル120の例については後述する。   The secure OS 110 is an OS of the secure OS computer 100. The secure OS 110 controls access to resources included in the secure OS computer 100 according to the description of the security policy file 120. An example of the security policy file 120 will be described later.

セキュリティポリシ生成プログラム130は、アプリケーションパッケージ140に含まれているファイルを解析し、セキュリティポリシファイル120またはその雛形を生成する。詳細は後述する。   The security policy generation program 130 analyzes a file included in the application package 140 and generates the security policy file 120 or a template thereof. Details will be described later.

アプリケーションパッケージ140は、アプリケーション実行ファイル、アプリケーション設定ファイル、アプリケーション構成ファイルなどを一纏めにパッケージ化したファイルである。典型的には、インストーラパッケージの形態で構成されている。アプリケーションパッケージ140の内部的構成については後述する。   The application package 140 is a file in which an application execution file, an application setting file, an application configuration file, and the like are packaged together. Typically, it is configured in the form of an installer package. The internal configuration of the application package 140 will be described later.

パッケージ管理プログラム150は、セキュアOSコンピュータ100にインストールされているアプリケーションパッケージを管理し、設定変更、アンインストールなどの処理を実行する。   The package management program 150 manages application packages installed in the secure OS computer 100 and executes processing such as setting change and uninstallation.

オペレータ200は、セキュアOSコンピュータ100が備えるキーボード、マウスなどを用いて、セキュリティポリシ生成プログラム130を実行するようにセキュアOSコンピュータ100へ指示する。また、セキュリティポリシ生成プログラム130が提示するセキュリティポリシファイル120の雛形を修正するなどして、セキュリティポリシファイル120の内容を最終的に確定する。オペレータ200が修正作業に用いる画面などについては後述する。   The operator 200 instructs the secure OS computer 100 to execute the security policy generation program 130 using a keyboard, a mouse or the like provided in the secure OS computer 100. Further, the content of the security policy file 120 is finally determined by correcting the template of the security policy file 120 presented by the security policy generation program 130. Screens used by the operator 200 for correction work will be described later.

図2は、セキュリティポリシファイル120の構成とデータ例を示す図である。ここでは説明の便宜上、テーブル形式のデータ例を示したが、データ形式はこれに限られるものではない。   FIG. 2 is a diagram illustrating a configuration of the security policy file 120 and an example of data. Here, for convenience of explanation, an example of data in a table format is shown, but the data format is not limited to this.

セキュリティポリシファイル120は、サブジェクトフィールド121、オブジェクトフィールド122、パーミッションフィールド123を有する。   The security policy file 120 has a subject field 121, an object field 122, and a permission field 123.

サブジェクトフィールド121は、セキュアOS110上のアクセス権限を用いて動作するプログラムの実行ファイル名を記述する。本フィールドの例として、アプリケーションパッケージ140内に含まれるアプリケーション実行ファイルのインストール先ファイルパスを記述したものが挙げられる。   The subject field 121 describes an executable file name of a program that operates using access authority on the secure OS 110. An example of this field is a field describing the installation destination file path of the application execution file included in the application package 140.

オブジェクトフィールド122は、サブジェクトフィールド121が記述しているプログラムがアクセスする、セキュアOS110上のリソースを記述する。ここでいうリソースとは、セキュアOS110上のファイル、フォルダ、ネットワークポート、後述するCapabilityと呼ばれる特殊なアクセス権限、などのことをいう。すなわち、アクセスするためにセキュアOS110上のアクセス権限が必要となる対象を指す。   The object field 122 describes a resource on the secure OS 110 that is accessed by the program described in the subject field 121. The resource here means a file, a folder, a network port on the secure OS 110, a special access authority called “Capability” to be described later, and the like. That is, it refers to a target that requires access authority on the secure OS 110 for access.

パーミッションフィールド123は、サブジェクトフィールド121が記述しているプログラムが、オブジェクトフィールド122が記述しているリソースに対して有するアクセス権限を記述する。本フィールドの例については以下で説明する。   The permission field 123 describes the access authority that the program described in the subject field 121 has for the resource described in the object field 122. An example of this field is described below.

1行目のデータ例は、プログラム「/sbin/httpd」がファイル「/var/www/*」に対して有するアクセス権限を記述している。本行はファイルに対するアクセス権限を記述しているため、アクセス権限の例として、「読込許可(read)」、「書込許可(write)」などが考えられる。   The data example on the first line describes the access authority that the program “/ sbin / httpd” has for the file “/ var / www / *”. Since this line describes the access authority for the file, examples of the access authority include “read permission (read)” and “write permission (write)”.

2行目のデータ例は、プログラム「/sbin/httpd」がネットワークリソース「TCP80番ポート」に対して有するアクセス権限を記述している。ネットワークリソースに対するアクセス権限は、ファイルやフォルダに対するアクセス権限と類似しているが、呼称が異なる。ここでは、TCP80番ポートに対して「bind(外部からの接続リクエストを待機する)」することができる旨を例示した。   The data example on the second line describes the access authority that the program “/ sbin / httpd” has for the network resource “TCP port 80”. The access authority for network resources is similar to the access authority for files and folders, but the names are different. Here, it is exemplified that “bind (waiting for a connection request from the outside)” can be made to the TCP port 80.

3行目のデータ例は、プログラム「/sbin/ftpd」が、Capability「setuid」を実行することができる旨を記述している。Capabilityとは、セキュアOS110が備えるカーネル機能(システムコール)をアプリケーションプログラムから直接呼び出すことのできる機能をいう。カーネル機能を直接呼び出すと、通常のアプリケーションが備えている機能を超えた動作を実行することができるため、Capabilityに対するアクセス権限は慎重に設定する必要がある。Capabilityの例として、以下が挙げられる。   The data example on the third line describes that the program “/ sbin / ftpd” can execute the capability “setup”. Capability refers to a function that can directly call a kernel function (system call) provided in the secure OS 110 from an application program. When the kernel function is directly called, an operation exceeding the function of a normal application can be executed. Therefore, it is necessary to carefully set the access authority for the capability. The following are examples of Capabilities.

(Capabilityの例1:setuid)
setuidは、アプリケーションを実行するユーザIDを一時的に他のユーザIDへ変更する機能である。ここでいう他のユーザIDには、特権ユーザIDが含まれる場合もある。
(Capabilityの例2:chroot)
chrootは、アプリケーションにとってのルートディレクトリを変更する機能である。ルートディレクトリを変更されたアプリケーションは、その範囲外のファイル等にはアクセスすることができなくなる。
(Capability example 1: setup)
The setid is a function for temporarily changing a user ID for executing an application to another user ID. The other user ID referred to here may include a privileged user ID.
(Capability example 2: root)
“root” is a function for changing the root directory for the application. An application whose root directory has been changed cannot access files outside that range.

図3は、アプリケーションパッケージ140の構成図である。アプリケーションパッケージ140は、セキュアOS110上で動作するアプリケーションをセキュアOSコンピュータ100にインストールするためのファイルであり、アプリケーション実行ファイル141、アプリケーション設定ファイル142、アプリケーション構成ファイル143を内部的に含む。   FIG. 3 is a configuration diagram of the application package 140. The application package 140 is a file for installing an application running on the secure OS 110 in the secure OS computer 100, and internally includes an application execution file 141, an application setting file 142, and an application configuration file 143.

アプリケーション実行ファイル141は、当該アプリケーションの本体となる実行形式のファイルである。アプリケーション設定ファイル142は、アプリケーション実行ファイル141を実行する際に用いられる設定パラメータなどを記述している。アプリケーション構成ファイル143は、アプリケーション実行ファイル141をインストールするときにともにインストールするファイル、または改変を加えるファイルの一覧、当該アプリケーションの名称、当該アプリケーションのバージョン、などのアプリケーション全体に関する情報を記述している。アプリケーション設定ファイル142とアプリケーション構成ファイル143の例は、後述の図4〜図5で説明する。   The application execution file 141 is an execution format file that is the main body of the application. The application setting file 142 describes setting parameters used when the application execution file 141 is executed. The application configuration file 143 describes information about the entire application such as a list of files to be installed together with the application execution file 141 or a file to be modified, the name of the application, the version of the application, and the like. Examples of the application setting file 142 and the application configuration file 143 will be described with reference to FIGS.

図4は、アプリケーション設定ファイル142の記述例を示す図である。1行目は、当該アプリケーションがキャッシュファイルを格納するフォルダパスを記述している。2行目は、当該アプリケーションが接続を待ち受けるTCPポート番号を記述している。   FIG. 4 is a diagram illustrating a description example of the application setting file 142. The first line describes a folder path where the application stores a cache file. The second line describes the TCP port number on which the application waits for connection.

図5は、アプリケーション構成ファイル143の記述例を示す図である。1行目は、当該アプリケーションの名称を記述している。2行目は、当該アプリケーションのバージョン番号を記述している。3行目以降は、当該アプリケーションをインストールすることによって新たにインストールまたは改変等されるファイルのリストを記述している。パッケージ管理プログラム150は、これらファイルのインストール、アンインストール、内容改変などの処理を実施する。   FIG. 5 is a diagram illustrating a description example of the application configuration file 143. The first line describes the name of the application. The second line describes the version number of the application. The third and subsequent lines describe a list of files that are newly installed or modified by installing the application. The package management program 150 performs processing such as installation, uninstallation, and content modification of these files.

以上、セキュアOSコンピュータ100の構成について説明した。次に、セキュリティポリシ生成プログラム130の詳細構成について説明する。   The configuration of the secure OS computer 100 has been described above. Next, the detailed configuration of the security policy generation program 130 will be described.

図6は、セキュリティポリシ生成プログラム130の機能構成図である。セキュリティポリシ生成プログラム130は、逆アセンブラ部131、ファイルアクセス解析部132、ネットワークアクセス解析部133、Capabilityアクセス解析部134、設定提示部135、ネットワークパーミッションパターンファイル136、シンボルパーミッション対応テーブル137を有する。これらは同一のプログラムファイル内に構成してもよいし、個別のサブモジュールなどの形態で構成してもよい。   FIG. 6 is a functional configuration diagram of the security policy generation program 130. The security policy generation program 130 includes a disassembler unit 131, a file access analysis unit 132, a network access analysis unit 133, a capability access analysis unit 134, a setting presentation unit 135, a network permission pattern file 136, and a symbol permission correspondence table 137. These may be configured in the same program file, or may be configured in the form of individual submodules.

逆アセンブラ部131は、アプリケーションの実行ファイルをアセンブリ言語に変換する機能、アプリケーションの実行ファイルが内部的に使用するシンボルを抽出する機能を有する。シンボルとは、実行ファイルが関数を呼び出す際に内部的に使用する関数名などの識別子のことである。実行ファイルがどのシンボルを使用しているかを解析することにより、当該実行ファイルがどの関数を使用しているかが分かる。この関数のなかには、システムコールのようなCapabilityアクセスに属する関数も含まれる。   The disassembler unit 131 has a function of converting an application execution file into an assembly language, and a function of extracting a symbol used internally by the application execution file. A symbol is an identifier such as a function name used internally when an executable file calls a function. By analyzing which symbol the executable file uses, it is possible to determine which function the executable file uses. This function includes functions belonging to Capability access such as system calls.

ファイルアクセス解析部132は、アプリケーションパッケージ140に含まれるアプリケーション実行ファイル141が動作するとき、どのファイルにアクセスする可能性があるかを推測する。詳細は後述の図12で説明する。   The file access analysis unit 132 estimates which file may be accessed when the application execution file 141 included in the application package 140 operates. Details will be described later with reference to FIG.

ネットワークアクセス解析部133は、アプリケーションパッケージ140に含まれるアプリケーション実行ファイル141が動作するとき、どのネットワークリソースにアクセスする可能性があるかを推測する。詳細は後述の図13で説明する。   When the application execution file 141 included in the application package 140 operates, the network access analysis unit 133 estimates which network resource may be accessed. Details will be described later with reference to FIG.

Capabilityアクセス解析部134は、プリケーションパッケージ140に含まれるアプリケーション実行ファイル141が動作するとき、どのCapabilityアクセス権限を使用する可能性があるかを推測する。詳細は後述の図14で説明する。   The Capability access analysis unit 134 estimates which Capability access authority may be used when the application execution file 141 included in the application package 140 operates. Details will be described later with reference to FIG.

設定提示部135は、ファイルアクセス解析部132、ネットワークアクセス解析部133、Capabilityアクセス解析部134の解析結果を、セキュアOSコンピュータ100が備えるディスプレイ上に画面表示する。画面イメージについては後述の図15〜図17で改めて説明する。   The setting presentation unit 135 displays the analysis results of the file access analysis unit 132, the network access analysis unit 133, and the capability access analysis unit 134 on a display provided in the secure OS computer 100. The screen image will be described again with reference to FIGS.

ネットワークパーミッションパターンファイル136は、アプリケーションの実行ファイルがネットワークリソースを使用する際に実施すると推測される動作パターンを記述している。ネットワークアクセス解析部133は、本ファイルが記述している動作パターンと、逆アセンブラ部131またはファイルアクセス解析部132の処理結果から得られる動作パターンとをマッチングさせ、該当するものを抽出する。詳細は後述の図7で説明する。   The network permission pattern file 136 describes an operation pattern presumed to be executed when an application execution file uses network resources. The network access analysis unit 133 matches the operation pattern described in this file with the operation pattern obtained from the processing result of the disassembler unit 131 or the file access analysis unit 132, and extracts the corresponding one. Details will be described later with reference to FIG.

シンボルパーミッション対応テーブル137は、アプリケーションの実行ファイルが使用するシンボルと、当該シンボルを使用する際に必要となるCapabilityアクセス権限との対応関係を記述するテーブルである。Capabilityアクセス解析部134は、逆アセンブラ部131の処理結果から得られるシンボルと、本テーブルが記述しているシンボルとをマッチングさせ、該当するものを抽出する。詳細は後述の図8で説明する。   The symbol permission correspondence table 137 is a table describing a correspondence relationship between a symbol used by an execution file of an application and a Capability access authority necessary for using the symbol. The capability access analysis unit 134 matches the symbols obtained from the processing result of the disassembler unit 131 with the symbols described in this table, and extracts the corresponding ones. Details will be described later with reference to FIG.

図7は、ネットワークパーミッションパターンファイル136の構成とデータ例を示す図である。ネットワークパーミッションパターンファイル136は、パターンフィールド1361、パターン名フィールド1362を有する。   FIG. 7 is a diagram showing a configuration and data example of the network permission pattern file 136. The network permission pattern file 136 has a pattern field 1361 and a pattern name field 1362.

パターンフィールド1361は、アプリケーションの実行ファイルがネットワークリソースにアクセスする際に実行するアセンブリ命令のパターンを記述している。また、アプリケーション設定ファイル142に記述され得る設定パラメータのうち、実行ファイルがネットワークリソースにアクセスする際に用いるものを記述している。   A pattern field 1361 describes a pattern of assembly instructions to be executed when an application execution file accesses a network resource. Also, among the setting parameters that can be described in the application setting file 142, those that are used when the execution file accesses the network resource are described.

パターン名フィールド1362は、各パターンを識別するために設けた名称を記述している。   A pattern name field 1362 describes a name provided for identifying each pattern.

以下、図7の各行に示す例について説明する。
(図7:1行目:ポート番号)
図7の1行目は、実行ファイルがUNIX(登録商標)のhtons(host to network short)関数を呼び出してポート番号を設定しているアセンブリ命令パターンを記述している。アプリケーションの実行ファイルがこれらアセンブリ命令を実行するときは、ネットワークリソース(ここではポート番号)にアクセスするものと判断することができる。なお、可変するパラメータは<>を用いて一般化することとした。本例ではポート番号は実行毎に可変であるため、<数字>と記述した。以下の例においても同様である。
Hereinafter, an example shown in each row of FIG. 7 will be described.
(Figure 7: Line 1: Port number)
The first line of FIG. 7 describes an assembly instruction pattern in which an execution file calls a UNIX (registered trademark) htons (host to network short) function to set a port number. When the execution file of the application executes these assembly instructions, it can be determined that the network resource (here, the port number) is accessed. The variable parameters are generalized using <>. In this example, the port number is variable for each execution, so <number> is described. The same applies to the following examples.

(図7:2行目:bindシステムコール)
図7の2行目は、実行ファイルがbindシステムコールを呼び出して、ネットワークからの接続を待ち受けるアセンブリ命令パターンを記述している。ネットワークからの接続を待ち受ける場合、ネットワークリソースを使用するため、リソースに対するアクセス権限が適正であるか否かを判断する必要がある。したがって、実行ファイルに本パターンが含まれる場合、これを抽出することとした。
(Figure 7: 2nd line: bind system call)
The second line in FIG. 7 describes an assembly instruction pattern in which the execution file calls the bind system call and waits for a connection from the network. When waiting for a connection from the network, the network resource is used, and therefore it is necessary to determine whether or not the access right to the resource is appropriate. Therefore, when this pattern is included in the execution file, it is decided to extract it.

(図7:3行目:conectシステムコール)
図7の3行目は、実行ファイルがconnectシステムコールを呼び出して、外部ネットワークに接続するアセンブリ命令パターンを記述している。外部ネットワークに接続する場合、ネットワークリソースを使用するため、リソースに対するアクセス権限が適正であるか否かを判断する必要がある。
(Figure 7: 3rd line: connect system call)
The third line in FIG. 7 describes an assembly instruction pattern in which the execution file calls the connect system call to connect to the external network. When connecting to an external network, since network resources are used, it is necessary to determine whether or not the access authority to the resources is appropriate.

(図7:4行目:socketシステムコール)
図7の4行目は、実行ファイルがsocketシステムコールを呼び出して、これから用いる通信プロトコルを設定するアセンブリ命令パターンを記述している。<数字>の部分がプロトコルを示す。OSがLinuxである場合、<数字>の部分が1であればTCP、2であればUDPを設定することを示す。通信プロトコルを設定する場合、ネットワークリソースを使用するため、リソースに対するアクセス権限が適正であるか否かを判断する必要がある。
(Figure 7: 4th line: socket system call)
The fourth line in FIG. 7 describes an assembly instruction pattern in which an execution file calls a socket system call and sets a communication protocol to be used. The <number> part indicates the protocol. When the OS is Linux, if <number> is 1, TCP indicates that UDP is set. When setting a communication protocol, since network resources are used, it is necessary to determine whether or not the access authority to the resources is appropriate.

(図7:5行目:ポート待ち受け)
図7の5行目は、実行ファイルが所定のTCPポートに外部端末から接続してくるのを待機するアプリケーション設定パラメータ例を記述している。本行は、アプリケーション設定ファイル142内に記述されるパターンを例示したものである。実行ファイルがポートを開いて接続を待ち受ける場合、そのネットワークリソースを使用するため、リソースに対するアクセス権限が適正であるか否かを判断する必要がある。なお、本行はネットワークからの接続を待ち受けるパターンを記述する点で2行目と共通するが、2行目が実行ファイル内のアセンブリ命令パターンであるのに対し、本行はアプリケーション設定ファイル142内の記述パターンである点が異なる。
(Figure 7: 5th line: Port standby)
The fifth line in FIG. 7 describes an example of application setting parameters for waiting for an execution file to connect to a predetermined TCP port from an external terminal. This line exemplifies a pattern described in the application setting file 142. When the executable file opens a port and waits for a connection, the network resource is used, so it is necessary to determine whether or not the access right to the resource is appropriate. Although this line is common to the second line in that it describes a pattern waiting for a connection from the network, the second line is an assembly instruction pattern in the execution file, whereas this line is in the application setting file 142. This is different from the description pattern.

ネットワークアクセス解析部133は、本ファイルが記述している動作パターンと、逆アセンブラ部131の処理結果から得られるアセンブリ命令(またはアプリケーション設定ファイル142内の記述)とをマッチングし、両者が合致する部分を抽出する。両者が合致する部分が存在する場合、当該実行ファイルはネットワークリソースにアクセスすることが分かるので、後のステップでアクセス権限を設定するため、抽出しておくこととしたものである。   The network access analysis unit 133 matches the operation pattern described in this file with the assembly instruction (or description in the application setting file 142) obtained from the processing result of the disassembler unit 131, and the two match. To extract. If there is a portion where both match, it is understood that the execution file accesses the network resource, so that it is extracted in order to set the access authority in a later step.

図8は、シンボルパーミッション対応テーブル137の構成とデータ例を示す。シンボルパーミッション対応テーブル137は、シンボルフィールド1371とパーミッションフィールド1372を有する。シンボルパーミッション対応テーブル137は、実行ファイル内に含まれるシンボルが指定する関数を実行する際に、どのCapabilityアクセス権限が必要になるかを記述している。シンボル名は必ずしもCapabilityアクセス権限そのものを示していないため、本テーブルを用いて両者の対応関係を明示することとした。   FIG. 8 shows a configuration and data example of the symbol permission correspondence table 137. The symbol permission correspondence table 137 has a symbol field 1371 and a permission field 1372. The symbol permission correspondence table 137 describes which capability access authority is required when executing the function specified by the symbol included in the execution file. Since the symbol name does not necessarily indicate the capability access authority itself, the correspondence between the two is specified using this table.

Capabilityアクセス解析部134は、本ファイルが記述している対応関係と、逆アセンブラ部131の処理結果から得られるアセンブリ命令とをマッチングし、両者が合致する部分を抽出する。両者が合致する部分が存在する場合、当該実行ファイルはCapabilityアクセス権限を使用することが分かるので、後のステップでアクセス権限の使用可否を設定するため、抽出しておくこととしたものである。   The capability access analysis unit 134 matches the correspondence described in this file with the assembly instruction obtained from the processing result of the disassembler unit 131, and extracts a portion where both match. When there is a portion where both match, it is understood that the execution file uses the capability access authority, so that it is extracted in order to set whether or not the access authority can be used in a later step.

なお、ここではシンボルとCapabilityアクセス権限の対応関係のみを例示したが、シンボルに対応する関数を実行する際にセキュアOS上のその他のアクセス権限が必要となる場合には、その対応関係を記述するようにしてもよい。   Here, only the correspondence between the symbol and the capability access authority is illustrated here, but when other access authority on the secure OS is required when executing the function corresponding to the symbol, the corresponding relation is described. You may do it.

図9は、逆アセンブラ部131がアプリケーションの実行ファイルを逆アセンブルしてアセンブリ命令に変換した結果の例を示す図である。ネットワークアクセス解析部133は、本図に示すアセンブリ命令のうち、ネットワークパーミッションパターンファイル136が記述しているアセンブリ命令パターンに合致する部分を抽出する。   FIG. 9 is a diagram illustrating an example of a result of the disassembler unit 131 disassembling an application execution file and converting it into an assembly instruction. The network access analysis unit 133 extracts a part that matches the assembly instruction pattern described in the network permission pattern file 136 from the assembly instructions shown in FIG.

図10は、逆アセンブラ部131がアプリケーションの実行ファイルを逆アセンブルしてシンボルを抽出した結果の例を示す図である。Capabilityアクセス解析部134は、本図に示すシンボルのうち、シンボルパーミッション対応テーブル137が記述しているシンボルパターンに合致する部分を抽出する。   FIG. 10 is a diagram illustrating an example of a result of the disassembler unit 131 disassembling an application execution file and extracting symbols. The capability access analysis unit 134 extracts a portion that matches the symbol pattern described in the symbol permission correspondence table 137 from the symbols shown in FIG.

以上、セキュリティポリシ生成プログラム130の詳細構成について説明した。次に、セキュリティポリシ生成プログラム130の動作について説明する。   The detailed configuration of the security policy generation program 130 has been described above. Next, the operation of the security policy generation program 130 will be described.

図11は、セキュリティポリシ生成プログラム130の全体動作フローである。以下、図11の各ステップについて説明する。なおここでは、アプリケーションパッケージ140に含まれている各ファイルを解析対象とする場合を例示するが、いずれか1つまたは2つのみを解析対象とすることもできる。例えば、アプリケーション実行ファイル141単体を解析することもできる。   FIG. 11 is an overall operation flow of the security policy generation program 130. Hereinafter, each step of FIG. 11 will be described. Here, the case where each file included in the application package 140 is an analysis target is illustrated, but only one or two of the files can be the analysis target. For example, the application execution file 141 alone can be analyzed.

(図11:ステップS1101)
セキュリティポリシ生成プログラム130の逆アセンブラ部131は、アプリケーションパッケージ140に含まれるアプリケーション実行ファイル141を逆アセンブルし、図9〜図10で例示した解析結果を得る。
(FIG. 11: Step S1101)
The disassembler unit 131 of the security policy generation program 130 disassembles the application execution file 141 included in the application package 140, and obtains the analysis results illustrated in FIGS.

(図11:ステップS1102)
セキュリティポリシ生成プログラム130のファイルアクセス解析部132は、アプリケーション設定ファイル142とアプリケーション構成ファイル143を解析する。本ステップの詳細は、後述の図12で説明する。
(FIG. 11: Step S1102)
The file access analysis unit 132 of the security policy generation program 130 analyzes the application setting file 142 and the application configuration file 143. Details of this step will be described later with reference to FIG.

(図11:ステップS1103)
セキュリティポリシ生成プログラム130のネットワークアクセス解析部133は、ネットワークパーミッションパターンファイル136を用いて、ステップS1101の処理結果とアプリケーション構成ファイル143を解析する。本ステップの詳細は、後述の図13で説明する。
(FIG. 11: Step S1103)
The network access analysis unit 133 of the security policy generation program 130 analyzes the processing result of step S1101 and the application configuration file 143 using the network permission pattern file 136. Details of this step will be described later with reference to FIG.

(図11:ステップS1104)
セキュリティポリシ生成プログラム130のCapabilityアクセス解析部134は、シンボルパーミッション対応テーブル137を用いて、ステップS1101の処理結果を解析する。本ステップの詳細は、後述の図14で説明する。
(FIG. 11: Step S1104)
The capability access analysis unit 134 of the security policy generation program 130 analyzes the processing result of step S1101 using the symbol permission correspondence table 137. Details of this step will be described later with reference to FIG.

(図11:ステップS1105)
セキュリティポリシ生成プログラム130の設定提示部135は、後述の図15〜図17で例示するように、セキュリティポリシファイル120を設定する画面を表示する。同画面には、ステップS1101〜S1104の結果を反映する。
(FIG. 11: Step S1105)
The setting presentation unit 135 of the security policy generation program 130 displays a screen for setting the security policy file 120, as illustrated in FIGS. The result of steps S1101 to S1104 is reflected on the same screen.

図12は、ステップS1102の詳細フローを示す図である。以下、図12の各ステップについて説明する。
(図12:ステップS1102_01)
ファイルアクセス解析部132は、アプリケーション設定ファイル142を解析し、アプリケーションがアクセスする可能性のあるファイルのリストを抽出する。例えば、「/」で始まる文字列はファイル名を記述しているものと判断し、抽出する。図4で示した記述例では、ファイル名として「/var/cahce/foo」が抽出される。
FIG. 12 is a diagram showing a detailed flow of step S1102. Hereinafter, each step of FIG. 12 will be described.
(FIG. 12: Step S1102_01)
The file access analysis unit 132 analyzes the application setting file 142 and extracts a list of files that may be accessed by the application. For example, a character string starting with “/” is determined as describing a file name and extracted. In the description example shown in FIG. 4, “/ var / chahce / foo” is extracted as the file name.

(図12:ステップS1102_02)
ファイルアクセス解析部132は、アプリケーション構成ファイル143を解析し、アプリケーションをインストールした後に当該アプリケーションがアクセスする可能性のあるファイルのリストを抽出する。抽出基準はステップS1102_01と同じでよい。図5で示した記述例では、ファイル名として「/sbin/foo」「/etc/foo/foo.conf」「/var/log/foo」が抽出される。
(FIG. 12: Step S1102_02)
The file access analysis unit 132 analyzes the application configuration file 143 and extracts a list of files that the application may access after installing the application. The extraction criteria may be the same as in step S1102_01. In the description example shown in FIG. 5, “/ sbin / foo”, “/etc/foo/foo.conf”, and “/ var / log / foo” are extracted as file names.

図13は、ステップS1103の詳細フローを示す図である。以下、図13の各ステップについて説明する。
(図13:ステップS1103_01)
ネットワークアクセス解析部133は、ステップS1101の解析結果と、ネットワークパーミッションパターンファイル136が記述しているアセンブリ命令パターンとが合致する部分を抽出する。図7に示したネットワークパーミッションパターンファイル136の例と、図9に示した逆アセンブル結果例とを比較すると、以下の結果が得られる。
FIG. 13 is a diagram showing a detailed flow of step S1103. Hereinafter, each step of FIG. 13 will be described.
(FIG. 13: Step S1103_01)
The network access analysis unit 133 extracts a portion where the analysis result in step S1101 matches the assembly instruction pattern described in the network permission pattern file 136. When the example of the network permission pattern file 136 shown in FIG. 7 is compared with the example of the disassembly result shown in FIG. 9, the following results are obtained.

(図13:ステップS1103_01:抽出例)
図9の5〜6行目における「movl」「call」は、図7の4行目のsocket関数を呼び出すパターンに合致する。図9の7〜8行目における「movl」「call」は、図7の1行目のhtons関数を呼び出すパターンに合致する。図9の最終行における「call」は、図7の2行目のbindシステムコールを呼び出すパターンに合致する。
(FIG. 13: Step S1103_01: Extraction Example)
“Movl” and “call” in the fifth to sixth lines in FIG. 9 match the pattern for calling the socket function in the fourth line in FIG. “Movl” and “call” in the 7th to 8th lines in FIG. 9 match the pattern for calling the htons function in the 1st line in FIG. “Call” in the last line in FIG. 9 matches the pattern for calling the bind system call in the second line in FIG.

(図13:ステップS1103_02)
ネットワークアクセス解析部133は、アプリケーション設定ファイル142と、ネットワークパーミッションパターンファイル136が記述している記述パターンとが合致する部分を抽出する。図7に示したネットワークパーミッションパターンファイル136の例と、図4に示したアプリケーション設定ファイル142記述例とを比較すると、以下の結果が得られる。
(FIG. 13: Step S1103_02)
The network access analysis unit 133 extracts a portion where the application setting file 142 matches the description pattern described in the network permission pattern file 136. When the example of the network permission pattern file 136 shown in FIG. 7 is compared with the description example of the application setting file 142 shown in FIG. 4, the following results are obtained.

(図13:ステップS1103_02:抽出例)
図4の2行目における「Listen on 9999」は、図7の5行目に記述している、ネットワーク接続を待ち受けるパターン(bindシステムコールを使用するパターン)に合致する。
(FIG. 13: Step S1103_02: Extraction Example)
“Listen on 9999” in the second line in FIG. 4 matches the pattern for waiting for network connection (pattern using the bind system call) described in the fifth line in FIG.

図14は、ステップS1104の詳細フローを示す図である。以下、図14の各ステップについて説明する。
(図14:ステップS1104_01)
Capabilityアクセス解析部134は、ステップS1101の解析結果と、シンボルパーミッション対応テーブル137が記述しているシンボルパターンとが合致する部分を抽出する。図8に示したシンボルパーミッション対応テーブル137の例と、図10に示した逆アセンブル結果例とを比較すると、以下の結果が得られる。
FIG. 14 is a diagram showing a detailed flow of step S1104. Hereinafter, each step of FIG. 14 will be described.
(FIG. 14: Step S1104_01)
The capability access analysis unit 134 extracts a portion where the analysis result in step S1101 matches the symbol pattern described in the symbol permission correspondence table 137. When the example of the symbol permission correspondence table 137 shown in FIG. 8 and the disassembly result example shown in FIG. 10 are compared, the following results are obtained.

(図14:ステップS1104_01:抽出例)
図10の4行目における「chroot」は、図8の1行目のchrootシステムコールを呼び出すパターンに合致する。
(FIG. 14: Step S1104_01: Extraction Example)
“Root” in the fourth line in FIG. 10 matches the pattern for calling the root system call in the first line in FIG.

図15は、ステップS1105において設定提示部135が画面表示するファイルアクセス制御ポリシ設定画面1500の1例を示す図である。ファイルアクセス制御ポリシ設定画面1500は、ステップS1102における解析結果、すなわちアプリケーション設定ファイル142とアプリケーション構成ファイル143の解析結果を画面表示する。   FIG. 15 is a diagram showing an example of a file access control policy setting screen 1500 displayed on the screen by the setting presenting unit 135 in step S1105. The file access control policy setting screen 1500 displays the analysis results in step S1102, that is, the analysis results of the application setting file 142 and the application configuration file 143 on the screen.

ファイルアクセス制御ポリシ設定画面1500は、チェックボックス1501、ファイルリスト1502、パーミッション選択ボックス1503、適用ボタン1504を有する。画面上部は、後述する図16〜図17に示す画面に切り替えるためのタブを有する。   The file access control policy setting screen 1500 includes a check box 1501, a file list 1502, a permission selection box 1503, and an apply button 1504. The upper part of the screen has tabs for switching to the screens shown in FIGS.

チェックボックス1501は、ファイルリスト1502に表示されているファイルに対するパーミッション設定をセキュリティポリシファイル120に反映するか否かを選択する。反映する場合はチェックをONにする。   A check box 1501 selects whether to reflect the permission setting for the file displayed in the file list 1502 in the security policy file 120. To reflect, turn on the check.

ファイルリスト1502は、ファイルアクセス解析部132がアプリケーション設定ファイル142とアプリケーション構成ファイル143から抽出したファイルの一覧を表示する。ここに表示されているファイルリストは、図11の動作フローで解析したアプリケーションがアクセスする可能性があるものである。   The file list 1502 displays a list of files extracted by the file access analysis unit 132 from the application setting file 142 and the application configuration file 143. The file list displayed here may be accessed by the application analyzed in the operation flow of FIG.

パーミッション選択ボックス1503は、ファイルリスト1502に表示されているファイルに対して、図11の動作フローで解析したアプリケーションにどのアクセス権限を付与するかを選択するための選択肢を有する。アプリケーションは、ファイルリスト1502に表示されているファイルに対して少なくとも読込アクセスするであろうと想定されるので、デフォルト値は「Read」となっている。   The permission selection box 1503 has options for selecting which access authority is granted to the application analyzed in the operation flow of FIG. 11 for the files displayed in the file list 1502. Since the application is assumed to have at least read access to the file displayed in the file list 1502, the default value is “Read”.

アクセス権限適用ボタン1504は、ファイルアクセス制御ポリシ設定画面1500上の設定をセキュリティポリシファイル120に反映するようセキュリティポリシ生成プログラム130に指示するボタンである。   The access authority application button 1504 is a button for instructing the security policy generation program 130 to reflect the setting on the file access control policy setting screen 1500 in the security policy file 120.

図16は、ステップS1105において設定提示部135が画面表示するネットワークアクセス制御ポリシ設定画面1600の1例を示す図である。ネットワークアクセス制御ポリシ設定画面1600は、ステップS1103における解析結果、すなわちアプリケーション実行ファイル141とアプリケーション設定ファイル142の解析結果を画面表示する。   FIG. 16 is a diagram showing an example of a network access control policy setting screen 1600 displayed on the screen by the setting presenting unit 135 in step S1105. The network access control policy setting screen 1600 displays the analysis result in step S1103, that is, the analysis results of the application execution file 141 and the application setting file 142 on the screen.

ネットワークアクセス制御ポリシ設定画面1600は、プロトコル表示部1601、ポート番号表示部1602、パーミッション表示部1603、チェックボックス1604、適用ボタン1605を有する。画面上部は、図15または後述する図17に示す画面に切り替えるためのタブを有する。   The network access control policy setting screen 1600 includes a protocol display unit 1601, a port number display unit 1602, a permission display unit 1603, a check box 1604, and an apply button 1605. The upper part of the screen has a tab for switching to the screen shown in FIG. 15 or FIG. 17 described later.

プロトコル表示部1601、ポート番号表示部1602、パーミッション表示部1603は、ステップS1103の解析結果として、図11の動作フローで解析したアプリケーションがアクセスする可能性があるネットワークリソースの一覧を表示する。   The protocol display unit 1601, the port number display unit 1602, and the permission display unit 1603 display a list of network resources that can be accessed by the application analyzed in the operation flow of FIG. 11 as the analysis result of step S1103.

設定者200は、セキュリティポリシファイル120に反映するネットワークリソースをチェックボックス1604で選択し、適用ボタン1605を押下する。セキュリティポリシ生成プログラム130は、選択されているネットワークリソースに対するアクセスを許可する旨を、セキュリティポリシファイル120に反映する。   The setter 200 selects a network resource to be reflected in the security policy file 120 using the check box 1604 and presses an apply button 1605. The security policy generation program 130 reflects in the security policy file 120 that access to the selected network resource is permitted.

図17は、ステップS1105において設定提示部135が画面表示するCapabilityアクセス制御ポリシ設定画面1700の1例を示す図である。Capabilityアクセス制御ポリシ設定画面1700は、ステップS1104における解析結果、すなわちアプリケーション実行ファイル141の解析結果を画面表示する。   FIG. 17 is a diagram showing an example of the Capability access control policy setting screen 1700 displayed on the screen by the setting presenting unit 135 in step S1105. The Capability access control policy setting screen 1700 displays the analysis result in step S1104, that is, the analysis result of the application execution file 141 on the screen.

Capabilityアクセス制御ポリシ設定画面1700は、チェックボックス1701、capability表示部1702、適用ボタン1703を有する。画面上部は、図15〜図16に示す画面に切り替えるためのタブを有する。   The capability access control policy setting screen 1700 includes a check box 1701, a capability display unit 1702, and an apply button 1703. The upper part of the screen has tabs for switching to the screens shown in FIGS.

チェックボックス1701は、capability表示部1702に表示されているCapabilityアクセスに対するパーミッション設定をセキュリティポリシファイル120に反映するか否かを選択する。反映する場合はチェックをONにする。capability表示部1702は、ステップS1104で抽出したCapabilityアクセスのリストを表示する。   A check box 1701 selects whether or not to reflect the permission setting for the capability access displayed in the capability display unit 1702 in the security policy file 120. To reflect, turn on the check. The capability display unit 1702 displays the list of capability access extracted in step S1104.

設定者200は、セキュリティポリシファイル120に反映するCapabilityアクセス権限をチェックボックス1701で選択し、適用ボタン1703を押下する。セキュリティポリシ生成プログラム130は、選択されているネットワークリソースに対するアクセスを許可する旨を、セキュリティポリシファイル120に反映する。   The setter 200 selects the capability access authority to be reflected in the security policy file 120 using the check box 1701 and presses the apply button 1703. The security policy generation program 130 reflects in the security policy file 120 that access to the selected network resource is permitted.

<実施の形態1:まとめ>
以上のように、本実施形態1に係るセキュリティポリシ生成プログラム130は、アプリケーション実行ファイル141、アプリケーション設定ファイル142、アプリケーション構成ファイル143の少なくともいずれかを読み取り、アプリケーションが使用する可能性のあるアクセス権限を抽出する。これにより、アプリケーションを実行することなく、必要となるアクセス権限設定の候補を提示することができるので、セキュリティポリシファイル120の設定に係る作業負担を軽減することができる。
<Embodiment 1: Summary>
As described above, the security policy generation program 130 according to the first embodiment reads at least one of the application execution file 141, the application setting file 142, and the application configuration file 143, and grants access authority that the application may use. Extract. As a result, the necessary access authority setting candidates can be presented without executing the application, so that the work load related to the setting of the security policy file 120 can be reduced.

また、本実施形態1に係るセキュリティポリシ生成プログラム130は、アプリケーション実行ファイル141を逆アセンブルしてネットワークパーミッションパターンファイル136と比較し、ネットワークリソースにアクセスするアセンブリ命令パターンを抽出する。これにより、アプリケーションを実行することなく、ネットワークリソースに対して必要となるアクセス権限の候補を提示することができる。   Also, the security policy generation program 130 according to the first embodiment disassembles the application execution file 141 and compares it with the network permission pattern file 136, and extracts an assembly instruction pattern for accessing the network resource. This makes it possible to present access authority candidates necessary for network resources without executing an application.

また、本実施形態1に係るセキュリティポリシ生成プログラム130は、アプリケーション実行ファイル141に含まれるシンボルを抽出し、そのシンボルに対応する関数を実行する際に必要となるCapabilityアクセス権限を、シンボルパーミッション対応テーブル137によって特定する。これにより、アプリケーションを実行することなく、必要となるCapabilityアクセス権限の候補を提示することができる。   In addition, the security policy generation program 130 according to the first exemplary embodiment extracts symbols included in the application execution file 141, and indicates the capability access authority required when executing the function corresponding to the symbol, in the symbol permission correspondence table. It is specified by 137. This makes it possible to present necessary Capability access authority candidates without executing the application.

また、本実施形態1に係るセキュリティポリシ生成プログラム130は、アプリケーション設定ファイル142またはアプリケーション構成ファイル143内に記述されているファイル名を抽出し、アプリケーションはそのファイルに対するアクセス権限が必要になるものと仮定して提示する。これにより、アプリケーションを実行することなく、ファイルに対して必要となるアクセス権限の候補を提示することができる。   Further, it is assumed that the security policy generation program 130 according to the first embodiment extracts the file name described in the application setting file 142 or the application configuration file 143, and the application needs access authority to the file. And present it. This makes it possible to present access authority candidates necessary for the file without executing the application.

<実施の形態2>
実施形態1では、セキュアOS110がUNIXベースのOSであることを想定し、chrootやsetuidなどのUNIXシステムコールを例に挙げて説明した。しかし本発明に係る手法は、任意のセキュアOSについて適用することができる。
<Embodiment 2>
In the first embodiment, the secure OS 110 is assumed to be a UNIX-based OS, and UNIX system calls such as “root” and “setup” have been described as examples. However, the method according to the present invention can be applied to any secure OS.

OSが異なれば、システムコールに相当するものは異なるし、シンボル名やネットワークリソースの表現形態も異なる可能性がある。しかし、アプリケーション実行ファイル141、アプリケーション設定ファイル142、アプリケーション構成ファイル143の少なくともいずれかを解析し、必要となるアクセス権限の候補を抽出する点は、いずれのOSについても応用することができる。   If the OS is different, what corresponds to the system call is different, and the expression form of the symbol name and network resource may be different. However, it is applicable to any OS in that at least one of the application execution file 141, the application setting file 142, and the application configuration file 143 is analyzed to extract necessary access authority candidates.

また、実施形態1では、アプリケーションパッケージ140またはその内部に含まれるファイルを解析する例を示したが、既にインストールされている実行ファイルなどについても同様の手法を用いて解析することができる。   In the first embodiment, an example in which the application package 140 or a file included in the application package 140 is analyzed has been described. However, an already installed execution file or the like can also be analyzed using the same method.

100:セキュアOSコンピュータ、110:セキュアOS、120:セキュリティポリシファイル、121:サブジェクトフィールド、122:オブジェクトフィールド、123:パーミッションフィールド、130:セキュリティポリシ生成プログラム、131:逆アセンブラ部、132:ファイルアクセス解析部、133:ネットワークアクセス解析部、134:Capabilityアクセス解析部、135:設定提示部、136:ネットワークパーミッションパターンファイル、1361:パターンフィールド、1362:パターン名フィールド、137:シンボルパーミッション対応テーブル、1371:シンボルフィールド、1372:パーミッションフィールド、140:アプリケーションパッケージ、141:アプリケーション実行ファイル、142:アプリケーション設定ファイル、143:アプリケーション構成ファイル、150:パッケージ管理プログラム、200:設定者、1500:ファイルアクセス制御ポリシ設定画面、1501:チェックボックス、1502:ファイルリスト、1503:パーミッション選択ボックス、1504:適用ボタン、1600:ネットワークアクセス制御ポリシ設定画面、1601:プロトコル表示部、1602:ポート番号表示部、1603:パーミッション表示部、1604:チェックボックス、1605:適用ボタン、1700:Capabilityアクセス制御ポリシ設定画面、1701:チェックボックス、1702:capability表示部、1703:適用ボタン。   100: secure OS computer, 110: secure OS, 120: security policy file, 121: subject field, 122: object field, 123: permission field, 130: security policy generation program, 131: disassembler unit, 132: file access analysis , 133: Network access analysis unit, 134: Capability access analysis unit, 135: Setting presentation unit, 136: Network permission pattern file, 1361: Pattern field, 1362: Pattern name field, 137: Symbol permission correspondence table, 1371: Symbol Field, 1372: permission field, 140: application package, 141: application Execution file, 142: application setting file, 143: application configuration file, 150: package management program, 200: setter, 1500: file access control policy setting screen, 1501: check box, 1502: file list, 1503: permission Selection box, 1504: Apply button, 1600: Network access control policy setting screen, 1601: Protocol display section, 1602: Port number display section, 1603: Permission display section, 1604: Check box, 1605: Apply button, 1700: Capability access Control policy setting screen, 1701: check box, 1702: capability display section, 1703: apply button.

Claims (5)

セキュアOSのセキュリティポリシを生成する処理をコンピュータに実行させるプログラムであって、前記コンピュータに、
前記セキュアOS上で動作するアプリケーションの実行ファイル、前記アプリケーションの設定パラメータを記述した設定ファイル、前記アプリケーションを構成するファイルリストを記述した構成ファイルのうち少なくともいずれかを読み込む読込ステップと、
前記実行ファイルを実行するとき、前記実行ファイルが前記設定パラメータを用いるとき、前記実行ファイルが前記ファイルリスト内に記述されているファイルを使用するときの少なくともいずれかにおいて、前記セキュアOS上のいずれのアクセス権限が必要となるかを解析するアクセス解析ステップと、
前記アクセス解析ステップの結果を前記セキュリティポリシの候補として出力するステップと、
を実行させることを特徴とするセキュリティポリシ生成プログラム。
A program for causing a computer to execute a process for generating a security policy for a secure OS,
A read step of reading at least one of an execution file of an application operating on the secure OS, a setting file describing setting parameters of the application, and a configuration file describing a file list constituting the application;
When executing the executable file, when the executable file uses the setting parameter, or when the executable file uses a file described in the file list, any of the secure OSs An access analysis step for analyzing whether access authority is required;
Outputting the result of the access analysis step as a candidate for the security policy;
A security policy generation program characterized in that
前記アクセス解析ステップでは、前記コンピュータに、
前記実行ファイルを逆アセンブルしてアセンブリ言語に変換するステップと、
前記アセンブリ言語から前記セキュアOS上のネットワークリソースにアクセスする処理を抽出するステップと、
前記ネットワークリソースにアクセスするためのアクセス権限を、前記セキュアOS上で必要となるアクセス権限として抽出するステップと、
を実行させることを特徴とする請求項1記載のセキュリティポリシ生成プログラム。
In the access analysis step, the computer
Disassembling and converting the executable to assembly language;
Extracting a process for accessing network resources on the secure OS from the assembly language;
Extracting an access right for accessing the network resource as an access right required on the secure OS;
The security policy generation program according to claim 1, wherein:
前記アクセス解析ステップでは、前記コンピュータに、
前記実行ファイルに含まれるシンボルを抽出するシンボル抽出ステップと、
アプリケーションの実行ファイルに含まれるシンボルに対応する関数を実行する際に前記セキュアOS上で必要となるアクセス権限を記述したシンボルパーミッション対応テーブルを読み込むステップと、
前記シンボルパーミッション対応テーブルが記述しているアクセス権限のうち前記シンボル抽出ステップで抽出したシンボルに対応するものを検索する検索ステップと、
前記検索ステップの結果得られたアクセス権限を、前記セキュアOS上で必要となるアクセス権限として特定するステップと、
を実行させることを特徴とする請求項1または2記載のセキュリティポリシ生成プログラム。
In the access analysis step, the computer
A symbol extraction step of extracting symbols included in the executable file;
Reading a symbol permission correspondence table describing access authority required on the secure OS when executing a function corresponding to a symbol included in an execution file of an application;
A search step for searching for an access right described in the symbol permission correspondence table corresponding to the symbol extracted in the symbol extraction step;
Specifying the access authority obtained as a result of the search step as an access authority required on the secure OS;
The security policy generation program according to claim 1 or 2, wherein the security policy generation program is executed.
前記アクセス解析ステップでは、前記コンピュータに、
前記アプリケーションが使用するファイルとして前記設定ファイルが指定しているファイル、または前記構成ファイルが記述しているファイルリストが指定するファイルに対して、前記セキュアOS上で読取アクセス権限が必要となるものと判定させる
ことを特徴とする請求項1から3のいずれか1項記載のセキュリティポリシ生成プログラム。
In the access analysis step, the computer
Read access authority is required on the secure OS for the file specified by the setting file as the file used by the application or the file specified by the file list described by the configuration file The security policy generation program according to any one of claims 1 to 3, wherein the security policy generation program is determined.
請求項1から4のいずれか1項記載のセキュリティポリシ生成プログラムと、
前記セキュリティポリシ生成プログラムが生成するセキュリティポリシを用いるセキュアOSと、
を備えたことを特徴とするセキュアOSコンピュータシステム。
The security policy generation program according to any one of claims 1 to 4,
A secure OS using a security policy generated by the security policy generation program;
A secure OS computer system comprising:
JP2010191948A 2010-08-30 2010-08-30 Security policy generation program, and secure os computer system Pending JP2012048609A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010191948A JP2012048609A (en) 2010-08-30 2010-08-30 Security policy generation program, and secure os computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010191948A JP2012048609A (en) 2010-08-30 2010-08-30 Security policy generation program, and secure os computer system

Publications (1)

Publication Number Publication Date
JP2012048609A true JP2012048609A (en) 2012-03-08

Family

ID=45903368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010191948A Pending JP2012048609A (en) 2010-08-30 2010-08-30 Security policy generation program, and secure os computer system

Country Status (1)

Country Link
JP (1) JP2012048609A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016525313A (en) * 2013-07-18 2016-08-22 アルカテル−ルーセント Method and device for protecting private data
WO2019150699A1 (en) * 2018-01-31 2019-08-08 ソニー株式会社 Information processing device, information processing method, and computer program
JP2020016989A (en) * 2018-07-24 2020-01-30 横河電機株式会社 Device, method, program, and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016525313A (en) * 2013-07-18 2016-08-22 アルカテル−ルーセント Method and device for protecting private data
WO2019150699A1 (en) * 2018-01-31 2019-08-08 ソニー株式会社 Information processing device, information processing method, and computer program
JP2020016989A (en) * 2018-07-24 2020-01-30 横河電機株式会社 Device, method, program, and recording medium

Similar Documents

Publication Publication Date Title
US10540160B2 (en) Techniques for deploying virtual software applications on computers
JP5726212B2 (en) Virtual environment for server applications such as web applications
US8341619B2 (en) Simplifying installation of software modules on heterogeneous remote systems
US11126417B2 (en) System and method for application plug-in distribution
US20160371105A1 (en) Deployment and installation of updates in a virtual environment
US8438418B2 (en) Simplifying automated software maintenance of data centers
JP2011008487A (en) Compatibility evaluation apparatus, compatibility evaluation method, and program
RU2568294C2 (en) Method for automatic installation of application without human participation
US8677339B2 (en) Component relinking in migrations
Heap Ansible: from beginner to pro
US20090030908A1 (en) Centralized management type computer system
CN107636667B (en) System and method for creating multiple workspaces in a device
JP2012048609A (en) Security policy generation program, and secure os computer system
US8392469B2 (en) Model based distributed application management
US9917922B2 (en) Extensibility bundles for a cloud and devices suite
JP5574017B2 (en) Information processing apparatus, compatibility evaluation method, and program
Khare Apache Tomcat 7 Essentials
JP6781126B2 (en) Virtual machine setting input system, virtual machine setting input method, and program
US10223413B2 (en) Capturing components of an application using a static post-installation analysis of the system
Shah Penetration Testing Android Applications
Joukov et al. Built-to-order service engineering for enterprise IT discovery
Jadidi et al. Capexec: Towards transparently-sandboxed services (extended version)
US11882123B2 (en) Kernel level application data protection
Bernstein 5e: Memory Corruption Detection for the Rest of Us
US20190197235A1 (en) Server and setting method thereof