LinuxのセキュリティJavaコード

LinuxのセキュリティJavaコード

Linux Debianディストリビューションを使用して、マイクロコンピュータ上で動作するアプリケーションを開発しました。アプリケーションはJavaで書かれているので、実行可能ファイルにコンパイルされません。 (つまり、Javaファイルを簡単に開くことでコードを見ることができます)

マイクロコンピュータは常にシェルに組み込まれていますが、誰かがこのシェルを復号化すると、外部ストレージを盗んでアプリケーション(およびソースコード)を占有できます。このような状況からアプリケーションを保護したいと思います。

私はいくつかの調査をしましたが、私が見つけたのはコードを難読化できるということだけでした。実際、それだけでは不十分なので、記憶媒体にアクセスする誰かから私たちのコードを保護するための別の(より安全な)方法を探しています。

私たちはコードを入れる暗号化されたフォルダを考えましたが、それが可能かどうか、それが良いアプローチであるかどうかはわかりません。解決策を見つけるのに役立つ、またはLinuxでJavaコードを保護するためのベストプラクティスを説明できる人はいますか?

ベストアンサー1

人々がコードを実行しているコンピュータに物理的にアクセスできる場合は、コードにアクセスできます。ユーザーがコードにアクセスしたくない場合は、アクセス権を付与しないでください。

説明するシナリオでは、暗号化コードは役に立ちません。コンピュータがコードを実行するには、コードを復号化する必要があります。コンピュータがコードを復号化できる場合は、どこかに復号化キーが必要です。物理的なアクセス権を持つ人は誰でもコードを復号化できます。

コンピュータが物理的に保護され、安全な実行環境を提供する場合は例外です。スマートカードこれらの環境が提供され、価格もかなり安いですが、コンピューティングのパフォーマンスは非常に限られています。 (大きなコンピュータに暗号化コードキーを保存するためにのみ使用されるスマートカードは、スマートカードではなく、より大きなコンピュータがターゲットになるため役に立ちません。)ハードウェアセキュリティモジュールこれらの環境も利用可能であり、およそ低コストのPCほど強力ですが、価格は非常に高価です。一部のコンピュータには、以下に基づいて保護された環境があります。インテルSGXまたはARMトラストゾーン「偶然の」物理攻撃に対してのみ中間レベルの保護を提供します(ケースを開けてチップを破ろうとしないでください)。

しかし、実際には、バイナリをリバースエンジニアリングするためのコストはあまり些細ではなく、ソースコードを維持するためのコストも非常に高いです。アプリケーションが役に立つ場合、追加のセキュリティ対策はビジネス価値がほとんどありません。実際に販売するのはサポートです。

おすすめ記事