Este artículo discute el panorama de amenazas de Linux y examina cómo es que este sistema se ha convertido en un blanco atractivo para los cibercriminales, así como su susceptibilidad a varias amenazas y riesgos.
—
Por Magno Logan and Pawan Kinger
_____________________________________________________________________________________________________________________________________________
Linux, el cual empezó como un proyecto personal hace 30 años, es actualmente uno de los sistemas operativos más poderosos, dominando servidores y plataformas en la nube alrededor del mundo. De hecho, el uso de Linux ha superado el de Windows en Azure, la propia plataforma de Microsoft.
Linux es predominante. De acuerdo con el estudio de The Linux Foundation 2017 State of Linux Kernel Development Report, Linux corre en el 90% de las workloads en la nube pública y 9 de los 10 proveedores de nube privada más importantes. Encima de esto, Linux también corre en 82% de los smartphones del mundo y tiene una participación de mercado del 99% en el mercado de las supercomputadoras.
Como cualquier software, sin embargo, Linux no esta exento de amenazas y riesgos de seguridad. Conforme las empresas migran hacia la nube y, por consiguiente, a Linux, no es sorpresa que los cibercriminales cambien su enfoque y recursos para dirigirse a estos ambientes — incluyendo sus puntos débiles — con objetivos maliciosos.
Este artículo busca explorar el panorama de amenazas de Linux y examinar cómo es que se ha convertido en un blanco atractivo para los atacantes, así como su susceptibilidad a varias amenazas y riesgos. Estos incluyen vulnerabilidades, fallas de configuración y brechas de seguridad y malware. Además de dar una visión de alto nivel de los problemas y amenazas de seguridad que enfrenta Linux actualmente, este artículo también ofrecerá recomendaciones esenciales de seguridad para defender los ambientes de Linux contra amenazas y ayudar a mitigar los riesgos.
Vulnerabilidades continúan siendo prevalentes en la plataforma de Linux
Uno de los métodos más comunes que usan los cibercriminales para tener acceso inicial a un ambiente es el uso de una vulnerabilidad en un servicio hosteado públicamente. La falta tanto de administración de vulnerabilidades como de procedimientos de rastreo, sin mencionar la ausencia de procesos de parcheo de sistemas, puede dejar a los sistemas altamente expuestos cuando se encuentra una vulnerabilidad y se publica un exploit. Actualmente toma solo un par de días – a veces incluso horas – antes de que alguien encuentre un exploit para una vulnerabilidad. Esta preocupación es aún más importante para Linux, ya que la mayoría del código que corre es abierto, y el tiempo y capacidades requeridas para crear un parche es posiblemente más corto que nunca.
Miles de vulnerabilidades plagan a diferentes distribuidores de Linux
Es importante considerar no solamente las vulnerabilidades en la misma plataforma, sino también lo que está corriendo dentro de la plataforma, ya que su exposición y susceptibilidad a exploits varían. Debe destacarse, sin embargo, que el gran número de vulnerabilidades en un servicio o plataforma no significa necesariamente que estas vulnerabilidades automáticamente son de alto riesgo para los sistemas.
Para obtener una mejor idea del volumen de vulnerabilidades en varias distribuciones de Linux, analizamos los datos de Common Vulnerabilities and Exposures (CVE) de Red Hat, Ubuntu, Debian, Oracle Linux y SUSE. La siguiente gráfica muestra el número de alertas de seguridad por cada vendor para su respectiva distribución de Linux.
[image url=”https://documents.trendmicro.com/images/TEx/articles/a-look-at-linux-figure-1.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]
Figura 1. Número de alertas importantes o de alto riesgo por vendor o distribución de Linux por año desde el 1 de enero de 2015 al 31 de diciembre de 2020
[image url=”https://documents.trendmicro.com/images/TEx/articles/a-look-at-linux-figure-1-2.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]
Figura 2. Número de alertas críticas de seguridad por vendor o distribución de Linux por año desde el 1 de enero de 2015 al 31 de diciembre de 2020
Cada vendor de Linux sigue un procedimiento diferente para administrar las vulnerabilidades. aunque los parches de los benders vienen en tiempos diferentes, los parches de upstream – ya sea paquete original o utili – son los primeros en salir. los ven desde Linux son responsables por parchar las vulnerabilidades en componentes como kernel, stock utilities, y paquetes. En el 2019, Red Hat reparó más de 1,000 CVEs en su distribución Red Hat Enterprise Linux (RHEL), de acuerdo con su Product Security Risk Report. Eso es más del 70% del número total de vulnerabilidades arregladas a lo largo de todos sus productos.
Las vulnerabilidades de Linux llevan a RCE, brechas y otros riesgos críticos de seguridad
Vulnerabilidades del Stack de Aplicaciones
Las vulnerabilidades del stack de aplicaciones fueron la razón detrás de varias brechas en el pasado. Por ejemplo, una conocida brecha en Equifax fue el resultado de la explotación de una vulnerabilidad en Apache Struts, conocido con el identificador CVE-2017-5638. El framework MITRE ATT&CK lista el “Exploit Public-Facing Application” for ID T1190, el cual es un punto de entrada común para los atacantes que les permite aprovechar las fallas en las workloads que conviven con el internet. Algunas de las vulnerabilidades más populares en esta categoría están listadas en Open Web Application Security Project (OWASP) Top 10 y Common Weakness Enumeration and SysAdmin, Audit, Network, and Security (CWE/SANS) Top 25 Most Dangerous Software Errors, los cuales son referencias de conocimiento estándar para los desarrolladores y los practicantes de la seguridad para aplicaciones web. Estos documentos representan un consenso acerca de los riesgos más importantes para la seguridad de las aplicaciones web, incluyendo vulnerabilidades como SQL injection, cross-site scripting (XSS), XML external entities (XXEs), y deserialización insegura. De forma importante, las aplicaciones web se han convertido en el punto principal de entrada para muchos de estos ataques ya que son los más expuestos y usualmente son altamente vulnerables.
Fallas de configuración, brechas de seguridad en la nube
Las fallas de configuración son bastante comunes y siempre han sido una preocupación crítica de seguridad. De hecho, la primera versión de OWASP Top 10 Web Risks que fue publicado en el 2004 incluyó a lo que se refería entonces como “Administración de Configuraciones Inseguras”, lo cual después fue denominado “Fallas de Configuración de Seguridad” en la versión del 2017 de la lista. En el sistema CWE, se identifica como CWE-16 o Configuración, lo cual se describe como “debilidades que son introducidas típicamente durante la configuración del software.”
Cuando las empresas comenzaron a migrar hacia la nube para lograr resiliencia operativa y económica (especialmente durante la pandemia global), las fallas de configuración se convirtieron en un problema de seguridad aún mayor. Parece que conforme las empresas y las organizaciones se mudaron hacia nuevos ecosistemas, trajeron sin advertirlo fallas de configuración hacia estos nuevos ambientes – particularmente la nube, containers y serverless.
Las siguientes son las fallas de configuración y las brechas de seguridad más comunes en los ambientes Linux.
- Usar contraseñas débiles o por defecto – o ninguna
Solamente toma el uso de una contraseña débil – o ninguna – para que los cibercriminales obtengan acceso sin restricciones a los sistemas y ambientes. Desafortunadamente, el uso de las contraseñas débiles o por defecto aún es sorprendentemente común. Las contraseñas, las cuales son piezas de información sensible, deben estar lo más protegidas posible. para las cuentas críticas administrativas o de servicio, el uso de keys y certificados debe promoverse a diferencia de las contraseñas fijas.
Un ejemplo bien conocido que se centró en la falta de autentificación sucedió en Tesla, cuando los cibercriminales pudieron acceder a una consola de dashboard abierta y no autenticada de administración. Los atacantes pudieron comprometer un pod en ejecución de Kubernetes y obtuvieron las credenciales de Tesla de AWS para correr malware de cryptomining.
En noviembre de 2020, el FBI publicó una alerta de seguridad de que los criminales estaban abusando instancias mal configuradas de SonarQube, una herramienta de código abierto que conduce revisiones automáticas de código y detecta vulnerabilidades de seguridad y bugs en el código raíz, para acceder y descargar código fuente de agencias gubernamentales y organizaciones privadas. De acuerdo con el FBI, algunas organizaciones han dejado expuestos estos sistemas al internet. Estos sistemas corren con su configuración por defecto de instalación (port 9000) usando credenciales de administración también por defecto (admin/admin).
Los dispositivos de consumo también son propensos a las fallas de configuración. Varios dispositivos de internet de las cosas (IoT), incluyendo pero no limitado a routers, cámaras IP y dispositivos de grabación de vídeo digital (DVR), también vienen ya sea sin contraseña o con contraseñas por defecto quéepueden encontrarse fácilmente en línea, como se puede ver en Default Passwords Database.
- Servicios expuestos en el internet (también conocidos como puertos abiertos)
Dejar servicios expuestos al internet cuando solamente debe ser accesibles a las redes locales o adyacentes es una de las fallas de configuración más serias y que a menudo se pasan por alto. Además, es importante notar que no todos los ataques se manifestarán con alguna forma de “ruido”. En su lugar, un atacante podría simplemente dejar un backdoor instalado o correr una actividad de bajo cómputo en el host comprometido, lo cual podría hacer que sea más difícil detectar este tipo de actividades. Mantener los servicios y los sistemas separados de los accesos directos al internet público debe por lo tanto reducir la superficie de ataque.
Como un ejemplo de servicios que están expuestos en el internet, publicamos una historia sobre cómo descubrimos más de 8,000 instancias Redis que corren sin protección en diferentes partes del mundo, incluyendo aquellas que están desplegadas en la nube pública. Estas instancias Redis han sido halladas sin encripción TLS y no están protegidas con contraseñas. Después, encontramos que estas instancias Redis expuestas estaban siendo utilizadas para RCE y criptomining.
Como parte de la evaluación de seguridad, los puertos abiertos o grupos de seguridad deben ser monitoreados de forma regular. Los TRAs o Threat and Risk Assessments son útiles pero no se realizan de forma regular, por lo que es recomendable utilizar servicios en línea (como Shodan Monitor) que puedan verificar regularmente las infraestructuras y demostrar cuáles son los sistemas y dispositivos que están de cara al internet. A menudo, Shadow IT o el uso de dispositivos y servicios no protegidos llevará a que se expongan los servicios sin el conocimiento de los grupos de seguridad o de TI.
- Compartir archivos abiertamente
Aunque no es tan común como exponer los servicios al internet, tener archivos accesibles al público puede poner mucha información en riesgo. Compartir FTP, SMB y NFS, listados de directorios en servidores web, así como servicios de almacenamiento abierto en la nube como Amazon S3 y Azure Blob pueden potencialmente exponer datos a la audiencia equivocada. Solamente en Shodan, encontramos más de 3 millones de servidores FTP expuestos públicamente usando el query, ftp port:“21”.
- APIs expuestas y sin protección
Con el incremento en uso de DevOps y de la automatización a lo largo de la última década, las APIs declarativas son más comunes que nunca. Algunas aplicaciones tienen un diseño robusto y control de accesos en las APIs, mientras que otras tienen un diseño más débil y usan medidas de seguridad muy relajadas o incluso inexistentes. Algunos de estos servicios están diseñados para correr como un microservicio al que sólo ciertos clientes pueden acceder. Si estas APIs accidentalmente se dejan abiertas o desencriptadas, pueden abusarse por varios motivos, como usar recursos de cómputo, instalar backdoors o simplemente sabotear las operaciones normales de la organización. Observamos el abuso de APIs de Docker para correr containers y también discutir tal abuso en detalle para múltiples publicaciones.
[image url=”https://documents.trendmicro.com/images/TEx/articles/a-look-at-linux-figure-5.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]
Figura 3. Número total de servidores FTP expuestos públicamente de acuerdo con una búsqueda de Shodan realizada el 5 de enero de 2021.
Familias de malware corren de forma desenfrenada en Linux
Todas las variedades diferente de malware – como ransomware, cryptominers, rootkits user– y kernel-mode, gusanos, troyanos, backdoors, troyanos de acceso remoto (RATs) – también existen en las plataformas de Linux. El motivo detrás de estos ataques continúa siendo el mismo: ganancias financieras, espionaje, sabotaje, hacktivism o simplemente el deseo de probar que es posible comprometer los sistemas.
Los siguientes son los tipos de malware más comunes en el ecosistema Linux.
- Ransomware
No necesita de una introducción. Con millones de dólares pagados a cibercriminales (tanto con y sin éxito para desencriptar los archivos afectados), es por mucho la categoría de malware más exitosa en memoria reciente. Dada la prevalencia de Linux, los actores de ransomware encuentran un blanco muy lucrativo en estos sistemas operativos.
-
- RansomEXX/Defray777
De acuerdo con la empresa de administración de seguridad Secureworks, RansomEXX (también conocido como Defray777) está asociado con el grupo de cibercriminales Gold Dupont. Los objetivos del grupo se enfocan en ganancias financieras a través del uso de sus herramientas principales; RansomEXX, Cobalt Strike, Metasploit, y el loader Vatet. En el 2017, el grupo fue sorprendido atacando los sectores de la educación, tecnología, manufactura y salud. Recientemente, RansomEXX ha migrado hacia Linux. De hecho, en diciembre de 2020, los cibercriminales expusieron datos críticos de empresas que habían exfiltrado de un ataque de RansomEXX porque la empresa optó por no pagar el rescate y en su lugar restauraron su sistema a través de respaldos.
-
- Erebus
La primera vez que se vio a Erebus fue en septiembre del 2016 a través del “malvertising”, el uso de anuncios para propagar campañas de malware. Volvió a emerger en febrero del 2017 y usó un método que evadía el User Account Control de Windows (UAC).
En junio de 2017, Erebus infectó 153 servidores de Linux de NAYANA, una empresa de web hosting de Corea del Sur y, por lo tanto, 3,400 sitios web hostedos por la empresa. Puede inferirse que Erebus pudo haber potenciado ya sea vulnerabilidades o un exploit local de Linux (como la vulnerabilidad Dirty COW), el cual pudo haber otorgado a los atacantes con acceso a la raíz de los sistemas vulnerables de Linux.
- Cryptominers
Un motivo relativamente nuevo para los atacantes involucra infiltrar y abusar los recursos de cómputo para minar criptomonedas. Los cibercriminales pueden abusar el cryptomining, una actividad increíblemente intensiva en el uso de recursos, para infectar dispositivos y sistemas con miners maliciosos para robar recursos de sus víctimas.
En un blog, describimos cómo el malware de cryptomining de Linux puede correr código arbitrario a través de la explotación de vulnerabilidades, ataques de fuerza bruta o el abuso de APIs expuestas. También discutimos el comportamiento de las muestras de malware de minería de criptomonedas que hemos visto se están dirigiendo hacia las máquinas host de Linux: Estas también “matan” a cualquier otro malware de cryptomining en una máquina infectada y buscan herramientas poderosas con capacidades casi ilimitadas de cómputo, como containers Docker o Redis.
Otro coinminer, detectado por Trend Micro como Coinminer.Linux.MALXMR.SMDSL64 fue descubierto explotando vulnerabilidades comunes como el SaltStack Authorization Bypass (CVE-2020-11651) y el SaltStack Directory Traversal (CVE-2020-11652), de acuerdo con datos de la Trend Micro™ Smart Protection Network™. A principios de año, investigadores encontraron un directorio abierto que contenía archivos maliciosos, el cual había sido reportado inicialmente en una serie de tweets de MalwareHunterTeam. Después de analizar algunos de los archivos, descubrimos un miner malicioso y un bot distributed denial-of-service (DDoS) que se dirige a los puertos abiertos de Docker Daemon. Este coinminer fue después detectado como Coinminer.SH.HADGLIDER.A.
- Scripts maliciosos
Los shell scripts se usan debido a su simpleza. Con estos, los programadores de Unix pueden ejecutar fácilmente múltiples comandos de Linux que están embebidos en un solo archivo. Los shell scripts son interpretados por el shell o por el intérprete de línea de comando de Linux. Esta herramienta, la cual puede encontrarse en todas las máquinas de UNIX, también puede ser abusada por los cibercriminales.
Escabullir un script malicioso es más fácil que usar malware compilado. Hay varias razones detrás de la popularidad de usar scripts maliciosos para ataques de Linux:
- Son fáciles de subir como archivos de texto.
- Son más pequeños en tamaño.
- Hay menos probabilidades de que sean detectados.
- Pueden crearse en el momento.
Una vez que estos scripts llegan al host, se ejecutan en una ubicación segura donde no pueden ser descubiertos, como el folder /tmp. Generalmente, estos scripts no traen consigo algo malicioso, pero sí se conectan con el servidor de comando-y-control (C&C) para descargar malware.
- Web shells y backdoors
Una web shell es un script que un atacante planta en un servidor web para ya sea ayudarle a correr comandos que puedan controlar o simplemente obtener acceso directo a sistemas comprometidos. En agosto de 2020, nos encontramos con Ensiko, una web shell PHP dirigida hacia Linux, Windows macOS o cualquier otra plataforma que tiene instalado PHP. Además de ejecutar código de forma remota, los atacantes también pueden ejecutar comandos y alterar sitios web usando esta variante web.
Los cibercriminales también usan backdoors para obtener acceso a sistemas críticos, como el que fue detectado por Trend Micro como Backdoor.Linux.KINSING.A. Este malware es un agente de Linux basado en Golang que busca puertos API Docker Daemon con fallas de configuración para correr un container de Ubuntu.
- Rootkits
Los rootkits son amenazas persistentes que están hechas para ser difíciles de detectar u observar. El propósito principal de un rootkit es mantenerse a sí mismo y a otras amenazas de malware debajo del radar, de un lado, para los administradores, analistas y usuarios y, del otro lado, indetectable por herramientas de escaneo, sistema y forenses. Los rootkits también podrían abrir un backdoor o usar un servidor C&C y ofrecerle formas a un atacante con las que puede espiar y controlar una máquina infectada.
-
- Umbreon
En Linux, cuando un programa llama a la función printf(), hay otras funciones en cascada en la misma biblioteca que también son llamadas, como _IO_printf() and vprintf(). Todas estas funciones terminan llamando a write(). Un ejemplo de esto es el rootkit Umbreon, el cual detectamos hace algunos años. En nuestro análisis técnico, ofrecemos detalles de Umbreon, un rootkit con múltiples arquitecturas que se dirige hacia Linux y otros sistemas que corran Intel y procesadores ARM.
-
- Drovorub
Fancy Bear, también conocido como Pawn Storm, Sednit, APT28, Sofacy y Strontium, es una organización activa de ciberespionaje que ha ganado notoriedad debido al espionaje nacional y extranjero en los últimos años. Este grupo es responsable de un toolset de malware de Linux llamado Drovorub, el cual puede conectarse a una infraestructura C&C, descargar y subir archivos maliciosos y realizar RCE:
-
- Diamorphine
Diamorphine es un rootkit LKM (Loadable Kernel Module) usado para kernels 2.6.x/3.x/4.x/5.x de Linux y ARM64. Merece que se le mencionemos aquí porque fue usado recientemente en ataques a principios del 2020 por un grupo de hackers llamado TeamTNT. De acuerdo con Cado Security, los actores maliciosos usaron Diamorphine junto con una variante de malware que es similar al gusano Kinsing para robar credenciales de AWS y locales, así como escanear el internet para encontrar servidores API de Docker y Kubernetes expuestos y con fallas de configuración.
La presencia de Linux y su uso para administrar información crítica lo convierte en un blanco muy lucrativo para los atacantes. La creciente lista de familias de ransomware que se dirigen a Linux y el gran número de vulnerabilidades que están siendo aprovechadas por los actores maliciosos para comprometer el ambiente de Linux sirve como evidencia para demostrarlo. Estas amenazas basadas en Linux confirman la necesidad de tener una seguridad fortalecida, especialmente para las empresas y organizaciones que usan el sistema en plataformas críticas de negocio.
Recomendaciones de seguridad para sistemas Linux
Mientras las empresas operan e innovan a velocidades sin precedentes, se espera que el uso de Linux se vuelva aún más común de lo que lo es ahora. Más importante, conforme más individuos y empresas de alto valor se apoyan de Linux para sus infraestructuras y sistemas en línea, es inevitable que los cibercriminales también volteen hacia Linux como una forma de hacer dinero.
Aquí hay algunas recomendaciones de seguridad para mantener seguros los sistemas Linux:
- Adopte prácticas de infrastructure as code (IaC) para asegurarse de que los sistemas son creados correctamente y que sus configuraciones permanecen como usted las colocó.
- Adopte el principio del menor privilegio y el modelo de responsabilidad compartida.
- Mantenga la visibilidad. Monitoree todos los dispositivos, sistemas y redes.
- Reemplace las contraseñas por defecto con una fuertes y seguras. Siempre opte por la autenticación multifactor.
- Parchee y actualice los sistemas regularmente.
Soluciones de Trend Micro
La complete solución de XDR de Trend Micro aplica los analíticos expertos más eficientes a los data sets recolectados por las soluciones de Trend Micro a lo largo de la empresa, creando conexiones más rápidas para identificar y detener los ataques. Una poderosa inteligencia artificial (AI) y analíticos expertos de seguridad correlacionan datos de los ambientes de los clientes y la inteligencia global de amenazas de Trend Micro para entregar menos alertas, pero de mayor fidelidad, logrando así una mejor detección y más temprana. Una consola con una fuente de alertas priorizadas y optimizadas soportada con investigaciones guiadas simplificada los pasos para lograr un entendimiento completo del camino del ataque y su impacto en la organización.
Las soluciones específicas para la nube como Trend Micro Hybrid Cloud Security pueden ayudar a proteger los sistemas nativos de la nube y sus múltiples capas. Hybrid Cloud Security está potenciado por Trend Micro Cloud One™, una plataforma de servicios de seguridad para desarrolladores en la nube que ofrece protección automatizada para los pipelines de integración continua y entrega continua (CI/CD) y aplicaciones. También ayuda a identificar y resolver problemas de seguridad de forma más temprana y mejorar el tiempo de entrega para los equipos DevOps. Cloud One incluye:
- Workload Security: protección en runtime para workloads
- Container Security: escaneo automatizado de registros e imágenes en containers
- File Storage Security: seguridad para archivos en la nube y servicios de almacenamiento de objetos
- Network Security: capa en la red de la nube para la seguridad de Intrusion Prevention System (IPS)
- Application Security: seguridad para funciones serverless, APIs y aplicaciones
- Conformity: seguridad en tiempo real para la infraestructura en la nube – proteja, optimice, cumpla
Leave a Reply