問題タブ [trust-zone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - カーネル ドライバーからハイパーバイザーへの関数ポインターの受け渡し
SMC 呼び出しを使用し、ハイパーバイザーで SMC 呼び出しをトラップして、EL1 (Android カーネル) から EL2 (ハイパーバイザー) に関数ポインターを渡そうとしています。ポインターをハイパーバイザーに渡すだけでは機能しないことを理解しています。これは VA であり、ハイパーバイザーにとって何の意味もないためです。
それを行う方法について何かコメントはありますか?EL1からではなく、基本的にEL2から関数を呼び出したいと思います。
私の推測では、イオンメモリを使用する必要があるか、VA -> IPA/PA を変換する必要があるかもしれません。
ヘルプやポインタをいただければ幸いです。
android - Trust Zone で JTAG を使用したダイレクト メモリ アクセス
JTAG を使用しているときに、Trust Zone で DMA 方式でメモリにアクセスできない理由を知りたいですか?
前もって感謝します。
arm - ARM プロセッサが通常のロックダウンされた「世界」で実行されているのか、それとも Secore の「世界」で実行されているのかを判断する方法は?
たとえば、virt-what
ハードウェア仮想化の「サンドボックス」内で実行しているかどうかを示します。
ARM「TrustZone」サンドボックスで実行しているかどうかを検出する方法は?
arm - TrustZone 監視モードと IFAR、IFSR、DFAR、DFSR
ARM TrustZone モニタ モードは、モニタ モードでアボートをトラップできます。監視モードは、常にセキュア ワールドまたはコンテキストで実行されます。通常の世界で障害を引き起こしたアドレスと理由は、監視モードの命令アボートとデータ障害ベクトルにトラップされたときにどのように知ることができますか?
arm - ARM TrustZone、ハイパーバイザー: 仮想化拡張機能なしのハイパーバイザー機能
ARM の CPU 仮想化に関する興味深い情報を見つけたので、それについてもっと理解するのを手伝ってくれないかと思っています。
基本的に、SierraWare と呼ばれる会社の人々は、SierraTEEと呼ばれる ARM セキュア モード OS を開発しました。これは、非セキュア モードで実行されている Linux/Android などのゲスト OS を仮想化し、セキュリティ拡張機能のみを必要とします。彼らのプレゼンテーション ドキュメントの 1 つからの情報が私の注意を引きました。具体的には、この PDF http://www.sierraware.com/sierraware_tee_hypervisor_overview.pdfの19 ページで、彼らは次のように述べています。
ルートキットとカーネル ハックの整合性チェック:
- Syscall 割り込みと割り込みハンドラを監視します。これにより、コア syscall が改ざんされないことが保証されます。
「Syscall割り込み」によって、 SVC(=古いSWI)命令の実行を理解しています(間違っている場合は修正してください)が、「監視」によって、リアルタイムの監視になる可能性があるため、よくわかりません。 -時間の監視または特定のイベントの監視。私の考えでは、SVC ハンドラーを監視して、次のいずれかで改ざんを防止できます。
- SVC ハンドラーを時々検査します (IRQ と FIQ を監視モードにルーティングできるため、タイマー割り込みなど) - PatchGuard のようなアプローチはあまり役に立ちません。
- SVC 命令の実行時に SVC ハンドラを検査する(=特定のイベントの監視)
- トラップSVC ハンドラメモリ領域の書き込みアクセス (=リアルタイム監視)
アプローチ 2に関して:非セキュア SVC 命令の実行をセキュア モードからトラップすることは可能でしょうか?
アプローチ 3に関して: Security Extensions のみを使用して、非セキュアなメモリ領域の書き込みをフックすることは可能でしょうか?
よろしくお願いします
arm - ARM TrustZone - セキュアおよび非セキュア OS でのスケジューラの動作
CPU がセキュア モードになった後 (モニター プログラムが を設定NS = 0
)、セキュア OS はどのようにスケジュールされるのか説明してもらえますか? CPU がセキュア モードになったので、タイマー ティック割り込みは非セキュア ワールドではなくセキュア OS によって処理されるのでしょうか?
raspberry-pi - Raspberry Pi をセキュア モードで起動することはできますか?
現在、Raspberry Pi で小さな OS を開発しています。これは、SD カードのkernel.img
ファイルを置き換えてインストールします。/boot partition
私のコードが実行されるまでに、CPU はすでにノーマル モードになっているため、セキュア ワールド / トラストゾーン エリアにアクセスできません。
ラズベリーのブート プロセスを変更して、コードをセキュア モードで実行できるようにすることはできますか?
ベスト、V.