侵害されたシステムの復旧
攻撃の封じ込めと根絶の後、復旧フェーズでは、侵害された システムを安全な稼働状態に復元し、完全性を検証するとともに、 再感染を防ぐための制御を実装することを目指します。
判断:Restore vs Rebuild
Restore from Backup:より高速で、検証済みのクリーンな バックアップが利用可能であり、侵害が表面的だった場合に適しています。
Rebuild from Scratch:深刻な侵害(rootkits、 悪意のある firmware)に対してより安全で、完全にクリーンなシステムを保証しますが、より多くの時間を要します。
Hybrid Approach:オペレーティングシステムとアプリケーションを再構築し、完全性 検証後にデータを選択的に復元します。
バックアップの検証
復元する前に、バックアップに悪意のある payload が含まれていないことを検証することが重要です:
Timestamp Analysis:インシデントのタイムラインに基づいて、侵害より前の 最後の「clean」なバックアップを特定します。
Malware Scanning:復元の前に、更新された malware スキャナーを バックアップイメージに対して実行します。
IOC Checking:バックアップ内で既知の侵害指標を検索します。
Isolated Testing:本番環境の前に、隔離された環境でバックアップを復元して テストします。
Rebuild プロセス
完全な再構築を必要とするシステムの場合:
1. 準備:検証済みの正規インストールメディア、最新の patches、ライセンス、構成ドキュメントを入手します。
2. ベースインストール:クリーンなハードウェアまたは新しい VM に オペレーティングシステムをインストールします。ネットワークに接続する前にセキュリティ patches を適用します。
3. Hardening:アプリケーションをインストールする前に、セキュリティ baseline (CIS Benchmarks、DISA STIGs)を適用します。
4. アプリケーション:クリーンであることが既知のバージョンのアプリケーションをインストールし、 patches を適用し、security controls を構成します。
5. データ:完全性検証の後、ユーザーおよびアプリケーションのデータを 復元します。可能であれば侵害より前のバックアップから行います。
6. 検証:機能をテストし、IOCs が存在しないことを確認し、 セキュリティ制御が稼働していることを確認します。
構成の修復
初期の侵害を許した脆弱性と misconfigurations を修正します:
Patch Management:すべてのセキュリティ patches を適用します。特に 初期の攻撃ベクトルに関連するものを優先します。
Default Credentials:すべてのデフォルトパスワード、脆弱な認証情報、または 共有された認証情報を変更します。
Service Hardening:不要なサービスを無効化し、安全でない 構成を制限します。
Network Segmentation:将来のラテラルムーブメントを制限するために、 ネットワークセグメンテーションを実装または強化します。
認証情報の管理
すべての認証情報が侵害されたと想定します:
Password Reset:すべてのユーザー、特に特権ユーザーに対して パスワードのリセットを強制します。
Service Accounts:サービスアカウントおよびアプリケーションの 認証情報をローテーションします。
API Keys/Tokens:API keys、access tokens、 証明書を失効させ、再発行します。
MFA Enforcement:将来の不正アクセスの試みを困難にするために、 多要素認証を実装または強化します。
完全性の検証
File Integrity Monitoring:重要なシステムファイルの hashes を クリーンであることが既知の baseline(NIST NSRL、vendor checksums)と比較します。
Rootkit Detection:専用ツール(chkrootkit、 rkhunter、GMER)を実行して、持続的な rootkits を検出します。
Firmware Verification:BIOS/UEFI、ネットワークおよび ストレージ firmware の完全性を検証します。
Memory Analysis:メモリの Dump と分析を行い、fileless malware やメモリ内の persistence を検出します。
復旧の段階分け
フェーズ 1 - 重要システム:ビジネスに不可欠なシステム (ERP、重要なデータベース、認証サーバー)の復元を優先します。
フェーズ 2 - コアインフラストラクチャ:インフラストラクチャサーバー(DNS、DHCP、 file servers、email)。
フェーズ 3 - ワークステーションおよび二次サービス:ユーザーの endpoints および 重要性の低いシステム。
Validation Gates:復旧を拡大する前にクリーンであることを保証するための、 フェーズ間の検証チェックポイント。
復旧後のモニタリング
再感染または未特定の persistence を検出するために、復旧後にモニタリングを 強化します:
Enhanced Logging:復旧したシステムで一時的に logging レベルを引き上げます。
IOC Monitoring:元のインシデントの IOCs に対する専用のアラートを、 延長された期間にわたって設定します。
Behavioral Analysis:異常なアクティビティを検出するために、EDR/XDR を より高感度のモードにします。
Network Monitoring:C2 通信または exfiltration を検出するための トラフィック分析。
復旧のドキュメント化
復旧プロセスを綿密にドキュメント化します:
Recovery Timeline:すべての復旧アクションの時系列記録。
Configuration Changes:すべての構成変更および 適用された修復をドキュメント化します。
Validation Results:scans、完全性テスト、機能検証の 結果。
Issues Log:復旧中に発生した問題とその解決策。
復旧中のコミュニケーション
Stakeholders:経営陣に対し、進捗状況と復旧の ETAs を 常に知らせ続けます。
ユーザー:システムの状況とサービス復帰の 見通しを伝えます。
技術チーム:競合を避け、カバレッジを確保するために、recovery チーム間で 明確に連携します。
Status Updates:大きな変化がない場合でも、透明性を維持するために 定期的に更新します。
検証テスト
システムを本番環境に戻す前に:
Functional Testing:すべてのビジネス機能が 稼働していることを確認します。
Security Testing:Vulnerability scans、的を絞ったペネトレーションテスト、 セキュリティ制御の検証。
Performance Testing:パフォーマンスが許容可能なパラメータ の範囲内であることを保証します。
User Acceptance:全体的な rollout の前に、主要ユーザーとともに検証します。
Rollback 計画
復旧で問題が発生した場合に備えて、コンティンジェンシーを準備します:
Snapshots:必要に応じて rollback を容易にするために、各復旧フェーズで システムの snapshots を作成します。
Rollback Procedures:各重要な変更の前に rollback 手順をドキュメント化します。
Decision Criteria:rollback を引き起こす明確な基準を定義します (セキュリティ問題、重大な障害、パフォーマンス問題)。
セキュリティの改善
復旧を活用してセキュリティの改善を実装します:
EDR/XDR Deployment:存在しなかった場合は、endpoint detection and response ソリューションを実装します。
Application Whitelisting:アプリケーション実行制御を実装します。
Privilege Management:least privilege および just-in-time access を実装します。
Network Segmentation:重要かつ機密性の高いネットワークの分離を改善します。
特殊なケース
Ransomware:支払いか再構築かの判断、decryptors の 検証、データを復元する前の persistence のクリーンアップ。
Cloud Services:IaC(Infrastructure as Code)を使用した IaaS/PaaS の recovery、 APIs を介した構成の復元。
OT/ICS Systems:運用技術および産業用 制御システムに対する特別な考慮事項(重要な可用性、patching limitations)。
最終的な推奨事項
復旧の成功とは、単にシステムを稼働状態に戻すことではなく、それらが 侵害から解放され、インシデント前よりもレジリエントであることを保証することです。詳細な 計画、厳格な検証、強化されたモニタリング、そしてセキュリティの改善を実装する 機会の活用が不可欠です。急ぐことは 再感染や攻撃者の persistence につながる可能性があります——速度と 徹底性のバランスが極めて重要です。
