ロイターの記事によると、24日にフィアット・クライスラー・オートモービルズが米国で140万台をリコールしたそうだ。
高速道路を走行中のフィアット・クライスラー車両のテレマティクス(自動車のコンピューターと無線通信を組み合わせたカーナビなどのサービス)にハッカー攻撃を加え、エンジンやステアリング、ブレーキを遠隔操作ができたので、そのままにしておくのは危ないからリコールしたのだ。
サイバーセキュリティが原因で自動車がリコールされたのは、これが始めてだという。
最近、どこもかしこもサイバーセキュリティのことが話題になっており、サイバーセキュリティの対策をしないと危ないぞと、「親切に」教えてくれる正義の味方の方達があちこちにいる。
多くの製造業者は時代の流れで機器をネットワークにつないで多様なサービスを提供しようとしており、利便性の裏でネットワーク越しのサイバー攻撃を受けるリスクが高まるというわけだ。
ところで、医療機器ドメインでは、左図のようにリスク評価を行う。
ハザード(危害の潜在的な源)が一連の事象により危険状態となり、危険状態が危害に結び付く。
このとき、ハザードが危険状態に至る確率をP1、危険状態が危害にむつび付く確率をP2とおき、リスクは危害の重大さとP1とP2を考慮した危害の発生確率の両方で評価する。
人の死に至るほどの大きな危害であっても、危害の発生率が極めて低い場合は、リスクの評価が低くなることもある。
例えば、地球に大きな隕石が衝突したときの危害は甚大だが、発生する確率は極めて低いのでリスク評価はそれほど気にしなくてもよい。(ただ、過去に一回はあったので確率ゼロではない)
原子力発電所の事故は甚大な被害を及ぼすが、発生確率はどうだろう。低いと言えるだろうか。
それはさておき、上記のポットのお湯の例で見ると、ポットが倒れてお湯がこぼれている状態は危険状態だが、これだけでは危害には結び付かない。お湯に子供が触ってしまうことで危険状態から危害に結び付く。
したがって、機器の製造業者はP1を下げるアプローチとP2を下げるアプローチの両方の側面でリスク対策を行う。
P1を下げる対策として、ポットは倒れにくくする方法がある。また、P2を下げる対策としては、お湯がこぼれたときにアラームを鳴らして注意を促す方法がある。
サイバーリスクの評価で一番頭が痛いのは、例えばマルウェアや悪意のあるハッカーをハザード(危害の潜在的な源)と置いたときに、危険状態が発生する確率P1を推定することが難しいということだ。
人間はヒューマンエラーを起こすので、オペレータのミスは合理的に予見可能な誤使用としてP1を推定する。しかし、悪意のあるハッカーは、何かしらその企業に恨みがあれば徹底的攻撃してくるかもしれないし、ただ単にその商品がよく売れている、その企業がみんなに知られているというだけで攻撃の対象にするかもしれない。
だからP1が読めない。別な言い方をするとP1が低いと推定されるから対応をしなくていいという論理が通じにくい。
ソフトウェアが起因の故障(システマティック故障)もP1が推定しにくいのでしようがないから1と置いたりする。
ただ、サイバー攻撃やソフトウェア起因の故障でも、P2を下げる対策を考えることはできる。
これは多分にソフトウェアシステムのアーキテクチャと関係する。簡単に言えば、あるソフトウェアアイテムに故障が起こったとしても、その機器の基本機能や基本性能を担うソフトウェアアイテムに影響を与えないようなアーキテクチャにするということだ。
フィアット・クライスラー・オートモービルズのリコールに当てはめると、ネットワークの機能とエンジンの起動や停止、ステアリング、ブレーキの機能は分離して、独立するアーキテクチャにすることがそれに相当する。
だいたい、自動車ドメインでない自分でも、このリコールは「バカじゃないの」と思う。どうして、ネットワーク越しにエンジンやステアリング、ブレーキを操作できるようになっているのかと。
おそらく、システム設計の段階で、ネットワークと自動車の基本機能を切り離そうという意図はなく、未来の遠隔運転仕様のためにつなげておいたのかもしれない。
ISO 26262 は本当に役に立っていないなと思う。(セキュリティは対象外か?人のドメインのことは言えないが・・・)
まあ、それはそれとしてサイバーセキュリティの問題は本当に頭が痛い。P1を1と置いてしまうと、結局何かしらの設計上の対策をしなければいけないので、機器のコストアップにつながる。
サイバーセキュリティで金儲けしたいと考えている企業や論文通したいと考えている先生方には、よい時代なのかもしれない。
オープンソースの時代と言われて久しいが、サイバーセキュリティの確保が必要な時代になってきて、オープンソースの時代は潮目を迎える可能性がある。
なぜなら、ハッカーはまずオープンソースなどの既知の脆弱性情報を元にセキュリティの穴を見つけ、見つけた穴から中へ中へと入り込んでいくからだ。
公開されていないソフトウェアを解析するのはたいへんだから、攻撃する意欲が減る。そう考えるとオープンソースのソフトウェアを使っているソフトウェアシステムのサイバー攻撃に対するP1は高いと言えるかもしれない。
どっちにしても、ネットワークで機器がつながっている以上、サイバーセキュリティを考慮しなければいけなくなったことは事実だ。
しかし、確率が読めないサイバー攻撃を無理に想定して、危害を発生させられるという状況を作り上げて大騒ぎし、脅威を煽るのは本当の勘弁して欲しい。
サイバーセキュリティの専門家は、知っていることを端から順番に押しつけるのではなく、P1やP2を下げるのに有効な手段を優先順位を付けてアドバイスして欲しい。
また、製造業者はサイバーリスクも考慮して、システムの安全アーキテクチャを意識して設計をしないとダメでしょ。
P.S.
このブログでは事故やリコールの事例があるごとに、その情報をインプットとして安全を実現するためには何をすればよいか分析している。医療機器ドメインではいつものことなのだが、最初から完全を目指そうとすると、そうはいかない。まず、機能から入り安全を実現するために、できることを端から順番にやっていこうとする。志は高いのだが、その割には漏れが出たり、時間切れになったりして、残念な結果になることがある。今回のフィアット・クライスラー・オートモービルズのリコールはそういうことではいのだろうか。
別な言い方をすると、その機器の最大の危害や危険状態は何かを考えて、そうならないようにするにはどんな安全装置やアーキテクチャが必要かを考えるようにしている。
自動車の場合の最大の危害は、運転手、搭乗者、周りの人々の負傷であり、その危害に至るような危険状態にならないようにするにはどうするか考える。そのリスク低減の安全設計の方針は、利便性の追求よりも遙かに重要と考える。
日本のメーカはみんなそうしているので心配ないと思うけど。