Windows 10のセキュリティ対策について、起動前のデバイスの保護から侵害の検出と対策まで、順を追って解説する本連載。「デバイスの保護」と「脅威からの保護」に続いて、今回は「認証情報の保護」の仕組みを解説する。

Windows 10が登場する以前から、認証情報を保護する仕組みの改善が続いている。Windows 10では仮想マシン「VBS」を利用した「Credential Guard」の仕組みを導入しており、さらに認証情報の保護が進んだ。

近年セキュリティ対策で重視されているのは、多数の企業が被害を受けた標的型攻撃だ。標的型攻撃では、OSやアプリケーションの報告されていない脆弱(ぜいじゃく)性を利用したゼロディ攻撃や、対象企業や人物ごとにカスタマイズされた標的型メールなど、攻撃の入口に注目することが多い。このため多くの企業は入口対策を重視する。

しかし、攻撃の手法を分析すると、入口よりも「認証情報」と「アカウントの権限」を守ることが対策の鍵だと分かる。

Windows 10では、「認証」と「認証情報」にそれぞれ新しい対策手法を取り入れた。デバイスとオンラインサービスの「認証」としては、第2回で紹介した「Windows Hello」と「Microsoft Passport」を実装。一方、「認証情報」に関する対策として実装したのが、今回解説する「Credential Guard」だ。

●Windows OSの「ハッシュ」を保護するCredential Guard

後ほど解説するように、Windows 8.1までは認証情報を「ハッシュ」の形でWindows OS内部に保持していた。このため、ハッシュを盗み出される危険性が残っていた。

Credential GuardではVBSを利用して、ハッシュ情報を別の仮想マシンに分離した(図2)。Windows OS上で認証情報を扱うLSA(Local Security Authority)プロセスは、リモートプロシージャコールを使って、VBS上のCredential Guardと通信し、これで認証する。攻撃者によってアクセスされる危険性が大きく下がったといえる*1)。

*1) Credential Guard によるドメインの派生資格情報の保護

●Windowsが持つハッシュ情報を盗むPass-the-Hash攻撃

Credential Guardは、標的型攻撃のうち「Pass-the-Hash攻撃を防ぐために役立つ。Pass-the-Hash攻撃とはどのようなものなのか、順を追って説明しよう。典型的な標的型攻撃では次のような段階を踏んで重要な情報を盗み出す(図3)。

まず、ユーザーを誘導したWebサイトやメール、さらにはUSBメモリなど何らかのメディアを経由して、イントラネット内のユーザーPC上で攻撃者がRAT(Remote Access Tool)を実行する(図3の1)。これでインターネットを経由して任意の操作を実施できる環境が1つ構築された。

続いて、より高い権限を持った認証情報を取得するため、このPCを起点として他のPCやサーバへの攻撃を行う(図3の2と3)。最終的には、Domain Administratorアカウント権限の奪取を狙う(図3の4)。こうなると重要な社内情報へアクセスされてしまう。

認証情報を取得する途中の攻撃は、3種類に分かれる(図4)。「既知のアカウントとパスワードを組み合わせてログオンを試みる」攻撃(Brute Force、辞書攻撃など)や、「キーロガーと呼ばれるマルウェアを使ってユーザーが入力したIDとパスワードを取得する」攻撃、「Windowsカーネルやアプリケーションがメモリ上に保持しているIDとパスワードなどを奪取する」攻撃だ。

これらの攻撃の中で、Pass-the-Hash攻撃は、Windows OSが保持している「ハッシュ」を読み取る攻撃だ。直接パスワードを盗み出すのではなく、Windows OSが保持している認証情報を奪取することに特徴がある。なお、WindowsカーネルからIDとパスワードを取得する攻撃も、Pass-the-Hashと呼ばれる場合が多い。

Pass-the-Hash攻撃には成功する条件がある。攻撃ツールを実行するシステムの管理者権限が必要なのだ。つまり、侵入したPCが管理者権限で運用されていた場合や、脆弱性などをついて管理者権限を取得されてしまった場合に限り、Pass-the-Hash攻撃の被害を受けてしまう。

●Windows 10以前のPass-the-Hash対策

