・Pass the Hash
情報システム開発契約のセキュリティ仕様作成のためのガイドライン
MITRE ATT&CKに基づく詳細設定対策
戦術:水平展開 †
概説 †
Windowsには、Kerberos認証、NTLM認証があります。このうちNTLM認証は、Kerberos認証が使えないドメインに参加していないメンバーサーバーやNASでの認証、ローカルアカウントなどで利用される認証方法です。
このNTLM認証は端末のメモリ、レジストリにパスワードのNTLMハッシュ値を保存します。攻撃者はこのNTLMハッシュ値をツールを利用して窃取し、ログオンの際に、NTLMハッシュ値をベースにした認証情報を送信します。サーバー側も同様の情報を保有しているため、NTLMハッシュ値をベースに送られた認証情報をサーバー側でも計算し、合致すれば正しい資格情報が入力されたとしてログオンを許可します。
攻撃者は、ツールを使いメモリ上やレジストリのSecurity Account Manager(SAM:アクセスには管理者権限が必要)のNTLMハッシュ値を取得し、正規のユーザーをなりすましパスワードを利用せず認証情報を計算してサーバーに送信し、ログオンします。
ローカル Administrator は端末の管理を容易にするため、全社的に統一されている場合が多く見受けられますが、ローカルのAdministratorのNTLMハッシュ値が取得されると、全社的な水平展開が可能となり、非常に危険です。
緩和の方針 †
Pass the Hash 対策は拡散を防止する観点から、最も重要な防御、緩和策のひとつです。
Mimikatz、PWDump7などの攻撃ツールが公開されており、保存されているパスワードやパスワードのハッシュ値を窃取するために、多角的な攻撃が存在します。このため、多重防御が必要です。
資格情報管理する LSASS プロセスへの攻撃を防ぎ、資格情報を極力保持しないことが重要です。
運用やNetworkが変更された場合の影響の有無 †
各端末において、ローカルのAdministratorのパスワードが同一の場合、拡散のリスクが高まります。
ビルトイン Administrators を使用した場合、攻撃のリスクが高まります。
優先すべき措置 †
Hashの取得阻止、取得された場合の水平展開、垂直展開(特権アカウントに対する侵入)の阻止の観点で防御を講じます。
Hashの取得阻止 †
以下の措置の実施を検討します。
- Windows Defender Credential Guard の導入を検討します。
Windows 10 の場合、Enterprise Edition のライセンスが必要です。Windows Server 2016/2019はライセンスが付与されています。なお、ドメインコントローラーでの Credential Gurad の有効化はサポートされていません。 - LSA 保護モードの有効化。
- 一般ユーザーをローカル Administrators に所属させません。
水平展開の阻止 †
以下の措置の実施を検討します。
- 既定の Local Administrator を無効化します。
- LAPS の導入を検討します。
- ローカルアカウントのネットワーク越しの操作とログオンを制限します。
垂直展開の阻止 †
以下の措置の実施を検討します。
- 組織内の権限を分離します。ドメインコントローラー、メンバーサーバー、端末の管理者IDを分け、厳格な運用をします。
- 管理者権限を最小化し、特権アカウントの露出を最小限に抑えます。
ユーザー運用管理責任 †
リスクの受容 †
Pass The Hash は攻撃者にとって水平展開を図る最も有効な攻撃手法であり、拡散防止の観点からリスク受容は困難です。
啓発・教育 †
- 対象:すべての端末利用者
- 「一般ユーザーをローカル管理者グループから外す」ことで、アプリケーションのインストールや各種設定の際に手間が増えますが、最も安価かつ最も攻撃の耐性が高くなることについて、理解を求めてください。
- 「一般ユーザーをローカル管理者グループから外す」を実施しないことで、コストの高いシステム監査が必要になることについても理解を得てください。
管理規程 †
以下の規程の整備を検討します。
- 端末管理規定に「一般ユーザーをローカル管理者グループから外す」措置を実施しない端末の文書化と監査規程を追加します。
情報システム設計開発部門・運用部門(ベンダー代行を含む) †
ポリシー ①LSASS保護 + 認証情報の削減 †
対策 | 目的 | 対策の効果 | 対策作業量 |
Windows Defender Credential Guard | 独立した仮想領域に資格情報を隔離します。LSASS プロセスに対する正当なRPC呼び出し以外のアクセスを不可能とすることで、資格情報の窃盗を防ぎます。 ※Windows 10 Enterprise エディションが必要 Windows Defender Credential Guard によるドメインの派生資格情報の保護:https://docs.microsoft.com/ja-jp/windows/security/identity-protection/credential-guard/credential-guard | 非常に高い | 高 |
LSA 保護モードの有効化 | LSASS プロセスに対する悪意のあるプラグインやコードの挿入を防止し、プロセスが保持している資格情報の窃盗を防ぎます。 (レジストリで有効化) | 高 | 高 |
ビルトイン Administrator の無効化 | 既知のアカウントを狙った攻撃を防ぎます。 | 高 | 低 |
一般ユーザーをローカル管理者グループから外す | 資格情報窃取やシステムへの攻撃を防ぎます。 | 非常に高い | 高 |
セキュリティ更新プログラムの適用 | 脆弱性を悪用する攻撃を防ぎます。 ※特に特権昇格、情報漏洩、バイパスの脆弱性 | 中 | 中 |
平文パスワードを保存しない | WDigest認証は平文パスワードが保存されます。グループポリシーで設定を変更するには、「13.8・L1 MS Security Guide」の [WDigest authentication] を参照してください。Windows 8.1 と Windows Server 2012 R2 以降のバージョンの既定では、メモリ内に資格情報を取得する WDigest の設定は無効です (レジストリ エントリが存在しない場合、UseLogonCredential 値の既定は 0 です)が、攻撃によって改ざんされないように、グループポリシーを設定して下さい。 なお、Windows 8、Windows Server 2012は、KB2871997を適用することで、WDigest認証を無効にできます。後述の ログオフ後の資格情報消去 を参照してください。 ■Windows 8、Windows Server 2012にKB2871997適用後、レジストリで修正する場合 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest-UseLogonCredential ・UseLogonCredential 値が 0 に設定されている場合、WDigest は資格情報をメモリに保存しません。 ・UseLogonCredential 値が 1 に設定されている場合、WDigest は資格情報をメモリに保存します。 | 中 | 低 |
LM ハッシュを保存しない | LM ハッシュは総当たり攻撃などに対して脆弱であるため、パスワード解析のリスクを減らします。 ※次回のパスワード変更時に LAN Manager のハッシュ値を保存しない ※Vista、Windows Server 2008R2 以降は既定で有効 | 中 | 低 |
ログオフ後の資格情報消去 | ユーザーのログオフ後に LSASS メモリから消去します。 ※Windows 8.1, Windows Server 2012 R2 以降は既定で有効 | 低 | 高 |
NTLMプロトコルを無効にする | NTLM 認証を利用しないことで、NTLM ハッシュを悪用する攻撃を防ぎます。 ※NTLM認証に依存する実装は多数あることから、事前に十分な検証と使用実態の監査が必要です。 ネットワーク セキュリティ: NTLM を制限する: 着信 NTLM トラフィックを監査する:https://docs.microsoft.com/ja-jp/windows/security/threat-protection/security-policy-settings/network-security-restrict-ntlm-audit-incoming-ntlm-traffic | 低 | 高 |
ARSO 無効化 | Windows 8.1 以降の Automatic Restart Sign-On (ARSO) による資格情報保持を無効化します。 | 中 | 低 |
ポリシー ②水平展開の阻止 †
対策 | 目的 | 対策の効果 | 対策作業量 |
・LAPS Local Administrator Password Solution | 攻撃者がドメイン内の異なる端末へ侵入を広げる機会を減らす | 高 | 中~高 |
ローカルアカウントのネットワーク越しの操作制限、ログオン防止 | 遠隔地にいる攻撃者がローカル管理者を悪用することを防ぐ ※新しい well-known SIDs の活用 | 高 | 中 |
- マイクロソフト セキュリティ アドバイザリ 3062591 Local Administrator Password Solution (LAPS) の提供を開始:https://docs.microsoft.com/ja-jp/security-updates/securityadvisories/2015/3062591?redirectedfrom=MSDN
ポリシー ③縦展開防止対策 †
対策 | 目的 | 対策の効果 | 対策作業量 |
組織内の権限を分離する | 攻撃者がドメイン内の異なる端末へ侵入を広げる機会を減らす | 非常に高い | 高 |
特権アカウントの保護 | 特にドメイン管理権限を保護 | 非常に高い | 中 |
高い権限を持つ端末の要塞化 | 高い権限を扱う端末を要塞化することで攻撃者の機会を減らす | 高 | 中~高 |
リモートセッション資格情報保護 | 侵害にあっている端末へ接続をしてくるユーザーの資格情報を盗まれないようにする | 高 | 中 |
ネットワークデザイン †
該当しません。
アクセスコントロール †
以下の設定を検討して下さい。
LSA保護を構成する方法:https://docs.microsoft.com/ja-jp/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection#BKMK_HowToConfigure
フィルタリング †
該当しません。
仮想端末運用 †
該当しません。
エンドポイント対策 †
- Endpoint Detection and Response の導入を検討します。
受託開発ベンダー管理責任 †
セキュアコーディング †
該当しません。
開発環境管理 †
ユーザー運用管理責任、情報システム設計開発部門・運用部門責任に準じる。 例外はすべて文書化し、適切な監査を実施する。
サプライチェーン正常性維持" †
ユーザー運用管理責任、情報システム設計開発部門・運用部門責任に準じる。 例外はすべて文書化し、適切な監査を実施する。