低予算でのレーザー誤作動注入:RP2350 エディション

2026/10/15 19:24

低予算でのレーザー誤作動注入:RP2350 エディション

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

提供された要約は、不必要な冗長さがないまますべての本質的な情報を効果的に統合しており、明確かつ正確です。したがって、改善の余地はありません。

Text to translate

The provided summary effectively synthesizes all essential information without unnecessary verbosity. It is clear and accurate. Therefore, no improvement is necessary.

本文

RP2350 セキュアブート回避のための自作レーザ・フォルトインジェクションプラットフォーム開発報告

序論

  • 背景: 2024 年 8 月、Raspberry Pi は RP2350 マイコンコントローラをリリース。RP2040 を継承しつつ、セキュアブートなど多数の新機能を搭載しています。
  • 経緯: 数日後の DEFCON 2024 で、「RP2350 ハッキングチャレンジ」が開催されました。完全自作のレーザ・フォルトインジェクションプラットフォームを開発し、同チャレンジを克服しました。
  • 本稿の目的:
    • 独自プラットフォームの技術的詳細解説。
    • 製造用ファイルとソースコードの共有。
    • 単一のレーザー誘起フォルトがどのように RP2350 のセキュアブート機能を回避するかを説明。

⚠️ 警告: 本記事で紹介される「レーザ・フォルトインジェクションプラットフォーム」では、高出力の赤外線レーザー光源を使用します。危険を伴う部品であり、独自に実験を行う際は十分注意してください。


ハッキングチャレンジと RP2350 のセキュリティ機能

チャレンジの目的

  • 対象: RP2350 マイコン搭載の Pico 2 ボード。
  • 設定手順 (GitHub リポジトリに従う):
    • RP2350 の OTP(ワンタイムプログラム可能な)領域に「秘密」データを書き込み。
    • セキュアブート機能を有効化し、チップをロックする(SWD 無効化、フォルト検出器有効化など)。
    • OTP 領域へのアクセス制限のために、署名済みファームウェアを書き込む。
  • ゴール: 秘密データを復号化する手法を見つけると同時に、セキュアブート機能を回避することを試みます。

セキュリティ機能の詳細

  • 強制機構: RP2350 の Boot ROM に含まれるコードが強制。ソフトウェア手法を超えたハードウェア特定機能を活用。
  • レダンダンスコプロセッサ (RCP):
    • Boot ROM 内で使用され、フォルトインジェクション攻撃および ROP 攻撃へのハードウェア支援型対策を提供。
    • 主な機能:
      • スタックカニィー値の生成および検証(ランダムシードに基づく)。
      • 命令実行順序の検証。
      • 2 つのパターン保存ブール値の検証。
      • XOR パリティマスクによる冗長化されたデータの検証。
      • ソフトウェア検出パニック時のプロセッサ停止。
  • フォルト検出器 (Glitch Detector):
    • 電圧または電磁的フォルトインジェクション試行を検出し、システムをリセット。
    • チャレンジでは最高感度レベルに設定されていました。

記事の概要:なぜレーザ・フォルトインジェクションなのか?

レーザ選択の理由

  • Boot ROM は監査済みであり論理バグは見つかりませんでした。
  • オンライン上のコメントによると、電圧フォルトインジェクションは RP2350 のフォルト検出システムにより緩和されていました。
  • 結論: レーザビームの焦点をフォルト検出回路からずらすことで、検出器を作動させずにフォルトを注入できる可能性を探るためを選択しました。

安価なプラットフォーム事例

通常は高コストですが、以下の「安価な」アプローチが存在します:

  • 「The Masses for Laser Fault Injection」: レーザー彫刻ハードウェアの流用。
  • NetSPI の「RayV-Lite」: 技術詳細は公開されていない(※後日 Blackhat 2024 や NetSPI ウェブサイトに資料が公開)。

サンプルの準備とダイ露出処理

LFI は集束レーザーをシリコングリに照射し、トランジスタへの光電効果を利用して故障を誘発します。パッケージの上側ではなく裏面からのアクセスを選択しました。

