連載
» 2015年12月25日 07時00分 公開

SYSTEM DESIGN JOURNAL:セキュアな組み込みシステムを求めて「信頼」を掘り下げる (2/5)

[Ron Wilson,Altera Corporation. MONOist]

信頼できるアプリケーション

 攻撃者も最初にこれを攻撃すると考えられるので、アプリケーションソフトウェアから始めます。SquareのモバイルセキュリティリーダーであるDino Dai Zovi(ディノ・ダイ・ゾビ)氏は、DACのパネルディス化ションにて「ハッカーは、ハードウェアに侵入する必要はありません。ソフトウェアに侵入する方がはるかに簡単です」と述べました。

 その後に開催された自動車セキュリティに関するディスカッションで、Theia LabsのリバースエンジニアリングスペシャリストであるCraig Smith(クレイグ・スミス)氏は、「ハッキングされないシステムを構築することはできません。それどころか、今日ではあまりにも簡単にハッキングできるようにしてしまっています。組み込みシステムではバッファオーバーフロー攻撃が成功してしまうことがありますが、今回はバッファオーバーフロー攻撃を完全に阻止できたはずです」と強調しました。

 アプリケーション・コードが極めて脆弱なままとなっていることには幾つかの要因がありますが、その要因の1つが単なる無関心です。マネジャーは、いまだにセキュリティよりもスケジュールやコーダの生産性に大きな関心を持っています。General Motorsの製品サイバーセキュリティ最高責任者であるJeff Massimilla(ジェフ・マシミラ)氏は、自動車に関するパネルディスカッションで「重役会でセキュリティについて議論しないまま、それに必要なリソースが割り当てることは考えられません」と警告しました。

 メンテナンス性も問題です。多くのエンベデッドシステムは連続稼働します。つまり、一度フィールドに出たものにアクセスしてリモートアップデートすることはできないのです。ソフトウェアアップデートのために変電所や発電所をオフラインにすることはできません。走行中の自動車がコードをアップデートすることも賢明ではありません。Massimilla(マシミラ)氏は「自動車はオフラインにできません」と述べています。配置済みのシステムの脆弱性に気が付いたとき、できることは限られています。

 Massimilla(マシミラ)氏によれば、もう1つの問題は規模です。DelphiのCTO(最高技術責任者)兼エグゼクティブバイスプレジデントであるJeffrey Owens(ジェフリ・オーエンス)氏は同意して、「新車に取り付けるECUは平均30〜40個あり、なかには50個のECUを備え、1億行のコードを実行できる自動車もあります。これはF-35戦闘機の4倍も複雑です」と述べています。

 コードセットはそのように大きいため、ブロックレベルより上で正式な検証ツールを使用することは非現実的であり、完全な冗長性を持たせることも考えられません。自動車メーカーは、セキュリティのためだけにECUを追加しようとはしません。従ってこのレイヤーでの完全なる信頼性の実現はどう考えても困難です。

 一方、コードのサイズを考えると、その多くの部分が再利用されることも分かります。そのことから、1ブロックずつ信頼性を確保する可能性が開かれます。自動車用機能安全規格「ISO 26262」は、信頼できるIPブロックから組み立てたコードの信頼性の認証パスを提供します。

 ISO 26262は、ある厳格な基準を満たすコンポーネントを組み合わせることによって、適合システムを構築できることを規定しています。正式レビュー、厳密なトレーサビリティ、信頼できるツールなどの要件を含むコンポーネント自体を規格に準拠して開発することができます。あるいは、ISO 26262が規定される前に開発されたコンポーネントは、不具合なくフィールドに広く展開されているという理由で許容できます。そのようなコンポーネントは全て、設計されたときの特定のシステム状況と関係なく安全性を認証されてきたため、状況に依存しない安全要素(SEooC)と呼ばれます。

 それらは状況に依存しないため、各SEooCはIPを安全に使用するための要件と、前提条件をリストアップした正式な安全マニュアルを含んでいなければなりません。そのマニュアルは、ISO 26262環境においてSEooCを再利用する人、全てに必須のマニュアルです。その内容は、複数の当事者による開発インタフェース契約(DIA)という別の文書の作成につながらなければなりません。これは、ISO 26262 準拠のデザインを統括するものであり、複数の当事者が参加し、プロセスで誰が何の役割と責任を持つかを規定します (図 2)。

図 2 図 2.信頼できるコンポーネントの統合には、安全マニュアルと信頼できる手法が必要です。

 ISO 26262は、IEC 61508のような工業規格から派生した、自動車用の具体的な規格であり、ほとんどのエンベデッドデザインが行っている自由なアプローチよりも、はるかに厳格です。しかし、攻撃による損害に直面する組み込みシステムの設計者が増えるにつれて、ISO 26262の影響が他のアプリケーション領域に広がっています。

 そのような厳格さは、大規模なアプリケーションソフトウェアに信頼性を確立するためのほぼ唯一の方法です。OSとファームウェアの状況は、さらに複雑です。

Copyright © ITmedia, Inc. All Rights Reserved.