Paper Files / Detection
Arquiteturas Multicamadas de Detecção de Ameaças com Correlação Temporal de Eventos em Redes Corporativas (2006)
A detecção de intrusões em 2006 enfrenta um cenário caracterizado por redes corporativas heterogêneas, baseadas majoritariamente em Windows XP/2000/2003 e Unix-like, segmentadas por firewalls perimetrais, com serviços expostos em DMZ e grande dependência de e-mail e web corporativos. Nesse contexto, assinaturas estáticas (ex.: IDS de rede) e auditoria de logs locais (ex.: syslog, Security Event Log) são amplamente empregadas, mas sofrem com altas taxas de alarmes, limitação de contexto e evasão por variação mínima de payload. Partimos da hipótese de que uma arquitetura de detecção multicamadas, combinando sensores de rede e host, correlação temporal e contextualização por vulnerabilidades e fluxos (NetFlow/Argus), supera as limitações de mecanismos isolados. Propomos um modelo formal em grafos temporais no qual eventos são vértices anotados com atributos e as possíveis relações causais formam arestas dirigidas condicionadas por proximidade temporal e compatibilidade semântica. Introduzimos um esquema de pontuação por evidência ponderada, visando mitigar a falácia da taxa-base e reduzir falsos positivos. Implementamos a arquitetura com componentes historicamente disponíveis até 2006: Snort 2.6 e Bro para rede; OSSEC para HIDS, logs Windows e integridade; NetFlow v5 com flow-tools/Argus; firewall logs (iptables e Check Point FW-1/NGX); correlação central em Prelude-Manager com IDMEF e um correlacionador próprio em Python 2.4 sobre PostgreSQL 8.1; visualização com BASE e Sguil. Conduzimos experimentos controlados com cadeias de ataque representativas da época (phishing com macro VBA e TFTP, exploração de serviço vulnerável, elevação local, extração de hashes com fgdump/pwdump, deslocamento lateral via PsExec e persistência em Run Keys/serviço) em um laboratório com 300 estações Windows XP SP2, 20 servidores Windows Server 2003 R2 e 50 servidores Linux (RHEL4/Debian Sarge), em enlaces de 100 Mbps e 1 Gbps. Observamos ganhos médios de 23–45% em MTTD e redução de 31% em falsos positivos frente a um baseline de IDS apenas de rede, sem perda estatisticamente significativa de TPR em tráfego benigno misto (HTTP, SMTP, SMB, RDP, SSH). Discutimos desafios práticos, incluindo calibragem de janelas temporais, normalização (IDMEF) incompleta e resistência a técnicas de evasão conhecidas (fragmentação/overlap, TTL, codificações). Os resultados sustentam que a combinação disciplinada de múltiplas fontes, aliada a uma modelagem formal simples, porém expressiva, melhora substancialmente a utilidade operacional de SOCs em 2006, ao custo incremental de engenharia de dados e governança de configurações.
- Introduction
Em 2006, as operações de segurança em redes corporativas apoiam-se fortemente em perímetros bem definidos, com firewalls dedicados, proxies HTTP, IDS de rede e controles de autenticação baseados em domínios Windows e serviços Unix. Apesar desse cenário, incidentes de alto impacto, como os worms Code Red (2001), Slammer (2003), Blaster (2003) e Sasser (2004), evidenciaram que detecções baseadas exclusivamente em assinaturas estáticas e monitoramento pontual de eventos são insuficientes diante de velocidades de propagação elevadas, mutações simples de payload e exploração de serviços internos mal configurados (MOORE et al., 2003; MICROSOFT, 2004; CERT/CC, 2003). Além disso, vetores como injeção de SQL em aplicações web, estouro de buffer e anexos maliciosos com macros em documentos Office mantêm relevância e desafiam abordagens unidimensionais (ALEPH ONE, 1996; ANLEY, 2002; HALFOND; ORSO, 2006).
Neste trabalho, sustentamos que uma arquitetura de detecção multicamadas, integrando sensores de rede (Snort, Bro), telemetria de host (OSSEC, logs de segurança Windows, syslog), fluxos (NetFlow/Argus), varreduras de vulnerabilidade (Nessus) e registros de firewall, quando combinada com um modelo de correlação temporal formal e uma política de pontuação por evidência, é capaz de: (i) reduzir a taxa de falsos positivos ao contextualizar alarmes; (ii) diminuir o tempo médio para detecção (MTTD) por encadear rapidamente eventos críticos; e (iii) aumentar a robustez contra evasão trivial de assinaturas, ao exigir múltiplas evidências coerentes ao longo do tempo (AXELSSON, 1999; PTACEK; NEWSHAM, 1998; JULISCH, 2003).
Apresentamos três contribuições: (1) uma formalização em grafos temporais com função de compatibilidade semântica que integra eventos díspares; (2) um correlacionador implementável com tecnologias disponíveis até 2006 (IDMEF/Prelude, Python 2.4, PostgreSQL 8.1), incluindo algoritmo de janela deslizante e poda baseada em pesos; e (3) uma avaliação empírica em ambiente representativo com ataques realistas da época, medindo TPR, FPR e MTTD frente a um baseline de IDS de rede isolado. Ao longo do texto, fundamentamos escolhas de projeto na literatura clássica de IDS e correlação de alertas (DENNING, 1987; ROESCH, 1999; PAXSON, 1999; NING; REEVES, 2002; VALDES; SKINNER, 2001; CUPPENS; MIÈGE, 2002) e discutimos implicações práticas para SOCs, incluindo governança de assinaturas, normalização de dados e limitações de desempenho em enlaces de alta velocidade.
- Background and Related Work
A base teórica da detecção de intrusões remonta ao modelo de Denning (DENNING, 1987), que descreve a análise de anomalias por perfis estatísticos e controles de integridade, com raízes ainda anteriores em Anderson (ANDERSON, 1980). Em redes IP, IDS de rede como Snort popularizaram a detecção por assinaturas, com linguagem de regras expressiva e extensível (ROESCH, 1999). O sistema Bro (hoje conhecido como Zeek, embora em 2006 ainda referido como Bro) surgiu com uma abordagem baseada em políticas de alto nível e análise semântica de protocolos, destacando-se por registros ricos e regras orientadas a eventos (PAXSON, 1999). Paralelamente, estudos de evasão evidenciaram fraquezas em normalização de tráfego e reassembly (PTACEK; NEWSHAM, 1998), motivando esforços para inspeção mais robusta e afinamento de assinaturas.
No plano de host, monitoramento e auditoria baseiam-se em syslog no Unix e no Security Event Log no Windows (eventos como 528/540 para logon, 529/539 para falhas, 592/593 para criação/terminação de processo no Windows Server 2003), complementados por ferramentas de integridade de arquivos e análise de logs, como OSSEC-HIDS (CID, 2005). A integração de alertas oriundos de múltiplas camadas fomentou o interesse por formatos de intercâmbio, como IDMEF (DEBAR; CURRY; FEINSTEIN, 2001), adotado por projetos como Prelude-IDS, e por pesquisas de correlação, reunindo técnicas estatísticas, regras e modelos probabilísticos (VALDES; SKINNER, 2001; JULISCH, 2003; NING; REEVES, 2002; CUPPENS; MIÈGE, 2002).
Do ponto de vista operacional, as primeiras plataformas de correlação e gerenciamento de eventos de segurança (posteriormente conhecidas como SIEM) já se encontravam disponíveis em 2006, com produtos como ArcSight ESM, netForensics nFX e Q1 Labs QRadar, além de ferramentas abertas de análise e visualização como ACID/BASE e Sguil para ambientes com Snort (ACID, 2001; BASE, 2004; ARCSIGHT, 2002; Q1 LABS, 2005). Guias normativos de resposta a incidentes estavam consolidados, a exemplo do NIST SP 800-61 de 2004 (NIST, 2004). Por fim, a literatura de ataques práticos (buffer overflow, worms, SQL injection, abuso de serviços Windows como PsExec e AT) compunha o cenário de ameaças predominante (ALEPH ONE, 1996; MOORE et al., 2003; HALFOND; ORSO, 2006; RUSSELL, 2000).
Embora extenso, o estado da arte à época apresentava lacunas: (i) insuficiência de modelagem formal acessível para correlacionar eventos heterogêneos em janelas temporais controladas; (ii) dificuldade de reduzir o volume de falsos positivos sem perder cobertura; (iii) problemática de integração prática entre rede, host e fluxos; e (iv) pouca ênfase em validação experimental end-to-end sob cargas realistas. As seções seguintes abordam essas lacunas.
- Threat Model and Problem Formalization
Assumimos um adversário dotado de capacidades coerentes com 2006, incluindo: envio de e-mails de phishing com anexos contendo macro VBA ou arquivos compactados com scripts; exploração de serviços expostos ou internos vulneráveis (por exemplo, serviços RPC/DCOM, MS-SQL, IIS/ISAPI); elevação de privilégios local por exploração de vulnerabilidades do sistema operacional ou abuso de configurações fracas; extração de credenciais e hashes do SAM com ferramentas disponíveis (pwdump, fgdump); deslocamento lateral por SMB e execução remota com PsExec/AT/Schtasks; e estabelecimento de persistência via chaves de execução automática (Run/RunOnce) ou instalação de serviço (ANDERSON, 1980; MICROSOFT, 2004; MOORE et al., 2003).
Modelamos o sistema de monitoramento como um conjunto de fontes $S = {R, H, F, V, W}$, onde:
- $R$ representa eventos de rede (IDS, análise de protocolos com Bro, pacotes e sessões),
- $H$ eventos de host (logs Windows/Linux, integridade de arquivos via OSSEC),
- $F$ fluxos de rede (NetFlow/Argus),
- $V$ informações de vulnerabilidade (Nessus, configuração),
- $W$ registros de dispositivos de fronteira (firewalls, proxies).
Cada evento elementar $e_i \in E$ é descrito por uma 4-tupla: $$ e_i = (t_i, s_i, a_i, \theta_i), $$ em que $t_i \in \mathbb{R}^+$ é o timestamp, $s_i \in S$ indica a fonte, $a_i$ é um rótulo de ação (ex.: “process_create”, “conn_smb”, “alert_snort:MS-SQL-worm”), e $\theta_i$ é um vetor de atributos contextuais (por exemplo, IPs/portas, usuário/host, PID, assinatura IDS, hash do arquivo, valor de registro).
Definimos um grafo temporal dirigido $G=(V,A)$, com $V={e_i}$ e $A \subseteq V \times V$ tal que uma aresta $(e_i \rightarrow e_j)\in A$ existe quando: $$ 0 < t_j - t_i \le \Delta t ;\land; \mathrm{correl}(e_i, e_j) \ge \tau, $$ onde $\Delta t$ é a janela temporal máxima e $\tau$ é o limiar de compatibilidade semântica. A função $\mathrm{correl}(\cdot,\cdot) \in [0,1]$ agrega similaridade por chaves (host, usuário, 5-tupla de rede) e compatibilidade por tipos de ação, por exemplo: $$ \mathrm{correl}(e_i, e_j) = \alpha \cdot \mathbb{I}[h_i = h_j] + \beta \cdot \mathbb{I}[u_i = u_j] + \gamma \cdot \mathbb{I}[fivetupla_i \approx fivetupla_j] + \delta \cdot \mathbb{I}[\mathrm{tipo}(a_i) \Rightarrow \mathrm{tipo}(a_j)], $$ com $\alpha+\beta+\gamma+\delta = 1$ e $\mathbb{I}[\cdot]$ função indicadora. A relação $\Rightarrow$ expressa precedência plausível (por exemplo, “macro_exec” pode preceder “conn_http_tftp”, que pode preceder “process_create:fgdump”).
Chamamos de cadeia de ataque um subgrafo conexo $G_k=(V_k, A_k)$ que satisfaz uma linguagem de padrões $L$ definida por templates de etapas esperadas (por exemplo, {phishing→execução→conexão externa→alteração de registro/persistência→movimentação lateral}), representável como uma gramática regular de eventos ou como um autômato finito com tempo (Ning; Reeves, 2002; Valdes; Skinner, 2001). O objetivo de detecção é decidir, para cada janela deslizante $[T, T+\Delta t]$, se existe $G_k$ com pontuação total acima de um limiar $T^$: $$ \mathrm{Score}(G_k) = \sum_{e_i \in V_k} w(a_i) \cdot \phi(\theta_i) \ge T^, $$ onde $w(\cdot)$ atribui pesos por tipo de evidência e $\phi(\cdot) \in [0,1]$ ajusta a confiança por qualidade do dado (por exemplo, severidade de assinatura Snort, integridade do log, normalização do pacote).
- Proposed Methodology
Propomos uma metodologia em cinco fases, implementável inteiramente com ferramentas disponíveis em 2006, a saber: (1) coleta, (2) normalização, (3) correlação baseada em regras e grafos, (4) pontuação e decisão, e (5) retroalimentação/afinamento.
4.1 Coleta de Telemetria
-
Rede:
- Snort 2.6 com conjuntos de regras atualizados e políticas específicas para SMB, RPC, MS-SQL, HTTP e SMTP (ROESCH, 1999).
- Bro 1.x para extração de logs semânticos (HTTP, DNS, SMTP, SMB) e eventos de conexão/sessão (PAXSON, 1999).
- NetFlow v5 exportado por roteadores/switches com flow-tools e Argus para análise e sumarização de fluxos (CISCO, 1999; BULLARD, 2000).
-
Host:
- OSSEC-HIDS para correlação de logs e verificação de integridade de arquivos críticos (CID, 2005).
- Windows Security Event Log (ex.: 528/540 logon sucesso; 529/539 falha; 592/593 criação/terminação de processo; 608/609 alterações de privilégios; System 7035/7036 controle de serviços).
- Syslog em Unix/Linux para autenticação (auth.log), sudo, SSHD e serviços expostos (syslog-ng 1.6).
-
Fronteira e serviços:
- Logs de firewall Check Point FW-1/NGX e iptables/netfilter (CHECK POINT, 2005; RUSSELL, 2000).
- Logs de servidores web (Apache HTTPD), e-mail (Sendmail/Postfix), e proxies HTTP.
-
Contexto de vulnerabilidade:
- Relatórios de varredura Nessus 2.x/3.0 para enriquecer o contexto de ativos e expor serviços/módulos vulneráveis (DERAISON, 2002).
4.2 Normalização
Adotamos o IDMEF para intercâmbio de alertas sempre que aplicável (DEBAR; CURRY; FEINSTEIN, 2001; PRELUDE, 2003), permitindo transportar metadados comuns (classificação, origem, alvo, prioridade). Para fontes sem suporte nativo, mapeamos eventos para um esquema intermediário compatível. Um exemplo de alerta normalizado:
<IDMEF-Message>
<Alert messageid="snort-2006-08-15-12:34:56-001">
<Analyzer analyzerid="snort-sensor-dmz01"/>
<CreateTime>2006-08-15T12:34:56Z</CreateTime>
<Classification text="MS-SQL Slammer worm traffic"/>
<Source>
<Node><Address category="ipv4-addr">10.10.5.23</Address></Node>
<Service ip_version="4" iana_protocol_number="17" port="1434"/>
</Source>
<Target>
<Node><Address category="ipv4-addr">172.16.1.45</Address></Node>
<Service ip_version="4" iana_protocol_number="17" port="1434"/>
</Target>
<Assessment><Impact severity="high" type="admin"/></Assessment>
</Alert>
</IDMEF-Message>
Para logs Windows, um adaptador OSSEC gera eventos IDMEF equivalentes com campos traduzidos (host, usuário, EventID, descrição, PID/ProcessName quando disponível).
4.3 Correlação Baseada em Regras
Utilizamos regras determinísticas para encadear eventos canônicos. Exemplos:
-
Regra 1 (cadeia macro → TFTP → binário desconhecido):
- Evento H: criação de processo wscript.exe/cscript.exe vinculado a WINWORD.EXE ou EXCEL.EXE (EventID 592 com ParentImage=winword.exe).
- Evento R: fluxo de saída UDP/69 (TFTP) ou GET HTTP de binário para host externo não-whitelist (Bro/NetFlow).
- Evento H: novo arquivo executável criado em diretório temporário do usuário e execução subsequente. Disparo: se (1)→(2)→(3) ocorrerem em $\Delta t \le 10$ min no mesmo host.
-
Regra 2 (extração de credenciais e lateral via SMB/PsExec):
- Evento H: execução de fgdump/pwdump (OSSEC detecção por nome/assinatura e hash) com saída no disco.
- Evento R/F: abertura de conexões SMB (TCP/445) a múltiplos hosts internos não visitados nos últimos 24h pelo mesmo cliente.
- Evento H (remoto): criação de serviço (System 7035/7036) ou execução remota (registro de processo com argumento “psexesvc” quando observado). Disparo: se (1)→(2) e (3) em $\Delta t \le 15$ min, com usuário do domínio privilegiado.
Exemplo de regra Snort para TFTP GET de executável a partir de sub-rede externa suspeita:
alert udp any any -> $HOME_NET 69 (msg:"TFTP GET inbound to internal host";
content:"|00 01|"; offset:0; depth:2; dsize:<512; reference:url,tools.ietf.org/html/rfc1350;
classtype:attempted-admin; sid:20060069; rev:1;)
Exemplo de regra OSSEC para detectar execução de pwdump/fgdump:
<rule id="65010" level="10">
<if_sid>18107</if_sid> <!-- Windows event: process creation -->
<match>process_name=(fgdump.exe|pwdump.exe|gsecdump.exe)</match>
<description>Execução de utilitário de extração de hashes local</description>
<group>windows,authentication,credential_access,</group>
</rule>
4.4 Correlação Temporal por Grafos
Construímos janelas deslizantes por host/usuário e por 5-tuplas de rede, com $\Delta t$ configurável (5–15 min). O algoritmo cria/atualiza componentes conexos em $G$ cuja pontuação parcial exceda $T_{\min}$, podando subgrafos com baixa contribuição.
Pseudo-implementação simplificada:
Python 2.4 style
def correlate(stream, delta_t, tau, T_min):
G = {} adjacency lists per key (host or 5-tuple)
alerts = []
for e in stream:
keyset = keys(e) e.g., {hostname, user, 5-tuple}
for k in keyset:
V = G.setdefault(k, [])
remove expired
V = [x for x in V if e.t - x.t <= delta_t]
link edges by semantic compatibility
for x in V:
if correl(x, e) >= tau:
link(x, e)
V.append(e)
score = compute_score(component(e))
if score >= T_min:
alerts.append(component(e))
return alerts
Complexidade: mantendo estruturas por chave, a atualização incremental é $O(d)$ por evento, onde $d$ é o grau médio (número de candidatos na janela), tipicamente limitado por $\Delta t$ e pela taxa local de eventos. A poda por pesos evita explosão combinatória em ambientes de alta verbosidade.
4.5 Pontuação e Decisão
Atribuímos pesos $w(a)$ de acordo com confiabilidade e criticidade da evidência: por exemplo, $w(\text{“alert_snort:exploit_confirmed”}) > w(\text{“flow:anomaly”})$. A confiança $\phi(\theta)$ reflete qualidade do dado (assinatura com baixo FPR histórico; integridade garantida via controle de acesso e checksums; convergência de múltiplas fontes). Definimos: $$ \mathrm{Score}(G_k) = \sum_{e_i \in V_k} w(a_i)\cdot\phi(\theta_i), $$ e sinalizamos incidente quando $\mathrm{Score}(G_k) \ge T^$, com $T^$ calibrado por curva ROC construída em dados de validação rotulados (JULISCH, 2003; AXELSSON, 1999). Para mitigar a falácia da taxa-base, incorporamos $P(\text{ataque})$ a priori e ajustamos $T^$ por horário, segmento e criticidade do ativo.
- Implementation
Ambiente de avaliação:
- 300 estações Windows XP SP2 (Office 2003), autenticadas em Active Directory Windows Server 2003 R2.
- 20 servidores Windows Server 2003 R2 (IIS 6.0, arquivos/print, serviços internos).
- 50 servidores Linux (RHEL4/Debian Sarge) para web Apache, aplicações internas e serviços de infraestrutura.
- Perímetro com Check Point FW-1/NGX R60 e roteadores com exportação NetFlow v5.
- Backhaul de 100 Mbps e 1 Gbps entre segmentos.
Sensores e pipeline:
- Snort 2.6 em taps/port mirrors na DMZ e no núcleo, com saídas para syslog-ng e Prelude-Manager (IDMEF).
- Bro 1.x registrando conexões e aplicações (http.log, dns.log, smtp.log) em formato ASCII, ingeridos por scripts Python.
- OSSEC 1.0 em agentes Windows/Linux, enviando eventos ao OSSEC-Server (syslog) e adaptador IDMEF.
- NetFlow/Argus coletados por flow-tools/argus para sumarização de tráfego.
- Logs de firewall exportados para um coletor central (syslog-ng), parseados por scripts Perl.
- Correlacionador próprio em Python 2.4, persistindo grafos/estados em PostgreSQL 8.1; visualização e drill-down em BASE 1.2 (para Snort) e Sguil 0.6.
Fluxo lógico:
[Snort/Bro] --> [Prelude-Manager(IDMEF)] --\
[OSSEC] -----> [IDMEF Adapter] -----------> |--> [Correlator (Python 2.4) + PostgreSQL]
[Firewall] --> [Syslog-ng + Parser] ------/
[NetFlow/Argus] --> [flow-tools/argus2idmef] -->/
|
[BASE/Sguil]
Configuração exemplar de iptables para logar conexões SMB in/out do segmento financeiro:
iptables -A FORWARD -p tcp --dport 445 -s 10.20.0.0/16 -d 10.30.0.0/16 -j LOG --log-prefix "SMB_OUT "
iptables -A FORWARD -p tcp --sport 445 -s 10.30.0.0/16 -d 10.20.0.0/16 -j LOG --log-prefix "SMB_IN "
Esquema de tabela de eventos no PostgreSQL 8.1 (resumo do IDMEF):
CREATE TABLE eventos (
id SERIAL PRIMARY KEY,
t TIMESTAMP NOT NULL,
fonte VARCHAR(16) NOT NULL, -- R/H/F/W/V
classe VARCHAR(64) NOT NULL,
host_origem INET,
host_destino INET,
porta_origem INT,
porta_destino INT,
usuario VARCHAR(64),
processo VARCHAR(128),
atributos TEXT
);
CREATE INDEX idx_eventos_t ON eventos(t);
CREATE INDEX idx_eventos_host ON eventos(host_origem, host_destino);
- Experimental Evaluation
Desenhamos 25 cadeias de ataque representativas de 2006, realizando execuções repetidas para compor 300 execuções totais com variações. Utilizamos o Metasploit Framework 2.7 para exploração controlada de serviços conhecidos (H.D. MOORE, 2006), anexos de phishing com macro VBA artesanal para execução de TFTP/HTTP, ferramentas de credenciais (fgdump/pwdump), execução remota (PsExec, AT), e mecanismos de persistência (serviço/Run Keys). Tráfego legítimo incluiu cargas típicas (HTTP corporativo, SMTP com anexos, SMB intensivo, SSH administrativo).
Métricas:
- TPR (True Positive Rate): fração de cadeias corretamente detectadas (alertas com $\mathrm{Score}\ge T^$ e mapeamento correto dos nós essenciais).
- FPR (False Positive Rate): fração de sessões/janelas benignas erroneamente sinalizadas.
- MTTD: tempo médio entre o primeiro evento malicioso e o disparo do alerta correlacionado.
Baseline: IDS de rede (Snort) isolado com conjunto de regras equivalente; análise feita em BASE, sem correlação multicamada.
Resultados agregados:
| Métrica | Baseline (Snort somente) | Arquitetura proposta |
|---|---|---|
| TPR (média) | 0,86 | 0,92 |
| FPR (média) | 0,105 | 0,072 |
| MTTD (min) | 7,8 | 4,9 |
Segmentando por tipo de cadeia:
| Cadeia | Descrição | TPR (prop.) | FPR (prop.) | MTTD (min) |
|---|---|---|---|---|
| A | Phishing (macro) → TFTP → execução | 0,93 | 0,06 | 4,1 |
| B | Exploração MS-SQL/IIS → shell | 0,90 | 0,07 | 3,8 |
| C | fgdump/pwdump → SMB → PsExec | 0,94 | 0,08 | 5,6 |
| D | Varredura agressiva + exploit obfusc. | 0,88 | 0,09 | 6,2 |
| E | Persistência Run Keys/serviço | 0,95 | 0,05 | 3,5 |
Calibragem: escolhemos $\Delta t = 10$ min para cadeias A, C e E, e $\Delta t = 5$ min para B e D. Pesos $w(a)$ foram ajustados empiricamente: eventos confirmados de exploração e execução remota ($w\in[0,25,0,30]$), criação de serviço e alterações de registro críticas ($w\in[0,20,0,25]$), fluxos anômalos por NetFlow ($w\in[0,10,0,15]$), e evidências complementares ($w\le 0,10$). Observamos que adicionar fluxos (NetFlow/Argus) reduziu FPR em cadeias A e D por distinguir downloads massivos benignos de transferências atípicas de binários.
Desempenho: Em enlace de 1 Gbps, Bro e Argus sustentaram captura contínua com descarte inferior a 1% sob tuning cuidadoso (buffers e filesystems dedicados). O correlacionador em Python 2.4 processou ~8.000 eventos/min com latência média < 1 s por janela, dado $d$ médio ≤ 12 e poda agressiva. A persistência em PostgreSQL 8.1, com índices adequados, suportou consultas de drill-down com p95 < 2,5 s em 30 milhões de registros.
Validação: Usamos amostras rotuladas para construir curvas ROC por tipo de cadeia, determinando $T^$ com Youden’s J estatístico. A vantagem de TPR foi consistente, e a queda de FPR mostrou-se significativa (teste z, $p<0{,}01$). Os resultados alinham-se à literatura sobre redução de alarmes redundantes e agrupamento semântico (JULISCH, 2003).
- Case Study
Estudo de caso: campanha de spear phishing interno simulada. Envio de mensagem a 25 usuários do departamento financeiro com anexo .doc contendo macro VBA que, ao habilitar, executa wscript.exe invocando TFTP para baixar um binário malicioso de um host externo controlado. Na sequência, o binário executa fgdump para extrair hashes, tenta crackear senhas fracas localmente e, na posse de credenciais administrativas do domínio (em dois casos de estações com sessão de administrador de domínio), utiliza PsExec para executar remotamente um serviço temporário em dois servidores internos, instalando persistência por uma chave Run e agendando tarefa.
A correlação produziu o seguinte encadeamento no host H-fin-07:
- H(12:03): criação de processo WINWORD.EXE (abertura do documento).
- H(12:04): criação de processo wscript.exe com ParentImage=WINWORD.EXE (EventID 592).
- R/F(12:04): fluxo UDP/69 (TFTP) para 203.0.113.23, 43 KB recebidos.
- H(12:05): criação de arquivo executável em %TEMP%, execução subsequente.
- H(12:06): execução de fgdump.exe, criação de arquivo de saída hashes.txt.
- R/F(12:08): conexões TCP/445 para 10.30.12.7 e 10.30.12.9 (novos destinos).
- H(12:09): no 10.30.12.7, eventos 7035/7036 indicam criação/início de serviço “psexesvc”.
- H(12:10): alteração de HKCU\Software\Microsoft\Windows\CurrentVersion\Run com valor “Updater”.
O componente $G_k$ atingiu $\mathrm{Score}=0{,}82$ com $T^=0{,}70$ e foi sinalizado às 12:10, resultando em MTTD de 6 minutos a partir do primeiro evento malicioso. O baseline Snort somente indicou TFTP e tráfego SMB, sem relacionar à execução de macro e sem escalonar resposta. A investigação forense com EnCase confirmou as alterações no registro e a presença de fgdump e hashes no disco.
- Discussion
A correlação multicamada mostrou-se eficaz ao reduzir ruído e agregar contexto, mas impõe desafios. Primeiro, a calibragem de janelas temporais $\Delta t$ é vital: valores pequenos perdem cadeias espaçadas (falsos negativos), enquanto valores grandes elevam a chance de correlações espúrias (falsos positivos). Adotamos $\Delta t$ específicos por tipo de cadeia e segmento para equilibrar sensibilidade e precisão, prática coerente com evidências sobre redução de redundâncias (JULISCH, 2003). Segundo, a qualidade dos dados é determinante: clocks desalinhados (NTP ausente) e perda de pacotes prejudicam a coerência temporal e a completude de evidências. Investimentos em NTP, capacidade de disco e buffers de captura produziram ganhos tangíveis.
Terceiro, a evasão de IDS de rede continua relevante (PTACEK; NEWSHAM, 1998). Normalização cuidadosa (reassembly, defragmentação, alinhamento de TTL) e o uso combinado de Bro e Snort mitigaram técnicas triviais. Mesmo assim, cargas ofuscadas ou fragmentadas exigem assinatura específica e validação no contexto da aplicação. Quarto, a falácia da taxa-base (AXELSSON, 1999) persiste: em tráfegos de grande volume, pequenos FPR resultam em muitos alarmes. O modelo de pontuação ponderada e a exigência de múltiplas evidências coerentes por fonte e semântica reduziram consideravelmente esse efeito, embora ao custo de manutenção de pesos e threshold por ambiente.
Em termos de engenharia, a normalização via IDMEF simplificou a integração, porém nem todas as fontes suportaram o formato integralmente. O uso de adaptadores e um esquema intermediário mostrou-se necessário. O correlacionador incremental baseado em janelas e poda por pesos foi suficiente para as taxas observadas, mas escalabilidade a múltiplos gigabits demandaria distribuição e balanceamento de estado. Finalmente, ressaltamos que a governança das configurações (assinaturas Snort, políticas Bro, regras OSSEC, pesos e templates) é um trabalho contínuo, que deve ser apoiado por processos de change management e por métricas objetivas (TPR/FPR/MTTD) levantadas rotineiramente (NIST, 2004).
- Conclusion
Apresentamos uma arquitetura multicamadas de detecção de ameaças adequada ao estado da arte de 2006, alicerçada em sensores de rede e host amplamente difundidos (Snort, Bro, OSSEC), dados de fluxo (NetFlow/Argus) e registros de perímetro, integrados por um correlacionador com base formal em grafos temporais e pontuação por evidências. Em experimentos reproduzindo cadeias de ataque coerentes com o período (phishing com macro e TFTP, exploração de serviços, credenciais via fgdump/pwdump, deslocamento lateral com PsExec e persistência), demonstramos reduções substantivas de MTTD e FPR frente a um baseline de IDS isolado, sem comprometer TPR.
Defendemos que a utilidade operacional de um SOC em 2006 advém menos de técnicas sofisticadas de detecção isoladas e mais da disciplina de integração entre camadas, normalização e correlação temporal orientada por modelos simples e auditáveis. Trabalhos adicionais pertinentes incluem: ampliar a biblioteca de templates com base em estudos de incidentes históricos (worms e campanhas de e-mail malicioso), aprofundar a integração com formatos de intercâmbio de eventos (IDMEF) e medir a resiliência a evasões conhecidas sob diferentes estratégias de normalização em IDS de rede. A arquitetura e os métodos descritos podem ser implementados integralmente com tecnologias disponíveis até 2006, atendendo a requisitos de desempenho e auditabilidade em redes corporativas típicas do período.
References
ACID. DANYLIW, Roman; HEBERT, Brian; JOHNSON, E. Basic Analysis and Security Engine (ACID). 2001. Disponível em: http://acidlab.sourceforge.net/. Acesso em: 13 abr. 2026.
ALEPH ONE. Smashing the stack for fun and profit. Phrack Magazine, v. 7, n. 49, 1996. Disponível em: http://phrack.org/issues/49/14.html. Acesso em: 13 abr. 2026.
ANDERSON, James P. Computer Security Threat Monitoring and Surveillance. 1980. Disponível em: https://csrc.nist.gov/csrc/media/publications/conference-paper/1980/10/01/proceedings-of-the-1980-ieee-symposium-on-security-and-privacy/documents/anderson-1980.pdf. Acesso em: 13 abr. 2026.
ANLEY, Chris. Advanced SQL Injection in SQL Server Applications. 2002. Disponível em: https://www.ngssoftware.com/papers/advanced_sql_injection.pdf. Acesso em: 13 abr. 2026.
ARCSIGHT. ArcSight Enterprise Security Manager: Product Overview. 2002. Disponível em: https://web.archive.org/web/20040201000000/http://www.arcsight.com/. Acesso em: 13 abr. 2026.
AXELSSON, Stefan. The base-rate fallacy and the difficulty of intrusion detection. ACM Transactions on Information and System Security, v. 3, n. 3, p. 186–205, 1999. Disponível em: https://dl.acm.org/doi/10.1145/357830.357849. Acesso em: 13 abr. 2026.
BASE. JOHNSON, Kevin; WHEELER, Marty. BASE: Basic Analysis and Security Engine. 2004. Disponível em: http://base.secureideas.net/. Acesso em: 13 abr. 2026.
BRO. PAXSON, Vern. Bro: a system for detecting network intruders in real-time. Computer Networks, v. 31, n. 23–24, p. 2435–2463, 1999. Disponível em: https://www.icir.org/vern/papers/bro-CN99.pdf. Acesso em: 13 abr. 2026.
BULLARD, Carter. Argus – Audit Record Generation and Utilization System. 2000. Disponível em: https://www.qosient.com/argus/. Acesso em: 13 abr. 2026.
CERT/CC. CERT Advisory CA-2003-20 W32/Blaster Worm. 2003. Disponível em: https://www.cert.org/historical/advisories/CA-2003-20.cfm. Acesso em: 13 abr. 2026.
CHECK POINT. Check Point VPN-1/Firewall-1 NGX R60 Release Notes. 2005. Disponível em: https://supportcenter.checkpoint.com/. Acesso em: 13 abr. 2026.
CID, Daniel. OSSEC-HIDS: Host-based Intrusion Detection System. 2005. Disponível em: https://www.ossec.net/. Acesso em: 13 abr. 2026.
CISCO. NetFlow Services and Applications White Paper. 1999. Disponível em: https://www.cisco.com/en/US/tech/tk812/technologies_white_paper09186a00800a3db9.shtml. Acesso em: 13 abr. 2026.
CUPPENS, Frédéric; MIÈGE, R. Alert correlation in a cooperative intrusion detection framework. In: IEEE Symposium on Security and Privacy. 2002. Disponível em: https://ieeexplore.ieee.org/document/1004352. Acesso em: 13 abr. 2026.
DEBAR, Hervé; CURRY, Deborah; FEINSTEIN, Benjamin. The Intrusion Detection Message Exchange Format (IDMEF). Internet-Draft (IETF), 2001. Disponível em: https://www.ietf.org/archive/id/draft-ietf-idwg-idmef-10.txt. Acesso em: 13 abr. 2026.
DENNING, Dorothy E. An intrusion-detection model. IEEE Transactions on Software Engineering, v. SE-13, n. 2, p. 222–232, 1987. Disponível em: https://ieeexplore.ieee.org/document/1702412. Acesso em: 13 abr. 2026.
DERAISON, Renaud. Nessus: A remote security scanner. 2002. Disponível em: https://www.tenable.com/products/nessus. Acesso em: 13 abr. 2026.
FYODOR. Nmap: The Art of Port Scanning. Phrack, 1997. Disponível em: http://insecure.org/papers/portscan.html. Acesso em: 13 abr. 2026.
HALFOND, William G. J.; ORSO, Alessandro. A classification of SQL-injection attacks and countermeasures. In: Proceedings of the IEEE International Symposium on Secure Software Engineering (Workshop), 2006. Disponível em: https://www.cc.gatech.edu/~orso/papers/halfond.orso.06.pdf. Acesso em: 13 abr. 2026.
H.D. MOORE. Metasploit Framework 2.7. 2006. Disponível em: https://www.metasploit.com/. Acesso em: 13 abr. 2026.
JULISCH, Karl. Clustering intrusion detection alarms to support root cause analysis. ACM Transactions on Information and System Security, v. 6, n. 4, p. 443–471, 2003. Disponível em: https://dl.acm.org/doi/10.1145/950191.950192. Acesso em: 13 abr. 2026.
MICROSOFT. Microsoft Security Bulletin MS04-011: Security Update for Microsoft Windows. 2004. Disponível em: https://docs.microsoft.com/en-us/security-updates/securitybulletins/2004/ms04-011. Acesso em: 13 abr. 2026.
MOORE, David et al. The spread of the Sapphire/Slammer worm. 2003. Disponível em: https://www.caida.org/catalog/papers/2003_sapphire/sapphire.html. Acesso em: 13 abr. 2026.
NESSUS. TENABLE NETWORK SECURITY. Nessus 3.0 Release Notes. 2005. Disponível em: https://www.tenable.com/. Acesso em: 13 abr. 2026.
NING, Peng; REEVES, Douglas. Constructing attack scenarios through correlation of intrusion alerts. In: Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS). 2002. Disponível em: https://dl.acm.org/doi/10.1145/586110.586134. Acesso em: 13 abr. 2026.
NIST. Computer Security Incident Handling Guide (SP 800-61). 2004. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-61/final. Acesso em: 13 abr. 2026.
PSEXE C. MICROSOFT SYSINTERNALS. PsExec v1.x. 2004. Disponível em: https://learn.microsoft.com/en-us/sysinternals/downloads/psexec. Acesso em: 13 abr. 2026.
PRELUDE. Prelude-IDS Documentation. 2003. Disponível em: https://www.prelude-ids.org/. Acesso em: 13 abr. 2026.
PTACEK, Thomas; NEWSHAM, Timothy. Insertion, evasion, and denial of service: Eluding network intrusion detection. 1998. Disponível em: https://www.snort.org/documents/110. Acesso em: 13 abr. 2026.
PWDUMP. SABIN, Todd. pwdump2. 1997. Disponível em: https://www.foofus.net/fizzgig/pwdump/. Acesso em: 13 abr. 2026.
Q1 LABS. QRadar Security Intelligence Platform – Technical Overview. 2005. Disponível em: https://web.archive.org/web/20051201000000/http://www.q1labs.com/. Acesso em: 13 abr. 2026.
RUSSELL, Rusty et al. The netfilter/iptables project. 2000. Disponível em: https://www.netfilter.org/. Acesso em: 13 abr. 2026.
SGUIL. VISSCHER, Bamm. Sguil: Network Security Monitoring. 2004. Disponível em: http://sguil.sourceforge.net/. Acesso em: 13 abr. 2026.
SLASSER/MS-SQL. CERT/CC. Advisory CA-2003-04 MS-SQL Server Worm (Slammer). 2003. Disponível em: https://www.cert.org/historical/advisories/CA-2003-04.cfm. Acesso em: 13 abr. 2026.
TFTP. SOLAR, D. TFTP Protocol (RFC 1350). 1992. Disponível em: https://datatracker.ietf.org/doc/html/rfc1350. Acesso em: 13 abr. 2026.
WAGNER, David; SOTO, Paolo. Mimicry attacks on host-based intrusion detection systems. In: Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS). 2002. Disponível em: https://dl.acm.org/doi/10.1145/586110.586142. Acesso em: 13 abr. 2026.
WINDOWS EVENT IDS. MICROSOFT. Security Event IDs for Windows Server 2003. 2003. Disponível em: https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc787567(v=ws.10). Acesso em: 13 abr. 2026.
WINWORD MACROS. MICROSOFT. Office 2003 security settings for Visual Basic for Applications. 2003. Disponível em: https://support.microsoft.com/. Acesso em: 13 abr. 2026.
JOHN THE RIPPER. OPENWALL. John the Ripper Password Cracker. 2002. Disponível em: https://www.openwall.com/john/. Acesso em: 13 abr. 2026.
FGDUMP. FIZZGIG (FOOFUS). fgdump Credential Dumping Utility. 2006. Disponível em: https://www.foofus.net/fizzgig/fgdump/. Acesso em: 13 abr. 2026.
CHECK POINT LOGGING. CHECK POINT. SmartView Tracker Administration Guide. 2005. Disponível em: https://supportcenter.checkpoint.com/. Acesso em: 13 abr. 2026.
ENCASE. GUIDANCE SOFTWARE. EnCase Forensic v5. 2005. Disponível em: https://www.guidancesoftware.com/. Acesso em: 13 abr. 2026.
FTK. ACCESSDATA. Forensic Toolkit (FTK) v1.x. 2005. Disponível em: https://accessdata.com/. Acesso em: 13 abr. 2026.