Beaconing
-Periodograma de Rayleigh/Schuster. Em desenvolvimento.
- em desenvolvimento +Periodograma de Rayleigh/Schuster com grade limitada ao intervalo observado.
+ versão inicialdiff --git a/CHANGELOG.md b/CHANGELOG.md index 965aed0..87b1a23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,27 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versio ## [Unreleased] +### Added +- **Pillar 1 (v1.2):** Rayleigh/Schuster periodogram with grid bounded by the observed span ($T \le \text{span}/3$), regularity gating, and infrastructure exclusions (NTP, mDNS/LLMNR/NBNS, SSDP, non-TCP/UDP). +- **Pillar 2 (v1.0):** Persistent TCP session detector with inactivity chaining (gaps $\le 3600$s without SYN), logarithmic duration scoring, and PCR / failed attempt metrics in evidence. +- **Pillar 3 (v1.0):** DNS subdomain information capacity detector ($I = H \times C$ bits/h) to identify high-entropy tunnels, with Jensen-Shannon Divergence (JSD) recorded in evidence. +- **Pillar 4 (v1.0):** Per-host weighted noisy-OR fusion ($w_1=w_2=w_3=0.75$) with deterministic evidence linkage, ranking hosts in `acaua analyze` human output via the `hosts:` section. +- **Zeek `dns.log` ingestion:** Daily Hive Parquet partitioning for DNS queries with deterministic column mapping by TSV header. +- **Parquet storage schema (v1.2):** 15-column schema for `conn.log` supporting `conn_state`, `history`, `orig_pkts`, `resp_pkts`, `orig_ip_bytes`, `resp_ip_bytes`. +- **In-memory alert reporting:** Web daemon `/api/alerts` route now serves alerts from the most recent analysis run. + ### Changed +- **Breaking (0.x):** Pillar 1 formula v1.2 modifies scores and changes `Alert.id` generation to reflect the corrected bounded grid and session-based aggregation. - Distribution pivoted to 100% Docker and docker-compose (server daemon and web dashboard); native binary tarballs and desktop installers are discontinued. - DuckDB is now a mandatory runtime dependency, dynamically linked against the official prebuilt `libduckdb.so` (v1.5.6) with fixed SHA-256 via `scripts/fetch-libduckdb.sh`. - Upgraded workspace MSRV to Rust 1.88 (required by `duckdb ~1.10506.1`). - Upgraded container runtime and base image to Debian 13 trixie. ### Fixed +- Fixed critical false positives in short captures where period candidates exceeded the observed span. +- Corrected partition counting in `ingest_dir` to take the union of partition dates instead of summing file counts. +- DuckDB execution errors are now tracked in `files_failed` instead of miscounted as bad rows. +- Updated `doctor` check status from "skeleton" to "ok" / "degraded". - Graceful shutdown on `SIGTERM` when running as PID 1 in container environments. ### Removed diff --git a/CHANGELOG.pt-BR.md b/CHANGELOG.pt-BR.md index dab8a7f..bda0199 100644 --- a/CHANGELOG.pt-BR.md +++ b/CHANGELOG.pt-BR.md @@ -6,13 +6,27 @@ Formato baseado no [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/); ## [Unreleased] +### Adicionado +- **Pilar 1 (v1.2):** Periodograma de Rayleigh/Schuster com grade limitada ao intervalo observado ($T \le \text{span}/3$), portão de significância por regularidade e exclusões de infraestrutura (NTP, mDNS/LLMNR/NBNS, SSDP, não-TCP/UDP). +- **Pilar 2 (v1.0):** Detector de sessões TCP persistentes com encadeamento de timeouts de inatividade (intervalos $\le 3600$s sem novo SYN), score logarítmico de persistência e métricas de PCR e tentativas falhas na evidência. +- **Pilar 3 (v1.0):** Detector de capacidade de informação em subdomínios DNS ($I = H \times C$ bits/h) para identificar túneis de alta entropia, com Divergência Jensen-Shannon (JSD) registrada na evidência. +- **Pilar 4 (v1.0):** Fusão noisy-OR ponderada por host ($w_1=w_2=w_3=0.75$) com vínculo determinístico de evidências, ranqueando hosts na saída humana do `acaua analyze` via seção `hosts:`. +- **Ingestão de `dns.log` do Zeek:** Particionamento diário Hive Parquet para consultas DNS com mapeamento determinístico de colunas pelo cabeçalho TSV. +- **Esquema de armazenamento Parquet (v1.2):** Esquema de 15 colunas para `conn.log` suportando `conn_state`, `history`, `orig_pkts`, `resp_pkts`, `orig_ip_bytes`, `resp_ip_bytes`. +- **Relato de alertas em memória:** Rota `/api/alerts` do daemon web agora serve os alertas da análise mais recente. + ### Modificado +- **Breaking (0.x):** A fórmula v1.2 do Pilar 1 altera pontuações e a geração de `Alert.id` para refletir a grade limitada e a agregação por inícios de sessão. - Distribuição migrada para 100% Docker e docker-compose (daemon servidor e dashboard web); tarballs binários nativos e instaladores desktop descontinuados. - DuckDB agora é dependência obrigatória em tempo de execução, linkada dinamicamente contra a `libduckdb.so` oficial pré-compilada (v1.5.6) com SHA-256 fixado via `scripts/fetch-libduckdb.sh`. - MSRV do workspace atualizado para Rust 1.88 (exigido pelo `duckdb ~1.10506.1`). - Runtime do container e imagem base atualizados para Debian 13 trixie. ### Corrigido +- Correção de falsos positivos críticos em capturas curtas onde candidatos a período excediam a duração observada. +- Correção na contagem de partições em `ingest_dir` para utilizar a união dos conjuntos de datas em vez de somar contagens de arquivos. +- Erros de execução do DuckDB agora são contabilizados em `files_failed` em vez de linhas ruins. +- Atualização do status da checagem do `doctor` de "skeleton" para "ok" / "degraded". - Encerramento limpo em `SIGTERM` ao rodar como PID 1 em ambientes de container. ### Removido diff --git a/README.md b/README.md index 07e786a..c8bfaa4 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ --- -**Status: pre-alpha skeleton.** The project structure, documentation, CI and -compiling stubs exist. The four mathematical detection pillars, the real Zeek -parser, DuckDB storage and the alert engine are **under development** and are -not shipped yet. Nothing on this page should be read as a claim that detection -already works. +**Status: pre-release (initial version).** The project structure, documentation, CI, +Zeek ingestion for `conn.log` and `dns.log`, DuckDB/Parquet analytical storage, and +initial versions of detection pillars 1 to 4 are implemented and validated against +public traffic. Automatic continuous ingestion and cross-restart alert persistence are +planned for upcoming releases. Acauã is a network threat hunting engine built around deterministic evidence, not an opaque model. The goal is to answer not only "this looks suspicious" but @@ -36,30 +36,26 @@ not an opaque model. The goal is to answer not only "this looks suspicious" but | Area | State | |---|---| -| Rust workspace and CLI stubs | ✅ compiles | -| Axum API with health, status, alerts and analyze routes | ✅ stub | -| Embedded web dashboard | ✅ UI shell, served by daemon | +| Rust workspace and CLI (`acaua`) | ✅ functional | +| Axum API with health, status, alerts and analyze routes | ✅ functional | +| Embedded web dashboard | ✅ UI served by daemon | | Documentation and CI/release workflows | ✅ | | Docker multi-arch image and compose deployment | ✅ | | DuckDB analytical store | ✅ official prebuilt library linked | -| Four detection pillars | 🚧 under development | -| Zeek log parser | 🚧 stub | -| Alert evidence and scoring | 🚧 stub | +| Four detection pillars (P1–P4) | ✅ initial version | +| Zeek log parser (`conn.log`, `dns.log`) | ✅ functional | +| Alert evidence and scoring | ✅ deterministic JSON + noisy-OR fusion | | Published releases | ❌ none yet | ## The four pillars -All four are **under development**. The roadmap keeps them as future work, not -as implemented features. +All four pillars are implemented in their **initial version (v1)** and validated against synthetic fixtures and public captures: -1. **Beaconing:** periodicity on event timestamps with a Rayleigh/Schuster - periodogram, and generalized Lomb–Scargle only where a real `y` exists. -2. **Persistent sessions:** long connections that never produce a short `Δt` - and would otherwise stay invisible to a beaconing detector. -3. **Protocol anomalies:** deterministic features over Zeek protocol logs, - including identity and lateral-movement signals. -4. **Evidence fusion:** bounded, symmetric combination of pillar scores with a - reproducible evidence record per alert. +1. **Beaconing (Pilar 1 v1.2):** periodicity on event timestamps with a Rayleigh/Schuster + periodogram bounded by the observed span, regularity significance gating, and infrastructure exclusions. +2. **Persistent sessions (Pilar 2 v1.0):** long TCP connections chained across Zeek inactivity timeouts (up to 3600s gap without new SYN), log-scale persistence score, and PCR/failed attempt tracking. +3. **Protocol anomalies (Pilar 3 v1.0):** deterministic information capacity (Shannon entropy $\times$ unique subdomain characters per UTC hour) in DNS queries to detect tunneling. +4. **Evidence fusion (Pilar 4 v1.0):** per-host weighted noisy-OR combination ($w_1=w_2=w_3=0.75$) with deterministic JSON evidence and ranking. The design decisions behind these pillars, including the six corrections to the original blueprint, are in **[docs/architecture.md](docs/architecture.md)**. diff --git a/README.pt-BR.md b/README.pt-BR.md index bb312b1..c16769c 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -8,11 +8,11 @@ --- -**Estado: esqueleto pré-alfa.** A estrutura do projeto, a documentação, o CI e -os stubs que compilam existem. Os quatro pilares matemáticos de detecção, o -parser real de logs Zeek, o armazenamento DuckDB e o motor de alertas estão -**em desenvolvimento** e ainda não são distribuídos. Nada nesta página deve ser -lido como promessa de que a detecção já funciona. +**Estado: pré-lançamento (versão inicial).** A estrutura do projeto, a documentação, +o CI, a ingestão de `conn.log` e `dns.log` do Zeek, o armazenamento analítico DuckDB/Parquet +e as versões iniciais dos pilares 1 a 4 estão implementados e validados contra +tráfego público. Ingestão contínua automática e persistência de alertas entre reinícios +estão planejadas para os próximos lançamentos. O Acauã é um motor de caça a ameaças em rede construído em torno de evidência determinística, não de um modelo opaco. O objetivo é responder não só "isto @@ -37,30 +37,26 @@ produziram esta pontuação". | Área | Estado | |---|---| -| Workspace Rust e stubs da CLI | ✅ compila | -| API Axum com rotas de health, status, alertas e análise | ✅ stub | -| Dashboard web embutido | ✅ shell da UI, servido pelo daemon | +| Workspace Rust e CLI (`acaua`) | ✅ funcional | +| API Axum com rotas de health, status, alertas e análise | ✅ funcional | +| Dashboard web embutido | ✅ UI servida pelo daemon | | Documentação e workflows de CI/release | ✅ | | Imagem Docker multi-arch e deployment com Compose | ✅ | | Armazenamento analítico DuckDB | ✅ biblioteca oficial pré-compilada linkada | -| Quatro pilares de detecção | 🚧 em desenvolvimento | -| Parser de logs Zeek | 🚧 stub | -| Evidência e pontuação de alertas | 🚧 stub | +| Quatro pilares de detecção (P1–P4) | ✅ versão inicial | +| Parser de logs Zeek (`conn.log`, `dns.log`) | ✅ funcional | +| Evidência e pontuação de alertas | ✅ JSON determinístico + fusão noisy-OR | | Releases publicadas | ❌ nenhuma ainda | ## Os quatro pilares -Todos os quatro estão **em desenvolvimento**. O roadmap os mantém como trabalho -futuro, não como recurso implementado. +Todos os quatro pilares estão implementados em sua **versão inicial (v1)** e validados contra fixtures sintéticas e capturas públicas: -1. **Beaconing:** periodicidade sobre timestamps de eventos com periodograma de - Rayleigh/Schuster, e Lomb–Scargle generalizado só onde existe um `y` real. -2. **Sessões persistentes:** conexões longas que nunca produzem um `Δt` curto e - ficariam invisíveis para um detector de beaconing. -3. **Anomalias de protocolo:** features determinísticas sobre logs de protocolo - do Zeek, incluindo sinais de identidade e movimento lateral. -4. **Fusão de evidências:** combinação limitada e simétrica das pontuações dos - pilares, com um registro de evidência reproduzível por alerta. +1. **Beaconing (Pilar 1 v1.2):** periodicidade sobre timestamps de eventos com periodograma de + Rayleigh/Schuster limitado ao intervalo observado, portão de significância por regularidade e exclusões de infraestrutura. +2. **Sessões persistentes (Pilar 2 v1.0):** conexões TCP longas encadeadas através de timeouts de inatividade do Zeek (gap de até 3600s sem novo SYN), score logarítmico de persistência e rastreamento de PCR e tentativas falhas. +3. **Anomalias de protocolo (Pilar 3 v1.0):** capacidade determinística de informação (entropia de Shannon $\times$ caracteres de subdomínios únicos por hora UTC) em consultas DNS para detectar tunelamento. +4. **Fusão de evidências (Pilar 4 v1.0):** combinação noisy-OR ponderada por host ($w_1=w_2=w_3=0.75$) com evidência determinística em JSON e ordenação de prioridade. As decisões de projeto por trás desses pilares, incluindo as seis correções ao blueprint original, estão em **[docs/pt-BR/arquitetura.md](docs/pt-BR/arquitetura.md)**. diff --git a/ROADMAP.md b/ROADMAP.md index 97b68ea..c0f3912 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -2,40 +2,37 @@ **English** · [Português](ROADMAP.pt-BR.md) -This roadmap separates what exists from what is planned. The four pillars are -**under development**; they represent the core analytical work. +This roadmap separates what exists from what is planned. The four detection pillars +are implemented in their **initial version (v1)** and validated against public traffic. ## Done - Rust workspace with `acaua-core` and `acaua-cli`. -- CLI commands, Axum API and embedded web dashboard. +- CLI commands (`analyze`, `serve`, `doctor`, `update`), Axum API and embedded web dashboard. - 100% Docker containerization, compose deployment, non-root hardened profile. -- Prebuilt DuckDB linking and Parquet storage foundations. -- Stubs for the four pillars, evidence fusion, and Zeek ingestion. +- Prebuilt DuckDB linking and daily Hive-partitioned Parquet storage with sandbox isolation. +- Real Zeek log parser for `conn.log` and `dns.log` mapping columns by name. +- **Pillar 1 (v1.2):** Rayleigh/Schuster periodogram with bounded grid ($T \le \text{span}/3$), regularity gating, and infrastructure exclusions. +- **Pillar 2 (v1.0):** Persistent TCP sessions with inactivity timeout chaining (gaps $\le 3600$s without SYN), log persistence score, and PCR/failed attempts in evidence. +- **Pillar 3 (v1.0):** DNS information capacity (Shannon entropy $\times$ unique subdomain chars per UTC hour) to detect tunneling, with JSD in evidence. +- **Pillar 4 (v1.0):** Per-host weighted noisy-OR fusion ($w_1=w_2=w_3=0.75$) with deterministic JSON evidence and priority ranking (`hosts:` output). +- In-memory alert reporting in `/api/alerts` and updated web interface. - English/Portuguese documentation, CI/release workflows and `scripts/check.sh`. -- Deterministic smoke tests and bilingual UI coverage checks. +- Deterministic test suite and validation scripts against IoT-23 and CTU-Normal captures. ## Next -1. **Pillar 1 — beaconing.** Implement the Rayleigh/Schuster periodogram on - event timestamps, add harmonic resistance, and verify with deterministic fixtures. -2. **Pillar 2 — persistent sessions.** Detect long connections that never - produce a short interval, with explicit thresholds and no overlap with - pillar 1. -3. **Real Zeek parser.** Read `conn.log`, `dns.log`, `ssl.log` and protocol logs - with bounded memory, path confinement and deterministic ordering. -4. **Evidence record.** Emit a JSON record per alert with inputs, intermediate - values, code version and dataset hash. +1. **Continuous ingestion:** automated log rotation and directory watching in daemon mode. +2. **Persistent alerts:** SQLite/DuckDB persistence of alerts across daemon restarts. +3. **Live long connection tracking:** sensor-side long connection logging before TCP teardown. +4. **Public Suffix List (PSL):** replace base domain heuristic with official PSL. +5. **Allowlisting & baselining:** reduce benign cloud IoT polling (e.g. Philips HUE) false positives. ## Later -- Pillar 3 — deterministic protocol anomalies, including identity and - lateral-movement features. -- Pillar 4 — bounded, symmetric fusion with reproducible weights. -- Analytical store optimizations, daily Parquet partitioning and TTL pruning. -- Scheduled ingestion and automated log rotation handling in daemon mode. -- NetFlow/IPFIX as a documented degraded mode and Suricata EVE JSON as an - optional secondary input. +- UDP sessions and additional protocol parsers (`ssl.log`, `smb_mapping.log`, `dce_rpc.log`, `rdp.log`, `ssh.log`, `kerberos.log`, `ntlm.log`). +- Identity tracking, lateral movement detection, and pivot graphs. +- NetFlow/IPFIX as a documented degraded mode and Suricata EVE JSON as an optional secondary input. - Signed release metadata, SBOM and reproducible builds. ## Non-goals diff --git a/ROADMAP.pt-BR.md b/ROADMAP.pt-BR.md index b27ce2f..6466277 100644 --- a/ROADMAP.pt-BR.md +++ b/ROADMAP.pt-BR.md @@ -2,38 +2,37 @@ [English](ROADMAP.md) · **Português** -Este roadmap separa o que existe do que está planejado. Os quatro pilares estão -**em desenvolvimento**; eles representam o trabalho analítico principal. +Este roadmap separa o que existe do que está planejado. Os quatro pilares de detecção +estão implementados em sua **versão inicial (v1)** e validados contra tráfego público. ## Feito - Workspace Rust com `acaua-core` e `acaua-cli`. -- Comandos CLI, API Axum e dashboard web embutido. +- Comandos da CLI (`analyze`, `serve`, `doctor`, `update`), API Axum e dashboard web embutido. - Containerização 100% Docker, implantação Compose, perfil endurecido não-root. -- Linkagem da DuckDB pré-compilada e fundações de armazenamento Parquet. -- Stubs dos quatro pilares, fusão de evidências e ingestão Zeek. +- Linkagem da DuckDB pré-compilada e armazenamento Parquet particionado diariamente por Hive com isolamento sandbox. +- Parser real de logs Zeek para `conn.log` e `dns.log` mapeando colunas por nome. +- **Pilar 1 (v1.2):** Periodograma de Rayleigh/Schuster com grade limitada ($T \le \text{span}/3$), portão de significância por regularidade e exclusões de infraestrutura. +- **Pilar 2 (v1.0):** Sessões TCP persistentes com encadeamento de timeouts de inatividade (intervalos $\le 3600$s sem novo SYN), score logarítmico de persistência e métricas de PCR e tentativas falhas na evidência. +- **Pilar 3 (v1.0):** Capacidade de informação DNS (entropia de Shannon $\times$ caracteres de subdomínio únicos por hora UTC) para detecção de túneis, com JSD na evidência. +- **Pilar 4 (v1.0):** Fusão noisy-OR ponderada por host ($w_1=w_2=w_3=0.75$) com evidência determinística em JSON e ordenação de prioridade (saída `hosts:`). +- Relato de alertas em memória em `/api/alerts` e interface web atualizada. - Documentação em inglês/português, workflows de CI/release e `scripts/check.sh`. -- Testes determinísticos de fumaça e checagem de tradução bilíngue da UI. +- Suíte determinística de testes e scripts de validação contra capturas do IoT-23 e CTU-Normal. ## Próximo -1. **Pilar 1 — beaconing.** Implementar o periodograma de Rayleigh/Schuster sobre - timestamps de eventos, resistência a harmônicos e validação com fixtures determinísticas. -2. **Pilar 2 — sessões persistentes.** Detectar conexões longas que nunca - produzem intervalos curtos, com limiares explícitos sem sobreposição ao pilar 1. -3. **Parser Zeek real.** Ler `conn.log`, `dns.log`, `ssl.log` e logs de protocolo - com memória delimitada, confinamento de caminhos e ordem determinística. -4. **Registro de evidência.** Emitir registro JSON por alerta contendo entradas, - valores intermediários, versão do código e hash do dataset. +1. **Ingestão contínua:** rotação automática de logs e monitoramento de diretório em modo daemon. +2. **Alertas persistentes:** persistência de alertas em SQLite/DuckDB entre reinícios do daemon. +3. **Rastreamento de conexões longas ao vivo:** registro de conexões longas no sensor antes do encerramento TCP. +4. **Public Suffix List (PSL):** substituição da heurística de domínio-base pela PSL oficial. +5. **Allowlist e baselining:** redução de falsos positivos em polling de dispositivos IoT benignos em nuvem (ex.: Philips HUE). ## Depois -- Pilar 3 — anomalias determinísticas de protocolo, incluindo identidade e - movimentação lateral. -- Pilar 4 — fusão limitada e simétrica com pesos reproduzíveis. -- Otimizações no store analítico, particionamento diário Parquet e limpeza por TTL. -- Ingestão agendada e tratamento automático de rotação de logs em modo daemon. -- NetFlow/IPFIX como modo degradado documentado e Suricata EVE JSON como entrada secundária. +- Sessões UDP e parsers adicionais de protocolo (`ssl.log`, `smb_mapping.log`, `dce_rpc.log`, `rdp.log`, `ssh.log`, `kerberos.log`, `ntlm.log`). +- Rastreamento de identidade, detecção de movimentação lateral e grafos de pivô. +- NetFlow/IPFIX como modo degradado documentado e Suricata EVE JSON como entrada secundária opcional. - Metadados assinados de release, SBOM e builds reproduzíveis. ## Fora de plano diff --git a/apps/gui/ui/i18n-en.js b/apps/gui/ui/i18n-en.js index 9190d98..79fc6fe 100644 --- a/apps/gui/ui/i18n-en.js +++ b/apps/gui/ui/i18n-en.js @@ -11,28 +11,28 @@ export const EN = { 'Configurações': 'Settings', 'idioma e tema': 'language and theme', 'Conectando…': 'Connecting…', - 'esqueleto': 'skeleton', + 'pré-lançamento': 'pre-release', 'checar atualização': 'check for updates', 'Caça a ameaças em rede': 'Network threat hunting', 'Pesquisa determinística, sem IA opaca': 'Deterministic research, no opaque AI', - 'Aviso de escopo.': 'Scope notice.', - 'Este é um esqueleto pré-implementação. Os quatro pilares matemáticos, o parser Zeek e o armazenamento DuckDB ainda não estão implementados.': 'This is a pre-implementation skeleton. The four mathematical pillars, the Zeek parser and the DuckDB storage are not implemented yet.', + 'Estado atual.': 'Current state.', + 'Ingestão de conn.log e dns.log do Zeek, armazenamento Parquet/DuckDB e os pilares 1 a 4 em versão inicial, validados com tráfego público real. Ainda não: ingestão contínua automática, alertas persistidos entre reinícios, movimentação lateral e sessões UDP.': 'Zeek conn.log and dns.log ingestion, Parquet/DuckDB storage and pillars 1 to 4 in an initial version, validated against real public traffic. Not yet: automatic continuous ingestion, alerts persisted across restarts, lateral movement and UDP sessions.', 'Uso autorizado.': 'Authorized use.', 'Use somente em redes próprias ou com autorização explícita. Nenhum pacote é enviado para fora.': 'Use only on your own networks or with explicit authorization. No packet leaves the machine.', 'Pilares de detecção': 'Detection pillars', 'Pilar {n}': 'Pillar {n}', 'Pilar 1': 'Pillar 1', - 'Periodograma de Rayleigh/Schuster. Em desenvolvimento.': 'Rayleigh/Schuster periodogram. Under development.', - 'em desenvolvimento': 'under development', + 'Periodograma de Rayleigh/Schuster com grade limitada ao intervalo observado.': 'Rayleigh/Schuster periodogram with a grid bounded by the observed span.', + 'versão inicial': 'initial version', 'Pilar 2': 'Pillar 2', 'Sessões persistentes': 'Persistent sessions', - 'Detector de conexões longas. Em desenvolvimento.': 'Long-connection detector. Under development.', + 'Sessões TCP longas, inclusive as que o Zeek divide por inatividade.': 'Long TCP sessions, including those Zeek splits on inactivity.', 'Pilar 3': 'Pillar 3', 'Anomalias de protocolo': 'Protocol anomalies', - 'Features determinísticas por protocolo. Em desenvolvimento.': 'Deterministic per-protocol features. Under development.', + 'Volume de informação (entropia de Shannon) em subdomínios DNS.': 'Information volume (Shannon entropy) in DNS subdomains.', 'Pilar 4': 'Pillar 4', 'Fusão de evidências': 'Evidence fusion', - 'Jensen-Shannon e prova por alerta. Em desenvolvimento.': 'Jensen-Shannon and per-alert proof. Under development.', + 'Prioridade por host com evidência por alerta.': 'Per-host priority with per-alert evidence.', 'Analisar dataset': 'Analyze dataset', 'Aponte para um diretório de logs Zeek ou para um dataset local.': 'Point to a Zeek log directory or a local dataset.', 'Diretório de logs': 'Log directory', @@ -40,9 +40,9 @@ export const EN = { 'Atualizar status': 'Refresh status', 'Nenhuma análise executada.': 'No analysis has run yet.', 'Alertas recentes': 'Recent alerts', - 'Cada alerta futuro carregará a evidência determinística que o sustenta.': 'Every future alert will carry the deterministic evidence behind it.', - 'Nenhum alerta ainda. O motor de detecção será ligado nas próximas specs.': 'No alerts yet. The detection engine will be enabled in upcoming specs.', - 'Acauã · esqueleto pré-implementação': 'Acauã · pre-implementation skeleton', + 'Cada alerta carrega a evidência determinística que o sustenta.': 'Each alert carries the deterministic evidence behind it.', + 'Nenhum alerta ainda. Analise um diretório de logs do Zeek.': 'No alerts yet. Analyze a Zeek log directory.', + 'Acauã · pré-lançamento': 'Acauã · pre-release', 'Fechar configurações': 'Close settings', 'Fechar': 'Close', 'Idioma': 'Language', diff --git a/apps/gui/ui/index.html b/apps/gui/ui/index.html index d70c905..7084832 100644 --- a/apps/gui/ui/index.html +++ b/apps/gui/ui/index.html @@ -41,7 +41,7 @@
Periodograma de Rayleigh/Schuster. Em desenvolvimento.
- em desenvolvimento +Periodograma de Rayleigh/Schuster com grade limitada ao intervalo observado.
+ versão inicialDetector de conexões longas. Em desenvolvimento.
- em desenvolvimento +Sessões TCP longas, inclusive as que o Zeek divide por inatividade.
+ versão inicialFeatures determinísticas por protocolo. Em desenvolvimento.
- em desenvolvimento +Volume de informação (entropia de Shannon) em subdomínios DNS.
+ versão inicialJensen-Shannon e prova por alerta. Em desenvolvimento.
- em desenvolvimento +Prioridade por host com evidência por alerta.
+ versão inicialCada alerta futuro carregará a evidência determinística que o sustenta.
+Cada alerta carrega a evidência determinística que o sustenta.