[論文レビュー] Methodically Defeating Nintendo Switch Security
この論文は、文書が存在しない状況下で、Nintendo Switchのセキュリティアーキテクチャを体系的に逆アセンブルする手法を詳述している。ユーザー領域およびOSサービスのソフトウェアベースの分析と、ROMベースのブートストラップコードに対するハードウェアベースの攻撃を組み合わせ、信頼性の高いコプロセッサの高セキュリティモード内でROPコード実行を達成した。これは、強力な暗号保護を備えた新規の埋め込み型信頼性のあるシステムに対する完全な攻撃チェーンを示している。
We explain, step by step, how we strategically circumvented the Nintendo Switch's system security, from basic userland code execution, to undermining and exposing the secrets of the security co-processor. To this end, we've identified and utilized two distinct analysis procedures. The software-based analysis suffices for reverse-engineering the userland and operating system services, and is necessary for a general architectural understanding of the software systems in the Nintendo Switch. While this method is extremely powerful and provides significant leverage over the control of the system and its software security, a hardware-based method was devised, which employs analysis of the trusted bootstrap code in ROM. This strategy was essential for the goal of defeating the hardware root of trust. Together, these two vectors provide essential insight required to instance a chain of attacks, in order to gain ROP code execution from the context of a high-security mode of a secure co-processor of a running system, thus allowing us to demonstrate a multi-faceted approach on attacking secure, embedded devices in an unfamiliar and novel environment.
研究の動機と目的
- ドキュメントが欠如している状況下で、信頼性のあるブートチェーンおよびセキュアコプロセッサを含むNintendo Switchのセキュリティアーキテクチャを逆アセンブルすること。
- WebKitベースのブラウザコンponentsにおけるuse-after-freeやout-of-bounds読み取りなどのソフトウェア脆弱性を特定および利用すること。
- グリッチ攻撃およびROM分析を含むハードウェアベースの技術を開発・適用し、ハードウェアの信頼の根拠をくつがえすこと。
- ユーザー領域でのコード実行からセキュアモニタおよびTrustZone環境内での特権昇格に至る完全な攻撃チェーンを実証すること。
- アーキテクチャ的・実装的欠陥を特定することで、埋め込みデバイスにおけるセキュリティ向上に向けた実用的知見を提供すること。
提案手法
- SwitchのWebKitベースのブラウザアプリレットにおける動的解析、ファジング、プロトコル逆アセンブルを用いたユーザー領域およびOSサービスのソフトウェアベースの逆アセンブル。
- 更新バージョン2.0.0におけるWi-Fiキャプティブポータルのバイパス脆弱性を悪用し、制御されたウェブコンテンツ実行およびブラウザエンジンへのアクセスを可能にした。
- WebKitにおけるメモリ破壊解析を実施し、use-after-freeやout-of-bounds読み取りなどの脆弱性を特定・利用した。
- ROMブートストラップコードのハードウェアベースの分析を実施し、ハードウェアの信頼の根拠の悪用を可能にした。
- ソフトウェアおよびハードウェア技術を統合し、セキュアモニタの高セキュリティモード内でのROP実行を達成した。
- エミュレータベースのテストおよびデバッグを用いて、物理デバイス外で脆弱性を再現および検証した。
実験結果
リサーチクエスチョン
- RQ1ソフトウェアとハードウェアの両方の攻撃を組み合わせることで、ハードウェアの信頼の根拠を備えたセキュアな埋め込みシステムは、どのようにして侵害可能になるのか?
- RQ2WebKitエンジンおよびブラウザアプリレットに存在するどのような脆弱性が、制限付き実行環境内でのリモートコード実行を可能にするのか?
- RQ3グリッチ攻撃およびROM分析は、現代のコンソールの信頼性のあるブートチェーンをどのようにしてくつがえすことができるのか?
- RQ4複数の脆弱性を連鎖的に利用することで、ユーザー領域からセキュアモニタおよびセキュアコプロセッサへの特権昇格をどのように実現できるのか?
- RQ5Switchのセキュリティモデルにおけるどのようなアーキテクチャ的・実装的欠陥が、このような攻撃を可能にしているのか。また、それらはどのように緩和可能か?
主な発見
- 研究者たちは、信頼性のある実行環境の完全な侵害を示すために、信頼性の高いコプロセッサの高セキュリティモード内でROPコード実行に成功した。
- Wi-Fiキャプティブポータル処理における脆弱性により、ネットワーク制限をバイパスし、埋め込み型WebKitブラウザエンジンへの制御されたアクセスが可能になった。
- 初期コード実行を達成するために、use-after-freeやout-of-bounds読み取りを含む複数のメモリ破壊脆弱性がWebKitエンジンで特定・悪用された。
- ROMブートストラップコードのハードウェアベースの分析により、システムセキュリティモデルの核となるハードウェアの信頼の根拠がくつがえされた。
- 攻撃チェーンはソフトウェアの悪用とグリッチベースのハードウェア攻撃を統合しており、ASLR、NX、TrustZoneを備えたシステムでさえ、複数の欠陥が連鎖することで侵害可能であることを実証した。
- 本研究では、不十分なコード監査、特権サービスの隔離不足、およびグリッチ防止保護の欠如が、システムのセキュリティ体制を著しく弱体化させていることが明らかになった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。