« オランダ AI影響アセスメント (2023.03.02) | Main | ドイツ BSI AIシステムの透明性に関する白書 (2024.08.05) »

2024.08.11

CROWDSTRIKE ファルコンのトラブルの根本原因分析報告書 (2024.08.06)

こんにちは、丸山満彦です。

CrowdStrike Falconのアップデートが原因で全世界で約850万台Windowsが障害を発生 (2024.07.19) し、世界中で100億ドル(10兆円)の損害がでたとも言われていますね...

 wikipedia でも"2024 CrowdStrike incident" として取り上げられていますね...

さて、CrowdStrikeは事故発生から対応を続けているわけですが、8月6日に根本原因を分析 (Root Cause Analysis) した報告書を公表していますね。

同業他社も、参考にすることにより、同様の事故が起こらないようにすることができるでしょうね...

にしても、CISA、GAOと過去に発表しているのもそうですが、情報共有が早いですね...

 

CrowdStrike

・2024.08.06 Channel File 291 RCA Exec Summary

主な原因は次の6つのようです...

FINDINGS AND MITIGATIONS 調査結果と低減策
1. The number of fields in the IPC Template Type was not validated at sensor compile time 1. IPC テンプレートタイプのフィールド数がセンサーのコンパイル時に検証されていなかった。
2. A runtime array bounds check was missing for Content Interpreter input fields on Channel File 291 2. Channel File 291 の Content Interpreter の入力フィールドにおいて、実行時の配列境界チェックが欠落していた。
3. Template Type testing should cover a wider variety of matching criteria 3. テンプレート・タイプのテストは、より多様なマッチング規準をカバーすべきである。
4. The Content Validator contained a logic error 4. コンテンツバリデータにロジックエラーが含まれていた
5. Template Instance validation should expand to include testing within the Content Interpreter 5. テンプレートインスタンスの検証は、Content Interpreter 内のテストを含むように拡張されるべきである。
6. Template Instances should have staged deployment  6. テンプレートインスタンスは展開ステージを持つべきである。

 

報告書

・[PDF]  [downloaded]

20240811-03003

 

ちなみにサイバー攻撃ではないですが、投資家にも影響があるということで、8-Kの報告書をSECに提出していますね...

 

Edgar

・2024.07.22 FORM 8-K

Item 8.01 項目 8.01
On July 19, 2024, CrowdStrike Holdings, Inc. (“we” or “us”) released a sensor configuration update for our Falcon sensor software that resulted in outages for a number of our customers utilizing certain Windows systems (the “event”).  The event was not caused by a cyberattack.     2024年7月19日、CrowdStrike Holdings, Inc.(以下、「当社」または「当社」)は、当社のファルコン・センサー・ソフトウェアのセンサー設定アップデートをリリースし、その結果、特定のWindowsシステムを利用する多くの顧客に障害が発生した(以下、「事象」)。 この事象はサイバー攻撃によるものではなかった。   
We urgently mobilized teams to support the security and stability of our customers.   我々は緊急にチームを動員し、顧客のセキュリティと安定性をサポートした。 
Certain Windows systems that were online when the update was released at 4:09 UTC on July 19 were affected. We identified and isolated the issue and the update was reverted at 5:27 UTC. We continue to work with impacted customers to fully restore their systems. As part of that effort, we have provided remediation information through our customer support portal and published event-related updates accessible through our blog at [web].  7月19日4時9分(UTC)にアップデートがリリースされたときにオンラインであった一部のWindowsシステムが影響を受けた。我々は問題を特定し、隔離し、5:27 UTCにアップデートを元に戻した。弊社は、影響を受けたお客様のシステムを完全に復旧させるため、引き続きお客様と協力している。その一環として、カスタマーサポートポータルを通じて改善情報を提供し、ブログ[web] からアクセス可能なイベント関連のアップデートを公開している。
This is an evolving situation.  We continue to evaluate the impact of the event on our business and operations.   これは進展中の状況である。 この事象が当社の事業および業務に与える影響については、引き続き評価を行っていく。 
Forward-Looking Statements 将来の見通しに関する記述
This Form 8-K contains forward-looking statements that involve risks and uncertainties, including statements regarding our understanding of the event and its impacts.  A number of factors could cause outcomes to differ materially from our statements, including the discovery of new information regarding the event and other risks and uncertainties included in our filings with the Securities and Exchange Commission, particularly under the caption “Risk Factors” in our most recently filed Quarterly Report on Form 10-Q.  Accordingly, you should not rely on these forward-looking statements.  All forward-looking statements are based on information currently available to us, and we do not assume any obligation to update any statement to reflect changes in circumstances or our expectations. 本フォーム8-Kには、本事象およびその影響に関する当社の理解に関する記述を含め、リスクと不確実性を伴う将来見通しに関する記述が含まれている。 事象に関する新たな情報の発見や、証券取引委員会への提出書類、特に直近に提出された四半期報告書(Form 10-Q)の「リスク要因」の見出しに記載されているその他のリスクや不確実性を含め、さまざまな要因により、当社の記述と大きく異なる結果が生じる可能性がある。 したがって、これらの将来予想に関する記述に依拠すべきではない。 すべての将来見通しに関する記述は、現在入手可能な情報に基づくものであり、状況の変化や当社の予想を反映するために、いかなる記述も更新する義務を負うものではない。

 


 

