2025-11-23T08:04:15.955657

"We just did not have that on the embedded system": Insights and Challenges for Securing Microcontroller Systems from the Embedded CTF Competitions

Ma, Liu, Eastman et al.
Microcontroller systems are integral to our daily lives, powering mission-critical applications such as vehicles, medical devices, and industrial control systems. Therefore, it is essential to investigate and outline the challenges encountered in developing secure microcontroller systems. While previous research has focused solely on microcontroller firmware analysis to identify and characterize vulnerabilities, our study uniquely leverages data from the 2023 and 2024 MITRE eCTF team submissions and post-competition interviews. This approach allows us to dissect the entire lifecycle of secure microcontroller system development from both technical and perceptual perspectives, providing deeper insights into how these vulnerabilities emerge in the first place. Through the lens of eCTF, we identify fundamental conceptual and practical challenges in securing microcontroller systems. Conceptually, it is difficult to adapt from a microprocessor system to a microcontroller system, and participants are not wholly aware of the unique attacks against microcontrollers. Practically, security-enhancing tools, such as the memory-safe language Rust, lack adequate support on microcontrollers. Additionally, poor-quality entropy sources weaken cryptography and secret generation. Our findings articulate specific research, developmental, and educational deficiencies, leading to targeted recommendations for researchers, developers, vendors, and educators to enhance the security of microcontroller systems.
academic

「我たちはそれを組み込みシステムに搭載していなかった」:組み込みCTF競技会からのマイクロコントローラシステムセキュリティに関する知見と課題

