1736069151
2025-01-05 05:24:00
20,000ドルのRaspberry PiとHextree RP2350に勝者がいるかもしれません ハッキングチャレンジしかし、誰が勝者であるかは 1 月 14 日まで正式にわかりません。エンジニアのエイダン・カレン氏は、次のように発表しました。 RP2350のハッキング 最近の第 38 回カオス コミュニケーション会議 (38C3) でのプレゼンテーションで、 GitHub リポジトリ ビデオに合わせて公開されました ここ。カレン氏は、RP2350 チップのピン 53 に対する電圧注入グリッチ攻撃を行う前に、RP2350 を詳細に研究しました。これにより、「永久に無効化された」RISC-V コアとそのデバッグ アクセス ポートがオンになり、秘密を読み取ることができました。
ラズベリーパイ RP2350を導入しました を介して ラズベリーパイピコ2 の後継者として RP2040 – 追加あり 安全 商業および産業の顧客にアピールする機能。新しいマイクロコントローラーを宣伝するために、Hextree と協力して RP2350 ハッキング チャレンジを考案しました。 8月のDEF CONで発表。このチャレンジは 2024 年 12 月 31 日に終了しましたが、正式な勝者の発表は 1 月 14 日まで待たなければなりません。カレン氏は 12 月 27 日に 38C3 でプレゼンテーションを行い、ハッキング プロセスと Python コードの概要が記載された GitHub リポジトリも共有しました。ただし、カレンが勝者であるかどうかはわかりません。そのため、これが 2 万ドルを獲得できるハック方法ではない可能性があります。
具体的には、RP2350 には、Raspberry Pi が強調したいと考えていた 4 つの新しいセキュリティ機能が搭載されています。これらは、セキュア ブート、TrustZone、冗長コプロセッサ (RCP)、およびグリッチ ディテクタです。この挑戦の設定者は、これらの「完全に安全な」チップの 1 つに秘密を隠し、応募したハッカーにそのチップが提供され、最初の実証的な成功事例には 20,000 ドルと、挑戦の勝者としての栄誉が与えられます。ハードウェアやソフトウェアによる攻撃は競技規則で認められており、ほぼ何でもありの状況だった。

Raspberry Pi と Hextree は、チップ上の RP2350 の OTP (One Time Programmable) メモリに秘密を隠します。これは、一度設定すると決して忘れられないバイナリ コードと言われています。 Picotool は OTP に秘密のコードを書き込むために使用されました。その後、RP2350 の OTP メモリはページ ロック ハードウェア保護機能の背後でロックされ、上記の表に従って「アクセス不能」状態「13:12」に設定されました。ファームウェアも署名されており、セキュア ブートが有効になっており、チップ デバッグ機能が無効になっているため、シリアル ワイヤ デバッグ (SWD) インターフェイスを介して秘密にアクセスすることはできませんでした。さらに、他のすべてのブートキーが無効になり、RP2350 グリッチ ディテクタがオンになり、最高の感度に設定されました。確かにロックダウンされたような気がします。
カレン氏は、RP2350 のデータシートとドキュメントに概要が記載されている依存関係を調べることからハッキング プロセスを開始したと述べています。次に、Cullen 氏は、特に OTP に注目して、RP2350 がどのように起動してセキュリティ設定を確立するかを詳しく掘り下げました。
カレン氏の最初のアイデアは、OTP に重要なビット設定を誤って読み取らせ、安全でない方法でチップを動作させることでした。カレン氏は調査の一環として RP2350 の X 線検査も行い、チップ ブロックに注釈を付けました。しかし、これは単に興味を追求しただけであり、この課題を克服するのに実際には役立っていなかった、と彼は強調する。
研究により、Cullen は、OTP (および USB) 機能に接続されている USB-OTP_VDD とラベル付けされたピン 53 に注目することを余儀なくされました。おそらくハッカーが「この電源を外部からいじって」これらの機能に影響を与える可能性がある、と彼は考えた。そこで彼はチップを取り外し、ピン 53 を分離し (PCB トレースを物理的に切断)、再組み立てした基板上で個別に電気的に改ざんできる準備を整えました。
このハードウェア変更されたセットアップを使用して、カレン氏はピン 53 をプローブして「必要な電圧を注入」し、何が起こったかを確認しました。保護されていない RP2350 ボードは、並べて比較するために手元に保管されました。ハードウェアがセットアップされると、オシロスコープのプローブの読み出しに従って、保護されたRP2350と保護されていないRP2350の起動時に通常何が起こるかを観察しました。
起動時の 16 回の初期 OTP 読み取りに対応する 16 グループのスパイクが見られました。次に、Cullen 氏は、ブート プロセスの特定の時点でピン 53 に電力グリッチを注入するテストを行いました。残念なことに、デバッグはロックダウンされたままでした。次に、Python スクリプトを使用して、起動中の OTP 読み取りの 600 マイクロ秒範囲全体にわたってグリッチ電力入力の位置をスイープしました。デバッグ機能はチェックされましたが、利用できるようになりませんでした。そこでカレン氏は、ロックが解除された RP2350 ボードを、デバッグを有効にして再度調べて手がかりを探しました。
その後、セキュリティで保護されていない RP2350 上の不具合を介して RISC-V コアが出現するという、興味深いことが観察されました。次に、Cullen 氏は別のスクリプトを使用して、RISC-V デバッグ アクセス ポートが表示される場所を確認しました。この手法は、セキュリティで保護された RP2350 上でもトリガーできます。これで、デバッガをセキュリティで保護された RP2350 に接続し、OTP からシークレットを読み取ることができます。
秘密が暴かれる
「永続的に無効になっている」RISC-V コアは、このアクセスを有効にするためにグリッチによって起動されました。 Cullen 氏は、グリッチ 0x00030033 が機能する奇妙な根本的な理由は、Arm コアと RISC-V コアの両方が無効になるが、Arm 無効化命令の方が優先され、RISC-V がオンのままになるためであると説明しています。重要なのは、このグリッチにより Debug_Disable が正常にクリアされることです。
このハッキングの背景、特にガード読み取りメカニズムのバイパスに関する詳細については、38c3 中に記録されたビデオ (上部にリンク) を見ることをお勧めします。セッションの最後には興味深いQ&Aもあります。参加者があなたと同じような質問をするかもしれません。
カレン氏は次の 3 つの重要な点でプレゼンテーションを締めくくりました。
- 人間のコミュニケーション要素は非常に大きいです。シデンセ [the company behind OTP NV memory tech used] ガードを適切に行う方法を知っていたのに、RPi は失敗しました。
- チップの破壊を伴わない限り、「永久的」ということはありません。各信号のどこかに銅が存在します…
- 彼らがあなたに教えていない場所でのグリッチを忘れないでください。
#Raspberry #RP2350 #Hacking #Challenge #は敗退したようです #ハッカーは #RISCV #コアに不具合を与えてデバッグを可能にすることで #OTP #シークレットにアクセスします




