6

asp.net 4 を使用しています。機密データを安全にキャッシュできるのでしょうか? セキュリティまたはその他のセキュリティ上の問題で危険ですか?

4

4 に答える 4

4

はい、そうです。本質的に何かを握っているということは、それを手に入れるべきではない誰かがそれを手に入れる可能性が高いことを意味します。それが敏感であるならば、それは新しく導入された危険です。

関連する2つの質問は次のとおりです。

  1. 漏れる可能性はどのくらいありますか。
  2. これはどれほど敏感ですか。

メモリにキャッシュされたものがリークされる可能性はほとんどありませんが、リークされる可能性はあります。

メモリにキャッシュされ、セッションまたはCookieを介してアクセスできるものは、リークされる可能性が高くなります(それぞれ、セッションまたはCookieをハイジャックします)。

データベースにキャッシュされたものはリークされる可能性が高くなります(メモリダンプよりもファイルを盗む方が簡単です)。

実際の例として、「rememberme」オプションがあるWebサイトを取り上げます。これはそうです、そしてほとんどのソーシャルサイトはそうします。誰かがあなたになりすますために必要なデータを入手するリスクが高まりますが、実際には、アカウントが禁止されるまでスパムを回避する可能性があります。迷惑ですが、世界の終わりではありません。

ほとんどの銀行サイトには「私を覚えている」オプションがありません。漏洩のリスクは同じくらい低いですが(特定の操作の前に確認するように要求された場合は実際に低くなります)、同等のデータの値ははるかに高く、リスクはもはや許容できません。

編集:私が与える例で注意すべき重要なことの1つ。「あなたを覚えている」サイトは、ログインするために必要なユーザー/パスではなく、何らかの方法でログインしていることを覚えていることによってそうします(OpenIDを使用するこのようなサイトはユーザー/パスさえ見えません)。ユーザー/パスを覚えている場合は、誰かがあなたのサイトだけにログインするリスクを冒すのではなく、多くのサイトで使用されているユーザー/パスをリークするリスクがあるため、リスクは再びはるかに高くなります。

于 2012-08-12T17:21:05.037 に答える
2

マイクロソフトのパターンと実践に従って、これは彼らが提案するものです

機密データをキャッシュしないでください

サービスメソッドに、パスワード、クレジットカード番号、アカウントステータスなどの機密データが含まれている場合は、キャッシュしないでください。機密データがクライアントマシンにキャッシュされている場合、攻撃者が興味深いデータを利用できるようになるため、セキュリティに深刻な影響を及ぼします。

次の手順を実行して、機密データがキャッシュされないようにします。

機密データの操作を確認します。機密データの使用について、すべての操作を確認してください。これには、以下が含まれますが、これらに限定されません。個人を特定できる情報(PII)を含む情報、またはユーザーと共有してはならないPIIを導出するために使用できる情報ユーザーがアプリケーションの他のユーザーと共有したくないと提供する情報ユーザーと共有するように設計されていない外部の信頼できるソースからの情報機密データのキャッシュの操作を確認します。各操作が機密データを管理する方法を確認し、データがキャッシュされていないことを確認します。確認できる機密データキャッシングには、次の3つのパターンがあります。DictionaryやSortedListオブジェクトの使用などのカスタムキャッシングコードSystem.Web.Caching.Cacheを介したASP.NETキャッシュ。エンタープライズライブラリキャッシングブロックの使用

于 2012-08-12T15:11:46.190 に答える
1

それはあなたがそれで何をするかに依存します。データはWebサーバーのメモリに保持されます。このデータにアクセスする方法を作成しない限り、このデータにアクセスする方法はありません。または、攻撃者がソースコードにアクセスし、Webアプリにアクセスできるようにする必要があります。

于 2012-08-12T15:11:34.510 に答える
0

私は暗号化されたデータをキャッシュし、リクエストの時点でのみ復号化を行う傾向があります。最後にメモリをゼロにします。

プレーン テキストでメモリに残されていれば、攻撃者がメモリ ダンプから問題を解決するのはそれほど難しくないと思います。

于 2012-08-12T15:16:05.753 に答える