セミナーレポート

「モノがつながるインターネット」の裏で

クリティカルソフトウェアワークショップ2014

2014/2/13

 電力、鉄道、航空、金融などの重要インフラは24時間、365日「止まらない」ことが要求される。そこで動いているのは、高い信頼性や障害発生時の対応機能などが必要な「ミッションクリティカル」と呼ばれるシステムだ。

 しかし、これらのシステムに不具合が生じ、サービスがストップしてしまうことがあるのも事実である。2014年1月15日から3日間行われた「クリティカルソフトウェアワークショップ」では、航空業界などでのシステム開発の現状、組み込みソフトのセキュリティなどが紹介された。

MRJの試験機
MRJの試験機

巨大化の一途をたどるシステム開発

 

 大規模システムのトラブルはなかなか減らない。2012年の東証システム障害、レンタルサーバ業者・ファーストサーバの顧客データ消失など、大規模システムでの障害がメディアを賑わしている。情報処理推進機構(IPA)の松本隆明氏は「同じような原因のトラブルが多い」と指摘する。ハードウェアのトラブルも、組み込まれたソフトウェアの不具合がきっかけになっている。


 加えて、組み込みソフトの大規模化もある。経済産業省によると、プログラムの行数はカーナビで500万行、自動車では1000万行に上る。金融機関システムは、1980年代半ばは500万行程度であったが、現在は6400万行という途方もない数字だ。


 ソフトウェアの開発は日を追うごとに大規模化している。しかし、成果物であるソフトウェアやプロジェクトの状況というのは、なかなか可視化しにくい。また、ハードウェアと違って、ソフトの冗長化が信頼性アップにつながらない。なにより、システム開発自体が担当エンジニアのスキルに依存する。


飛行機、空港運営のリスク回避策


 こうしたリスクをはらむシステム開発に、「これさえすればよい」という開発の奥義のようなものはない。


 クリティカルソフトウェアの中でも、トラブルが人命にかかわる航空機は、どのようにシステム開発を行っているのだろうか。三菱航空機の篠田和英氏は、2017年に運航予定の旅客機・三菱リージョナルジェット(MRJ)の開発を例に挙げて解説した。

MRJのシステム開発を解説する篠田氏   自動車のリスクを洗い出すモデル図
MRJのシステム開発を解説する篠田氏   自動車のリスクを洗い出すモデル図

 航空機を飛ばすためには、航空法で定められた耐空基準を満たす必要がある。耐空性能は、風洞・油圧・着水・耐雷などの物理的な試験で機体の安全性を確保している。一方で航空機を制御するシステムは、こうした実験(テスト)ではなく、開発のプロセスがどれだけ厳密に行われたか、という「開発保証」によって安全性を担保している。


 「航空機開発でも、(要件定義などの)上位文書のエラーでバグが発生する」(篠田氏)ため、サプライヤが開発したシステムについて、開発プロセス(設計、デザイン、コーディング、テストなど)の段階ごとにチェックを設けている。チェックの厳しさは、システムの機能によってA・B・Cとランク分けされている。


Internet of Thingsがはらむ危険性

 

 IT環境の変化は激しいものであるが、制御系のシステムはそうでもない。「制御系はほとんどがWindowsで動いている」(電気通信大学の新 誠一教授)が、金額が億単位で簡単には止められないために、実装しているソフトウェアの入れ替えが難しいからだ。


 システムの大規模化に加えて、様々なモノがインターネットつながるIoT (Internet of Things)が、ウェアラブル端末などと相まってブームになっている。一方で、ホームルーターや冷蔵庫などの家電をボット化して迷惑メールを送りつける、という事例も報じられている。


 「ブレーキの自動制御」などで注目を集める自動車の制御システムについても、遠隔操作のリスクがささやかれる。「車とPCを直接つながない限り、(ブレーキなどの)制御をハッキングするのは難しい」(IPAの中野 学氏)ものの、イモビライザーを無効にする「イモビカッター」を利用した窃盗は問題になっている。中野氏は「駆動系からカーナビ、スマホなど、車につながるシステムをモデル化し、そこからセキュリティを考えるべき」と述べた。


 家電から航空機に至るまで、組み込みソフトがかかわる製品の幅は年々大きくなっている。コンピュータ制御された製品の脆弱性が見逃されたまま出荷されてしまうのも問題だが、「テレビにファイアーウォールを入れて画面が重くなったら本末転倒」(中野氏)である。今後のソフトウェア開発、特に組み込み系については細心の注意を払う必要がありそうだ。

(中西 啓)

【セミナーデータ】

イベント名
:第11回クリティカルソフトウェアワークショップ
主催   
:JAXA情報・計算工学センター、IPA技術本部ソフトウェア高信頼化センター
開催日  
:2014年1月15日~17日
開催場所 
:ソラシティカンファレンスセンター(東京都千代田区)

【関連カテゴリ】

IT政策