Detecte a Exfiltração: Encontrando um Padrão de Roubo de Dados em Logs de Acesso
O desafio
Estes são seus logs de acesso web. A maior parte do tráfego são páginas e recursos pequenos, mas um IP fica baixando o export completo dos dados e os tamanhos de resposta são enormes - alguém está drenando dados. Filtre pelo endpoint de export, encontre a única origem que escoa gigabytes, e envie o endereço IP dela.
O que você vai aprender
- Filtrar um log de acesso ruidoso por path para isolar um endpoint
- Usar a coluna de tamanho de resposta para diferenciar navegação normal de roubo de dados em massa
- Reconhecer a assinatura de exfiltração de dados: alto volume vindo de uma única origem
- Atribuir a exfiltração a um único IP de origem
- Diferenciar um padrão de exfiltração de um brute force ou scan
Habilidades testadas
Pré-requisitos
- Entendimento de requisições HTTP e tamanhos de resposta
- Familiaridade com tráfego web típico versus downloads em massa
Como funciona
Nem todo ataque é um brute force. Depois que um atacante ganha acesso, o objetivo costuma ser roubar dados, e isso deixa um rastro bem diferente nos logs. O tráfego web comum é feito de respostas pequenas - uma página tem alguns kilobytes, uma chamada de API algumas centenas de bytes, um health check apenas alguns bytes. A exfiltração de dados quebra esse padrão: um cliente acessa repetidamente um endpoint que retorna o dataset inteiro, e os tamanhos de resposta explodem para centenas de megabytes ou gigabytes.
O indício aqui é a coluna bytes. Filtre por path:/export e você verá 45.77.12.9 buscando /export?all=1 repetidamente, cada resposta com cerca de quatro bilhões de bytes - aproximadamente 4 GB. Nenhum usuário legítimo baixa o banco de dados inteiro uma dúzia de vezes em meia hora. Todas as outras linhas do log são páginas ou recursos de tamanho normal vindos de outros endereços, então a origem da exfiltração é o único tipo de linha que combina um endpoint sensível, um IP que se repete e um tamanho de resposta absurdo.
A triagem em um SIEM consiste em escolher a coluna certa para ordenar ou filtrar. Para uma suspeita de vazamento de dados, o tamanho da resposta (ou bytes de saída) é o campo mais revelador - ele transforma um roubo invisível em um pico óbvio.
Erros comuns
- Ignorar a coluna bytes. Sem ela, as requisições de export parecem GETs comuns; é o tamanho da resposta que comprova o roubo.
- Confundir exfiltração com brute force. Não há 401s repetidos aqui - as requisições têm sucesso; a anomalia é o volume, não as falhas.
- Culpar um IP ocupado mas inofensivo. Vários endereços fazem muitas requisições pequenas; apenas um combina um endpoint sensível com respostas na casa dos gigabytes.
- Enviar o path em vez do IP. A pergunta pede qual origem está drenando os dados.
Como se proteger
A exfiltração de dados é melhor detectada observando quanto dado sai, não apenas quem faz login. O mesmo sinal de tamanho de resposta que você usou no filtro pode alimentar detecção e prevenção automatizadas.
- Alerte sobre respostas anormalmente grandes ou volume de saída por cliente em endpoints sensíveis como
/export. - Aplique rate limit e paginação em endpoints de export em massa para que uma única requisição não retorne o dataset inteiro.
- Exija autenticação e autorização fortes em qualquer rota de export completo de dados, e registre quem a aciona.
- Use ferramentas de prevenção de perda de dados ou monitoramento de saída para sinalizar volume de tráfego incomum por origem.