[解決済み] パーミッションシステムのモデル化
質問
アプリケーション内で特定のアクションを実行するためのパーミッションを処理するシステムをどのようにモデル化しますか?
どのように解決するのでしょうか?
セキュリティモデルは、大きな(そして開かれた)研究分野です。単純なものから、選択可能な膨大な数のモデルがあります。
-
ランプソンのアクセス制御マトリックス は、システム内のすべてのドメインオブジェクトとすべてのプリンシパルを、 そのプリンシパルがそのオブジェクトに対して実行可能なアクションとともにリストアップします。これは非常に冗長で、実際にこの方法で実装した場合、非常に多くのメモリを消費します。
-
アクセス制御リスト は、Lampson の行列を単純化したものです。オブジェクトとプリンシパルと許可されたアクションをリストアップし、Lampson の行列のすべての "null" エントリをエンコードしない、疎行列実装に似たものだと考えてみてください。アクセス制御リストは便宜上「グループ」を含むことができ、リストはオブジェクト経由またはプリンシパル経由 (時には AppArmor または トモヨ または リド ).
-
ケイパビリティ・システム は、オブジェクトへの参照またはポインタを持つという考えに基づいています。プロセスは能力の初期セットにアクセスでき、システム上の他のオブジェクトから受け取ることによってのみ、より多くの能力を得ることができます。これはかなり突飛に聞こえますが、Unixのファイル記述子を考えてみてください。ファイル記述子は特定のオープンファイルへの取り消し不能な参照であり、他のプロセスに渡しても渡さなくても構いません。ファイルディスクリプタを他のプロセスに渡すかどうかは自由です。オペレーティング・システム全体がこの考えに基づいて書かれています。(最も有名なのはKeyKOSとEROSでしょうが、これには議論の余地があると思います。 ポイントです)。
... オブジェクトとプリンシパルに割り当てられたセキュリティラベルを持つ、より複雑なものへ。
-
セキュリティ リング セキュリティ リングは、Multics や x86 CPU などに実装されており、セキュリティ トラップまたはゲートを提供して、プロセスがリング間を移行できるようにします。
-
デニングの格子 は、どのプリンシパルがどのセキュリティラベルと相互作用することを許されるかを、非常に階層的に示したモデルです。
-
ベル-ラパドゥラ は Denning の格子に似ており、最高機密のデータが機密でないレベルに漏れるのを防ぐためのルールを提供し、共通の拡張機能によってさらに区分けや分類を行い、軍事的な「知る必要性」のサポートをより良く提供します。
-
は Bibaモデル はBell-LaPadulaに似ていますが、「逆さま」です。Bell-LaPadulaは機密性に重点を置いていますが、完全性には何もしません。(Bell-LaPadulaは、誰かが「すべてのスパイのリスト」を読むことを防ぎますが、誰かがそれに何かを書き込むことは喜んで許します。Bibaは、誰もがThe List Of All Spiesを読むことを喜んで許しますが、ほとんどすべての人がそれに書き込むことを禁じます)。
-
タイプエンフォースメント (およびその兄弟である Domain Type Enforcement) はプリンシパルとオブジェクトにラベルを提供し、許可された object-verb-subject(class) テーブルを特定します。これは、おなじみの SELinux と SMACK です。
...そして、時間の経過を取り入れたものもあります。
-
中国の壁 は、特定の市場で競合他社にサービスを提供する組織内の従業員を分けるために、ビジネス環境で開発されました。たとえば、ジョンソンはエクソンモービルのアカウントで作業を開始すると、BP のアカウントへのアクセスを許可されなくなります。Johnson が Exxon-Mobil のアカウントで作業を開始した場合、BP のアカウントへのアクセスは許可されません。
-
LOMAC と ハイウォーターマーク は、2つの動的なアプローチです。LOMACは、プロセスが徐々に高いレベルのデータにアクセスする際にその権限を変更し、低いレベルへの書き込みを禁止します(プロセスはquot;トップセキュリティに移行します)。
-
クラーク・ウィルソン モデルは非常にオープンエンドなもので、不変量と、すべての状態遷移が不変量に違反しないことを保証するルールを含んでいます。(これは、以下のように単純なものです。 複式簿記 のような単純なものから、複雑な 個人情報保護法 .) データベースのトランザクションと制約を考えてみてください。
Matt Bishopの「Computer Security: art and science"」は、公開されているモデルについてより深く知りたいのであれば、間違いなく読む価値があります。
関連
-
[解決済み] ssh "パーミッションが開きすぎています "エラー
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] 後で平文を取り出すためのユーザーパスワードの保管について、倫理的にどのように取り組むべきでしょうか?
-
[解決済み] bcryptはどうして塩を内蔵しているのですか?
-
[解決済み] PDOのプリペアドステートメントは、SQLインジェクションを防ぐのに十分ですか?
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] IIS7 権限の概要 - ApplicationPoolIdentity
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み] Firefoxの同一生成元ポリシーを無効にする
-
[解決済み] ポーカーボットを倒す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ステートレス(セッションレス)・クッキーレス認証を行うには?
-
[解決済み] ファイル暗号化におけるAESとBlowfishの比較
-
[解決済み] Firebaseのデータ改変を制限するには?
-
[解決済み] ポーカーボットを倒す
-
[解決済み] REST API 呼び出しのセキュリティを確保するにはどうすればよいですか?
-
[解決済み] トークン・パラメータを含むhttpsのURL:どの程度安全か?
-
[解決済み] ウェブサイトの管理画面を保護するためのベストプラクティスとは?[クローズド]
-
[解決済み] SSLとTLSの違い
-
[解決済み] パスワードハッシュのための非ランダムなソルト
-
[解決済み] なぜ塩を使うと辞書攻撃が「不可能」になるのか?