2017-06-28 1 views
7

Why getText() in JPasswordField was deprecated?ガベージコレクションのために何かを盗むのは簡単ですか?

上記の質問のためのthis answerによると、私は理解することは、しばらくの間、メモリ内に残る可能性があるため、パスワードを含むStringオブジェクトを作成すると、セキュリティ上の脅威であるということでした、それがあります不変。

だから私は思っていた、

  • それはにどのように簡単では参照することなく、メモリに の周りにぶら下がったり、ガベージコレクションのために残されている何かを取得?

  • あなたはどのようにしますか?


EDIT

質問は保留にしたように、コメントを追加することによって、あなたの知識を共有するようなものであること、そしてあなたはそれが面白い答えを得ることが信じている場合質問を再開考えます将来は。 :)

+0

このコメントは多少意味のないものですが、チートエンジンを使用したことがありますか?別のプロセスのアドレス空間を調べて、メモリを読み取ることができます。誰かがパスワードを使ってメモリ内でパスワードを取得できると確信しています。 – byxor

+2

[パスワードの 'String'より' char [] 'が優先されるのはなぜですか?](https://stackoverflow.com/questions/8881291/why-is-char-preferred-over-string-for-passwords)メモリダンプとそれを見て、十分な努力でそれを見つけるでしょう。 – luk2302

+0

@JarrodRoberson私が探しているのは、オブジェクトをガベージコレクションのために残しておく方法です。パスワードを文字列として残すことのセキュリティに関するものではありません。より良いアイデアを得るために、例としてパスワードセキュリティに関する記事を投稿しました。私はあなたがその質問を誤解していると思います。 –

答えて

1

https://en.wikipedia.org/wiki/Heartbleed

これは、搾取のために使用されているメモリにぶら下がって、物事の良い、現実世界の例です。それにはさまざまな方法があります。貴重なものがぶら下がっていないことを確認するだけでよいのです。通常、これらの攻撃は推測に過ぎません。あなたは情報を送信し続け、あなたが得た余分なメモリのビットをつなぎ合わせるだけです。

+0

ガベージコレクションが利用できなかった言語で心が落ち込んでいたことを覚えておいてください。 – byxor

+0

@byxorそれは本当ですが、ガベージコレクションは "ガベージ"を上書きしないので、あまり変更されません/使用されなくなったメモリ。 – luk2302

+0

素晴らしい点。うまくいけば、このコメントスレッドは思考のための食糧です。 – byxor

関連する問題