3.0 KiB
3.0 KiB
AW-rus Security Analytics Stack v1
Goal
Build a sufficient internal security analytics stack for the current environment without pretending to be Splunk-class infrastructure.
Scope
Sources:
- Windows EVTX
- ActivityWatch buckets
- DLP incidents
- file operations
- outbound email
- session/logon markers
Core outcomes:
- ingest
- normalize
- detect
- correlate
- case
- notify
- investigate
v1 Architecture
Windows side
- collectors and DLP scripts write to
deployment-config.json export-evtx-for-hayabusa.ps1exports bounded EVTX packagesexport-upload-hayabusa-to-aw-server.ps1uploads:zip.meta.json- optional
.caseid
ActivityWatch Hayabusa Uploadscheduled task runs every 6 hours- on
SHARKON2025the task runs as interactive/highestАдминистратор;SYSTEMPowerShell tasks fail with0xC0000142before the script starts - sidecar JSON is written as UTF-8 without BOM; server-side readers also tolerate BOM for older files
Server side
aw-hayabusa-drop.pathwatches/opt/activitywatch/aw-rus-ops/dropaw-hayabusa-drop.servicerunsaw-hayabusa-autoprocess/opt/activitywatch/aw-rus-ops/dropis writable byawopsand processed by root-owned systemd unitsaw-hayabusaperforms:- accept
- process-inbox
- report generation
- Windows zip entries with backslash separators are normalized during extraction
- autoprocess drains the incoming queue after accepting a drop package, preventing stale failed-run packages from being linked to a newer drop upload
aw-hayabusa-case-alertperforms:- severity scoring from
timeline.jsonl - optional auto-case creation
- bounded Hayabusa linkage
- summary comment
- Telegram alerting
- severity scoring from
Case layer
- DLP case API remains the source of truth for incident lifecycle
- Hayabusa writes bounded metadata into
forensics.hayabusa - auto-created cases use:
incident_id = hayabusa:<host>:<intake_id>
Severity Model v1
Inputs:
- Hayabusa
Level - top
RuleTitle - failed logon count
- suspicious PowerShell count
- credential-related detections
- timestomp detections
Outputs:
lowmediumhighcritical
Rules:
criticalforcritalerts, very high score, or strong compound signalshighfor at least one high alert or elevated scoremediumfor med alerts, notable failed logons, or moderate scorelowotherwise
Automation Policy v1
- EVTX upload every 6 hours
- lookback window: 6 hours
- auto-case enabled from
medium - Telegram enabled from
high - human operator only for final triage/escalation
Non-goals
Not trying to implement:
- distributed search cluster
- Splunk-style indexers/search heads
- full SIEM content ecosystem
- petabyte-scale retention design
Definition of Done
The stack is sufficient when it can, without a dedicated analyst:
- collect relevant data
- process EVTX on schedule
- score severity
- create/update a case
- send an alert
- preserve investigation artifacts
- let a human understand what happened in a few minutes