web-dev-qa-db-ja.com

攻撃者がワークステーションに物理的にアクセスできる場合のフォレンジックメモリ取得の軽減

私の質問は、私が使用する緩和策が私の脅威モデルに適切であるかどうかについてです。少なくとも私の脅威モデルを最初に読まない限り、結論にジャンプして「ロックを使用する必要がある」または「コンピュータを放置することはできない」と言わないでください。私は、安価な1Uサーバーからハードディスクを入手するために200ドルを賄賂として受け取った管理人からは守っていません。さらに、ブラウザなどのほとんどのネットワーク向けソフトウェアの悪用は対象外です。それが問題にならないように、ソフトウェアレベルで十分な保護があります(カーネルの攻撃対象領域を減らすためにカスタムのseccompフィルターを配置した強力な特権分離)。答えが「カスタム設計のハードウェアを使用しないソリューションは絶対にない」であることが判明した場合、私はがっかりしますが、受け入れます。

私は24時間年中無休で離れなければならないワークステーションコンピューターを持っているので、1日何時間も無人でいます。また、計算の需要が高いため、コンポーネントを大幅に低い電力バージョンで置き換えることはできません(たとえば、内蔵型のIntel Edisonはメモリの取得に対してより耐性がありますが、私の目的には非常に弱すぎます)。物理的なサーバーまたはワークステーションのセキュリティを探すほとんどの人は、物理的なロックがそれらを防ぐことができる非常に短いまたは断続的なアクセス権を持つ攻撃者を想定しています。残念ながら私の状況では、それはほぼ完全に役に立たないのですが、もちろんドアをロックします。最近私はもっと偏執的な解決策を考えています。それが私の脅威モデルを正しくカバーしていることを確認して、必要のない領域にあまり力を入れていないことを確認できるようにアドバイスをお願いします私が心配している、または私が大きく開いたままにしている領域を無視します。はい、私はリスク評価を承知しており、これはほとんどの場合架空のものです。ここで尋ねる必要のない主題に十分に精通していなければ、私は危険な状況に身を置くことはありません。

脅威モデル

私の敵は次のことができます:

  • 時間にハード制限がない場合、すべての物理的抑止措置をバイパスします。
  • 攻撃の開始直後に自分のハードウェアへのアクセスを拒否する。
  • 電力を失うことなく、ハードウェアを遠隔地の施設に輸送して、拡張分析を行う。
  • バスアナライザーや高級冷凍スプレーなどの最先端の法医学ハードウェアを備えています。
  • 潜在的にアクセスを取得するために使用される可能性のあるバグを探すために使用できるハードウェアコンポーネントの営業秘密の設計ドキュメントまたはデータシートにアクセスする(誰がASPEEDチップの安全性を知っているか?) 。これがどれほど可能性が高いかわかりません。
  • 彼らの攻撃をカスタマイズするために、私の公共およびオンラインの行動を長期間観察しました。

ただし、それらの制限は次のとおりです。

  • 彼らが攻撃するときは常に気をつけているので、彼らはワンショットを持っています。その結果、改ざんの証拠は必要ありません。
  • アクセスを提供するように強制することはできません(5ドルのレンチは許可されていません)。
  • コンピュータの電源は入っているがロックされている場合、パスワードを推測することはできません。コンピュータの電源が切れている場合、暗号化キーを解読することはできません。
  • それらはNSAのレベルではないため、電力分析攻撃やハードウェアバックドアなど、まだ実用的ではない攻撃も許可されていません。

彼らの目標は:

  • 実行中のシステムの部分的または完全ですが、法医学的に有用なメモリイメージを取得します。
  • 接続されているすべてのストレージデバイスの完全な平文コンテンツを取得します。

私の目標は次のいずれかです。

  • 物理的なアクセスでは敵が目標を達成するのに十分ではないようにシステムを強化します。
  • 許可されていない物理アクセスから数秒以内にシステムをシャットダウンし、物理メモリを消失させます。
  • 許可されていない物理アクセス時にシステムにメモリの大規模な破損を導入し、その後のメモリダンプを法的に無用にします。

