Trusted Solaris 開発ガイド

名前なしパイプ

名前なしパイプは、2 つ以上の関連したプロセス間で、データの片方向フローを形成します。パイプ上で通信するプロセスは、祖先のプロセスが共通なので、特権により属性が変更されないかぎり、それらはすべて親プロセスから継承した同じユーザー ID、グループ ID、および機密ラベルを持ちます。パイプが開かれる場合、必須または任意のアクセスチェックは行われません。また、パイプに対する読み取りや書き込みに対しても、アクセスチェックは行われません。

開いたパイプを使用したプロセスが特権を使用してそのユーザー ID、グループ ID、または機密ラベルを変更する場合、そのパイプ上で続いて行われる通信は、任意アクセス制御および必須アクセス制御をうまく回避します。そして、特権が与えられたプロセスは、自分自身で通信を制御する必要があります。

データを書き込んでいるプロセスの機密ラベルと情報ラベルは、パイプ内のデータの各バイトと対応しています。読み取りプロセスの情報ラベルは、読み取られるデータの各バイトごとに浮上します。セキュリティポリシーとアプリケーション特権の詳細は、該当するマニュアルページを参照してください。