カスタムファームウェアはアフターマーケットファームウェアとも呼ばれ、ビデオゲームコンソール、携帯電話、さまざまな組み込みデバイスタイプなどのデバイス用にサードパーティによって作成された非公式の新しいファームウェアまたは修正されたバージョンのファームウェアです。新しい機能を提供したり、隠された機能をロック解除したりします。ビデオゲームコンソールコミュニティでは、この用語はカスタムファームウェアまたは単にCFWと記述されることが多く、 PlayStation Portable、PlayStation 3、PlayStation Vita / PlayStation TV、PlayStation 4、Nintendo 3DS、Wii U、Nintendo Switchなどのビデオゲームコンソール内の元のシステムソフトウェア(公式ファームウェアまたは単にOFWとも呼ばれる)の修正バージョンを指します。一部のデバイスでは、カスタムファームウェアをインストールするには、ブートローダーのロック解除が必要です。
ビデオゲーム機
カスタム ファームウェアでは、多くの場合、自作アプリケーションやROM イメージのバックアップをゲーム コンソール内で直接実行できます。一方、公式ファームウェアでは、通常は署名済みまたは市販のソフトウェアのコピーしか実行できません。カスタム ファームウェアはソフトウェアの著作権侵害と関連付けられることが多いため、任天堂やソニーなどのコンソール メーカーは、カスタム ファームウェアやその他のサードパーティ製デバイスやコンテンツをゲーム コンソールからブロックするために多大な努力を払ってきました。
PlayStation Portable、PlayStation 3、PlayStation Vita/PlayStation TV
カスタム ファームウェアは、Sony がリリースしたPlayStation Portableハンドヘルドでよく見られます。注目すべきカスタム ファームウェアには、Dark_AleX による M33 のほか、5.50GEN シリーズ、Minimum Edition (ME/LME)、PRO など他社が作成したファームウェアがあります。
カスタム ファームウェアは、 PlayStation 3コンソールにも見られます。カスタム ファームウェアを実行できるのは、初期の「Fat」および Slim (CECH-20xx から初期の CECH-25xx まで) モデルのみです。Slim (後期 CECH-25xx および CECH-30xx) および Super Slim モデルでは、カスタム ファームウェアに似た機能を持つ HEN (Homebrew Enabler) のみを実行できます。PS3 には、ODE (Optical Drive Emulator)、HAN (etHANol)、HFW (Hybrid Firmware) もあります。
PlayStation Vita / PlayStation TV には eCFW が搭載されています。これは、PS Vita/PS TV の PSP エミュレーターで実行される PSP 用のカスタム ファームウェアを意味します。これらの eCFW には、ARK、TN-V、さらに最近では Adrenaline が含まれます。Adrenaline はネイティブ サイドからハッキングされているため、より多くの機能を備えています。2016 年に、Molecule と呼ばれるチームが PlayStation Vita/PlayStation TV 用の HENkaku (カスタム ファームウェアに似た機能を持つ HomeBrew Enabler) をリリースしました。これは、PS Vita/PS TV のファームウェア バージョン 3.60 を変更し、コンソールでカスタム ファームウェアを作成できるようにします。オリジナルの HENkaku の背後にあるチームは、taiHEN もリリースしました。taiHEN は、最新バージョンの HENkaku が実行されるフレームワークです。これは、ユーザーが PSP で慣れていたのと同じように、システム レベルでプラグインをロードして、コンソールの機能を変更/追加できるようにする方法です。[要出典] Enso は PS Vita/PS TV のブートローダーの脆弱性であり、HENkaku を永続化して起動時に実行できるようにするため、PS Vita/PS TV は HENkaku Enso を備えた完全な CFW になります。3.60 のユーザーは、HENkaku Enso を失うことなく 3.65 にアップデートすることもできます。
ニンテンドー3DS
Nintendo 3DSの改造シーンでは、主にカスタム ファームウェア (公式ファームウェアを「オンザフライ」で修正するソフトウェア) が関係しており、これには 3DS のセキュリティ コプロセッサである ARM9 の制御を取得するためのエクスプロイトが必要です。また、フラッシュ カートリッジも関係しています。フラッシュ カートリッジは、オリジナルのゲーム カートリッジをエミュレートします (これは、変更されていないゲーム カートリッジ ROM バックアップを再生するためだけに使用できます)。現在最も広く使用されている CFW は、Aurora Wright と TuxSH によって開発された Luma3DS で、署名されていない CIA (CTR インポート可能アーカイブ) のインストールが可能で、オープンソースの書き換えられたシステム ファームウェア モジュールと、自作ソフトウェア開発者向けの例外処理が含まれています。
その他の過去の廃止されたCFWには、Gateway(DRMを介してフラッシュカートリッジにロックされた独自のCFWで、最初に公開されたもの)、Pasta、RxTools(最初の無料で広く使用されたもの)、Cakes CFW [1](パッチにモジュール化されたアプローチを使用し、後続のCFWのインスピレーションとなった最初のオープンソースCFW)、Luma3DSが元々ベースにしていたReiNAND、およびCorbenikがあります。[2]現在、開発中のカスタムファームウェアはLuma3DS(以前はAuReiNANDとして知られていました)のみです。 3DS CFWは、3DSのNANDメモリのコピーを含むSDカードのパーティション化されていない領域からシステムを起動する機能である「EmuNAND」/「RedNAND」に依存していました。これらのEmuNANDは、emuNANDが正常に機能しなくなったり、使用できなくなったりしても通常のシステムNANDは影響を受けないため、3DSシステムを文鎮化から保護できました。 EmuNAND は通常のシステム NAND とは別に更新することもできるため、ユーザーは EmuNAND に最新のシステム バージョンをインストールしながら、システム NAND に脆弱なバージョンを保持することができます。これにより、古い 3DS システム バージョンでもオンライン プレイやNintendo eShop へのアクセスが可能になります。
EmuNAND は、Arm9loaderhax のリリースによって時代遅れになりました。Arm9loaderhax は、ブート時の ARM9 エクスプロイトで、SysNAND を安全に使用して更新できるものでした。CFW が OS の更新コードにパッチを適用し、公式の更新でエクスプロイトが削除されないようにしたためです。ただし、このエクスプロイトでは、インストールに必要なコンソール固有の OTP を取得するために、非常に初期のシステム バージョンにダウングレードする必要がありました。2017 年 5 月 19 日、Arm9loaderhax に代わる sighax と呼ばれる新しいエクスプロイト ベースがリリースされ、ユーザーはさらに早い段階でシステムを制御できるようになり、bootROM のコンテキストでコードを実行できるようになり、ダウングレードや OTP を必要とせずに、よりクリーンな環境が実現しました。ユーザー フレンドリな sighax バージョンである Boot9Strap がリリースされました。Sighax は、署名パーサー ポインターをスタックにオーバーフローすることで機能します。そのため、パーサーは特定のフィールドを検証しないため、ファームウェア イメージのハッシュがそれ自体と比較されます。[3] [4]
同時に、ntrboot と呼ばれる別の bootROM エクスプロイトが発表されました。これにより、bootROM に存在するバックドアを使用して、ファームウェア バージョンに関係なく (bootROM は更新できないため)、改造された DS フラッシュ カートリッジと磁石のみで、任意の 3DS コンソールのシステムを完全に制御できるようになります。最初のリリースは 8 月 12 日で、AceKard 2i および R4i Gold 3DS RTS カートリッジをサポートしていました。
ニンテンドースイッチ
現在、 Nintendo Switchコンソール用のカスタムファームウェアは、Atmosphère、ReiNX、SX OSの3つが存在します。これらの違いはほとんど重要ではありません。Atmosphèreは現在も開発が進められており、無料のオープンソースソフトウェアです。ReiNXは、そのコードの多くをAtmosphère [6]に基づいていますが、ランタイムコンポーネントにいくつかの変更が加えられ、ブートローダも異なります。一方、SX OSはクローズドソースで有料ですが、反論があるにもかかわらず、大部分はAtmosphèreのコードに基づいています。[7]
任天堂は、Switch環境を以前のコンソールよりもはるかに安全にしました。それにもかかわらず、ユーザーのエクスプロイトにつながる注目すべきバグが存在します。これらのうち、Nvidia Tegraスタックバグ(CVE - 2018-6242)[8]は最もよく悪用されています。これは、Switchユニットのリカバリモード(RCM)を利用して、署名されていない/検証されていないペイロードをプッシュし、[9]ユーザーに任意のコード実行へのアクセスを許可します。この脆弱性は、Switchハッキングシーンのユーザーによってさらに悪用され、ファームウェアをリバースエンジニアリングし、NerebaとCaffeineという2つの注目すべきエクスプロイトにつながりました。RCMはハードウェアエクスプロイトですが、NerebaとCaffeineはソフトウェアエクスプロイトであり、エクスプロイトを使用するには、コンソールが特定のファームウェアバージョン以下である必要があります。RCMはハードウェア関連であるため、コンソールがその特定のエクスプロイトに対して脆弱であることのみに依存し、ファームウェアの要件や範囲はありません。
Nvidia が CVE-2018-6242 を公開したことにより、任天堂は脆弱性に対処せざるを得なくなり、[10] 2018 年後半にはハードウェア パッチが適用され、RCM 脆弱性にアクセスできないユニットの製造と配布を開始しました。この期間またはそれ以降に製造されたユニットは、Switch Lite や新しい「レッド ボックス」Switch を含め、ハードウェア パッチが適用されている可能性が高く、ハードウェア パッチが適用され、比較的最近のファームウェアを実行しているユニットは、Switch の異常に安全なソフトウェア環境のため、現時点でも将来もカスタム ファームウェアにアクセスできない可能性があります。これらの Switch は、Switch 改造コミュニティでは一般に「パッチが適用された」Switch と呼ばれています。通常の方法では改造できませんが (「ソフト モッディング」)、Switch のUSB-Cポートを取り外した後の場所にモッドチップをはんだ付けすることで (「ハード モッディング」)、RCM モードに入る必要がなくなります。
アンドロイド
Androidでは、カスタムファームウェアのインストール(通称カスタムROMまたはAndroid ROMのインストール)は、通常は読み取り専用としてマウントされているAndroidオペレーティングシステムのシステムパーティションを[11] [12] 、修正されたバージョンのAndroidに置き換えることであり、「ROMのフラッシュ」 [13]とも呼ばれます。この手順ではブートローダーのロック解除が必要ですが、これは過去にはデバイスメーカーによって一般的にサポートされていなかったため、通常はオペレーティングシステムの脆弱性を悪用するための専門知識が必要でした。 ただし、2015年頃から[14] 、 Motorola、[15] OnePlus、[16] Google [17] Xiaomi、Sony [18]など、いくつかのメーカーがブートローダーのロック解除をサポートしています(一部の通信事業者によってロックされているモデルを除く)。 これにより、エクスプロイトを必要とせずにセキュアブートをバイパスします。 インストールされたカスタムROMには、さまざまな機能が含まれていたり、消費電力が少なくて済んだり、ユーザーに他の利点を提供したりする場合があります。公式のAndroidバージョンの更新を受信しなくなったデバイスは、引き続き更新できます。ただし、一部のカスタム ROM では携帯電話のすべての機能が適切にサポートされない場合があります。
その他のデバイス
デジタルカメラ、無線ルーター、スマートテレビなど、さまざまなデバイスでもカスタムファームウェアが実行される場合があります。[19]このようなカスタムファームウェアの例は次のとおりです。
- ポータブルメディアプレーヤー用のRockbox
- iPodポータブルメディアプレーヤー用のiPodLinux
- キヤノンのデジタルカメラ用CHDK [20]とMagic Lantern [20]
- Nikon EXPEED DSLR向けNikon Hackerプロジェクト
- コンピューター用のCorebootとLibreboot
- ワイヤレス ルーター用のサードパーティ ファームウェア プロジェクトが多数あります。以下がその例です。
- Ben Nanonote、Buffalo WZR-HP-G300NH、その他の最小限のリソースを備えたコンピューター向けのLibreWRTプロジェクト[21]
- OpenWrtおよびその派生であるDD-WRT [20]
- RouterTech、Texas Instruments AR7チップセット (Pspboot または Adam2ブートローダー付き)に基づくADSLゲートウェイ ルーター用
- ケーブルハックとシグマはケーブルモデムの制限を解除した が、合法性には疑問がある[22] [23]
- DVDドライブをリージョンフリーにするファームウェア
- SamyGO 、サムスンスマートテレビ用の改造ファームウェア[24]
参考文献
- ^ 「Cakes CFW 開発者がプロジェクトの中止を発表」。GitHub。
- ^ 「Corbenik の作者とメンテナーがプロジェクトからの引退を発表」2016 年 6 月 4 日。
- ^ 「3DS BootROMエクスプロイト」. zoogie.github.io . 2024年10月20日閲覧。
- ^ “33.5c3”. sciresm.github.io . 2024年10月20日閲覧。
- ^ アメリカ合衆国対マックス・ロウラン、ユアンニング・チェン、ゲイリー・バウザー、2:20-cr-00127-RSL、11~12ページ(ワシントン州西部地区連邦地方裁判所シアトル、2020年8月20日)。
- ^ 「ReiNX が Atmosphere コードから Atmosphere 名を削除」。GitHub。
- ^ 「著名なシーン開発者とSX OSリバースエンジニアリングされたコードの一部」。
- ^ 「Tegra バグの CVE エントリ」。
- ^ 「Switchbrew の公開脆弱性リスト」。
- ^ 「ハードウェア改訂に関するFCC申請」。
- ^ 「非A/Bシステムアップデート」。
- ^ Raja, Haroon Q. (2011 年 5 月 19 日). 「Android パーティションの説明: ブート、システム、リカバリ、データ、キャッシュ、その他」. Addictivetips . Addictivetips.com. 2012 年 9 月 22 日時点のオリジナルよりアーカイブ。2012 年9 月 15 日閲覧。
- ^ 「Android ROM」。PCMAG百科事典。 2023年5月26日閲覧。
- ^ 「ブートローダーのロック解除 - サポートされているデバイス」LG Developer . 2021年1月29日閲覧。例: 2015 G4 は、ブートローダーのロックを解除できる最初の LG 携帯電話です。
- ^ 「ブートローダーのロック解除 | MOTOROLA Android フォン | Motorola Mobility LLC」。
- ^ 「アフターサービス - ルート化またはブートローダーのロック解除を行うと保証は無効になりますか? - OnePlus」。2016年12月31日時点のオリジナルよりアーカイブ。
- ^ 「Nexus および Pixel デバイス用のファクトリー イメージ | Android 向け Google API」。Google Developers。2018年 9 月 18 日閲覧。
- ^ 「ブートローダーのロック解除 - オープンデバイス - Sony Developer World」。
- ^ ハッカーがスマートテレビを巧みに利用している理由とそれがあなたにとって重要な理由
- ^ abc 「カスタムファームウェアは最高!」Pcgamer 2009-08-05 2009-08-13閲覧。
- ^ 「ハードウェアサポート」。LibreWRT.org 。 2015年4月23日時点のオリジナルよりアーカイブ。2015年7月21日閲覧。
- ^ Poulsen, Kevin (2009-01-12). 「ハードウェアハッカー、無料ブロードバンドを提供するケーブルモデムの販売で起訴 — 最新情報」Wired . Condé Nast . 2016-06-15閲覧。
- ^ Poulsen, Kevin (2004-02-05). 「ケーブルモデムハッカーがCo-Axを制覇」SecurityFocus.com . SecurityFocus . 2016年6月16日閲覧。
- ^ 「SamyGO: テレビのファームウェアの置き換え」LWN.net 2009-11-14 . 2009-12-11閲覧。
