Windows 10に組み込みのウイルス対策機能「Windows Defender Antivirus」では、新たに“サンドボックス化”が計画され、開発が進められていることが公表されました。Windows 10 バージョン1703以降なら既に試せるようになっています。でも、ちょっと待ってください。
Microsoftは2018年10月末、以下の公式ブログ記事で「Windows Defender Antivirus」がサンドボックス内で実行可能になることをアナウンスしました。
このブログ記事では、サンドボックス化の利点に加え、サンドボックス化するための課題(パフォーマンス、機能性、オーバーヘッドなど)をいかにしてクリアしてきたか、あるいはクリアしようとしているのかが説明されています。
そして、Windows Insider Programでこの機能を有効化し、フィードバックデータを分析して改善していくと説明されています。Windows 10 バージョン1703(Creators Update)以降のWindows Defender Antivirusを利用している場合は、一般ユーザーでも有効化できることが示されていますが(無効化の方法もありますが、ちゃんと説明されていません!)、開発途上の機能であり、決して完成された機能ではありません。
このアナウンスを受け、「この機能を有効化することをお勧めする」というIT系メディアの記事を目にしました。でもちょっと待ってください。発表されたばかりで、Windows Insider Programでテストが始まろうとしている機能を「お勧めする」ことに、筆者は全く同意できません。
そもそも筆者はサードベンダーのマルウェア対策製品を利用しているのですが、Windows Defender Antivirusを利用していたとしても、現時点では本番環境で有効化することはないでしょう。考えてもみてください。インフルエンザを予防しようと病院に行ったら、「臨床試験が始まったばかりですが、全く新しいアプローチで安全性が大いに期待できる未承認のワクチンがあります。お勧めしますよ、どうします?」なんて言われても普通は断りますよね。Windows Insider Programの目的は、幅広く治験データ(フィードバックデータ)を集めることであって、まだ知られていない副作用がないとも限りません。
Windows Defender Antivirusの機能強化や改善に、ぜひともボランティアとして協力したいという一般ユーザー(Windows Insider Programに参加していないユーザー)、あるいは競合企業で実装に興味がある技術者、セキュリティ研究者として新技術に興味があるといった明確な理由がない限り、筆者は決してお勧めしません。
有効性が確認され、問題がないようなら、そのうちWindows Defender Antivirusの正式な機能として利用可能になるでしょう。Windows 10の機能更新プログラムや品質更新プログラムの品質問題(重大なバグ)がたびたび指摘される中、この機能だけはちゃんと機能し、パフォーマンスも劣化しないと信じることができるでしょうか。
つい最近、ユーザーの同意を求めることなく、UWPアプリにファイルシステムへのアクセスを許可してしまう未修正のバグの存在が話題になったばかりです。このバグがWindows Defender Antivirusのサンドボックス環境には影響しないという保証なんて現時点では得られません。
未完成の機能であるということを理解いただいた上で、“Windows Defender Antivirusのサンドボックス化”とはどういうことなのか、見ていきましょう。
「サンドボックス」とは、幼児のために用意された砂場のように、外部から隔離された安全な環境のことです。外部へのアクセスや外部からのアクセス、特権の使用などが制限されたアプリプロセスの実行環境であり、さまざまな実装方法があります。“Windows Defender Antivirusのサンドボックス化”とはどういうことなのか、筆者が分かる範囲(理解した範囲)で説明します。
Windows Defender Antivirusのサンドボックス化を、「隔離された環境(ハイパーバイザーの仮想化環境などを用いて)で、悪意があるかもしれないコンテンツやコードを実行して分析し、駆除する」とイメージしているのなら、全くの見当違いです。
Windows Defender Antivirusのサンドボックス化は、マルウェア対策エンジンである「Windows Defender Antivirus Service(WinDefend、MsMpEng.exe)」の機能を、部分的にアプリコンテナ(AppContainer)内で実行するということです。
アプリコンテナは「Microsoft Edge」や「Cortana」、ストアアプリなど、ユニバーサルWindowsプラットフォーム(UWP)アプリの実行環境を提供するサンドボックス環境であり、Windows 8で初めて実装されました。
アプリコンテナ内のプロセスは、他のアプリコンテナやWindowsの通常のプロセスとは分離され、低い特権レベルで実行されます。また、外部との通信やオブジェクトアクセスなども制限されます。プロセスがアプリコンテナで実行されているのか、そうでないのかは、Windows Sysinternalsの「Process Explorer」の「Integrity(Integrity Level)」列で確認できます。
「Internet Explorer(IE)」は通常のプロセスとして実行されますが(「保護モード」という低い特権レベルでの実行モードもあります)、Microsoft Edgeはアプリコンテナというサンドボックス環境で実行されるため、IEよりも攻撃にさらされる面が縮小されます(画面1、画面2)。これが、MicrosoftがIEよりもMicrosoft Edgeの使用を推奨する理由の一つです。
Windows Defender Antivirusは部分的にアプリコンテナでサンドボックス化できますが、マルウェア対策エンジン(MsMpEng.exe)とネットワーク検査エンジン「Windows Defender Antivirus Network Inspection Service(WdNisSvc、NlsSrv.exe)」は変わらず存在し続けます。つまり、全てがサンドボックス化されるわけではないのです(画面3、画面4)。
なぜなら、制限されたサンドボックス環境であるアプリコンテナからは、システム全体を保護することは不可能だからです。スキャン対象へのアクセスに必要な特権レベルに応じて、従来と同じマルウェア対策エンジン(MsMpEng.exe)、またはサンドボックス環境(MsMpEngCP.exe)のどちらかに振り分けることになると思います。
マルウェア対策製品は保護のために高い特権レベルを必要とする場合がありますが、一方で高い特権レベルはマルウェア対策製品自身が侵害されたときのセキュリティリスクの課題になります。
Windows Defender Antivirusの部分的にサンドボックス化された点に関しては、アプリコンテナ内のマルウェア対策エンジンのプロセス(C:\ProgramData\Microsoft\Windows Defender\Scans\MsMpEngCP.exe)が侵害されたとしても、その影響をアプリコンテナの境界内にとどめ、システム全体に悪影響を与えることを回避することが期待できます。
もちろん、Windows Defender Antivirusのサンドボックス環境と非サンドボックス環境は何らかのやりとりを行うでしょうから、その経路を悪用した攻撃のリスクは依然として残ります。高い特権レベルで実行される従来のマルウェア対策エンジンの部分は、これまでと同様に自身が攻撃されるリスクにさらされています(次に説明する「保護されたプロセス」は、そのリスクを軽減します)。
Copyright © ITmedia, Inc. All Rights Reserved.