Gestión de LOGS de eventos de seguridad (SIEM) (I)

El término SIEM (Security Information and Event Management) fue acuñado en 2005 en la consultora Gartner y viene de la conjunción de dos términos que algunos usan indistintamente y otros procuran separar: SIM (Security Information Management) y SEM (Security Event Management), ambos para referirse al análisis en tiempo real de alertas de seguridad generadas en la red o en aplicaciones.


Administradores de LOGs


Los sistemas en general (bases de datos, redes, dispositivos, firewalls…) generan ingentes cantidades de registros de log que deben ser determinados, configurados, transportados y almacenados. Esto implica concentrar y centralizar en lo posible la información desde muy diversas fuentes y formatos. 

Las tareas de administración de LOGs son el paso previo al SIEM (de hecho, los sistemas SIEM suelen incluir la administración de Logs), y aunque la frontera entre ambos tipos de soluciones es difusa, podemos pensar que SIEM llega mucho más allá que administrar los logs o realizar informes básicos. 

La solución normalmente pasa por adquirir soluciones comerciales de Administración de LOGs para realizar esa integración de diversas fuentes, que incluyen las fases de adquisición, transporte y almacenamiento. Algunas de las cosas que hacen estos sistemas para optimizar la velocidad y garantizar los datos son optimizar el uso de red incluso navegando por protocolos en paralelo (un ejemplo no muy robusto que implementan algunos es usar UDP), encriptar datos y operar a bajo nivel las bases de datos donde almacenan finalmente los logs, que suelen ser bases de datos muy rápidas como MySQL o MongoDb.

Por lo tanto, los primeros pasos para implementar una administración de nuestros losgs serían:
  • Determinar los logs que necesitamos y su formato, así como los eventos que queremos capturar.
  • Resolver el problema del transporte hasta su almacenamiento de manera que interfiera lo menos posible con el uso de nuestra red y se realice de forma segura (entre los primeros objetivos de un ataque a gran escala está el impedir la monitorización).
  • Almacenarlo realmente de forma segura y accesible de manera eficiente.
  • Extraer algunos informes sencillos. 

Visor de log

Syslog


Syslog es un estándar de facto para el envío de mensajes de log en red. Se suele llamar indistintamente al protocolo o al estándar de formato como syslog. Los mensajes pueden ser generados desde varios sistemas y por distinto software, y siempre van acompañados de la fecha y hora de envío.

Muchos sistemas de log y SIEM se sostienen en syslog, aunque hay que ver qué implementación concreta, por ejemplo para asegurar que están solucionados problemas de seguridad como el tráfico vía UDP.


ELK(Elasticsearch, Logstash y Kibana): 

ELK es un conjunto de varios productos de código abierto generados con la idea de indexar y explotar información.Se trata de software de código abierto en su versión básica, por lo que es gratuito a priori, si no se contrata el servicio de mantenimiento. El coste es indirecto, porque se requieren ciertos conocimientos para adquirir realmente la potencia que puede ofrecer y sopesar los inconvenientes que se exponen en algunos blogs y reviews, como los fallos al rechazar logs y el control del espacio de almacenamiento. Por ello, suele ser recomendable adquirir una licencia comercial.
https://www.elastic.co/


Tableros de seguimiento configurados en Kibana

Otras implementaciones de syslog:
http://www.kiwisyslog.com/kiwi-syslog-server
http://www.netmechanica.com/products/?prod_id=1016

Sistemas SIEM


