New feature #1新機能 [1]

Transparent Background Encryption 透過的バックグラウンド暗号化

A patent-pending technology* allows instant deployment of the Secure VM functionality into existing PC environments. 特許出願中(※)の技術により、既存 PC 環境に
セキュアVM機能を瞬時に導入可能になりました。

New feature #2新機能 [2]

64bit Guest OS
Support
64bitゲストOS対応

64bit operating systems including Windows and Linux are now supported as a guest OS. 64ビットの Windows や Linux などを
ゲスト OS として利用可能になりました。


New feature #3新機能 [3]

AMD Multiprocessor Support AMDマルチプロセッサ対応

In addition to Intel's ones, AMD multiprocessors and multicores are now supported in BitVisor. Intel に加えて AMD のマルチプロセッサ/
マルチコアを BitVisor で活用可能になりました。

New feature #4新機能 [4]

Enhanced CPU Support CPU対応強化

New features of Intel VT-x (EPT, unrestricted guest, VPID) and AMD RVI (NPT) are now supported. Intel VT-x の最新機能(EPT, unrestricted guest, VPID)や AMD RVI (NPT) に対応しました。


New feature #5新機能 [5]

Fast Hypervisor Booting 起動時間短縮

Hypervisor boot time is reduced to 1-2 seconds with pararell initialization and several optimizations. 並列処理や最適化などでハイパーバイザ自身の
起動時間が1~2秒前後に短縮されました。

New feature #6新機能 [6]

ADvisor 機能

A hypervisor-based advertising system developed by Oyama laboratory in the University of Electro-communications. 電気通信大学の大山准教授らの研究成果による、
広告(画面)表示機能を取り入れました。


Improvements and Bug Fixes 機能改善及びバグ修正

Reducing build time, updating OpenSSL, several improvements, bug fixes, and so on. ビルド時間短縮、OpenSSL更新など、様々な
機能改善とバグ修正が含まれます。

A paid service is available 有償サービスの提供

IGEL Co, Ltd. still provides a paid service such as installation support and consulting. (株)イーゲルが引き続き導入支援及び
コンサルティング等の有償サービスを提供します。


(*) The source code of the transparent background encryption funcitonality, which includes a japanese patent-pending technology, has a different license from that of the main source code of the BitVisor. It is supplied as a patch to the main source code. Note that the research and development of his technology was supported by a competitive funding program called Seeds Validation Type, Feasibility Study (FS) Stage, Adaptable & Seamless Technology Transfer Program through Target-driven R&D (A-STEP), Japan Science and Technology Agency (JST). (※)透過的バックグラウンド暗号化機能は特許出願中の技術を含むため、BitVisor 本体とは異なるライセンスが適用されます。また、本機能は BitVisor 本体のソースコードに対するパッチとして提供されます。学術機関などの研究目的では自由に利用可能ですが、商業利用の際は別途お問い合わせください。なお、本機能は、独立行政法人科学技術振興機構(JST)研究成果最適展開支援プログラム(A-STEP)フィージビリティスタディステージ・シーズ顕在化タイプに採択された課題「高セキュリティを実現する仮想マシンモニタ(BitVisor)の実用化検証」(企業責任者:株式会社イーゲル 松原克弥、研究責任者:東京大学 品川高廣)の支援により研究開発されました。

New Features of BitVisor 1.3

BitVisor Version 1.3 の新機能

Transparent Background Encryption

透過的バックグラウンド暗号化

[Transparent Background Encryption]

図1:透過的バックグラウンド暗号化の構成図

透過的バックグラウンド暗号化は、既存 PC 環境に対してセキュア VM 機能を即座に適用しつつ、ディスク暗号化の完了を待たずにそのまま使い続けることが可能な技術です。既存 PC 環境の OS とハードウェアの間に入り込んで BitVisor が動作し、OS のディスク・デバイスドライバと、ディスクのハードウェアを制御するホストコントローラとの間のアクセスを捕捉します。この時、ゲストとなった OS に対しては、物理的なハードウェアをそのまま見せるので、既存 OS 環境を変更することなくそのまま動作し続けることが可能です。

その後、BitVisor の「バックグラウンド暗号化モジュール」は、「アクセス多重化モジュール」を用いて、ゲスト OS からのアクセスの合間をぬってディスクにアクセスし、順次暗号化をおこないます。ゲストOSからのディスクアクセスは、「暗号化/復号モジュール」で捉えられ、既に暗号化済みの領域へのアクセスの場合は書き込みデータの暗号化及び読み込みデータの復号をおこないます。まだ暗号化していない領域へのアクセスの場合は、何もせずにパススルーでアクセスをおこないます。バックグラウンドでの暗号化は、ユーザの操作の邪魔にならないようにするために、「管理・監視モジュール」でキーボード入力やマウス操作などユーザの動作を監視して、空き時間に実行するように工夫されています。

透過的バックグラウンド暗号化技術により、セキュア VM 機能の初期導入負担が軽減され、政府機関や民間企業など様々な組織においてPCからの情報漏洩防止に効果が発揮されることが期待されます。

なお、本技術は特許出願中であるほか、下記の国際会議において発表済みです。また、本技術は、独立行政法人科学技術振興機構(JST)の研究成果最適展開支援プログラム(A-STEP)フィージビリティスタディステージ・シーズ顕在化タイプに採択された課題「高セキュリティを実現する仮想マシンモニタ(BitVisor)の実用化検証」(企業責任者:株式会社イーゲル 松原克弥、研究責任者:東京大学 品川高廣)の支援により研究開発されたものです。


