# DS0009 — Process
## Descrição
**Process** é uma das fontes de dados mais críticas para detecção de ameaças em qualquer plataforma. Um processo é uma instância de um programa em execução, gerenciada pelo sistema operacional com espaço de memória próprio, threads, identificador único (PID) e contexto de segurança (usuário/grupos). Inclui o executável principal, módulos carregados dinâmicamente (DLLs no Windows, shared libraries no Linux/macOS) e regiões de memória alocadas.
Do ponto de vista de detecção, eventos de processo — especialmente criação (`Process Creation`) — são o sinal mais rico disponível em endpoints. A maioria das técnicas ATT&CK envolve algum tipo de execução de processo: sejá diretamente (T1059), via exploração (T1068), ou por abuso de utilitários legítimos do sistema (LOLBAS/LOTL). A relação pai-filho entre processos é especialmente valiosa: `winword.exe` criando `powershell.exe` é um indicador clássico de spear-phishing com macro.
Em ambientes corporativos brasileiros, a telemetria de processo é tipicamente a primeira fonte habilitada em SIEMs. Windows Event ID 4688 (com auditoria de linha de comando habilitada) e Sysmon Event ID 1 são os vetores de coleta mais comuns. Em Linux, Auditd com regras de `execve` e ferramentas como osquery ou Falco fornecem cobertura equivalente.
## Pipeline de Coleta
```mermaid
graph TB
A["🖥️ Endpoint Windows<br/>Processo criado / encerrado"] --> B["📋 Security Log EID 4688<br/>+ linha de comando (GPO)"]
A --> C["🔍 Sysmon EID 1·5·8·10<br/>ProcessCreaté · Inject · Access"]
D["🐧 Endpoint Linux / macOS<br/>execve syscall"] --> E["🔍 Auditd / Falco / eBPF<br/>sys_execve com filtro por UID"]
B --> F["📡 WEF / Agente SIEM<br/>Coleta centralizada"]
C --> F
E --> F
F --> G["🗄️ SIEM<br/>Sentinel · Splunk · Elastic"]
G --> H["🚨 Alerta<br/>Office → PowerShell<br/>Cadeia pai-filho suspeita"]
```
## Componentes de Dados
| Componente | ID | Descrição |
|---|---|---|
| Process Creation | [[dc0032-process-creation\|DC0032]] | Inicialização de um novo processo — inclui linha de comando, PID, PPID, usuário, hash do executável |
| Process Termination | [[dc0033-process-termination\|DC0033]] | Encerramento de processo — detecta tentativas de matar agentes de segurança |
| Process Metadata | [[dc0034-process-metadata\|DC0034]] | Atributos do processo em execução — token de segurança, integridade, handle count |
| Process Access | [[dc0035-process-access\|DC0035]] | Acesso a memória de outro processo — injection, credential dumping (ex: lsass.exe) |
| Process Modification | [[dc0020-process-modification\|DC0020]] | Modificação de atributos ou memória de processo em execução |
| OS API Execution | [[dc0021-os-api-execution\|DC0021]] | Chamadas de API do SO instrumentadas — ex: VirtualAlloc, WriteProcessMemory |
## Como Coletar
### Windows
| Fonte | Configuração | Event IDs relevantes |
|---|---|---|
| **Windows Security Log** | Habilitar "Audit Process Creation" via GPO | 4688 (criação), 4689 (término) |
| **Sysmon** | Event ID 1 (Process Create), 5 (Process Terminaté) | 1, 5, 8 (CreateRemoteThread), 10 (ProcessAccess) |
| **Windows Defender ATP / MDE** | Habilitado por padrão com sensor MDE | Todas as atividades de processo |
| **PowerShell Script Block Logging** | `HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging` | Event ID 4104 |
**GPO para habilitar linha de comando no Event 4688:**
```
Computer Configuration → Windows Settings → Security Settings →
Advanced Audit Policy Configuration → Detailed Tracking →
"Audit Process Creation" = Success
```
**Sysmon config mínima para processos:**
```xml
<ProcessCreaté onmatch="exclude">
<Image condition="is">C:\Windows\System32\svchost.exe</Image>
</ProcessCreaté>
```
### Linux
| Ferramenta | Configuração | Eventos gerados |
|---|---|---|
| **Auditd** | `-a always,exit -F arch=b64 -S execve` | Toda execução de processo (alto volume) |
| **Sysmon for Linux** | Event ID 1 (Process Create) | Formato compatível com Windows Sysmon |
| **Falco** | Regra `proc.name` | Detecção baseada em comportamento em tempo real |
| **osquery** | `SELECT * FROM processes;` | Snapshot periódico de processos ativos |
| **eBPF (Elastic/Tetragon)** | Probe em `sys_execve` | Telemetria de alta fidelidade com baixo overhead |
### macOS
| Ferramenta | Configuração | Eventos gerados |
|---|---|---|
| **Endpoint Security Framework** | `ES_EVENT_TYPE_NOTIFY_EXEC` | Criação de processo com argumentos completos |
| **Unified Log** | `process` subsystem | Logs de processo do sistema |
| **osquery** | `SELECT * FROM processes;` | Snapshot de processos |
### Integração com SIEM
```
# Splunk — detectar PowerShell codificado (LATAM muito comum em phishing)
index=wineventlog EventCode=4688 Process_Command_Line="*-enc*" OR Process_Command_Line="*-EncodedCommand*"
| stats count by Computer, Creator_Process_Name, Process_Command_Line
| sort -count
# Splunk — processo filho suspeito de Office (spear-phishing)
index=wineventlog EventCode=4688
| where match(Creator_Process_Name, "(?i)(winword|excel|powerpnt|outlook)\.exe")
AND match(Process_Name, "(?i)(cmd|powershell|wscript|cscript|mshta|rundll32)\.exe")
| table _time, Computer, Creator_Process_Name, Process_Name, Process_Command_Line
```
## Técnicas Detectadas
| ID MITRE | Técnica | Sinal de detecção |
|---|---|---|
| [[t1059-command-and-scripting-interpreter\|T1059]] | Command and Scripting Interpreter | Criação de processos interpretativos (cmd, powershell, bash) com argumentos suspeitos |
| [[t1055-process-injection\|T1055]] | Process Injection | Acesso a memória de processo alvo + API calls (VirtualAllocEx, WriteProcessMemory) |
| [[t1003-001-lsass-memory\|T1003.001]] | LSASS Memory | Acesso a `lsass.exe` com direitos `PROCESS_VM_READ` (mimikatz, pypykatz) |
| [[t1036-masquerading\|T1036]] | Masquerading | Executáveis com nome de processos legítimos em caminhos não-padrão |
| [[t1569-002-service-execution\|T1569.002]] | Service Execution | Criação de processo via `services.exe` com binário em path temporária |
## Gaps de Cobertura Brasil/LATAM
**Problemas críticos observados em SOCs brasileiros:**
- **Windows Event 4688 sem linha de comando:** A grande maioria dos ambientes Windows corporativos no Brasil habilita auditoria de processo, mas esquece de ativar o registro de linha de comando (`ProcessCreationIncludeCmdLine_Enabled`). Sem isso, o evento registra apenas o nome do executável — perdendo 80% do valor de detecção.
- **Sysmon ausente em endpoints de usuário:** Sysmon é amplamente reconhecido mas pouco implantado fora de servidores. Em incidentes de ransomware no Brasil (ex: ataques a hospitais e governo estadual), a ausência de Sysmon impediu reconstrução forense do vetor de entrada.
- **Volume de Auditd não gerenciado em Linux:** Regras genéricas de `execve` geram volume proibitivo (centenas de milhares de eventos/hora em servidores web). Sem tuning por usuário, path ou ancestral de processo, os logs são descartados ou não ingeridos no SIEM.
- **Falta de correlação pai-filho:** SIEMs configurados apenas para alertas individuais (um evento = um alerta) perdem a narrativa de cadeia de processos que é onde está o sinal real.
**Recomendações:**
1. Habilitar `ProcessCreationIncludeCmdLine_Enabled` via GPO em 100% dos endpoints Windows — é gratuito e de alto impacto
2. Implantar Sysmon com configuração baseada no [Sysmon Modular config](https://github.com/olafhartong/sysmon-modular) nos endpoints de maior risco
3. Em Linux, usar regras Auditd com filtro por UID (ex: somente root e service accounts) para reduzir volume sem perder cobertura
4. Implementar detecção de cadeia pai-filho nos casos de uso de maior prevalência no Brasil: Office → script, browser → script, script → net/certutil
## Referências
- [[dc0032-process-creation|DC0032 — Process Creation]] — componente principal desta fonte
- [[dc0035-process-access|DC0035 — Process Access]] — componente para detecção de injection e dumping
- [[dc0021-os-api-execution|DC0021 — OS API Execution]] — componente para chamadas de API suspeitas
- [[t1059-command-and-scripting-interpreter|T1059 — Command and Scripting Interpreter]] — técnica mais detectável por esta fonte
- [[t1055-process-injection|T1055 — Process Injection]] — técnica de evasão detectável via process access
- [[m1049-antivirusantimalware|M1049 — Antivirus/Antimalware]] — mitigação complementar
- [[m1040-behavior-prevention-on-endpoint|M1040 — Behavior Prevention on Endpoint]] — mitigação via EDR comportamental
- [[ds0008-kernel|DS0008 — Kernel]] — fonte complementar para eventos de kernel associados a processos
---
*Fonte: [MITRE ATT&CK — DS0009](https://attack.mitre.org/datasources/DS0009)*