Una vez almacenados los logs, queda ver qué podemos hacer con estas ingentes cantidades de datos. Las herramientas de administración de logs suelen incluir unos informes sencillos que permiten descubrir algunos intentos de acceso o problemas, e incluso obtener ciertas estadísticas normalmente prediseñadas, pero no suelen ser capaces de ir más allá. Ahí es donde entra a jugar el complemento de utilidades de alto valor añadido (como una capa de tecnología añadida a los gestores de Logs) que los aplicativos SIEM ofrecen, esencialmente con las siguientes características:
  • Posibilidad de analizar grandes volúmenes de datos, incluso de datos no asociados a eventos concretos. Se llega a usar plataformas big data, como Apache Hadoop, llegando a la capacidad de análisis de datos y alertas en tiempo real (o casi real), usando técnicas como:
    • Agregación desde múltiples orígenes de datos (redes, seguridad, servidores, bases de datos, aplicaciones) monitorizados y su consolidación.
    • Correlación: Búsqueda continuada de atributos y patrones que permitan enlazar las ingentes cantidades de datos de diversas fuentes, de forma que sean comprensibles y útiles (una función típica de la parte de administración de eventos de seguridad SEM).
    • Retención: almacenamiento de datos históricos para realizar correlaciones e investigaciones posteriores de manera eficiente. 
    • Alertas en tiempo real mediante una pantalla de soporte y/o envíos de email o mensajería.
  • Focalización y selección específica de eventos a estudiar. Por ejemplo:
    • Aplicaciones para monitorizar el acceso y la identificación. (por ejemplo, la administración de accesos y privilegios en el Directorio Activo).
    • Administración de vulnerabilidades y cumplimiento de políticas de seguridad establecidas.
    • Sistemas operativos (cambios en la configuración de los sistemas).
    • Bases de datos (con configuración auxilidar en el sistema de base de datos).
    • Logs de aplicativos (bajo los estándares soportados, generalmente syslog).
    • Datos de amenazas externas.
  • Informes y gráficas clarificadores en un tablero digital (normalmente, un dashboard o tablero a modo de página web) para identificar actividad sospechosa y a partir de ahí obtener evidencias y/o realizar estudios en profundidad.
  • Cumplimiento de estándares e informes asociados para que sea sencillo obtener indicadores e informes para los sistemas de seguridad y su auditoría.
  • Análisis forense. Gracias a la retención y correlación de datos podemos realizar estudios forenses acerca de incidentes concretos, y preparar el sistema para futuras vulnerabilidades de forma preventiva.
  • Capacidad de respuesta a incidentes. Algunos SIEM son capaces, en base a la información solicitada y hasta cierto punto, de parar, desconectar o deshabilitar el servicio o transacción que esté efectuando la anomalía. 


El análisis de vulnerabilidades y amenazas, así como su respuesta suele ser un proceso complejo que se implementa con módulos añadidos al SIEM, que normalmente se pagan por suscripción, con un coste mayor según el grado de protección requerido, y que puede requerir personal especializado al menos para su puesta en funcionamiento. 
 
En un próximo post describiré cómo funciona en general un SIEM, y los pasos para implementarlo.

La Nube y el Esquema Nacional de Seguridad (I)

Si eres una administración pública o trabajas estrechamente con ella intercambiando información debes cumplir el Esquema Nacional de Seguridad (ENS, con fecha límite en Noviembre del 2017).

Si tu organización debe estar bajo el paraguas del ENS, la implementación de soluciones en la Nube tiene unos requerimientos específicos, y como ahora pensar en la Nube es pensar en ventajas, está claro que esto te afecta o te afectará a corto o medio plazo.


En este primer post veremos los conceptos claves para entender lo que supone tener nuestros servicios y/o nuestra información en la Nube. Para ello veremos los modelos de servicio, los entornos de trabajo posibles y las ventajas e inconvenientes que presenta esta manera de hacer las cosas respecto a la Seguridad de la Información, tanto en aspectos legales como prácticos.

Qué es la Nube (Cloud Computing)


El NIST (National Institute for Standar & Technology, de USA) propuso una de las definiciones de servicios en la nube con mayor aceptación:
“La provisión de servicios en la nube es un modelo para permitir el acceso por red, de forma práctica y bajo demanda, a un conjunto de recursos de computación configurables (por ejemplo, redes, servidores, almacenamiento, aplicaciones y servicios) que pueden ser suministrados y desplegados rápidamente con una mínima gestión o interacción con el proveedor de servicio.”
Modelo NIST

Suena muy bien. Mi entorno de servidores o aplicaciones está en un proveedor de servicios, puede ser accedido desde remoto y puede crecer (o decrecer) en base a la demanda necesaria. Además, en muchos casos puedo cambiar la configuración de manera relativamente sencilla o contratar puntualmente servicios de alto valor por tiempo determinado sin que suponga un coste inasumible, porque en esos casos pago por lo que uso.

La nube implica dos conceptos clave:

  • Abstracción: en el sentido de desconocer los detalles de implementación de los sistemas que el usuario ve (qué máquinas físicas lo forman, dónde están ubicadas, quién realiza la administración, dónde están los discos…).
  • Virtualización: reunir distintos recursos físicos y presentarlos como un único recurso virtual, utilizando mecanismos de compartir y asignar períodos de uso a los recursos que se necesitan.

Granja de Servidores en la Nube 