参考文献:
[1] Hypervisor-based Background Encryption. Yushi Omote, Yosuke Chubachi, Takahiro Shinagawa, Tomohiro Kitamura, Hideki Eiraku, Katsuya Matsubara. In Proceedings of the 27th ACM Symposium On Applied Computing (ACM SAC 2012), pp. 1829-1836, Mar. 2012. doi:10.1145/2245276.2232073

Enhanced CPU Support

CPU 対応強化

[Enhanced CPU Support]

図2:CPU対応強化
(Nested Paging, Unrestricted Guest, VPID)

Intel 及び AMD の CPU の仮想化支援機構への対応を強化して、パフォーマンスを向上させました。

まず Nested Paging に対応しました。Nested Paging とは、Intel では EPT (Extended Page Table)、AMD では RVI (Rapid Virtual Indexing) と呼ばれている機能で、通常の OS のページングと同じくゲスト OS の Virtual Address (仮想アドレス)を Page Table (ページテーブル)を介して Guest Physical Address (ゲスト物理アドレス)に変換したのち、更にハイパーバイザ(ここではBitVisor)が管理するページテーブル(図では「Intel EPT / AMD NPT」と記載)を介して、Host Physical Address (ホスト物理アドレス)に変換する機能です。従来はこの変換は、Shadow Paging(シャドウページング)という手法を用いてソフトウェアで実現する必要があったため、ページフォルトが発生するためにハイパーバイザに切り替えるためのオーバーヘッドがかかっていました。Nested Paging では、プロセッサのハードウェアにより変換がおこなわれるため、ハイパーバイザに制御が戻る必要がなくなるため、オーバーヘッドが減少します。

Intel の Unrestricted Guest 対応は、Windows などで残っているリアルモードへの対応をおこなうものです。従来の Intel CPU では、仮想化が有効になっている状態で、ゲスト OS がリアルモードに戻ることは出来ませんでした。そのため、ハイパーバイザで仮想8086モードを利用するなどして、リアルモード環境をエミュレーションする必要がありました。Unrestricted Guest に対応することにより、ゲスト OS がリアルモードに切り替わってもハイパーバイザが関与する必要がなくなるため、Windows などでオーバーヘッドが減少します。

Intel の VPID 対応は、TLB (Translation Lookaside Buffer) フラッシュのコストを削減するための機能です。TLB はページテーブルのエントリを CPU 内にキャッシュしたものですが、ハイパーバイザとゲスト OS では使用するページテーブルが異なるため、従来の Intel CPU ではゲスト OS とハイパーバイザ間との間でモードが切り替わるたびに TLB がフラッシュされていました。VPID は、ハイパーバイザやゲスト OS のアドレス空間にそれぞれ ID をつけるもので、タグ付きTLBとして知られているものと同等の機能です。VPID を TLB のエントリに付けることにより、ハイパーバイザとゲストOSのTLBエントリが混在することが可能になり、モード切替時に TLB 全体をフラッシュする必要がなくなります。

64bit Guest OS Support

64bitゲストOS対応

[64bit Guest OS]

図3:64bitゲストOS対応

64bitのゲスト OS が BitVisor 上で動作するようになりました。従来の BitVisor でも BitVisor 本体は 64bit で動作可能でしたが、一部命令の64ビットのエミュレーションに対応することにより、ゲスト OS も 64bit で動作可能になりました。

64bitのゲスト OS を動作させるためには、当然ですが CPU が 64bit 対応であることが必要で、BitVisor も 64bit でコンパイルしておく必要があります。

AMD Multiprocessor/Multicore Support

AMD マルチプロセッサ対応

[AMD SMP]

AMD のプロセッサを用いたマルチプロセッサ構成やマルチコアプロセッサに対応しました。

Fast Boot

起動高速化

ADvisor

Press Release

プレスリリース

PDF】【大学広報ページ

国産仮想化ソフトウェア「BitVisor」の最新版を公開
~セキュアVMの瞬時導入が可能に~

1.発表者

品川 高廣(東京大学情報基盤センター情報メディア教育研究部門 准教授)

株式会社イーゲル(代表取締役社長:端山 貴也)

2.発表のポイント

◆どのような成果を出したのか

特許出願中の技術「透過的バックグラウンド暗号化」により,BitVisorが提供する強力なセキュリティ機能であるセキュアVMを既存PC環境に瞬時に導入可能になりました.

◆新規性(何が新しいのか)

従来のシステムと異なり,暗号化やインストール作業の待ち時間が不要で,OSやハードウェアにも依存せず,既存PC環境を維持しつつ強力なセキュリティ機能を導入可能です.

◆社会的意義/将来の展望

PC環境からの情報漏洩は依然として大きな社会問題です.本技術でBitVisorが持つ機能の初期導入負担が軽減されるため,様々な組織での情報漏洩防止に効果が期待されます.

3.発表概要

東京大学情報基盤センター情報メディア教育研究部門の品川高廣准教授らの研究グループと,株式会社イーゲル(代表取締役社長:端山貴也)は,国産仮想化ソフトウェア「BitVisor」の最新版 (BitVisor 1.3) を公開しました.特許出願中の技術「透過的バックグラウンド暗号化」により,BitVisorが提供する強力なセキュリティ機能であるセキュアVMを,現在使用中のPC環境に対して瞬時に導入して,そのまま使い続けることが可能となりました.

セキュアVMとは,仮想化技術を応用してOSやハードウェアに依存せずに暗号化などの強力なセキュリティ機能を実現するものです.従来のBitVisorでは,既存のPC環境に導入するためには,ハードディスク全体の暗号化の完了を待つ必要がありました.

今回公開したBitVisor 1.3では,透過的バックグラウンド暗号化技術により,既存PC環境に対して瞬時に仮想化ソフトウェアを導入しつつ,暗号化の完了を待たずにそのまま使い続けることが可能になりました.これにより 初期導入負担が軽減され,政府機関や民間企業など様々な組織においてPCからの情報漏洩防止に効果が発揮されることが期待されます.

