(57)【要約】【課題】  セキュアＯＳ上でアプリケーションを動作させるためのセキュリティポリシを自動生成する。【解決手段】  ソースコードまたはモデリング図から、ターゲットのオペレーティングシステム（ＯＳ）と強制アクセス制御の実装形態に依存しない第１の中間表記を生成し（ステップ２０２、２０４）、第１の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することによりそのアクセス関係のアクセス権限を解決し（ステップ２０３、２０７）、第１の中間表記に基づき、ターゲットのＯＳと強制アクセス制御の実装形態の情報からターゲットのディレクトリ構造に依存しない第２の中間表記を生成し（ステップ２０５）、第２の中間表記に基づき、ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する（ステップ２０６）。【選択図】      図２
2005063224.tif 000002
【特許請求の範囲】
【請求項１】
リソースへのラベリングと強制アクセス制御機構とを備えたオペレーティングシステムにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成する方法であって、
前記アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのオペレーティングシステムと強制アクセス制御の実装形態に依存しない第１の中間表記を生成する、第１の中間表記生成段階と、
前記第１の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することにより当該アクセス関係のアクセス権限を解決する段階と、
前記第１の中間表記に基づき、前記ターゲットのオペレーティングシステムと強制アクセス制御の実装形態の情報から前記ターゲットのディレクトリ構造に依存しない第２の中間表記を生成する段階と、
前記第２の中間表記に基づき、前記ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する段階と、
を有する、セキュリティポリシを自動的に生成する方法。
【請求項２】
前記第１の中間表記生成段階は、
既存のコンパイラには無視されて前記既存のコンパイラには影響を与えない構文からなるとともにセキュリティポリシの生成に必要な情報を持つ指示子をソースコードに埋め込んだ指示子表記拡張ソースコードを対象として、前記指示子表記拡張ソースコードから指示子表記を抽出する段階と、
前記指示子表記から前記第１の中間表記を生成する段階と、
を有する、請求項１に記載のセキュリティポリシを自動的に生成する方法。
【請求項３】
セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、該セキュリティポリシ記述拡張モデリング図を前記指示子表記拡張ソースコードに変換する段階をさらに有する、請求項２に記載のセキュリティポリシを自動的に生成する方法。
【請求項４】
前記第１の中間表記生成段階は、
既存文法によるソースコードを対象として、前記既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、
前記抽出されたアクセス権限から前記第１の中間表記を生成する段階と、
を有する、請求項１に記載のセキュリティポリシを自動的に生成する方法。
【請求項５】
既存文法によるモデリング図を入力として、該既存文法によるモデリング図を前記既存文法によるソースコードに変換する段階をさらに有する、請求項４に記載のセキュリティポリシを自動的に生成する方法。
【請求項６】
前記第１の中間表記生成段階は、
セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、該セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出する段階と、
前記セキュリティポリシ記述から前記第１の中間表記を生成する段階と、
を有する、請求項１に記載のセキュリティポリシを自動的に生成する方法。
【請求項７】
前記第１の中間表記生成段階は、
既存文法によるモデリング図を入力として、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、
前記抽出されたアクセス権限から前記第１の中間表記を生成する段階と、
を有する、請求項１に記載のセキュリティポリシを自動的に生成する方法。
【請求項８】
リソースへのラベリングと強制アクセス制御機構とを備えたオペレーティングシステムにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成する装置であって、
前記アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのオペレーティングシステムと強制アクセス制御の実装形態に依存しない第１の中間表記を生成する、第１の中間表記生成手段と、
前記第１の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することにより当該アクセス関係のアクセス権限を解決する手段と、
前記第１の中間表記に基づき、前記ターゲットのオペレーティングシステムと強制アクセス制御の実装形態の情報から前記ターゲットのディレクトリ構造に依存しない第２の中間表記を生成し、前記第２の中間表記に基づき、前記ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する手段と、
を有する、セキュリティポリシを自動的に生成する装置。
【請求項９】
前記第１の中間表記生成手段は、既存のコンパイラには無視されて前記既存のコンパイラには影響を与えない構文からなるとともにセキュリティポリシの生成に必要な情報を持つ指示子をソースコードに埋め込んだ指示子表記拡張ソースコードを対象として、前記指示子表記拡張ソースコードから指示子表記を抽出し、前記指示子表記から前記第１の中間表記を生成する手段を有する、請求項８に記載のセキュリティポリシを自動的に生成する装置。
【請求項１０】
セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、該セキュリティポリシ記述拡張モデリング図を前記指示子表記拡張ソースコードに変換する手段をさらに有する、請求項９に記載のセキュリティポリシを自動的に生成する装置。
【請求項１１】
前記第１の中間表記生成手段は、既存文法によるソースコードを対象として、該既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出し、前記抽出されたアクセス権限から前記第１の中間表記を生成する手段を有する、請求項８に記載のセキュリティポリシを自動的に生成する装置。
【請求項１２】
前記第１の中間表記生成手段は、セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、該セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出し、前記セキュリティポリシ記述から前記第１の中間表記を生成する手段を有する、請求項８に記載のセキュリティポリシを自動的に生成する装置。
【請求項１３】
前記第１の中間表記生成手段は、既存文法によるモデリング図を入力として、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出し、前記抽出されたアクセス権限から前記第１の中間表記を生成する手段を有する、請求項８に記載のセキュリティポリシを自動的に生成する装置。
【請求項１４】
リソースへのラベリングと強制アクセス制御機構とを備えたオペレーティングシステムにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成するために、コンピュータに、
前記アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのオペレーティングシステムと強制アクセス制御の実装形態に依存しない第１の中間表記を生成する処理と、
前記第１の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することにより当該アクセス関係のアクセス権限を解決する処理と、
前記第１の中間表記に基づき、前記ターゲットのオペレーティングシステムと強制アクセス制御の実装形態の情報から前記ターゲットのディレクトリ構造に依存しない第２の中間表記を生成する処理と、
前記第２の中間表記に基づき、前記ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する処理と、
を実行させるプログラム。
【請求項１５】
コンピュータが読み取り可能な記録媒体であって、請求項１４に記載のプログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソースのラベリングと強制アクセス制御（ＭＡＣ：Mandatory Access Control）機構などを導入したセキュアなオペレーティングシステム（ＯＳ：Operating System、以下、セキュアなオペレーティングシステムのことをセキュアＯＳと呼ぶ）における、セキュリティポリシと呼ばれるセキュリティ設定を自動的に生成する方法及び装置に関する。
【背景技術】
【０００２】
軍事設備を含んだ中央省庁においては、従来のＯＳよりも高いセキュリティを有するＯＳが必要とされ、セキュアＯＳ（例えば、非特許文献１を参照 ）の中でも、特に、トラステッド(Trusted)ＯＳと呼ばれるＴＣＳＥＣ(Trusted Computer Systems Evaluation Criteria)のＢ１レベル及びＣＭＷＥＣ(Compartmented Mode Workstation Evaluation Criteria) で求められている機能を実装しているＯＳの普及が進んできた。セキュアＯＳは、トラステッドＯＳほど厳しい実装要件は必要とされないものの、ＭＡＣ機構などトラステッドＯＳの実装要件の一部を満たしているＯＳのことを指している。セキュアＯＳは、中央省庁以外でも、ユーザやスーパーユーザが不適切なセキュリティ設定を行うことによる情報漏洩・サーバへの不正侵入・不正利用を特に警戒する環境において、今後普及が進むことが予測されている。
【０００３】
セキュアＯＳは、セキュリティポリシと呼ぶセキュリティの設定をきめ細かく施すことにより高いセキュリティを実現している。このセキュリティポリシは、一般に、ＯＳによって書式等が異なるばかりでなく、各ＯＳで複数の強制アクセス制御の実装形態を利用できる場合には、それぞれの強制アクセス制御の実装形態によっても書式が異なる。例えば、セキュアＯＳのＭＡＣ機構は、ユーザやスーパーユーザが従来の任意アクセス制御（ＤＡＣ：Discretionary Access Control）の範囲でどのような設定を行っても、予めセキュリティ管理者が設定したＭＡＣのセキュリティポリシで許可しているアクセス権限を越えてプロセスが動作することができないようになっている、そのため、あるアプリケーションをＭＡＣ機構に対応したセキュアＯＳ上で動作させるためには、セキュリティポリシにおいて、そのアプリケーションのプロセスがどのようなプロセス、ファイル、ソケットといったリソースにアクセスする権限が必要なのかを羅列しなければならない。
【０００４】
従来、このセキュリティポリシは人手によって生成する他はなく、アプリケーションの動作とセキュアＯＳの仕様・セキュリティポリシの双方を理解している開発者が各アプリケーション、ＯＳ、強制アクセス制御の実装形態ごとにセキュリティポリシを生成する必要があった。また、先述のようにセキュリティポリシがターゲットマシンのディレクトリ構造に左右されるＭＡＣ機構に対応する場合は、ディレクトリ構造も考慮してセキュリティポリシを生成しなければならない。このようにセキュリティポリシを生成するためには多くの情報を必要とするため、セキュアＯＳ上でアプリケーションを動作させるためには、アプリケーションの開発時、導入時、さらには維持管理時にも多くのコストがかかることになる。これは、セキュアＯＳの普及の阻害要因となっている。
【非特許文献１】日立ソフトウェアエンジニアリング株式会社開発本部著、“オペレーティングシステムのセキュリティ機能拡張の調査”ＩＰＡセキュリティセンター調査報告、[online]、２００２年３月１１日掲載、ＩＰＡセキュリティセンター、［２００３年７月９日確認］、インターネット<URL: http://www.ipa.go.jp/security/fy13/report/secure_os/secure_os.html>
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、セキュアＯＳのセキュリティポリシの生成に際しては、従来、その大半に人手が介在し、また、セキュリティポリシの作成者は、アプリケーションの動作とセキュアＯＳ仕様・セキュリティポリシの文法の双方を知る必要がある。また、アプリケーションが必要としていないセキュリティポリシを追加してしまうことにより、セキュリティホールが混入する恐れがある。さらに、セキュリティポリシの設定は難解であり、一般に、アプリケーションの開発者とセキュリティポリシを理解して設定できる開発者とは別となっている。このため、セキュアＯＳを利用するためにはコストがかかってしまう。
【０００６】
本発明は、このような問題を解決し、セキュアＯＳ上でアプリケーションを使用するためにセキュリティポリシを生成する際に、アプリケーションのソースファイルないし開発時に使用するモデリング図からセキュリティポリシの雛型を生成し、さらにアプリケーションを使用するセキュアＯＳの環境に特化したセキュリティポリシを自動的に生成することができる方法及び装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明による、リソースへのラベリングと強制アクセス制御機構とを備えたセキュアＯＳにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成する方法は、アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのＯＳと強制アクセス制御の実装形態に依存しない第１の中間表記を生成する、第１の中間表記生成段階と、第１の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することによりそのアクセス関係のアクセス権限を解決する段階と、第１の中間表記に基づき、ターゲットのＯＳと強制アクセス制御の実装形態の情報からターゲットのディレクトリ構造に依存しない第２の中間表記を生成する段階と、第２の中間表記に基づき、ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する段階と、を有する。
【０００８】
ここでソースコードとして、既存のコンパイラには無視されてその既存のコンパイラには影響を与えない構文からなるとともにセキュリティポリシの生成に必要な情報を持つ指示子をソースコードに埋め込んだ指示子表記拡張ソースコードを用いる場合には、第１の中間表記生成段階は、この指示子表記拡張ソースコードから指示子表記を抽出する段階と、指示子表記から第１の中間表記を生成する段階と、を備えればよい。この場合、セキュリティポリシ生成に必要な情報を埋め込むことができるように文法を拡張したセキュリティポリシ記述拡張モデリング図を入力として、このセキュリティポリシ記述拡張モデリング図を指示子表記拡張ソースコードに変換するようにしてもよい。
【０００９】
ソースコードとして既存文法によるソースコードを用いる場合には、第１の中間表記生成段階は、既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、抽出されたアクセス権限から第１の中間表記を生成する段階と、を備えればよい。この場合、既存文法によるモデリング図を入力として、この既存文法によるモデリング図を既存文法によるソースコードに変換するようにしてもよい。
【００１０】
モデリング図として、上述したセキュリティポリシ記述拡張モデリング図を用いる場合には、第１の中間表記生成段階は、セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出する段階と、セキュリティポリシ記述から第１の中間表記を生成する段階と、を備えればよい。
【００１１】
モデリング図として既存文法によるモデリング図を用いる場合には、第１の中間表記生成段階は、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出する段階と、抽出されたアクセス権限から第１の中間表記を生成する段階と、を備えればよい。
【００１２】
本発明による、リソースへのラベリングと強制アクセス制御機構とを備えたセキュアＯＳにおいてアプリケーションを動作させるために用いられるセキュリティポリシを自動的に生成する装置は、アプリケーションを表わすソースコードまたはモデリング図から、ターゲットのＯＳと強制アクセス制御の実装形態に依存しない第１の中間表記を生成する、第１の中間表記生成手段と、第１の中間表記の生成に際し、あるアクセス関係についてはセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合にはユーザに候補のアクセス権限を提示することによりそのアクセス関係のアクセス権限を解決する手段と、第１の中間表記に基づき、ターゲットのＯＳと強制アクセス制御の実装形態の情報からターゲットのディレクトリ構造に依存しない第２の中間表記を生成し、第２の中間表記に基づき、ターゲットのディレクトリ構造の情報からセキュリティポリシを生成する手段と、を有する。
【００１３】
ここでソースコードとして、上述したような指示子表記拡張ソースコードを用いるためには、第１の中間表記生成手段は、指示子表記拡張ソースコードから指示子表記を抽出し、指示子表記から第１の中間表記を生成する手段を備えていればよい。この場合、上述したセキュリティポリシ記述拡張モデリング図を入力として、セキュリティポリシ記述拡張モデリング図を指示子表記拡張ソースコードに変換する手段をさらに設けてもよい。
【００１４】
ソースコードとして既存文法によるソースコードを用いるためには、第１の中間表記生成手段は、その既存文法によるソースコードにおいてプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出し、抽出されたアクセス権限から第１の中間表記を生成する手段を備えていればよい。
【００１５】
モデリング図として上述したセキュリティポリシ記述拡張モデリング図を用いるためには、第１の中間表記生成手段は、セキュリティポリシ記述拡張モデリング図からセキュリティポリシ記述を抽出し、セキュリティポリシ記述から第１の中間表記を生成する手段を備えていればよい。
【００１６】
モデリング図として既存文法によるモデリング図を用いる場合には、第１の中間表記生成手段は、プロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出し、抽出されたアクセス権限から第１の中間表記を生成する手段を備えていればよい。
【発明の効果】
【００１７】
本発明によれば、セキュアＯＳのセキュリティポリシの自動的に生成することが可能となって、セキュアＯＳとセキュアＯＳ上で動作させるアプリケーションの開発・導入・維持管理時のコストを削減することができる。さらに、アプリケーションのソースファイルからセキュリティポリシを自動的に生成する場合において、そのアプリケーションが必要としていないセキュリティポリシが追加されることが防がれ、これにより、セキュリティの強化が可能になる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図１は、本発明の実施の一形態のセキュリティポリシ自動生成装置の構成を示すブロック図である。
【００１９】
図１に示したセキュリティポリシ自動生成装置１００は、アプリケーションの指示子表記拡張ソースコード１１、既存文法によるアプリケーションのソースコード１２、既存文法によるアプリケーションのモデリング図１３、アプリケーションのセキュリティポリシ記述拡張モデリング図１４のいずれかを入力として、そのアプリケーションをセキュアＯＳ上で動作させるためのセキュリティポリシ１６を生成するものである。ここで指示子表記拡張ソースコード１１とは、セキュリティポリシの自動生成に必要な情報を埋め込むことができるような指示子を埋め込んだソースコードのことを指す。この場合、この指示子は、既存のコンパイラには無視され、既存のコンパイラの処理には影響を与えないような構文からなっている。セキュリティポリシ記述拡張モデリング図１４とは、セキュリティポリシ生成に必要な情報を記述できるように文法を拡張したモデリング図のことを指す。
【００２０】
セキュリティポリシ自動生成部装置１００は、指示子表記拡張ソースコード１１から指示子を抽出する指示子抽出部１１１と、既存文法によるソースコード１２を解釈するソースコード解釈部１１２と、セキュリティポリシ記述拡張モデリング図１４を指示子表記拡張ソースコード１１に変換する拡張モデリング図変換部１１３と、既存文法によるモデリング図１３を解釈するモデリング図解釈部１１４と、セキュリティポリシ記述拡張モデリング図１４からセキュリティポリシ記述を抽出するセキュリティポリシ記述抽出部１１５、既存文法によるソースコードまたはモデリング図の解釈結果に基づき、アプリケーションのプロセスがどのリソースにどのようなアクセス権限を必要とするかを抽出するアクセス権限抽出部１２１と、抽出された指示子、アクセス権限あるいはセキュリティポリシ記述に基づいてセキュリティポリシ１６を生成するセキュリティポリシ生成部１３１と、ユーザに対して問合せを行うユーザ問合せ部１４１と、を備えている。
【００２１】
具体的には、指示子抽出部１１１は、指示子表記拡張ソースコード１１中の指示子表記を抽出し、これをターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。ソースコード解釈部１１２は、既存文法によるソースコード１２をアセンブリ言語などの低級言語表記に変換する。モデリング図解釈部１１４は、既存文法によるモデリング図１３をプロセス対リソースの関係を記した中間表記０に変換する。セキュリティポリシ記述抽出部１１５は、セキュリティポリシ記述モデリング図１４中のセキュリティポリシ記述を抽出して、これを、ターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。アクセス権限抽出部１２１は、上述した低級言語表記あるいは中間表記０から、必要なアクセス権限を抽出・蓄積して、蓄積したアクセス権限を、ターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。セキュリティポリシ生成部１３１は、中間表記１をターゲットのディレクトリ構造に依存しない中間表記２に変換し、さらに最終的なセキュリティポリシを生成する。なお、対象とするアプリケーションにおいて、あるアクセス関係についてセキュリティポリシ内で設定するアクセス権限が複数候補挙げられる場合があるが、これについては、ユーザ問合せ部１４１がこれら複数のアクセス権限候補をユーザに提示し、ユーザが選択したアクセス権限によってセキュリティポリシが設定されるようにしている。すなわち、指示子抽出部１１１、セキュリティポリシ記述抽出部及びアクセス権限抽出部１２１は、中間表記１を生成する際に複数のアクセス権限候補があってそれを解決しなければならないときに、ユーザ問合せ部１４１を介してユーザに問い合わせ、アクセス権限の解決を行う。
【００２２】
次に、このセキュリティポリシ自動生成装置１００によるセキュリティポリシの自動生成について、説明する。上述したようにこのセキュリティポリシ自動生成装置１００は、指示子表記拡張ソースコード１１、既存文法によるソースコード１２、既存文法によるモデリング図１３、セキュリティポリシ記述拡張モデリング図１４のいずれかを入力としてセキュリティポリシを生成するものであるから、これら指示子表記拡張ソースコード１１、既存文法によるソースコード１２、既存文法によるモデリング図１３及びセキュリティポリシ記述拡張モデリング図１４のそれぞれごとに、どのようにしてセキュリティポリシが生成されるかを説明する。
【００２３】
指示子表示拡張ソースコード１１がセキュリティポリシ自動作成装置１００に与えられると、指示子抽出部１１１は、指示子表記拡張ソースコード１１から指示子を抽出して中間表記１に変換し、セキュリティポリシ生成部１３１は指示子に基づく中間表記１をセキュリティポリシに変換することにより、セキュリティポリシを生成する。
【００２４】
既存文法によるソースコード１２がセキュリティポリシ自動作成装置１００に与えられると、ソースコード解釈部１１２は、セキュリティポリシ自動生成に必要となるアクセス権限に関する情報を抽出しやすいように、このソースコードの低級言語への変換を行う。その後、アクセス権限抽出部１２１は、低級言語に変換されたソースコードに基づいて、対象とするアプリケーションが必要とするアクセス権限を抽出・蓄積してそれを中間表記１に変換し、セキュリティポリシ生成部１３１は、抽出・蓄積されたアクセス権限に基づく中間表記１をセキュリティポリシに変換することにより、セキュリティポリシ１６を生成する。
【００２５】
セキュリティポリシ記述拡張モデリング図１４からのセキュリティポリシの生成には、２通りの手順がある。第１の手順では、セキュリティポリシ記述拡張モデリング図１４がセキュリティポリシ自動生成装置１００に与えられると、拡張モデリング図変換部１１３によってセキュリティポリシ記述拡張モデリング図１４が指示子表記拡張ソースコード１１に変換し、その後、上述した指示子表記拡張ソースコード１１に対する手順によって、セキュリティポリシ１６が生成する。２つ目の手順では、セキュリティポリシ記述拡張モデリング図１４がセキュリティポリシ自動生成装置１００に与えられると、セキュリティポリシ記述抽出部１１５は、セキュリティポリシ記述拡張モデリング図１４に含まれるセキュリティポリシ記述を抽出して中間表記１に変換し、セキュリティポリシ生成部１３１はこのセキュリティポリシ記述に基づく中間表記１をセキュリティポリシに変換し、これによってセキュリティポリシ１６が生成する。
【００２６】
既存文法によるモデリング図１３からのセキュリティポリシ１６の生成には２通りの手順がある。１つ目の手順では、モデリング図変換装置１５によって既存文法によるモデリング図１３を既存文法によるソースコード１２に変換し、このソースコード１２をセキュリティポリシ自動生成装置１００に与えることにより、上述した既存文法によるソースコード１２からのセキュリティポリシ１６の生成の手順にしたがって、セキュリティポリシ１６を生成する。モデリング図からソースコードを生成するモデリング図変換装置１５としては、既存技術によるものを使用することができる。２つ目の手順では、既存文法のモデリング図１３がセキュリティポリシ自動生成装置１００に与えられると、モデリング図解釈部１１４は、このモデリング図１３から、対象とするアプリケーションにおいてどのようなアクセスが発生するかを抽出し、アクセス権限抽出部１２１は、モデリング図解釈部１１４での抽出結果に応じて、対象とするアプリケーションが必要とするアクセス権限を抽出・蓄積して、蓄積したアクセス権限に基づく中間表記１を生成する。その後、セキュリティポリシ生成部１３１は、抽出・蓄積されたアクセス権限に基づく中間表記１をセキュリティポリシに変換することにより、セキュリティポリシ１６を生成する。
【００２７】
図２は、このセキュリティポリシ自動生成装置１００において、セキュリティポリシ記述拡張モデリング図１４と指示子表記拡張ソースコード１１のいずれかを入力としてセキュリティポリシを自動生成する処理を示すフローチャートである。ここでは、セキュリティポリシ記述拡張モデリング図については、上述した１つ目の手順で処理されるものとする。
【００２８】
入力があると、まずステップ２０１において、その入力がセキュリティポリシ記述拡張モデリング図であるか指示子表記拡張ソースコードであるかを判定する。
【００２９】
入力がセキュリティポリシ記述拡張モデリング図である場合には、拡張モデリング図変換部１１３にそのセキュリティポリシ記述拡張モデリング図がわたされ、ステップ２１１において、拡張モデリング図変換部１１３は、そのモデリング図中のセキュリティポリシ記述を抽出し、ステップ２１２において、セキュリティポリシ記述を指示子表記に変換する。このステップ２１１、２１２と並行して、ステップ２２１において、拡張モデリング図変換部１１３は、モデリング図中のセキュリティポリシ記述以外の記述を抽出し、ステップ２２２において、セキュリティポリシ記述以外の記述をソースコードに変換する。ステップ２１２での指示子表記への変換とステップ２２２でのソースコードへの変換が終了すると、これらの指示子表記とソースコードとを、ステップ２２３において、指示子を含んだ指示子表記拡張ソースコードに統合する。これにより、拡張モデリング図変換部１１３での処理は終了する。その後、ステップ２０２に移行する。
【００３０】
ステップ２０１において入力が指示子表記拡張ソースコードであった場合には、そのままステップ２０２に移行する。
【００３１】
ステップ２０２では、指示子抽出部１１１が、指示子表記拡張ソースコードから、指示子表記を抽出する。次にステップ２０３において、指示子表記においてそれぞれの設定項目について複数のアクセス権限候補があるかどうかを判定し、複数のアクセス権限候補がある場合には、ステップ２０７においてユーザ問合せ部１４１によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の１つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ１つずつ決まると、ステップ２０４において、指示子抽出部１１１は、指示子表記をターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。その後、セキュリティポリシ生成部１３１は、ステップ２０５において、ターゲットのＯＳと強制アクセス制御の実装形態の情報とに基づいて、中間表記１をターゲットのディレクトリ構造に依存しない中間表記２に変換し、ステップ２０６において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。ターゲットのＯＳと強制アクセス制御の実装形態とディレクトリ構造とに関する情報は、予め、あるいはセキュリティポリシの生成時に、セキュリティポリシ生成部１３１に入力として与えられる。実際に本実施形態に基づいてセキュリティポリシを生成する際には、アプリケーションをステップ２０５の段階の中間表記２のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ２０６を実行するようにしてもよい。
【００３２】
図３は、このセキュリティポリシ自動生成装置１００において、既存文法によるモデリング図１３あるいは既存文法によるソースコード１２のいずれかを入力としてセキュリティポリシを自動生成する処理を示すフローチャートである。ここでは、既存文法については、上述した１つ目の手順で処理されるものとする。
【００３３】
入力があると、まずステップ３０１において、その入力が既存文法のモデリング図であるか既存文法のソースコードであるかを判定する。入力が既存文法のモデリング図である場合には、ステップ３１１において、それをモデリング図変換装置１５に与えて既存文法のソースコードに変換する。その後、入力されたあるいはモデリング図から変換されたソースコードを、ステップ３０２において、ソースコード解釈部１１２は、アセンブリ言語などの低級言語表記に変換する。ステップ３０３において、アクセス権限抽出部１２１は、必要なアクセス権限をその低級言語表記から抽出・蓄積する。これは例えば、アセンブリ言語表記のソースコード中でシステムコールが発行される部位に着目して、どのようなシステムコールを発行する権限を与える必要があるかを蓄積することによって実現できる。ステップ３０４では、それぞれの設定項目について複数のアクセス権限候補があるかどうかを判定し、複数のアクセス権限候補がある場合には、ステップ２０８においてユーザ問合せ部１４１によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の１つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ１つずつ決まると、ステップ３０５において、アクセス権限抽出部１２１は、蓄積されているアクセス権限をターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。その後、図２に示した場合と同様に、セキュリティポリシ生成部１３１は、ステップ３０６において、ターゲットのＯＳと強制アクセス制御の実装形態の情報とに基づいて、中間表記１をターゲットのディレクトリ構造に依存しない中間表記２に変換し、ステップ３０７において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。この場合も、アプリケーションをステップ３０６の段階の中間表記２のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ３０７を実行するようにしてもよい。
【００３４】
図４は、このセキュリティポリシ自動生成装置１００において、セキュリティポリシ記述拡張モデリング図１４について上述した２つ目の手順を適用してセキュリティポリシを自動生成する処理を示すフローチャートである。
【００３５】
まず、ステップ４０１において、セキュリティポリシ記述抽出部１１５は、セキュリティポリシ記述拡張モデリング図中のセキュリティポリシ記述を抽出する。次にステップ４０２において、それぞれの設定項目について複数のアクセス権限候補があるかどうかを判定し、複数のアクセス権限候補がある場合には、ステップ４０６においてユーザ問合せ部１４１によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の１つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ１つずつ決まると、セキュリティポリシ記述抽出部１１５は、ステップ４０３において、セキュリティポリシ記述をターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。その後、図２に示した場合と同様に、セキュリティポリシ生成部１３１は、ステップ４０４において、ターゲットのＯＳと強制アクセス制御の実装形態の情報とに基づいて、中間表記１をターゲットのディレクトリ構造に依存しない中間表記２に変換し、ステップ４０５において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。この場合も、アプリケーションをステップ４０４の段階の中間表記２のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ４０５を実行するようにしてもよい。
【００３６】
図５は、このセキュリティポリシ自動生成装置１００において、既存文法によるモデリング図１３について上述した２つ目の手順を適用してセキュリティポリシを自動生成する処理を示すフローチャートである。
【００３７】
まず、ステップ５０１において、モデリング図解釈部１２１は、モデリング図を各プロセス対リソースの関係を記した中間表記０に変換する。次に、アクセス権限抽出部１２１は、ステップ５０２において、中間表記０から各プロセス対リソースの必要なアクセス権限を抽出する。次に、ステップ５０３において、それぞれの設定項目につきアクセス権限を候補が複数有り得るかどうかを判定し、アクセス権限候補が複数ある場合には、ステップ５０７においてユーザ問合せ部１４１によってユーザにそれらアクセス権限候補を提示し、ユーザはアクセス権限の１つを選択する。全ての設定項目のアクセス権限の候補がそれぞれ１つずつ決まると、アクセス権限抽出部１２１は、ステップ５０４において、中間表記０をターゲットのＯＳと強制アクセス制御の実装形態に依存しない中間表記１に変換する。その後、図２に示した場合と同様に、セキュリティポリシ生成部１３１は、ステップ５０５において、ターゲットのＯＳと強制アクセス制御の実装形態の情報とに基づいて、中間表記１をターゲットのディレクトリ構造に依存しない中間表記２に変換し、ステップ５０６において、ディレクトリ構造の情報に基づいて、最終的なセキュリティポリシを生成する。この場合も、アプリケーションをステップ５０５の段階の中間表記２のセキュリティポリシとともに配布し、ターゲットのホストにインストールする際にディレクトリ情報を収集してステップ５０６を実行するようにしてもよい。
【００３８】
以上のようにして本実施形態のセキュリティポリシ自動生成装置１００を用いることにより、アプリケーションについて、その指示子表記拡張ソースコード１１、既存文法によるソースコード１２、既存文法によるモデリング図１３、及びセキュリティポリシ記述拡張モデリング図１４の各々からセキュリティポリシを自動生成することが可能になる。なお、当然ことながら、このセキュリティポリシ自動生成装置１００は、入力として何を用いるのかに応じて、指示子抽出部１１１、ソースコード解釈部１１２、拡張モデリング図変換部１１３、モデリング図解釈部１１４、セキュリティポリシ記述抽出部１１５及びアクセス権限抽出部１２１のうちの一部を省略することができる。例えば指示子表記拡張ソースコードのみを対象にするのであれば、指示子抽出部１１１、セキュリティポリシ生成部１３１及びユーザ問合せ部１４１のみを設ければよい。
【００３９】
以上説明したセキュリティポリシ自動生成装置１００は、一般には、セキュリティポリシを自動生成するためのコンピュータプログラムを、パーソナルコンピュータやワークステーションなどのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。セキュリティポリシの自動生成を実行するためのプログラムは、ＣＤ−ＲＯＭなどの記録媒体によって、あるいはネットワークを介して、コンピュータに読み込まれる。そのようなコンピュータは、例えば、ＣＰＵと、プログラムやデータを格納するためのハードディスク装置と、主メモリと、キーボードやマウスなどの入力装置と、ＣＲＴや液晶ディスプレイなどの表示装置と、ＣＤ−ＲＯＭ等の記録媒体を読み取る読み取り装置と、ネットワークと接続するための通信インタフェースとから構成されている。ハードディスク装置、主メモリ、入力装置、表示装置、読み取り装置及び通信インタフェースは、いずれもＣＰＵに接続している。このコンピュータでは、セキュリティポリシの自動生成を行うためのプログラムを格納した記録媒体を読み取り装置に装着してそのプログラムを記録媒体から読み出してハードディスク装置に格納し、あるいはそのようなプログラムをネットワークを介してダウンロードしてハードディスク装置に格納し、ハードディスク装置に格納されたプログラムをＣＰＵが実行し、さらに、対象とするアプリケーションの指示子表記拡張ソースコード、既存文法によるソースコード、既存文法によるモデリング図あるいはセキュリティポリシ記述拡張モデリングを与えることによって、セキュリティポリシの自動生成が行われる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の一形態のセキュリティポリシ自動作成装置の構成を示すブロック図である。
【図２】セキュリティポリシ記述拡張モデリング図と指示子表記拡張ソースコードのいずれかを入力としてセキュリティポリシを自動生成する処理を示すフローチャートである。
【図３】既存文法によるモデリング図と既存文法にゆおるソースコードのいずれかを入力としてセキュリティポリシを自動生成する処理をフローチャートである。
【図４】指示子表記拡張ソースコードを経由せずにセキュリティポリシ記述拡張モデリング図からセキュリティポリシを自動生成する処理を示すフローチャートである。
【図５】既存文法によるソースコードを経由せずに既存文法によるモデリング図からセキュリティポリシを自動生成する処理を示すフローチャートである。
【符号の説明】
【００４１】
１１    指示子表記拡張ソースコード
１２    既存文法のソースコード
１３    既存文法のモデリング図
１４    セキュリティポリシ記述拡張モデリング図
１５    モデリング図変換装置
１６    生成されたセキュリティポリシ
１００    セキュリティポリシ自動生成装置
１１１    指示子抽出部
１１２    ソースコード解釈部
１１３    拡張モデリング図変換部
１１４    モデリング図解釈部
１１５    セキュリティポリシ記述抽出部
１２１    アクセス権限抽出部
１３１    セキュリティポリシ生成部
１４１    ユーザ問合せ部
【図１】
2005063224.tif 000003
【図２】
2005063224.tif 000004
【図３】
2005063224.tif 000005
【図４】
2005063224.tif 000006
【図５】
2005063224.tif 000007