# Red Team 報告：Cyber Blast Radius モデルと記事草稿（版 0.9）への 9 視点からの攻撃

対象：記事草稿（版 0.9、2026-10-06 時点）、`model/*.py`、`data/assumptions.csv`、`results/*`、`research/grid_sensitivity_calibration.md`。
方法：視点 1〜3 と 4〜6 は、記事・モデルを読み取り専用で渡した独立の査読役（二組）が作成した。視点 7〜9 は著者側が同じ基準で追加した。各指摘には (a) 何が弱いか、(b) 深刻度（致命的／重大／軽微）、(c) 耐えるために必要な変更、を付す。対応は `final_response_matrix.md` に記す。

総括を先に書く。草稿の見出し数字（A 35 GW 対 B 117 MW、系統リスク「5 桁」差、モンテカルロで B が低いのは 99%）は、**A の全国制御面の侵害と B の 1 ドメインの侵害を比べたもの**で、B 側の攻撃面の数（100 ドメイン＋ベンダーのクラウド／OTA／ファームウェア系統）がリスクに掛かっていなかった。攻撃面を数え、ベンダー経路を B の基準に含めると差は 5 桁から 0.5〜1 桁に縮む。残った差を支えていた「ファームウェア侵害を生き延びるハードウェア強制エンベロープ」は PCS として定義されていなかった。以下はその詳細である。

---

## 視点 1：サイバーセキュリティ研究者

1-1. **侵害単位の選び方（致命的）。** A は全国制御面（35 GW）、B は 1 ドメイン（117 MW）で見出し値を作っている。B でも機器ファームウェアは首位ベンダーの OTA を共有し、同じ侵害単位（ベンダー）で測れば B5a＝10,500 MW、x＝7.8、S≈1。`architecture_comparison.csv` の B 行は `cbr_eff_vendor_mw=117` だが、これは `evaluate_architecture` がベンダー侵害に**ドメイン権限上限 500 MW を誤って適用**しているため。`grid_sim.py` の B5a/B5b は適用せず 10,500／3,518 MW を出しており、同一パッケージ内で 30〜90 倍ずれている。→ (c) B のリスクをドメイン経路・ベンダー経路の全チャネルで定義し直し、ベンダー経路に上限を適用しない。

1-2. **ρ を機器の割合として扱っている（重大）。** `local_enforce ρ=0.95` は「5% の機器が漏れる」というランダム故障として掛けられている。実際のバイパスは「ある FW 系統全体に効く脆弱性があるか」のベルヌーイで、クラス相関する。RDI の 9 機種全不適合 [R07] はむしろ ρ≈0 を示唆する。`grid_sim.py` は漏れた 5% もランプ制限付きとして扱っている。→ (c) 非強制分はステップ、強制分はランプとして系統モデルへ別々に入れる。

1-3. **エンベロープ e＝0.3 が「一命令あたり」で定義されている（重大）。** 累積上限がなければ、ランプ 20%/分で 5 分後に 100% に達する。モデルは e を恒久的な上限として掛けており、定義と式が一致しない。→ (c) e を「遠隔命令で到達し得る最低運転点（床）」として定義し直す。

1-4. **「ハードウェア強制エンベロープ」が PV の削減攻撃に対して物理的に成立しない（致命的）。** PV インバータでハードウェアができるのは遮断・最大出力制限・通信モジュールの物理遮断であり、「可用電力の 70% 以上を出し続けさせる」には MPPT 情報が要り、それはソフトである。現実的な実装は独立 MCU 上の別ファームウェアで、それは第二のソフトウェア・ドメインである。→ (c) 部品構成（独立 MCU・独立計測・鍵分離・write-protect）で定義し、PV と蓄電池／EV で実現性を分けて書く。

