0

Java/Java EE/Spring バッチを使用してアプリケーション (コア アプリケーションなど) をビルドしています。このアプリケーションにはすべてのビジネス ロジックが含まれており、jar ファイルにパッケージ化されています。

これで、Spring MVC である Hibernate を使用して構築された別の Web アプリケーションができました。この Web アプリケーションは、コア アプリケーションを構成するための UI をユーザーに提供します。この Web アプリケーションは、コア アプリケーションの jar を使用して、構成を参照してビジネス タスクを実行します。今後は、これらのアプリケーションを製品としてさまざまな企業に配布したいと考えています。しかし、ご存知のように、jars/wars は逆コンパイルできます。

では、IP を保存するにはどうすればよいでしょうか?

現在、DashO (Preempitve の Java 難読化ツール) を試しています。難読化した後でも、逆コンパイラを使用してコードを読み取ることができます。コードは読むのがはるかに複雑ですが、ビジネス ロジックは読むことができます。

IP を保護するためのベスト プラクティスは何ですか? アプリケーションをより安全にするためのさまざまな方法は何ですか?

編集: WAR をクライアントに配布する必要があることに注意してください。これが主な懸念の原因です。

4

4 に答える 4

1

サーバー側のロジック、クライアント側のロジック、またはその両方を保護しようとしていますか?

アクセス権のないファイルを逆コンパイルすることはできないため、初めての場合は、既に完了しています。

2番目の場合は、かなり運が悪いです。機密性の高いロジックをクライアントからサーバーに移動し、クライアントを、ユーザー入力を提供し、サーバー出力をきれいな UI にフォーマットする単なる仲介者にします。そうすれば、退屈な Web サービス クライアントを誰かに見られても気にしません。

于 2013-01-18T07:09:55.197 に答える
0

以下は、コードを保護する方法の一部です。

  1. 複雑な難読化ツールの使用これを実行します。

[複雑な難読化ツール][1]

Javaコードのマングリング以上のことを行う同様のツールがあります。

  1. SSLを使用してネットワークを保護します。ネットワークパス全体を暗号化します。

  2. 証明書管理を使用すると、セキュリティが強化され、許可されていないユーザーがソースコードに不正にアクセスするのを防ぐことができます。

上記についてご不明な点がございましたら、お気軽にお問い合わせください。

ありがとう。

于 2013-01-18T07:04:19.723 に答える
0

アプリの一部を Web からダウンロードできますか? したがって、war が起動し、サーバーからさらにモジュールをダウンロードして使用します。また、ダウンロード モジュールがディスクのどこにも保存されていないことを確認します。

または、API を作成し、重要な IP を API に移動するとどうなりますか?

または、コードの一部をネイティブ コードに移動するのはどうですか?

于 2013-01-18T08:42:00.680 に答える
0

オブビゼーションはセキュリティではありません。私のセキュリティ仲間がそれを呼んでいるように、それは「あいまいさによるセキュリティ」です。

私の簡単な答えは、最初からセキュリティを念頭に置いてアプリケーションを設計する必要があるということです。長い答えは、通信を保護する必要があるということです。たとえば、Web サービスにアクセスするためにある種の一意の公開/秘密キーを要求し、すべての Web サービスを HTTPS にして、ハッカーがパケットを簡単にスヌープしてプロトコルを選択できないようにすることができます。これを「ライセンス キー」と呼ぶことができます。しかし、セキュリティについて何か知っている人なら誰でも言うように、実際には完全な方法はなく、それを難し​​くする方法しかありません。

Java アプレット ゲームを書いていた友人がいて、これに苦労していました。ハッカーが偽のスコアを送信するのを阻止できると考えてコードを難読化したとき、ハッカーがコードを逆コンパイルし、JAR を直接呼び出し始めていることに気付きました。最終的に、彼はスコア追跡システム全体をより「インテリジェント」に書き直して、一度に 10000000 ポイントを獲得することはできないことを認識できるようにしました。代わりに、クライアントは定期的にスコアの更新を送信する必要があり、サーバーにはスコアが急速に増加するのを防ぐルールが組み込まれていました。

とにかく、それは私の 0.02 ドルの価値です。

于 2013-01-18T20:06:06.277 に答える