ダイ露出のステップ

  1. はんだ取り: ホットエアーリフローステーションを使用。
  2. 材料除去: Dremel 風の工具(Amazon パート番号:UKH062_FR)でグラウンドパッド周辺を削る。銀色のペースト層をスクレイプしてダイ裏面を露出。
  3. PCB 接続: 小さな LDO を含む専用 PCB にはんだ付け。電源・制御信号を FFC コネクタで外部へルーティング。
    • コスト: メイン基板 BOM 10 ユーロ未満、I/O ボード BOM 15 ユーロ未満。

グラウンド接続の修復(重要)

グラウンドパッド除去により IC の接地破壊が発生するため、復元処理が必要です。

  • 手法: 露出した銅/金粒子や切断ワイヤ部分に**導電性エポキシ (MG CHEMICALS 9410)**を塗布し、ホットエアー(約 150℃)で固化させる。
  • 制限事項:
    • 高クロック動作は通常不可能(過剰な電流消費)。
    • I/O パッドの動作停止や信号整合性問題のリスク。
    • ただし: Boot ROM は保守的な設定であり、低クロック動作下では攻撃には十分機能します。

レーザ・フォルトインジェクションプラットフォームの詳細設計

システム構成

  • 位置決めステージ: OpenFlexure Delta Stage に基づく高精度移動(3D プリント+ステップモーター)。
  • 光学サブシステム: ダイの可視化と高出力レーザーパルスの集束。

赤外線光の必要性

  • シリコンは可視光に対して不透明。
  • 波長 1064nm の赤外線を使用し、裏面からのフォルトインジェクションを実現。

オプティカルアセンブリー(光学部品)

市販品を多用しましたが、赤外特性への対応には妥協がありました。

部品仕様/入手先備考
レーザードライバ基板カスタム PCB高パワーパルス生成用。
対物レンズAliExpress (90 ユーロ)顕微鏡用(無限遠補正)。
斜方照明 LED1064nmダイイメージング用。攻撃時はオフ。
イメージングカメラRaspberry Pi Camera v2 NoIRIR フィルターなし。感度向上。
レーザーダイオードAlibaba (約 300 ユーロ × 5pcs)1064nm, 定格 3W(過負荷運転)。
その他の光学部品ビームスプリッター、チューブレンズ等AliExpress 購入。可視光用仕様のため色収差あり。

ビームスプリッターの特性

  • 反射係数:90%
  • レーザービームから来る光を優先的に反射させる設計。

イメージングとフォーカシング

  • イメージング結果: 1064nm LED で照明し、カメラで確認。プロフェッショナル機程の解像度は劣るが、アライメントには十分。
  • フォーカシング結果:
    • スポットは楕円形で大きめ(光学部品仕様の制限)。
    • レーザダイオードが高発散性のため、集光は不完全。

レーザ駆動基板とパルス発生原理

⚠️ 警告: 高出力レーザー操作は危険です。独自実験時は十分な注意が必要です。

  • 制御方法: USB 経由でホストコンピュータが電圧設定・パルス送信を制御。ピンヘッダ也可直接接続可能。
  • 回路設計 (RLC):
    • コンデンサ充電後、スイッチ素子(GaN FET)でパルスを発生。
    • 理論値:
      R=1.4Ω
      ,
      L=33nH
      ,
      C=60nF
      。
  • レーザーダイオードの調達難易度:
    • 高出力・特定波長品は高価で入手困難。
    • 定格電流(3.8A)を超えて使用(ピーク電流が絶対最大値の 40 倍以上)。
    • しかし、パルス時間が短いという理由からダイオード損傷は回避できた。

フォルトインジェクションの結果

  • ターゲットエリア: ダイ表面の一部のみで成功。
  • バイパス原理:
    s_varm_crit_mem_copy_by_words
    と
    sb_sha256_update_32
    の間にフォルトを注入し、RAM 内に異なるデータをロードして SHA-256 ハッシュ計算を不正に通過させる。

