CyberForces CWPP 技術解説Technical

技術解説Technical deep-dive

CyberForces CWPP の仕組み How CyberForces CWPP works

複数の EDR / EPP プロバイダ(Trend Micro Vision One、Cloud One Workload Security、CrowdStrike Falcon ほか)を、API 経由で統合し横断運用する設計を、エンジニア向けに解説します。既存のセキュリティエンジンを置き換えず、その上に統一された可視化・AI トリアージ・応答の層を載せる、という前提の上に各機能が成り立っています。 An engineer-level look at how we connect multiple EDR/EPP providers (Trend Micro Vision One, Cloud One Workload Security, CrowdStrike Falcon and more) over their APIs and operate them as one — built on the invariant that we never replace the underlying engine, but add a unified layer of visibility, AI triage and response on top of it.

アーキテクチャ概要Architecture overview

SaaS 側のコントロールプレーンが、プラガブルなプロバイダコネクタ層を介して、各プロバイダの API に認証・接続し、エンドポイント・検知・ポリシーを取得して統一モデルへ正規化します。顧客環境に当社エージェントを常駐させる必要はありません(保護自体は既存の EDR/EPP エージェントが担います)。A SaaS control plane connects and authenticates to each provider's API through a pluggable connector layer, pulling endpoints, detections and policies and normalizing them into a unified model. No standing CyberForces agent is required in the customer environment — protection itself is handled by the existing EDR/EPP agents.

セキュリティプロバイダ(EDR / EPP)Security providers (EDR / EPP)
Vision One
Cloud One WS
CrowdStrike Falcon
将来のプロバイダFuture providers
エンドポイント / 検知 APIEndpoint / detection API
隔離 / ポリシー API(強い操作)Isolate / policy API (strong)
API token / OAuth2 → provider auth
CyberForces コントロールプレーンCyberForces control plane
API (FastAPI + Mangum / Lambda)
DynamoDB エンドポイント・検知・インシデント・タスク・コネクタ設定endpoints, detections, incidents, tasks, connectors
定期同期 Lambda 群Scheduled sync Lambdas (inventory / detections / health)
正規化 / 統一スキーマ層Normalization / unified schema 横断モデル化cross-provider model
Amazon Bedrock (Claude) 検知トリアージ / SOC レポートdetection triage / SOC reporting

⇅ Cognito / cyberforces-id JWT + group claims

プラガブルなコネクタ層Pluggable connector layer

各プロバイダは共通の抽象インターフェース(ProviderBase)を実装します。プロバイダ API への認証(Vision One: API トークン+リージョン / Cloud One: api-secret-key / CrowdStrike: OAuth2 クライアント認証情報)と、エンドポイント列挙・検知取得・隔離/復旧・ポリシー同期という統一操作を備えます。新規プロバイダの追加は、このインターフェースを実装して登録するだけです。Each provider implements a shared abstract interface (ProviderBase): authentication to the provider API (Vision One: API token + region / Cloud One: api-secret-key / CrowdStrike: OAuth2 client credentials) plus a unified set of operations — list endpoints, list detections, isolate/restore, sync policies. Adding a provider is just implementing the interface and registering it.

統一スキーマと正規化Unified schema & normalization

エンドポイント・検知・ポリシーはプロバイダ横断で正規化されます。endpoint_id は <provider>:<native_id>(例 visionone:abc123)の名前空間付き。重大度やステータスも共通の enum に揃え、プロバイダが違っても同じ語彙で扱えます。Endpoints, detections and policies are normalized across providers. The endpoint_id is namespaced as <provider>:<native_id> (e.g. visionone:abc123). Severity and status share common enums, so different providers are handled with one vocabulary.

認証とアクセス制御の内訳Auth & access-control breakdown

プロバイダ認証情報の保管とテナント分離、そしてグループ単位のスコープをサーバ側で強制します。Provider credentials, tenant isolation and per-group scoping are all enforced server-side.

読取・トリアージRead / triage日常運用day-to-day
  • エンドポイント在庫・検知の列挙List endpoint inventory & detections
  • 検知のトリアージ状態更新(新規/対応中/解決/誤検知)Update detection triage status
  • インシデント・タスクの参照と進捗更新View incidents/tasks, update progress
  • AI 分析のための Bedrock 呼び出し(Lambda の IAM ロール)Bedrock invocation for AI (Lambda IAM role)
