WDigest|サイバーセキュリティ.com

WDigest

WDigest(ダブリューダイジェスト)は、Windows OSで使用される認証プロトコルの一つで、HTTPやSASL(Simple Authentication and Security Layer)などのプロトコルを用いた際に、パスワードを安全に転送するために設計されています。WDigestは、もともとWindows XPやWindows Server 2003などの古いバージョンでのパスワード認証に利用されていましたが、その設計上の特性により、パスワードを平文でシステムのメモリ上に保存するという脆弱性が存在します。この脆弱性が悪用されると、管理者権限を持つ攻撃者がシステムメモリからユーザーのパスワードを直接取得することが可能になります。

WDigestの仕組み

WDigest認証プロトコルは、基本的には以下の手順でパスワードの認証処理を行います。

  1. パスワードの平文転送:クライアント側が認証情報をサーバーに送信する際、WDigestはパスワードを「平文」で保存し、メモリにキャッシュします。これにより、認証情報を即時に参照できるようにしています。
  2. キャッシュと認証:認証を行うために、パスワードが一時的にメモリにキャッシュされる仕組みになっており、システム内部でパスワードを暗号化せずに処理するため、情報漏洩のリスクが高まります。
  3. メモリからのパスワード漏洩:システムに侵入した攻撃者がメモリ上にアクセスすることで、パスワードを平文の状態で取得できるため、攻撃に利用される可能性があります。

WDigestの脆弱性とセキュリティリスク

WDigestには、次のようなセキュリティリスクがあります。

  • パスワードの平文キャッシュ:WDigestはパスワードを平文のままメモリに保存するため、権限を持つ攻撃者がアクセスするとパスワードを容易に取得できてしまいます。
  • Pass-the-Hash攻撃のリスク:WDigestと同様のパスワード保存方式を利用したNTLMハッシュなども攻撃に利用されやすく、認証情報の不正利用のリスクが高まります。
  • 管理者権限の奪取:攻撃者がシステム管理者権限を取得すると、メモリから他のユーザーのパスワードを容易に取得し、組織全体のネットワークにアクセスできるリスクがあります。

WDigestの対策方法

WDigestの脆弱性を悪用されないようにするために、以下の対策が有効です。

  1. WDigestの無効化
    Windows 8.1およびWindows Server 2012 R2以降、WDigestはデフォルトで無効化されています。古いシステムを使用している場合、レジストリ設定からWDigestを無効にし、メモリ上にパスワードが残らないようにします。無効化するには、以下の手順でレジストリを設定します。

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest]
    "UseLogonCredential"=dword:00000000
  2. システムのアップグレード
    古いOSからWindows 10やWindows Server 2019などの新しいバージョンにアップグレードすることで、デフォルトでWDigestの無効化や追加のセキュリティ機能が導入され、リスクが軽減されます。
  3. LSASSへのアクセス制限
    LSASS(Local Security Authority Subsystem Service)は認証情報を管理するプロセスであり、攻撃者がLSASSにアクセスすると、WDigestの平文パスワードを取得されるリスクがあります。LSASSプロセスの保護や分離を行うことで、悪意あるプロセスからのアクセスを防ぎます。
  4. 多要素認証の導入
    パスワード漏洩リスクを軽減するために、システム全体に多要素認証(MFA)を導入し、パスワード単独での認証に依存しないようにします。
  5. セキュリティ監視とログ管理
    システム監視ツールを使用して、LSASSプロセスへのアクセスや不審な認証試行を監視し、攻撃の兆候が見られる場合には即時対応できるようにします。

まとめ

WDigestは、Windows OSの認証プロトコルの一つで、平文でパスワードをメモリに保存するという脆弱性が存在します。この脆弱性が悪用されると、攻撃者がシステムメモリから認証情報を直接取得でき、組織のセキュリティに重大なリスクをもたらします。近年のWindowsバージョンではWDigestがデフォルトで無効化されているため、古いOSを利用している場合は、WDigestの無効化、システムのアップグレード、多要素認証の導入といった対策が求められます。これにより、メモリ上の認証情報を守り、システム全体のセキュリティレベルを向上させることが可能です。


SNSでもご購読できます。