- 自己紹介
- アプリ開発チュートリアル
- ステップ1:アプリを作成する
- ステップ2:ダッシュボードの追加
- ステップ3:ダッシュボードをアプリのホームページとして設定
- ステップ4:アプリのデプロイ
- ステップ 5:アプリのUIのプレビュー
- ステップ6:Fusion SOARアクションとしてクエリを設定
- ステップ7:ワークフローテンプレートの追加
- ステップ8:再デプロイとリリース
- ステップ9:アプリのインストール
- アプリの完成形
- まとめ
自己紹介
こんにちは、エーピーコミュニケーションズiTOC事業部 BzD部 0-WANの田中と申します。
弊社でEDR製品を導入いただいたお客様のインシデント調査を主に担当しております。
その傍らプログラマーとしての経験と知識を生かしてセキュリティに関するウェブアプリケーションを設計構築するなどSOCチームのメンバーとして日々サイバーセキュリティと共に在るエンジニアです。
2025年は12回に渡ってCrowdStrikeの利用者視点で役に立つ情報をお伝えしています。
| 回 | 掲載月 | トピック |
|---|---|---|
| 1 | 2025/1 | 【CrowdStrike】FalconConsole徹底解説 その1 |
| 2 | 2025/2 | 【CrowdStrike】FalconConsole徹底解説 その2 |
| 3 | 2025/3 | 【CrowdStrike】FalconConsole徹底解説 その3 |
| 4 | 2025/4 | 【CrowdStrike】クエリー徹底解説 その1 |
| 5 | 2025/5 | 【CrowdStrike】クエリー徹底解説 その2 |
| 6 | 2025/6 | 【CrowdStrike】クエリー徹底解説 その3 |
| 7 | 2025/7 | 【CrowdStrike】API徹底解説 その1 |
| 8 | 2025/8 | 【CrowdStrike】API徹底解説 その2 |
| 9 | 2025/9 | 【CrowdStrike】API徹底解説 その3 |
| 10 | 2025/10 | 【CrowdStrike】Falcon Foundry徹底解説 その1 |
| 11 | 2025/11 | 【CrowdStrike】Falcon Foundry徹底解説 その2 |
| 12 | 2025/12 | 【CrowdStrike】Falcon Foundry徹底解説 その3 |
今回は、公式チュートリアル『脅威ハンティングダッシュボードとレポートスケジュールの作成』を題材に、Falconコンソール上でのGUI開発フローを解説します。
公式ドキュメントは以下をご参照ください。
アプリ開発チュートリアル
以下のリンクから「アプリ開発チュートリアル」をはじめます。
https://falcon.us-2.crowdstrike.com/foundry/learn

以下の指示に従ってチュートリアル「脅威ハンティングダッシュボードとレポートスケジュールの作成」を進めてアプリを作成します。(Falconドキュメントより引用)
脅威ハンティングダッシュボードを作成し、アプリのホームページとして設定します。
不審なDNSアクティビティを示しているホストのリストをセキュリティチームに定期的に提供できるように、Eメールをスケジュールします。
このチュートリアルでは、以下のFoundry機能について説明します。
・ ダッシュボード
・ ワークフローテンプレート
基本的なアプリ作成プロセスをいくつかのステップに分けています。
ステップ1:アプリを作成する
ステップ2:ダッシュボードの追加
ステップ3:ダッシュボードをアプリのホームページとして設定
ステップ4:アプリのデプロイ
ステップ5:アプリのUIのプレビュー
ステップ6:Fusion SOARアクションとしてクエリを設定
ステップ7:ワークフローテンプレートの追加
ステップ8:再デプロイとリリース
ステップ9:アプリのインストール
ステップ1:アプリを作成する
以下のリンクから「アプリ管理」画面に移動してアプリを作成します。
https://falcon.us-2.crowdstrike.com/foundry/app-manager


ステップ2:ダッシュボードの追加
センサーや検知イベントのデータをクエリして脅威を視覚化するダッシュボードを作成します。