Modelos de Servicio


  • IaaS (Infrastructure as a Service). Se encarga de entregar una infraestructura al usuario, normalmente mediante una plataforma de virtualización. El proveedor se encarga de la administración de la infraestructura y el cliente tiene el control sobre los sistemas operativos, almacenamiento y aplicaciones desplegadas, así como el control de los componentes de red virtualizados.
  • PaaS (Platform as a Service). Se encarga de entregar una plataforma a la organización cliente. El cliente no administra ni controla la infraestructura, pero tiene el control sobre las aplicaciones instaladas y su configuración, y puede incluso instalar nuevas aplicaciones.
  • SaaS (Software as a Service). El CSP es el encargado de ofrecer al cliente el software como un servicio. Las aplicaciones son accesibles desde varios dispositivos cliente a través de una interfaz de cliente ligero, como por ejemplo un navegador web; el cliente no administra ni controla la infraestructura en que se basa el servicio que utiliza. Las suites ofimáticas a las que se puede acceder online son un buen ejemplo de este modelo.

En general, podemos ver que a medida que avanza el nivel de abstracción del servicio ofrecido desde IaaS hasta SaaS, el cliente dispone de menos control sobre la infraestructura y su seguridad. 

Entornos de Despliegue


  • Nube pública: La infraestructura de esta nube está disponible para el público en general o para un gran grupo de industria y dicha infraestructura la controla un proveedor de servicios en la nube.
  • Nube privada: La infraestructura de esta nube es operada únicamente por y para una organización.
  • Nube comunitaria: La infraestructura de esta nube es compartida por varias organizaciones relacionadas entre ellas y que comparten requisitos de servicio. Uno de los miembros del colectivo controle los recursos.
  • Nube híbrida: Es la composición de dos o más modelos, por ejemplo privada y pública, que permanecen como entidades únicas pero que coexisten por tener tecnología que permite compartir datos o aplicaciones entre las mismas.
Lista de algunos de los servicios ofrecidos por Amazon Web Services,
el mayor proveedor de servicios en la nube. 

Ventajas y desventajas de andar pensando en las nubes


El modelo de servicios en la nube ofrece a las organizaciones grandes beneficios como pueden ser:

  • La deslocalización, e incluso la réplica entre distintas zonas geográficas para mayor seguridad. El cliente puede llevar los datos a donde más le conviene.
  • La alta disponibilidad, relacionado con lo anterior, pero también con los avanzados sistemas de virtualización y redundancia de sistemas
  • El acceso a información desde cualquier lugar, sólo disponinendo de suficiente velocidad de conexión, y desde cualquier sistema en red. 
  • La flexibilidad en asignación de recursos, incluso compartiendo recursos cuando sea necesario, disminuyendo costes. 
  • Adaptación inmediata a los cambios necesarios.
  • Ahorro económico significativo:  recursos dedicados a contratación, hardware, mantenimiento, personal, suministro, espacio, instalaciones... Además, se paga sólo por lo que se utiliza, y se utiliza sólo lo que se necesita, en tiempo real.
  • Monitorización del servicio consumido, para seguir adaptándose más y ahorrando con efectividad y transparencia.
  • En la nube puede ser más sencillo resistir a algunos tipos de ataque, cono los ataques DoS (Denegación de Servicio). 

Ahora pensemos en algunas pegas en materia de Seguridad de la Información:

  • Según el modelo de servicio definido así tendremos control sobre la infraestructura de seguridad. Y no sólo en general, por ejemplo dentro de una infraestructura IaaS no es lo mismo alojar una máquina virtual en un servidor compartido que en uno asignado a nuestra organización. 
  • Dependencia de terceros en los servicios ofrecidos. La tendencia es externalizar y delegar las tareas de mantenimiento, adquisición, gestión de la capacidad... pero estas características nunca deben conllevar una pérdida del control de la información. En este sentido, es importante reseñar que el acuerdo de nivel de servicio con el proveedor de la Nube debe cumplir requisitos del ENS, y la responsabilidad final de los datos siempre recae en el organismo contratante.
  • La deslocalización y réplica de ciertos datos en distintos lugares geográficos tiene implicaciones legales y de seguridad en el ENS que deben tenerse en consideración. 
  • La accesibilidad puede ser una bendición o un infierno si está mal configurada. Un sistema vulnerable en la nube puede representar un gran peligro para la organización. Es muy importante incidir en la seguridad en las configuraciones sean estas virtuales o no.
  • El cumplimiento legal. Por ejemplo: pensar en el ENS es también asegurarse de cumplir la LOPD (Ley Orgánica de Protección de Datos), o más recientemente el RGPD (Reglamento Europeo de Protección de Datos). Esto implica, entre otras cosas, asegurar los derechos ARCO de los ciudadanos y asegurarse que ciertos datos personales son almacenados y destruidos conforme a la legislación.
  • La compartición de recursos puede implicar problemas de seguridad. pensemos en una aplicación con una vulnerabilidad que permita el acceso no autorizado a una base de datos con datos compartidos por otra aplicación independiente. O un servidor que compromete a sus máquinas virtuales.  