1-5. **潜伏型攻撃を数えていない（重大）。** 出力制御スケジュールへ将来時刻の 0% を書き込んで通信を切る、ride-through 設定を数週間かけて書き換えて次の自然擾乱で一斉脱落させる（南オーストラリア 2016 と同型 [R05]）、機器時計をずらす。Solarman 事案の実体は「設定変更」だった [I01]。30 秒窓の CBR はこれらを 0 MW と評価する。→ (c) 「設定権限で将来に生じる同時変化」を別 KPI 化し、スケジュール内容にもエンベロープを課す。

1-6. **p＝0.01/年の根拠が観測頻度と合っていない（重大）。** 2024〜25 年に制御到達可能な脆弱性の公表は年数件（P(vuln)≈0.5〜1/年）、系統効果を意図した行使は 0 件。P(vuln)×P(exploit)×P(intent) に分解せず単一の p を全階層に当てている。→ (c) p を分解して階層別の分布を置くか、分解できないことを限界として書く。

1-7. **ドメイン間の独立性と β、復旧後の再攻撃がない（重大）。** `correlated_failure.py` はドメイン間を完全独立としている。100 社が同じクラウド事業者・IdP・CA を使う現実の β が入っていない。→ (c) ドメイン間 β を入れ、B4「10/100 同時」を分布にする。

## 視点 2：系統運用者（TSO／DSO）

2-1. **UFLS 整定・較正点・自モデル出力の三者矛盾（致命的）。** 本文は「49.0／48.7／48.4 Hz」「3,000 MW で負荷遮断第 1 段」「2,660 MW→49.90 Hz」。コードは 48.5／48.2／47.9 Hz、自モデルでは 3,000 MW→48.55 Hz・遮断 0 MW、UFLS 初動は 4,000 MW。49.90 Hz は 400 GW 欧州系統の値。Dabrowski 点（x=1.5→49 Hz 以下）は自モデルで再現できない。→ (c) 本文・CSV・コードの整定を一致させ、較正表に「どの系統モデルで再現したか」を書く。

2-2. **x＝ΔP/FCR は系統間で転用できる十分統計量ではない（重大）。** 欧州は FCR 0.75%、基準系統は 3%。同じ x=1 でも ΔP/S は 4 倍違う。欧州 2 点と欧州研究 2 点で x₀=1.7 を決めて日本 45 GW 系統に適用している。北海道点の P_ref＝155 MW は任意で、GF を担っていた苫東厚真自体が脱落ユニット。→ (c) 東日本の実事象で較正するか、限界として書く。

2-3. **東日本の実データを使っていない（重大）。** 2022-03-16 福島県沖地震：約 6 GW 級の脱落、UFR で約 2 GW 強遮断、崩壊せず。本モデルでは S(≈5)=1 で「負荷遮断」。これを「広域障害」に数えるなら R=p×S は「UFLS が一段でも動く確率」であり、「系統が機能を失う確率」ではない。→ (c) S を「UFLS 以上」と明示し、2011・2022 を較正点に加える。

2-4. **日本の防御手段と H・FCR の連成を無視（重大）。** 周波数変換設備経由の緊急融通、揚水の揚水運転遮断、RoCoF リレーがない。A2「35 GW 脱落」時には同期機が 10 GW しかなく H は 3.5 s を保てない。→ (c) 限界として明記（本稿では連成モデルは実装しない）。

2-5. **設置容量ベースの CBR は可用電力を無視（重大）。** PV は晴天正午で定格の 60〜70%、夜間 0。定格で数えると A を 1.5〜3 倍過大評価する。→ (c) 限界として明記し、蓄電池・EV 中心フリートでは妥当と書く。

2-6. **エンベロープは一般送配電の出力制御・緊急バックストップと両立しない（致命的、日本適用）。** 一般送配電事業者は法的に全 PV を出力ゼロまで制御でき、その指令サーバーは reach≈1 の単一制御面（モデル A または H）。九州の春の晴天日は PV の 50% 超を数十分で下げる。e=0.3 では不可能。→ (c) 一般送配電の正規指令チャネルを B のモデルに明示し、スケジュール命令と即時命令の扱いを分け、その CBR を測る。

