JPCERT Coordination Center

電子署名者 : JPCERT Coordination Center
DN : c=JP, st=Tokyo, l=Chuo-ku, o=Japan Computer
Emergency Response Team Coordination Center, cn=JPCERT
Coordination Center, email=office@jpcert.or.jp
日付 : 2019.03.25 12:01:24 +09'00'

制御システムセキュリティカンファレンス2019

Connected時代のセキュア機能安全

2019/02/15
株式会社 日立製作所 研究開発グループ
システムイノベーションセンタ セキュリティ研究部

甲斐 賢 CISSP, 情報学博士© Hitachi, Ltd. 2019. All rights reserved.

Contents
１. 章 背景と前提知識：機能安全とは
２. 章 機能安全の体系でサイバーセキュリティを扱うときの課題
３. 章 機能安全のサイバーセキュリティ拡張
４. 章 おわりに© Hitachi, Ltd. 2019. All rights reserved.

1

１. 章 背景と前提知識：機能安全とは© Hitachi, Ltd. 2019. All rights reserved.

2

１-１ 安全とは？機能安全とは？
安全性とは、システムが規定された条件の下で、⼈の⽣命、健康、財産またはその環境を危険にさらす状態に移⾏しない期待度合(JIS X 0134:1999)

リスク

危険な兆候の⽣起確率と、⽣起による不利な結末の関数
例︓電⾞が⼈をはねる

本質安全

リスクの原因を根源から排除する
例︓電⾞と⼈を構造的に分ける

機能安全

リスクの発⽣確率を機能的な⼯夫により許容可能なレベルにまで低減する
例︓電⾞と⼈を踏み切りで分ける© Hitachi, Ltd. 2019. All rights reserved.

3

１-２ ALARPの原則

ALARP: As Low As Reasonably Practicable
SIL: Safety Integrity Level

許容できないリスク、広く許容されるリスクを定め、その間のリスクを合理的に実⾏可
能な限り低減する
何をやっても危険
例︓近すぎる

例︓⼗分に遠い現実的な実践⼿法
＋リスク軽減⼿法＋
リスクとコストが均衡

リスクを低減する
要求レベル
SIL1
許容可能な領域(ALARP)

SIL2
SIL3
SIL4

何もやらなくても安全© Hitachi, Ltd. 2019. All rights reserved.

4

SIL: Safety Integrity Level
ASIL: Automotive SIL

１-３ 求められる安全度水準の例

⼈を危険にさらすほど、⾼い安全度⽔準 (SIL) が⽬安として要求される
⾃動⾞

鉄道システムIEC62278
EN50126

建設機械

エンジン ASIL B ブレーキ ASIL D

運⾏管理 SIL 2

信号 SIL 4

操作 SIL 2 操舵(公道) SIL 3

原⼦⼒プラント

⽣活⽀援ロボット

ISO26262

IEC61513
SIL3

プロセス産業

医療装置
IEC62304
IEC60601
SIL 2ISO13482
SIL3エレベータ
IEC61511
SIL 2ISO15998

電化製品
ISO22201
SIL2ドリル 芝刈り機

IEC60335-1
Annex R
SIL 2

© Hitachi, Ltd. 2019. All rights reserved.

5

１-４ ランダム故障とシステマティック故障
ランダム故障は、その予知は不可能であり、いつかは必ず起きる
システマティック故障は、何らかの原因があれば確定的に起きる(原因を除去できれば起きない)

故障 (failure)

以降「ランダム故障」と呼ぶ

要求を実⾏する能⼒が、そのアイテムになくなること。(ISO 13489-1)

偶発的HW故障 (random HW failure)

HWの劣化機構に伴う偶発的故障。(IEC 61508-4)

リリース後にいつかは必ず起きる

以降「システマティック故障」と呼ぶ

系統的故障 (systematic failure)

設計変更、製造⼯程、運転⼿順、⽂書の変更によってのみ除去できる決定的故障。(IEC 61508-4)

原因を除去できればリリース後には起きない© Hitachi, Ltd. 2019. All rights reserved.

6

