理論的には、Bell-LapaludaセキュリティモデルをオペレーティングシステムのBiba整合性モデルで実装できますか?それとも相互に排他的ですか?
[編集:フォローアップ この質問 SUから]
技術的には競合しませんが、機能的には競合します。
両方を実装することが可能です。
- 読み上げなし
- 書き込みなし
- 読み読み不可
- 書き留めない
つまり、ユーザーは自分の分類レベルでのみ読み書きできます。
モデルはそれらを(強力な*プロパティで)組み合わせることを明示的にサポートしていますが、なぜ必要なのか、どのような状況でそのようなモデルが必要になるのか、そして達成しようとしている利点を理解するのは困難です。 (私はこれを実際に使用したことも見たこともないことを認めます)。
これは、ユーザーのクラス間で何らかの形式のハード分離を実装しようとしているようですが、もっと簡単な方法があると思います。
オペレーティングシステム-について具体的に質問していることに気付いただけで、現在のOSがこれをサポートしていないという事実(おそらく、特殊な軍事システムを除いて)を除いて、あなたは再び作成しているでしょう。ユーザーのクラス間の非常に強い分離。各クラスに独自の共有不可能なスペースを効果的に付与します。
しかし、それ以上に、これがシステム全体であると仮定すると、プログラムファイルを共有する方法はありません。 OS /システムコード。したがって、ない-強力なVMを実装しない限り(うーん、Qubesはこれをサポートしますか?)OSでこれを実装する方法はありません(システムのpartに制限しない限り、再び意味がなくなります)。 ...)
それらは直交しているので、相互に排他的ではありません。それらは完全に異なる問題を扱います。 1つは機密性を扱い、もう1つは整合性を扱います。 @AviDは、両方の組み合わせが「強力な*プロパティ」と呼ばれ、自分以外のレベルからの読み取りまたは書き込みを許可しないことを正しく指摘しました。このアイデアは、Biba-LaPadullaに固有の問題と戦うために導入されました。状態はありません。 A、B、Cの3つのレベルがあり、BがAから読み取り、Cに書き込むことができる場合、そのような転送を許可する明示的なルールはありませんが、AからCにデータをトラバースできます。 「状態がない」ということは非常に厳しく制限されているため、Biba-LaPadullaは、最初の最も単純なセキュリティモデルとして、実際にはセキュリティの学生にのみ教えられています。それは、おもちゃであり、教育的な構成です。