# Стратегический анализ: AWatch-rus vs InfoWatch Traffic Monitor ## Текущие возможности AWatch-rus (что уже есть) | Область | Реализовано | |---------|------------| | Activity tracking | `aw-watcher-afk`, `aw-watcher-window` — время активности, окна | | Browser monitoring | `browser-domains-native-collector.ps1` — URL/домены через UIAutomation | | DLP Phase 1 | Rule-based политики, incident bucket, cooldown/dedup | | DLP Phase 2 | USB/print/clipboard мониторинг (`dlp-endpoint-signals-collector.ps1`), incident screenshot | | File operations | Прототип `file-operations-collector.ps1` (create/delete/rename/archive) | | Worktime | Session-level presence (`worktime-session-collector.ps1`) | | Network | pfSense poller (firewall events → AW bucket) | | Aggregation | `aggregate_dlp_events.py` — SQLite/PostgreSQL centralized store | | UI | Русификация WebUI + DLP incident review panel в `aw-ru-patch.js` | | Deployment | Ansible + PowerShell ensemble + InnoSetup + Proxmox LXC | | Linux | Remote worker, console/SSH logger, web category logger | ## Cross-OS enforcement strategy update Новый целевой путь зафиксирован в `docs/dlp-cross-os-native-enforcement.md`: AWatch-rus расширяется не тяжелым универсальным агентом, а нативными механизмами ОС и managed browser. Приоритет платформ: | Платформа | Легкий естественный путь | Enforcement-first канал | |-----------|--------------------------|--------------------------| | Windows | GPO/AppLocker/Spooler/Storage + текущие PowerShell collectors | USB write-block, print cancel | | macOS | MDM + System Extensions/Endpoint Security, без kext | monitor-first, затем managed deny | | Linux | fanotify + auditd, eBPF как telemetry/LSM extension | sensitive directory/removable gate | | ChromeOS | Google Admin Data Controls | copy/paste, print, file transfer/upload | | Managed browser | Edge/Chrome enterprise policy, extension только для inline upload | cloud upload policy | Общее правило rollout: `audit` -> `warn` -> точечный `block`; глобальный `block` запрещен до baseline и guard heartbeat. ## Ключевые разрывы до InfoWatch TM уровня ### 🔴 Критические (без них это не DLP, а мониторинг) #### 1. Блокировка в реальном времени (Enforcement) **InfoWatch**: Перехватывает и блокирует отправку до завершения — email не уйдёт, файл на USB не запишется, печать не пройдёт. **AWatch-rus**: Только detect + log. Нет inline-перехвата трафика, нет file system filter driver. **Что делать:** - **USB write-block** — реализуемо через Group Policy + PowerShell enforcement (`Set-StoragePolicy`, device lockdown via WMI). Не требует kernel driver. - **Print block** — перехват через Print Spooler event (307) + `Cancel-PrintJob`. Уже есть event monitoring — нужен только enforcement шаг. - **Clipboard block** — `SetClipboardData` hook через .NET или `Clear-Clipboard` при policy violation. Рискованно по UX, но возможно. - **Email/web block** — требует MITM proxy (аналог InfoWatch ICAP gateway). Реалистичнее начать с email-выгрузки через Exchange Journal/Transport Rule → анализ → карантин, чем строить inline proxy. - **Приоритет**: USB write-block + print cancel — быстрый win, 2-3 недели. #### 2. Email перехват **InfoWatch**: SMTP/MAPI/IMAP — полный контроль корпоративной почты, включая вложения, тело, получатели. **AWatch-rus**: Отсутствует. **Что делать:** - **Exchange/M365**: Transport Rule с Journal → Python парсер EML → событие в AW bucket `aw-email-monitor_`. - **On-prem SMTP**: Milter на Postfix/Sendmail (Python, 200-300 строк). - **MVP**: Только metadata (from/to/subject/attachment names/sizes), без content inspection. Потом добавить content analysis. - **Приоритет**: Высокий — email это #1 канал утечки в enterprise. #### 3. Контент-анализ (Content Inspection) **InfoWatch**: Лингвистический анализ, ML-классификация, OCR, document fingerprinting, digital watermarks, EDM (Exact Data Matching). **AWatch-rus**: Только regex-matching в DLP policy rules. **Что делать поэтапно:** - **Phase A**: Словарные пакеты (ПДн по 152-ФЗ: ИНН, СНИЛС, паспорт, банковские реквизиты) — regex + Luhn/checksum validation. 1-2 недели. - **Phase B**: Keyword/weighted scoring — JSON pack с весами, threshold для incident. 1 неделя. - **Phase C**: OCR pipeline — Tesseract + screenshot analysis. Скриншоты уже снимаются! Нужен только OCR + content check step. 2-3 недели. - **Phase D**: Document fingerprinting — SimHash/MinHash для корпоративных шаблонов. Server-side Python service. 3-4 недели. - **Phase E**: ML-классификация — fine-tuned модель на корпоративных документах. Долгосрочно. ### 🟡 Важные (отличают серьёзный продукт от прототипа) #### 4. Мессенджеры **InfoWatch**: Skype, Telegram, WhatsApp, VK, Jabber, MS Teams. **AWatch-rus**: Отсутствует. **Что делать:** - Перехват через `aw-watcher-window` + title parsing уже частично даёт metadata (видно, что пользователь в Telegram). - Глубокий перехват текста мессенджеров требует accessibility API или memory scraping — сложно и ломко. - Реалистичнее: интеграция с корпоративными мессенджерами через API (MS Teams webhook, Mattermost API). - **MVP**: title-based detection "пользователь X общался в Telegram 2 часа" — уже почти есть. #### 5. Облачные хранилища **InfoWatch**: Контроль загрузки в DropBox, Google Drive, OneDrive, Яндекс.Диск. **AWatch-rus**: Отсутствует. **Что делать:** - Browser-based detection: URL matching `drive.google.com/upload`, `disk.yandex.ru` — расширить `browser-domains-native-collector.ps1` правилами. - Sync client detection: мониторинг процессов OneDrive/GoogleDrive + file watcher в sync-каталогах. - **MVP**: Alert "файл был загружен в облако" через browser URL + file operation correlation. 1-2 недели. #### 6. SIEM/SOAR интеграция **InfoWatch**: CEF/syslog/API export, 75+ интеграций. **AWatch-rus**: SQLite/PostgreSQL aggregator — foundation есть, но нет стандартных connectors. **Что делать:** - **CEF/Syslog exporter** — из `aggregate_dlp_events.py` в CEF format → rsyslog/Graylog/ELK. Python, 1-2 дня. - **Webhook/HTTP callback** — при incident severity=high → POST в Teams/Telegram/PagerDuty. 1 день. - **Grafana dashboards** — PostgreSQL уже поддерживается. Нужны готовые dashboard JSON. 2-3 дня. - **Приоритет**: CEF exporter + Grafana — быстрые wins для демонстрации "enterprise-ready". #### 7. RBAC и multi-tenant admin **InfoWatch**: Ролевая модель, SoD, multi-tenant console, делегирование по отделам. **AWatch-rus**: Single admin, нет ролей. **Что делать:** - ActivityWatch REST API не имеет auth из коробки. Нужен reverse proxy (nginx) с auth layer. - **MVP**: Basic auth + nginx + IP whitelist. Достаточно для PoC. - **Target**: Keycloak/LDAP auth proxy → role-based API access. Серьёзная работа, 4-6 недель. ### 🟢 Стратегические преимущества AWatch-rus (где вы уже лучше) 1. **Open-source база** — нет vendor lock-in, полный контроль над кодом. 2. **Лёгкий agent** — PowerShell collectors vs тяжёлый C++ agent InfoWatch (~200MB RAM). 3. **Гибкая DLP policy** — JSON rules, программируемые на лету, без перекомпиляции. 4. **Linux поддержка** — remote workers, SSH/console logging, web category — InfoWatch слабее в Linux. 5. **pfSense интеграция** — network visibility через firewall API, уникальная фича. 6. **Worktime tracking** — session-level presence, отработка с 1С (Grafana dashboards). ## Рекомендуемый стратегический roadmap ### Квартал 1 (ближайшие 3 месяца) — "Enforce & Detect" | # | Задача | Усилие | Влияние | |---|--------|--------|---------| | 1 | USB write-block (GPO + enforcement step) | 2 нед | Критическое | | 2 | Print job cancel при policy violation | 1 нед | Критическое | | 3 | ПДн словарный пакет (ИНН/СНИЛС/паспорт regex) | 2 нед | Высокое | | 4 | Email metadata collector (Exchange Journal) | 3 нед | Критическое | | 5 | CEF/Syslog exporter для SIEM | 3 дня | Высокое | | 6 | Grafana incident dashboards | 3 дня | Среднее | ### Квартал 2 — "Content & Cloud" | # | Задача | Усилие | Влияние | |---|--------|--------|---------| | 7 | Cloud storage upload detection | 2 нед | Высокое | | 8 | OCR pipeline (Tesseract + screenshot analysis) | 3 нед | Высокое | | 9 | Weighted keyword scoring engine | 1 нед | Среднее | | 10 | Webhook/callback при critical incidents | 2 дня | Среднее | | 11 | Clipboard enforcement (clear on violation) | 1 нед | Среднее | ### Квартал 3 — "Intelligence & Scale" | # | Задача | Усилие | Влияние | |---|--------|--------|---------| | 12 | Policy engine service (server-side, versioned) | 4 нед | Критическое | | 13 | Document fingerprinting (SimHash) | 3 нед | Высокое | | 14 | UEBA / risk scoring (anomaly detection) | 4 нед | Высокое | | 15 | RBAC auth proxy (Keycloak/LDAP) | 4 нед | Среднее | | 16 | Correlation engine (user+channel+object+time) | 3 нед | Высокое | ### Квартал 4 — "Enterprise" | # | Задача | Усилие | Влияние | |---|--------|--------|---------| | 17 | Case management (investigations) | 4 нед | Среднее | | 18 | Evidence chain / immutable audit log | 2 нед | Среднее | | 19 | Compliance report generator (152-ФЗ) | 3 нед | Высокое | | 20 | ML document classifier | 6+ нед | Высокое | ## Архитектурная рекомендация ``` ┌─────────────────────────────────────────────────┐ │ AWatch-rus Server (Rust) │ │ ┌──────────┐ ┌───────────┐ ┌──────────────┐ │ │ │ AW API │ │ Policy │ │ Content │ │ │ │ (buckets │ │ Engine │ │ Analysis │ │ │ │ events) │ │ (Python │ │ Service │ │ │ │ │ │ sidecar) │ │ (OCR/ML/ │ │ │ │ │ │ │ │ fingerprint)│ │ │ └────┬─────┘ └─────┬─────┘ └──────┬───────┘ │ │ │ │ │ │ │ ┌────┴──────────────┴───────────────┴────────┐ │ │ │ PostgreSQL / SQLite │ │ │ └────┬──────────────┬───────────────┬────────┘ │ │ │ │ │ │ │ ┌────┴─────┐ ┌─────┴─────┐ ┌─────┴────────┐ │ │ │ Grafana │ │ CEF/SIEM │ │ Webhook │ │ │ │ Dash │ │ Export │ │ Alerts │ │ │ └──────────┘ └───────────┘ └──────────────┘ │ └─────────────────────────────────────────────────┘ ▲ ▲ ▲ ┌──────┴──────┐ ┌─────┴─────┐ ┌─────┴──────┐ │ Windows │ │ Linux │ │ Network │ │ Endpoint │ │ Endpoint │ │ (pfSense, │ │ Collectors │ │ Watchers │ │ email │ │ + Enforce │ │ + SSH log │ │ gateway) │ └─────────────┘ └───────────┘ └────────────┘ ``` ## Вывод AWatch-rus уже покрывает ~25-30% функционала InfoWatch TM по каналам мониторинга. Критический разрыв — **отсутствие блокировки** (enforcement) и **контент-анализа**. Без этих двух компонентов продукт классифицируется как "мониторинг активности", а не "DLP". Реалистичный путь к конкурентоспособности за 6-9 месяцев: 1. Добавить enforcement (USB/print/clipboard block) — переводит из "мониторинг" в "prevention" 2. Добавить content inspection (regex packs + OCR) — переводит из "метаданные" в "DLP" 3. Добавить email канал — закрывает #1 канал утечки 4. Добавить SIEM/Grafana export — делает продукт "enterprise-visible" Сильная сторона проекта — **гибкость и лёгкость агента**. InfoWatch agent — тяжёлый C++ monolith. AWatch-rus collectors — лёгкие PowerShell/Python скрипты, которые можно быстро адаптировать. Это стратегическое преимущество для SMB/mid-market, где InfoWatch слишком дорог и тяжёл.