1 ポイント 投稿者 GN⁺ 2024-07-29 | 1件のコメント | WhatsAppで共有

CrowdStrike障害事案の技術的分析

  • CSagentドライバーのメモリ安全性の問題、特に読み取り範囲外アクセス違反が根本原因だった
  • MicrosoftのWinDBGカーネルデバッガーと、無償提供される複数の拡張機能を活用して分析を実施した

CSagent.sysドライバーの機能

  • CSagent.sysモジュールは、アンチマルウェアエージェントで一般的に使われるファイルシステムフィルタードライバーとして登録されている
  • ファイルの作成や変更といったファイル操作に関する通知を受け取るために使用される
  • ブラウザー経由のファイルダウンロードのように、ディスクに新しいファイルが保存されるたびにセキュリティ製品がスキャンするために使われる
  • システム動作を監視しようとするセキュリティソリューションのシグナルとしても使用可能
  • CrowdStrikeは、コンテンツアップデートの一部がsensorのnamed pipe作成関連ロジックの変更だったと説明している
  • ファイルシステムフィルタードライバーAPIにより、ドライバーはシステムでnamed pipeアクティビティ(例: named pipe作成)が発生した際に呼び出しを受け取ることができ、悪意ある挙動の検出が可能になる

CrowdStrikeの各種ドライバーモジュール

  • CrowdStrikeは、CSBoot、CSDeviceControl、CSAgent、CSFirmwareAnalysisの4つのドライバーモジュールをロードする
  • そのうちの1つは、CrowdStrikeのインシデント事後レビューのタイムラインによれば、動的制御およびコンテンツアップデートを頻繁に受けていた
広告

CrowdStrikeドライバー関連のクラッシュレポート件数の変化

  • この特定のCrowdStrikeのプログラミングエラーによって生成されたWindowsクラッシュレポート数を把握した
  • クラッシュレポートを生成したデバイス数は、Microsoftが以前のブログ記事で共有した影響を受けたデバイス数より少ない
  • これは、クラッシュレポートがサンプリングされ、クラッシュレポートをMicrosoftにアップロードすることを選択した顧客からのみ収集されるため
  • クラッシュダンプ共有を有効にすることを選んだ顧客は、ドライバーベンダーとMicrosoftが品質問題やクラッシュを特定し、解決するのに役立つ

より高いセキュリティモードでWindowsを展開できるか?

  • Windowsは統合ツールを使ってロックダウンでき、セキュリティ既定値も継続的に引き上げられている
  • Windows 11では、数十の新しいセキュリティ機能がデフォルトで有効化されている
  • 統合セキュリティ機能には、セキュアブート、計測ブート、メモリ整合性、脆弱ドライバーブロックリスト、ローカルセキュリティ機関保護、Microsoft Defender Antivirusなどがある
  • これらのセキュリティ機能は、最新のWindowsでマルウェアやエクスプロイトの試みに対する保護レイヤーを提供する
  • 標準ユーザーとして実行し、必要なときだけ権限昇格するなどのベストプラクティスに従う企業は、MITRE ATT&CKの多くの手法を緩和できる

今後の計画

  • Microsoftはエコシステムと連携し、アンチマルウェア企業がWindowsの統合機能を活用してアプローチをモダナイズし、セキュリティと安定性を高められるよう支援する方針
  • 安全なロールアウトのガイダンス、ベストプラクティス、技術を提供し、セキュリティ製品アップデートの実施をより安全にする
  • 重要なセキュリティデータにアクセスするためにカーネルドライバーが必要となるケースを減らす
  • VBSエンクレーブのような技術により、強化された分離と改ざん防止機能を提供する
  • デバイスのセキュリティ状態をWindows標準のセキュリティ機能の状態に基づいて判定できる手法である高整合性証明のようなゼロトラストアプローチを有効にする
  • Windowsは、MicrosoftのSecure Future Initiativeの一環としてRustプログラミング言語へのコミットメントを表明しており、WindowsカーネルにおけるRustサポートを拡大している
  • CrowdStrikeインシデント後の学びと次のステップに関するコミットメントの一環として、このブログ記事の情報を提供している

1件のコメント

 
GN⁺ 2024-07-29
Hacker Newsの意見
  • Microsoftは、セキュリティソフトウェアの近代化に向けてアンチマルウェアのエコシステムと協力する計画

    • 安全に更新を実施するためのガイドライン、ベストプラクティス、技術を提供する
    • 重要なセキュリティデータにアクセスするためのカーネルドライバーの必要性を減らす
    • ユーザーモードで実行される機能を列挙し、カーネルモードで実行される項目を減らそうとしている
  • CrowdStrikeの分析を待つ必要がありそう

    • セキュリティソフトウェアが歴史的にカーネルモードで実行されてきた理由を説明している
    • Microsoftは、セキュリティベンダーがユーザーモードへ移行するよう新技術を推進している
    • CrowdStrikeはすでにMacとLinuxでユーザーモードで動作している
    • Windowsでもユーザーモードで動作すれば、ブルースクリーンのような致命的なエラーのリスクを減らせる
    • Appleがセキュリティベンダーをカーネルモードから締め出したように、Windowsもそうしていればこの問題は発生しなかっただろう
  • eBPFへの言及がない点は注目に値する

    • eBPFはLinuxでは標準であり、Windowsでも利用可能だが、まだ主要なWindows OSには導入されていない
    • 静的解析でBlue Fridayバグを捕捉できたかもしれないが、現行のカーネルモジュールモデルより保護水準は高い
  • Microsoft自身がCrowdStrikeの主要な競合相手である点は驚くことではない

  • マーケティング部門と法務部門のレビューを経たものだろう

    • この事件から得た教訓をもとに改善するOS/ディストリビューションを選ぶことが重要
  • ユーザーに何ができるかをMicrosoftだけが決める代案は、さらに悪い

    • デジタル全体主義を擁護する人たちがいる
  • デバッグ過程の流れとリソースリンクが含まれた技術分析が良かった

    • もっと多くのデバッグ回顧がこのようであってほしい
  • MSやCrowdStrikeの発表では、このクラッシュがどのようにQCをすり抜けたのか説明されていない

    • 100%再現可能なクラッシュがQCの初期段階で検出されなかったのは理解しがたい
  • Control Flow Integrity (CFI/XFI) の研究経験がある

    • カーネルモジュールをサンドボックス化することは可能だった
    • 現在では、適切なフラグでコードをコンパイルすることでメモリ安全性エラーを完全に排除できる
    • BSODを丁寧なログメッセージに置き換え、不具合のあるドライバーを無効化できる