BitVisorドキュメント集

ネットの海に散らばるBitVisorのドキュメントをまとめたもの．多分3年ぐらい前にまとめたものなので若干古いです[^1]．

[^1]: SSDの奥底で発見した．

今見るといろいろあれな部分もありますが折角なので公開しておきます（後で更新できるといいね）

## 公式サイト
- 公式サイト: http://bitvisor.org/
- Twitter: https://twitter.com/BitVisor_en
- Facebook: http://www.facebook.com/bitvisor
- 旧サイト (ドメイン切れ)
    - セキュアVMプロジェクトのページ : http://www.securevm.org/index.html

## ソースコード
- 公開リポジトリ: https://bitbucket.org/bitvisor/bitvisor
- オンライン閲覧 (GNU global): http://bitvisor.org/bitvisor/HTML/

## ユーザマニュアル
- bitvisor1.1 マニュアル: https://sourceforge.net/projects/bitvisor/files/bitvisor/documents/manual/
    - 古い..

## メーリングリスト
### 開発者用メーリングリスト
- 日本語 : https://www.bitvisor.org/mailman/listinfo/bitvisor-devel
    - アーカイブ: http://www.bitvisor.org/archives/bitvisor-devel/
- 英語 : https://www.bitvisor.org/mailman/listinfo/bitvisor-devel-en
    - アーカイブ : http://www.bitvisor.org/archives/bitvisor-devel-en/

### ユーザ用メーリングリスト
- 日本語 : https://www.bitvisor.org/mailman/listinfo/bitvisor-users
    - アーカイブ: http://www.bitvisor.org/archives/bitvisor-users/
- 英語 : https://www.bitvisor.org/mailman/listinfo/bitvisor-users-en
    - アーカイブ: https://www.bitvisor.org/mailman/listinfo/bitvisor-users-en

---------------------------------------------------------------------------

## 開発者向け情報
## コンパイル / インストール方法
- BitVisorのコンパイル: http://qiita.com/shina/items/8579d1c17962b0842431
- BitVisor のインストール（USBメモリ）: http://qiita.com/shina/items/91b24aea331214650c54
- BitVisor のインストール（ローカルディスク）: http://qiita.com/shina/items/97b0ede50a6c1e85eb0a
- Mac
    - MacでBitVisor : http://qiita.com/hdk_2/items/6c73aac9df758dc896c1
    - El Capitan以降SIPを無効化しないとrEFindがインストールできない


## configファイル
- BitVisorのvmm.driver.pciの指定の仕方 : http://qiita.com/hdk_2/items/f906c352f44a2afa6ad9

### 開発環境構築 / 開発テクニック
- ネットワークブート
    - iPXEでBitVisorをネットワークブートしよう : http://tokikane-tec.blogspot.jp/2015/02/ipxe-bitvisor.html
    - BitVisorをネットワークブートする : http://qiita.com/nvsofts/items/62f96dff5340b9d7c851
    - Summon the VMM from the Moon : http://yushiomote.org/vmmfly/
- 僕の考えたさいきょーのVMM開発環境 : http://www.slideshare.net/DeepTokikane/k-vm-slide-1
- 僕的BitVisor デバッグ法 : http://qiita.com/deep_tkkn/items/26a4374d203206aa727e
- bitvisor.elf を objdump したらなんかおかしい時の対策 : http://qiita.com/deep_tkkn/items/a7df90e4d4085f7850df
- Customizing BitVisor 1.3 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-04-matsubara.pdf

### ログの取得
- シリアルコンソール
    - `CONFIG_TTY_SERIAL=1`
- ネットワーク経由
   - BitVisor のログをネットワーク経由で出力する方法 : http://qiita.com/deep_tkkn/items/ee6563aafb0d33de8450
   - BitVisorネットワークログ出力 (syslog編) : http://qiita.com/hdk_2/items/2431710fcf257904fc8a

### VMM呼び出し
- BitVisorにVMMCALLを追加する : http://qiita.com/deep_tkkn/items/ca794e66c25df9a9bf66

### I/Oフック
- BitVisor のIOフック処理の概要 : http://qiita.com/deep_tkkn/items/00f3b5f7b971055cd481

### MMIOフック
- BitVisor を使ってHPET に悪戯してみる (BitVisor でMMIOをフックする一例) : http://qiita.com/deep_tkkn/items/7cbcf22b760790356896

### PCIデバイス
- BitVisorのPCIデバイスI/Oモニター : http://qiita.com/hdk_2/items/e3f2f38a08f2c1c30ec5

### ストレージ関連
- ATA/AHCIドライバの改造によるお手軽データ監視と加工 : http://qiita.com/y_oyama/items/b2c7dc8e35d0f3aef368