１-５ 故障に対する “Avoidance” と “Control”
ランダム故障に対して、Avoidanceは無意味、Controlのみで対処
システマティック故障に対して、AvoidanceとControlの両⽅で対処
発⽣源

ランダム故障システマティック故障
スライド#1-7

Fault Avoidance× Avoidance
対処⽅策

Fault Control

故障が起きないように、事前に回避するための⽅策・技法を⽤いる
スライド#1-6

何らかの故障が発⽣しても、安全機能が喪失しないか、あるいは危険な状態にならないようにする

Fault Control

参考︓https://apac.tuv.com/jpblog/iec615081-1

同左© Hitachi, Ltd. 2019. All rights reserved.

7

１-６ ハードウェアに対するFault Control
冗⻑性、多様性によって、発⽣確率を「論理的」に下げることができる■コンポーネントとして発⽣確率を下げる（ISO 13849参考）
カテゴリ2

パフォーマンスレベル
カテゴリB,1

カテゴリ3,4

発⽣頻度＞

発⽣頻度＞

■システムとして発⽣確率を下げる
直列システムP1

P2

並列システム…

Pn

P2
全箇所が故障しなければ全体は障害にならない…

1箇所でも故障すれば全体が障害になる

発⽣
頻度＞

P1Pn
© Hitachi, Ltd. 2019. All rights reserved.

8

１-７ ソフトウェアに対するFault Avoidance
SILに応じてふさわしいAvoidanceが「経験的」に定められている

デザインレビュー
ブラックボックステスト
関数カバレッジ100%
コーディング規約
モジュール化
構造化
モジュール規模制限
構造化図表法

データフロー解析
制御フロー解析
デザインレビュー
試験管理/⾃動化
境界値テストブラックボックステスト
C0カバレッジ100%
Goto⽂/暗黙型変換禁⽌
認証済コンパイラ
コーディング規約
準形式⼿法(UML等)
モジュール化
構造化
情報カプセル化
リアルタイム性保証
モジュール規模制限
構造化図表法

数値誤差の評価
コードインスペクション
データフロー解析
制御フロー解析
デザインレビュー
モデルベーステストケース
試験管理/⾃動化
境界値テストブラックボックステスト
C1カバレッジ100%
割込/ポインタ/再帰の制限
動的変数禁⽌Goto⽂/暗黙型変換禁⽌
認証済コンパイラ
コーディング規約
防衛的プログラミング
準形式⼿法(UML等)
モジュール化
構造化
コードメトリクス
静的リソース配分
縮退動作
障害検出(多重化)
情報カプセル化
リアルタイム性保証
モジュール規模制限
構造化図表法

SIL1

SIL2

SIL3

検証(静的解析)検証(テスト)
⾔語/コーディング基準/サポートツール
詳細設計/実装アーキテクチャ設計
参考︓IEC 61508-3• 定量的なSILにふさわしい厳しさの技法が選択されている。
• 対応するSILレベルに応じて実施すべき技法が増える。
SILが上がるほど対応は困難
⼀部Fault Controlあり© Hitachi, Ltd. 2019. All rights reserved.

9

２. 章 機能安全の体系でサイバーセキュリティを扱うときの課題© Hitachi, Ltd. 2019. All rights reserved.

10

２-１ 発生確率を見積る難しさ
発⽣確率を⾒積もる開発時に、運⽤時の発⽣確率を⾒積もれない
サイバーセキュリティは「開発の前提条件」に対して明らかになるリスクが次第に増える
ところが、故障リスクと違う機能・性能に影響ある場合、追加の対応が必要

セキュリティ性能
明らかになったリスク
セキュリティ
リスク

開発の前提条件

故障
リスク

開発中

量産開始

運⽤中
© Hitachi, Ltd. 2019. All rights reserved.

11

２-２ ゼロデイ脆弱性というブラックスワン(※)※めったに起こらないが、壊滅的被害をもたらす事象のこと。

いつ、誰が、あらたな脆弱性を⾒つけるのかは、誰にも分からない
最近のブラックスワン

EternalBlue

Heartbleed(Windows脆弱性)(OpenSSL脆弱性)

