En esta entrada de blog ha colaborado Aditya Joshi, ingeniero de software sénior del departamento de protección y detección para empresas.
Cada vez es más frecuente que los atacantes utilicen métodos más sigilosos para evitar que los detecten. Los ataques sin archivos aprovechan las vulnerabilidades del software, inyectan cargas malintencionadas en procesos benignos del sistema y se ocultan en la memoria. Estas técnicas minimizan o eliminan el rastro del malware en el disco y reducen considerablemente las posibilidades de detección con las soluciones de análisis de malware basadas en disco.
Para contrarrestar esta amenaza, Azure Security Center lanzó la detección de ataques sin archivos para Windows en octubre de 2018. En nuestra entrada de blog de 2018 se explica cómo Security Center puede detectar código de shell, inyección de código, técnicas de ofuscación de carga y otros comportamientos de ataque sin archivos en Windows. Nuestra investigación indica también un aumento de los ataques sin archivos en las cargas de trabajo de Linux.
Hoy al equipo de Azure Security Center le complace anunciar una versión preliminar de la funcionalidad de detección de ataques sin archivos en Linux. En esta entrada, explicaremos un ataque sin archivos real en Linux, presentaremos nuestra funcionalidad de detección de ataques sin archivos e indicaremos cómo incorporarse a la versión preliminar.
Ataque sin archivos real en Linux
Un patrón común que vemos es que los atacantes inyectan cargas de malware empaquetado del disco en la memoria y eliminan el archivo malintencionado original del disco. Este es un ejemplo reciente:
- Un atacante infecta un clúster de Hadoop al identificar el servicio que se ejecuta en un puerto conocido (8088) y utiliza la compatibilidad con la ejecución de comandos remotos sin autenticación de Hadoop YARN para lograr el acceso en tiempo de ejecución a la máquina. Tenga en cuenta que el propietario de la suscripción podría haber mitigado esta fase del ataque configurando la funcionalidad JIT de Security Center.
- El atacante copia un archivo que contiene malware empaquetado en un directorio temporal y lo inicia.
- El proceso malintencionado desempaqueta el archivo usando código de shell para asignar una nueva región de memoria ejecutable dinámica en el propio espacio de memoria del proceso e inyecta una carga ejecutable en la nueva región de memoria.
- Después, el malware transfiere la ejecución al punto de entrada ELF inyectado.
- El proceso malintencionado elimina el malware empaquetado original del disco para borrar su rastro.
- La carga de ELF insertada contiene un código de shell que escucha si se realizan conexiones TCP entrantes y transmite las instrucciones del atacante.
Este ataque es difícil de detectar para los escáneres. La carga está oculta detrás de varias capas de ofuscación y solo está en el disco durante un breve período de tiempo. Con la versión preliminar de la detección de ataques sin archivos, Security Center puede identificar ahora estos tipos de cargas en memoria e informar a los usuarios de la funcionalidad de la carga.
Funcionalidad de detección de ataques sin archivos
Al igual que la detección de ataques sin archivos para Windows, esta característica examina la memoria de todos los procesos en busca de pruebas de kits de herramientas, técnicas y comportamientos sin archivos. Durante la versión preliminar, se habilitará y mejorará el análisis para detectar los siguientes comportamientos de malware del espacio de usuario:
- Software de minería criptográfica y kits de herramientas conocidos.
- Código de shell, archivos ejecutables ELF inyectados y código malintencionado en regiones ejecutables de la memoria de procesos.
- Rootkits basados en LD_PRELOAD para precargar bibliotecas malintencionadas.
- Elevación de privilegios de un proceso no raíz a raíz.
- Control remoto de otro proceso con ptrace.
En el caso de una detección, recibirá una alerta en la página Alertas de seguridad. Las alertas contienen información complementaria, como el tipo de técnicas usadas, los metadatos de los procesos y la actividad de red. Esto permite a los analistas comprender mejor la naturaleza del malware, diferenciar entre distintos ataques y tomar decisiones más informadas a la hora de elegir las medidas de corrección.
El examen no es invasivo y no afecta a los demás procesos del sistema. La mayoría de los exámenes se ejecutan en menos de cinco segundos. La privacidad de los datos está protegida con este procedimiento, porque todo el análisis de la memoria se realiza en el propio host. Los resultados del examen solo contienen metadatos relacionados con la seguridad y detalles de las cargas sospechosas.
Introducción
Si desea registrarse para participar en esta versión preliminar específica o en el programa de versión preliminar en curso, indique su interés en la página de la versión preliminar de la detección de ataques sin archivos.
Una vez que decida incorporarse, esta característica se implementará automáticamente en las máquinas Linux como una extensión del agente de Log Analytics para Linux (también conocido como Agente de OMS), que admite las distribuciones del sistema operativo Linux que se indican en esta documentación. Esta solución admite entornos locales, multinube y en Azure. Los participantes deben inscribirse en el plan de tarifa Estándar o Estándar (prueba) para poder beneficiarse de esta característica.
Más información acerca de Azure Security Center.