2016-05-20 14 views
-2

私のアプリケーションでは、プロセスハッカーを使用して読み取ることを試みるTomcat image.Whenのメモリにパスワードとユーザーアクセストークンのような値を取得しています。JAVAを使用して自動的にTomcatガベージ値を消去する方法はありますか

この保存された値を消去する方法はありますか?

+1

号Tomcatは、処理中に明確にこれらの値を必要とし、原因Javaはメモリを管理する方法に、確実にそれを消去する方法はありませんメモリ一度の処理が行われます。しかし、あなたは何に対して防御しようとしていますか?あなたのサーバ上のインプロセスメモリへの完全な読み取りアクセス権を持っている人は、おそらく彼らが好きなようにすでに実行している可能性があります。 – Thilo

答えて

0

あなたのパスワードの入手方法によっては、すでにStringとして取得している場合:それを取り除く機会はほとんどありません。 char[]と表示された場合は、使用後にアレイをクリアすることができます。 This questionと答えは、理由についての良い議論をパスワードのuse char[]に持っています。

技術的には、はい、あなたはSystem.gc()を呼び出すことによって、ガベージコレクションをトリガすることができ、which has its own problems

+0

私はすでに自分のコードでStringとしてパスワードを取得しています。char []を使用する場合は、代わりにこの問題を回避する他の方法があります。 – manoj

+1

いいえ、あなたの質問に対するコメントで@Thiloが言っています:誰かがあなたのアプリケーションのメモリを読み込めたら、とにかくトーストしています。この場合、コードを挿入することもできますし、その値を正当に使用している間に*アクセスすることもできます。私はこれがあなたの攻撃のベクトルの点で最も心配しているはずだと言いたいと思います。 –

関連する問題