¿Qué hace Análisis de Registros de Acceso de API Gateway?
Cuándo usarlo
- Al investigar incidentes de seguridad que requieren analizar registros de acceso de API Gateway
- Al construir reglas de detección o consultas de caza de amenazas para este dominio
- Cuando los analistas de SOC necesitan procedimientos estructurados para este tipo de análisis
- Al validar la cobertura de monitoreo de seguridad para técnicas de ataque relacionadas
Prerrequisitos
- Familiaridad con conceptos y herramientas de operaciones de seguridad
- Acceso a un entorno de prueba o laboratorio para ejecución segura
- Python 3.8+ con las dependencias requeridas instaladas
- Autorización adecuada para cualquier actividad de prueba
Instrucciones
Analice los registros de acceso de API Gateway para identificar patrones de ataque, incluyendo autorización a nivel de objeto rota (BOLA), exposición excesiva de datos e intentos de inyección.
import pandas as pd
df = pd.read_json("api_gateway_logs.json", lines=True)
# Detectar BOLA: mismo usuario accediendo a muchos ID de recurso diferentes
bola = df.groupby(["user_id", "endpoint"]).agg(
unique_ids=("resource_id", "nunique")).reset_index()
suspicious = bola[bola["unique_ids"] > 50]
Patrones de detección clave:
- BOLA/IDOR: enumeración secuencial de ID de recurso
- Evasión de límite de tasa mediante manipulación de encabezados
- Escaneo de credenciales (aumentos de 401 desde una sola fuente)
- Inyección SQL/NoSQL en parámetros de consulta
- Métodos HTTP inusuales (DELETE, PATCH) en puntos finales de solo lectura
Ejemplos
# Detectar aumentos de 401 que indican escaneo de credenciales
auth_failures = df[df["status_code"] == 401]
scanner_ips = auth_failures.groupby("source_ip").size()
scanners = scanner_ips[scanner_ips > 100]