4

環境

通常の世界では機能豊富なGNU/Linux OS を実行し、セキュアな世界ではモニターが統合された小さな OS を実行したいと考えています。

要件

セキュア ワールドのメモリ領域にアクセスするには、ノーマル ワールドを絶対に避けなければなりません。

質問

この要件を満たすために、 TrustZone のどの機能を使用/アクティブ化する必要がありますか? 必要な機能だけを使用して、必要な作業を最小限に抑えたい。

詳細

私はかなり多くのARM TrustZoneドキュメントを読みました。セキュリティ拡張機能を備えたTZPCTZASC、MMU については知っていますが、次の脅威を回避する方法がわかりません。

カーネル空間へのアクセス権を取得したハッカーが MMU を非アクティブ化し、セキュア ワールドの物理メモリ領域に直接アクセスするのを止めるにはどうすればよいでしょうか?

たぶん、これは想像もできないし、実行可能ではないでしょうか? しかし、もしそうなら、これを防ぐためにTZPCが義務付けられていると思いますよね? それとも、2 つのTrustZoneワールドを「単に」使用するだけで十分ですか?

4

2 に答える 2

1

信頼されていないコードは非セキュアな状態で実行されているため、CPU によって生成されたバス トランザクションはすべて非セキュアとしてマークされます。したがって、相互接続の固有の機能により、物事が分離されます。セキュア メモリ マップと非セキュア メモリ マップは、実際には完全に別のものです。ほとんどのシステムでは、それらが多かれ少なかれ同一になるように配線されているだけです。

現在、その「セキュア ワールド メモリ」は、セキュア メモリ マップに配線されている専用ブロック (通常はオンチップ SRAM) か、切り出されて TZPC を介してセキュア専用にされた一般的な DRAM のチャンクのいずれかになります。 /TZASC. いずれにせよ、それは単に非セキュア メモリ マップには存在しないため、非セキュア ソフトウェアがそれにアクセスするためにできることは何もありません。

于 2015-09-08T13:39:57.040 に答える