4.発表内容

東京大学情報基盤センター情報メディア教育研究部門の品川高廣准教授らの研究グループと,株式会社イーゲル(代表取締役社長:端山貴也)は,国産仮想化ソフトウェア「BitVisor」の最新版 (BitVisor 1.3) を公開しました.特許出願中の技術「透過的バックグラウンド暗号化」により,仮想化に基づく強力なセキュリティ機能であるセキュアVMを,現在使用中のPC環境に対して瞬時に導入して,そのまま使い続けることが可能となりました.

セキュアVMとは,2006年から2009年にかけて,内閣官房情報セキュリティセンター(NISC) の主導により提唱されたセキュリティ機能及びプロジェクトの名称です.仮想マシン (Virtual Machine = VM) の 技術を活用して,ハードディスクやネットワークなどの暗号化,ICカードによるID・鍵管理などを仮想化ソフトウェアでおこなうことにより,ユーザやOS(オペレーティングシステム)・ハードウェアに依存しない強力なセキュリティ機能を実現するものです.BitVisorは,セキュアVMを実現する仮想化ソフトウェアとして,平成18年度の文部科学省科学技術振興調整費による支援のもと,複数の大学や民間企業,政府組織が参加したプロジェクトで研究開発されました.現在は,東京大学の品川准教授らの研究グループと株式会社イーゲルが共同で引き続き様々な研究開発を進めています.

BitVisorが持つセキュアVM機能を既存PC環境に導入するためには,ハードディスクの内容を暗号化する必要があります.従来の技術では,暗号化作業はOSが稼働していない状態でおこなう必要があったため,ユーザは暗号化作業が完了するまでPC環境を使用することが出来ませんでした.近年のハードディスクは容量が大きく,暗号化は非常に時間がかかる作業です.例えば500GBの ハードディスクの暗号化には,比較的処理能力の高いPCでも9時間以上かかるという実験データがあります.これは業務等で使用中のPCにセキュアVM機能を導入する際に大きな障壁になるという声が寄せられていました.従来の類似システムでは,OSでバックグランドでの暗号化をおこなうことでユーザが使い続けられるものもありますが,仮想化に基づく強力なセキュリティ機能を活用するためには,OSに依存しない形で暗号化をおこなう必要があります.また,従来の仮想化ソフトウェアでは,インストール作業に時間がかかったり,既存のPC環境を維持できるとは限らなかったりするなどの制約がありました.

今回公開したBitVisor 1.3では,独立行政法人科学技術振興機構(JST)の競争的研究資金である研究成果最適展開支援プログラム(A-STEP) の支援のもと,既存PC環境を変更せずにBitVisorを導入したうえで,OSに依存しない形で透過的にバックグラウンドでの暗号化をおこなう技術を研究開発しました.この技術は,OS のデバイスドライバとハードウェアの間に入り込む形でハードディスクの読み書きを制御し,OSには従来と全く同じハードウェアであるかのように見せつつ,仮想化ソフトウェアでハードディスクの暗号化・復号処理をおこなうものです.これにより,既存PC環境に対して瞬時にセキュアVM機能を導入することが可能になりました.また,今回公開 したBitVisor 1.3では,透過的バックグラウンド暗号化技術に加えて,仮想化ソフトウェアとしての完成度を更に高めるための新機能追加や性能改善もおこなわれています.例えば,64ビットのゲストOSへの対応やIntel社製及びAMD社製のプロセッサへの対応強化,起動時間短縮などがおこなわれています.また,電気通信大学の大山恵弘准教授の研究成果もとりこんで,BitVisorからの画面表示機能も実現されています.

今回の研究開発により,既存PC環境に対してBitVisorやセキュアVM機能を導入する際の初期導入負担が軽減され,政府機関や民間企業など様々な組織におけるPC環境からの情報漏洩防止に効果が期待されます.また,BitVisorは,WindowsやLinuxが安定して動作する高い完成度・実用性を持ちつつ,修正BSDライセンスでオープンソースとして公開していることから,国内外の様々な学術機関や民間組織において,仮想化技術を用いたセキュリティやシステム管理などの研究プラットフォームとしても活用されています.今後も,仮想化ソフトウェアとしての完成度を高めて一般ユーザによる活用の機会を広めつつ,最先端の研究成果を積極的に取り込んで,広く一般社会に研究成果を還元していくことを目指していきます.

5.発表国際会議

会議録名:Proceedings of the 27th ACM Symposium On Applied Computing, pp. 1829-1836, Mar. 2012.
論文タイトル:Hypervisor-based Background Encryption
著者:Yushi Omote, Yosuke Chubachi, Takahiro Shinagawa, Tomohiro Kitamura, Hideki Eiraku, Katsuya Matsubara
DOI番号:10.1145/2245276.2232073
アブストラクトURL:http://dl.acm.org/citation.cfm?doid=2245276.2232073

6.問い合わせ先

国立大学法人東京大学
情報基盤センター情報メディア教育研究部門
准教授 品川高廣
TEL: 03-5841-3020

株式会社イーゲル
担当:北村,松原
TEL: 0422-50-2810
FAX: 0422-50-2811

7.添付資料

BitVisorホームページ
http://www.bitvisor.org/

Release Note

リリースノート

