Analisando Logs de Acesso do API Gateway
Quando Usar
- Ao investigar incidentes de segurança que exigem análise de logs de acesso do API Gateway
- Ao construir regras de detecção ou consultas de caça a ameaças para este domínio
- Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise
- Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas
Pré-requisitos
- Familiaridade com conceitos e ferramentas de operações de segurança
- Acesso a um ambiente de teste ou laboratório para execução segura
- Python 3.8+ com dependências necessárias instaladas
- Autorização apropriada para quaisquer atividades de teste
Instruções
Analise logs de acesso do API Gateway para identificar padrões de ataque, incluindo autorização de objeto com nível quebrado (BOLA), exposição excessiva de dados e tentativas de injeção.
import pandas as pd
df = pd.read_json("api_gateway_logs.json", lines=True)
# Detecta BOLA: mesmo usuário acessando muitos IDs de recurso diferentes
bola = df.groupby(["user_id", "endpoint"]).agg(
unique_ids=("resource_id", "nunique")).reset_index()
suspicious = bola[bola["unique_ids"] > 50]
Principais padrões de detecção:
- BOLA/IDOR: enumeração sequencial de IDs de recurso
- Bypass de rate limit via manipulação de cabeçalhos
- Varredura de credenciais (surtos de 401 de uma única origem)
- Injeção SQL/NoSQL em parâmetros de consulta
- Métodos HTTP incomuns (DELETE, PATCH) em endpoints somente leitura
Exemplos
# Detecta surtos de 401 indicando varredura de credenciais
auth_failures = df[df["status_code"] == 401]
scanner_ips = auth_failures.groupby("source_ip").size()
scanners = scanner_ips[scanner_ips > 100]