Meltdown/Spectre

Shellshock(Intel CPU脆弱性)(Bash脆弱性)

脆弱性のライフサイクル

発⾒

パッチ公開

未発⾒

無対策

誰も脆弱性に気付いていない

攻撃者は脆弱性に気付くが、対策⽅法なし（ゼロデイ攻撃）

パッチ適⽤

対策
未適⽤

対策済

脆弱性をふさぐ対策が公表されるも未適⽤脆弱性をふさぐ対策を適⽤済み壊滅的な被害を出す期間© Hitachi, Ltd. 2019. All rights reserved.

12２-３ 安全のなかでサイバーセキュリティをどこまで考えているか
安全を脅かす原因・脅威のひとつではあるが、サイバー攻撃は「⾒て⾒ぬふり」
安全を脅かす原因、脅威•••••••機器のハード故障・劣化、ソフトウェアのバグ
地震、雷、台⾵破壊、ハッカー（厳密にはクラッカー）、テロ、なりす
まし、盗聴、などの⼈間の悪意ある⾏動
設計外の負荷、通信の輻輳などの過負荷⼤規模化、複雑化、ブラックボックス化などの複雑性
時代（年代ギャップ、バージョンアップによるギャップ）、⽂化（異⽂化ギャップ）、などに起因するコミュニケー
ション不⾜
環境変化（景気の変化、社会の変化、時代の変化など）

機能安全ISO 26262 2 nd ed→サイバーセキュリティ
SAE(※) J3061を参照まで※SAE:⽶国⾃動⾞技術会
IEC TC65/WG20→機能安全IEC 61508とシステムセキュリティIEC 62443
を共通に利⽤するガイドランを提供

出典︓向殿政男、安全設計の基本概念、p38、2007年© Hitachi, Ltd. 2019. All rights reserved.

13

３. 章 機能安全のサイバーセキュリティ拡張© Hitachi, Ltd. 2019. All rights reserved.

14

３-１ 着目するのは、発生確率から攻撃成功確率へ
サイバー攻撃の発⽣確率は⾒積もれなくても、攻撃成功確率は⾒積もれる: security function
 : attack path

Successful!
Risk offunctions

発⽣確率

P(Attack)

攻撃成功確率

Vehicle & HumanP(Success | Attack)© Hitachi, Ltd. 2019. All rights reserved.

15

Se-SIL: Security enhanced SIL

３-２ サイバー攻撃に対する対処方策

脆弱性に対するAvoidanceと、攻撃を成功させないControlとの組合せ
発⽣源

故障
ランダム故障システマティック故障

Fault Avoidance× Avoidance
対処⽅策

効果

故障が起きないように、事前に回避するための⽅策・技法を⽤いる

サイバー攻撃脆弱性に対するAvoidance

サイバー攻撃が成功しないように、事前に回避するための⽅策・技術を⽤いる
Se-SIL拡張１

攻撃を成功させないControl

Fault Control

何らかの故障が発⽣しても、安全機能が喪失しないか、あるいは危険な状態にならないようにする

Fault Control
同左

サイバー攻撃が成功しても、安全機能が喪失しないか、あるいは危険な状態にならないようにする
Se-SIL拡張２

P(Danger|Fault)を下げる

P(Fault)を下げる

P(Success|Attack)を下げる© Hitachi, Ltd. 2019. All rights reserved.

16

３-３ Se-SIL拡張１３-３-１ 脆弱性に対するAvoidance
V字開発プロセスを確⽴することによって脆弱性を作りこまない

サイバー攻撃が成功しないように、事前にどこまでテストすれば良いか

出典︓IPA, つながる世界のセーフティ＆セキュリティ設計⼊⾨© Hitachi, Ltd. 2019. All rights reserved.

17

３-３ Se-SIL拡張１３-３-２ 現実的な値をもとめる
サイバー攻撃者が攻撃を成功させるまでに要する時間の相場を調べた「10時間」の意味するところ「10,000時間」の意味するところ

（原⽂）

（原⽂）

71% of cyber criminals say they
can breach the perimeter of atarget within 10 hours.

