Design Threat Intelligence Platform

Hard45 min
1 / 30
understanding7 min read

Problem Statement and Threat Intelligence Mission

Problem Statement and Threat Intelligence Mission — threat intelligence platform design interview section.

Problem Statement and Threat Intelligence Mission

Commercial STIX/TAXII bundles, MISP communities, and internal SOC sightings converge into a canonical indicator store. Each IOC carries type, confidence, TLP, MITRE technique tags, and expiry—never a flat IP list.

Design anchors (1)

  • Separate feed ingestion (pull/push) from enforcement planes (WAF, NGFW, EDR) so vendor outages do not stall blocking.
  • Score every indicator with provenance-weighted confidence; low-confidence IOCs land in monitor-only mode.
  • Enforce TLP and tenant ACL at query time, not only at ingest—prevents accidental RED spill to wrong consumer.

Mechanism detail

Commercial STIX/TAXII bundles, MISP communities, and internal SOC sightings converge into a canonical indicator store. Each IOC carries type, confidence, TLP, MITRE technique tags, and expiry—never a flat IP list. Pipeline stages remain idempotent on feed_id + stix_id + modified. When Active IOCs exceeds planned 180M, autoscaler adds ingest consumers before scoring backpressure propagates to TAXII pollers.

Failure drills

If feed Feed sources stalls >30s, continue with last-good manifest (TTL 6h) and raise feed_degraded metric. If Push latency p95 lag exceeds SLO, shed lowest-tier enrichments first—never drop block-list generation for score ≥85. If scoring promotion fails validation, keep prior score_version and page detection engineering. If Redis shard is unavailable, serve previous bloom generation with stale=true flag to adapters.

Cost and capacity

At 180M Active IOCs, partition Kafka by tenant and indicator type; chargeback on active IOCs and egress manifest bytes.

SignalTarget
Active IOCs180M
Feed sources420
Push latency p9545s
Tenants2.8K
javaOne Dark Pro
1public record IndicatorKey(String tenantId, String type, String value) {
2 public String cacheKey() { return tenantId + ":" + type + ":" + value; }
3}
pythonOne Dark Pro
1def merge_score(existing: float, incoming: float, corroboration: int) -> float:
2 boost = min(12.0, corroboration * 2.5)
3 return max(existing, incoming) + boost
typescriptOne Dark Pro
1export interface PushManifest {
2 version: number;
3 generatedAt: string;
4 shardEtags: string[];
5}
6
7export function shouldBlock(score: number, threshold: number): boolean {
8 return score >= threshold;
9}

Why interviewers care

Threat Intelligence Platform interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.

Interview checkpoint

Name one failure story for Problem Statement and Threat Intelligence Mission that proves you understand real outages, not happy-path diagrams.

Key Highlights

  • Commercial STIX/TAXII bundles, MISP communities, and internal SOC sightings converge into
  • Metrics: Active IOCs, Feed sources, Push latency p95
  • Separate feed ingestion (pull/push) from enforcement planes (WAF, NGFW, EDR) so vendor out
Interview tip
When discussing Problem Statement and Threat Intelligence Mission, quantify Active IOCs (180M) and false-block SLO before naming vendors.
Avoid
Do not conflate threat intel platform with SIEM correlation or malware sandboxing.

Section Rescue Kit

Buzzwords to use:

STIXTAXII

Safe statements:

  • "I never push licensed RED intel to tenants without entitlement—validator rejects upstream."
  • "Rollback uses versioned manifests, not manual IP list edits."
  • "Enforcement adapters are idempotent on indicator version, not wall-clock time."
Design Threat Intelligence Platform - System Design | WinJob | WinJob