メディア

つながる時代のセキュリティ、チップと組み込みOSの連携で守る組み込みソフトウェア技術(4/4 ページ)

» 2012年11月08日 13時12分 公開
[David Kleidermacher,Green Hills Software]
前のページへ 1|2|3|4       

仮想化で接続をセキュアにする

 2010年に、広範囲に使用されているVxWorksのリモート管理に脆弱性が見つかった。オープンになったシステム診断ポートからマルウェア(不正プログラム)がインストールされ、OS自体を削除したり置き換えたりする危険性があった。基本的な防衛策は、SSLのようなネットワークセキュリティプロトコルを使用して相互認証することで、管理用ポートを保護することだ。

 しかし、SSL接続はセキュアな接続性を確保する対策のごく一部にすぎない。バイナリレベルおよびセキュアデリバリー(データ送受信)のテストなどを含む適切な安全策がなければ、攻撃者は既に確立されている技術だけで不正なアクセスを実現できてしまう。設計者は自身のソフトウェアの開発プロセスを保証度の高いものにすることは可能だが、サードパーティのOSにおける脆弱性をどう防護するかが問題になる。そうしたOSは、バイナリ形式のみで供給され、セキュリティの由来や系譜、あるいは保証などが明確に示されることが一切ないからだ。

図5 図5 ハイパーバイザを使えば、レガシーシステムにセキュアなデバイス管理サービスを追加することができる。

 システム仮想化を使えば、エレクトロニクスシステムに追加の機能を実装し、接続のセキュア化を実現できる。この技術によってレガシーな動作環境が仮想マシンとして機能するようになり、信頼できるハイパーバイザが提供する接続認証やコンフィギュレーション管理のようなクリティカルな機能から隔離されて、セキュア化される。デバイス管理ソフトを使って、レガシーOS自体のモニタリングやコンフィギュレーション、パッチを行うことも可能だ(図5)。

機器内のデータを保護せよ

 2010年に米国のCBSが放送したニュース番組において、オフィスのコピー機が機密情報の“金脈”になっており、その情報はコピー機の記憶装置から容易に取得できることが報じられた。問題のシステムには、データストレージに対する保護機能が備わっていなかった。しかし、最新のエレクトロニクスシステムでは、知的財産権保護やデジタル著作権管理などの目的で、ストレージに格納するデータの暗号化が導入されている。

 FDE(Full Disk Encryption)では、ストレージ媒体の全体が暗号化され、OSのスワップファイルなどの隠しファイルが露出しないよう保護される。SED(Self Encrypting Drive、自己暗号化ドライブ)はFDE処理をストレージ用周辺デバイス内部で行うが、多くのエレクトロニクスシステムではフォームファクタ(形状)の制限からスタンドアロン型のSEDを搭載することが難しい。

 そこで、暗号化を1段高い階層で実行する手法も可能だ。すなわちデバイス管理層(通常はブロック指向のドライバ)である。この階層における保護でも、管理対象デバイスの全体をカバーできる。

 ストレージの暗号化キーは媒体上に平文で保存してはならない。ただし、キーを暗号化したコピーを保存しておく必要がある場合も少なくない。キーは、システムが権限者として実行する際のアクティブな利用に対しては解除された状態になる。

 スマートフォンや店舗用POS(販売時点情報管理システム)のように、エンドユーザーが対話式に操作するシステムでは、ユーザー認証の成功がキー解除のトリガーになる。無人エレクトロニクスシステムにおいては対称キー(共通キー)が利用され、そのキーを解読するには、事前に設定されたデータ暗号化キーのデータベースを格納するリモートサーバにセキュアネットワーク接続する。そうしたエレクトロニクスシステムでは、ブート処理などデータ暗号化キーの解除を要するときにキーの読み込みを開始する機能が必要だ。

仮想SEDでデータを守る

 ネットワーク接続機能を備えた機器において、システム仮想化の応用として注目されている技術は他にもある。その1つがデータ保護である。

 ハイパーバイザが仮想マシン上でメインOSを起動して、仮想マシンの外側でストレージ暗号化のコンポーネントを実行し、vSED(Virtual SED、仮想自己暗号化ドライブ)を構成する。SEDをアンロックするための認証や、暗号化と暗号解読のプロトコル、キー管理といった、保存データの保護に関するセキュリティにクリティカルな機能については全て、メインOS環境の外側で動き、保存データに対する外部からの攻撃を防ぐ(図6)。

図6 図6 セキュアハイパーバイザによって、仮想自己暗号化ドライブ(vSED)を構築できる。

 ハイパーバイザは物理ストレージを仮想化する。OSがデータのブロックを書き込む際には、信頼性を確認済みのアプリケーションがそのブロックを暗号化し、物理ストレージの適切なブロックに記録する仕組みだ。暗号化の処理はセキュアに分離されたアプリケーションによって実行されるので、プラットフォーム上にある信頼性を未確認のソフトウェアが暗号化キーにアクセスしたり、暗号解読の攻撃を行ったりすることは不可能である。

 オンチップの暗号化アクセラレータを使える場合は、可能な限り利用するのが効率化の観点で望ましい。専用のアクセラレータに代わる手法としては、次のようなものがある。すなわち、マルチコアプロセッサでは全てのコアがフル負荷の状態になることはほとんどないので、1つのコアを暗号化機能に特化させればよい。

 パスワードを使ってストレージをアンロック状態にする場合、設計者はメインOSの環境内にパスワードのロギングやスクリーンスクレイピング(Webサイトの画面情報からデータを抽出する)を仕掛けるマルウェア攻撃が存在し得ることに注意する必要がある。vSED環境では、ネイティブアプリケーションの中で、パスワードの入力と、それに付随するグラフィカルな画面の管理機能(利用可能な場合)が実行され、そのような攻撃からシステムを保護する。



 本稿で解説してきたように、エレクトロニクスシステムの設計者は製品にセキュリティを組み込まなければならないが、それには設計上の選択肢と制約が数多くある。そこで設計者は、セキュアブートや、効率的な暗号化、仮想化を使ってデータ保護サブシステムをセキュアに分離する技術など、半導体チップによって提供されるセキュリティ機能を最大限に活用すべきだ。

Profile

David Kleidermacher氏

米国の組み込みOSベンダーのGreen Hills SoftwareでCTO(最高技術責任者)を務めており、技術戦略やプラットフォーム企画、ソリューション設計などを統括する。組み込み機器に向けたセキュアOSや仮想化などのセキュリティ技術に詳しい。米国のCornell Universityでコンピュータサイエンスの学位を取得した。



次世代エンベデッド コーナー

次世代エンベデッドコーナー

>>コーナーTOPはこちらから


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.