Monitorizar patrones significativos de Ransomware.

Conocimiento pertenece al mundo
Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Share on StumbleUponShare on TumblrShare on RedditPin on PinterestEmail this to someone

Ransomware es un tipo de malware que se instala de forma encubierta en un ordenador, sin el conocimiento del usuario, después restringe el acceso al sistema informático infectado y exige que el usuario pague un rescate a los operadores del malware, para eliminar la restricción. El ataque  del ransomware consiste en cifrar archivos de forma sistemática, en el disco duro del sistema, que se convierten en inaccesibles, si no se paga el rescate. Otros ataques pueden simplemente bloquear los mensajes del sistema y la visualización de un mensaje para convencer al usuario a pagar.

 El ransomware normalmente se propaga como un troyano, cuya carga útil se disfraza como un archivo aparentemente legítimo, por ejemplo, como archivo descargado o explotando una vulnerabilidad de software.

El ransomware intenta leer y luego cifrar los archivos, creando un identificador para cada archivo con el que interactúa. No importa qué algoritmo de cifrado utilice, este es un concepto mas a bajo nivel, en función de cómo el núcleo de Windows interactúa con el hardware del sistema. Si somos capaces monitorizar la frecuencia de nuevos identificadores que son creados por cada proceso, es posible detectar la actividad anormal producida por el ransomware. Esto también se aplicaría al malware destructivo que ha sido diseñado para sobrescribir una gran cantidad de archivos para impedir su recuperación.

Teniendo en cuenta que un objeto es una estructura de datos que representa un recurso del sistema, tal como un archivo. Una aplicación no puede acceder directamente a los datos de un objeto o a un recurso del sistema que representa un objeto. En su lugar, una aplicación debe obtener un identificador de objetos, que se puede utilizar para examinar o modificar los recursos del sistema. Cada identificador tiene una entrada en una tabla mantenida internamente. Estas entradas contienen las direcciones de los recursos y los medios para identificar el tipo de recurso. Esta es una de las varias capas de abstracción que separan el usuario (y todos los procesos que están en ejecución), a partir de los activos físicos, tales como el disco duro. Cualquier solicitud de acceso a un archivo en el disco, tiene que pasar por el núcleo de Windows y si desea modificar ese archivo en el modo de usuario, es necesario crear un identificador.

Basado en este patrón de identificación esta diseñada la herramienta para Windows, llamada handle_monitor, que hace un balance de cada identificador de archivo, por proceso a través del sistema. A continuación, tiene una pequeña pausa (a discreción del usuario) y comprueba de nuevo los nuevos identificadores que no se han visto antes y se calcula el número de nuevos identificadores creados. Si el umbral pasa  un número definido de ciclos, a continuación, se genera una alerta y se realiza una acción (tal como la suspensión del proceso sospechoso).

hm_test3
Secuencia de funcionamiento:

  1. Genera un índice de todos los archivos se encarga de todos los procesos en ejecución.
  2. Pausas (/pause=X) para cantidad de tiempo.
  3. Monitoriza los índices, para mantener un recuento.
  4. Después los ciclos definidos (/cycles=X) , lleva a cabo un análisis.
  5. En el análisis comprueba si todos los procesos han sobrepasado el umbral (/threshold=X) de repetición de identificativo.
  6. Si es así, se bien generar una alerta para el proceso (/suspend).

Por defecto, sólo se busca ejecutables sin firmar (para reducir el ruido), pero se puede incluir firmados con “/signed”.

Modo de empleo de  handle_monitor: 

handle_monitor.exe <parametros opcionales>

Parámetros opcionales:

/cycles=X, número de ciclos de monitorización (por defecto: 10)
/threshold=X, establecer umbral de sospecha para el número de nuevos identificadores (por defecto: 10).
/pause=X, establecer pausa en milisegundos entre los ciclos (por defecto: 1000).
/signed, incluir ejecutables firmados en el proceso de revisión.
/suspend, suspender procesos que se consideren sospechosos.
/verbose, mostrar mensajes detallados.

Fuente:http://www.gurudelainformatica.es/

Conocimiento pertenece al mundo
Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Share on StumbleUponShare on TumblrShare on RedditPin on PinterestEmail this to someone