状態変更State-changing明示・監査必須explicit, audited
  • エンドポイントの隔離 / 復旧(プロバイダ API を呼出)Isolate / restore endpoint (calls provider API)
  • ポリシーの同期・移行の実行Run policy sync / migration
  • コネクタのグループスコープ・認証情報の設定Set connector group scope / credentials
  • 状態を変える操作はすべて監査ログに記録Every such action is written to the audit log

接続の流れHow onboarding works

実際のプロバイダ接続は、おおむね次の 6 ステップです。最短で同日に横断運用を開始できます。Connecting a provider is roughly six steps — you can be operating across providers the same day.

  1. 1

    コネクタを作成Create a connector

    プロバイダ(Vision One / Cloud One / CrowdStrike)を選び、その API 認証情報を登録します。Vision One は API トークン+リージョン、Cloud One は api-secret-key、CrowdStrike は OAuth2 クライアント認証情報。認証情報はテナント単位で安全に保管します。Pick a provider (Vision One / Cloud One / CrowdStrike) and register its API credentials — Vision One: API token + region, Cloud One: api-secret-key, CrowdStrike: OAuth2 client credentials. Credentials are stored securely per tenant.

  2. 2

    接続テストTest the connection

    登録した認証情報でプロバイダ API への疎通を確認します。以降、同期ヘルスはコネクタ単位で継続的に追跡されます。A connection test verifies access to the provider API with the registered credentials. From then on, sync health is tracked per connector.

  3. 3

    初回同期(在庫と検知)Initial sync (inventory & detections)

    エンドポイント在庫と検知を取得し、統一スキーマへ正規化。endpoint_id を <provider>:<native_id> で名前空間化し、重大度・ステータスを共通 enum に揃えます。オンデマンド同期も可能です。Endpoint inventory and detections are pulled and normalized into the unified schema — endpoint_id is namespaced <provider>:<native_id> and severity/status mapped to common enums. On-demand sync is available too.

  4. 4

    グループスコープを設定Scope to groups

    コネクタを特定のグループにスコープすると、そのチームだけがコネクタと派生するエンドポイント・検知を見られます。サーバ側でアクセストークンのグループクレームから強制されます。Scope a connector to specific groups so only that team sees the connector and its derived endpoints/detections. This is enforced server-side from the access token's group claims.

  5. 5

    AI トリアージを有効化Enable AI triage

    検知ごとの AI 分析・推奨アクション・日次ブリーフィングを有効化。Bedrock(Claude)は Lambda の IAM ロールで認証され、ページや設定に API キーは存在しません。Turn on per-detection AI analysis, recommended actions and daily briefings. Bedrock (Claude) authenticates via the Lambda's IAM role — there is no API key in the page or config.

  6. 6

    運用開始Operate

    横断ダッシュボードで検知をトリアージし、必要なエンドポイントを隔離、関連検知をインシデントへ束ね、対応を追跡タスクへ昇格。状態を変える操作はすべて監査可能です。Triage detections in a cross-provider dashboard, isolate endpoints where needed, group related detections into incidents, and promote responses into tracked tasks — every state-changing action is auditable.

接続後も基盤の EDR/EPP は置き換えません。コネクタはいつでも削除でき、削除しても各プロバイダ側の保護やデータには影響しません。Even after connecting, we never replace the underlying EDR/EPP. A connector can be removed at any time, and removing it does not affect protection or data on the provider side.

同期基盤と可視化Sync pipeline & observability

同期の経路と周期Sync cadence

定期実行の Lambda が、エンドポイント在庫を毎時、検知を 2 時間ごとに増分取得します。各レコードは取得時に統一スキーマへ正規化され DynamoDB に保存。オンデマンド同期で即時更新も可能です。Scheduled Lambdas pull endpoint inventory hourly and detections every two hours, incrementally. Each record is normalized into the unified schema on ingest and stored in DynamoDB. On-demand sync gives an immediate refresh.

プロバイダ横断の帰属Cross-provider attribution

endpoint_id の名前空間(<provider>:<native_id>)により、どのプロバイダ由来のエンドポイント・検知かが常に一意に辿れます。重大度・ステータスは共通 enum に揃うため、横断で同じ軸の集計・並び替えができます。The namespaced endpoint_id (<provider>:<native_id>) always traces an endpoint or detection back to its source provider. With severity/status on common enums, you can aggregate and sort across providers on one axis.

同期ヘルスとデータモデルSync health & data model

同期の成否・最終成功時刻はコネクタ単位で追跡し、失敗は可視化します。DynamoDB はテナント単位の行で保持し、org_id でスコープした GSI で横断クエリ。認証は Cognito / cyberforces-id の JWT です。Sync success/last-success is tracked per connector and failures are surfaced. DynamoDB holds per-tenant rows with org_id-scoped GSIs for cross-cutting queries, and auth is Cognito / cyberforces-id JWT.

