問題タブ [code-access-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
645 参照

.net - IIS 7.5 が 64 ビット アセンブリの読み込みを拒否する - CAS の問題の可能性?

Orchard CMSをダウンロードし、VS2008 で開き、F5 キーを押しました。すべて正常に動作します。

次に、IIS 7.5 で Web サイトを作成し、それを Web プロジェクトのディレクトリにポイントして、アクセス許可を正しく設定しました (希望します)。ここで提案されているように、64 ビット バージョンの System.Data.SQLite をダウンロードしました: Orchard Work Item 14798とここ: SO: Could not load file or assembly 'System.Data.SQLite'

サイトは完全信頼で実行されます。IISを介して実行されているサイトにブラウザを向けると、

ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' またはその依存関係の 1 つを読み込めませんでした。最小限の権限リクエストを許可できませんでした。

私はコード アクセス セキュリティについてあまり知らないので (それがここでの役割でさえあるとしても)、ここで途方に暮れています。私が間違っている/理解していない/見ていないのは何ですか? 適切な権限を誰に / 何に付与するのですか?

中程度の信頼でのみ実行が許可されているホスティング会社にこのアプリケーションを展開する見込みはありますか?

ヘルプ、ポインター、または提案をいただければ幸いです。ありがとう。

注: 問題は、Cassini を実行したときにこれが最初に機能した理由ではありません。その質問への回答は、上記の SO の質問への回答に含まれています。

0 投票する
1 に答える
214 参照

.net - MS 試験 70-536 - .Net Config ツールで表示されない Caspol アクション

Studying MS Exam 70-536 .Net Foundation 第 11 章アプリケーション セキュリティを学習しました。レッスンの最後に、.Net 構成ツールでコード グループを追加し、caspol で変更する演習があります。

構成ツールで新しいコードグループを追加した後、実行しようとしました

しかし、新しいグループはリストされていませんでした...

0 投票する
1 に答える
706 参照

c# - .NET exe がネットワーク上にある場合のサテライト アセンブリと FullTrust の問題

ネットワーク共有から .NET アプリを実行しています。

フレームワーク 3.5 SP1 以降、ここで説明されているように: http://blogs.msdn.com/shawnfa/archive/2008/05/12/fulltrust-on-the-localintranet.aspx、メインの exe とすべての DLL は、同じフォルダー (ただしサブフォルダーではない) には、FullTrust セキュリティ ポリシーが付与されます。

私の問題は、ローカライズされた文字列を含むサテライト アセンブリのサブフォルダーがあることです。

つまり、私は持っています:

1 と 2 は、FullTrust で自動的に付与されます。

3 と 4 はそうではありません。そのため、私のアプリケーションは非常に遅くなります。

実行中のアプリケーションには FullTrust があるため、実行時に 3 & 4 FullTrust セキュリティ ポリシーを許可する方法はありますか?

そうでない場合、サテライト アセンブリを 1 つの DLL だけにマージするクリーンな方法はありますか?

0 投票する
2 に答える
1390 参照

security - DataAnnotations.ValidationAttributeから継承する方法(.NET4のVisualStudioデバッグホストではSecureCriticalと表示されます!)

System.DataAnnotations.ValidationAttributeのサブタイプを含む[AllowPartiallyTrustedCallers]クラスライブラリがあります。ライブラリは、契約タイプのWCFサービスで使用されます。

.NET 2 / 3.5では、これは正常に機能しました。ただし、.NET 4.0以降、Visual Studioデバッガーでサービスのクライアントを実行すると、「継承セキュリティルールがタイプによって違反されました:'(ValidationAttributeの私のサブタイプ)'」という例外が発生します。派生タイプは、基本タイプのセキュリティアクセシビリティと一致する必要があります。またはアクセスしにくくなります。 "(System.TypeLoadException)

このエラーは、次のすべての条件が満たされた場合にのみ発生するように見えます。

  1. ValidationAttributeのサブクラスは、AllowPartiallyTrustedCallersアセンブリにあります
  2. リフレクションは、属性をチェックするために使用されます
  3. Visual Studioホスティングプロセスが有効になっている(プロジェクトプロパティのチェックボックス、[デバッグ]タブ)

つまり、基本的に、VisualStudio.NET2010では次のようになります。

  • 新しいコンソールプロジェクトを作成し、
  • 「System.ComponentModel.DataAnnotations」4.0.0.0への参照を追加します。
  • 次のコードを記述します。

  • F5キーを押すと、例外が発生します。

Ctrl-F5(デバッグなしで開始)を押すと、例外なくすべて正常に動作します...

奇妙なことに、ValidationAttributeは、プログラムの実行方法(F5またはCtrl + F5)に応じて、セキュリティクリティカルになる場合とそうでない場合があります。上記のコードのConsole.WriteLineで示されているように。しかし、繰り返しになりますが、これは他の属性(およびタイプ?)でも発生するようです。

今質問...

ValidationAttributeから継承するときにこの動作が発生するのに、System.Attributeから継承するときに発生しないのはなぜですか?(Reflectorを使用すると、ValidationAttributeクラスまたはそのアセンブリに特別な設定が見つかりません)

そして、これを解決するために私は何ができますか?MyValidationAttributeをAllowPartiallyTrustedCallersアセンブリのValidationAttributeから継承し、SecurityCriticalとマークせずに、新しい.NET 4レベル2セキュリティモデル使用し、VS.NETデバッグホスト(または他のホスト)を使用して動作させるにはどうすればよいですか?

どうもありがとう!ルディ

0 投票する
1 に答える
2336 参照

.net-4.0 - .NET 4.0 AppDomain: 廃止された証拠

私は .NET の学生で、現在アプリケーション ドメインについて学んでいます。次のサンプル コードが提供されました (.NET 3.5 用)。予想どおり、SecurityException がスローされます。注: TestApp.exe はプロジェクトの参照として追加されます。

これを .NET 4.0 の VS2010 で実行しようとすると、問題が発生します。最初に警告が表示されます

'Public Sub New(hostEvidence() As Object, assemblyEvidence() As Object)' は廃止されました: 'このコンストラクタは廃止されました。代わりに EvidenceBase の配列を取るコンストラクタを使用してください。

hostEvidence のタイプを EvidenceBase() に変更すると、警告はなくなりました。ただし、アプリケーションを実行しようとすると、エラーが発生します。

このメソッドは、.NET Framework によって廃止された CAS ポリシーを暗黙的に使用します。互換性の理由で CAS ポリシーを有効にするには、NetFx40_LegacySecurityPolicy 構成スイッチを使用してください。詳細については、http: //go.microsoft.com/fwlink/?LinkID=155570を参照してください。

ページを表示し、 「方法: サンドボックスで部分的に信頼されたコードを実行する」へのリンクをたどり、http://blogs.msdn.com/shawnfa/archive/2009/05/27/coding-with-security-policy-を読みました。 in-net-4-0-implicit-uses-of-cas-policy.aspxしかし、これをすべて理解するのに苦労しています。

MSDN のコード例は、私が現在持っているものと比較して非常に大きいため、コードを変更して、他のものを追加しなくても機能するように助けていただければ幸いです。

0 投票する
2 に答える
1895 参照

c# - きめ細かいパーミッション。PrincipalPermission - パーミッションとは別のロール。

私は wcf サービスでしばらく PrincipalPermission を使用しています。[PrincipalPermission(SecurityAction.Demand, Role = SecurityRoles.CanManageUsers)]

私たちの役割には接頭辞 Can* が付いており、組み込みの asp.net メンバーシップ システムを使用してきめ細かいアクション コントロールを実現する方法です。

これにより、ビジネス ユニットとして、ユーザーにどのような細かい役割を与えることができるかを知ることが難しくなります。

これが私の新しいアプローチであり、私の提案を実装する前に、誰かがフィードバックやコードレビューを提供できるかどうかを確認したかった.

1) aspnet_roles - ビジネス ユニットの役割

