2009-05-12 10 views
1

私のアセンブリが所属するコードグループの.netフレームワークに証拠を提供する場合、私が信頼ゾーンコードグループに属しているという虚偽の証拠を提示できませんでしたか?.NETフレームワークにおけるCASの理解

私はセキュリティポリシーが何であるかは知っていますが、権限セットはわかりませんが、フレームワークがどのように証拠をチェックし、その証拠に基づいてコードグループを決定するのか分かりません。

いずれの説明も理解できます。

感謝:)

答えて

0

証拠は、アセンブリに厳密な名前、コードベースや他のものすることができます。それは確かにそれらのものを確認することができます。証拠に基づいてアセンブリを手動で信頼します。基本的には、アセンブリに以下のプロパティがあるかどうかをフレームワークに伝え、そのパーミッションを与えます。私はあなたが虚偽の証拠を提供する方法を見ません。あなたは例を挙げることができますか?

PS。はい、例えば、誰かの鍵ペアを盗み、それを使ってあなたのアセンブリに署名することができます。他のセキュリティシステムと同様に、信頼チェーンに依存しています。あなたがチェーンの一部を破った場合、あなたは倒れました。あなたがセキュリティシステムでこれらのことを回避できる本当の方法はありません。結局、バッファオーバーフローなどでシステムを危険にさらし、完全な信頼リストにアセンブリを追加することができます。

+0

アセンブリが提供する証拠に基づいてアセンブリが信頼されている場合は、偽の証拠を提供できませんか?私は、私が実際にしていないときに私がLocalIntranetに所属しているという証拠を議会で提出することができます。この方法では、私のアセンブリは実行時により多くの特権を得ます。 –

+0

どうすればいいですか?アセンブリをLocalIntranetに登録するか、LocalIntranetとして信頼できる場所から実行する必要があります。証拠は実際に組立から質問されません。それは彼らのアイデンティティです。 –

0

発信者が証拠を提供することを可能にするさまざまなBCLメソッドは、それ自体が許可要求によって保護されています。呼び出し元は、通常、少なくともSecurityPermission \ ControlEvidenceが必要ですが、しばしば無制限のアクセス許可(別名「完全信頼」)が必要です。 (SecurityPermission \ ControlEvidenceは、既定のCASポリシーでローカルにインストールされたコードにのみ付与されるため、ほとんどの場合、実際的な違いはほとんどありません)最終結果は、信頼性の高いコードのみが、

この一般規則の例外を見つけたと思われる場合は、詳細をお知らせください。

関連する問題