正規化モデル(イメージ)Normalized model (illustrative)

いずれもプロバイダ差を吸収した統一表現です。endpoint_id は名前空間付き、enum は共通語彙に揃えます。Each is a unified representation that absorbs provider differences — endpoint_id is namespaced and enums use a common vocabulary.

エンドポイントEndpoint
{
  endpoint_id:
    "visionone:abc123",
  provider: "visionone",
  hostname: "web-01",
  status: "online" |
    "offline" | "isolated"
}
検知Detection
{
  endpoint_id: "...",
  severity: "critical" |
    "high" | "medium" |
    "low" | "info",
  status: "new" |
    "in_progress" |
    "resolved" |
    "false_positive"
}
インシデントIncident
{
  detections: [ ... ],
  ai_summary: "...",
  timeline: [ ... ],
  attack: { technique,
    tactic } // MITRE
}

検知・応答の制御プレーンThe detection & response control plane

トリアージ状態Triage status

検知は重大度(critical / high / medium / low / info)とトリアージ状態(new / in_progress / resolved / false_positive)を持ち、プロバイダ横断で同じ語彙で扱えます。Detections carry severity (critical / high / medium / low / info) and triage status (new / in_progress / resolved / false_positive), handled in one vocabulary across providers.

隔離と監査Isolation & audit

エンドポイントの隔離・復旧は明示的で監査される操作で、内部的にはプロバイダ API を呼び出します。状態は online / offline / isolated で表現されます。Endpoint isolate/restore are explicit, audited actions that call the provider API under the hood. Endpoint state is online / offline / isolated.

応答経路Response path

UI からの手動応答も AI 起点の推奨も、隔離・状態更新・タスク化という同一の内部経路を通り、監査ログ記録も共通です。Manual responses (UI) and AI-recommended ones share one internal path — isolate, status update, task promotion — with the same audit logging.

データモデルと定期実行Data model & scheduled jobs

データストア(DynamoDB)Data stores (DynamoDB)

コネクタConnectorsプロバイダ・認証情報・グループスコープprovider, credentials, group scope
エンドポイントEndpoints名前空間付き在庫namespaced inventory
検知Detections重大度・トリアージ状態severity, triage status
インシデントIncidents検知の束・AI 要約・タイムラインgrouped detections, AI summary, timeline
タスクTasks担当・対応計画・期限・進捗owner, plan, due date, progress
ポリシーPolicies正規化したプロバイダ設定normalized provider config
同期ヘルスSync healthコネクタ単位の成否・最終成功per-connector status / last success
AI 分析AI analysis検知ごとの分析・推奨per-detection analysis, recommendations
監査ログAudit log状態変更操作の記録state-changing actions

定期実行ジョブScheduled jobs

ジョブJob 周期Cadence 役割Role
在庫同期Inventory sync毎時hourlyエンドポイント在庫を増分取得・正規化incrementally pull & normalize endpoints
検知同期Detection sync2 時間ごと2-hourly検知を増分取得・共通 enum へ正規化pull detections, map to common enums
同期ヘルス確認Sync health継続continuousコネクタ単位の成否・最終成功を追跡track per-connector status / last success
AI トリアージAI triage検知到着時on detectionBedrock で分析・推奨アクションを生成Bedrock analysis + recommended actions
日次ブリーフィングDaily briefing日次dailySOC レポート・サマリを自動生成generate SOC report / summary
ATT&CK マッピングATT&CK mapping検知到着時on detectiontechnique→tactic を対応付けヒートマップ更新map technique→tactic → heatmap

AI と応答のメカニズム(詳細)AI & response mechanisms (in detail)

AI 検知トリアージAI detection triage

検知の分析と SOC レポート生成は Amazon Bedrock(Claude)で実行します。Lambda の IAM ロールで認証されるため、ページや設定に API キーは存在しません。AI は検知ごとの分析・推奨アクション・日次ブリーフィング・脅威ハンティングのクエリ補助を生成します。Detection analysis and SOC reporting run on Amazon Bedrock (Claude). The Lambda's IAM role authenticates, so there is no API key in the page or config. The AI produces per-detection analysis, recommended actions, daily briefings, and threat-hunting query help.

MITRE ATT&CK ヒートマップMITRE ATT&CK heatmap

検知に紐づく ATT&CK の technique を tactic へマッピングし、プロバイダ横断のヒートマップを駆動します。どの戦術段階に検知が集中しているかを一目で把握でき、ハンティングの優先付けに使えます。ATT&CK techniques attached to detections are mapped to tactics, driving a cross-provider heatmap. You can see at a glance which tactic stages detections cluster in, and prioritize hunting accordingly.