基本情報

  • 論文ID: 2503.08053
  • タイトル: "We just did not have that on the embedded system": Insights and Challenges for Securing Microcontroller Systems from the Embedded CTF Competitions
  • 著者: Zheyuan Ma、Gaoxiang Liu、Alex Eastman、Kai Kaufman、Md Armanuzzaman、Xi Tan、Katherine Jesse、Robert J. Walls、Ziming Zhao
  • 分類: cs.CR(暗号化とセキュリティ)
  • 発表時期/会議: ACM SIGSAC Conference on Computer and Communications Security (CCS '25)
  • 論文リンク: https://arxiv.org/abs/2503.08053

要約

マイクロコントローラシステムは日常生活に不可欠であり、車両、医療機器、産業制御システムなどの重要なアプリケーションに電力を供給しています。本研究は、2023年および2024年のMITRE組み込みCTF(eCTF)競技会のチーム提出物と競技後インタビューを分析することにより、技術的および認知的な二重の視点からセキュアなマイクロコントローラシステム開発のライフサイクル全体を解析しています。本研究は、概念的課題と実践的課題の2つの大きな課題を特定しています。概念的には、マイクロプロセッサシステムからマイクロコントローラシステムへの移行に困難があり、参加者はマイクロコントローラ固有の攻撃に対する認識が不足しています。実践的には、Rustなどのメモリ安全言語のマイクロコントローラ上でのサポートが不十分であり、低品質のエントロピー源が暗号化と鍵生成のセキュリティを弱体化させています。本研究は、研究者、開発者、ベンダー、教育者に対して対象を絞った推奨事項を提供しています。

研究背景と動機

1. 研究課題

マイクロコントローラ(MCU)システムは重要なインフラストラクチャに広く適用されていますが、その安全な開発には独特の課題があります。既存の研究は主にファームウェア脆弱性分析に焦点を当てており、脆弱性が生じる根本原因、特に開発者の認知と実践レベルについての深い理解が不足しています。

2. 問題の重要性

  • 応用の広範性:マイクロコントローラは車両、医療機器、産業制御などの重要なシステムを駆動しています
  • セキュリティ脆弱性:MMUなどの標準的なセキュリティ機能が不足しており、一般的なC/アセンブリプログラミングはメモリエラーを引き起こしやすい
  • 物理的アクセス可能性:汎用コンピュータと比較して、サイドチャネル攻撃や故障注入などのハードウェア攻撃を受けやすい

3. 既存手法の限界

  • クローズドソースの障壁:実際のファームウェアの取得と分析が困難
  • 単一視点:技術分析のみを実施し、開発者の認知と意思決定プロセスを無視
  • ライフサイクル全体の視点の欠如:設計から実装への脆弱性の進化を追跡できない

4. 研究動機

eCTF競技会というユニークな視点を通じて、研究チームは以下を実現できます:

  • 完全なソースコード、ドキュメント、構築ツールへのアクセス
  • 技術分析と開発者インタビューの組み合わせ
  • 初期段階の研究者のセキュリティ実践を観察し、教育改善の根拠を提供
  • システム的および経験的なセキュリティ課題を特定

核心的貢献

  1. 方法論的革新:CTF競技会を通じてマイクロコントローラシステムのセキュリティ課題を研究する方法を提案し、技術分析と認知的視点を組み合わせて開発のライフサイクル全体を検討
  2. 二重課題分類フレームワーク:概念的課題(知識ギャップ)と実践的課題(ツール/リソース制限)を体系的に特定および分類
  3. 実証的発見
    • 概念的課題:権限分離、メモリ消去、スタックカナリアなどの基本的なセキュリティメカニズムの適用不足;プラットフォーム適応の困難;ハードウェア攻撃防御の認識の薄弱さ
    • 実践的課題:Rustなどのメモリ安全言語のサポート不足;高品質エントロピー源の欠如
  4. 実行可能な推奨事項:5つのカテゴリーの利害関係者(研究者、ベンダー、教育者、開発者、コンパイラメンテナー)に対して9つの具体的な推奨事項を提供
  5. データリソース:47チームの提出物(2023年から20個、2024年から27個)を分析し、22回の深層インタビューを実施

方法の詳細説明

タスク定義

研究目標は、マイクロコントローラシステムの安全な開発における課題を特定および理解することであり、具体的には以下を含みます:

  • 入力:eCTFチーム提出物(ソースコード、ドキュメント、構築ツール)+参加者インタビューデータ
  • 出力:セキュリティ課題の分類、根本原因分析、改善提案
  • 制約:セキュリティ優先の競技環境に焦点を当て、参加者は初期段階のキャリア開発者

研究アーキテクチャ

1. 提出物分析(Submission Analysis)

データソース

  • 2023年:20チーム、TI TM4C123GXL開発ボード使用(ARM Cortex-M4F)
  • 2024年:27チーム、Analog Devices MAX78000FTHR開発ボード使用(ARM Cortex-M4 + RISC-V)

分析次元

  • 構築ツール:プログラミング言語、コンパイラ、最適化レベル、セキュリティコンパイルフラグ、リンカスクリプト属性
  • ソースコード:git diffを使用して変更を追跡、インラインアセンブリ、メモリ操作、乱数生成、タイミング関連コードを検査
  • 逆アセンブル:コンパイラ最適化がセキュリティ機能に与える影響を検証
  • 実行時分析:デバッグツールを使用して静的分析の不確実性を検証

主要チェックポイント

  • 権限分離(MPU設定)
  • メモリ消去実装(memset最適化問題)
  • スタックカナリア有効化
  • 非実行スタック設定
  • ハードウェア攻撃防御(サイドチャネル、故障注入、物理改ざん)
  • エントロピー源品質

2. 参加者インタビュー(Participant Interviews)

サンプル特性(n=22):

  • 教育背景:学部生12名、修士課程学生6名、博士課程学生4名
  • セキュリティコース経験:8名がセキュリティコース背景なし
  • 組み込み経験:14名が組み込み開発経験あり

インタビュー設計

  • 半構造化インタビュー、所要時間42~107分(平均69分)
  • 提出物分析から反復的に出現する問題に基づく質問
  • 認知(知識、誤解)と意思決定(優先順位、トレードオフ)を探索

データ分析

  • Otter AIを使用して転記し、手動で校正
  • 3名の研究者による独立したオープンコーディング
  • コード本の反復開発:8つの主題、40のサブテーマ、278のコード
  • コーディング矛盾を協力して解決、正式な信頼性検査は不要

技術的革新点

  1. 二管齢下法:初めて大規模コード分析と深層インタビューを組み合わせ、「何か」と「なぜか」を明らかにする
  2. ライフサイクル全体の視点:設計ドキュメント→ソースコード→バイナリ→開発者認知から、脆弱性の進化を追跡
  3. エコシステム分析フレームワーク:問題が開発者だけでなく、コンパイラ、ベンダー、教育など複数の関係者に関連していることを特定
  4. 再現性:インタビュー資料とコード本を公開(https://github.com/CactiLab/eCTF-User-Study-Material)

実験設定

データセット

競技データ

  • 2023 eCTF:リモートキーレスエントリシステム(車両+キーフォブファームウェア)
  • 2024 eCTF:インスリンポンプシステム(コントローラ+血糖監視+ポンプアクチュエータ)
  • 参照設計:C言語で記述、機能要件を満たすがセキュリティ機能なし

脅威モデル

  • デバイスおよび通信チャネルへの物理的アクセス
  • ソースコードへのアクセス(鍵/フラグを含まない)
  • ソフトウェア、ネットワーク、ハードウェア攻撃

評価指標

定量指標

  • セキュリティメカニズム実装率(権限分離、スタックカナリア、メモリ消去、非実行スタック)
  • ハードウェア攻撃防御率(サイドチャネル、故障注入、非同期改ざん)
  • エントロピー源使用分布

定性指標

  • インタビュー主題飽和度
  • 認知的誤解のタイプ
  • 意思決定優先度パターン

比較方法

既存研究との比較:

  • ファームウェア分析研究(FirmXRay、Nino et al.、Tan et al.):技術分析のみ、本論文は認知次元を追加
  • BIBIFI研究:マイクロプロセッサシステムに焦点、本論文はマイクロコントローラ固有の課題に焦点
  • Rust採用研究(Fulton et al.、Sharma et al.):本論文は組み込み固有の制約を組み合わせる

実装詳細

  • 3名のPhDレベルの組み込みセキュリティ研究者による協力分析
  • 著者チームが参加したが、ケーススタディから除外
  • IRB免除承認
  • 参加者1人あたり50ドルの補償

実験結果

主要結果

概念的課題統計

1. セキュリティメカニズム実装率(図1)

メカニズム未実装欠陥のある実装有効な実装
権限分離100%0%0%
非実行スタック87.2%8.5%4.3%
メモリ消去72.3%6.4%21.3%
スタックカナリア93.6%2.1%4.3%

2. ハードウェア攻撃防御率(図2)

  • 何らかの防御:17/47(36.17%)
  • サイドチャネル防御:13/17(76.47%)
  • 故障注入防御:9/17(52.94%)
  • 非同期改ざん防御:7/17(41.18%)

3. エントロピー源使用(図3)

  • 2023年:25%エントロピーなし、25%ハードコード/欠陥、45%単一エントロピー源、5%混合エントロピー源
  • 2024年:22.2%エントロピーなし、14.8%ハードコード/欠陥、55.6%単一エントロピー源、7.4%混合エントロピー源

実践的課題統計

Rust採用率の低下

  • 2023年:5/20(25%)チームがRustを使用
  • 2024年:2/27(7.4%)チームがRustを使用
  • 主な理由:2024年のSDKサイズが大きく、Rust+C混合コンパイルがフラッシュメモリ制限を超過

アブレーション実験

メモリ消去コンパイラ最適化ケース

ケースT12(リスト1):

  • memsetを10回使用して機密データを消去
  • コンパイラ最適化により5回の呼び出しを削除(AES鍵消去を含む)
  • 開発者インタビューは以下を示しています:コンパイラが最適化することを完全に知らない

有効な実装ケース

  • T20/T15:Monocypherライブラリのcrypto_wipe(volatileキーワード)を使用
  • T14/T02:Rust zerializeライブラリを使用
  • T18:最適化を防ぐためのカスタムインライン関数

スタックカナリア設定の問題

  • 2/47チームのみがコンパイラフラグを有効化
  • ランダムカナリア値を初期化したチームなし(デフォルト固定定数)
  • 実際のファームウェアと一致:<0.2%有効化率(Xi et al.研究)

ケース分析

ケース1:非実行スタック誤解(T18、T13)

誤った実装

// T18のリンカスクリプト
MEMORY {
    FLASH (rx) : ORIGIN = 0x00008000, LENGTH = 0x00038000
    SRAM (rw) : ORIGIN = 0x20000000, LENGTH = 0x00008000  // rwのみマーク
}

問題

  • ELFヘッダ属性のみを変更し、ファームウェア初期化時にMPUを設定しない
  • インタビューは以下を明らかにしています:21/22の参加者がコンパイラフラグで十分だと考えている

正しい実装(4チーム):

  1. MPUを有効化
  2. スタックメモリ領域をXN(実行禁止)として設定
  3. その領域を有効化

ケース2:Rust unsafeブロック乱用(T11)

問題:C SDK関数を呼び出すためにunsafeブロックを広く使用 理由:段階的開発モデル、コードの一部をRustに段階的に移植することを許可 対比:C18-T08はunsafeを低レベルハードウェア相互作用層に制限

ケース3:エントロピー源組み合わせ(T14)

戦略:4つのエントロピー源を混合

  • RTCとCPUクロックドリフト
  • デバイス固有シード
  • 内部温度ADC
  • 初期化されていないSRAM(実際には無効)

効果:1つのソースが失敗しても、組み合わせシードは予測不可能なまま

実験的発見

観察1:コンパイラ最適化は言語仕様を超えたセキュリティ状態を破壊する可能性があります(メモリ消去など)

観察2:組み込み固有の攻撃に関する知識ギャップは、防御実装を妨げる主な要因です

観察3:Rust決定要因:習熟度、ベンダーサポート、ライブラリサポート、学習曲線

観察4:Rustユーザーが直面する課題:no_std コンパイル、HAL実装、unsafe管理

観察5:自動ハードウェア記述子からRust構造体への変換はHAL開発を加速できますが、忠実度とセキュリティはさらなる研究が必要です

観察6:マイクロコントローラのエントロピー源は限定的ですが、複数の利用可能なソースを組み合わせることで、ランダム性の堅牢性を効果的に向上させることができます

関連研究

CTF研究

  • 教育指向:Vigna et al.(iCTFフレームワーク)、Vykopal et al.(教育ツールとしてのCTF)
  • 課題分析:Crispin et al.(Defcon CTF経験)、Chung et al.(組織的な落とし穴)
  • 本論文の区別:提出物分析とインタビューを初めて組み合わせ、教育効果ではなくセキュリティ開発課題に焦点

セキュアソフトウェア開発とユーザー研究

  • BIBIFI研究(Parker et al.、Ruef et al.、Votipka et al.):マイクロプロセッサシステム開発を分析、ほとんどの脆弱性は失敗ではなく誤解に由来することを発見
  • Rust採用研究
    • Fulton et al.:高度な開発者の視点、学習曲線とライブラリサポートの問題を特定
    • Sharma et al.:6000以上の組み込みRustプロジェクトを分析、エコシステムサポート不足を明らかに
  • 本論文の貢献:マイクロコントローラ固有の制約に焦点を当て、技術的および認知的な二重視点を組み合わせる

マイクロコントローラシステムセキュリティ

  • 防御技術:権限分離(Kage、ACES、EPOXY)、CFI(μRAI、Silhouette、SHERLOC)、ランダム化(fASLR、HARM)
  • ファームウェア分析:FirmXRay、Nino et al.、Tan et al.(実際のファームウェアの静的分析)
  • 本論文の独自性:開発者の認知的課題を初めて研究、技術的ソリューションのみではなく

結論と議論

主要な結論

  1. エコシステム責任:セキュアな実装は開発者、教育者、研究者、ベンダーの共同責任です
  2. MCU開発の独特なニーズ
    • プラットフォーム特性(ハードウェア、コンパイラ、ツールチェーン)の深い理解
    • コンパイラの不透明性と反直感的な動作への対応
    • 物理的アクセスがもたらす独特の脅威からの防御
  3. 教育ギャップ:既存のカリキュラムは、組み込み固有の課題に対応するために学生を十分に準備していません
  4. 3つの主要な概念的課題
    • 基本的なセキュリティメカニズムの適用不足
    • プラットフォーム適応の困難
    • ハードウェア攻撃防御の認識の薄弱さ
  5. 2つの主要な実践的課題
    • メモリ安全言語のサポート不足
    • 高品質エントロピー源の欠如

限界

  1. 外部妥当性
    • eCTFは競技環境であり、ゲーミフィケーション要素が行動に影響を与える可能性があります
    • 参加者は主に学生/初期段階の開発者であり、経験豊富な産業環境への一般化は制限されています
    • 著者は発見が実際の脆弱性の保守的な下限を表していると考えています
  2. 研究範囲
    • チーム協力のダイナミクスと競技構造を含まない
    • 概念/実践分類は重複する可能性があります
  3. データ制限
    • 自己報告データは社会的望ましさバイアスの対象となる可能性があります
    • サンプルサイズ(n=22)は比較的小さい
    • 教育背景の詳細なデータが不足しており、教育提案は予備的です
  4. 脅威モデル
    • 競技脅威モデルはすべての実際のシナリオを完全に反映しない可能性があります

今後の方向性

  1. 教育研究:既存の組み込みセキュリティコースを体系的にレビューし、カリキュラムギャップを特定
  2. 経験的比較:経験豊富な専門家が同様の課題に直面しているかどうかを調査
  3. ツール開発
    • 権限分離の自動化ツール
    • コンパイラセキュリティ最適化検証ツール
    • Rust HAL開発の簡素化ツール
  4. ベンダーサポート
    • 完全なRust SDKまたはRust-Cバインディング
    • エントロピー源の透明性とAPI標準化

深層評価

利点

  1. 方法論的革新
    • コード分析と深層インタビューを初めて組み合わせ、「何か」と「なぜか」を明らかにする
    • ライフサイクル全体の視点から脆弱性の進化を追跡
    • 強い再現性(データとコード本を公開)
  2. 実証的厳密性
    • 47チームの提出物の完全な分析
    • 22回の深層インタビュー(平均69分)
    • 三角測量検証(コード、ドキュメント、インタビュー、逆アセンブル)
    • 質的分析は成熟した方法に従う(Saldaña、Clarke & Braun)
  3. 実用的価値
    • 5つのカテゴリーの利害関係者に対する9つの具体的な推奨事項
    • システム的障壁を特定(個人的な失敗のみではなく)
    • 実際のファームウェア脆弱性率との一致、発見の代表性を検証
  4. 洞察の深さ
    • コンパイラ最適化がセキュリティを破壊する可能性を明らかに(観察1)
    • 知識ギャップが防御実装の主な障壁であることを特定(観察2)
    • Rust採用の多次元的課題を発見(観察3-5)
  5. 執筆の明確性
    • 構造化分類(概念対実践)
    • 豊富なケースとコード例
    • 明確なグラフ(図1-3)

不足

  1. 一般化性の制限
    • 競技環境と産業実践の間に相違がある
    • 参加者の経験レベルは比較的初級
    • 2年間のデータのみ(2023-2024)
  2. 因果推論
    • 競技圧力対知識ギャップの影響を完全に分離できない
    • セキュリティコース背景の有無による体系的な差異を比較していない
  3. 定量分析の深さ
    • 統計的有意性検定の欠如
    • 異なる要因の相対的重要性の定量化なし
    • インタビューサンプルサイズが小さい(n=22)
  4. ツール評価
    • 提案された推奨事項の実際の効果をテストしていない
    • 改善措置を検証する介入実験の欠如
  5. カバレッジ範囲
    • ARM Cortex-Mプラットフォームのみに焦点
    • RTOS環境を含まない(ベアメタルのみ)
    • チーム協力要因を深く探索していない

影響力

  1. 学術的貢献
    • 組み込みセキュリティユーザー研究の新しいパラダイムを開拓
    • 教育改革に実証的根拠を提供
    • コンパイラとツールチェーンの改善方向を特定
  2. 実用的価値
    • ベンダーはSDKとドキュメントを改善できます
    • 教育者はカリキュラムを調整できます
    • 開発者は一般的な落とし穴を回避できます
  3. 政策的意義
    • 組み込み開発標準にセキュリティを組み込むことを支持
    • 規制当局に脆弱性の根本原因分析を提供
  4. 再現性
    • 公開資料により検証と拡張が容易
    • 方法は他のCTFまたは開発競技に適用可能

適用シーン

  1. 教育
    • 組み込みシステムセキュリティコースの設計
    • CTF競技の組織と評価
    • 開発者トレーニング資料
  2. 産業
    • IoTデバイスセキュリティ監査
    • セキュアソフトウェア開発ライフサイクル(SDL)の改善
    • ツールチェーンの選択と設定
  3. 研究
    • コンパイラセキュリティ最適化
    • メモリ安全言語の組み込み適応
    • ハードウェア攻撃防御の自動化
  4. 標準制定
    • 組み込みセキュリティベストプラクティスガイド
    • ベンダーSDKセキュリティ要件

9つの核心的推奨事項の要約

番号利害関係者推奨内容
R1研究者/教育者/ベンダー権限分離採用の障壁を研究、自動化ツール開発、サンプルプロジェクト提供
R2開発者/研究者/コンパイラ検証済みのゼロメモリプリミティブを使用、注釈スキーム設計、コンパイラは消去最適化警告を提供
R3研究者/ベンダーより効果的なスタックカナリアメカニズムを設計、ツールチェーンは有効化オプションを提供
R4研究者/ベンダーコンパイラ/リンカ拡張を探索してメモリ属性を自動実行、属性を原始バイナリに保持
R5コンパイラ無効なアーキテクチャオプションに警告、同等のセキュアな代替案を提供
R6研究者/ベンダー/教育者ハードウェア保護統合方法を探索、異常検出サポートを改善、コースにハードウェア攻撃シナリオを含める
R7研究者/ベンダー/教育者マイクロコントローラ上のRustの課題を強調(unsafe、低レベル相互作用)
R8研究者/ベンダーハードウェア記述子変換を自動化、不安全なunsafe使用を特定、完全なRust SDKを提供
R9開発者/ベンダー単一エントロピー源を回避、RNGを厳密にテスト、ベンダーはTRNG実装詳細を公開

参考文献(精選)

  1. 権限分離
    • 16 Kage (Du et al., 2022)
    • 10 ACES (Clements et al., 2018)
    • 11 EPOXY (Clements et al., 2017)
  2. メモリ安全性
    • 18 Rust採用研究 (Fulton et al., 2021)
    • 52 組み込みRust課題 (Sharma et al., 2024)
  3. ファームウェア分析
    • 65 FirmXRay (Wen et al., 2020)
    • 42 IoTファームウェアセキュリティ (Nino et al., 2024)
    • 56 Cortex-Mシステム調査 (Tan et al., 2024)
  4. ユーザー研究
    • 46 BIBIFI (Ruef et al., 2016)
    • 62 開発者セキュリティ誤解 (Votipka et al., 2020)

総合評価:これは組み込みセキュリティユーザー研究の高品質な論文であり、革新的な二管齢下法を通じてマイクロコントローラシステムの安全な開発の深層的な課題を明らかにしています。その最大の価値は、技術分析と開発者認知を組み合わせ、教育、ツール、実践の改善のための実行可能なパスを提供することにあります。一般化性の制限にもかかわらず、その発見と実際のファームウェア脆弱性率の一致は、結論の信頼性を高めています。本研究は組み込みセキュリティコミュニティのための新しい研究パラダイムを確立し、後続の研究による検証と拡張の価値があります。