🎵 Sweating Bullets — Megadeth

de Countdown to Extinction

El 30 de noviembre de 2013, una consola de seguridad hizo exactamente su trabajo. Los sensores de FireEye que Target había instalado meses antes — una inversión de más de un millón y medio de dólares — detectaron malware desconocido moviéndose por la red y generaron la alerta con la etiqueta más genérica y más honesta del catálogo: malware.binary. El equipo de monitoreo en Bangalore la vio, la evaluó y la escaló a Minneapolis, como indicaba el procedimiento. En Minneapolis no pasó nada. La alerta era correcta: era el malware que durante las semanas siguientes exfiltró los datos de unos cuarenta millones de tarjetas. Hay un detalle más, menos citado y más incómodo: la plataforma tenía una función de cuarentena automática que habría cortado la operación sin intervención humana. Estaba desactivada — a propósito, por miedo a que un falso positivo rompiera producción en plena temporada navideña.

Todo el mundo cuenta este caso como una historia de negligencia, y contado así no enseña nada — la negligencia es la explicación que permite dejar de pensar. Yo lo cuento como lo que es: la ilustración perfecta de que una alerta no es un incidente, de que entre la señal y el veredicto hay una distancia que ningún producto vende cerrada, y de que esa distancia — cómo se recorre, quién la recorre, con qué sesgos y bajo qué presiones — es el verdadero trabajo de un SOC. De la fatiga que produce el volumen ya escribí en La confirmación es más barata; este ensayo es sobre lo que pasa después de sobrevivir al volumen: el tramo donde una acusación automática se convierte, o no, en una verdad firmada.


La alerta es una acusación, no un veredicto.

Conviene fijar el estatuto epistémico del objeto, porque casi todos los malentendidos del oficio salen de ahí. Una alerta es la opinión de un autómata con visión parcial: una regla vio un patrón que su autor consideró sospechoso y emitió una acusación. Nada más. No vio la intención, no vio el contexto, no vio los otros mil eventos que no matchearon. El trabajo del analista es el de un juez de instrucción: tomar la acusación y producir un veredicto — y el catálogo de veredictos posibles es más fino de lo que el binario popular sugiere. Está el verdadero positivo: la acusación era cierta. El falso positivo: la regla se equivocó. Y el más traicionero de los tres, el benigno verdadero: la regla vio exactamente lo que dice haber visto — una herramienta de volcado de credenciales, un escaneo interno, una conexión administrativa a las tres de la mañana — y aun así no hay incidente, porque era el pentest contratado, el script de inventario, el administrador insomne. La detección era correcta y la acusación no, y esa combinación no cabe en ninguna casilla binaria.

Ahora la parte matemática, porque el diluvio de falsas acusaciones no es un defecto de implementación: es aritmética. Stefan Axelsson lo formalizó en 1999 en un paper que debería ser lectura obligatoria antes de comprar cualquier detector — The Base-Rate Fallacy and the Difficulty of Intrusion Detection —: cuando el evento que se busca es muy raro, incluso un detector excelente produce mayoría de falsos positivos. Si una intrusión real aparece en uno de cada cien mil eventos, un detector con 99% de precisión técnica entierra cada acusación verdadera bajo cientos de falsas — no porque esté mal calibrado, sino porque la base rate manda y la base rate del ataque real es minúscula. El SOC que se ahoga no tiene malas reglas: tiene la mejor evidencia posible de que los ataques son raros, servida de la peor manera posible. Entender esto cambia el estado de ánimo del oficio: la marea de falsos positivos no es la prueba de que el sistema falla — es el precio termodinámico de buscar agujas.


El contexto es la mitad del dato.

Mis notas de estudio de hace años guardan un ejemplo que sigue siendo el mejor: cuenta administrativa conectándose a una IP. Como evento, no significa nada — literalmente nada: ni bueno ni malo. ¿Qué corre en esa IP? Si es el controlador de dominio, rutina; si es un host de usuario en otra subred, pregunta; si es un rango externo residencial, problema. ¿Quién es el dueño del sistema, cuál es su función, qué cambia si se apaga? ¿Y a qué hora pasó — de verdad? La pregunta de la zona horaria parece un tecnicismo de formulario y ha enterrado más investigaciones que cualquier atacante: el evento que el log marca a las 03:14 UTC ocurrió a las 00:14 de Argentina y a las 22:14 del día anterior en la costa oeste, y una línea de tiempo que mezcla relojes sin declararlo no es una línea de tiempo — es un generador de coartadas falsas y culpas falsas, repartidas al azar.