● まるちゃんの情報セキュリティ気まぐれ日記

・2024.08.05 米国 GAO ブログ CrowdStrikeの混乱がソフトウェア・アップデートによる主要なサイバー脆弱性を浮き彫りにする (2024.07.30)

・2024.07.20 米国 CISAもCrowdStrikeの更新の問題について情報提供をしていますね...はやい...

 


調査結果と低減策

FINDINGS AND MITIGATIONS 調査結果と低減策
1. The number of fields in the IPC Template Type was not validated at sensor compile time 1. IPC テンプレートタイプのフィールド数がセンサーのコンパイル時に検証されていなかった。
Findings: At the time of the incident, the sensor code for the IPC Template Type described 20 different input sources for use by the Template Instance. This means that when the sensor wanted to make a detection decision based on the IPC Template Type, the sensor code would supply 20 different input sources to the Content Interpreter. However, the definition of the IPC Template Type in the Template Type Definitions file stated that it expected 21 input fields. This definition resulted in Template Instances in Channel File 291 that expected to operate on 21 inputs. This mismatch was not detected during development of the IPC Template Type. The test cases and Rapid Response Content used to test the IPC Template Type did not trigger a fault during feature development or during testing of the sensor 7.11 release. 発見事項 インシデント発生時、IPC テンプレートタイプのセンサーコードには、テンプレートインスタンスが使用する 20 の異なる入力ソースが記述されていた。これは、センサーがIPC Template Typeに基づいて検知を決定したいとき、センサーコードが20の異なる入力ソースをContent Interpreterに供給することを意味する。しかし、Template Type DefinitionsファイルのIPC Template Typeの定義では、21の入力フィールドを想定していた。この定義により、チャンネル・ファイル291のテンプレート・インスタンスは21の入力で動作することが期待されていた。この不一致は IPC テンプレートタイプの開発中に検知されなかった。IPC テンプレートタイプのテストに使用されたテストケースとラピッドレスポンスコンテンツは、機能開発中またはセンサー 7.11 リリースのテスト中にフォールトをトリガーしなかった。
Mitigation: Validate the number of input fields in the Template Type at sensor compile time 低減: センサーのコンパイル時にテンプレートタイプの入力フィールド数を検証する。
A patch for the Sensor Content Compiler that validates the number of inputs provided by a Template Type was developed on July 19, 2024, and went into production on July 27, 2024, as part of CrowdStrike’s internal build tooling. The Sensor Content Compiler patch also verified that no other Template Types were providing an incorrect number of inputs, on any platform. Template Type が提供する入力フィールドの数を検証する Sensor Content Compiler のパッチが 2024 年 7 月 19 日に開発され、2024 年 7 月 27 日に CrowdStrike の内部ビルドツールの一部として本番稼動した。センサーコンテンツコンパイラのパッチは、どのプラットフォームにおいても、他のテンプレートタイプが不正な数のインプットを提供していないことも検証した。
2. A runtime array bounds check was missing for Content Interpreter input fields on Channel File 291 2. Channel File 291 の Content Interpreter の入力フィールドにおいて、実行時の配列境界チェックが欠落していた。
Findings: The Rapid Response Content for Channel File 291 instructed the Content Interpreter to read the 21st entry of the input pointer array. However, the IPC Template Type only generates 20 inputs. As a result, once Rapid Response Content was delivered that used a non-wildcard matching criterion for the 21st input, the Content Interpreter performed an out-of-bounds read of the input array. This is not an arbitrary memory write  issue and has been independently reviewed. 発見: チャンネルファイル291のラピッドレスポンスコンテンツは、コンテンツインタプリタに入力ポインタ配列の21番目のエントリを読むように指示した。しかし、IPC テンプレートタイプは 20 個の入力しか生成しない。その結果、21番目の入力にワイルドカードでないマッチング基準を使用するラピッドレスポンスコンテンツが配信されると、コンテンツインタープリタは入力配列の境界外読み取りを実行した。これは任意のメモリ書き込みの問題ではなく、独自にレビューされている。
Mitigation: Add runtime input array bounds checks to the Content Interpreter for Rapid Response Content in Channel File 291 低減: チャンネルファイル 291 のラピッドレスポンスコンテンツのコンテンツインタープリターにランタイム入力配列の境界チェックを追加した。
Bounds checking was added to the Content Interpreter function that retrieves input strings on July 25, 2024. An additional check that the size of the input array matches the number of inputs expected by the Rapid Response Content was added at the same time. These fixes are being backported to all Windows sensor versions 7.11 and above through a sensor software hotfix release. This release will be generally available by August 9, 2024.  2024 年 7 月 25 日、入力文字列を取得する Content Interpreter 機能に境界チェックが追加された。入力配列のサイズが、ラピッドレスポンスコンテンツが期待する入力数と一致するかどうかのチェックも同時に追加された。これらの修正は、センサーソフトウェアホットフィックスリリースを通じて、すべてのWindowsセンサーバージョン7.11以上にバックポートされる。このリリースは2024年8月9日までに一般公開される予定である。
The added bounds check prevents the Content Interpreter from performing an out-of-bounds access of the input array and crashing the system. The additional check adds an extra layer of runtime validation that the size of the input array matches the number of inputs expected by the Rapid Response Content. 追加された境界チェックは、Content Interpreterが入力配列の境界外アクセスを実行し、システムがクラッシュするのを防ぐ。追加されたチェックは、入力配列のサイズがラピッド・レスポンス・コンテンツが期待する入力数と一致するかどうかの実行時検証のレイヤーを追加するものである。
We have completed fuzz testing of the Channel 291 Template Type and are expanding it to additional Rapid Response Content handlers in the sensor. 我々は、Channel 291 Template Type のファズテストを完了し、センサの Rapid Response Content ハンドラの追加に拡張している。
Mitigation: Correct the number of inputs provided by the IPC Template Type 低減: IPC Template Type が提供する入力数を修正する。
The sensor code defining the IPC Template Type was updated to provide the correct number of inputs (21). This fix is being backported to all Windows sensor versions 7.11 and above through a sensor software hotfix release. This release will be generally available by August 9, 2024.  IPC Template Type を定義するセンサーコードが正しい入力数(21)を提供するように更新された。この修正は、センサーソフトウェアのホットフィックスリリースを通じて、すべてのWindowsセンサーバージョン7.11以上にバックポートされる。このリリースは、2024 年 8 月 9 日までに一般に提供される予定である。
3. Template Type testing should cover a wider variety of matching criteria 3. テンプレート・タイプのテストは、より多様なマッチング規準をカバーすべきである。
Findings: Both manual and automated testing were performed during the development of the IPC Template Type. This testing was focused on functional validation of the Template Type including the correct flow of security-relevant data through it, and evaluation of that data to generate appropriate detection alerts based on criteria created in development test cases.  調査結果 IPCテンプレート・タイプの開発において、手動テストと自動テストの両方が実施された。このテストは、開発テストケースで作成された基準に基づき、適切な検知アラートを生成するために、セキュリティに関連するデータがテンプレート型を通じて正しく流れること、及び、そのデータを評価することを含む、テンプレート型の機能検証に重点を置いた。
Automated testing leveraged internal and external tooling to create the required securityrelevant data needed to exercise the IPC Template Type under all supported Windows versions within a broad subset of the expected operational use cases. For automated testing, a static set of 12 test cases was selected to be representative of broader operational expectations and to validate the creation of telemetry and detection alerts. Part of this testing included defining a channel file for use within the test cases. The selection of data in the channel file was done manually and included a regex wildcard matching criterion in the 21st field for all Template Instances, meaning that execution of these tests during development and release builds did not expose the latent out-of-bounds read in the Content Interpreter when provided with 20 rather than 21 inputs. 自動テストでは、想定される運用ユースケースの広範なサブセットの中で、サポートされるすべての Windows バージョンの下で IPC テンプレートタイプを実行するために必要なセキュリティ関連データを作成するために、内部および外部のツールを活用した。自動テストでは、より広範な運用上の想定を代表し、遠隔測定と検知アラートの作成を検証するために、12 のテストケースからなる静的なセットを選択した。このテストの一部には、テストケース内で使用するチャンネルファイルの定義が含まれていた。チャネルファイル内のデータの選択は手動で行われ、すべてのテンプレートインスタンスの 21 番目のフィールドに正規表現によるワイルドカードのマッチング基準が含まれていたため、開発中およびリリースビルド中にこれらのテストを実行しても、21 個の入力ではなく 20 個の入力がプロバイダに提供された場合に、コンテンツインタープリタに潜在する境界外の読み取りが露呈することはなかった。
Mitigation: Increase test coverage during Template Type development 低減: テンプレートタイプ開発中のテストカバレッジを増やす
To confirm that we are validating all fields in each Template Type, automated tests have been created that test with non-wildcard matching criteria for each field. This step has been done for all existing Template Types and is required for all future Template Types. 各テンプレートタイプのすべてのフィールドを検証していることを確認するために、各フィールドのワイルドカード以外のマッチング条件でテストする自動テストが作成された。このステップは既存のすべてのテンプレート型で実施され、今後のすべてのテンプレート型で必須となる。
Additionally, all future Template Types include test cases with additional scenarios that better reflect production usage. さらに、今後作成されるすべてのテンプレート・タイプには、実運用での使用状況をよりよく反映する追加シナリオを含むテストケースが含まれる。
4. The Content Validator contained a logic error 4. コンテンツバリデータにロジックエラーが含まれていた
Findings: The Content Validator evaluated the new Template Instances. However, it based its assessment on the expectation that the IPC Template Type would be provided with 21 inputs. This resulted in the problematic Template Instance being sent to the Content Interpreter.  発見: コンテンツ検証ツールは新しいテンプレートインスタンスを評価した。しかし、IPC テンプレートタイプが 21 個の入力で提供されるという予想に基づいてアセスメントを行った。その結果、問題のあるテンプレートインスタンスがコンテンツインタプリタに送られた。
Mitigation: Create additional checks in the Content Validator 低減: コンテンツバリデータに追加チェックを設ける
The Content Validator is being modified to add new checks to ensure that content in Template Instances does not include matching criteria that match over more fields than are being provided as input to the Content Interpreter. This fix will be released to production by August 19, 2024.  Content Validatorに新しいチェックを追加して、Content Interpreterへの入力として提供されるよりも多くのフィールドにマッチするマッチング基準が、Template Instanceのコンテンツに含まれないようにする。この修正は、2024 年 8 月 19 日までに本番環境にリリースされる予定である。
Mitigation: Prevent the creation of problematic Channel 291 files  低減: 問題のある Channel 291 ファイルの作成を防ぐ 
The Content Validator was modified to only allow wildcard matching criteria in the 21st field, which prevents the out-of-bounds access in the sensors that only provide 20 inputs.  Content Validator は、21 番目のフィールドにワイルドカードのマッチング条件のみを許可するように修正され、20 個の入力しか提供しないセンサーでの境界外アクセスを防止する。
5. Template Instance validation should expand to include testing within the Content Interpreter 5. テンプレートインスタンスの検証は、Content Interpreter 内のテストを含むように拡張されるべきである。
Findings: Newly released Template Types are stress tested across many aspects, such as resource utilization, system performance impact and detection volume. For many Template Types, including the IPC Template Type, a specific Template Instance is used to stress test the Template Type by matching against any possible value of the associated data fields to identify adverse system interactions. 発見: 新しくリリースされたテンプレート・タイプは、リソースの使用率、システム・パフォーマンスへの影響、 検出数など、多くの側面からストレステストされる。IPC Template Type を含む多くの Template Type では、特定の Template Instance を使用して、関連するデータフィールドの可能性のあるあらゆる値と照合することで、不利なシステム相互作用を特定し、Template Type をストレステストする。
A stress test of the IPC Template Type with a test Template Instance was executed in our test environment, which consists of a variety of operating systems and workloads. The IPC Template Type passed the stress test and was validated for use, and a Template Instance was released to production as part of a Rapid Response Content update.  テストテンプレートインスタンスを使用した IPC テンプレートタイプのストレステストが、様々なオペレーテ ィングシステムとワークロードからなるテスト環境で実行された。IPC テンプレートタイプはストレステストに合格し、使用が検証され、テンプレートインスタンスはラピッドレスポ ンスコンテンツのアップデートの一部として本番環境にリリースされた。
However, the Content Validator-tested Template Instance did not observe that the mismatched number of inputs would cause a system crash when provided to the Content Interpreter by the IPC Template Type. しかし、Content Validator がテストした Template Instance では、IPC Template Type が Content Interpreter にプロバイダされたときに、入力数の不一致がシステムクラッシュの原因になることが観察されなかった。
Mitigation: Update Content Configuration System test procedures 低減: コンテンツ構成システムのテスト手順を更新する
The Content Configuration System has been updated with new test procedures to ensure that every new Template Instance is tested, regardless of the fact that the initial Template Instance is tested with the Template Type at creation. This provides Template Instances with additional testing prior to production deployment. 最初のテンプレートインスタンスが作成時のテンプレートタイプでテストされることに関係なく、すべての新しいテンプレートインスタンスがテストされるように、コンテンツコンフィギュレーションシステムが新しいテスト手順で更新された。これにより、テンプレートインスタンスに、本番配備前の追加テストが提供される。
6. Template Instances should have staged deployment  6. テンプレートインスタンスは展開ステージを持つべきである。
Findings: Each Template Instance should be deployed in a staged rollout. 発見: 各テンプレートインスタンスはステージ展開されるべきである。
Mitigation: The Content Configuration System has been updated with additional deployment layers and acceptance checks   低減: コンテンツコンフィギュレーションシステムが更新され、デプロイメントレイヤーと受け入れチェックが追加された。 
Staged deployment mitigates impact if a new Template Instance causes failures such as system crashes, false-positive detection volume spikes or performance issues. New Template Instances that have passed canary testing are to be successively promoted to wider deployment rings or rolled back if problems are detected. Each ring is designed to identify and mitigate potential issues before wider deployment. Promoting a Template Instance to the next successive ring is followed by additional bake-in time, where telemetry is gathered to determine the overall impact of the Template Instance on the endpoint. 段階的展開により、新しいテンプレートインスタンスがシステムクラッシュ、誤検知の急増、パフォーマンスの問題などの障害を引き起こした場合の影響が低減される。カナリアテストに合格した新しいテンプレートインスタンスは、問題が検出された場合、より広いデプロイメントリングに順次昇格するか、ロールバックされる。各リングは、より広い展開の前に潜在的な問題を特定し、緩和するように設計されている。テンプレートインスタンスを次のリングに昇格させる際には、エンドポイントに対するテンプレートインスタンスの全体的な影響を判断するためにテレメトリが収集されるベークイン時間が追加される。
Mitigation: Provide customer control over the deployment of Rapid Response Content updates 低減: ラピッドレスポンスコンテンツのアップデートのデプロイメントを顧客がコントロールできるようにする。
The Falcon platform has been updated to provide customers with increased control over the delivery of Rapid Response Content. Customers can choose where and when Rapid Response Content updates are deployed. We are continuing to enhance this capability to provide more granular control over Rapid Response Content deployments together with content update details via release notes, to which customers can subscribe. ファルコンプラットフォームは、ラピッドレスポンスコンテンツの配信に関するコントロールの強化を顧客に提供するためにアップデートされた。顧客は、ラピッドレスポンスコンテンツのアップデートがいつ、どこで展開されるかを選択することができる。ファルコンはこの機能を継続的に強化し、ラピッドレスポンスコンテンツの配備をよりきめ細かくコントロールできるようにするとともに、顧客が購読できるリリースノートを通じて、コンテンツ更新の詳細を提供する。
INDEPENDENT THIRD-PARTY REVIEW 独立サードパーティによるレビュー
CrowdStrike has engaged two independent third-party software security vendors to conduct further review of the Falcon sensor code for both security and quality assurance. Additionally, we are conducting an independent review of the end-to-end quality process from development through deployment. Both vendors have started reviews with an immediate focus on the July 19 impacted code and process. CrowdStrikeは、2つの独立したサードパーティーのソフトウェアセキュリティベンダーと契約し、セキュリティと品質保証の両面からFalconセンサーのコードのさらなるレビューを行っている。さらに、開発から配備までのエンドツーエンドの品質プロセスについても独立したレビューを実施している。両ベンダーは、7月19日に影響を受けたコードとプロセスに焦点を当てたレビューを直ちに開始した。

 

 

|

« オランダ AI影響アセスメント (2023.03.02) | Main | ドイツ BSI AIシステムの透明性に関する白書 (2024.08.05) »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



« オランダ AI影響アセスメント (2023.03.02) | Main | ドイツ BSI AIシステムの透明性に関する白書 (2024.08.05) »