システムがそれ自体に気づかずにシャットダウンせずに物理アクセスが達成された場合、メモリ取得の可能な方法の例が発生する可能性があります:

  • PCI、QPIなどの公開バスのスニッフィング.
  • 公開されたGPUハードウェアを利用して、PCI経由でDMA=を得ます(たとえば、GPUプロセッサをリセットしてからJTAGを使用しますか?)。
  • IntelからJTAG SDKを取得し、マザーボードを直接ハイジャックします(これまでのところ、はんだ除去以外の確実な緩和策は考えられませんが、いくつか見つけようとします)。
  • 私が制限していない、私が知らない周辺機器を利用することは危険にさらされています。
  • デバッグレジスタがクリアされないようにCPUをハード再起動し、それらを読み取る(TRESORキーを盗むため)。標準では、すべてのリセットでIntel CPUがデバッグレジスタをクリアする必要があると述べていますが、知らない例外がいくつかある場合があります。

言い換えれば、彼らは州レベルの敵ですが、NSAのレベルではまったくありません。私はいくつかの緩和策を講じています。以下のテキストの壁を読みたくない場合、tl; drは不正確になる可能性がある簡略化です。

  • 私は、DMA=ほとんどの侵害されたPCIデバイスからの攻撃から保護されています。
  • ストレージ暗号化キーは、コールドブート攻撃から保護されています。
  • 特定の危険度の高いプロセスでは、メモリが部分的に暗号化されており、キーはRAMの外にも配置されています。
  • メモリ全体は軽くスクランブルされていますが、おそらく壊れやすいでしょう(Edit:ああ、スクランブルはLFSRを使用してスクランブルが壊れています)。
  • シャーシを開くと、システムの電源が切れます。
  • ロックが解除されているときにシステムから削除されると、システムがシャットダウンします。
  • 凍結スプレーが当たると、メモリは自動的に消去されます。
  • 緊急時にシステムが不適切にシャットダウンされると、暗号化キーが解読されにくくなります。
  • 理論的には、ハードドライブを変更して、ハードウェアの書き込みブロッカーを検出し、ハードブロッカーが使用されたときにそれらをワイプできます。
  • ライブBIOS変更は検出され、無効になります。
  • コンピュータはカメラで自分自身を監視し、動きを検出するとシャットダウンします。

以下は、緩和策の詳細と、緩和策の想定事項です。

VFIOによるDMA保護