出典︓bugcrowd, INSIDE THE MIND OF A
HACKER, 2018/12（邦訳）

71%のサイバー犯罪者は、10時間あればターゲットの境界の中に侵⼊できると⾔う。

Symantec estimates that the groupdeveloping Stuxnet would haveconsisted of anywhere from five tothirty people, and would have taken
six months to prepare.
出典︓Symantec（邦訳）

Symantecは、Stuxnetを開発したグループは、5⼈から30⼈からなり、準備に6ヶ⽉はかかっただろうと⾒積もっている。
10⼈×40時間/週×25週＝10,000時間© Hitachi, Ltd. 2019. All rights reserved.

18

３-３ Se-SIL拡張１３-３-３ ALARPにもとづくAvoidanceの程度
0時間は許容不可、10,000時間を広く許容されるとして、10倍ずつ⻑くテストする
0時間
現実的な実践⼿法
＋リスク軽減⼿法＋
リスクとコストが均衡

リスクを低減する
要求レベル
Se-SIL1︓

0-10時間Se-SIL2︓

10-100時間

Se-SIL3︓ 100-1,000時間
Se-SIL4︓1,000-10,000時間

10,000時間© Hitachi, Ltd. 2019. All rights reserved.

19

３-３ Se-SIL拡張１

NVD: National Vulnerability Database

３-３-４ Se-SILに応じたセキュリティテスト CWE: Common Weakness Enumeration
おもにソフトウェアの脆弱性をAvoidanceするための実践⼿法
R: Recommended, HR: Highly Recommended

脆弱性に対するAvoidance

Se-SIL1

Se-SIL2

Se-SIL3Se-SIL4

既知の脆弱性テスト(例: NVD)

HR

HR

HR

HR

マルウェアテスト

HR

HR

HR

HR

不正な形式の⼊⼒テスト

─HR

HR

HR

構造化された侵⼊テスト(例: 設定回避、権限昇格)

─R

HR

HR

ソフトウェア脆弱性分析

RHRHR

HR

静的ソースコード分析(例: CWE/ SANS Top25)

R

HR

HR

HR

静的バイナリとバイトコード分析

R

HR

HR

HR

(テスト項⽬は、サイバーセキュリティ試験基準UL2900を参考)

脆弱性と攻撃

ソフト
ウェア
脆弱性

【今後の課題】 攻撃⼿法のState-of-the-Artを踏まえた継続的なアップデート© Hitachi, Ltd. 2019. All rights reserved.

20

３-４ Se-SIL拡張２３-４-１ 攻撃を成功させないControl
サイバー攻撃を受けても危険になる前に制御を取り戻す

Webサイトの改ざん

制御を乗っ取られる

サイト改ざんされても、ユーザが気付く前に元通りに直せば、改ざんにはならない

サイバー攻撃を受けても、ユーザが危険になる前に元通りに直せば、成功にはならないユーザがアクセスするユーザが使⽤する・・・
時間
サイト改ざん(攻撃成功)

復旧

・・・
Safety Time[*]プログラム改ざん(攻撃成功)

時間

復旧[*]それまでに元に戻れば危険にならない時間© Hitachi, Ltd. 2019. All rights reserved.

21

３-４ Se-SIL拡張２

３-４-２ 現実的な値を求める

NC: Numerically Controlled

制御システムが制御不能にならないための制御周期を調べた
制御システムの制御周期の例
1,000ms
100ms●病院内⾃律搬送ロボット(40ms)●実⾞⾛⾏試験ロボット(20ms)
10ms ●倒⽴⼆輪ロボット(10ms)●⾃動⾞エンジン制御(4ms)●鉄鋼圧延プラント制御(2ms)
1ms ●NC⼯作機械(1ms)●ウラン濃縮⽤遠⼼分離機(0.83ms)

0.1ms（参考）⾝近な制御周期の例
1,000ms▲⼀般ドライバ反応速度(3,000ms)

100ms ▲F1ドライバ反応速度(100ms)
10ms▲電⼒周波数(20ms)

