問題タブ [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.
security - アプリケーションリバースエンジニアリング保護/強化
アプリケーションをリバース エンジニアリングから保護したい。
私がやりたいことは、16 進エディター、リソース エディター、逆アセンブリの改ざんなど、あらゆる改ざんから実行可能ファイルを保護することです。
私の考えは、サービスサーバーからバージョンファイル(おそらくxmlファイルまたはフラットファイル)にインポートされた値に対してアプリケーション自体のハッシュ値をチェックし、値が一致しない場合はアプリケーションをシャットダウンするか、何らかの方法で機能を完全に無効にすることです。マッチ。
私はここで奇妙な水域にいるので、誰かがコメント、提案、アイデア、またはコード例を持っていれば、私はそれを感謝します.
開発言語は C++ ですが、どの言語からでも喜んで例を挙げます。
ご協力いただきありがとうございます。
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
ました。
bin
DLLをフォルダに直接デプロイするには、何をする必要がありますか?
.net-4.0 - .NET 4でCASを使用してMEF拡張機能をロックダウンするにはどうすればよいですか?
.NET 4には、拡張性のためにMEFを使用するアプリケーションがあります。私のメインアプリケーションには、、、およびの3つのアセンブリHost
がApplication
ありContracts
ます。
Host
は、コンテナを作成して構成を行う「ブートストラップ」実行可能ファイルです。
Application
私のアプリケーションのロジックと、サードパーティ用の拡張ポイントが含まれています。
Contracts
拡張ポイントで使用されるインターフェイス(およびいくつかのヘルパークラス)が含まれています。
したがって、サードパーティアプリケーションを開発している人は、への参照を含める必要がありますが、への参照は含めContracts
ないでApplication
ください。
私のセキュリティモデルは次のようになると思います。
Host
SecurityCriticalでApplication
ある必要がありますContracts
SecuritySafeCriticalである必要があります- すべてのサードパーティ拡張機能はSecurityTransparentである必要があります
デフォルトでは1.が満たされると思います。2.アセンブリ属性を使用して実装できることを知っています。問題は、ルール3をどのように適用するかです。オペレーティングシステムは、ダウンロードされたすべての拡張機能に信頼できないものとしてフラグを立てることにより、これを自動的に実行しますか?ダウンロードした拡張機能アセンブリが完全に信頼されるようになることは可能ですか?
.net - .Netデスクトップアプリケーションのセキュリティの例
許可されていないユーザーが他のWebアプリケーションと同様にデスクトップアプリケーションのコードやアプリケーションにアクセスするのを防ぐことは可能ですか?前もって感謝します。
algorithm - 別のクライアントアプリからWebサービスが呼び出されないようにする
このWebサービスを使用しています。そのWebサービスのために、私たちの部門はWebサービスを利用するためのクライアントを開発しました。
私たちが防ぎたいのは、彼らがそれを消費するために他のクライアントを開発することです。
消費しているクライアントがアプリケーションであることを検証するために、クライアントとWebサービスの通信を改善できるアルゴリズムや手法はありますか?
サーバー上で計算された時間と一致する必要がある時間(5秒の猶予期間)について暗号化アルゴリズムを開発できると思います。
しかし、確かに、そのためのベストプラクティスはありません...またはそれでも良いアイデアである場合は...
(私の英語については申し訳ありません)
c# - カスタム CodeAccessSecurityAttribute
次の属性を作成しました。
私はこのように使用します:
コードを実行すると、次のエラーが表示されます。
必要なコンストラクターがありません。(HRESULT からの例外: 0x8013143B)、COMException です。
なぜ私はそれを得るのですか?それは本当に何を意味するのですか?
.net - アセンブリによる IPrinicpal の変更をブロックする
私のアプリケーションは、多くの異なるプラグイン アセンブリを読み込みます。各プラグインは、独自のサービスを IoC コンテナーに追加でき、メイン アプリケーションによって提供されるすべてのサービスを使用することもできます。
私は自家製のセキュリティ ソリューションから CAS (PrincipalPermissionAttribute と CodeAccessSecurityAttribute から派生した独自のもの) を使用するように移行しています。
読み込まれたアセンブリが System.Threading.Thread.CurrentPrincipal を変更するのを防ぐことはできますか (そのようにして、セキュリティ チェックを回避できますか)?
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のままにするために何ができるかを理解しようとしています。誰でも助けることができますか?
code-access-security - デジタル ソフトウェア アップグレーダー向けのリモート メール/ライセンス認証のアイデア
頻繁にサポートおよびアップグレードするワードプレスのテーマがあります。
これには、更新されたファイルを含む zip ファイルを取得してテーマ ディレクトリに抽出し、古いファイルを上書きする組み込みのアップグレード ルーチンが含まれています。
このアップグレーダー ルーチンに、ユーザーの電子メール アドレスとパスワードを要求するライセンス確認ルーチンを追加したいと考えています。次に、メンバーのデータベースへのリモート呼び出しを行い、ルーチンの続行を許可する前に、電子メールとパスワードが有効であることを確認します。
これは簡単な作業ですか?どのようなアプローチをとりますか?アップグレード リクエストはネット上のどこからでも送信され、確認のためにサーバーにコール バックする必要があります。
これは、WPRobot が既知の電子メール アドレスでアップグレードを検証するために行うことと非常によく似ています。
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' のアクセス許可の要求が失敗しました。*