Organización de la Seguridad en la Nube según el ENS


Roles y Responsabilidades


Los roles descritos para las soluciones de servicio fuera de la nube son válidos también aqui. Recordemos que el organismo es el responsable último de la seguridad de sus datos y servicios, no el proveedor de los servicios en la nube.

Por lo tanto, los responsables últimos de rendir cuentas son los responsables de la Información y del Servicio, porque establecen los requisitos de seguridad que les afectan de acuerdo a la legislación y normativa vigentes. Los roles del responsable de Seguridad y del responsable del Sistema en la organización tendrán sus homólogos en el proveedor de servicios en la nube. En concreto, el responsable de Seguridad de la organización deberá estar en contacto con el responsable de Seguridad del proveedor.

Categorización del Sistema dentro del ENS


El Esquema Nacional de Seguridad en su Anexo 1 define como se categorizan los sistemas en niveles Bajo, Medio o Alto. En esencia, el sistema queda en la categoría mayor si en alguna de las dimensiones de seguridad (Disponibilidad, Integridad, Confidencialidad, Autenticidad o Trazabilidad) consigue ese nivel.

Los niveles de seguridad que se categoricen se propagan a los elementos que los soportan, estén estos en el propio organismo o en el proveedor de servicios en la nube, aunque puede haber ciertas particularizaciones respecto a la disponibilidad:

  • Si la información se cifra, sólo se propaga el nivel de disponibilidad. 
  • Si el servicio es redundante (proveedor alternativo), no se propaga el nivel de disponibilidad.

Así por ejemplo, si lo que se contrata con el proveedor de servicios es sólo almacenamiento y la información se cifra antes de salir (con claves en poder exclusivo del organismo), el único requisito del proveedor será la disponibilidad.

Comunidades de Usuarios en la Nube en el ENS 


En las guías del Esquema Nacional de Seguridad se definen 3 escenarios de comunidades de usuarios según los servicios y requisitos de seguridad transferidos a la Nube:

  • Comunidad BAJA. Formada por aquellos usuarios que transfieren al CSP unos requisitos de seguridad no superiores a nivel BAJO en cualquiera de las dimensiones de Integridad, Continuidad, Autenticidad o Trazabilidad.
  • Comunidad MEDIA. Formada por aquellos usuarios que transfieren al CSP unos requisitos de seguridad no superiores a nivel MEDIO en cualquiera de las dimensiones mencionadas.
  • Comunidad ALTA. Formada por aquellos usuarios que transfieren al CSP unos requisitos de seguridad no superiores a nivel ALTO en cualquiera de las dimensiones mencionadas.

Cada proveedor de sevicio indicará en el contrato el tipo de comunidad de usuarios a la que presta servicio, que pueden ser varias segun las necesidades.

En un próximo post comentaré que requisitos de seguridad tendremos que aplicar al trabajar con información en la Nube según el ENS y las leyes de Protección de Datos Personales. En general, se puede decir que dichos requisitos dependen de la infraestructura de servicio y el entorno de despliegue.

Prevención de Pérdida de Datos (III). Identificación de la información sensible

La Prevención de Pérdida de Datos (Data Loss Prevention o DLP) da nombre a una solución o conjunto de soluciones que identifica, monitoriza y protege los datos de una organización, especialmente en lo relativo a su dimensión de confidencialidad.

En un post anterior vimos qué información se pierde y los beneficios de aplicar DLP. Otro post trató las características de la tecnología DLP. Ahora veremos las maneras en que se puede detectar la información que queremos proteger.

Las primeras tecnologías DLP estaban centradas en la protección de los datos estáticos, utilizando principalmente palabras clave, expresiones regulares y diccionarios preinstalados. Muchas veces bastaba utilizar formatos nuevos o encriptar datos para saltarse el control. Pronto esas tecnologías se complementaron con otras más complejas como las marcas de agua y huellas digitales, el análisis de contenido y el análisis del contexto.