Pass-the-Hash攻撃の起源は今から20年以上さかのぼるほど古い。ネットワークOSとしてMicrosoftが販売していた「LAN Manager」や、Windows 98などに実装されていた「LM認証」に対する攻撃が最初期のものだ。

LM認証で利用する「LMハッシュ」は、パスワードを全て大文字とした16bitのハッシュとして設計されていたことに加えて、ハッシュ化に不備があり、パスワードの推測が可能であった。

LMハッシュだけでは不十分なため、Windows NT 4.0では「NTLM認証」が加わった。Windows 2000/XPでは「NTLMv2認証」が実装され、Active Directoryでは、「Kerberos認証」をデフォルトの認証方式にしている。こうして、Pass-the-Hashへの対策が進んできた。

しかしWindows 8においても、Pass-the-Hashが可能な攻撃用のツールが開発された。そこでWindows 8.1では、メモリ上に認証情報を残さない「Protected Users」「RestrictedAdmin RDP」という新しいアカウントグループを用意した(図5)。

●Windows 10におけるPass-the-Hash攻撃対策

Windows 10で導入されたCredential Guardは、「Protected Users」「RestrictedAdmin RDP」といった新しいアカウントグループ以外を使っていた場合でも、Pass-the-Hash攻撃対策として機能する。

Windows 8.1までは、NTLMハッシュやKerberos派生資格情報を、Windows上で動作するLSAプロセスが保持していた。つまり、原理的には他のWindowsプログラムからアクセスされてしまう危険性が残っていた。冒頭で解説したように、仮想マシンにハッシュ情報を隔離することで、これらのハッシュ情報を攻撃から守っている。

ただし、Credential Guardを有効にした場合でも、全ての認証情報が保護されるわけではないので、注意が必要だ*2)。

*2) Credential Guardを有効にした場合、制約のないKerberosデリゲーション、Kerberos DES暗号が利用できない点も注意する必要がある。

例えば、NTLMv1とMS-CHAPv2、Digest、CredSSPの認証情報ではシングルサインオンが機能しない。よって、これらの認証を利用するアプリケーションがシングルサインオンを実現するために資格情報を保持する場合、Credential Guardでも資格情報は保護されない。このためサインインや重要なサービスの認証では、これらのプロトコルの利用を避けることを推奨する。ドメインユーザーが、これらのプロトコルを使用する必要がある場合は、2要素認証でこれらの認証を保護しなければならない。

繰り返しになるが、Credential GuardはSAM(Security Account Manager)データベースなどに保存された資格情報を完全に保護するものでは「ない」。

Pass-the-Hash攻撃に対するより詳しい対策方法については、以下の資料を参考にしてほしい。

・Mitigating Pass-the-Hash(PtH) Attacks and Other Credential Theft Techniques(Microsoft)
・Mitigating Pass-the-Hash(PtH) Attacks and Other Credential Theft Techniques version 2(Microsoft)
・Windows 10 セキュリティ評価支援報告書 Phase2(FFRI)

次回はWindows 10が備える5つのセキュリティスタックのうち、4番目に当たる「情報の保護」を解説する。

●筆者プロフィール

高橋 正和(たかはし まさかず)

日本マイクロソフト株式会社

チーフ セキュリティ アドバイザー

1980年代初頭からミニコン、PC-98、8085、4bitマイコンなどを使った制御システムの開発などを経験。

1980年代中頃から、日本デジタル研究所株式会社で標準ライブラリの開発保守、開発環境の開発保守、独自OSからWindows NT/Windows XPへの移植、品質管理、新入社員向けのC言語の新人教育などを担当した。

標準ライブラリでは、ファイルシステムやSocketライブラリの開発と実装、保守を行い、開発環境では、68K系のCPUにWhite Sims’s Cによるリロケータブルな実行ファイル形式という特性を使って、オーバレイリンカーやオーバーレイローダーなども開発した。

1999年にISS(現在はIBM)セキュリティに関わり、2006年から現職(日本マイクロソフト株式会社 チーフセキュリティアドバイザー)を務める。

 

 

【関連記事】

パスワードを忘れたWindows OSにログオン(サインイン)する方法とは

「Windows 10 Fall Creators Update」、2017年10月17日にリリース MRヘッドセットも同時発売