web-dev-qa-db-ja.com

システムは物理的なアクセスに対して安全でない必要がありますか?もしそうなら、なぜですか?

ひらめき: OSが信頼できないUSBキーボードから保護しないのはなぜですか?
関連: ハッカーがシステムに物理的にアクセスできる場合、ハッカーは何ができますか? (以下の主な回答のポイントに対処します。)

「悪者が物理的にアクセスできるようになると、コンピューターはもはやあなたのものではなくなる」という古い格言があるようです。私の質問は、ハードウェアの製造元だけがセキュリティを悪用しているのか、それとも真の本質的な理由があるのか​​ということです。物理的なアクセスに対して安全なシステムを作成できますか?

データを安全に保つのは簡単です。暗号化やハッシュです。私が話しているのは、信頼できるようにデバイスを安全に保つことです。

実際、ソフトウェアのセキュリティとそれほど変わらないように見えます。あなたがしなければならないすべてはです:

  • 信頼される前に、ハードウェアアドオンの承認をユーザーに要求する:
    • Privelege Separation を使用します。アプリをダウンロードするときと同様に、OSはアプリに必要な権限を通知します。ハードウェアに必要な権限をコンピューターに通知させることもできます。そうすれば、キーボードアクセスを必要とするサムドライブがある場合、何かがアップしていることがわかります。
    • コンピューターとハードウェアの間に公開鍵と秘密鍵の暗号化を確立します。これにより、キーロガーやその他のセキュリティ脅威が無効になります。
    • Webサイトの証明書があるのと同じように、ハードウェア(キーボードとその特定のモニター)の証明書を持つことができます。
    • 追加のレイヤーとして、すべてのポートを前面に配置し、ユーザーがそれらを確認できるようにします。
  • システムを物理的に耐久性のあるものにすることで、攻撃者がシステム内に悪意のあるコンポーネントを再配線/挿入できないようにします。
    • 壊れた場合は、完全に粉砕することも、何かを作ることもできます。基本的には、改ざんを明白にします。
  • システムを交換できないように、接着剤で固定/地面に固定します。
    • ちょうど追加のレイヤーとして、computerがユーザーの電話に自分自身を証明するようにします。おそらく、ユーザーの電話とコンピューターは、中間者攻撃を阻止できるシステムをセットアップしています(たとえば、電話はユーザーにパスワードを通知しますが、コンピューターの公開キーで署名します)。

私が見逃している他の理由はありますか、特に物理的なセキュリティを完全に不可能にする理由がありますか、それともハードウェアメーカーがセキュリティを悪用しているだけですか? (上記が完全に完全ではない場合でも、正しい方向への一歩のように見えます。)-スパイカムを防ぐために、コンピューターへの暗号化された接続を備えたモニターVRゴーグルを作成します(ここでも、人間に耐性があります)。途中で)。 (さて、これは少し空想的ですが、スパイカムもそうです。)-実際、多くの攻撃ベクトルを排除する1つの方法は、部屋を防音およびX線防(これが心配な場合)にすることです。そして、許可された人だけを許可します。上記と同じ問題に遭遇しますが、その方がはるかに単純で、追加のレイヤーがあることを知っています。 -キーボードをロックするだけでも、物理的なキーロガーを防ぐことができます。

私の質問では、 コンピュータシステムを物理的な攻撃から保護する方法 および システムに物理的にアクセスできる場合、ハッカーは何ができますか? の回答を除外しています。

ボーナス質問:物理アクセスに対して安全なシステムはありますか

8
PyRulez

基本的な答えは、市場は物理的な攻撃に対して安全な汎用コンピュータに本当にお金を払いたくないということです。あなたはトレードオフを行うことを提案し、それらのトレードオフには、少数のバイヤーだけが気にするエンジニアリングコストと運用コストが含まれます。

一部のコンピューターシステムは、市場の理由(ゲームの著作権侵害を減らす)があるため、これらのトレードオフ(Xboxなど)を作ろうとします。 ATMメーカーや投票機メーカーは、通常、自分のマシンをロックされたキャビネットに入れることを選択しています。