攻撃プロセスと技術的詳細

アタックシナリオの分類

以下の 3 つの主要なフールインジェクションパターンを使用:

  1. シナリオ #1 - 単一命令「スキップ」 (データ改ざん)
    • sb_sha256_update_32
      呼び出し後のレジスタ変更をバイパス。
    • QSPI バス上のデータを直接書き換える(カスタム I/O ボードのデュアルフラッシュ機能利用)。
  2. シナリオ #2 - レジスタ値の汚染
    • フォルトにより R4 がフラッシュメモリの開始地点を指すように変更。
    • 攻撃者の制御下にあるデータ(フラッシュオフセット 0x0 など)を使用。
  3. シナリオ #3 - 命令変異 (Branch Misguided)
    • pop {r4,pc}
      命令を変異させ、R4 の復元失敗を誘発。
    • R4 を攻撃者の制御下にあるアドレスに設定し、強制実行する。

ソフトウェアアーキテクチャ

  • FPGA:
    • QSPI バス活動(
      sb_sha256_update_32
      呼び出し直前)をリアルタイム監視。
    • ランダム遅延命令(RCP による最大 127 サイクル)の存在により、完全な同期は困難だが、数回試行で成功。
  • 位置決めステージ制御: Raspberry Pi シングルボードコンピュータ+Web API で X/Y/Z 座標制御。
  • フラッシュメモリ組織化:
    • 2 つの QSPI フラッシュを使用。
    • 1 つはパッチ済みファームウェア(シェルスクリプト含む)、もう 1 つは未変更ファームウェアを複数配置。
    • シェルスクリプト実行により、XIP_BASE + 0x10000 に任意のペイロードを実行。

攻撃ループ

  1. 第 1 フラッシュを選択して RP2350 を起動。
  2. QSPI バス読み込みを監視し、
    s_varm_crit_mem_copy_by_words
    が完了するまで待機。
  3. 第 2 フラッシュを選択。
  4. 少し遅延後、レーザーパルスを照射。
  5. sb_sha256_update_32
    が成功(バイパス)したか検証。
  6. 失敗の場合は電源オフしてリトライ。

結果と改善点

  • 達成: Glitch Detectors をトリガーせずにセキュアブートを回避し、OTP 領域へのアクセスが可能になりました。
  • 課題:
    • スポットサイズが大きく、位置決め誤差が成功率を低下。
    • フォルトが強すぎてシステムクラッシュするケースが多い。
    • レーザパルス期間の最適化は物理部品変更が必要で手間がかかる。
  • 改善案: 小型スポット用光学系の実装、FPGA を使った動的ペイロード供給など。

結論

  • 安価な LFI の実現: 妥協点はあるものの、予算内で RP2350 に対する攻撃プラットフォームを構築可能でした。
  • セキュリティの限界:
    • RP2350 の Boot ROM は強化されていますが、Boot ROM 内の一部領域(RCP 保護範囲外)にフォルトを注入し、QSPI バスを介してペイロードを供給すれば、本質的にセキュアブートを無力化できます。
    • これにより OTP 領域の秘密データへのアクセスが可能になりました。
  • 今後の方向性: EMFI(電磁故障インジェクション)を用いたフォルト検出器回避などの研究も可能です。

開示と参考文献

  • Raspberry Pi への対応: 初回成功後速やかに連絡し、侵入の正当性が認められました。次の Boot ROM では標的領域の周囲にさらなる強化が施される予定です。
  • 共有リソース:
    • 完全自作プラットフォームの詳細と設計ファイルは公開。
    • Raspberry Pi ハッキングチャレンジへの回答として提出済み。

参考文献

  1. Andrew 'bunnie' Huang. Infra-red, in-situ (iris) inspection of silicon. arXiv:2303.07406 (2023).
  2. Jemellie Galang et al. A green laser pointer hazard. arXiv:1008.1452 (2010).
  3. Samuel McDermott et al. Multi-modal microscopy imaging with the openflexure delta stage. Opt. Express, 30(15):26377–26395 (2022).
  4. Antonios Stylogiannis et al. Continuous wave laser diodes enable fast optoacoustic imaging. Photoacoustics, 9:31–38 (2018).