Datos y Patrones


Los datos podemos clasificarlos en estructurados y no estructurados. Los datos estructurados se almacenan en campos acotados en ficheros (como una hoja de cálculo) o sistemas especializados (como bases de datos).  Los no estructurados son datos de texto y formato libre (como documentos pdf). Aunque hay cada vez más tendencia a estructurar datos (formato XML en documentos, por ejemplo) se estima que aproximadamente el 80% de los datos son no estructurados.

Generalmente, los productos DLP en el mercado se venden con gran cantidad de patrones y formatos de datos predefinidos que pueden ajustarse a los requerimientos de seguridad de la organización, y deben también permitir añadir otros patrones necesarios.


Los métodos para descubrir patrones de información sensible en los datos se pueden categorizar en precisos e imprecisos.

  • Los métodos precisos son aquellos que prácticamente no devuelven falsos positivos en el análisis, porque los datos son perfectamente seleccionables y detectables. 
  • Los métodos imprecisos son los que pueden devolver falsos positivos o dejar escapar datos, y clasifican o determinan una buena solución DLP que esté bien parametrizada en base a esa precisión. Estos métodos incluyen, entre otros, palabras clave, diccionarios, expresiones regulares, etiquetas de metadatos, análisis bayesiano, "Machine Learning" y otros análisis estadísticos propietarios de la solución DLP.

Para ajustar aún más la identificación de la información, algunas soluciones DLP permiten que los patrones se asocien a uno o varios contextos, de tal forma que dentro o fuera de esos contextos la información sea normal o genere alarma.

Por lo tanto, chequear la precisión de una implementación DLP es un aspecto crucial, dado que los falsos negativos eluden la solución y los falsos positivos pueden entorpecer la dinámica de la organización.    

Análisis del Contexto y del Contenido.


El Análisis del Contenido se focaliza sobre todo en los datos en sí (evidentemente, de manera mucho más sencilla en los datos estructurados), mientras que el Análisis del Contexto busca en la envoltura (podemos decir que en los metadatos que acompañan a los datos, por ejemplo, quién o qué programa los generó o en qué momento se actualizaron).

Una versión más avanzada de estos conceptos se define en el “Análisis Contextual del Negocio” (business context analysis), que engloba el análisis en profundidad del contenido asociado al entorno en el momento del análisis y al uso que se le esté dando a esos datos en ese momento.


A una solución DLP le interesa proteger los datos (el contenido), sin olvidar su contexto (como se están usando esos datos, quien los usa y para qué).

En muchas ocasiones una solución DLP debe ocupar recursos en profundizar eficazmente en los datos para realizar su análisis, realizando “file cracking”. Muchas soluciones hoy día soportan alrededor de 300 tipos de ficheros, contenido embebido, múltiples idiomas (incluyendo los orientales), encriptación (si hay disponibles claves de recuperación) e incluso aportan soluciones para ficheros no reconocidos.

Dos de los principales motores de búsqueda en contenidos son Verity y Autonomy, que suelen estar embebidos en casi todas las soluciones DLP, aunque muchas de ellas añadan algo de código propietario.
 

Reglas basadas en expresiones regulares.


Es la técnica más común en herramientas y características DLP. Se basa en analizar el contenido en base a reglas predefinidas. Por ejemplo, números de identificación, tarjetas de crédito, direcciones email, nombres próximos a números de cuenta. Hay muchos predefinidos y siempre se pueden añadir.



Son unas reglas muy sencillas de implementar, pero que no protejen del todo datos no estructurados y pueden dar lugar a muchos falsos positivos.

Las expresiones regulares puedes consultarlas en:
http://www.regular-expressions.info/quickstart.html

Huella en ficheros o datos: Coincidencia completa.


Esta técnica genera un hash del fichero (que puede o no almacenar en el propio archivo) y compara siempre al acceder. Es muy interesante cuando no se puede acceder al contenido a comparar (por ejemplo, en ficheros multimedia o binarios), aunque se puede emplear en cualquier archivo. Sin embargo, es evidente que simplemente editando el archivo se evade. Hay variantes que impiden editar el archivo o actualizan una tabla de versiones de hash, pero sólo si se edita desde herramientas propias. En resumen, es buena para ficheros no editables.

