※ 本ブログは、2017年2月6日にBromium BlogにポストされたVirtualization-Based Security with a Subatomic Footprint!の日本語訳です。
前回のブログ「ワープスピードでクライアントサイドの仮想化セキュリティを実現!」では、最近のリリースでBromium Secure Platformに行った驚くべきパフォーマンスの向上についてお話しし、負荷時のリソースフットプリントをBromiumなしで消費されるリソースと同等(場合によってはそれ以下)に削減した方法をご紹介しました。
前回のブログの最後にBromiumチャンネルのYouTubeビデオへのリンクがあり、Bromiumを使用しているラップトップと使用していないラップトップを並べて比較しています。ラップトップはWindows 8.1を実行しており、8GBのRAMを搭載していました。この2年間、新しいハードウェアを購入されるお客様のほとんどが6~8GB RAMをベースラインとして選択されていることがわかっています。6 GB RAM+をお持ちの場合、メモリの観点からBromiumの仮想化ベースのセキュリティを実行することに問題はありません。しかし、今日の企業のデスクトップやラップトップの中には、4GB RAMしか搭載していないデスクトップやラップトップが多数存在しており、今後もしばらくの間使われることが予想されます。
ご覧ください:Bromiumがユーザーエクスペリエンスを最適化
仮想化について何かを知っている人は誰でも、仮想化がメモリを多く消費にすることを知っています。そのため、4GBのRAMを持つエンドポイント上で堅牢な仮想化ベースのセキュリティエンジンを実行することは、かなりの挑戦であることは真実です。しかし、当社には地球上で最高の仮想化エンジニアと Windows パフォーマンスの専門家がいますので、これは喜んで受け入れることができる挑戦でした。
Bromiumの最新の3.2 Update 5リリースで、4GB RAMのデバイスで動作するだけでなく、優れたユーザー体験を提供できることを報告できることを嬉しく思います。この点を証明するために、私はeBayに行き、テストのために第一世代のi3 CPUを搭載した6年前のラップトップを購入しました。購入したのはこのようなスペックです。
Windows 7 Enterprise 32 ビットをロードして、内部の Active Directory 環境に接続しました。また、バックグラウンドで余分なリソースを消費する標準的なエンタープライズツールがあることを確認するために、以下の追加ソフトウェアをロードしました。
以前のブログで述べたように、私はユーザーの活動をシミュレートするために書いたAutoIT自動化スクリプトの豊富なコレクションを持っています。6分間で7つのウェブサイトを閲覧するWindows 8.1のラップトップで使用したのと同じスクリプトを使用しました。テストの間、OutlookとSkypeの両方が開いていて、テストの全体の期間中、それらのサーバーに接続されていました。私はまたテストの全体にわたり詳しい性能情報のログを集めました。
では、この古いラップトップは、Bromiumの有無の場合にどのようにパフォーマンスを発揮したのでしょうか?私はBromiumを有効にした場合に、非常によく動き良いユーザー体験を提供したと言えることに満足しています! 私も数日間、私の主要な毎日のデバイスとしてこのラップトップを使用するところまで行って、私は何の問題や不満を持っていませんでした。この古いデバイスを使ってこのブログを書いたこともあります。さて、数字を見てみましょう!
私は3つのシナリオを使用してテストを実行しました...
以下のチャートは、追跡された主要な CPU、メモリ、ディスクの測定値をハイライトしたものです。Min MEM Availを除いて、数値は低い方が良いということを覚えておいてください。使用可能な最小メモリの量(Mim MEM Avail)は多いほど良いです。
シナリオ | CPU | Min MEM Avail | ディスク総MB | IOPS |
Bromium無し | 37% | 466 MB RAM | 439 MB | 27 IOPS |
Bromium 3.2 U5 | 34% | 643 MB RAM | 1189 MB | 28 IOPS |
Bromium 3.2 U5 + TPL | 20% | 666 MB RAM | 744 MB | 16 IOPS |
上記の数字からわかるように、この4GBのラップトップでは、テスト中にBromiumを使用した場合、使用しなかった場合に比べて、実際に使用したCPUとメモリが少なくなりました。驚くべきことに、4GBのデバイスであっても、Bromiumの両方のシナリオでは、Bromium無しのテストよりも約200MB多くの空きメモリを使用することができました。ページファイルの使用量は、すべてのテストシナリオ間でほぼ同じでした(ピーク時のページファイル使用量は260~310MB)。以前のブログで述べたように、Bromiumに組み込まれた強化された広告ブロック機能により、トラッキング保護ポリシーを使用したBromiumテストでは、CPU使用量が大幅に削減されました。実際、トラッキング保護を使用した場合、Bromiumを使用していないネイティブIEと比較して、CPU使用量を54%も削減することができました!
では、どのように実現しているのでしょうか?どうやって仮想化エンジンのメモリ利用を素粒子並みに縮小できるのでしょうか?Bromiumの特許を取得した知的財産がたくさんありますが、いくつかの魔法は、インテルCPUに組み込まれたExtended Page Table (EPT)と呼ばれる高度な仮想化機能を利用する巧妙な方法が含まれています。AMDの同等の技術は、Rapid Virtualization Indexing (RVI)です。これが、Bromiumを実行するためにVT-xやAMD-Vに加えてEPTやRVIが必要な理由です。幸いなことに、2010年以降にリリースされたほとんどのIntelとAMDのCPUは、これらの機能を持っています。
これらのCPU機能に加えて、いくつかの気の利いたメモリ重複排除と圧縮技術を採用し、ローカルOS上のネイティブアプリが必要とするものよりも小さい物理的なスペースに、信じられないほどの数の仮想マシンを押し込むことができます!これがBromiumを実行するために、VT-xまたはAMD-Vに加えて、EPTまたはRVIが必要な理由です。秘密のソースの最後の部分は、ディスクリソースを活用する巧妙な方法です。マイクロVMがアクティブでなくなった場合、そのメモリを重複排除、圧縮、合体して大規模なシーケンシャルIO処理を行うことができます。実質的にマイクロVM全体をサスペンドして、60~100MBのディスクスペースを使ってディスクに書き込むことができます。この古いレノボのラップトップにあるような古いハードディスクでも、大規模なブロックIOを非常に効率的に処理できるので、SSDを必要とせずに優れたパフォーマンスとユーザーエクスペリエンスを維持できます。
ハードディスクは、小さなファイルをたくさん処理するよりも、シーケンシャルIOを使用して大きなファイルを処理する方がはるかに優れたパフォーマンスを発揮します。これが、1,000個の小さな100 KBのファイルを同じスペースにコピーするよりも、1つの100 MBのファイルをコピーする方がはるかに速くコピーできる理由です。古いハードディスク上でBromiumを実行している場合、ディスクの15%の空き容量を維持し、ディスクをデフラグしておくことで、大規模なブロックIOが過度に断片化されず、Bromiumのパフォーマンスを高速化することができます。
上のチャートに含まれているディスク総MB数とIOPS値を見ることで、大規模なシーケンシャルIOの効果を確かめることができます。Bromium利用テストでは、双方ともディスクへの読み書きされたMBの総量が多いですが、TPLを有効にしたBromiumテストのIOPSは、Bromium無しのテストよりも著しく低いことに注目してください。標準ポリシーを使用したBromiumテストのIOPSは、Bromium無しのテストとほぼ同じでした。どのようにして、これほど多くのデータをディスクに読み書きしながら、同じかそれ以下のIOPSを使用することができるのでしょうか?それはすべて大規模なシーケンシャルIOのおかげです。Bromium無しのシステム上のネイティブブラウザは、何千もの小さなランダムIOPSをディスクに送信しますが、BromiumはそれらのIOPSをRAMにキャプチャし、ディスクに到達する前にそれらを圧縮して大規模なブロックIOに統合します。
もう十分でしょう。下のビデオをチェックして、Bromium がどのように動作するかを示すテストを見ることができます。私はテストのビデオを録画し、同僚のAndy Winiarksiが素晴らしい解説をつけてくれました。ぜひフルスクリーンでご覧ください。
Bromiumの最新の技術革新により、Windows 7、Windows 8.1、またはWindows 10を実行しているわずか4GB RAMのデバイスに仮想化ベースのセキュリティの力をもたらすことができます。私の言葉を鵜呑みにせずに、ご自身でテストする方法については、私またはお近くのブロミウム販売代理店までお問い合わせください。
Author : Dan Allen
監訳:日本HP