Windows 10/Windows Server 2016が最新のサイバー攻撃を防げるワケ:進化するサイバー攻撃へのベストな対抗策
いまだ勢いの衰えない、標的型(APT)などのサイバー攻撃――。次々と新しい手法が登場する今、システムを守るには、最新のセキュリティ対策を実施する必要がある。そのための最も確実な方法は、最新OSへの移行/アップグレードだ。Windows 10/Windows Server 2016には「Pass-the-Hash(PtH)攻撃」にも耐えられる、高度で強力なセキュリティ機能が搭載されている。
最新のサイバー攻撃には最新のOSを!
「旧車にはシートベルトとエアバッグが付いていませんが、それは“アーキテクチャの欠陥”ではありません」
日本マイクロソフトの蔵本雄一氏(マイクロソフトテクノロジーセンター セキュリティアーキテクト)は、よくこの例えを出すという。最新のOSは、最新のセキュリティリスクに備えた設計がなされており、防御力を向上する仕組みはもちろん、サイバー攻撃の被害を軽減するための仕組みも実装されている。
実際、マイクロソフトのWindows/Windows Serverも、古いバージョンは必ずしも最近のセキュリティリスクに耐えられるわけではないという。サイバー攻撃の手法は年々進化しているのだから、何年も前のOSで太刀打ちできないのは当たり前ということである。
一例を挙げれば、「Pass-the-Hash(PtH)」攻撃に対する耐性の問題がある。
PtHは、パスワードのハッシュ値を何らかの方法で盗み出し、悪用することで別のマシンへ不正アクセスを行う攻撃だ。例えば、端末にユーザーAがログインしている状態であれば、ユーザーAのユーザーIDとパスワードのハッシュを盗み、ユーザーAとして別の端末へ不正なログインを行う。この攻撃を行われると、最初に侵入されたマシンが1台であっても、それを足掛かりにどんどん侵入エリアを拡大されてしまう。
典型的な危険な運用シナリオの例を挙げよう。システムに対する管理者権限を持つユーザーIDでクライアントマシンへログインしているとする。この場合、このユーザーが悪意のある電子メールなどを間違って開いてしまい、そのユーザーのIDとパスワードのハッシュが盗み出されてしまうと、攻撃者がアプリケーションサーバやドメインコントローラーへアクセス可能な状態になってしまうのだ(図1)。
図1 Pass-the-Hash(PtH)攻撃の仕組み。ユーザーのPCからパスワードハッシュ値が盗み出され、それを使ってアプリケーションサーバやドメインコントローラーに不正アクセスされてしまう(マイクロソフト『Mitigating Pass-the-Hash(PtH)Attacks and Other Credential Theft, Version 1 and 2』より引用)
つまり、クライアントにログインするIDでアプリケーションサーバやドメインコントローラーへログインできるといった運用を行っている場合、非常に危険な状態といえる。
このように、現在のサイバー攻撃に対しては、クライアント→アプリケーションサーバ→ドメインコントローラーという流れで攻撃者が侵入する「垂直方向」の動き、クライアント→クライアントなど「水平方向」の動きの双方に対して対策を打つ必要がある。サイバーセキュリティ対策は、以前は「いかに侵入を防御するか?」ばかりに焦点が当たっていたが、現在では侵入を防御するだけでなく、万が一、侵入された後の対策についても十分に検討する必要がある。このように、企業におけるセキュリティ対策で重要視されるエリアや投資優先度の高いエリアは時代とともに変わる。更に、現在では自社が被害となるケースだけでなく、他社を攻撃する踏み台となる、つまり加害者となってしまうケースについても考慮が必要だ。
そこで蔵本氏がお勧めするのが、最新OSのWindows 10/Windows Server 2016へ移行する/アップグレードすることだ。Windows 10/Windows Server 2016には、PtHをはじめとする最新のサイバー攻撃手法に対抗するための機能が標準で搭載されており、より安価に精度の高い防御を実現することができる。
資格情報の窃取と不正コード実行を防ぐ新たなセキュリティ機能
Windows 10/Windows Server 2016に標準搭載されている主なセキュリティ対策機能は、以下の通り。
- Credential Guard/Remote Credential Guard
- Device Guard
- Just in Time(JIT)/Just Enough Administration(JEA)
- Shielded VM(SVM)
この他、マルチデバイス/クラウド時代のモバイルセキュリティソリューション「Microsoft Enterprise Mobility+Security(EMS)」を導入することで、より確かな攻撃検知と情報保護対策を実施できるようになる。
●Credential Guard/Remote Credential Guard
既に触れたように、最近のサイバー攻撃では、エンドユーザーのPCからID/パスワードなどのクレデンシャル(資格情報)を盗み出すところから攻撃の手順が始まる(図2)。まずは、クライアントPCをしっかりとガードすることから対策を始めるのがよいだろう。
図2 典型的なサイバー攻撃の手順。最初にユーザーのPCからクレデンシャル(資格情報)が盗み出され、アプリケーションサーバやドメインコントローラーへと被害が拡大していく(マイクロソフト『Mitigating Pass-the-Hash(PtH)Attacks and Other Credential Theft, Version 1 and 2』より引用)
クライアントPCのクレデンシャルを保護する際に役立つのが、「Credential Guard(資格情報ガード)」と呼ばれるWindows 10/Windows Server 2016の新しいセキュリティ保護機能だ。
- [参考記事]物理マシンとユーザーのための「デバイスガード」と「資格情報ガード」――仮想化ベースのセキュリティ(@IT:vNextに備えよ! 次期Windows Serverのココに注目)
Credential Guardは「仮想化ベースのセキュリティ(Virtualization-Based Security:VBS)」により提供される機能の1つで、VBSが提供する「独立したセキュリティ領域」を活用することで資格情報を保護する機能になる。「Local Security Authority Subsystem Service(LSASS)」内で資格情報を暗号化する際に使われた暗号鍵を、独立したセキュリティ領域内の「Isolated Local Security Authority(LSAIso)」に保管し、ユーザーの資格情報を保護する仕組みだ(図3)。
図3 VBSによるLSAの分離。LSASS内で資格情報を暗号化する際に使われた暗号鍵などを別仮想マシン(VM)内の「LSAIso」に保管して保護する(マイクロソフト「Credential Guardによるドメインの派生資格情報の保護」より引用)
「このCredential Guardが有効になっていると、クライアントからもサーバからもパスワードを抜き出すことはできません」と、蔵本氏。サーバにリモート接続するユーザーの資格情報を保護するための機能として「Remote Credential Guard」も用意されていると付け加える。
●Device Guard
また、サイバー攻撃では、メモリやファイルにある情報を盗み出すためのマルウェアが、攻撃者によってユーザーのPCやサーバに仕込まれることが多い。これを阻止するのに役立つのが、VBSが提供するもう1つの機能「Device Guard(デバイスガード)」だ。
マルウェア対策ソフトではマルウェアの定義ファイルがブラックリストとして用いられ、ブラックリストに掲載されているバイナリの実行を防止する。これとは逆に、動作を許可するバイナリのホワイトリストを用いて、信頼されたバイナリのみの実行を許可する機能がDevice Guardだ。
また、Device Guardでは、よりセキュリティ強度を高くするため「カーネルモードのコードの整合性(Kernel Mode Code Integrity:KMCI)」と「ユーザーモードのコードの整合性(User Mode Code Integrity:UMCI)」により、アプリケーションやドライバ、Windows OS自体の整合性チェック、ホワイトリスト自体の改ざんチェックを行うことができる。
運用管理担当者による内部不正もしっかり防御
サイバー攻撃の撃退を狙ったCredential Guard/Device Guardの他にも、Windows 10/Windows Server 2016には最新のユーザーニーズに応える強力なセキュリティ対策機能が搭載されている。
●Just in Time(JIT)/Just Enough Administration(JEA)
アカウント管理においては、運用管理担当者による内部不正を防ぐための「Just in Time(JIT)」と「Just Enough Administration(JEA)」の2つの運用が可能になる。この機能の狙いは、「最小権限の原則」への対応である。
JITは、Administratorなどの管理者特権が必要な作業を行う運用管理担当者に対し、作業を許可する時間を詳細に指定する運用方式。設定した時間が過ぎると与えられた特権が剥奪されるので、内部不正を行う機会もそれだけ減少する。
一方、JEAでは、その運用管理担当者に対して必要最小限のアクセス権を許可する方式だ。利用可能なコマンドも制限できるので、JITの時間内でも不正行為はかなり防げるようになる。
●Shielded VM
「Shielded VM」は、Windows Server 2016で新設されたサーバの役割「Host Guardian Service」によって実現される“保護された仮想マシン(VM)”である。このVMは保護されたホスト(Guarded Host)上でのみ動作し、プロセス空間とその仮想ディスクも暗号化されて守られる仕組み。他のVMが何らかの方法で不正にアクセスしても、そこに格納されている情報を取り出せないようになっている。
- [参考記事]Windows Server 2016世代のクラウド基盤の守護者、Host Guardian Serviceとは(@IT:vNextに備えよ! 次期Windows Serverのココに注目)
Shielded VMがWindows Server 2016に実装された背景には、企業内にクラウドを設置するプライベートクラウドの隆盛がある。クラウド事業者が面目をかけて対策しているマルチテナント型のパブリッククラウドと違って、“身内”のクラウドであるプライベートクラウドはどうしてもセキュリティ対策が甘くなりがちだ。マルウェアに乗っ取られたプロセスや、内部の運用管理担当者による攻撃を防ぐには、パブリッククラウド並みの対策が求められるのである。
●Microsoft Enterprise Mobility+Security(EMS)
モバイルセキュリティソリューションである「Microsoft Enterprise Mobility+Security(EMS)」に含まれる機能のうち、サイバー攻撃への対処に特に効果的なのは「Microsoft Advanced Threat Analytics」が提供するID駆動型セキュリティだ。この機能を利用すると、ユーザーのPCやモバイルデバイスに対する不正アクセスを検知してアラートを発することが可能になる。一般には200日以上とされる「侵入があってからその事実に気が付くまでの期間」を短縮できるので、被害が大きくなる前に有効な対策を実施できる。
この他、情報の暗号化や“流出した後のファイルアクセス権削除”には「Azure Information Protection Premium」による情報保護の機能が有効だ。
“賞味期限切れ”間近のパスワード認証、とって代わるのは……
残念なことに、ITの進歩はプラスにもマイナスにも働く。最新のOSに強固なセキュリティ対策を実装すると、それを打ち破るようなサイバー攻撃手法がすぐに登場し、それを撃退するための新たなセキュリティ対策を開発する……というイタチごっこが続くのである。
このような状況下、マイクロソフトは「Cyber Crime Center」を設置して、世界で発生しているサイバー攻撃を監視する他、セキュリティ対策技術にも年間1000億円規模の投資を続けている。
また、マイクロソフトのクラウドサービスやソフトウェアのセキュリティ強度を攻撃者の視点に立ってチェックするレッドチームも活動中だ。レッドチームでは、クラウドサービスやソフトウェアに取り入れられた設計、実装されたセキュリティ対策機能が実際の攻撃に対して、適切に効果を発揮できるかの評価を行うことで、マイクロソフトのクラウドサービスやソフトウェアのセキュリティ対策強化をより実践的な形で可能にしている。
さらに、認証する際によく使用されているパスワードだが、パスワードはハードウェア能力の進化などにより、攻撃者によるパスワード解析時間がどんどん短くなってきている。「“レインボーテーブル”と呼ばれるハッシュ値と平文をペアにしたテーブルを利用した解析や、CPUではなくGPUによる並列処理を利用した総当たり攻撃により、解析に要する時間が短くなっている」と蔵本氏。また、マルウェアによるパスワードやキー入力の盗難など、パスワードによる認証ではセキュリティ対策の強度として十分ではない状況も発生してきている。
こうした状況に対してマイクロソフトは、Windows 10とWindows Server 2016の組み合わせによる電子証明書を利用する認証「Windows Hello for Business」で、パスワードよりも認証強度の高い認証を実現しようとしている。
- [参考記事]「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その1)(@IT:vNextに備えよ! 次期Windows Serverのココに注目)
Windows Hello for Businessは、公開鍵/秘密鍵を使って認証を行う。秘密鍵がクライアント端末のTPM(Trusted Platform Module)に格納されるため、パスワードのように漏えいしてしまうリスクはかなり低い。この秘密鍵は認証時に使用されるが、この際にPINやWindows Helloとして提供している顔認証などの生体認証を利用することもできるため、認証強度の向上に加え、パスワード入力の手間も省くことができる。
古い時代に設計/開発されたセキュリティ対策技術が、最新のサイバー攻撃に耐えるのは難しい。前述したPtH攻撃はその代表的な例といえる。この問題を回避するための策は幾つかあるが、現時点で最も簡単なのは、セキュリティ強度が増している最新OSへ移行/アップグレードすること。まずは、クライアントPCをWindows 10に、サーバOSをWindows Server 2016にして、EMSと組み合わせて運用することから始めていただきたい。
Copyright © ITmedia, Inc. All Rights Reserved.