3

私は、いくつかの C# ライブラリと、それらを使用し、プレーンテキストの文字列パスワードを に置き換える WPF アプリケーションを試してみましたSecureString。私が制御できない他のライブラリ/ Web サービスと対話するために、いくつかの場所で通常の文字列に変換する必要がありますがSecureString、その量を最小限に抑えたいと考えています。また、正しく行う方法については、この記事に従おうとしています。コードからメモリ内に浮かんでいる文字列を監視する簡単な方法はありますか? いわば、機密データがメモリ内のプレーンテキストにあるという点で、コードにいくつの弱点があるかを知りたいです。

4

1 に答える 1

2

確認できることの 1 つは、平文のパスワードがライブラリによって保持されているかどうか、弱い参照を追加することで、それがなくなるまでにかかる時間を確認することです。ときどき強制ガベージ コレクションを行うと役立つかどうかを確認できます。ただし、特にサーバーでは、実稼働コードで強制 GC を実行することは避けてください。

しかし、それは問題の半分にすぎません。ほとんどの場合、他のライブラリが文字列をどのように処理するかに依存します。彼らがパスワードを他の文字列に埋め込んで参照し続けると、あなたがそれを制御できなければ、メモリ内で保護されなくなります。

于 2011-01-04T22:09:49.417 に答える