2-7. **「セル型 10,000 ドメイン」は運用上の実体がない（軽微）。** 10,000 社の認証基盤を独立運用する費用・監視の分断を評価していない。→ (c) C は理論的下限と明記する。

## 視点 3：DERMS ベンダー／クラウドアーキテクト

3-1. **モデル A が 2020 年以前の設計で固定されている（致命的、公平性）。** 実運用の DERMS には、テナント分離・RBAC・スコープ付き API キー・レート制限・多者承認・段階配信（1%→10%→100%）・HSM 保持鍵の命令クォータ・TSO スケジュールとの乖離を止める独立セーフティモニタ（＝サーバー側エンベロープ）がある。A＋サーバー側総量上限を一度も評価していない。→ (c) A+（サーバー側上限＋段階配信）を追加し、「API 認証情報の侵害」と「バックエンド全体の侵害」で p を分ける。

3-2. **A の機器が「エンベロープなし・自律生存 0・通信依存全面」は事実に反する（重大）。** 日本の出力制御 PCS は A の構成でも通信断時に最後のスケジュールで運転し、ride-through・再接続ランプを持つ。同じ PCS が B では「あり」、A では「なし」と数えられている。→ (c) 機器の既存機能は A・B 共通とし、B 固有の差分だけを評価する。

3-3. **線形指標の優位が現行 results で消えている（致命的、本文と結果の不一致）。** フリート年次の期待影響容量は A_cert＝117 MW/年、B＝100×1.17＝117 MW/年で同値。「期待影響容量で B が低いのは 99.84%」は攻撃面を数えないことで生じた数字。→ (c) 「分割は期待影響容量を下げない。下げるのはエンベロープと到達率だけ」と明記する。

3-4. **「A が勝つ条件」が results と逆（重大）。** 更新後の MC では A 勝ちの 7 割は「B の Blast Radius が調整力内でも、攻撃面が n 倍になって負ける」ケース。「A は B が機能していないときにだけ勝つ」は偽。→ (c) 書き直す。

3-5. **100 独立ドメインの運用費・成熟度差が p に反映されていない（重大）。** 中小アグリゲータの SOC・鍵管理は大手 DERMS と同じ p=0.01 ではない。→ (c) 限界と感度（p の幅）で扱う。

3-6. **「分散は修正配布が遅い」と「ベンダー OTA が共通原因」は両立しない（軽微）。** B でも FW 配布はベンダー経由で、復旧の配布経路は A と同じ。→ (c) 復旧を FW 配布・鍵再発行・現地訪問に分解して書く。

## 視点 4：PCS メーカー（インバータ設計者）

4-1. **「ハードウェア強制の ΔP/Δt 制限」は 5 kW PCS に存在しない部品（致命的）。** 出力は DSP ファームウェアが電流指令値を決める。スルーレート制限と下限クランプはそれ自体がファームウェア。系統連系保護リレーは**遮断**しかできず、遮断は 100% のステップでエンベロープの反対物。「リレー」でハード的にできるのは「遠隔停止コマンドというクラスを物理的に無効化する」ことであって「量」ではない。→ (c) ハードウェア強制を (i) 遠隔停止・遠隔 OTA のクラス無効化、(ii) 独立監視 MCU による出力下限クランプ、(iii) 変化率制限（不可）に分解し、B5b を (i)+(ii) で再計算する。

4-2. **ハードの変化率制限は雲の通過と FRT 要件に矛盾する（重大）。** PV は雲で数秒に 50% 変動する。ハード層は命令の出所を知り得ない。JEAC 9701 の FRT は電圧低下後の短時間復帰を求める。→ (c) ΔP/Δt をハード強制項目から外す。