攻撃者は1ショットしか取得しないので、PCIデバイスを取り出して、DMA攻撃を開始する悪意のあるデバイスと交換することについて心配する必要はありません。ただし、既存の信頼できるPCIデバイスを利用できます。このため、VFIOを使用して最も機密性の高いPCIデバイスを制限しました。基本的に、信頼できないPCIデバイスを含むIOMMUグループをQEMUの非常に小さなライブシステムにバインドし、QEMUを使用しました。すべての通信をホストに転送します。これらのPCIデバイスの1つが危険にさらされている場合、QEMUが割り当てられている32 MiBしか確認できません。これまでのところ、すべてのUSBコントローラはこのように分離されています。ネットワークは、イーサネットの代わりにUSBも使用するため、Intel Management Engineを経由することはほとんど回避されます。LPCのDMA機能も無効になっていますが、多くのマザーボードでは、バスマスターになる機能は無効になっています。ハードウェア。他のPCIデバイスも同様に無効化されます。SATAコントローラーとGPUまだ保護されていませんが、理論的には可能であり、現在取り組んでいます。 GPUは非常に安全ですが(EDIDヘッダーなどがGPU自体のハードウェアで解析されない限り、/ dev/dri/*を通じてのみ公開されます)、SATAコントローラーは非常に複雑でNCQであることを考えると、本当にそうであるはずです- サポートします クライアント->ホストDMA(ホストで許可されている場合)。多くの種類の周辺機器が実行時に挿入される場合(PS/2やシリアルポートなどの一部の無害な周辺機器を除く)、カスタムカーネルパッチがカーネルパニックをトリガーし、直後に疑似ハードウェア(BIOS)ウォッチドッグがシステムをシャットダウンします。

[〜#〜] tresor [〜#〜]

ディスク暗号化キーは、Linuxカーネルパッチ [〜#〜] tresor [〜#〜] を使用して、x86デバッグレジスタに保存されます。これにより、キー自体がRAMにヒットすることがなくなり、コールドブート攻撃とパッシブDMA攻撃が完全に軽減されます。保護を完了するためのこのパッチでは、デバッグレジスタへのアクセスが無効になります。欠点は、トリプル例外フォールトによってトリガーされたハードリセットなどのハードリセットでは、起動中のオペレーティングシステムがデバッグレジスタにアクセスできるようにmayが保持されます。もちろん、リング0は残念ながら、これらは暗号化キーにすぎず、暗号化されていないプロセスデータ、カーネルデータ、ファイルシステムキャッシュなどがまだ存在するため、TRESORは完全なソリューションとはほど遠いです。/dev/ram0を作成して、 TRESORは、DAX(直接アクセス、ページキャッシュを完全にバイパスするファイルシステム機能)をサポートするファイルシステムでフォーマットしますが、これも完全なソリューションではありません。

RamCrypt

TRESORの変更されたバージョンが最近作成されました RamCrypt と呼ばれ、ターゲットプロセスのメモリのほとんどを暗号化します。デフォルトでは、4ページのみが暗号化されません。ほとんどのハードウェアで4ページは16 KiBの暗号化されていないメモリにすぎませんが、これは非常に優れていますが、VM_SHARED、VM_IO、またはVM_PFNMAPでマークされたページは暗号化されません。これは、法医学的に有用である可能性のある情報が暗号化されないままになる可能性があることを意味します。さらに、RamCryptは個々のプロセスのみを暗号化しますが、それらのプロセスのメタデータやカーネル内のプロセスのtask_structなどは暗号化しません。したがって、Firefoxはほとんど暗号化されているかもしれませんが、TCPを扱うカーネル内のスラブは、遅延されているのがネットワークスタック関連のスラブであることを考えると、どのWebサイトが表示されたかをまだ与える可能性がありますRCUを破壊するために、RCUを破壊するために最長で残ります。

メモリスクランブリング

最新のDDR3およびDDR4メモリコントローラーは、メモリスクランブリングと呼ばれる機能をサポートしています。これは、メモリ内の隣接するラインの過剰なdi/dtを減らすように設計されています(つまり、連続する1または0がメモリバスで電磁干渉を引き起こすのを防ぎます)。おそらくUEFIによって、スクランブルシードは起動のたびに再初期化されます。リバースエンジニアのイゴール・スコチンスキーがどうやらそれを簡単に解読することができなかったほど強力ですが、彼が試したかどうかはわかりません。メモリスクランブルは単純なコールドブート攻撃を軽減する可能性がありますが、シードは暗号的に安全ではない可能性があります。特に、1と0の分布を増やすことだけが目的であることを考えると、メモリが正しく機能している場合、Corebootソースコードの一部をざっと読むと、いずれにしても32ビットしかないように見えます。残念ながら、市場には完全なメモリ暗号化ソリューションはないようです。 PrivateCoreは、メモリ(そのvCage製品ライン)を完全に暗号化するVPSを持っていると主張しており、Xboxはおそらくメモリを暗号化してREを苛立たせていますが、それだけです。

編集:私が思ったように スクランブルは暗号的に安全ではありません。シードの回復を実行するための手順は、特に、少量の保護を提供する可能性のある失われたデータの量を増やすインターリーブのために、かなり複雑に思われます。また、より強力なシードを使用する可能性のあるDDR4メモリについてはまだ分析されていません。うまくいけば、将来的にIntelはメモリスクランブリングのためにMCHで Simon などの非常に高速な暗号を使用する予定です。

オンラインシャーシ侵入検知

私のBIOSとハードウェアには、シャーシ侵入検出が組み込まれています。これはまだ実装していませんが、0.5秒ごとに1回/ dev/nvramをポーリングして、シャーシ侵入カウントを格納する値を解析することは可能だと思います。侵入イベントを検出したらすぐにシステムをシャットダウンします。オペレーティングシステムがその情報を取得できない場合は、ハードウェアを実際に変更してGPIOなどを使用する必要があるかもしれませんが、あまり詳しくありません。

リストストラップ

アルミホイルタイム!リストストラップを机の上のデバイスに接続して、少しの力で引き出すことを計画しています。強制的にその場所から連れ出された場合、ストラップは引っ張られてシステムがシャットダウンします。これはやり過ぎのように見えますが、最も敏感な時間の間はほぼ完全に安全です。誰かが./crashdev.koをinsmodして、すべての物理メモリを読み取るのを待っている私の前に、ルートプロンプトでコンピューターがロック解除されます/ dev/crash。リストストラップが使用されていない他のすべての時間の間、システムはvlockを使用してロックされます。vlockは、バグがほとんど発生しないように設計されています。 vlockプログラムがクラッシュした場合、クラッシュしたロックプロセスで再びアクセスできるほとんどのグラフィカルなロック画面とは異なり、コンピュータからロックアウトされます。

RAM温度ポーリング

私が知る限り、コールドブート攻撃は2つの方法で実行できます。1)システムをリセットして、メモリの内容を抽出するライブシステムを起動するか、2)メモリモジュールを低温に冷却します。取り外し(さらにオプションでさらに冷却)、別のマザーボードまたはバスアナライザーに挿入して更新し、直接読み取ります。前者はBIOSパスワードで部分的に軽減することができますが、CMOSバッテリーを削除するか、適切なピンを短絡するだけでかなり簡単に破られます。後者は、DMIを繰り返しポーリングすることで破られる可能性があります。メモリモジュールの温度の表と、メモリの消去と、突然の不可解な温度の低下が発生した場合のシャットダウン現在、私はこれを単純なCプログラムで実行しています。将来的には、次の呼び出しによってメモリからキーを直接消去する可能性があります- crypt_wipe_key() カーネルモジュールから、HLTを発行します。

不適切なシャットダウンによる硬化

攻撃が発生していない限り、システムが不適切にシャットダウンすることはありません。 2つのLUKSキースロットでこれを利用できます。両方とも同じパスワードを使用します。最初のキースロットの処理には5秒のPBKDF2時間を要し、2番目のキースロットにはわいせつな時間がかかります(例:72時間)。システムが起動すると、initスクリプトが最初のキースロットをtmpfsにコピーしてワイプします。システムが適切にシャットダウンすると、キースロットがLUKSヘッダーに書き込まれます。システムが緊急時にシャットダウンされた場合、そのキースロットは永久に失われ、残りの1つだけがハッシュに非常に長い時間がかかるものです。最悪のシナリオは、誤ってpoweroff -fか何かを入力した場合で、パスワードにタイプミスをしたかどうかがわかるまで72時間待たなければなりません。最良のシナリオは、敵がシステムを攻撃することがほぼ完全に不可能になることです。システムがオンのときはいつでも、物理ディスクは、数日ごとに1回の試行の割合で推測できるキーで暗号化されます。補足として、本当のNVRAM(/ dev/nvramのサイズが144バイトの場合)であり、=ではないと仮定して、/ dev/nvramの短命な性質を利用することもできます。 CMOS EEPROMまたは何らかのエミュレートされたNVRAM。そのメモリの多くは使用されないため、内部の設計が不十分なSEDに依存する代わりに、一種の貧弱な人のSEDとして使用される可能性があります) 「エンタープライズ」ニアラインSATAドライブのクローズドソースファームウェア。

ハードウェア書き込みブロッカーを無効にする

フォレンジックサウンドのディスクイメージを取得する一般的な方法の1つは、ハードドライブの書き込みブロッカーを使用することです。これは、ハードドライブをコンピューターに接続し、コンピューターからドライブへのすべての書き込みをドロップする小さなデバイスです。通常、これを防ぐ方法はありません。ただし、ハードドライブには複数の強力なCPUが搭載されており、搭載されているほとんどのボードはJTAGをサポートしています。これは、人形のようにCPUを制御する方法です。これは、小さなデバイスをハードドライブ内に配置してJTAGインターフェイスに接続し、ハードドライブのメモリにコードを挿入してその動作を変更できることを意味します。この方法でメモリに注入することは、ハードドライブの永続的なファームウェアに書き込むよりも望ましい方法です。これには、アクセスできないクローズドソースSDKが必要になるためです。動作を変更して、特定のしきい値のセクターが連続して読み取られた場合にドライブがATAセキュリティ消去を開始できるようにすることができます。これは、ハードウェア書き込みブロッカーを示します。あるいは、特定の組み合わせのセクターが直接読み取られない場合、ドライブが消去を開始する可能性があります(ある種のアナログからポートノッキングへ...セクターノッキング?)。これは少々難しいですが、法医学分析からハードドライブを強化する興味深いプロジェクトになります。これは新しいアイデアではなく、人々はJTAGを介してハードドライブで 興味深いこと を実行しました。

改ざんがないかBIOSを継続的にスキャンします

特に他の多くの緩和策が講じられている場合、コールドブート攻撃は非現実的になってきています。ただし、実行中のシステムでBIOSを変更してから、システムを新しいBIOSにリセットすると、 興味深い結果 になる可能性があります。リンクしたばかりの場合、BIOSはSPIを介して直接変更され、システムはLPCを介して新しいBIOSにウォームリセットされました。これにより、メモリの内容全体がすぐにシリアル経由で調査者のコンピューターにエクスポートされ始めました。これを緩和するには、OSにBIOSを連続ループでスキャンさせ、前回の読み取り以降にBIOSが変更されていないことを確認します。 BIOSへの書き込みは、BIOSからの読み取りよりもはるかに遅いため、改ざんの発生を検出する可能性があります。その後、コンピューターは、書き込みが完了する前にシャットダウンするなどの防御アクションを実行できます。 EEPROMが何百万もの読み取りを処理できないようだと誰かが言ったと聞いたことがあります(誤植ではない、私は読み取りと言いました)。無期限に連続ループで読み取り、この緩和策を実用的にします。

動きに敏感なカメラ

かなりシンプルですが、一般的なシャーシ侵入検知より優れています。 motion プログラムで監視されているワークステーションにカメラを向け、ワークステーションに接続しています。本質的に、コンピュータは自分自身を監視して、誰もそれに近づかないようにします。誰かがそれに近づくと、シャットダウンなどの所定のアクションを実行します。これは、カメラをだます必要があるため、シャーシ侵入検知スイッチよりも回避するのがはるかに困難です。これを無効にする唯一の方法は、カメラを現在の画像で固定することです。

繰り返しますが、私の質問は次のとおりです。この脅威モデルで無人ワークステーションを保護するために、他にどのような効果的な方法は考えていませんか?特に、不正アクセスを検出し、シャーシ侵入検出をより堅牢にするドメイン。

14
forest

時間にハード制限がない場合、すべての物理的抑止措置をバイパスします。

監視されたセキュリティソリューションを備えたカメラを構外に設置します(例: ADPは、異常が発生したときに警察に電話します。キーカードを使用している場合は、「このミッションクリティカルなシステムがプローブへの応答を停止した場合、すべてのドアをロックして誰も出て行けないようにする」というスクリプトを作成できます。

攻撃の開始直後に自分のハードウェアへのアクセスを拒否する。

これは物理的でなければなりません。入室できなかった部屋でバリケードをするということですか?そうでない場合は、同じスクリプトロジックが適用されます。「システムXがプローブに応答しなくなった場合は、スイッチにログインし、ポートを完全にシャットダウンします。」

電力を失うことなく、ハードウェアを遠隔地の施設に輸送して、拡張分析を行う。

これは、ロックドアインスタンスで対処されます。

アクセスを取得するために使用される可能性のあるバグを探すために使用する可能性のあるハードウェアコンポーネントの営業秘密の設計文書またはデータシートにアクセスする可能性(誰がASPEEDチップの安全性を知っているか)。これがどれほど可能性が高いかわかりません。

このシステムにデプロイしたものに関するドキュメントへのアクセスを最小限に抑えて、最小限の特権の原則にします。

彼らの攻撃をカスタマイズするために、私の公共およびオンラインの行動を長期間観察しました。

「リスク認識」環境でこれを行うにはどうすればよいでしょうか。これを行うには、マシン/認証情報を侵害するか、バグのあるネットワーク環境にいる必要があります(盗聴)。これを最小限に抑えるには、SIEMをインストールして、それを押し出し検出に変換します。 「これが私のユーザー名、これが私のマシンです。 IS自分のマシンからのものではない)というユーザー名に関連付けられているものが見つかった場合は、すぐに通知してください。

実行中のシステムの部分的または完全ですが、法医学的に有用なメモリイメージを取得します。

そのためには、ローカルアクセスが必要です。これを達成するには、彼らは信頼される必要があります。マシンが制御された環境(キーカード、監視など)でロックされている場合、これを取り除くのは困難です。解決策は抑止策になります。オフサイトで維持されたカメラと一緒に、「何かをしたことを見つけた人は全員、発砲/追撃/その他」されます。

物理的なアクセスでは敵が目標を達成するのに十分ではないようにシステムを強化します。

これをどのように提案しますか。あなたが述べたすべてを考えると、あなたがデバイスが抜かれているか、いじられたとき誰かに衝撃を与える(致命的な)ために装備されたチタンのケースが必要でしょう。

許可されていない物理アクセスから数秒以内にシステムをシャットダウンし、物理メモリを消失させます。

これはスクリプト(Perl、python、powershell)で実行できます。例:「システムX:500ミリ秒未満の電源オフで応答がない場合、このアドレス(ルーター、スイッチなど)をプローブします」問題は、ネットワークが停止し、マシンが常に再起動している場合に発生します。

許可されていない物理アクセス時にシステムにメモリの大規模な破損を導入し、その後のメモリダンプを法的に無用にします。

これまでに達成することは困難で、信頼できるユーザーでさえ信頼していないと推測しています。

--- tl; drバージョン。

あなたは誰かがシステムを盗み、メモリや物理的な改ざんを保護したいと考えています。

  1. メモリの消去は、私が述べたスクリプトの例で実現できます。「プローブへの応答が得られない場合、X時間以内に送信する、このコマンドの電源を切る/実行するなど」
  2. データ消去スクリプト:「N時間電源がオンになっていて、プローブからの応答がない場合は、ディスクを消去します」
  3. ファシリティロックダウン:マシンがミリ秒の範囲で応答しない場合、すべてのドアをシールするために何かをスクリプトで記述します(それらがsayキーカードによって制御されている場合)。
  4. ドアがロックされている間、当局を呼び出す24時間365日の監視機能を備えた構外カメラ。次に、このマシンにアクセスしているすべての従業員/ユーザーに、自分が持っているセキュリティのレベルについて自慢するメッセージを作成します。テスト(災害復旧モード)を実行して、「このマシンがオフラインになった場合、当局はこの施設に行きます」(宝石店と同様の扱い)を確認します。
2
munkeyoto

これまでカバーしていない潜在的な攻撃ベクトルは、「音響暗号解読」と呼ばれるものですが、これがあなたのケースに関連しているかどうかはわかりません。一部の専門家は、CPUが発する音(人間には聞こえない)を使用してRSAキーを実際に決定することができます。
http://www.cs.tau.ac.il/~tromer/acoustic/
私はまだ実用的な解決策を考えていません(多分、エアコンではなく液体冷却の防音ケースですか?)。

音といえば:これも注目に値すると思います:
https://www.insidescience.org/content/computers-can-be-hacked-using-high-frequency-sound/1512
ただし、簡単に言えば、ログインしているときに、ワークステーションの近くに「許可されていない」デバイスがないことを確認してください。

「時間に厳しい制限はない」とあなたは言った。ただし、ワークステーションをポータブルバッテリーに接続して持ち運ぶことはできます。攻撃者がワークステーションを自分の実験室に持ち込むことができれば、攻撃者の可能性はもっとあると思います。
可能な解決策:

  • 電源の小さな変動を検出
  • 周辺機器に変更があるかどうかを検出します。モニターが付いているコンピューターを動かすのはもっと難しいと思います。

[通常、説明のためにコメントを使用しますが、ここではまだできません]
あなたは、攻撃者が1つのショットを持っていると述べました。これは、ワークステーションが配置されている部屋の違反にも適用されますか?

1
321polorex123

ログインを記録するカメラ

この口径の敵はカメラをインストールしてキーボードのログインを記録することができます。ローテクソリューションは、キーボードカバーを使用することですが、赤外線カメラを使用することもできます。したがって、適切な生地を選択することが重要です。テクノロジーソリューションは2要素(つまり、スマートカード、生体認証など)です。あなたの場合、2因子法の組み合わせを使用するのが最善のようです。

システムの複製

敵対者は、現在使用しているハードウェアとまったく同じハードウェアを備えた複製システムを構築できる可能性があります。ディスクをイメージ化して複製システムで起動するために、不適切なシャットダウンをトリガーする問題はありません。 LUKSのおかげで72時間待機していますが、ログインがカメラで記録されているため、これは大した問題ではありません。

ネットワーク通信

物理的にアクセスできるということは、敵がネットワーク通信のすべてにアクセスできることも意味します。 MitM攻撃が成功すると、システムにトロイの木馬が仕掛けられる可能性があります。これは、システムがイメージ化/検査/その他されるため、物理的なアクセスを無効にします。ワイヤーを介して。

0
user2320464

コールドブートとRAMの比較:

古いデータ[1]を使用すると、DRAMは室温で1秒から10秒でその内容を失います。メモリが低温になると、抽出に十分な時間データが保持されます。

マシンが物理的な侵入を検出したとします(カメラ、セルフビルドセンサーなど)。時間<1ms:デバッグレジスタがクリアされます。決定時間:メモリをワイプしようとしますか、それとも電源をオフにしますか?

ワイピングには、暗号化されていないRAMの量/メモリの速度がかかります。ほとんどのメモリを暗号化しないでおくと、通常の動作温度での電源オフが速くなります。とにかく、攻撃者はあなたの電源に銃を撃つことによってこの行動を強制することができます。

さて、攻撃者はどれだけ速くあなたの記憶を冷やすことができますか?あなたの最悪のシナリオは、液体窒素のボトルをあなたのコンピューターに圧力ポンピングすることだと思います。攻撃者はとにかくコンピュータのRAM以外の部分を物理的に破壊しても構わないので、頑丈なケースが役立つことはほとんどありません。

これらの考慮事項により、重要な考慮事項は、RAMの断熱、およびRAMに組み込まれている電源オフ時のデータ損失の特定の曲線です。

熱特性については、RAMとその周辺との間の熱伝導に高いレイテンシと良好な帯域幅が必要です。優れたシステムでの単純な推測は、水冷器+断熱フォーム(ハードウェアストア)です。しかし、おそらく標準的なシステムで十分です。

音響サイドチャネルについて:文書化された攻撃は、対称暗号ではなく公開鍵に対するものでした。設定によっては、これが問題になる場合と問題にならない場合があります。

DMAなどをセキュリティで保護します。主な防御策として、コンピューターの大きなケージを計画します。シャットダウンをトリガーするためにケージのテンパリングを検出する必要があります(緊急シャットダウンは、デバッグレジスタをワイプするだけでよいです。プロセッサキャッシュ、RAMの電源切断)。

本当に悪い攻撃:デバッグレジスタとプロセッサキャッシュに対するコールドブートが可能かどうかはわかりません。はいの場合、RAMと同じ考慮事項が必要です。

本当に、非常に悪い可能性:RAM電源を接続したらすぐに電源を入れ直してください。RAMの定期的な更新はいつ再開されますか?BIOSはこれに影響しますか?A悪夢は、システムが電圧低下によって打ち負かされ、再起動がトリガーされてハードディスクパスワードプロンプトが表示され、RAMからの貴重なデータをすべて更新し、どちらか一方に十分な時間を与えることです。その内容物を抽出するDMAの冷却。

[1] https://www.usenix.org/legacy/events/sec08/tech/full_papers/halderman/halderman_html/index.html#sect:effect

0
anon

これは理論的なシナリオだと思いますか? NSAレベルに近い攻撃者があなたを標的とした攻撃を行っていて、物理的に近接している場合、私が支援できるよりも大きな問題があります。その場合、$ 5レンチのバリエーションが機能するのではないかと思います。

あなたが彼らが攻撃するときに気づくように、私たちは「邪悪なメイド」攻撃を除外することができます。実際に懸念される攻撃のクラスは、コールドブート攻撃であり、ライブの「バスインジェクション」であるようです。あなたがカバーしているように見える他のすべて。

あなたの質問では、2つの主要なアプローチについて言及しています。メモリの暗号化と侵入の検出です。

侵入を検出しようとする際の問題は、スマートな攻撃者が検出器をバイパスできることです。シャーシオープンスイッチがある場合は、ケースの側面をドリルスルーできます。メモリ温度センサー-メモリを冷却しながらセンサーを加熱します。彼らがあなたが持っている検出器を知らなくても、彼らはシステムをX線撮影してアイデアを得ることができます。この目的のために侵入検知器を信頼できるとは思いません。

TRESOR/RamCryptを使用したメモリの暗号化は、ユースケースに非常によく適合します。理論では、CPUは外部システムを信頼しません。すべてのバスアクセスはIOMMUでモデレートされ、メモリは暗号化されます。復号化キーがレジスターにあるという固有のリスクがあるため、潜在的に誰かが高度な方法でCPUを分析してそれらを抽出する可能性があります。しかし、あなたはその攻撃を「NSAのレベルではない」と軽視しています。誰かがRamCryptをバイパスできるようにする実装のバグがあることをもっと心配しています。たとえば、メモリ内の特定のバイトを改ざんしたときに侵入できるIntel Management Agentの脆弱性が存在する可能性があります。 RamCryptが比較的新しく、攻撃面が大きいことを考えると、懸念している機能の攻撃者がそのような欠陥を見つけて悪用する可能性は十分にあり得ます。

あなたの脅威モデルには、非生産的だと思う部分が1つあります。

時間にハード制限がない場合、すべての物理的抑止措置をバイパスします。

これは現実的ではありません-十分に強い物理的抑止力はそれらを止めることができます。実際のシナリオでは、それを実行して物理的なセキュリティを確保します。コンピュータを安全な場所に置きます。稼働しているコンピューターを保管するために設計された金庫があります。非常に機密性の高い施設で見たことがありますが、手元にモデル番号はありません。これを侵入検知システムと組み合わせることができるため、誰かが金庫に侵入しようとすると、コンピュータに警告が表示され、メモリが消去されます。コンピューターのケースよりも、金庫の命令検出を信頼します。

0
paj28