Coincidencia parcial de datos o ficheros.


Esta técnica busca en el contenido por coincidencias parciales o exactas. Se suele usar una variante denominada “hash cíclico”, donde se tienen varios hash incrementales del contenido de un documento.

Esta técnica es empleada para proteger documentos sensibles como código fuente o similares. Permite proteger datos no estructurados que consideremos sensibles, pero hay que afinar en su configuración para no dar falsos positivos y para no comprometer el desempeño de los sistemas.

Análisis estadístico  


Emplea herramientas estadísticas como análisis bayesiano, “machine learning” y otras técnicas estadísticas  para analizar estructuras de contenido acorde a políticas. Un ejemplo de estas técnicas las tenemos en el análisis de emails spam.

Es efectivo donde el análisis de datos no estructurados de coincidencia parcial o total no funciona. Puede trabajar con datos ofuscados y reforzar otras políticas. Por el contrario, suele proponer falsos positivos y negativos, sobre todo al inicio, porque se basa en el aprendizaje estadístico.

Análisis léxico y conceptual.


Esta técnica usa una combinación de diccionarios, reglas y otras técnicas para proteger contenido correspondiente a una “idea”. Por ejemplo, emplear una cuenta de trabajo para asuntos privados. Es una buena técnica para proteger datos heterogéneos pero con una idea común. Sin embargo, es muy complejo de configurar, y suele requerir de una consultoría del proveedor de la solución DLP.

Además, según el caso suelen derivarse falsos positivos y/o falsos negativos, por lo que suele requerir que esa consultoría sea evolutiva.

Reglas de Categorías. 


Se basa en configuraciones pre-establecidas basadas en formatos de datos conocidos, o estándares o regulaciones que hay que cumplir.

Son muy sencillas de configurar y en muchos sitios son la primera y principal tipo de regla implementada. Sin embargo, sólo funcionan bien si no hay excepciones.

En conclusión...


Todas estas maneras y alguna otra se emplean en conjunto para configurar las reglas que rigen el trabajo de las soluciones DLP de alto nivel. A un nivel inferior se emplean una o varias de estas formas bien en trabajos individuales, bien en conjunto. Los sistemas DLP suelen traer unas reglas comunes ya predefinidas, aunque realmente protegen poco de entrada, y es el continuo ajuste de la solución DLP adoptada en la organización el que ofrece valor real, al ir aprendiendo específicamente cómo se gestionan los datos que deben ser protegidos.  


En una próxima entrada veremos los pasos para implantar una solución DLP en una organización.

Las Botnets y los Ataques de Denegación de Servicio

Los ataques de Denegación de Servicio, y más recientemente los de Denegación de Servicio Distribuido están en boca de todos porque es el tipo de ataque usado para tumbar una web, y se usa mucho más de lo que pensamos, desde pequeña a gran escala.


Que es un ataque DoS (Denial of Service)


Esencialmente consiste en tumbar una web para que deje de dar servicio a sus usuarios legítimos. Este ataque podía ser de muchas formas, siempre generalmente con el objetivo de conseguir que el servidor (o cluster) se pare:

  • Sobrecargar la red (ancho de banda) o tiempo de procesador
  • Buffer overflow
  • Imposibilitar la autenticación de usuarios
  • Alterar la configuración del servidor 
  • Apagar el servidor
  • Desconectar el suministro eléctrico

La forma que tome el ataque dependerá de las vulnerabilidades detectadas en el sistema a atacar, pero cuando se hace desde remoto sobre servidores de webs modestas suele consistir simplemente en sobrecargar la red a base de peticiones para que el servidor no pueda atenderlas todas o las atienda tan lentamente que no resulte práctico.


En otras ocasiones el ataque consiste en aprovechar vulnerabilidades del sistema operativo o del servidor web que no han sido solucionadas en el sitio web y explotarlas para conseguir parar el servicio. Por ejemplo, consiguiendo ejecutar scripts en el servidor mediante un ataque que aprovecha un desbordamiento de buffer, o realizando un ataque de inyección de código SQL desde un formulario de la web que para, corrompe o ralentiza la base de datos que hay detrás.

La idea es anular la disponibilidad del servicio el mayor tiempo posible.


Qué es una botnet


Tal vez el principal problema del malware en la actualidad está relacionado con las llamadas botnets o redes zombies. Una botnet es una red lógica de ordenadores clandestina infectada por un bot. Y un bot es un malware que se cuela en muchas máquinas y las convierte en zombies, es decir, que sirven a un propósito específico, o incluso permite que sean controladas de manera remosta.