同じ日のほかのニュース

一覧に戻る →

2026/10/17 17:21

DeepSeek-v4.1-Flash-1017

## Japanese Translation: DeepSeek-V4.1-Flash-1017 は、DeepSeek-V4.1-Flash のパフォーマンス向上型の後継モデルであり、推論、コーディング、エージェントタスクおよび画像ベンチマークにおいて顕著な性能向上を実現すると同時に、実行時間と出力長を削減しています。ベンチマーク結果によると、同モデルはオリジナルの V4.1-Flash を大幅に凌駕しており、HLE で 42.6(対 36.8)、Terminal-Bench 4.0 で 42.3(対 31.2)、DeepSWE v1.1 で 77.0(対 74.2)、Apex Bench v1.1 で 72.1(対 64.6)のスコアを記録しています。業界トップクラスの GPT-5.6 Sol や Opus 5 より劣るものの、前世代モデルに対しては確かな位置づけを確立しています。同モデルは、2026 年に発表された高度な KV キャッシュ圧縮技術による効率化を目的として設計されており、MIT ライセンスの下で公開されています。本番環境での統合においては、Rust ベースの `deepseek-recipe` ツールキット(Python バインディング付き)を利用することをお勧めします。この toolkit は、ツール呼び出しや画像生成といった複雑なタスクを処理する際に外部チャットテンプレートを使用する必要がありません。最適なパフォーマンスを発揮するためには、1M トークンの大きなコンテキストウィンドウ、少なくとも 256K トークンの最大出力容量、および サンプリングパラメータとして temperature=1.0 および top_p=1.0 を設定する必要があります。

2026/10/15 16:18

Commodore 64 ハードウェアシミュレーター:チップとピンを壊して結果を確認しよう

## Japanese Translation: 本ソフトウェアは、Andre Weissflog のコアモデルを zlib ライセンスの下で構築し、Commodore 64 のマザーボード(ASSY 250407)に対してサイクル正確なピン毎のシミュレーションを提供します。事前に定義された障害パターンに依存するツールとは異なり、明確な回路動作モデルおよびボードのネットリストを使用して、RAM のエイリアシングや電源投入前に特定のピンをリフトする際などに自然に発生するグリッチを導出します。ユーザーはチップをリフトする、ピンをショートさせる、ソケットを取り外す、抵抗器を開くなどしてボードと相互作用し、C64 の動作を安全に学習したり、壊れたハードウェアのトラブルシューティングを行ったりすることができます。パワーモデリングは厳格であり、死んだチップ、浮遊する CMOS 構成要素、および幻のパワー効果を区別します。シミュレーションにはオシロスコープ表示や .prg の読み込みによるデバッグ機能などの機能が含まれていますが、現在のハードウェア上のパフォーマンス制限のためゲームエミュレーターではありません(31–48% の速度でシミュレート)。既知のギャップとしては、SID フィルターやビデオ出力のようなアナログ部品がシミュレーションされていないことなどがあり、将来的なアップデートでは内部チップの障害およびネットブリッジの対応を計画しています。

2026/10/18 0:55

ペレ - テーマ化可能な SVG としてマーメイド図

## 日本語訳: # ルール - 元の意味を正確に保持する(追加も省略もない)。 - ドキュメントの構造(見出し、箇条書きなど)を維持する。 - 技術用語を正確に扱う(API、LLM、zero-trust は自然な日本語の対訳がある場合を除きそのまま残す)。 - トーンと確信度を保つ。 - まとめ、説明、改変を行わず、翻訳のみを行う。 # 出力形式 ## 日本語訳: (ここに日本語訳を書く) ## 訳すべきテキスト: (必要であれば;なければ元の文章を繰り返す): 正確性や明瞭さのためには改善は不要だが、 desired な場合は名前の由来に簡潔に触れることで若干の文脈を追加できる。