エンドポイント隔離 / 復旧Endpoint isolate / restore

隔離・復旧は明示的かつ監査される操作で、内部的にはプロバイダ API を呼び出します。エンドポイントの状態は online / offline / isolated で表現され、UI からの手動操作も AI の推奨も同じ経路を通ります。勝手にエンドポイントを隔離することはありません。Isolation and restore are explicit, audited actions that call the provider API. Endpoint state is online / offline / isolated, and both manual UI actions and AI recommendations go through the same path. We never isolate an endpoint silently.

インシデントの束ねと AI 要約Incident grouping & AI summary

関連する検知をインシデントとして束ね、AI が要約とタイムラインを付与します。プロバイダをまたぐ検知でも一つのインシデントに集約でき、攻撃の全体像を時系列で追えます。Related detections are grouped into an incident, which the AI annotates with a summary and timeline. Detections spanning multiple providers can collapse into one incident, so you can follow the full picture of an attack over time.

リスク応答(タスク化)Risk response (task promotion)

検知やインシデントは、担当・対応計画・期限・進捗(open → in_progress → done)を持つ追跡タスクへ昇格できます。「検知」と「やるべき対応」を分離し、対応の取りこぼしを防ぎます。Detections and incidents can be promoted into tracked tasks with an owner, response plan, due date, and progress (open → in_progress → done). This separates "a detection" from "the work to do about it" and stops responses falling through the cracks.

グループ単位のアクセス制御Group-based access control

コネクタはグループにスコープでき、そのチームだけがコネクタと派生するエンドポイント・検知を見られます。サーバ側でアクセストークンのグループクレームから強制し、グループ管理者とテナント管理者を区別します。テナント間は完全に分離されています。Connectors can be scoped to groups so only that team sees the connector and its derived endpoints/detections. This is enforced server-side from the access token's group claims, distinguishing group admins from tenant admins. Tenants are fully isolated.

プロバイダ移行(AI 支援)Provider migration (AI-assisted)

あるプロバイダの設定・ポリシーを別のプロバイダへ、AI 支援で移行します。アセッサーが差分と移行可能性を評価し、エグゼキューターが実行します。単純なコピーではなく、プロバイダ間の表現差を吸収した移行です。Configuration and policies are migrated from one provider to another with AI assistance: an assessor evaluates differences and feasibility, and an executor applies the migration. It is not a blind copy — it absorbs the representation differences between providers.

安全・分離の前提Safety & isolation

用語集Glossary

CWPP / EDR / EPP
CWPP はワークロード保護の運用層。EDR/EPP は実際に検知・防御するエンドポイントエンジン。CWPP はそれを置き換えず束ねます。CWPP is the workload-protection operations layer; EDR/EPP are the endpoint engines that actually detect and defend. CWPP unifies them without replacing them.
コネクタ / ProviderBaseConnector / ProviderBase
各プロバイダ API への接続実装。共通の抽象インターフェースを実装して登録すれば新規プロバイダを追加できます。The implementation that connects to a provider API. Implement the shared abstract interface and register it to add a provider.
endpoint_id
<provider>:<native_id> 形式の名前空間付き識別子(例 visionone:abc123)。A namespaced identifier of the form <provider>:<native_id> (e.g. visionone:abc123).
トリアージ状態Triage status
検知の対応段階:new / in_progress / resolved / false_positive。A detection's handling stage: new / in_progress / resolved / false_positive.
隔離 / 復旧Isolate / restore
エンドポイントを隔離・復帰させる明示的な操作。状態は online / offline / isolated。Explicit actions to isolate or restore an endpoint; state is online / offline / isolated.
インシデントIncident
関連する検知を束ねた単位。AI 要約とタイムラインを持ちます。A unit grouping related detections, with an AI summary and timeline.
MITRE ATT&CK
攻撃手法の体系。technique→tactic のマッピングがヒートマップを駆動します。A taxonomy of attack techniques; technique→tactic mapping drives the heatmap.
Bedrock (Claude)
AI トリアージ・SOC レポートの実行基盤。Lambda の IAM ロールで認証されます。The runtime for AI triage / SOC reporting; authenticated via the Lambda IAM role.

評価・PoC のご相談Evaluations & PoCs

アーキテクチャの詳細や検証についてのご相談は、お問い合わせフォームよりお気軽にどうぞ。For architecture details or a proof of concept, reach out via the contact form.