La regla general que esto ilustra: un evento sin contexto no es evidencia — es una letra sin idioma. El enriquecimiento — resolver qué es cada máquina, quién es cada cuenta, qué es normal en ese segmento a esa hora — no es el trámite previo a la investigación: es la investigación, en su fase de convertir símbolos en significado. Por eso los playbooks de recolección inicial (qué se detectó, quién lo reportó, por qué medio, qué sistemas toca, quién accedió desde entonces) parecen burocracia y son epistemología aplicada: cada campo del formulario es una variable sin la cual el evento admite demasiadas lecturas. El analista que saltea el contexto no va más rápido. Va más seguro hacia el veredicto equivocado.


El silencio también es una lectura del sensor.

Equifax, 2017. La brecha que expuso los datos de ciento cuarenta y siete millones de personas entró por una vulnerabilidad de Apache Struts sin parchar — esa parte es conocida. La parte instructiva es otra: el dispositivo que inspeccionaba el tráfico cifrado de esa red llevaba unos diez meses ciego, porque uno de sus certificados había expirado y nadie lo había renovado. Diez meses sin alertas de ese canal. Y nadie preguntó por qué, porque la ausencia de alertas se siente como buenas noticias — el tablero en verde, el silencio como salud. El día que renovaron el certificado, el tráfico sospechoso apareció inmediatamente: llevaba meses ahí, corriendo por el punto ciego. El silencio nunca había sido paz. Era el estado de un sensor.

Esta es, creo, la lección más antiintuitiva de todo el oficio, y ya la rodeé una vez desde el lado de la comodidad en Cuando no pasa nada: la ausencia de alertas es un dato sobre los sensores, no sobre el mundo. «No vimos nada» tiene dos lecturas — no había nada que ver, o no había con qué ver — y distinguirlas exige vigilar a los vigilantes: monitorear la salud del monitoreo, alarmar la ausencia de lo esperado y no solo la presencia de lo indeseado, tratar cada silencio prolongado como una hipótesis a verificar y no como un descanso. El heartbeat que falta es una alerta que nadie escribió. Los tableros deberían tener un color para «no sé», bien distinto del verde — y no lo tienen, y esa carencia cromática ha costado más caro que la mayoría de los exploits.


La severidad se decide a ciegas.

Clasificada la acusación como creíble, llega la segunda conversión: ¿cuán grave? Las preguntas del manual son conocidas — qué impacto tiene la explotación, qué requisitos exige, si toca sistemas críticos del negocio, cuántas máquinas, si el exploit circula activamente, si tiene capacidad de gusano —. Lo que el manual no dice es la paradoja de tiempo bajo la cual se responden: la severidad se asigna en el momento de máxima ignorancia. Al inicio del incidente, cuando menos se sabe, es exactamente cuando hay que decidir si esto es un P3 que espera a mañana o un P1 que despierta gente — y la decisión moldea todo lo que sigue, porque un P3 recibe una fracción de la atención y la atención es lo que produce los hechos nuevos. La severidad inicial es una profecía con presupuesto.

La única defensa honesta es tratarla como lo que es: un veredicto provisional con obligación de revisión. El incidente que nace P3 y muere P1 no es un error de clasificación — es el comportamiento esperado de la información acumulándose; el error es el P3 que nadie vuelve a puntuar porque la etiqueta inicial se fosilizó. Y abajo de todo esto corre la economía que el caso Target dejó a la vista: escalar es caro y visible — detener producción, despertar directores, activar el plan de crisis — mientras que no escalar es gratis y invisible, salvo las pocas veces que resulta carísimo. El costo del falso positivo se factura hoy y con nombre del que escaló; el costo del falso negativo se factura después, difuso, a nombre de nadie. Con esa estructura de incentivos, la cuarentena automática desactivada de Target no es una anomalía — es la decisión racional de cada trimestre individual, la misma contabilidad que ya encontré en otros sistemas: la prudencia visible pierde contra el riesgo invisible casi siempre.