もちろん、脅威を緩和するほとんどの方法は、さらなる攻撃の対象となります。ロックを選択したり、接着剤を削ったり、溶解したりできるため、攻撃者はこの作業がすべて終わった後でもシステムを変更できるため、経済性にさらなる圧力がかかります。

別の解決策は、耐タンパー性よりもタンパーエビデンスを求めることです。これは、クレジットカード端末メーカーが一般的に使用するアプローチです。もちろん、改ざんの証拠は「誰に明らかで、どのように訓練されているのか」という疑問を投げかけます。改ざんの証拠は、経済スペクトルのもう1つのポイントです。

5
Adam Shostack

あなたが提案することのいくつかは実行可能であると思いますが、予想されるユーザビリティ、柔軟性、または使用の自由と矛盾しています。他の人たちは、ソフトウェアの世界からアイデアを取り入れ、それをハードウェアに適応させようとしますが、ソフトウェア側ですでに抱えている問題に対処できません。しかし、いくつかのアイデアはすでに実際に使用されています。

ほんのいくつかの例:

  • ハードウェアをシールし、テーブルに接着し、誰かが開こうとしたときに破壊します。このような自己破壊的なハードウェアが存在します。つまり、スマートカードや、特別な最高のセキュリティ環境で使用されるコンピューターにも改ざん防止機能があります。しかし、ハードウェアが実際に悪意のある方法で改ざんされ、誤って床に落とされていないことをどのようにして知るのですか?最後のケースでは、ほとんどのユーザーは壊れたシステムからデータを回復できることを望みますが、システムが攻撃を検出してデータを破壊した場合、これは不可能です。
  • 公開鍵と秘密鍵、証明書などを備えたハードウェアコンポーネント間の暗号化された安全なペアリング...ブラウザー内部の何百もの認証局との混乱を見てください。CAが危険にさらされています。これをハードウェアに移動しても、それは良くなりません。 。実際にはそのようなペアリングはすでに存在しますが、ほとんどはHDCPなどのデジタル制限(DRM)を実施するためのものです。

要約すると、何かを得て、同時に何かを失うことになります。ほとんどの場合、ユーザビリティ、柔軟性、または使用の自由の一部を放棄しない限り、セキュリティを強化することはできません。これらの要件の最適なバランスを見つけることが目的ですが、これはもちろんユースケースに大きく依存します。

2
Steffen Ullrich

それは、あなたが「安全なコンピュータ」と考えるものに依存します。セキュリティは通常、機密性、整合性、および可用性の CIAトライアド によって定義されます。デバイスへの物理的なアクセスを許可すると、可用性を維持できなくなります。彼らがそれを物理的に制御しているとき、やる気があり資金を供給された敵に対して何かを破壊できないようにするのはあまりにも難しいです。

しかし、機密性と完全性を考慮することができます。たとえば、強力な改ざん検出と、改ざんが検出されたときにデータを破壊する耐性を持つデバイスは、物理的なセキュリティが失われた場合でも安全であると言えます。これは実現可能であるだけでなく、 FIPS 140-2 Level などの製品に適用される標準があります。

FIPS 140-2レベル3は、物理的な改ざん防止(モジュールに含まれる機密情報への攻撃者のアクセスを困難にする)とIDベースの認証、および「クリティカル」であるインターフェース間の物理的または論理的な分離の要件を追加します。セキュリティパラメータ」は、モジュールとそのその他のインターフェースに出入りします。

ただし、このような基準を満たすにはコストがかかります。 FIPS 140-2レベル3準拠のストレージメディアと暗号化プロセッサを見つけることができますが、コンピューティングシステム全体ではありません。部屋にコンピューターを閉じ込めて警報を出す方が安くなるだけです。物理的な攻撃に対して安全なコンピュータを大量生産するよりも、セキュリティを採用してください。

2
Neil Smithline