Monitorización de entornos no cooperativos: Introducción

En el ámbito de la seguridad -de cualquier tipo- suele existir una gran diferencia a la hora de tratar elementos cooperativos (aquellos que colaboran con nosotros para la consecución de un fin) o elementos no cooperativos (aquellos que o bien no colaboran lo suficiente o incluso se oponen a la consecución de dicho fin). Por poner un par de ejemplos, no tiene nada que ver la detención de un vehículo cooperativo (un policía le dará el alto y el conductor reducirá la velocidad hasta detenerse) con la de uno no cooperativo (el conductor se dará a la fuga y tendrán que utilizarse mecanismos más intrusivos que el anterior para lograr que se detenga), así como tampoco es igual la captura de datos biométricos en un lector de huellas dactilares (entorno cooperativo, los usuarios ponen el dedo voluntariamente y lo mejor posible para que se les permita un acceso) o en la escena de un crimen (el delincuente se esforzará por no dejar rastro y lo que encontraremos será, probablemente, trozos aislados de huellas que habrá que procesar hasta generar la imagen completa… o ni eso).

Al igual que sucede en los ejemplos anteriores, no es lo mismo obtener información de elementos tecnológicos a los que hemos denonimado cooperativos (aquellos que nos facilitarán sus registros, nos permitirán implantar monitores internos de muy bajo nivel, nos enviarán datos en tiempo real…) que de elementos que hemos denominado no cooperativos: sistemas, entornos, infraestructuras… que simplemente están ahí, ajenos a nuestro control, y que pueden ser usados por un número indeterminado de personas para hacernos, de una forma u otra, daño. Más claramente: si quiero monitorizar los sistemas de correo electrónico de mi organización -un entorno cooperativo-, lo tengo, al menos técnicamente, muy fácil: puedo implantar controles que me alerten si un usuario envía N correos en un intervalo de tiempo determinado, si en los correos se lee la cadena “confidencial”, si van cifrados o no, o si se envían en horario laboral o fuera de él. Es más, si me apuran, capturo todos los correos que pasan por el servidor (de entrada o de salida) y me los guardo para su análisis offline. Si quiero hacer eso mismo con un proveedor como GMail, lo tengo bastante más complicado: los amigos de Google no me van a dar -y bien que hacen, por supuesto- ni un mísero log para revisarlo, ni por supuesto nombres de usuario, horas de conexión o direcciones IP desde las que se accede a una determinada cuenta: tengo, por tanto, un entorno no cooperativo.

Antes de seguir, un par de comentarios: a la hora de hablar de “cooperativo”, al menos en este caso, no se determina mala fe ni nada parecido por parte del entorno a monitorizar -incluso, probablemente, estará actuando como debe-, simplemente hacemos referencia a nuestra incapacidad para obtener de él los datos que nos gustaría: Google puede trabajar muy bien, pero no nos proporciona toda la información de GMail que podríamos obtener de nuestro servidor de correo interno. Como segundo comentario, indicar que “cooperativo” no significa necesariamente “interno a una organización”: si no tengo el root del servidor de correo corporativo, por muy “interno” que sea éste no podré obtener de él ciertos datos y, por el contrario, si me alquilo un servidor dedicado en un proveedor ruso, externo por completo a la organización, posiblemente tendré acceso a todos sus logs y podré hacer con él lo que considere…

Como decimos, tiene poco que ver la monitorización de entornos cooperativos (en plata, tengo el control directo o indirecto y hago lo que me place) que la de entornos no cooperativos (no tengo ningún control especial sobre el entorno y por tanto sólo puedo monitorizar lo que me dejan, no lo que me gustaría). En un entorno cooperativo empezaré seguramente desplegando un NIDS y vigilando sus registros, elemento que luego complementaré con un HIDS, un cortafuegos, un proxy, un antivirus… y si quiero ir más allá, desarrollaré agentes específicos que vigilen correos electrónicos, visitas web o llamadas telefónicas que puedan ser significativas para mi seguridad. La profundidad de monitorización la marco yo y solo yo, y técnicamente puedo llegar casi tan lejos como se me ocurra: controlo la infraestructura al 100%. Si quiero monitorizar entornos no cooperativos (Twitter, foros, webmails externos, redes sociales, listas negras…), de entrada me encuentro con que no puedo desplegar un NIDS en Facebook o Twitter, por poner un par de ejemplos…

Nos guste o no, lo que estamos llamando entornos no cooperativos están ahí, al alcance de cualquiera, y seguirán estándolo con independencia de nuestra opinión. Y se seguirán utilizando para introducir riesgos en nuestra organización o en terceros, incluyendo actos delictivos contra determinados objetivos (con independencia del medio en el que luego se comentan estos actos); dicho de otra forma: un grupo de personas puede organizarse a través de Twitter para lanzar un DDoS contra nosotros, contra un tercero… o sencillamente para ir a una manifestación violenta antisistema frente a la Delegación del Gobierno (algo que en ese punto ya no tiene nada que ver con la ciberseguridad sino con la seguridad a secas). Si de una u otra forma somos capaces de detectar estas actividades seremos capaces de responder adecuadamente ante un incidente, incluso antes de que se materialice. Todos de acuerdo, ¿no? Si me entero de que un grupo de personas está organizando un ataque contra mí utilizando canales IRC, podré prepararme mucho mejor para repeler el ataque, llegando incluso a ser posible la infiltración en el grupo y la toma de control del medio no cooperativo, utilizándolo a nuestro favor para proporcionar información negativa o generar confusión y mitigar así el impacto del ataque. Creo que queda claro que monitorizar estos entornos no cooperativos se convierte, cada día más, en una necesidad para todos los Departamentos de Seguridad. Continuaremos con las preguntas del millón: ¿qué?, ¿cómo?, ¿cuándo? y ¿dónde?, pero en otro orden…

Comments

  1. Estupendo artículo. En mi caso utilizo una técnica que he autodenominado “vigilancia tecnológica” que consiste en una serie de alertas sobre búsquedas en Google, Twitter, más un bot en el IRC con palabras clave que me puedan alertar de forma temprana, para prevenir ataques o simplemente para recopilar la información en el momento en que se produzca.

    Disponer de la información en el momento que se produzca puede ayudarnos a prevenir ataques; en mi opinión es importante saber qué se está hablando de “nosotros” para tomar medidas.

    Un cordial saludo

  2. Antonio Villalon says

    Hola Alex
    Efectivamente, por ahí van los tiros… en próximas entradas ya hablaremos de qué monitorizar y cómo -sin entrar al detalle técnico- hacerlo para buscar gente que hable, bien o mal, de nosotros y a partir de ahí poder tomar decisiones :)
    Saludos y gracias
    Toni

Trackbacks

  1. […] el anterior post planteábamos la introducción a la monitorización de lo que denominábamos entornos no […]