1. AMD-V Multi-processor/Multi-core Support Add multi-processor/multi-core support when using AMD-V. 2. 64-bit Guest OS Support Add 64-bit guest OS support. Changes are: + Add 64-bit emulation support of instructions that were previously supported up to 32-bit. + Add BT instruction with an immediate argument support. + Fix implementation of MOV CR, LGDT and LIDT instruction emulation. + Shadow page table: Add 1GiB page support. 3. Background Encryption Can encrypt the entire storage of disk while a guest OS is running. Tokyo University and IGEL Co., Ltd. have a patent claim on this implementation. This functionality must be provided as a separated patch because of license requirements. See bitvisor-1.3-bgenc.tar.gz for details. 4. Speed Up Speed up by using new features that were not implemented on prior processors. Changes are: + Add cache control (PAT and MTRR) support. + Add AMD-V RVI (NPT) support. RVI is used instead of shadow page tables if the VMM is 64bit compiled and RVI is available. + Add Intel VT-x VPID support. + Add Intel VT-x EPT support. EPT is used instead of shadow page tables if available. + Add Intel VT-x unrestricted guest support. This makes execution of real-address mode faster on Intel processors. 5. Speed Up Boot Time Changes to speed up boot time: + Let parsing ACPI DSDT running on application processors in parallel. + Reduce time for detecting processor clock. + Rearrange the initialization order. Call initialization in parallel if possible. 6. Drawing To Graphic Screen Add functions to draw bitmaps on a graphic screen. Changes are: + Add functions to draw graphics directly on frame buffers of some Intel graphic controllers. This is based on work by the ADvisor project at the Univ. of Electro-Comm. See http://www.ol.inf.uec.ac.jp/research/ advisor/ for details. This device driver can be enabled by CONFIG_VGA_INTEL_DRIVER. + Add the CONFIG_TTY_VGA option which outputs the VMM logs to the graphic screen by using the graphics-drawing function. 7. Speed Up Build Time and Parallel Build Support Parallel build support and speed up build time by improving Makefile. Changes are: + Add parallel build support by make -j. + Add dependency detection of header files to avoid unnecessary compilation. 8. OpenSSL Update Update OpenSSL to version 1.0.0g. Replace modified OpenSSL source files with original OpenSSL ones to make updating easier. 9. Bug Fixes and Small Improvements + Core o acpi: Use ACPI reset register for rebooting if available. o Shadow page table: Fix memory leak. o entry: Modify initial page table to support a large binary over 16MiB. o panic: Continue on the other processors if setvideomode fails. o panic: Reduce dumping text. o process: Use correct segment selectors. o svm: Remove a "SVM is not available." message on start up. o svm: Stop hooking CR8 register to improve performance of Windows 7 64-bit. o svm: Handle NMI and task switch to support restarting of Windows 7. o svm: Conceal hardware virtualization by supporting emulation of CPUID instruction. o vt: Remove a "VMX operation is not supported." message on start up. o vt: Fix panic if a page fault caused by shadow page tables occurs when a software exception (INT3, etc.) is generated. o vt: Stop hooking unnecessary exceptions to improve performance. + Compilation o Use common CFLAGS. o Fix compilation errors by CONFIG settings. o Add a -g option to an assembler. o Backtrace on panic can now be enabled/disabled by CONFIG_BACKTRACE. Backtrace on 64-bit environment is supported. + Crypto o Change random seed size to 1,024 bytes. o Get random seed from a TPM random number generator. + IDMan o Avoid using floating point instructions. + AHCI driver o Index-Data Pair mechanism support. This support resolves a problem that disk accesses by some BIOSes are not encrypted. o Change some behavior of issuing ATA commands from the VMM. + USB o UHCI driver: Fix race conditions between the VMM and the host controller in checking status. o UHCI driver: Remove at right timing. o UHCI driver, EHCI driver: Fix race conditions between sending and removing. o EHCI driver: Handle short packets properly. o EHCI driver: Support active QH overlay. o Call schedule() during busy-waiting in sending. o Mass storage class driver: Return HALT (STALL) when getting SECURITY PROTOCOL IN/OUT command. + Boot o loader: Add support for installation to a disk image. o login-simple: Fix link error on Ubuntu 11.10. + Tools o Collect source codes of tools that are usable on the guest OS such as dbgsh to "tools" directory. o Add source codes of vmmstatus (a tool displaying the VMM status on the guest OS by using a VMM function which can be enabled by CONFIG_STATUS and config.vmm.status). o AMD-V support. Known Issues * Disk accesses by BIOS cannot be encrypted on Lenovo ThinkPad X220. * Transferred data get broken during accessing to a USB flash drive via UHCI when using Linux guest.
1. AMD-V マルチプロセッサー・マルチコア対応 AMD-V 使用時のマルチプロセッサー・マルチコアに対応した。 2. 64 ビットゲスト OS 対応 64 ビットのゲスト OS に対応した。変更点は以下の通りである: + 32 ビットまでしか対応していなかった一部命令の 64 ビットのエミュレーショ ンに対応した。 + BT 命令の即値オペランドに対応した。 + MOV CR 命令、LGDT 命令および LIDT 命令のエミュレーションの実装を修正し た。 + シャドウページテーブル: 1GiB ページに対応した。 3. バックグラウンド暗号化 ATA/AHCI に接続されたストレージのバックグラウンド暗号化に対応した。本実装方 式は、東京大学と株式会社イーゲルの特許 (出願中) に基づいている。BitVisor の 他のコードとライセンス形態が異なるため、パッチ形式で同梱する。ライセンスの 詳細は、bitvisor-1.3-bgenc.tar.gz を参照されたい。 4. 高速化 以前のプロセッサーには搭載されていなかった新しい機能を使用することにより、 高速化した。変更点は以下の通りである: + キャッシュ制御 (PAT および MTRR) に対応した。 + AMD-V RVI (NPT) に対応した。VMM が 64 ビットでコンパイルされていて、か つ、RVI が使用可能であれば、シャドウページテーブルの代わりに RVI を使用 する。 + Intel VT-x VPID に対応した。 + Intel VT-x EPT に対応した。EPT が使用可能であれば、シャドウページテーブ ルの代わりに EPT を使用する。 + Intel VT-x の unrestricted guest に対応した。これは、Intel プロセッサー において real-address mode の実行を高速化する。 5. 起動時間短縮 起動時間を短縮するため、以下の変更を行った: + ACPI の DSDT 解釈処理を、他の処理と並行してアプリケーションプロセッサー で行うようにした。 + クロック周波数を取得するためのスリープ時間を短縮した。 + 初期化処理の順番を見直した。可能であれば並列に初期化処理を呼び出すよう にした。 6. グラフィック画面への描画機能 VMM からグラフィック画面にビットマップを描画するための機能を実装した。変更 点は以下の通りである: + 一部の Intel グラフィックスコントローラーのフレームバッファーに直接グラ フィックスを描画する機能を実装した。電気通信大学の ADvisor の成果に基づ いている。詳しくは http://www.ol.inf.uec.ac.jp/research/advisor/ を参照 されたい。本デバイスドライバーは CONFIG_VGA_INTEL_DRIVER によって有効に できる。 + グラフィックス描画機能によってグラフィック画面に VMM のログを出力するオ プション CONFIG_TTY_VGA を追加した。 7. 並列ビルド対応、ビルド時間短縮 Makefile を改良して、並列ビルドに対応し、ビルド時間を短縮した。変更点は以下 の通りである: + make -j による並列ビルドに対応した。 + ヘッダーファイルの依存関係を検出し、不必要なコンパイルを行わないように した。 8. OpenSSL 更新 OpenSSL をバージョン 1.0.0g に更新した。改変した OpenSSL ソースファイルの代 わりに、元のソースファイルを使用することで、更新が容易にできるようになっ た。 9. バグ fix と機能改善 + Core o acpi: 再起動に ACPI reset register が使用可能であれば使用するように した。 o シャドウページテーブル: メモリリークを修正した。 o entry: バイナリーが 16MiB を超えても対応できるようページテーブルを 修正した。 o panic: setvideomode に失敗しても他のプロセッサーで実行を継続するよ うにした。 o panic: ダンプ内容を減らした。 o process: 正しいセグメントセレクターを使用するようにした。 o svm: 起動時の "SVM is not available." メッセージを削除した。 o svm: Windows 7 64 ビット版の性能改善のため、CR8 レジスターの読み書 きをフックしないようにした。 o svm: Windows 7 の再起動対応のため、NMI およびタスクスイッチを処理す るようにした。 o svm: CPUID 命令のエミュレーションに対応し、仮想化支援機能を隠ぺいす るようにした。 o vt: 起動時の "VMX operation is not supported." メッセージを削除し た。 o vt: ソフトウェア例外 (INT3 など) 生成時にシャドウページテーブルが原 因のページフォールトが発生した場合 panic していた問題を修正した。 o vt: 性能改善のため、不必要な例外をフックしないようにした。 + コンパイル o 全体で共通の CFLAGS 設定を採用した。 o CONFIG 内容によって発生していたコンパイルエラーを修正した。 o アセンブラーにも -g オプションを指定するようにした。 o panic 時のバックトレースの有効・無効を CONFIG_BACKTRACE によって切 り替えられるようにし、64 ビット環境でのバックトレースにも対応した。 + Crypto o 乱数シードサイズを 1,024 バイトに変更した。 o TPM 乱数生成器が使用可能であれば、乱数シードにそれを使うようにし た。 + ID 管理機能 o 浮動小数点命令が生成されないように修正した。 + AHCI driver o Index-Data Pair mechanism に対応した。この対応により、一部の BIOS によるディスクアクセスの暗号化がされない問題が解決している。 o VMM からのディスクアクセス機能の挙動を一部変更した。 + USB o UHCI driver: ステータス判定においてホストコントローラーとの間で発生 する競合状態を解消した。 o UHCI driver: 削除処理を正しいタイミングで行うようにした。 o UHCI driver, EHCI driver: 送信処理と削除処理の競合状態を解消した。 o EHCI driver: ショートパケットを正しく扱うようにした。 o EHCI driver: アクティブな QH overlay に対応した。 o 送信処理におけるビジーウェイトで schedule() を呼び出すようにした。 o Mass storage class driver: SECURITY PROTOCOL IN/OUT コマンドに対し て HALT (STALL) を返すようにした。 + Boot o loader: ディスクイメージへのインストールができるようにした。 o login-simple: Ubuntu 11.10 でのリンクエラーを修正した。 + Tools o dbgsh などのゲスト OS 上で使用できるツールのソースコードを "tools" ディレクトリ以下に集めた。 o vmmstatus (CONFIG_STATUS および config.vmm.status により有効にでき る VMM の状態取得機能を用いて、ゲスト OS 上で状態を表示するためのツ ール) のソースコードを追加した。 o AMD-V に対応した。 既知の問題 * Lenovo ThinkPad X220 において BIOS のディスクアクセスを暗号化することができ ない。 * Linux ゲスト使用時、UHCI で USB メモリーのアクセス中に転送内容が壊れる。

