問題タブ [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 投票する
5 に答える
405 参照

security - アプリケーションリバースエンジニアリング保護/強化

アプリケーションをリバース エンジニアリングから保護したい。

私がやりたいことは、16 進エディター、リソース エディター、逆アセンブリの改ざんなど、あらゆる改ざんから実行可能ファイルを保護することです。

私の考えは、サービスサーバーからバージョンファイル(おそらくxmlファイルまたはフラットファイル)にインポートされた値に対してアプリケーション自体のハッシュ値をチェックし、値が一致しない場合はアプリケーションをシャットダウンするか、何らかの方法で機能を完全に無効にすることです。マッチ。

私はここで奇妙な水域にいるので、誰かがコメント、提案、アイデア、またはコード例を持っていれば、私はそれを感謝します.

開発言語は C++ ですが、どの言語からでも喜んで例を挙げます。

ご協力いただきありがとうございます。

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

sharepoint - カスタムDLLをSharepointサイトに展開できません

Sharepojnt2010サイトで使用したい単純なHttpModuleを含むカスタムアセンブリを作成しました。

モジュールをSharePointサイトのweb.config/system.webServer/modulesセクションに追加しました。

次に、DLLをフォルダーに直接コピーしましたbin。これは、suualasp.netアプリケーションが機能する方法だからです。失敗について例外がありましたAspNetHostingPermission

同じDLLを_app_binフォルダにコピーしましたが、機能しました。私のモジュールは初期化されて実行されていました。

次に、モジュールクラスに2つの権限を追加しました。

[AspNetHostingPermission(SecurityAction.InheritanceDemand、Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.LinkDemand、Level = AspNetHostingPermissionLevel.Minimal)]

また、これら2つをアセンブリに追加しました

作成したキーを使用してアセンブリに強く署名しました。

次に、DLLをにコピーして戻しましbinたが、それでも機能しませんでした。それをコピーして動作させ_app_binました。

binDLLをフォルダに直接デプロイするには、何をする必要がありますか?

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

.net-4.0 - .NET 4でCASを使用してMEF拡張機能をロックダウンするにはどうすればよいですか?

.NET 4には、拡張性のためにMEFを使用するアプリケーションがあります。私のメインアプリケーションには、、、およびの3つのアセンブリHostApplicationありContractsます。

Hostは、コンテナを作成して構成を行う「ブートストラップ」実行可能ファイルです。

Application私のアプリケーションのロジックと、サードパーティ用の拡張ポイントが含まれています。

Contracts拡張ポイントで使用されるインターフェイス(およびいくつかのヘルパークラス)が含まれています。

したがって、サードパーティアプリケーションを開発している人は、への参照を含める必要がありますが、への参照は含めContractsないでApplicationください。

私のセキュリティモデルは次のようになると思います。

  1. HostSecurityCriticalApplicationある必要があります
  2. ContractsSecuritySafeCriticalである必要があります
  3. すべてのサードパーティ拡張機能はSecurityTransparentである必要があります

デフォルトでは1.が満たされると思います。2.アセンブリ属性を使用して実装できることを知っています。問題は、ルール3をどのように適用するかです。オペレーティングシステムは、ダウンロードされたすべての拡張機能に信頼できないものとしてフラグを立てることにより、これを自動的に実行しますか?ダウンロードした拡張機能アセンブリが完全に信頼されるようになることは可能ですか?

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

.net - .Netデスクトップアプリケーションのセキュリティの例

許可されていないユーザーが他のWebアプリケーションと同様にデスクトップアプリケーションのコードやアプリケーションにアクセスするのを防ぐことは可能ですか?前もって感謝します。

0 投票する
3 に答える
132 参照

algorithm - 別のクライアントアプリからWebサービスが呼び出されないようにする

このWebサービスを使用しています。そのWebサービスのために、私たちの部門はWebサービスを利用するためのクライアントを開発しました。

私たちが防ぎたいのは、彼らがそれを消費するために他のクライアントを開発することです。

消費しているクライアントがアプリケーションであることを検証するために、クライアントとWebサービスの通信を改善できるアルゴリズムや手法はありますか?

サーバー上で計算された時間と一致する必要がある時間(5秒の猶予期間)について暗号化アルゴリズムを開発できると思います。

しかし、確かに、そのためのベストプラクティスはありません...またはそれでも良いアイデアである場合は...

(私の英語については申し訳ありません)

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

c# - カスタム CodeAccessSecurityAttribute

次の属性を作成しました。

私はこのように使用します:

コードを実行すると、次のエラーが表示されます。

必要なコンストラクターがありません。(HRESULT からの例外: 0x8013143B)、COMException です。

なぜ私はそれを得るのですか?それは本当に何を意味するのですか?

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

.net - アセンブリによる IPrinicpal の変更をブロックする

私のアプリケーションは、多くの異なるプラグイン アセンブリを読み込みます。各プラグインは、独自のサービスを IoC コンテナーに追加でき、メイン アプリケーションによって提供されるすべてのサービスを使用することもできます。

私は自家製のセキュリティ ソリューションから CAS (PrincipalPermissionAttribute と CodeAccessSecurityAttribute から派生した独自のもの) を使用するように移行しています。

読み込まれたアセンブリが System.Threading.Thread.CurrentPrincipal を変更するのを防ぐことはできますか (そのようにして、セキュリティ チェックを回避できますか)?

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

c# - CAS が除外されているため、C# 3.5 の winforms アプリが C#4.0 にアップグレードされる問題

3.5 から 4.0 にアップグレードしたばかりの C# 4.0 Winform アプリがあります。C# 4.0 Winforms アプリは、ユーザーの選択に基づいてネットワーク パスから一連の dll をロードし、System.Reflection を使用して dll を作成/呼び出す C# 3.5 dll を参照します。アプリケーションがターゲット フレームワークとして 3.5 を使用するように設定されている場合、すべてが正常に機能しました。アップグレード後にこのエラーが発生しました:

以前のバージョンの .NET Framework では、アセンブリがサンドボックス化される原因となったネットワーク上の場所からアセンブリを読み込もうとしました。このリリースの .NET Framework では既定で CAS ポリシーが有効になっていないため、この負荷は危険な場合があります。この読み込みがアセンブリをサンドボックス化することを意図していない場合は、loadFromRemoteSources スイッチを有効にしてください。詳細については、http: //go.microsoft.com/fwlink/?LinkId=155569を参照してください。

これは、ネットワーク パスからアセンブリを読み込もうとしているときに発生します。

いくつかの調査を行ったところ、4.0 リリースでは CAS が「一種」削除されていることがわかりました。app.config に次のエントリを入れるようにアドバイスされました。

今、私が得ている例外は次のとおりです。

呼び出しのターゲットによって例外がスローされました。System.RuntimeTypeHandle.CreateInstance (RuntimeType 型、ブール型 publicOnly、ブール型 noCheck、ブール型 & canBeCached、RuntimeMethodHandleInternal & ctor、ブール型 & bNeedSecurityCheck) で System.RuntimeType.CreateInstanceSlow (ブール型 publicOnly、ブール型 skipCheckThis、ブール型 fillCache) で System.RuntimeType.CreateInstanceDefaultCtor (ブール型 publicOnly) 、Boolean skipVisibilityChecks、Boolean skipCheckThis、Boolean fillCache) で System.Activator.CreateInstance(Type type, Boolean nonPublic) で System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr、Binder バインダー、Object[] args、CultureInfo culture、Object[]activationAttributes) でSystem.Activator.CreateInstance(Type タイプ、BindingFlags bindingAttr、Binder バインダー、Object[] 引数、CultureInfo カルチャ、

内部例外は次のとおりです。そのアセンブリは、部分的に信頼された呼び出し元を許可しません。

この例外は、ネットワークの場所からアセンブリを読み込んだ後にスローされますが、Activator を使用してアセンブリに型のインスタンスを作成しようとしています。

C#4.0 Winforms アプリは署名されています (.snk ファイル)。セキュリティ設定が完全​​信頼アプリケーションとしてチェックされたらクリックします。app.config 設定とプロジェクト設定の変更を組み合わせて、署名を削除することも試しました。私はここで、Winformsアプリを3.5ではなく4.0のままにするために何ができるかを理解しようとしています。誰でも助けることができますか?

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

code-access-security - デジタル ソフトウェア アップグレーダー向けのリモート メール/ライセンス認証のアイデア

頻繁にサポートおよびアップグレードするワードプレスのテーマがあります。

これには、更新されたファイルを含む zip ファイルを取得してテーマ ディレクトリに抽出し、古いファイルを上書きする組み込みのアップグレード ルーチンが含まれています。

このアップグレーダー ルーチンに、ユーザーの電子メール アドレスとパスワードを要求するライセンス確認ルーチンを追加したいと考えています。次に、メンバーのデータベースへのリモート呼び出しを行い、ルーチンの続行を許可する前に、電子メールとパスワードが有効であることを確認します。

これは簡単な作業ですか?どのようなアプローチをとりますか?アップグレード リクエストはネット上のどこからでも送信され、確認のためにサーバーにコール バックする必要があります。

これは、WPRobot が既知の電子メール アドレスでアップグレードを検証するために行うことと非常によく似ています。

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

asp.net - 2008 フレームワーク 3.5 と比較して、ネットワーク上のフォルダーにアクセス許可を付与する方法

ローカル PC で Visual Studio 2008 を使用しています。マイ コードはネットワーク ドライブに保存されます。ローカル マシンから実行しようとすると、セキュリティ例外が発生します。とにかく、ネットワーク フォルダにアクセス許可を付与できますか?

*セキュリティ例外の説明: アプリケーションは、セキュリティ ポリシーで許可されていない操作を実行しようとしました。このアプリケーションに必要な権限を付与するには、システム管理者に連絡するか、構成ファイルでアプリケーションの信頼レベルを変更してください。例外の詳細: System.Security.SecurityException: タイプ 'System.Web.AspNetHostingPermission、System、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089' のアクセス許可の要求が失敗しました。*