web-dev-qa-db-ja.com

コールドブート攻撃の影響を最小限に抑えるにはどうすればよいですか?

十分な時間、電源を切り、物理的なセキュリティを維持する前に、コールドブート攻撃によってキーが公開されないようにするための効果的な戦略は何ですか。

http://citp.princeton.edu/memory/

18
Stephanie

1つのアプローチは、非冗長性の高いキースケジュールを使用することです。たとえば、AESの拡張キースケジュールの大きな部分をメモリで回復できる場合は、拡張を逆に実行して元の入力を回復できます(これにより、回復しかできなかった場合でも、すべてのラウンドキーを生成できます。単一のラウンド、または異なるラウンドの一部の値)。ある程度、これはAESの設計に固有なので、回避するのは困難ですが、対照的に、Blowfishのsbox拡張設計を検討してください-マスターキーまたはsbox全体を回復することができた場合、たとえばsboxの値。

AESで機能する別のアプローチは、キーが決してヒットしないようにすることですRAM状態全体を SSEレジスタ または デバッグレジスタ)に保持することにより 。このアプローチはOSカーネルでのみ使用できますが、多くの場合、カーネルはディスク暗号化などのコールドブート攻撃を最も受けやすい暗号を実行するため、これは有望なアプローチになる可能性があります。

8
Jack Lloyd

私はこの記事を見つけました http://www.blackhat.com/presentations/bh-usa-08/McGregor/BH_US_08_McGregor_Cold_Boot_Attacks.pdf 何か他のものを探していて、それはいくつかのソフトウェアのみの解決策を概説していますそれは実行可能に見えます(そのうちのいくつかはすでにここで触れられています)。

  • ブートするオペレーティングシステムに関係なく上書きする必要のあるメモリ領域にキーを保存します。 (攻撃者に、特別なOSだけでなく、専用のハードウェアを使用させる)
  • mMX/SSEレジスタにキーを保存する
  • キーをアドレス空間全体に分散して、攻撃者に対するエラー修正のメリットを最小限に抑えます。
  • 再起動/シャットダウンの前にキーを上書き
  • シャーシ侵入センサーと温度センサーを監視して、攻撃の前兆(ケースが開いたり、メモリ温度が突然低下したり)を検出し、いずれかのイベントが検出された場合はその場でキーの上書きを開始します。 (RAMフォレンジック分析のためにシステムから取り出すほど巧妙な攻撃者も、効果を最大化するためにシステムのシャットダウンの前にそれを冷却しようとするでしょう。)
7
Stephanie

システムがコールドブートによる攻撃に成功した場合、暗号化システムが失敗したのではなく、ITセキュリティの物理層が失敗します。

電源を切ると、RAM=のデータは消えます。説明キーで1ビットを失うと、キーは無効になります(まあ、1ビットしか失われていないと推測できますが、結局のところ、コンピュータをシャットダウンして電源を入れると、キーの送信者が破損します。

したがって、コールドブートを実行するには、RAM modulをフリーズする必要があります。そのためには、「冷凍庫」とモジュールへのアクセスが必要です。まあ、誰かがコンピュータをシャットダウンしているときに侵入者が部屋に侵入した場合(そして彼は、いくつかの奇跡によって気づかれない)、ケースを開き、RAMモジュール(コンピューターがまだシャットダウンしている間))に冷凍庫にスプレーを開始します...

さて、あなたがはるかに大きな問題を抱えていて、失敗した暗号システムがあるとしましょう。

編集:スマ要約、これは現実の世界では(ROIのため)議論する意味がありません。最善の戦略は、実際には社会的な角度からです。完全にシャットダウンするまで、ユーザーはコンピューターの隣にいる必要があります。

3
StupidOne

ジャック・ロイドのアドバイスは一見の価値があると思います。

もう1つのよく使われるトリックは、XORメモリ自体のキーを定期的に定期的に使用することです...もちろん、短い期間を使用します。これの例はPGPです。第二に、かなり初期のバージョン以来、これは主要なゴースト画像の寿命を縮めます。

もちろん、キーの現在の状態を保存するために使用される追加のビットがあり、XORプロセス全体は、キー読み取り操作と同様にロックメカニズムを使用して、単一のアトミックトランザクション内に移動する必要があります。 。

2
uygar.raf

ハードディスクではなくメモリに機密情報が含まれていて、シャットダウン後数分でにアクセスできるが、その間はアクセスできない多くの状況は考えられませんコンピュータはオンになっています...しかし、たとえば、暗号化キーがメモリとコンピュータのメモリにのみ保存されているラップトップに政府の秘密があり、オフにした後、ラップトップを電車の中に置いたままにしておくと、 secure-delete / smem シャットダウンする前にメモリ(コンピュータではなくコンピュータのメモリ)のデータを消去します。このプロセスを自動化することをお勧めします! (また、スワップファイルを消去することをお勧めします。これは、RAM内のデータよりもずっと長い間滞留します)。

1
ZoFreX

これが「ベストアンサー」であるかどうか、またはこれが実際の状況で実用的であるかどうかはわかりませんが、非常に偏執的な場合は、ハードウェアベースのディスク暗号化(暗号化素材がドライブエンクロージャーを離れることはありません)+ s/wベースの両方を使用できます。 。前者はコールドブート(またはfirewireポート経由などの他のメモリベースの攻撃)を軽減し、後者は、ウォームリブートで再認証を必要としない(いつでも?)h/wベースのFDEの厄介な問題を回避します。

したがって、たとえば、Seagate Momentus FDEドライブ+ TPM付きのBitLocker。

ほとんどのラップトップ泥棒は、盗まれた(ただし、画面はロックされている)ラップトップに対してコールドブート攻撃を行わないため、これはほとんどの人にとって少し極端です。ハードウェアに損傷を与えず、ウェアーズの再販価値を減らします。

または、暗号化の2次レイヤー(EFS、または非システムTrueCryptボリュームなど)に沿ってs/wベースのFDE(BitLocker + TPM + PINなど)を実装することもできます。画面ロックされたラップトップにはすべての暗号化情報がメモリに含まれている可能性があります(盗難時に暗号化されたボリュームがマウントされ、強盗が間に合ってコールドブート攻撃を行った場合)。両方のセキュリティ「レイヤー」、またはおそらく最初のレイヤーまで攻撃を実行します。

コールドブート攻撃を行う方法を知っている人々はおそらくどこかで働いており、犯罪の生活に入るには失うには多すぎるので、他の脅威を無視しながら保管データの「理想的な」セキュリティモデルを構築することは避けてください。マシンが使用されています(バッファオーバーフローエクスプロイトなど)。

1
Garrett