News

  • 2012/ 9/26: BitVisor 1.3 is released.
  • 2012/ 9/24: The BitVisor Summit page is opened.
  • 2011/10/28: BitVisor 1.2 is released.
  • 2010/12/24: BitVisor 1.1.1 is released.
  • 2010/12/21: A manual for BitVisor 1.1, written by IGEL Co.,Ltd, is released.
  • 2010/ 6/ 4: BitVisor 1.1 is released.
  • 2009/ 8/ 7: BitVisor 1.0.1 is released.
  • 2009/ 3/31: BitVisor 1.0 is released.

ニュース

  • 2012/11/13: BitVisor Summit の参加募集を開始しました.
  • 2012/ 9/26: BitVisor 1.3 をリリースしました。
  • 2012/ 9/24: BitVisor Summit のページを公開しました。
  • 2011/10/28: 株式会社イーゲルがプレスリリースを発表しました。
  • 2011/10/28: BitVisor 1.2 をリリースしました。
  • 2010/12/21: 株式会社イーゲル作成による BitVisor 1.1 のマニュアルをリリースしました。
  • 2010/ 6/ 4: BitVisor 1.1 をリリースしました。
  • 2009/ 8/ 7: BitVisor 1.0.1 をリリースしました。
  • 2009/ 3/31: BitVisor 1.0 をリリースしました。

