Karma: La Explicación Que Se Merece

threat-intelligence

Nota Importante

Este artículo se refiere a una versión anterior de Karma, la cual ya no se encuentra disponible. En estos momentos estamos trabajando en un servicio completamente renovado.

En este artículo vamos a explicar cómo funciona Karma https://karma.securetia.com, debido a que aún la documentación deja mucho que desear, y porque hay varios aspectos a tener en cuenta sobre cómo funciona dicho sistema y cómo puede ayudarnos a monitorizar nuestros activos de forma eficiente.

Resumen

Karma es un sistema de “Monitoreo Basado en Threat Intelligence”, que verifica si alguno de los activos que hemos definido aparece en alguna de las tantas bases de datos de reputación que existen hoy en día.

Activos

Un activo puede ser alguno de los siguientes:

  • Dirección IPv4/IPv6
  • Dominio
  • Website
  • ASN (Autonomous System)

Bases de Datos de Reputación

Las bases de datos de reputación pueden tomar muchas formas, algunas son simples archivos de texto, otras tienen algunos formatos un poco más complejos, como CSV, XML, JSON, etc. También existen algunas que no pueden ser descargadas, si no que se acceden a través de consultas, como las DNSBL o Google Safe Browsing.

Algunas de ellas almacenan información de direcciones IP, otras, de dominios o websites.

También tienen propósitos diferentes, por ejemplo, Spamhaus almacena datos acerca de Spam, y PhishTank almacena datos hacerca de Phishing.

Para cada una de ellas, Karma sabe cómo interactuar de la forma más adecuada, y cómo interpretar los datos que las mismas proporcionan.

A día de hoy, Karma verifica las siguientes bases de datos:

Creación De Una Cuenta En Karma

karma-signup

Este proceso es muy sencillo, simplemente tenemos que introducir una dirección de correo válida, un nombre y un apellido.

Luego de eso, nos va a llegar un link de confirmación al correo electrónico que hayamos definido.

Siguiendo ese link, vamos a poder definir nuestra contraseña, y ya vamos a poder empezar a utilizar el sistema!

Dashboard

karma-dashboard

En el dashboard vamos a poder ver un gráfico sobre nuestros activos y sus alertas. Obviamente, si aún no hemos definido ningún activo, esto va a ser una pantalla aburrida, que nos va a pedir que empezamos a definir activos! :)

Definición de Activos

Dentro del menú “Assets” vamos a poder definir nuestros activos (Redes, Dominios, Sitios Web, Sistemas Autónomos).

Cada tipo de activo va a ser verificado de diferente forma y contra diferentes bases de datos de reputación.

Además, debemos tener en cuenta el concepto de “Activos Estáticos” y “Activos Dinámicos”:

Activos Estáticos: Son los activos que nosotros mismos definimos. Manualmente, a través de la interfaz de usuario.

Activos Dinámicos: Son los activos que se crean automáticamente en base a algún activos estático. Por ejemplo, si definimos un sitio web, se va a crear de forma automática un activo del tipo “Red”, que contiene la dirección IP de ese sitio web. Si definimos un dominio, se van a crear automáticamente las entradas para sus registros MX y NS.

El propósito de esto es que si tenemos un sitio web, nos va a interesar saber tanto si ese sitio web ha sido marcado como malicioso, como si la dirección IP en la que está alojado ese sitio web ha sido marcada como maliciosa, debido a que en ambos casos tendremos que tomar acciones correctivas.

Networks

karma-networks

Aquí vamos a poder definir nuestra redes. No hay mucho que explicar, simplemente aclara que podemos definir tanto redes IPv4 como IPv6, y que podemos hacerlo de una a una, como en formato CIDR.

Una a una: 8.8.8.8 CIDR: 8.8.8.0/29

En el caso de utilizar la notación CIDR, se va a crear un activo para cada dirección IP individual que se encuentran dentro de la red (a excepción de la dirección de red y de la de broadcast).

Utilizando el ejemplo anterior (8.8.8.0/29) se van a crear los siguientes activos:

  • 8.8.8.1
  • 8.8.8.2
  • 8.8.8.3
  • 8.8.8.4
  • 8.8.8.5
  • 8.8.8.6

Quedando excluídas las direcciones 8.8.8.0 (dirección de red) y la 8.8.8.7 (dirección de broadcast)

Domains

karma-domains

Aquí vamos a poder definir nuestros dominios.

Debemos tener en cuenta que siempre es preferible definir los dominios principales, y nunca confundir nuestro dominio con nuestra dirección web.

Por ejemplo, el dominio de Securetia es “securetia.com”, y la dirección de nuestra web es www.securetia.com. Es por eso que en el apartado de dominios tenemos definido “securetia.com”.

