2019 Fiscal Year Research-status Report
レガシーコードの実行回避によるハイパーバイザの安全性向上
Project/Area Number |
19K11906
|
Research Institution | Keio University |
Principal Investigator |
河野 健二 慶應義塾大学, 理工学部(矢上), 教授 (90301118)
|
Project Period (FY) |
2019-04-01 – 2022-03-31
|
Keywords | 仮想環境 / ハイパーバイザ / 脆弱性 |
Outline of Annual Research Achievements |
仮想化技術はクラウド環境の基盤として広く利用されており,その安全性はクラウド利用者すべての安全性に直結する.本研究の目的は,仮想化の中核をなすハイパーバイザ (仮想マシンモニタ) の安全性を向上させることにある.既存研究の多くは,ハイパーバイザの脆弱性を取り除 くことに注力しているのに対し,本研究の特徴は,「ハイパーバイザの脆弱性をすべて取り除くことは不可能」という現実的な立場から,「脆弱性があっても安全に運用できるようにする」ことを狙っている点にある.ハイパーバイザの脆弱性の多くは,レガシーな実行環境に対応するためのコードにあるという知見から,実行する必要のない「レガシーコードに対する実行要請を事前にフィルタリングする」方式を実現する. 研究初年度である本年度は主に次の 2 点に関して研究を行った.第一点は,レガシーな実行環境に対応するための命令エミュレータに対するフィルタリングの実現である.レガシーな実行環境では,ハードウェアによる仮想化支援が不十分である(あるいは全く存在しない)ために,仮想的に用意したシャドウレジスタ (shadow register) へのアクセス等を命令レベルでエミュレートする必要がある.そのため既存のハイパーバイザは多数の命令のエミュレーション機能を備えているものの,より最近のハードウェア環境ではその多くの命令のエミュレーションは不要である.そこで,ハイパーバイザの実行環境に応じてエミュレーション不要な命令に対するエミュレーション要求をフィルタリングする仕組みを実現した.これにより,これまでに報告されている多数の脆弱性に対する攻撃を防御できることを示した. 第二点は,レガシーなデバイスに対応するためのコードに潜む脆弱性を付く攻撃をフィルタリングする仕組みである.レガシーなデバイスに対する攻撃についての分析を行い,その手法に対する目処をつけた.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
「研究実績の概要」においても述べたとおり,研究初年度である本年度は 1) 命令エミュレータに対するフィルタリングの実現と,2) レガシーなデバイスに対するフィルタリングについて研究を行った. 第 1 点目の命令エミュレータに対するフィルタリングに関しては研究プロトタイプの実装を完了し,既知の脆弱性に対する有効性やそのオーバーヘッド等に関しての評価も完了しており,すでに雑誌論文 1 編が採択となっている.研究計画段階では,この命令エミュレーションのフィルタリグの実現だけでも相応の時間がかかると想定していたため,当初の計画以上に進展しているといってよい.このように順調に研究が進展したのは,別の研究テーマのために行っていた予備調査の結果が本研究にも利用できたため,研究立ち上げ段階の調査に多くの時間を割かれることがなかったためである. そこで,次の段階として想定していた,レガシーなデバイスに対応するためのコードに潜む脆弱性を付く攻撃をフィルタリングする仕組みについて,本年度中に予備調査等を開始することができた.命令エミュレータと比較し,デバイスは複雑な内部状態とその遷移を伴うため,フィルタリングの手法そのものが命令エミュレータよりもはるかに複雑なものとなる.現実的な攻撃に対し,何をどこまでフィルタリングすることができるのか,そもそもフィルタリングという手法によって不正攻撃が防止できるのか,既知の脆弱性に対して網羅的に調査を行った.その結果,ゲスト環境で動作するオペレーティングシステムのデバイス・ドライバから,デバイスに対する I/O 操作シーケンスを抽出することで,実用的にも有用な強度をもつフィルタリングが生成できるであろうという目処がたった.現在はバイナリ解析の手法を用いて,デバイス・ドライバのバイナリから I/O 操作シーケンスの抽出を試みている段階である.
|
Strategy for Future Research Activity |
「現在までの進捗状況」で述べたとおり,当初の予定以上のペースで研究が進展しており,現在取り組んでいる「レガシーなデバイスに対するフィルタリング」に関しても基本的な方針について目処が立っている.したがって,研究計画の見直しや変更等は特に必要はないと考えており,これまでの調査研究によって明らかになった方針にしたがって,研究・開発を進めていく方針である. ただし,現在,取り組んでいるデバイス・ドライバのバイナリから I/O 操作シーケンスを取り出すという作業は,技術的にかなり困難な内容も含まれており,今後,方針の見直しが迫られる可能性は否定できない.現段階では,ROSE というバイナリ解析ツールを利用し,デバイス・ドライバを基本ブロックに分解し,コントロール・フロー解析とデータ・フロー解析の技術を使って I/O 操作シーケンスの抽出を試みている.一般にバイナリ・コードから完全なコントロール・フローやデータ・フローを抽出することは容易ではないことが知られている.今回のケースでは,デバイス・ドライバという比較的コード量の小さいコードが対象となっていること,デバイス・ドライバには再帰関数を用いることはなく,動的なデータ構造も少ないことから,保守的な分析によって十分に実用に耐える I/O 操作シーケンスの抽出が可能となるだろうと期待している. 現在,Linux のフロッピーディスク・コントローラおよび IDE のデバイス・ドライバを対象に試行錯誤を進めている段階である.これによって,仮にバイナリ解析による手法では期待した結果が得られないとなったとしても,その対応策についての知見を得ることができ,最終的にはフィルタの生成が可能になろうであろうと考えている.
|
Causes of Carryover |
当初,実験データの等の保管のためのストレージ・デバイス等の購入を予定していたものの,研究遂行上もっとも適した機材の価格は残高を超えており,代替品を購入したとしても,性能および機能面が今後の研究推進に耐えるものとはならないため,無理に代替品を購入しても,結局,次年度以降に本来,購入を予定していた機材を購入することになると思われる.そのようになると,代替品の使途がなくなり結果的に研究費の無駄遣いとなる可能性が高い.そこで,差し当たり現有の機材で間に合わせることとし,次年度以降に研究推進上,十分な性能と機能を備えた機材を購入する方が,研究を円滑に進めることができるだけでなく,研究費の有効活用につながると判断した.
|
Research Products
(3 results)