4-3. **e の意味（基準・符号・機器種）が未定義（重大）。** 一命令あたりなら繰り返しで消える。定格比の絶対下限なら日射 40% の PV は 10% しか取れない。蓄電池は符号が変わる。→ (c) e を機器種別に「遠隔命令で到達し得る最低運転点」として定義する。

4-4. **既存の出力制御と両立しない（重大）。** 九州の出力制御は対象設備を出力ゼロまで下げる。e=0.3 の機器は不適合。スケジュール経路をエンベロープ外にすれば攻撃者もそこを通る。→ (c) スケジュール命令と即時命令を分け、スケジュール経路のエリア別上限と機器側 f/V チェックで両立案を書く。

4-5. **認証・費用の見積もりに根拠がない（軽微〜重大）。** 独立監視 MCU＋独立計測＋独立遮断駆動は BOM 数百円では収まらない。JET 認証は機種ごとの再試験。出力制限機能の試験規格は存在しない。→ (c) BOM と認証費を部品表レベルで出し、試験項目の不在を限界として書く。

4-6. **本当の共通原因は OTA であり、「100 ドメイン独立」は 8 ベンダーと両立しない（致命的）。** 配信系統が 100 系統独立になることはない。現実の B はドメイン 100＋OTA 8 系統（首位 15 GW）。B5a が B の基準ケース。日本では OEM 供給で firmware 系統シェアはブランドシェアより高い。→ (c) B の基準にベンダー経路を含めて主表を作り直す。

4-7. **30%／20%/分の出所（軽微）。** envelope_frac の出典 S06（§14a の 4.2 kW 下限）、ramp_limit の出典 S07（AEMO）は数値根拠ではない。→ (c) 「設計変数、根拠なし」と正直に書く。

## 視点 5：制御理論・リスク解析の研究者

5-1. **攻撃面の数が掛かっていない（致命的）。** `systemic_risk_domain = p × S(x_domain)`。B では制御面が 100 あるのに n が掛かっていない。フリート年次では 1−(1−pS)^100。線形指標 B/A＝(1−ρ(1−e))×p_reduction_cert＝0.335×3≈1.0。→ (c) 全指標をフリート年次で定義し直す。

5-2. **B のベンダー侵害にドメイン権限上限を適用している（致命的、コードの誤り）。** `tornado_B.csv` で n_vendors・vendor_top_share の swing が 0 になっているのはこのため。→ (c) ベンダー経路に上限を適用しない。

5-3. **x の定義が章ごとに違い、「12% シェア上限」はその揺れの産物（致命的）。** §6 は max(s·CBR/FCR, CBR/(FCR+FRR))、§13 表は FCR のみ・s=1、`vendor_share_limit.csv` も FCR のみ。§6 定義で x<1 を解くと 30.7%。→ (c) 定義を一つに固定し再計算する。

5-4. **自前の CCF シミュレーションが主張と逆の年次指標を出しているのに主表に出ていない（致命的）。** `ccf_summary.json`：FCR 超過の年次確率は monoculture 0.023、diverse+hardware 0.044（約 2 倍）。→ (c) 主表を全チャネル・年次で統一する。

5-5. **S(x) は較正ではなく推定確率への当てはめで、x=0.03 は 1.5 桁外挿（重大）。** 最小較正点は x=0.89。B の x=0.033 における S=7e-6 は k∈[2,4] で 3.7e-4〜1.3e-7 を振れる。→ (c) 「文献点への当てはめ」と改め、B の結果は x そのもので報告し、S を掛けた数字は k の範囲つきで出す。

5-6. **「1.2×10⁶」の有効数字（軽微）。** k 不確かさだけで ±1.7 桁。→ (c) 区間表記にする。

5-7. **MC の設計（重大）。** n_domains と authority_cap を独立に振るため B は試行ごとに別物になる。A だけ p_reduction_cert を受ける。→ (c) B の設計変数を固定し、不確実変数だけを振り、認証は両方に適用する。

## 視点 6：経済学者・規制当局