Overview of BitVisor

BitVisor の概要

「BitVisor」は、PC のセキュリティ向上を目的とした
ハイパーバイザ(仮想マシンモニタ)です。

What's BitVisor

BitVisor とは

セキュリティ目的のハイパーバイザ

BitVisor (ビットバイザー)は、PC のセキュリティ向上を目的として開発されたハイパーバイザ(仮想マシンモニタ)と呼ばれるシステムソフトウェアです。

強力なセキュリティの実現

BitVisor は、仮想マシンモニタとして OS よりも下で動作することにより、ユーザの操作やOSの機能に影響を受けることなく、確実かつ強制的にセキュリティ機能を実施することが出来ます。

純国産オープンソース・ソフトウェア

BitVisor は、ゼロからフルスクラッチで開発された純国産のソフトウェアで、バイナリ及びソースコードは BSD ライセンスで公開されています。

セキュアVMプロジェクトによる開発

BitVisor は、筑波大学を中心に実施された「セキュアVMプロジェクト」において、約2年間かけて開発され、平成21年3月31日にはバージョン 1.0 がリリースされています。

SecureVM Project

セキュアVMプロジェクトとは

BitVisor was initially developed by the SecureVM project, an R&D project in Japan initiated by NISC (National Information Security Center) and executed by several organizations centered around the University of Tsukuba. The purpose of the project is to prevent information leakages from desktop/laptop PCs which are commonplace in both government and corporate organizations.

セキュアVMプロジェクトとは、内閣官房情報セキュリティセンター(NISC)の主導のもと、文部科学省の競争的研究資金である科学技術振興調整費に採択された課題「高セキュリティ機能を実現する次世代OS環境の開発」の一環として実施された研究開発プロジェクトのことです。

セキュアVMプロジェクトは、大学(筑波大学、電気通信大学、慶應大学、東京工業大学、奈良先端科学技術大学院大学、豊田工業高等専門学校)、企業(NTTデータ、NEC, 富士通、日立製作所、ソフトイーサ、イーゲルほか)、政府機関(内閣官房情報セキュリティセンター、情報通信研究機構、情報処理推進機構ほか)の連携により実施されました。

Goals of BitVisor

BitVisor の目的

「BitVisor」の目的は、
PC 環境からの情報漏洩を防止することです。

Goals: "Preventing Information Leakage from PC"

情報漏洩の問題

情報漏洩の多発

近年、様々な組織(企業や官公庁、学校、病院など)において、個人情報などの機密性の高い情報が大量にコンピュータで管理されるようになっています。しかし、これらの情報が第3者に漏洩してしまう事件が頻繁に発生しており、非常に大きな問題となっています。

例えば、NPO 日本ネットワークセキュリティ協会(JNSA)の調査によると、2007年度に発生した個人情報漏洩事件は864件、情報が漏洩した人数は3,053万人に上り、想定損害賠償総額は2兆2,000億円以上とされています(「2007年度 情報セキュリティインシデントに関する調査報告書」より)。

PCからの情報漏洩

BitVisor では、このような多発している情報漏洩の問題のうち、特にデスクトップPCやノートPCなどのような、PC環境からの情報漏洩を防止することを目的としています。

PCはユーザの手元で使用されるため、サーバなどに比べるとセキュリティ管理が十分に行われていないことが多くなっており、情報漏洩が多発する要因の一つとなっています。

Goals: "Two Major Reasons of Information Leakage"

情報漏洩の原因

情報漏洩の2大原因

PC環境からの情報漏洩の主な原因には、大きく分けると「ストレージからの情報漏洩」と「ネットワークからの情報漏洩」の2つがあります(図1参照)。

PC環境からの情報漏洩

図1:PC環境からの情報漏洩

ストレージからの情報漏洩

ストレージからの情報漏洩は、PC本体やUSBメモリなどの紛失・盗難によって発生します。ストレージとは、情報を保存するための記憶媒体のことで、ストレージが第3者の手に渡ると、内部に保存されている個人情報などが読み取られてしまいます。

このようなストレージの紛失・盗難は、情報漏洩が発生する大きな原因の一つとなっており、JNSAの調査では2007年度において漏洩原因の37.1%を占めています。

ネットワークからの情報漏洩

ネットワークからの情報漏洩は、個人情報を含んだPCがウィルスに感染した場合などに発生します。日本においてもっとも顕著な例はWinnyなどのファイル共有ソフトを経由した情報漏洩で、PC内に格納された情報が無作為にインターネットに配布されてしまいます。

ファイル共有ソフトに起因する情報漏洩事件は依然として続いており、JNSAの調査では2007年度において総件数の16.1%を占めています。

Functions

BitVisor の機能と構成

「BitVisor」は、
仮想マシンモニタで暗号化と認証をおこない、
情報漏洩を確実に防止します。

Encryption and Authentication

情報の暗号化と認証