### ネットワーク関連
- lwIP
    - TCP/IP on BitVisor : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-09-omote.pdf
        - ちょっと情報が古い
- virtio
    - bitviorでvirtio-net : http://iorin.hatenablog.jp/entry/2015/12/03/204653

### その他
- BitVisor内で浮動小数点演算の利用
    - http://www.bitvisor.org/archives/bitvisor-devel/2016-December/000090.html

---------------------------------------------------------------------------

## BitVisor Internal
- BitVisorのコーディングスタイル: http://qiita.com/hdk_2/items/3c74c2f166c83db17c87
- BitVisor本体のブート仕様 : http://qiita.com/hdk_2/items/b73161f08fefce0d99c3
    - BitVisor ブート時に通るソースコードを辿ってみる : http://qiita.com/deep_tkkn/items/a05f87749ee352547e40
        - call_initfunc と INITFUNC マクロについて : http://qiita.com/deep_tkkn/items/a05f87749ee352547e40#call_initfunc-%E3%81%A8-initfunc-%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
        - BitvisorのINITFUNCマクロの読解に挑戦 : http://d.hatena.ne.jp/big-eyed-hamster/20090405/1238868778
- BitVisorの仮想メモリーマップ: http://qiita.com/hdk_2/items/6c7aaa72f5dcfcfda342
- BitVisorのVMM呼び出しAPI: http://qiita.com/hdk_2/items/c8c47ac91ab59b75549c
- BitVisorのlist.h, spinlock.hとtoken.hの説明 : http://qiita.com/hdk_2/items/e16db6c6480b73e17f8d
- BitVisorのUEFI対応 : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-03-eiraku.pdf

---------------------------------------------------------------------------

