Solaris Trusted Extensions 開発ガイド

特権操作とラベル

操作がセキュリティーポリシーをバイパス、つまり上書きする場合、操作はその実効セットに特別な特権が必要です。

特権は、プログラム上または管理上、次のように実効セットに追加されます。

バイナリラベルを変換する場合、および機密ラベルをアップグレードまたはダウングレードする場合、操作には特別な特権が必要です。

ユーザーおよび役割は、特別な特権によって操作を実行できます。その特権は「権利プロファイル」を使用することによって指定できます。特定の特権によって特定の関数を実行できるようにアプリケーションを作成することもできます。特別な特権を必要とするアプリケーションを作成する場合、特権を必要とする関数を実行するときのみ特権を有効にし、関数が完了したら特権を削除するようにします。この方法を「特権ブラケット」と呼びます。詳細は、『Solaris セキュリティーサービス開発ガイド』を参照してください。

アプリケーションは次のいずれかで動作するので、ほとんどのアプリケーションは特権を使用してアクセス制御をバイパスしません。

アプリケーションがそのプロセスの機密ラベルとは異なる機密ラベルでデータにアクセスしようとして拒否される場合、プロセスにはアクセスを得るための特権が必要です。「特権」によって、アプリケーションは MAC または DAC をバイパスできます。たとえば、file_dac_readfile_dac_write、および file_dac_search 特権は DAC をバイパスします。file_upgrade_sl および file_downgrade_sl 特権は MAC をバイパスします。どのようにアクセスするにしても、アクセスされるデータの格付けが、アプリケーションの設計によって損なわれてはなりません。

アプリケーションがそれ自体の機密ラベルまたは別のオブジェクトの機密ラベルを変更する場合、必ずすべてのファイル記述子を閉じてください。開いているファイル記述子があると、機密データがほかのプロセスに漏れる可能性があります。