6-1. **失われる調整力の価値が数値化されていない（致命的）。** e=0.3 は到達 35 GW のうち 24.5 GW を遠隔不可にする。参加率 10〜30%・¥5,000〜10,000/kW·年で年 ¥120〜740 億の逸失。A の期待停電費用は p=0.0033/年×数兆〜十数兆円＝年 ¥100〜500 億。同じ桁。→ (c) 年額で並べる。

6-2. **誰が払うか、誰が得るかがない（重大）。** 部品費は所有者、認証費はベンダー、運用費はアグリゲータ、逸失は系統運用者と市場、便益は社会。全員が「上限を緩めたい」方向に揃う。→ (c) 負担の帰着表を加える。

6-3. **「首位ベンダー 12%」は数量割当であり競争政策と衝突する（重大）。** 執行には firmware 系統別の設置容量台帳が要る。→ (c) 「firmware 系統あたりの遠隔到達容量の上限」に置き換える（ベンダーは売ってよいが、同一鍵・同一 OTA で届く容量を分割せよ）。

6-4. **KPI の測定可能性（重大）。** ρ は試験で測れない。Autonomous Survival Time ≥24 h に試験法がない。→ (c) ρ を監査可能な二値属性（遠隔停止のクラス無効化、独立監視 MCU、OTA 分離）に分解する。

6-5. **NERC CIP・EU NCCS が既に同じ閾値を置いていることを過小に書いている（重大）。** CIP-002-5.1a は 1,500 MW（Medium）／3,000 MW（High）で「サイバー資産あたりの MW」等級を 2013 年から置いている。→ (c) 明記し、本稿の差分を「DER 配電側・機器側への適用」に限定する。

6-6. **日本最大の既存「単一制御面」を B の先例として引用している（重大）。** 出力制御サーバは一般送配電事業者ごとの単一配信点で、出力ゼロまでの権限を持つ。記事自身の分類では H。→ (c) 「出力制御サーバの到達容量を CBR として測る」を日本への提言の第一項目にする。

## 視点 7：配電現場・保守の技術者（著者側で追加）

7-1. **ρ は設置後に劣化する（重大）。** 独立監視 MCU の計測 CT の外れ、ジャンパの戻し忘れ、保守業者による「邪魔な保護の無効化」。現場では保護の無効化は日常的に起きる。→ (c) ρ の LOW を 0.8 に置く根拠として明記し、定期監査を KPI の運用条件に入れる。

7-2. **故障時の切り分けが難しくなる（軽微〜重大）。** 機器が上位命令を「修正」して実行すると、運用者は「なぜ指令通りに動かないか」を機器ごとに追う必要がある。拒否・修正の報告が標準化されていないと保守費が増える。→ (c) 拒否・修正の報告フォーマットを KPI の付帯要件にする。

7-3. **再接続の同時性（重大）。** 停電復旧時に数百万台が同時に再接続する問題は既存（IEEE 1547 のランダム遅延）だが、L5 の「段階的再受理」が実装されていないと復旧そのものが擾乱になる。→ (c) 復旧を限界として明記。

## 視点 8：規制当局（経済産業省・OCCTO 側、著者側で追加）

8-1. **現行の権限と義務との整合（重大）。** 一般送配電事業者には出力制御を行う権限と義務がある。機器が命令を「拒否」できる設計は、その法的義務の履行を妨げないか。→ (c) 拒否はスケジュール経路ではなく即時命令経路に限ること、スケジュール経路にはエリア別上限と機器側の f/V チェックを課す形で両立させる案を書く。

8-2. **閾値をどこに書くか（重大）。** 系統連系規程・出力制御ルール・容量市場要件・JC-STAR のどこに「到達容量の上限」を置くかで執行主体が変わる。→ (c) 既存制度への接続を項目ごとに書く。

