(57)【要約】【課題】  セキュアOS適用システムにどのようなリスクがあるのか分析する手法を提供すること。【解決手段】  セキュアOSにおける各ドメインの権限を定義したポリシーファイルを分析する。ポリシーファイルを分析するために、被害とその被害を及ぼすために必要な権限とを対応付けて格納した被害権限テーブルや、被害を及ぼす可能性を増大させるリスク増大要因と該リスク増大要因に必要な権限とを対応付けて格納したリスク増大要因テーブルを用意する。ポリシーファイルをオープンし、ドメインが上記被害権限テーブルやリスク増大要因テーブルに含まれる権限を持っている場合に警告を表示する。また、ユーザがその警告を指定して所定の操作を行ったとき、その指定された警告に係る権限が当該権限に対応する前記ドメインまたはプロセスにおいて無効となるように前記ポリシーファイルの設定を行う。【選択図】  図１
2006092080.tif 000002
【特許請求の範囲】
【請求項１】
プロセス毎にどのようなリソースにアクセスができるかというアクセス制御設定が可能なオペレーティングシステムであるセキュアOSのセキュリティ診断を行うセキュリティ診断プログラムであって、
被害とその被害を及ぼすために必要な権限とを対応付けて格納した被害権限テーブルを備え、
該セキュリティ診断プログラムを実行することにより、コンピュータを、
セキュリティ診断の対象であるセキュアOSにおける各ドメインまたは各プロセスの権限を定義したポリシーファイルから、前記被害権限テーブルに格納されている権限を、検索する手段、及び
検索された権限に対応するドメインまたはプロセスについて、該検索された権限とそれに対応する被害とを明示して警告を出力する手段
として機能させることを特徴とするセキュリティ診断プログラム。
【請求項２】
プロセス毎にどのようなリソースにアクセスができるかというアクセス制御設定が可能なオペレーティングシステムであるセキュアOSのセキュリティ診断を行うセキュリティ診断プログラムであって、
被害を及ぼす可能性を増大させるリスク増大要因と該リスク増大要因に必要な権限とを対応付けて格納したリスク増大要因テーブルを備え、
該セキュリティ診断プログラムを実行することにより、コンピュータを、
セキュリティ診断の対象であるセキュアOSにおける各ドメインまたは各プロセスの権限を定義したポリシーファイルから、前記リスク増大要因テーブルに格納されている権限を、検索する手段、及び
検索された権限に対応するドメインまたはプロセスについて、該検索された権限とそれに対応するリスク増大要因とを明示して警告を出力する手段
として機能させることを特徴とするセキュリティ診断プログラム。
【請求項３】
請求項１または２に記載のセキュリティ診断プログラムにおいて、
さらに、前記コンピュータを、
ユーザが前記出力された警告を指定した所定の操作を行ったとき、その指定された警告に係る権限が当該権限に対応する前記ドメインまたはプロセスにおいて無効となるように、前記ポリシーファイルの設定を行う手段
として機能させることを特徴とするセキュリティ診断プログラム。
【請求項４】
プロセス毎にどのようなリソースにアクセスができるかというアクセス制御設定が可能なオペレーティングシステムであるセキュアOSのセキュリティ診断を行うセキュリティ診断システムであって、
被害とその被害を及ぼすために必要な権限とを対応付けた被害権限テーブルを記憶する手段と、
セキュリティ診断の対象であるセキュアOSにおける各ドメインまたは各プロセスの権限を定義したポリシーファイルから、前記被害権限テーブルに格納されている権限を、検索する手段と、
検索された権限に対応するドメインまたはプロセスについて、該検索された権限とそれに対応する被害とを明示して警告を出力する手段と
を備えることを特徴とするセキュリティ診断システム。
【請求項５】
プロセス毎にどのようなリソースにアクセスができるかというアクセス制御設定が可能なオペレーティングシステムであるセキュアOSのセキュリティ診断を行うセキュリティ診断システムであって、
被害を及ぼす可能性を増大させるリスク増大要因と該リスク増大要因に必要な権限とを対応付けたリスク増大要因テーブルを記憶する手段と、
セキュリティ診断の対象であるセキュアOSにおける各ドメインまたは各プロセスの権限を定義したポリシーファイルから、前記リスク増大要因テーブルに格納されている権限を、検索する手段と、
検索された権限に対応するドメインまたはプロセスについて、該検索された権限とそれに対応するリスク増大要因とを明示して警告を出力する手段と
を備えることを特徴とするセキュリティ診断システム。
【請求項６】
請求項４または５に記載のセキュリティ診断システムにおいて、
さらに、ユーザが前記出力された警告を指定した所定の操作を行ったとき、その指定された警告に係る権限が当該権限に対応する前記ドメインまたはプロセスにおいて無効となるように、前記ポリシーファイルの設定を行う手段を備えることを特徴とするセキュリティ診断システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアOSのセキュリティ診断技術に関する。
【背景技術】
【０００２】
現在広く使われているOSのアクセス制御では、基本的にリソースの所有者がそのリソースへのアクセス権限を設定する。また、全ての権限をもつ特権というものが存在する。それに対して、セキュアOSとは、全権を持つ特権を排除し、プロセス毎にドメインと呼ばれるアクセス権限を付与できるようにしたOSである。プロセス毎にどんな権限を持つかという設定は、ポリシーファイルというファイルに記載されている。この機能により、各プロセスが必要なリソースにだけアクセスすることがOSによって保証され、プロセスにセキュリティホールがあり、攻撃者にプロセスが乗っ取られたとしても、その被害を最小限にすることができる。
【０００３】
セキュリティ診断に関する技術としては、特許文献１のような技術がある。これは、アプリケーションにセキュリティホールがあるか否かを診断するものである。
【特許文献１】特開２００２−１４９５０８（Ｐ２００２−１４９５０８Ａ）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
基本的に、セキュアOS上の各プロセスには、最小限の権限が割り当てられている。各プロセスがどんなリソースにアクセスできるかという権限の設定は、ポリシーファイルに記載されている。セキュアOSを適用することによって、システムが攻撃されたとしても、実際に被害が発生するリスクは軽減される。しかし、プロセスが最小限の権限を持っているといえども、攻撃者はプロセスを乗っ取ることにより、その権限の範囲内で被害を及ぼすことができる。そのため、セキュアOSを使っても攻撃によって被害が発生するリスクが存在する。また、システムの管理者が、ポリシーファイルに誤った記載をし、これによりプロセスに無用の権限を与えてしまう場合もある。
【０００５】
上述したリスクに対し、特許文献１に記載の技術で対処することが考えられる。しかし、特許文献１の技術は、アプリケーションのセキュリティホールを検査するものであり、セキュアOSには対応していない。
【０００６】
本発明の課題は、セキュアOS適用システムにどのようなリスクがあるのかを分析する手法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明では、セキュアOSにおける各ドメインまたは各プロセスの権限を定義したポリシーファイルを分析する。ポリシーファイルを分析するために、被害とその被害を及ぼすために必要な権限とを対応付けて格納した被害権限テーブルや、被害を及ぼす可能性を増大させるリスク増大要因と該リスク増大要因に必要な権限とを対応付けて格納したリスク増大要因テーブルを用意する。被害権限テーブルの行要素の例としては、被害：「ホームページの破壊」があり、権限：「ホームページへの書き込み権限」などがある。また、リスク増大要因テーブルの行要素の例としては、要因：「シェルの起動」、権限：「シェルの実行権限」などがある。シェルの起動は攻撃者の攻撃の道具として使われるため、シェルの実行権限を攻撃者に与えると攻撃者に被害を及ぼされる可能性が増大するため、そのようなリスク増大要因を警告することは非常に重要である。本発明では、ポリシーファイルをオープンし、ドメインまたはプロセスが上記被害権限テーブルやリスク増大要因テーブルに含まれる権限を持っている場合に警告を表示する。
【０００８】
また、ユーザがその警告を指定して所定の操作を行ったとき、その指定された警告に係る権限が当該権限に対応する前記ドメインまたはプロセスにおいて無効となるように前記ポリシーファイルの設定を行う。
【発明の効果】
【０００９】
本発明によれば、セキュアOSのアクセス制御設定中にどのようなリスクが潜んでいるかを、一目で知ることができる。また、リスクを増大させる要因となる設定も知ることができる。従って、セキュアOSにどのようなリスクが残っているかを、容易に知ることができる。さらに、提示されたセキュアOSのリスクに対しては、簡単な操作で、当該リスクの原因となる権限が無効となるようにポリシーファイルを自動で設定することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態を図面を参照しながら説明する。
【００１１】
図１は、本発明の一実施形態に係るシステム全体の構成を示す図である。サーバ１１０には、セキュアOS１１１が搭載されている。セキュアOS１１１は、ポリシーファイル１１２を参照し、その内容に基づいてアクセス制御を行う。オペレータ１２０は管理サーバ１１５に接続し、管理サーバ１１５を経由して検査ツール１１３を起動する。検査ツール１１３は、攻撃手法ファイル１１４を読み込み、攻撃手法ファイル１１４を参照し、ポリシーファイル１１２を検査する。
【００１２】
図２は、サーバ１１０の詳細な構成を示した図である。セキュアOS１１１は、ドメインベースのアクセス制御機能２１１を備える。ドメインベースのアクセス制御機能２１１とは、プロセス毎にドメインと呼ばれる権限名を割り当て、プロセス毎にリソースに対するアクセス制御をかける機能である。
【００１３】
検査ツール１１３は、検査機能２２１を備える。本実施形態では、この検査機能２２１を用いてポリシーファイル１１２を検査する。検査機能２２１の詳細は、図７で説明する。管理サーバ１１５は、検査ツール１１３を使うために認証を行う認証機能２３１と、検査ツール１１３の起動などを行う検査ツール管理機能２３２を備える。これらの詳細は、図６で説明する。ポリシーファイル１１２は、アクセス制御設定ファイル２４１を含む。アクセス制御設定ファイル２４１には、ドメインベースのアクセス制御機能２１１に対する設定が記述されている。これについては、図３を用いて詳しく説明する。攻撃手法ファイル１１４は、被害権限テーブル２５１とリスク増大要因テーブル２５２とを含む。被害権限テーブル２５１及びリスク増大要因テーブル２５２は、検査機能２２１の中で用いる。これらの詳細は、図４及び図５を用いて詳しく説明する。
【００１４】
図３は、アクセス制御設定ファイル２４１の構成を示したものである。ドメイン３１０、リソース３２０、及び操作３３０の組を指定して設定する。例えば、１行目３４１は、「httpd_tドメインは、/var/www/customerというファイルに対して読み込み操作ができる」という設定を示している。このように設定を記述することで、どのドメインがどのリソースにアクセス可能であるかを設定する。アクセス制御設定ファイルに明示的に記述されていないようなアクセスは全て不可になる。
【００１５】
図４は、被害権限テーブル２５１の構成を示したものである。被害４１０を及ぼすために必要なアクセス権限（リソース４２０に対して許可される操作４３０）が表形式で示されている。例えば、行４４１は、「顧客情報の漏洩という被害を及ぼすには、/var/www/customerへの読み込み権限とネットワークへの接続権限が必要である」という意味である。検査機能２２１は、アクセス制御設定ファイル２４１を検査し、あるドメインが行４４１に示されている２つの権限を持っている場合、「顧客情報の漏洩の被害が出る恐れがある」と診断する。同様に、４４２，４４３，４４４で示される３行の意味は、「DBへのアクセスという被害を及ぼすには、/var/postgreSQL/dataへの読み込み、または/var/postgreSQL/dataへの書き込み、またはpgsql_tドメインへの接続権限が必要である」という意味になる。
【００１６】
なお、４４１の設定では、リソース４２０と操作の種類４３０の組合せが、間に行を分ける罫線無しで記載されているが、これはそれらの権限がANDで結ばれることを意味する。また、４４２〜４４４の設定では、リソース４２０と操作の種類４３０の組合せが、行を分ける罫線有りで３行分記載されているが、これはそれらの権限がORで結ばれることを意味する。
【００１７】
図５は、リスク増大要因テーブル２５２の詳細な構成を示す。このテーブルは、権限を奪取されるだけで即被害に繋がる訳ではないが、奪取されると攻撃者に攻撃の道具に使われる権限を列挙したものである。行５４１の例では、/bin/shの実行権限をリスク増大要因「シェルの起動」としている。攻撃者は攻撃の道具として/bin/shの実行を行うことが多いため、５４１のような行を登録している。
【００１８】
図６は、管理サーバ１１５の処理の流れである。まず、ステップ６１０で、オペレータからの接続を待つ。ステップ６２０で、オペレータが接続したら認証を行う。認証がパスしたら、ステップ６３０で、検査ツール１１３を起動する。
【００１９】
図７は、検査ツール１１３の検査機能２２１の処理の流れである。この処理により、アクセス制御設定ファイル２４１、被害権限テーブル２５１、及びリスク増大要因テーブル２５２を入力し、特定のドメインに関する設定のうち、危険なものを抽出して表示する。ここでは、アクセス制御設定ファイル２４１、被害権限テーブル２５１、及びリスク増大要因テーブルとして図３、図４、及び図５のような内容が入力されたとし、httpd_tドメインに関する設定を検査した例も並行して説明する。図７の処理に入る前提として、オペレータは検査対象となるドメインを特定する情報を入力しているものとする。
【００２０】
ステップ７１０で、オペレータが入力した検査対象となるドメインに関する設定をアクセス制御設定ファイル２４１から抜粋する。例えば、httpd_tドメインを検査対象とした場合は、httpd_tドメインに関する設定として、図３の上４行を抜粋する（行３４１〜３４４）。次に、ステップ７２０で、そのドメインに関するアクセス制御の中から想定される被害の抽出を行う。すなわち、被害権限テーブル２５１とステップ７１０で抽出した設定とを比較し、被害権限テーブル２５１のうち、ステップ７１０で抽出した設定に対応したものを取り出す。今回の例の場合では、図４の被害権限テーブルを見てみると、行４４１のリソース・操作と、行４４４のリソース・操作がステップ７１０で抽出した設定（行３４１〜３４４）の中に存在する。従って、行４４１及び行４４４を取り出す。
【００２１】
ステップ７３０では、当該ドメインに関するアクセス制御設定の中からリスク増大要因を抽出する。すなわち、リスク増大要因テーブル２５２とステップ７１０で抽出した設定とを比較し、リスク増大要因テーブル２５１のうち、ステップ７１０で抽出した設定に対応したものを取り出す。今回の例では、図５のリスク増大要因テーブルをみると、行５４１のリソースと操作がステップ７１０で抽出した設定（行３４１〜３４４）の中に存在する。従って、行５４１を取り出す。ステップ７４０で、結果を表示する。
【００２２】
図８に、ステップ７４０による結果の表示例を示す。８１０に検査対象となったドメインが表示される。８２０にステップ７２０で抽出された想定被害が表示される。８２１は当該ドメインで起こりうる被害（リスク）が表示される欄であり、その被害を引き起こすリソース及び操作の種類が８２２，８２３に表示される。８３０にステップ７３０で抽出されたリスク増大要因が表示される。８３１は当該ドメインにおけるリスク増大要因が表示される欄であり、そのリスク増大要因の原因となるリソース及び操作の種類が８３２，８３３に表示される。８２４，８３４の列にあるチェックボックスを使うことによって、対応するリソース８２２，８２３及び操作の種類８３２，８３３に対応するアクセス制御設定を有効・無効にすることができる。例えば、チェックボックス８４０のチェックを外すと、図３のアクセス制御設定ファイルの対応する行３４４の設定が無効になる。
【００２３】
図９は、オペレータによる全体の処理の流れを示す。ステップ９１０で、オペレータ１２０は管理サーバ１１５に接続する。ここで図６の処理により認証を受ける。認証がパスしたら、オペレータは、ステップ９２０で検査ツール１１３を起動する。ここでオペレータは検査対象となるドメインを入力する。検査ツールは検査機能２２１の機能により、図７の処理を行う。ステップ９３０で、図８のような検査結果を得る。
【図面の簡単な説明】
【００２４】
【図１】システム全体の構成を示した図である。
【図２】サーバの構成を示した図である。
【図３】アクセス制御設定ファイルの構成を示した図である。
【図４】被害権限テーブルの構成を示した図である。
【図５】リスク増大要因テーブルの構成を示した図である。
【図６】管理サーバの処理の流れを示した図である。
【図７】検査ツールの処理の流れを示した図である。
【図８】検査結果を示した図である。
【図９】全体の処理の流れを示した図である。
【符号の説明】
【００２５】
１１０…サーバ、１１１…セキュアOS、１１２…ポリシーファイル、１１３…検査ツール、１１４…攻撃手法ファイル、１１５…管理サーバ、１２０…オペレータ、２１１…ドメインベースのアクセス制御機能、２２１…検査機能、２３１…認証機能、２３２…検査ツール管理機能、２４１…アクセス制御設定ファイル、２５１…被害権限テーブル、２５２…リスク増大要因テーブル。
【図１】
2006092080.tif 000003
【図２】
2006092080.tif 000004
【図３】
2006092080.tif 000005
【図４】
2006092080.tif 000006
【図５】
2006092080.tif 000007
【図６】
2006092080.tif 000008
【図７】
2006092080.tif 000009
【図８】
2006092080.tif 000010
【図９】
2006092080.tif 000011