問題タブ [code-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.
.net - DLLが変更されるのを防ぐことは可能ですか?
管理対象(.NET)DLLに署名するか、その他の方法で変更から保護することは可能ですか?DLLへの変更を検出し、それらが.NETランタイムによってロードされないようにする可能な解決策を探しています。誰かがDLLをReflectorまたはILSpyにロードできるかどうかは気にしません-変更されたDLLが実行できない限り、私はそれで問題ありません。
私はこのトピックについていくつか検索しましたが、ほとんどの記事/ディスカッションでは、私が探しているものではない難読化を推奨しています。DLLにデジタル署名することでこれを達成できると思いましたが、同僚とのチャットでそれを疑うようになり、私はこの分野の表面的な知識しか持っていません。
何かアドバイスをいただければ幸いです。
ibm-mobilefirst - IBM WorkLight Android ソース・セキュリティー
私は IBM workLight 4.0 バージョンを使用しています。現在、単純な保険アプリケーションを開発しています。すべてうまくいっています。Android のセットアップが完了したら、.APK (Android セットアップ ファイル) から HTML5 と JavaScript のソースを抽出できます。ハッカーにとって安全ではなく、誰かに悪用される可能性があると感じました.
セットアップ/展開でコードを保護する方法を教えてください。
c# - 安全な非対称キーの実装クライアント側
現在、クライアントが.NETにあり、サーバーがPHPベースのSOAPサーバーであるクライアントサーバー構造を開発しようとしています。
今、私は Rijndael 256 を使用して非対称鍵システムを実装しようとしており、少しいじっています。公開鍵と秘密鍵のペアの基本的な概念は理解していますが (このページとウィキペディアに従って)、クライアント側の環境で安全であることを理解できません。
つまり、ソフトウェアはクライアント マシンで実行されるため、ユーザーはソフトウェアを改ざんできます。クライアントの機能のほとんどは、レポートと詳細を表示するためにサーバーから受信した応答を中心に展開します。それに加えて、クライアント ソフトウェアはサーバーからのコマンドを待機する場合があり、サーバーはクライアントにポップアップを表示するか、クライアント プログラムのシャットダウンを実行するように指示します (ライセンスを処理するため)。サーバーがクラッシュまたはハングするか、クライアントが切断される可能性があることに気付きました。これらのほとんどはすべて熟考され、コードで処理されています。しかし、私が心配しているのは、誰かがクライアントを改ざんして、サーバーのコマンドを完全に無視することです。
顧客は、IDA、ILDASM、de4dot、その他のさまざまなデバッガーや逆コンパイラーなど、さまざまな「おもちゃ」にアクセスできます。経験豊富なクラッカーなら、公開鍵と秘密鍵の組み合わせを短時間で理解できると確信しています。期間。.NET コード自体が非常に安全でないことは知っていますが、.NET Reactor や Dotfuscator などのツールを使用する以外に、それに対して何をすべきかわかりません。
私の質問:クラッカーを大幅に遅らせるために、または秘密鍵をどのように保護するために、どのような種類のプラクティス、コード、アイデア、または何かを使用できますか.
ヒント、ヒント、提案、またはサンプルは非常に高く評価されています!
.net - 難読化以上のものを使用して逆コンパイルをブロックする
Dll のセキュリティに関して言えば、オンライン検索のすべての結果が難読化について語っています。さて、私の質問は、難読化以外に、アセンブリをより安全にし、リエンジニアリングの影響を受けないようにするためにできることはあるのでしょうか?
私が質問している理由は、私がコード セキュリティ プレゼンテーションの準備をしていて、難読化解除が行われることを知っているからです。コードのリエンジニアリングに時間を費やす決心をした人々を放り出すと、彼らは最終的にそれを行うことになります。この話の教訓は、難読化は完全な解決策ではなく、コードの再設計を困難にするだけだということです。しかし、難読化を他の手法と組み合わせると、さらに難しくなります。
助言がありますか?
java - サーバーで JavaScript コードを検証する
Web に、ユーザーが Java スクリプト コードを追加できるテキスト領域があります。このコードに悪意のあるコードが含まれているかどうかを確認する必要があります。オプションは何ですか
- クライアントエンド
- サーバーエンド
または、悪意のあるコードをチェックするための適切な資料はどこにありますか?
c# - ライブラリ アセンブリが特定の Web サイトに由来することを確認する方法は?
次のソリューションはどのように実装されますか? このコードを各ライブラリ アセンブリに配置する必要がありますか?それとも、特定のイントラネット Web サイトに由来するかどうかに基づいてライブラリ アセンブリを呼び出しても安全かどうかを判断するメイン アセンブリだけに配置する必要がありますか? また、誰が CheckSite メソッドを呼び出す必要がありますか? 各ライブラリ アセンブリまたはメイン アプリ? 私が参照している C# Specialist Exam 70-483 の模擬試験の例と解答を次に示します。
あなたは会社のアプリケーション開発者です。あなたは、会社の Web サーバー上で、ビジネス パートナーからの機密データを操作するアプリケーションを作成しています。アプリケーションは、その作業を完了するために、会社のイントラネット内の多くのライブラリ アセンブリに依存しています。すべてのアセンブリが同じイントラネット Web サイトから発信されていることを確認する必要があります。現在のアセンブリが会社のイントラネットからのものであることを確認するには、どのコードを使用する必要がありますか?
c# - メソッド内のコードを制限して、同じクラスのメンバーのみを呼び出す
クラス内の 1 つのメソッドで行われる呼び出しを制限して、囲んでいるクラス (継承されている) のメソッドとプロパティのみを呼び出すことができるようにする方法はありますか? 私はc#(.NET 4.5)を使用しています。これは、アプリケーション フレームワークのコード セキュリティ機能として使用されます。
.net - 特定の dll からのみメソッドを呼び出せるようにする方法
単体テスト用にデータベースを準備する必要があるため、セットアップ方法でデータを削除したいと考えています。
DeleteAllData()
ただし、データ アクセス レイヤーのメソッドを呼び出せるようにするために、ユニット テスト dll 以外の誰かにはなりたくありません。何ができるでしょうか?