BitVisor では、ストレージ及びネットワークからの情報漏洩を防止するために、暗号化及び認証技術を用います。

ストレージの暗号化
ストレージ暗号化

ストレージからの情報漏洩を防止するために、ハードディスクや USB メモリ、CD-R/DVD-R などの内容を強制的に暗号化します。これにより、仮に PC や USB メモリが紛失したり盗難にあっても、復号するための鍵が無い限りその情報を読み取ることができなくなります。

ネットワークの暗号化・接続先の限定
ネットワーク暗号化

ネットワークからの情報漏洩を防止するために、VPN(仮想専用線)接続を利用して、PCからのパケットを強制的に暗号化します。また、VPN の接続先をあらかじめ指定したサーバに限定します。これにより、ネットワークの盗聴やウィルスによるインターネットへの情報漏洩を確実に防止することができます。

ICカードによる鍵管理・認証
ICカード

暗号化の鍵の管理やVPN接続の認証を安全におこなうために、国家公務員身分証明書でも用いられている Type B と呼ばれる方式の IC カードを用います。これにより、暗号化や認証の鍵を安全に保管できるほか、仮に IC カードまで紛失しても PIN を知らない限り鍵を使えないようにすることができます。

Security with Virtual Machine

仮想マシンによるセキュリティ

セキュアVMプロジェクトでは、既存の Windows などのOS(オペレーティングシステム)やアプリケーションをそのまま使えるようにするために、上記の暗号化・認証機能を OS やアプリケーションには一切依存しない形で実現します。これにより、従来の環境を大きく変えることなく情報漏洩を防止することができるようになるほか、例え OS にセキュリティ上の脆弱性があったとしても、暗号化・認証機能が損なわれることが無いことを保証できるようになります。

これを実現するために、セキュアVMプロジェクトでは、Windows などの OS は『セキュアVM』と呼ばれる安全な仮想マシン環境の中で動作させます(図2参照)。

SecureVM

図2:セキュアVMの構成

仮想マシン(VM: Virtual Machine)とは、ソフトウェアによって仮想的に作り出されたコンピュータのことです。仮想マシンは、OS から見るとあたかも本物のコンピュータと同じであるかのように見えるため、既存の OS やアプリケーションを改変することなくそのまま動作させることが可能です。

仮想マシンは、仮想マシンモニタ(VMM: Virtual Machine Monitor)と呼ばれるソフトウェアによって実現されます。仮想マシンモニタとは、OSと物理的なハードウェアの間に入って動作するソフトウェアのことです。従来のPC環境では、OSは物理的なハードウェアに直接アクセスしていたのに対して、仮想マシン環境では、OSは仮想マシンモニタが提供する仮想ハードウェアを通じてのみ物理的なハードウェアにアクセスすることができます。

『セキュアVM』では、仮想マシンモニタの機能で仮想マシンに対して暗号化などのセキュリティ機能を付加することにより、あたかもセキュリティ機能を最初から装備しているかのような「安全なコンピュータ」を仮想的に作り出しています。

また、『セキュアVM』は仮想マシンモニタやハードウェアからは完全に隔離された環境になっているため、仮想マシンモニタはセキュアVM内で動作する OS の脆弱性などに影響を受けることなく、安全かつ確実にセキュリティ機能を実現することができます。特に近年では、OS を丸ごと乗っ取ることが出来てしまう攻撃手法が増えつつあるほか、OS の高機能化・複雑化に伴って OS 自身の安全性を保つことが困難になりつつあることから、仮想マシンモニタのレイヤで根本的なセキュリティを実現する手法はますます有効になりつつあります。

Usecase

利用例

「BitVisor」を用いると、
USBメモリなどで情報を安全に持ち出したり、
社内LANなどの情報に安全にアクセスすることが出来ます。

Use Case

利用例

BitVisor を用いた場合のシステム構成例を図3に示します。

ユーザは、組織内のネットワークに接続されたPCから情報にアクセスすることが出来るほか、これらの情報を安全に外に持ち出してノートPCなどでアクセスすることも出来ます。

例えば、組織内のPCで情報をUSBメモリに格納すると、その情報は自動的・強制的に暗号化されます。従って、仮にUSBメモリを外部に持ち出して紛失したり盗難されたりしても、暗号化のカギを知られない限りは情報を読み取られることが無いため、情報漏洩は発生しません。

Structure

BitVisor の構成

「BitVisor」の構成は、
3つの「セキュリティモジュール」と、
デバイスを制御する各種「ドライバ」と、
仮想マシンモニタの「コア」からなります。

Functions

機能

セキュアVMプロジェクトで開発した仮想マシンモニタ「BitVisor」では、情報漏洩の防止を目的として、(1)ストレージ管理、(2)ネットワーク管理、(3)ID管理、の3種類のセキュリティ管理モジュールを内蔵しています(図1参照)。

ストレージ管理では、内蔵ハードディスク(ATA)やUSBメモリ、CD-R/DVD-Rなどのストレージデバイスの内容を暗号化します。暗号アルゴリズムには、IEEE で標準化されたストレージ向けの暗号規格である AES の XTS モード(IEEE 1619)を用いています。

ネットワーク管理では、VPN 接続を用いてネットワークパケットの暗号化及び接続先サーバとの認証をおこないます。VPN 接続のプロトコルには、IETF で標準化された IPsec (IPv4, IPv6) を用いています。

ID管理では、ICカードを用いてストレージ管理の暗号鍵や IPsec における公開鍵暗号認証の秘密鍵を安全に保管します。ICカードには、ISO/IEC で標準化された Type B と呼ばれる規格を用いています。

