Embedded Test 17 · セキュリティのブラックボックス — 守れているかを外から試す

Chapter 17

セキュリティのブラックボックス — 守れているかを外から試す

この章のゴール.

機能ではなく守りを外から検証する視点をつかむこと。攻撃面の洗い出し、秘密の漏れ・ 認証認可の欠落・通信の平文化・デバッグポートの開放・サイドチャネルまで、 これまでの観測技を「攻撃者の目」で使い直す。あくまで自分の機器の防御確認として扱う。

前提と姿勢. ここで扱うのは、自分(または明示的に許可を得た)機器の防御を確かめる行為である。 他者の機器・通信への無許可のアクセスや電波の不正送信は違法になりうる。合法な範囲(自己所有・ 許可済み・シールド環境)を必ず守ること。本章は「守れているかの確認」であって加害の手引きではない。

この章で使う既出の用語(定義は各リンク先). USB(01 章 2 節)、オラクル(01 章 8 節)、デバッグポート(01 章 2 節)、ハーネス(02 章 7 節)、電源(02 章 2 節)、UART(05 章 1 節)、GATT(09 章 8 節)、mitmproxy(11 章 4 節)、中間(11 章 3 節)、CAN(13 章 5 節)、キャプチャ(13 章 3 節)

1. セキュリティは「機能しないこと」を確かめる

普通のテストは「できるべきことができる」を確かめる。セキュリティテストは逆で、「できてはいけないことができない」を確かめる。生成 AI 製ファームは、認証や暗号化を「とりあえず省略」しがちで、平文の秘密や無防備な書き込み口が残りやすい。これまでの観測・注入技(03 章〜16 章)を、そのまま防御確認に使い回す。

守りは「できてはいけないことができない」を確かめる機器物理: デバッグ/UART/フラッシュ無線: BLE/Wi-Fi/サブGHz有線: USB/CAN秘密の漏れ(平文・べた書き)認証・認可の欠落更新: 署名検証3〜16 章の観測・注入技を「攻撃者の目」で使い直す(自己所有・許可の範囲で)
図17-1 攻撃面の地図。

2. まず攻撃面を洗い出す

守るべき境界と、外から触れる入口(攻撃面)を地図にする。13 章までの発見を集約する。

3. 秘密は漏れていないか

最も多く、最も基本的な確認。

4. 認証・認可は効いているか

5. 通信は保護されているか

6. サイドチャネルとフォールト — 高度な確認

配線や無線に載らない情報が、電力・時間・電磁波から漏れることがある。深入りは専門領域だが、入口だけ。

配線に載らない漏れ——電力・時間・電磁波から機器(暗号処理中)タイミング攻撃処理時間の差から電力サイドチャネル消費電流の波形からフォールト注入グリッチで処理を飛ばす高価な装置と専門知識を要するが、「そういう漏れ・飛ばしがありうる」と知って項目化する
図17-2 サイドチャネルとフォールト注入の入口。

これらは高価な装置と専門知識を要するが、「そういう漏れ・飛ばしがありうる」と知って設計・テスト項目に入れることが第一歩。

7. デバッグ面は閉じているか

8. 何をオラクルにするか

9. 手を動かす

攻撃面を洗い出す


この章のポイント