1ms
0.1ms
© Hitachi, Ltd. 2019. All rights reserved.

22

３-４ Se-SIL拡張２３-４-３ ALARPにもとづくControlの程度1sは許容不可、0.1msは広く許容されるとして、Safety timeを1/10ずつ短く
1,000ms
現実的な実践⼿法
＋リスク軽減⼿法＋リスクとコストが均衡リスクを低減する
要求レベル
Se-SIL1︓100-1,000ms
Se-SIL2︓ 10-100ms
Se-SIL3︓

1-10ms

Se-SIL4︓ 0.1-1ms
0.1ms© Hitachi, Ltd. 2019. All rights reserved.

23

３-４ Se-SIL拡張２３-４-４ Safety Timeの実践手法
サイバー攻撃を成功させないControlのための実践⼿法■コンポーネントとしてControlする
低いSe-SIL

Iに攻撃されてもOが制御不能になる前にTEで周期的に監視する

攻撃成功
頻度＞

⾼いSe-SIL

I1あるいはI2に攻撃されてもO1とO2の両⽅が同時に制御不能にならないよう
L1とL2を相互に監視する■システムとしてControlする

多層防御により、サイバー攻撃の到達可能性を下げ、攻撃者に許してしまう⾃由時間を短くする

参考: YIWEN CHEN, TAKASHI KAWAUCHI, CHINATSU YAMAUCHI, SATOSHI KAI, ERIKO ANDO, An Approach to Quantify
Cybersecurity Risk in Terms of Functional Safety Requirement in Connected System, DICOMO 2018, pp.1149-1154【今後の課題】 ランタイム処理のState-of-the-Artを踏まえた継続的なアップデート© Hitachi, Ltd. 2019. All rights reserved.

24

４. 章 おわりに

© Hitachi, Ltd. 2019. All rights reserved.

25

４-１ 業界動向
安全が要求されていた分野で、サイバーセキュリティへの要求も出てきた
対象
⾃動運転⾞
所轄官庁 国⼟交通省

農業機械
農林⽔産省

医療機器
⽶国⾷品医薬品局(FDA)

⽂書名

⾃動運転⾞の安全技術ガイドライン 農業機械の⾃動⾛⾏に関す 「UL 2900-2-1」がFDAのRecognized
る安全性確保ガイドライン
Consensus Standardsに公表⽇

2018年9⽉

安全の要 •
求に⾒られるサイバー •セキュリティの要求•

2018年3⽉

⾞外NWから社内の制御NWが •影響を受けないことシステムの機能不全時の「セーフモード」を備えること
不正操作を検知したときは、運転者に警告の上、⾞両を安全にコントロールすること

2018年6⽉

ロボット農機の不正稼動 「UL 2900-2-1」の⽬次
やロボット農機に蓄積され • 製品、製品設計、製品利⽤の⽂書化た情報の漏洩等のサイ• リスクコントロール
バー攻撃を防ぐことができ • リスクマネジメント
るよう、サイバーセキュリティ • 脆弱性と攻撃対策を講ずること• ソフトウェア脆弱性• ﾗｲﾌｻｲｸﾙを通じたｾｷｭﾘﾃｨﾌﾟﾛｾｽ© Hitachi, Ltd. 2019. All rights reserved.

26

４-２ めざす世界
機能安全に関わるサイバーセキュリティを、相場観をもって、安全と⾒なされるようにベンダがお客に⽰すもの安全が要求される分野

安全に関わる
製品・システム

機能安全故障により⼈を危険にしない

セキュア
機能安全
(本提案)
サイバー攻撃を受けても⼈を危険にしない

サイバー
セキュリティ
安全に関わらない
サイバー攻撃例︓プライバシー<機能安全>
SIL<セキュア機能安全>
Se-SIL<サイバーセキュリティ>© Hitachi, Ltd. 2019. All rights reserved.

27

END
Connected時代のセキュア機能安全

2019/02/15
株式会社 日立製作所 研究開発グループ
システムイノベーションセンタ セキュリティ研究部

甲斐 賢© Hitachi, Ltd. 2019. All rights reserved.

28