ダッシュボードが編集モードで開きます。この後ダッシュボードの部品となる「ウィジェット」を作成して配置していきます。

最初のウィジェット:ユーザースペースでのプロセスの実行
過去7日間にユーザースペースで実行されたプロセスを表示するダッシュボードウィジェットを追加します。

「クエリの追加」を選択するとクエリビルダーが起動します。
以下のクエリを追加し「クエリを保存する」をクリックして保存します。

AuthenticationID をキーに結合しますが、弊社環境では値が取得できなかったため、今回は aid を代用して結合しました。
#event_simpleName=ProcessRollup2 OR #event_simpleName=SyntheticProcessRollup2
| ImageFileName=/(\\Desktop\\|\\AppData\\)/
| join({#event_simpleName=UserIdentity | groupBy([aid, AuthenticationID, UserName], limit=max)}, field=aid, include=UserName)
| table([aid, UserName, ImageFileName, SHA256HashData], limit=1000)
#event_simpleName=ProcessRollup2 OR #event_simpleName=SyntheticProcessRollup2
| ImageFileName=/(\\Desktop\\|\\AppData\\)/
| join({#event_simpleName=UserIdentity | groupBy([aid, AuthenticationID, UserName], limit=max)}, field=AuthenticationID, include=UserName)
| table([aid, UserName, ImageFileName, SHA256HashData], limit=1000)
名前と説明を設定して保存します。同様にウィジェット名と外観も設定します。





これで最初のウィジェットがダッシュボードに追加されました。この後も同様にウィジェットを追加していきます。
2番目のウィジェット:エンコード化されたPowerShellコマンド
過去7日間にユーザーが実行した、エンコード化されたPowerShellコマンドを表示するウィジェットを追加します。 最初のウィジェットと同様にクエリを追加します。
AuthenticationID をキーに結合しますが、弊社環境では値が取得できなかったため、今回は aid を代用して結合しました。
#event_simpleName=ProcessRollup2
ImageFileName=/\\powershell\.exe/i CommandLine=/\s-[e^]{1,2}[ncodema^]+\s/i
| join({#event_simpleName=UserIdentity | groupBy([aid, AuthenticationID, UserName], limit=max)}, field=aid, include=UserName)
| table([aid, UserName, ImageFileName, CommandLine], limit=1000)
#event_simpleName=ProcessRollup2
ImageFileName=/\\powershell\.exe/i CommandLine=/\s-[e^]{1,2}[ncodema^]+\s/i
| join({#event_simpleName=UserIdentity | groupBy([aid, AuthenticationID, UserName], limit=max)}, field=AuthenticationID, include=UserName)
| table([aid, UserName, ImageFileName, CommandLine], limit=1000)

3番目のウィジェット:不審なDNSクエリの数
過去7日間にユーザーが実行した不審なDNSクエリの数を表示するウィジェットを追加します。 最初のウィジェットと同様にクエリを追加します。
aid=?{aid="*"}
| groupBy([aid, DomainName], limit=max)
| _count < 3
| head(10)
aid=?{aid="*"}
| groupBy([aid, DomainName], limit=max)
| _count < 3

4番目のウィジェット:不審なDNSクエリのデータテーブル
ウィジェットを追加して、同じ検索結果を異なるビューに表示することができます。前のウィジェットで使用したクエリに基づいて、カウントではなくテーブルビューでウィジェットを追加します。

すべてのウィジェットを登録したら「ダッシュボードの保存」をクリックしてダッシュボードを保存します。(こまめに保存することをお勧めします)

ステップ3:ダッシュボードをアプリのホームページとして設定
新しいダッシュボードをアプリのホームページとして設定します。 「ナビゲーション設定の指定」を選択し表示されたダイアログで「アプリのホームページとして設定」にチェックを入れて保存します。


ステップ4:アプリのデプロイ
デプロイを実行すると、アプリの現在のバージョンがCrowdStrikeクラウド上にプッシュ(保存)されます。 これによりバージョン管理機能が働き、自分や他のメンバーが継続的にアプリの改善(イテレーション)を行えるようになります。
デプロイを実行することでFalcon管理者とFoundryアプリ開発者にアプリが表示されます。 アプリは、リリースしてインストールするまで、エンドユーザーには表示されません。




ステップ 5:アプリのUIのプレビュー
ダッシュボードをプレビューモードで確認します。 プレビューモードを使用すると、UIの機能(ダッシュボード、UI拡張機能、UIページ、UIナビゲーション)を使用してデプロイメントをテストできます。 脅威ハンティングダッシュボードの完成です。




ステップ6:Fusion SOARアクションとしてクエリを設定
続いて、不審なDNSアクティビティに関するEメールレポートです。
【⚠️ 実践にあたっての重要なお知らせと免責事項】
本チュートリアルで作成するアプリをインストール・有効化すると、ワークフローが即座に実行される場合があります。手順を試す際は、以下の点に十分ご注意ください。安全なクエリを別に作成して試されることを強くお勧めします。
1. 大量のメール通知について 環境の検知状況によっては、ワークフローの実行に伴い大量の通知メールが送信される可能性があります。 検証用のメールアドレスを使用するなど、受信環境にはご注意ください。
2. リンクの取り扱いについて 送信されるメール本文には、脅威インテリジェンスに基づいた実在する不審なドメイン名が含まれています。これらは危険なサイトである可能性が高いため、決してリンクをクリックしないでください。
【免責事項】 本記事の内容は技術解説を目的としています。本記事の手順を実行した結果、システムへの負荷、セキュリティインシデント、その他いかなる損害やトラブルが生じた場合でも、筆者および所属組織は一切の責任を負いかねます。 実装および実行は、必ずご自身の責任と判断において行ってください。
不審ドメインのリンクは決してクリックしないでください!
レポートでは、Fusion SOARでスケジュールされたワークフローを実行するワークフローテンプレートを作成します。このワークフローでは、前のステップで設定した不審なDNSクエリ検索を使用します。ワークフローでクエリを使用するには、Fusion SOARでクエリを有効にします。



aid=?{aid="*"}
| groupBy([aid, DomainName], limit=max)
| _count < 3
| head(10)





ステップ7:ワークフローテンプレートの追加
Foundryアプリの自動化機能は「ワークフローテンプレート」を作成して定義します。 今回は「重大度『高』の不審なDNS通信を行ったホストを特定し定期的にメールでリストを送信する」というスケジュール実行型のワークフローを作成してみましょう。


Eメールで送信されるレポートのスケジュールを設定します。
- 「How often(頻度)」で、「Weekly(週に1回)」を選択します。
- 「Start time(開始時間)」と「Time zone(タイムゾーン)」を設定します。
- 必要に応じてその他の設定を行います。
- テストEメールを送信するには、「Start time(開始時間)」を1時間以内に設定し、曜日を今日に設定します。


過去1週間に最終検出されたデバイスを探します。 これを行うには、「Scheduled(スケジュール済み)」ノードに「Device Query(デバイスクエリ)」アクションを追加します。


※このチェックボックスを選択すると、「Last seen(最終検出)」フィールドがさまざまな入力形式を受け入れられるようになります。 例えば、あるデバイスがDD-MM-YYYY値を返し、別のデバイスがMM-DD-YYYY値を返す場合、フィールドをパラメーター化することで、両方の形式が受け入れられるようになり、エラーが発生しなくなります。
デバイスごとにデバイスクエリアクションを繰り返し実行するためループを設定します。





もしもワークフローで分岐にループが表示されないなど問題がある場合は、クエリの編集で該当クエリの「出力スキーマ」を手動で設定することで直ることがあります。
分岐にループが表示されるようになった
出力スキーマを設定する場合は、前出の「不審なDNSクエリ」の編集で「出力スキーマ」に以下を貼り付けて保存してください。
クエリーの保存後デプロイも忘れずに行ってください。その後「ワークフローテンプレート」作成を再開してください。
くわしくはCrowdStrikeサポートへお問い合わせください。
{
"type": "object",
"$schema": "https://json-schema.org/draft-07/schema",
"required": [
"DomainName",
"_count",
"aid"
],
"properties": {
"aid": {
"type": "string",
"title": "Aid"
},
"_count": {
"type": "integer",
"title": "Count"
},
"DomainName": {
"type": "string",
"title": "DomainName"
}
},
"description": "Generated response schema"
}



メッセージ欄には以下を貼り付けます。
Host ID: ${Aid instance}
DNS Count: ${Count instance}
Host ID: ${Aid instance}
DNS Count: ${Count instance}
Instance Name: ${DomainName instance}


ステップ8:再デプロイとリリース
アプリを再度デプロイして、新しいバージョンを保存します。次に、アプリをリリースして、CIDにインストールして使用できるようにします。




ステップ9:アプリのインストール
アプリをインストールして、組織のCID内のユーザーがダッシュボードを利用できるようにします。また、インストールによって、スケジュール化されたEメールレポートを送信することもできます。

注:Falcon Insight XDRまたはFalcon Preventのサブスクリプションをお持ちのお客様は、CIDごとに1つのFoundryアプリを追加コストなしでインストールできます。追加のFoundryアプリをインストールするには、Falcon Foundryサブスクリプション、またはFalcon Next-Gen SIEMサブスクリプションが必要です。詳細については、クラウドストライクの営業担当者にお問い合わせください。





インストールが完了すると、アプリをテストできます。
アプリのプレビュー時に使用したのと同じ場所(「Custom apps(カスタムアプリ)」> 「Threat Hunting(脅威ハンティング)」>「Threat Hunting Dashboard(脅威ハンティングダッシュボード)」)に進みます。
ダッシュボードは、 Falconコンソールの別の場所(「Dashboards and reports(ダッシュボードおよびレポート)>「Dashboards(ダッシュボード)」>「Foundry dashboards(Foundryダッシュボード)」) からも使用できます。


※アプリをアンインストールする場合はアプリのカタログ(https://falcon.us-2.crowdstrike.com/foundry/app-catalog)から「アプリのアンインストール」で行います。
詳細はドキュメントをご参照ください。(https://falcon.us-2.crowdstrike.com/documentation/page/ha2dd02e/app-administration)




アプリの完成形

まとめ
今回の記事では、公式チュートリアル『脅威ハンティングダッシュボードとレポートスケジュールの作成』を通して、Falconコンソール上でのGUI開発フローを解説しました。
プログラミングの専門知識がなくても、ドラッグ&ドロップの操作で実用的なセキュリティアプリが作成可能です。「自動化には興味があるけれど、コードを書くのはハードルが高い」と感じていた方も、ぜひ一度Falconコンソールでの開発を試してみてください。(ワークフローは十分に注意してご利用ください。)
さて、次回からはテーマを大きく変え、「脆弱性」にフォーカスした新連載をスタートします。
新連載では、個別の脆弱性解説や製品評価といった話題からあえて一歩引き、「脆弱性とは何か」「それはどのような条件で成立するのか」といった点を、体系的に考察していきます。
普段何気なく扱っている「脆弱性」という概念を、改めて整理・確認できるような内容になればと考えています。次回以降の記事もぜひご覧ください。
最後まで読んでいただき、ありがとうございました。
0-WANについて
私たち0-WANは、ゼロトラスト製品を中心とした、マルチベンダーでのご提案で、お客様の経営課題解決を支援しております。 ゼロトラストってどうやるの?製品を導入したけれど使いこなせていない気がする等々、どんな内容でも支援いたします。 お気軽にご相談ください。
問い合わせ先、0-WANについてはこちら。 www.ap-com.co.jp
一緒に働いて頂ける仲間も募集しています
今までの経験を活かして、私たちと一緒にゼロトラスト分野で活躍しませんか? www.ap-com.co.jp