2) 権限テーブルと Role_Permission テーブルと User_Permission テーブル (多対多) を作成して、asp.net メンバーシップ システムを拡張します。

3) 新しいテーブルを参照するカスタム CodeAccessSecurityAttribute + を作成します [CustomPermissionCheck(Security.Demand, HasPermission="can*")] 最初の反復では、依存リポジトリを静的に新しくします。 IPermissionRepository.HasPermission(...);

私が新しい aop の方法にアプローチする場合、おそらく CodeAccessSecurityAttribute からの継承をやめるでしょう - セキュリティ担当者はこれについて何を言わなければなりませんか?

他の誰かがこれを解決しましたか、私が見逃したフレームワークに何かありますか?

0 投票する
4 に答える
1021 参照

.net - コマンド ライン ツールの CASPOL.exe に代わるものはありますか?

.NET アプリを実行しようとすると、「許可されているグループは 1 つだけ」であるため、「PolicyException」がスローされます。ツールは既存の設定を一覧表示し、選択した設定を削除できるようにする必要があります。リストに caspol を使用するのは役に立たず、残酷です。

新しい設定を定義できる単純な gui フロントエンドがあることを見てきましたが、既存の設定を一覧表示または削除することはできません。

Caspol は悪夢です。誰もが選択して使用しているのも不思議ではありません。.NET 1.1 では Microsoft が構成ユーティリティを提供しましたが、.NET 2.0 については何も見つかりませんでした。

0 投票する
5 に答える
13009 参照

java - オブジェクト リフレクションのセキュリティ リスクは何ですか?

そのため、Google App Engine で現在無効になっているリフレクションの制限を数時間回避した後、オブジェクト リフレクションが脅威になり得る理由を誰かが理解するのを手伝ってくれないかと考えていました。クラスのプライベート変数を検査できるからですか、それとももっと深い理由がありますか?

0 投票する
2 に答える
464 参照

python - Python: Dennis Nedry - セキュリティ

ジュラシック・パークでデニス・ネドリーが「あなたは魔法の言葉を言わなかった」というアニメーションでシステムを保護し、その後システムがダウンしたのを見た人はいますか?

同様のことをすることは可能ですか ikn Python ?

ユーモラスではないことを説明するには:

ユーザーが満たす条件を待つ応答画面。そして、一定時間後にシステムを暗号化してロックします。

Pythonを使用してLinuxシステムでそれは可能ですか?

0 投票する
1 に答える
580 参照

versioning - ライセンス キーによるコード アクセスの有効化/無効化 - アプリケーションのバージョン管理

私は POS アプリケーションを作成しましたが、今はそのさまざまなバージョンを作成したいと考えています。ベーシック版、プレミアム版、フル版のようなもの。したがって、クライアントがより多くの料金を支払うと、同じアプリケーションでより多くの機能を利用できます。1 つの標準アプリケーションを保持することは可能ですが、アプリケーションの機能は、ユーザーが入力するライセンス キーに応じて有効または無効になります。特定のキーが入力された場合にのみ実行できるコードの部分を制限します。

どんなアイデアでも...