ジェイテクトの賀治氏による特別講演の他にも、ISO 26262や車載セキュリティに関わるサプライヤなどから4つの講演が行われた。
1つ目は、QNXソフトウェアシステムズ ビジネスデベロップメント(自動車担当) マネージャーの中鉢善樹氏、「セーフティ、セキュリティに関して、車載OSに求められる要件」である。
同社は2014年11月よりOSレベルでISO 26262のASIL Dをサポートした「QNX OS for Automotive Safety 1.0」を販売している(関連記事:ISO 26262の最高の安全要求レベルを満たすOS、QNXが販売開始)が、セッションの前半はこのISO 26262関連、後半は車載セキュリティ関連の話題となった。
さて、QNXのソフトウェアプラットフォームの構造はマイクロカーネルベースのものである。ここでカーネルモードで動作するのは中央の「Micro-Kernel」の部分で、後のモジュールは全てユーザーモードで動作し、相互の通信はメッセージパッシングベースで行う仕組みである。
これにより各モジュールが完全に隔離されているので、例えば質の悪いドライバが組み込まれても、それが全体に波及することを防げる仕組みだ。ちなみに、あるモジュールなりドライバがクラッシュした場合にどうするかというと、やはり同社から提供される「HA(High Availability) Manager」と呼ばれるシステム監視モジュールが、問題を起こしたモジュールの再起動を行うとともに、Checkpointのタイミングで保存した状態に戻すことで最終的にシステムの修復が行える。こうしたものをフレームワークの形で提供することで、機能安全の要件を満たしやすくしている。
他にも、マルチコアのプロセッサ資源を動的に割り当てる「Adaptive Partitioning」を利用して、あるアプリケーションが暴走してもシステム全体が反応しなくなることを防ぐとともに、メモリ空間の分割に当たってはメモリ管理ユニット(MMU)の管理に加えてガードページを設けることで物理メモリ上での干渉を防ぐ「Spatial Separation」という仕組みを用意している。
これらの機能安全向けに提供される機能は、そのままセキュリティ強化にも利用される。マイクロカーネルベースの構成なので、特定のアプリケーションが侵入しても、そこからシステム全体に影響を及ぼしにくいし、先のHA Managerを利用して、侵入されたアプリケーションを検出、直ちに再起動という形で影響を最小限に抑える事ができる。
またAdaptive Partitioningの機能は、代表的なサイバー攻撃であるDOSアタックのようなケースでもシステムの性能低下を最小限に抑えられるし、メモリ空間に関しては先のSpatial Separationを利用し、物理アドレスの割り当て方法をランダムにする「ASR(Address Space Randomization)」といった対策も用意される。
こうした仕組みに加えて、セキュリティ対策としては常道であるセキュアなキーストアやセキュアブート、セキュアファイルシステム、ARMの「TrustZone」に代表されるセキュアな実行環境、あるいはハードウェアベースの暗号化エンジンなどもサポートする。
これらは必ずしもQNXのソフトウェアプラットフォーム単体で実現できるものではないので、プロセッサベンダーと共同して機能の実装を行っている。またQNXソフトウェアシステムズと同じくBlackBerryの子会社にSRG(Security Research Group)というセキュリティ専門の会社があり、ここに依頼する形でコードの静的解析やハッキングによる脆弱性/セキュリティホールを事前に確認、これを最新リリースに反映するという形でより安全性を高める工夫を行っている。
これらの特徴を持つQNXのソフトウェアプラットフォームを利用することで、ISO 26262に準拠したセキュアな車載向けシステムを、相対的に低コスト・短期間で構築できるというメッセージであった。
Copyright © ITmedia, Inc. All Rights Reserved.