Típicamente el control que toma un bot de una máquina es transparente al usuario, que tal vez note que el sistema va algo más lento pero poco más. La potencia de una botnet no viene dada tanto por el poder o lo que hacen cada uno de sus bots con sus recursos en la máquina zombie, sino por la unificación de ese poder para realizar ataques a terceros:

  • Ataque simultáneo de cientos o miles de máquinas a un objetivo común.
  • Envío masivo de emails o mensajes con malware de tipo pishing (engaños) o simplemente spam para tirar los servidores de correo.
  • Envío masivo simultáneo de mensajería para cambiar la perspectiva de la opinión pública respecto a un tema concreto. Por ejemplo, emitiendo cadenas de mensajes con una noticia falsa pero creíble.
  • Ataque simultáneo para realizar un robo de datos específico.

A todo esto se suma el inmenso campo que ofrece el llamado Internet de las Cosas, donde miles de máquinas conectadas con sistemas operativos esenciales y vulnerables son blancos fáciles en teoría para formar parte de una botnet.

Qué es un ataque DDoS (Denegación de Servicio Distribuido)


Es un ataque organizado de cientos o miles de máquinas de una o varias botnets con un objetivo muy definido, generalmente consistente en inhabilitar servicios web de cierta importancia y entidad. Son ataques que causan un impacto importante a la organización, y suelen ser la causa final de un ataque APT (un ataque organizado, estudiado y persistente). 

Un ataque DDoS puede ser tan sencillo como lanzar miles de peticiones "ping" desde una botnet, dejando así sin servicio una página web. En otros casos puede ser mucho más complejo, y orquestado para robar la mayor cantidad de datos en el mínimo tiempo posible, o para hacer caer los servidores de autenticación.

Los usuarios que lanzan los ataques a través de una botnet ni siquiera saben lo que pasa. Pero también hay usuarios que voluntariamente se prestan a realizar ataques con motivaciones hackivistas (como Anonymous), y que utilizan programas como LOIC (Low Orbit Ion Canon) para realizar ataques DDoS. Este software permite además enviar gran cantidad de paquetes TCP, UDP o cabeceras HTTP para averiguar la cantidad de conexiones por segundo que soporta la red objetivo antes de caer.


Los ataques DDoS suponen un problema creciente, sobre todo desde el 2014, al aumentar drásticamente los ataques basados en el protocolo UDP. El informe del 4º trimestre de 2016 de Akamai indica un aumento del 138% en el total de grandes ataques DDoS, aunque han disminuido algo los ataques a aplicaciones web.

Cómo nos podemos proteger


En primer lugar para mitigar un ataque simple podemos proveer o prever la carga de los servidores, por ejemplo con mecanismos de clúster variable y balanceo de carga, que se activarían al tiempo de dar la alarma.

Podemos también establecer un sistema de filtrado de logs entrenado para detectar ataques DDoS y rechazar las conexiones que se teman provengan de un ataque, o incluso un filtrado más elemental que rechace directamente paquetes mal formados o con IPs falsas.

Es necesario que los servidores web estén actualizados para que no tengan vulnerabilidades conocidas que puedan aprovecharse, y que en esencia cumplan los principios de OWASP (Open Web Application Security Project) o que se supervisen bajo un plan de seguridad.

Para prever la infección de malware en tu ordenador doméstico y que no se convierta en una botnet es necesario tomar las medidas habituales de protección: concienciación, cortafuegos, antivirus y protección adicional en el router, sobre todo en lo que a la señal wifi se refiere. En una organización es necesario seguir, además, un plan de seguridad establecido acorde a la infraestructura.


En este sentido Incibe y la Oficina de Información del Internauta han sacado recientemente una campaña para detectar si tu ordenador está en una botnet:


A la vista de los problemas generados en las elecciones debido a los ataques DDoS a sistemas de noticias de manera que influyen en el electorado, Google ha lanzado una serie de utilidades con las que realiza un servicio gratuito para protegerlos:
https://projectshield.withgoogle.com/public/

Algunos grandes ataques DDoS


Ataque a Dyn de Octubre del 2016, realizado por millones de máquinas en varias oleadas, que pararon literalmente Internet durante horas en muchas zonas de Europa y Norteamérica:
https://es.wikipedia.org/wiki/Ciberataque_a_Dyn_de_octubre_de_2016