WebSites

karma-websites

Como podemos observar, aquí si vamos a definir las direcciones de nuestros sitios web. En este caso debemos tener en cuenta que si nuestro sitio web es visible a través del dominio principal y del subdominio, deberíamos agregar ambos.

Por ejemplo, si tratamos de acceder vía web a http://securetia.com, vamos a ser redirigidos a http://www.securetia.com, por lo tanto, no es necesario agregar “securetia.com” a nuestra lista de websites.

El motivo de esto es permitir a Karma verificar cualquiera de las formas de acceso a nuestro sitio web, porque podría darse el caso en que una de las formas sea marcada como maliciosa, pero no la otra.

Esto no es necesario para el caso de los protocolos, es decir, si ponemos ”www.securetia.com”, esto va a aplicar tanto para el acceso HTTP como para el acceso HTTPS.

Autonomous Systems

karma-asn

Para las empresas y organizaciones que cuenten con Sistemas Autónomos (ASN) propios, puede ser extremadamente difícil monitorizarlos ingresando sus direcciones IP.

Es por eso que Karma soporta agregar números ASN.

Debemos considerar que el funcionamiento de esto es ligeramente diferente a la monitorización por direcciones IP, dominios o webistes.

La principal diferencia es que, debido al dinamismo y a la gran cantidad de direcciones que puede tener asociadas un ASN, Karma NO va a enviar alertas si detecta direcciones maliciosas dentro de las redes de un determinado ASN.

En todo caso, va a ser necesario que consultemos las alertas directamente desde la interfaz web, como se puede ver en la imagen anterior.

Si ingresamos a un ASN puntual, vamos a poder ver más detalles, como se muestra a continuación:

karma-asn-alerts

Statistics

karma-stats

En el apartado de estadísticas podemos ver algunos números que pueden llegar a servirnos para hacer nuestros propios análisis.

Vamos a poder ver algunos datos como los siguientes:

  • Direcciones IP que hostean más sitios de Phishing
  • Bloques de red que hostean más sitios de Phishing
  • Bloques de red que envían más Spam
  • Redes con más actividad maliciosa

Log

karma-log

En el apartado de logs vamos a poder ver el registro de nuestras acciones (como agregar/eliminar activos), así como también el cambio de estado de las alertas (creación, cierre).

Support

karma-support

Aquí vamos a poder enviar mensajes, para comunicar problemas, enviar sugerencias, dudas y cualquier comentario que creamos relevante.

Settings

karma-settings

Aquí vamos a poder modificar varias de nuestras configuraciones, como nuestro nombre y apellido, email, servidor syslog, umbral de alertas y renovar nuestra API Key.

Email: En el caso de que modifiquemos nuestro email de contacto, se enviará un email de verificación a la nueva casilla.

Servidor Syslog: Karma puede enviar datos importantes (como cambios de estado en las alertas) a un servidor syslog. Desde aquí podemos definir la dirección. Los mensajes son enviados al puerto UDP/514 (el que utiliza syslog por defecto).

Umbral de Alertas: Karma nos permite definir cuál es el nivel mínimo que debe tener una alerta para que la misma dispare una notificación por correo electrónico cuando sea generada o cuando cambie de estado.

API Key: Si bien aún está en fase de desarrollo, y no documentada, Karma cuenta con una API JSON para que otros programas puedan integrar sus funcionalidades y realizar consultas.

Alerts

karma-alerts

En este apartado podemos ver todas las alertas asociadas a nuestros activos.

Las mismas muestras el tipo de activo (IP, dominio, etc), el título, la fecha en la que fueron descubiertas, la fecha en la que fueron vistas por última vez, la criticidad (alta, media, baja) y el estado (abierta, cerrada).

karma-alert

La imagen muestra una alerta en la cual se ha detectado que una de las direcciones IP definidas ha sido marcada como maliciosa en una de las listas negras que Karma verifica.

También podemos encontrar un link en el que vamos a obtener más información acerca de esa lista negra.

Cuando No Hay Alertas

Varias personas piensan que Karma “no está haciendo nada” cuando no ven ninguna alerta en sus activos. Pero no ver ninguna alerta es normal!

Tengamos en cuenta que, habitualmente, nuestros activos no deberían presentar problemas ni realizar ningún tipo de actividad maliciosa.

En esos casos, Karma simplemente no va a enviar ningún tipo de notificación, ni va a mostrar alertas, porque es un sistema que está diseñado con la filosofía de “avisar únicamente cosas importantes”.

Conclusiones

Espero que este artículo sirva para explicar el funcionamiento de este software, y que permita a muchas personas comenzar a utilizarlo.

threat-intelligence