El objeto de estudio miente.

Todo lo anterior podría decirse, con ajustes, de la medicina diagnóstica: síntomas ambiguos, contexto decisivo, triage bajo incertidumbre, sensores que fallan. Pero hay una diferencia de fondo que hace de la investigación de incidentes una epistemología aparte, y es esta: la enfermedad no intenta parecer salud, y el adversario sí. El objeto de estudio de un analista es un agente que diseña activamente su propia inocencia aparente. Toda la escuela del living off the land consiste en eso: atacar usando exclusivamente las herramientas legítimas del sistema — PowerShell, WMI, las utilidades administrativas de siempre —, de modo que cada artefacto, mirado solo, sea indistinguible de la administración normal. Cada evento tiene coartada individual. Lo único que no tiene coartada es el conjunto: la acumulación de casualidades — esta cuenta, a esta hora, desde esta máquina, seguida de esta otra rareza — cuya probabilidad conjunta ya no da para inocencia.

Por eso el veredicto de un incidente no es una clasificación: es una inferencia a la mejor explicación, con una regla de Occam invertida por el adversario. En ciencia, la explicación simple gana porque la naturaleza no conspira. Acá la explicación simple — «es el admin haciendo cosas de admin» — es precisamente la que el atacante fabricó para ti, y la navaja hay que usarla al revés: ¿qué historia explica todos los datos sin necesitar que cinco coincidencias raras sean todas inocentes a la vez? Y la trampa final no está en los datos sino en el propio instrumento: el analista también corre sobre caché — lo escribí en general en No se piensa. Se accede. y vale doble acá —, y el veredicto más probable de ser incorrecto es el que coincide con lo que se vio la semana pasada. «Esto ya lo vi, es el falso positivo de siempre» es un cache hit, y los atacantes competentes estudian qué falsos positivos son «los de siempre» en las herramientas que saben que usas. La pereza del defensor es superficie de ataque documentable.


La frase más cara del turno.

La pregunta operativa del oficio no es «¿verdadero o falso positivo?» — así planteada invita al pattern-matching y el pattern-matching es exactamente lo que el adversario alimenta. La versión que sirve tiene dos partes: ¿qué historia explica todo lo observado sin milagros? y — la mitad que casi nadie agrega — ¿qué evidencia rompería esa historia, y la busqué? Un veredicto sin la segunda parte no es un veredicto: es una preferencia con formato de veredicto. Falsabilidad a las cuatro de la mañana, que es la hora real en que se escribe la frase más cara de la industria: «cerrado como falso positivo». Cuatro palabras que nadie audita, que no despiertan a nadie, que cierran el ticket y la posibilidad al mismo tiempo. En Minneapolis alguien escribió su equivalente y costó cuarenta millones de tarjetas; se escribe mil veces por día en todos los SOC del mundo y las mil veces suele ser correcta — esa es la trampa: la frase casi siempre tiene razón, como el silencio casi siempre es paz.

De este lado del oficio no hay gloria posible: el mejor veredicto del año es indistinguible del aburrimiento, y el error de una madrugada tiene nombre y apellido para siempre. Lo único que se puede sostener es el método — contexto antes que reflejo, el conjunto antes que el evento, el silencio como dato, la severidad como hipótesis viva, la historia que se intenta romper antes de firmarla — y una humildad de fondo que el formulario no trae impresa: todo «caso cerrado» es una hipótesis con fecha. Los buenos analistas que conocí no eran los que nunca se equivocaban. Eran los que escribían sus veredictos sabiendo exactamente cuánto no sabían — y dejaban, en el ticket, la puerta marcada por donde volver a entrar.

commit f4l50p05171v0

Date: 2026-07-17T21:00:00-03:00

fix: an alert is an accusation by an automaton — the verdict is handmade, and 'closed as false positive' ships unaudited