## bitvisor応用
### 論文
- BitVisor: A Thin Hypervisor for Enforcing I/O Device Security (VEE'09) : www.os.ecc.u-tokyo.ac.jp/papers/vee2009-shina.pdf
    - 被引用論文 : https://scholar.google.co.jp/scholar?cites=12272610833168126550

### マルウェア関連
- FFR GreenKiller - BitVisorをベースとしたカーネルマルウェアの自動解析システム : https://www.bitvisor.org/summit/slides/BitVisor-Summit-07-murakami.pdf
- BitVisorのためのマルウェアの検出機能 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-08-kawasaki.pdf
- BitVisorへのシステムコールトレース機能追加によるマルウェアアナライザの実現 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-09-otsuki.pdf
- Hypervisor-based prevention of persistent rootkits (SAC'10) : http://dl.acm.org/citation.cfm?id=1774131
- Detecting malware signatures in a thin hypervisor (SAC'12) : http://dl.acm.org/citation.cfm?id=2232070

### ストレージ暗号化
- セキュアVMを支える暗号技術 (第2回セキュアVMシンポジウム) : http://www.securevm.org/svms2-slides/svms2-omote.pdf
- Hypervisor-based background encryption (SAC'12) :  http://dl.acm.org/citation.cfm?id=2232073

### ADvisor
- ADvisor: A Hypervisor for Displaying Images on a Desktop : http://ieeexplore.ieee.org/document/7052219/?arnumber=7052219
- 関連資料のまとめ :  http://qiita.com/y_oyama/items/088e6ccc29af3144a5b5#%E8%B3%87%E6%96%99%E3%82%84%E7%99%BA%E8%A1%A8
- BitVisorのADvisor機能の利用: http://qiita.com/y_oyama/items/088e6ccc29af3144a5b5

### TinyVisor
- bitvisorで2つOSを動かす (!?)
- ソースリポジトリ: https://ja.osdn.net/projects/tinyvisor/
- TinyVisorの開発と設計 (bitvisor summit2) : http://iij.dl.osdn.jp/users/2/2925/TinyVisor%E3%81%AE%E9%96%8B%E7%99%BA%E3%81%A8%E8%A8%AD%E8%A8%88.pdf

### DeviceDisEnabler
- 不要なデバイスの無効化
- https://www.bitvisor.org/summit4/slides/bitvisor-summit-4-4-suzaki.pdf

### SSLWatcher
- SSL/TLS通信監視
- https://www.bitvisor.org/summit4/slides/bitvisor-summit-4-8-hirai.pdf

### ベアメタルクラウド関連
- Improving Agility and Elasticity in Bare-metal Clouds (ASPLOS'15) : http://dl.acm.org/citation.cfm?id=2694349
- OS-Independent Live Migration Scheme for Bare-Metal Clouds (UCC'15) : http://ieeexplore.ieee.org/document/7431398/?arnumber=7431398

### Fault Injection
- Testing device drivers against hardware failures in real environments (SAC'16) : http://dl.acm.org/citation.cfm?id=2851740

### その他
- 2011 Kernel/VM Advent Calendar 31 日目 @hdk_2: BitVisor を OS に仕立ててみる: http://misc.e-hdk.com/benkyokai/2011-kernel-vm-advent-calendar-31st

---------------------------------------------------------------------------
## セキュアVMワークショップ (08/11/18) : http://www.securevm.org/svmw.html
- セキュア VM プロジェクトの概要 : http://www.securevm.org/svmw-slides/20081118-svmw-1-kato.pdf
- セキュア VM「BitVisor」のアーキテクチャ概要 : http://www.securevm.org/svmw-slides/20081118-svmw-2-shina.pdf
- PC の仮想化支援機能と BitVisor コア技術詳細 : http://www.securevm.org/svmw-slides/20081118-svmw-3-eiraku.pdf
- Bitvisor と I/O 仮想化技術 : http://www.securevm.org/svmw-slides/20081118-svmw-4-horie.pdf
- BitVisor における USB の仮想化方式 : http://www.securevm.org/svmw-slides/20081118-svmw-5-matsubara.pdf
- BitVisor における透過的な VPN 処理の設計と実装 : http://www.securevm.org/svmw-slides/20081118-svmw-6-nobori.pdf

## 第2回セキュアVMシンポジウム「仮想化とセキュリティ」 (08/3/19)
- セキュアVMプロジェクトの概要 : http://www.securevm.org/svms2-slides/svms2-kato.pdf
- セキュアVMのアーキテクチャ概要 : http://www.securevm.org/svms2-slides/svms2-shina.pdf
- 我が国のセキュリティ政策の現状と方向性 : http://www.securevm.org/svms2-slides/svms2-toyouchi.pdf
- セキュア・プラットフォームプロジェクトと当社取組み
- セキュアVMを支える暗号技術 : http://www.securevm.org/svms2-slides/svms2-omote.pdf

## 第3回セキュアVMシンポジウム「仮想化とセキュリティ」 (09/3/24)
- http://www.securevm.org/svms3.html

---------------------------------------------------------------------------

## Bitvisor summit

### Bitvisor summit 1 (12/12/4): https://www.bitvisor.org/summit/
- BitVisorの現状と今後 : http://www.slideshare.net/shinagawa/20121204-bitvisor-summit
- 準パススルー型VMM開発の難しいところ : https://www.bitvisor.org/summit/slides/BitVisor-Summit-02-eiraku.pdf
- BitVisorをベースとした既存Windowsのドライバメモリ保護 :  http://www.slideshare.net/suzaki/bitvisorwindows
- Customizing BitVisor 1.3 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-04-matsubara.pdf
- BitVisorによる動画像を対象とした著作権保護 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-05-koshimizu.pdf
- BitVisorを用いたメッセージ表示システム : https://www.bitvisor.org/summit/slides/BitVisor-Summit-06-oyama.pdf
- FFR GreenKiller - BitVisorをベースとしたカーネルマルウェアの自動解析システム : https://www.bitvisor.org/summit/slides/BitVisor-Summit-07-murakami.pdf
- BitVisorのためのマルウェアの検出機能 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-08-kawasaki.pdf
- BitVisorへのシステムコールトレース機能追加によるマルウェアアナライザの実現 : https://www.bitvisor.org/summit/slides/BitVisor-Summit-09-otsuki.pdf
- TwitVisor : http://www.slideshare.net/shimada_201220655/twitvisor-15590623

- 参加者のブログ
    - BitVisor Summit : http://blog.livedoor.jp/hkoie/archives/54292111.html

### Bitvisor summit 2 (13/12/6): https://www.bitvisor.org/summit2/
- BitVisorの現状と今後 : http://www.slideshare.net/shinagawa/bitvisor-summit-2
- TinyVisorの開発と設計 : http://sourceforge.jp/downloads/users/2/2925/TinyVisor%E3%81%AE%E9%96%8B%E7%99%BA%E3%81%A8%E8%A8%AD%E8%A8%88.pdf
- BitVisorのUEFI対応 : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-03-eiraku.pdf
- BitVisorにおけるゲストOS・保護ドメイン・USB ドングル間の遠隔手続き呼び出し : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-04-shinjo.pdf
- ケーススタディ：BitVisorにおけるバイナリBLOB USBドライバの利用 : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-05-kitamura.pdf
- BitVisorのためのOSの状態復元機能 : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-06-kawasaki.pdf
- Live Migration on BitVisor : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-07-fukai.pdf
- ネットワークによるADvisor機能の拡張 : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-08-yamamoto.pdf
- TCP/IP on BitVisor : https://www.bitvisor.org/summit2/slides/bitvisor-summit-2-09-omote.pdf

- 参加者のブログ
    - BitVisor Summit 2 : http://blog.livedoor.jp/hkoie/archives/54676445.html

### Bitvisor summit 3 (14/11/21): https://www.bitvisor.org/summit3/
- BitVisorの現状と今後 : http://www.slideshare.net/shinagawa/bitvisor-summit-3
- The Current Status of BitVisor 1.5(仮) : https://www.bitvisor.org/summit3/slides/bitvisor-summit-3-02-eiraku.pdf
- OSb: OSv on BitVisor : http://www.slideshare.net/yushiomote/osb-osv-on-bitvisor-2
- BitVisor 用のストレージスナップショット機能の実装 : https://www.bitvisor.org/summit3/slides/bitvisor-summit-3-04-okuno.pdf
- BitVisor によるライブマイグレーション機構のNIC対応
- ブランチトレース機能を用いたゲストOS上のプロセス観測手法
- BitVisor on KVM?

- 参加者のブログ
    - BitVisor Summit 3 : http://blog.livedoor.jp/hkoie/archives/55024440.html

### Bitvisor summit 4 (15/11/26): https://www.bitvisor.org/summit4/
- BitVisorの現状と今後 : http://www.slideshare.net/shinagawa/20151126-bitvisor-summit-4
- Unsafe Nested Virtualization : https://www.bitvisor.org/summit4/slides/bitvisor-summit-4-2-eiraku.pdf
- ライブマイグレーション実装で体験したデバッグの解説 : http://www.slideshare.net/DeepTokikane/ss-55731874
- 不要なデバイスを無効化するハイパーバイザー DeviceDisEnabler : https://www.bitvisor.org/summit4/slides/bitvisor-summit-4-4-suzaki.pdf
- BitVisor上の独自機能に対するテストの試み
- ADvisor機能を応用した有害画像の視覚的規制
- drivisor internal: How to conceal and disguising real device
- SSLWatcher: SSL/TLS通信を監視し警告するハイパバイザ : https://www.bitvisor.org/summit4/slides/bitvisor-summit-4-8-hirai.pdf

- 参加者のブログ
    - BitVisor Summit 4 : http://blog.livedoor.jp/hkoie/archives/55424033.html

### Bitvisor summit 5 (16/11/30): https://www.bitvisor.org/summit5/
- BitVisorの現状と今後
- BitVisor 2016年の主な変更点
- Virtualize APIC accessによるAPICフック手法
- xHCI driver implementation
- TinyVisorを動作させる際に体験したエラーの共有，解説
- BitVisor内蔵のlwIPでAlkanetのログ送信を試みる
- BitVisor と KVM の性能比較の落とし穴 & BitVisor Advent Calendar について

- 参加者のブログ
    - BitVisor Summit 5 : http://blog.livedoor.jp/hkoie/archives/55568028.html
    - BitVisor Summit 5 参加報告 : http://qiita.com/deep_tkkn/items/aaa7a3553a7f8dd296fb

---------------------------------------------------------------------------

## Bitvisor advent calender
- 2015: http://qiita.com/advent-calendar/2015/bitvisor
- 2016: http://qiita.com/advent-calendar/2016/bitvisor
- 2017: http://qiita.com/advent-calendar/2017/bitvisor
- 2018: http://qiita.com/advent-calendar/2018/bitvisor
- 2019: http://qiita.com/advent-calendar/2019/bitvisor

---------------------------------------------------------------------------

## vThrii
- vThrii Seamless Provisioning / in Campus Device
    - http://www.igel.co.jp/newstopics/2015.html#201511
    - https://www.canon-its.co.jp/news/detail/20151116incampus.html
    - ECCS 端末の vThrii について : https://www.itc.u-tokyo.ac.jp/DigitalLife/vol27/Digital%20Life%20Vol27_lo.pdf
    - Asciiの記事
        - キヤノンITS、文教向け端末管理製品「in Campus Device」(15/11/16): http://ascii.jp/elem/000/001/078/1078416/
        - 東大のiMacはハイパーバイザー型仮想化環境でEl CapitanとWindows 10が動く (16/4/26) : http://ascii.jp/elem/000/001/155/1155369/
        - インストール不要で複数OSが高速起動する東大の変態Mac (16/5/18): http://ascii.jp/elem/000/001/162/1162651/
        - 東大変態Macを支えるApple抜きオールジャパン体制に胸熱！(16/6/28) : http://ascii.jp/elem/000/001/181/1181310/
- vThrii System Tweaks : http://www.igel.co.jp/newstopics/2014.html#20140926vThriiST

## 記事
- 日本発の仮想マシンはどのように作られたか : http://itpro.nikkeibp.co.jp/article/OPINION/20090415/328515/