Ataque a la BBC de Enero del 2016
http://globbsecurity.com/mayor-ataque-ddos-historia-bbc-37484/

Ataque de Marzo 2013 en Europa
https://www.fayerwayer.com/2013/03/enorme-ataque-ddos-hace-mas-lenta-la-internet-en-el-mundo/

Estos son ejemplos de lo que nos espera.

Los metadatos y el Esquema Nacional de Seguridad (I)

Metadatos: qué son y para qué sirven


Los metadatos son datos descriptivos sobre el contexto o características que acompañan a un documento, vídeo o imagen. Por ejemplo, para una fotografía puede ser la cámara, el momento en que se tomó la foto o incluso la localización gps. Para un documento, el autor,  el que lo modificó o cuando se actualizó y con qué software.


Estos metadatos son actualizados bien por las organizaciones (respondiendo a un esquema de metadatos propio), bien por el hardware o software que edita o trata los documentos,  las imágenes o los vídeos. La mayoría de los metadatos permanecen ocultos o no son transparentes al usuario, que en muchas ocasiones no conoce la información que se está grabando junto a los datos de sus archivos.

Los metadatos se crearon para ayudar en la búsqueda de información,  en la interoperabilidad entre sistemas y en la clasificación de los documentos. Muchos documentos también pueden contener otros datos ocultos, como comentarios o notas de edición y trabajo, nombres de formatos empleados o datos de versiones editadas.

Hay que tener en cuenta que distintos formatos de archivo almacenan metadatos y datos ocultos de manera distinta.

Los metadatos y la Seguridad de la Información


Los metadatos proporcionan información que, en ocasiones, puede ser mayor que la deseada al publicar o distribuir el archivo que los contiene.


Esta información puede ser útil en un ataque de ingeniería social en aspectos que incuso no podemos razonar en una primera instancia. Por ejemplo, la localización y fecha de una foto determinada puede no tener relevancia respecto al fotógrafo, pero si respecto a alguien que aparezca en la instantánea. En otra foto lo importante puede ser la versión del iphone con el que ha sido tomada. La información respecto al autor de un documento puede servir por ejemplo para ampliar la información de ese usuario a través de las redes sociales, y una vez localizado tenemos el  CV en LinkEdin, y aspectos de su vida en Instagram o Facebook.  

Los metadatos y el Esquema Nacional de Seguridad


Desde el punto de vista de la Seguridad de la Información,  los metadatos y los datos ocultos pueden contener información sensible, y esto representa un riesgo que las organizaciones y sus usuarios deben entender.

En este sentido, el Esquema Nacional de Seguridad establece que todos los metadatos deben ser eliminados  en relación a la Confidencialidad de la información en la medida de protección [mp.info.6]:
 “En el proceso de limpieza de documentos, se retirará de estos toda la información adicional contenida en campos ocultos, metadatos, comentarios o revisiones anteriores, salvo cuando dicha información sea pertinente para el receptor del documento”.  
Hay que tener en consideración que para cada tipo de archivo puede haber metadatos que haya que quitar siempre, otros según el uso del documento en ese momento y otros nunca.

El tratamiento de metadatos debe quedar reflejado en una política de gestión documental , o al menos en un apartado de la normativa de tratamiento de datos y en el procedimiento de seguridad correspondiente.

El proceso de limpieza de documentos se aplicará...
“...cuando el documento se difunde ampliamente, como ocurre cuando se ofrece al público en un servidor web y otro tipo de repositorio de información”.


Por lo tanto, hay que describir un proceso de limpieza de documentos, pero no debemos quedarnos ahí, porque la lucha contra los metadatos indeseados viene desde varios puntos, referenciado también en varios puntos del Esquema:

  • Definición de una política de gestión documental en la organización. 
  • Limpieza de documentos previa a su difusión según la política definida.
  • Configuración del hardware o software de edición o grabación, para que actualice sólo los metadatos necesarios.
  • Configuración de dispositivos de rastreo de datos en tránsito de los que se dispone para que compruebe el uso adecuado de los metadatos.
  • Uso de herramientas de búsqueda de metadatos para chequear y comprobar periódicamente que los metadatos expuestos en cada caso se corresponden a lo definido anteriormente.
  • Concienciación y formación a los usuarios de la organización.

En un próximo post veremos herramientas y formas de ver o eliminar metadatos en los principales tipos de archivos.