また、BitVisorには、上記の3種類のセキュリティモジュールを実行するための基盤となる、仮想マシンモニタのコア機能が含まれています。コア機能では、Intel VT という CPU の仮想化支援機構を利用して、仮想マシンモニタの機能を安全かつ効率よく実装しています。また、AMD-V という仮想化支援機構も実験的にサポートしており、Intel 社及び AMD 社の両方のマシンで動作します。

Feature

BitVisor の特徴

「BitVisor」の特徴は、
「準パススルー型」というユニークな構造により、
仮想マシンモニタを極めて小さく安全にできる点です。

BitVisor is a tiny hypervisor (Virtual Machine Monitor) for enhancing the security of desktop computers. It can be used as a basis for implementing various security services, such as intrusion detection and access control, in addition to built-in security services that can enforce encryption of storage and networks for preventing information leakages, by providing a facility for security services to intercept and manipulate I/O access from the guest OS in a secure and reliable fasion.

BitVisor(ビットバイザー)は、デスクトップPCやノートPCのセキュリティを向上させるための、非常に小さなハイパーバイザー(仮想マシンモニタ)です。ハイパーバイザー内のセキュリティモジュールでゲストOSからのI/Oアクセスを監視・変換する機能によって、ストレージやネットワークの強制的な暗号化、侵入検知、アクセス制御などの様々なセキュリティ機能を実施することが可能になります。ハイパーバイザー自身を極めて小さく保つことにより、ハイパーバイザー自身のセキュリティ・信頼性の向上及びオーバーヘッドの低減を実現しています。

The architecture of BitVisor

Figure 1: The architecture of BitVisor

The BitVisor hyperver is designed to minimize the size of the hypervisor, and hence the size of TCB (Trusted Computing Base), to improve the reliability of the hypervisor itself. Its unique architecture, called parapass-through, allows that most of the I/O access from the guest operating system to pass-through the hypervisor while I/O access critical to the security is completely mediated by security modules in the hypervisor.

The hypervisor requires no modification to guest OSs: Windows Vista/XP, Linux, FreeBSD, and other OSs can run on it. However, it depends on the specific hardwares, such as processors (with Intel VT or AMD-V), and I/O devices (currenty IDE, UHCI, Intel PRO/1000 devices to encrypt storage and networks). Since the purpose of the hypervisor is to enhance the security of desktop OSs, it does not support multiple VMs to run simultaneously.

Comparison

他方式との比較

OSによる暗号化

シンクライアント

仮想マシンモニタ

Download

ダウンロード

NameDateDescriptionDownload
BitVisor 1.3 bgenc 2012/9/26 The patch for background encryption bitvisor-1.3-bgenc.tar.gz
BitVisor 1.3 2012/9/26 The latest BitVisor hypervisor bitvisor-1.3.tar.gz
BitVisor 1.2 2011/10/28 The previous BitVisor hypervisor bitvisor-1.2.tar.gz
VPN (IPv4) 2008/3/19 A VPN (IPsec) client module for IP version 4 vpn_ipv4_only.tar.gz
VPN (IPv6) 2009/3/19 A VPN (IPsec) client module for IP version 6 vpn_ipv6_only.tar.gz

Sourceforge Download Page

Document

ドキュメント

NameDateDescriptionDownload
BitVisor Manual BitVisor マニュアル 2010/12/24 A manual for BitVisor 1.1 BitVisor 1.1 のマニュアル bitvisor-1.1-manual.pdf bitvisor-1.1-manual-japanese.pdf

Sourceforge Download Page

License

ライセンス

BitVisor is distributed under the terms of the modified BSD license.

BitVisor は修正版 BSD ライセンスの基で配布されます。

Copyright (c) 2007, University of Tsukuba All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University of Tsukuba nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Derivation

派生物

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)

本製品は OpenSSL プロジェクトによって開発された、OpenSSL Toolkit で利用するためのソフトウェアを含んでいます (http://www.openssl.org/)。

Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org. 5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project. 6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==================================================================== This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com). ====================================================================

Patent

特許

Trademark

商標

BitVisor® は日本及び米国における筑波大学の登録商標です。

BitVisor® is a registered trademark of the University of Tsukuba in Japan and United States.

Support

サポート

Mailing List

メーリングリスト

Currently we have mailing lists for users and developers (both in English). Please feel free to join us.

* Please note that we can not guarantee to respond your questions and requests due to limited human resources.

ユーザ向けと開発者向けのメーリングリスト(日本語)がありますので、ご自由に議論にご参加ください。

※現在の参加者は非常に少ないので、応答が得られない可能性もあります。予めご了承ください。

連絡先・問い合わせ先

有償サポート

株式会社イーゲルがBitVisorの導入支援及びコンサルティングなどの有償サービスを提供しています。ご興味のある方は、下記までお問い合わせください。

株式会社イーゲル  所在地: 〒180-0006 東京都武蔵野市中町1-13-3 ホーメスト武蔵野ビル8F  主要業務: IT技術、システム設計・構築に関するコンサルテーションと開発業務  設立:  1998年8月13日  資本金: 11,000,000円  ホームページ:http://www.igel.co.jp BitVisorに関するお問い合わせ先  担当: 株式会社イーゲル 北村、松原  TEL: 0422-50-2810  FAX: 0422-50-2811  E-mail: contact atmark igel.co.jp
研究内容

BitVisorの研究に関するお問い合わせは、下記までお願いいたします。

東京大学情報基盤センター 情報メディア教育研究部門 品川高廣(准教授) ホームページ: http://www.os.ecc.u-tokyo.ac.jp E-mail: shina atmark ecc.u-tokyo.ac.jp
本ホームページ

本ホームページに関するお問い合わせは、下記までお願いいたします。

E-mail: webmaster atmark bitvisor.org