4

TrustZoneでARM からこのドキュメントを読んでいるところですが、不明な点がいくつかあります。

ハイパーバイザーが特別な CPU モードを提供し、TrustZoneの場合、プロセッサには追加の33 ビットが付属しているという事実: モードも特定のビット設定ではありませんか? では、セキュリティの点ですべての違いを生む余分なビットはどうですか. 余分なビットが 2 つの別々の 32 ビット アドレス空間に道を譲ることは理解していますが、それ以外では 2 つと 2 つを組み合わせることができません。TrustZoneがハイパーバイザーよりも安全である理由を誰かが明確に説明できますか??

4

2 に答える 2

6

典型的なハイパーバイザーは、CPU のみに制限されています。他のDMA マスターに対しては保護しません。詳細については、ウィキペディアのDMA 攻撃のWeb ページを参照してください。コールド ブートなどの他の攻撃では、悪用を防ぐために、ゼロ化可能なメモリなどの他のメカニズムが必要です。つまり、TrustZone完全なセキュリティ ソリューションではありませんが、その大きな部分を占めています。ARM は単なる CPU であるため、他のバス マスターを制御するメカニズムは規定されていません。DMA マスターに加えて、代替 CPU もメモリの分割に脅威をもたらします。これに対処するために、一部のセカンダリ CPU はTrustZoneです。わかっている。つまり、常にNSビット ( 33番目のビット) でトランザクションにタグを付けます。

対照的に、ハイパーバイザーが2 つの世界に限定されることはめったにありません。 ハイパーバイザーは、任意の数の OS をホストします。 TrustZoneには 2 つの世界しかありません。安全で正常。各ワールドには制御用のスーパーバイザーOS を配置できますが、OS が許可する場合は、多くの個別のスレッドタスク、またはプロセスを使用できます。

DMA 攻撃の説明: ハードウェア ビットとは対照的に、ハイパーバイザーは通常、CPU のMMUを使用してソフトウェア アクセスを制限します。これは、別の BUS マスターがメモリに到達するのを妨げません。ハイパーバイザーの制限付きソフトウェアが個別の BUS マスターを制御できる場合、保護対象のメモリを取得できます。DMA は物理アドレスを使用し、MMU をバイパスして、一般的なハイパーバイザー保護を行います。

DMA 攻撃は、CPU の外部の何かを使用してメモリにアクセスすることにより、CPU の保護を回避します。TrustZoneでは、保護はCPUではなく、BUS コントローラーにあります。参照:サンプルについてはNIC301 ARM TrustZone CPU は、CPU が 4 つのモードをサポートできるようにします。セキュア スーパーバイザセキュア ユーザ通常スーパーバイザ、および通常ユーザ。通常の ARM CPU は、ユーザーで実行されているハイパーバイザーのすべてのホストされた OS で、ユーザースーパーバイザーの分離のみをサポートします。モード; 通常、すべての DMA ペリフェラルはスーパーバイザー特権で実行され、値は多くの場合 SOC にハードコーディングされています。


更新:元の質問には IOMMU が含まれていませんでした。

タイプ メリット
TZ バススイッチ、マスターとペリフェラルを軽減
HV DMA 軽減策なし、シングル マスター (CPU)
IOMMU IOMMU はスレーブの緩和策であり、「ワールド スイッチ」の更新が必要です

Hypervisor + IOMMU は、DMA 攻撃に対してある程度の保護を実現できます。ただし、これは「ワールド スイッチ」で IOMMU テーブルを更新する必要があることを意味します。これにより、その周辺機器に対する DMA 攻撃が防止されます。この保護を必要とするすべての周辺機器には、IOMMU が必要です。

「通常の世界」のデバイスが安全なデバイスにアクセスして「安全な操作」を実行する場合があります。たとえば、キーにアクセスせずにデータの復号化を要求します。

ハイパーバイザー + IOMMUは信頼ゾーンと同等ではありません。Trustzone はバス マトリックスによる保護であり、すべての周辺機器とマスターが含まれます。マスターはどちらの世界状態にもなり得ます。つまり、マルチ CPU システムでは、1 つをノーマルに、もう 1 つをセキュアにすることができます。意味計算は両方で行うことができます。HV+IOMMU ソリューションは、プリエンプティブ マルチタスクに相当します。システムがそのモードに入ると、IOMMU を切り替える必要があります。

繰り返しになりますが、TZ の弱点は、2 つの「ワールド」しかサポートされていないことです。HV+IOMMU は複数の「ゲスト」をサポートできます。

于 2013-07-05T12:57:30.967 に答える
2

Intel で IOMMU を使用し、ARM DMA 攻撃で SystemMMU を使用すると、少なくとも海外の範囲で回避できます。TrustZone ベースのシステム セキュリティとハイパーバイザー ベースのシステム セキュリティの主な違いの 1 つは、ハイパーバイザーは通常、CPU MMU を変更し、ペリフェラル MMU (IOMMU、SystemMMU) を追加することによって、ページ単位でシステムを保護することです。

一方、trustZone ベースのシステムでは、個々のトランザクション (アクセス) が (追加のバス アドレス ラインの 33 番目のビットを介して) セキュアまたは非セキュアとしてマークされるため、通常はプロセッサのワード サイズ レベルで、より細かい粒度でセキュリティが提供されます。

于 2014-05-26T15:25:30.970 に答える