8-3. **外国ベンダーへの差別と WTO/TBT（軽微）。** 到達容量の上限はベンダー国籍を問わない形で書けるが、運用上は特定国を狙う制度（リトアニア Art.733 [S10]）と混同されやすい。→ (c) 上限は国籍中立であることを明記。

## 視点 9：攻撃者（国家級の攻撃チーム、著者側で追加）

9-1. **エンベロープ内の振動攻撃（重大）。** 30% の範囲内で系統の固有振動数（0.1〜1 Hz の地域間振動）に合わせて出力を揺らせば、x<1 でも減衰を奪える。→ (c) 限界として明記。振動攻撃は本モデル外。

9-2. **低慣性の時刻を選ぶ（重大）。** 春の晴天休日の正午、需要が低く PV が高く同期機が少ない時刻に実行する。モデルの H=3.5 s・FCR 3% は平均値。→ (c) 最悪時刻ケースを限界として明記。

9-3. **測定自体を攻撃する（重大）。** 機器の周波数測定・電圧測定・GPS 時刻を偽装できれば、ローカル自律は誤った観測で誤った判断をする。→ (c) 独立監視 MCU の計測は主 MCU と独立であること、時刻同期に依存しない設計を要件に書く。

9-4. **設定チャネルを狙う（致命的、1-5 と同じ）。** 即時命令にエンベロープがあっても、設定（スケジュール・保護整定・時刻）にそれがなければ、攻撃者はそちらを使う。→ (c) 設定権限の到達容量を KPI 化する。

9-5. **復旧時を狙う（重大）。** 鍵失効後の再発行時、再接続時の同時性を狙う。→ (c) 限界として明記。

---

## 事実関係で誤り・誇張の疑いがあった記述

1. UFLS 整定と「3,000 MW で第 1 段」「2,660 MW→49.90 Hz」（上記 2-1）。
2. モンテカルロの数値（99.2%／96.8%／99.84%／A 勝ち 170）：攻撃面を数える前の値。
3. §14a EnWG の説明「遠隔で下げられる消費を 4.2 kW までに制限」：正しくは「4.2 kW（11 kW 超は 40%）を**下回らない**ことを保証」。削減量の上限ではなく残存量の下限。執行は Steuerbox/SMGW のソフトであり「ハードウェア強制の先例」にはならない。
4. 「攻撃者がまだ電力系統を目標にしていない」：ウクライナ 2015／2016（Industroyer）・2022（Industroyer2）、Volt Typhoon の米国電力事業者への事前侵入がある。正しくは「DER クラウドを経由した系統攻撃はまだ観測されていない」。
5. B5b「RoCoF≈0・契約内」：非強制 5% のステップとランプ制限の消失を無視。

## 「双方に公平」の約束に反していた箇所

1. 侵害単位の非対称（A は最上位、B は最下位近く）。
2. 機器既存機能の帰属（同じ PCS の ride-through・スケジュール継続を B にだけ数えた）。
3. 自前の反証データ（CCF の年次指標）が要旨・結論に出ていなかった。

## 判定（査読役二組の一致した見解）

草稿のままでは査読を通らない。理由は三つ。(1) 本文の中核数値が同梱の results と一致していない。(2) 比較が非対称で、「5 桁」はモデルの仮定の差であって構造の差ではない。(3) 系統側の較正が欧州 400 GW 系統の点を日本 45 GW 系統へ x だけで転用している。それでも核心の主張——「侵害確率を下げる努力と並行して、一認証情報・一ファームウェア系統の背後の MW を上限で縛れ」——は CIP-002／NCCS の延長として政策的に意味がある。**最重要の 3 変更**：(1) 全リスク指標をフリート年次・全チャネルで再定義し主表・要旨・MC を置き換える。(2) x の定義を一つに固定し、B5b・12%・4% を再計算する。S(x) は「文献点への当てはめ」と改める。(3) 「ハードウェア強制エンベロープ」を PCS で実装可能な原語に分解し、各要素の費用を年額で A の期待停電費用と並べる。
