¿Cómo escanear y reparar la vulnerabilidad de Log4j?

La vulnerabilidad Log4j se encuentra entre los problemas de seguridad más mortales en los sistemas modernos.

El registro es una característica clave en las aplicaciones modernas, y la biblioteca de registro, Log4j, es líder en este espacio.

Esta biblioteca se utiliza en la mayoría de las aplicaciones, servicios y sistemas. Por lo tanto, todas aquellas aplicaciones en las que se usa Log4j se ven afectadas por esta vulnerabilidad de Log4j encontrada el año pasado.

Con la creciente preocupación por la seguridad cibernética en todo el mundo, las organizaciones y las personas están tomando medidas para proteger sus aplicaciones, sistemas y datos.

Y cuando se descubrió esta vulnerabilidad, estresó aún más a profesionales y empresas.

Por lo tanto, detectar la vulnerabilidad de Log4j y corregirla es esencial si desea proteger sus datos, su red, su reputación y la confianza de sus clientes.

En este artículo, discutiré qué es la vulnerabilidad Log4j, junto con los pasos para detectarla y solucionarla.

Comencemos por comprender Log4j y por qué lo necesita.

¿Qué es Log4j?

Log4j es una utilidad de registro de código abierto escrita en Java que se utiliza principalmente para almacenar, formatear y publicar registros de registro generados por aplicaciones y sistemas y luego verificar errores. Los registros pueden ser de varios tipos, desde una página web y datos del navegador hasta los detalles técnicos de un sistema donde se ejecuta Log4j.

En lugar de escribir código desde cero, los desarrolladores pueden usar la biblioteca Log4j integrando su código en sus aplicaciones.

Con Log4j, los desarrolladores pueden realizar un seguimiento de todos los eventos asociados con sus aplicaciones con información de registro precisa. Les ayuda a monitorear aplicaciones, detectar problemas a tiempo y solucionar problemas antes de que se conviertan en un problema mayor en términos de rendimiento y/o seguridad.

Esta biblioteca basada en Java fue escrita por Ceki Gülcü y fue lanzada en 2001 bajo la Licencia Apache 2.0. Utiliza los servicios de interfaz de directorio y nombres de Java (JNDI) para permitir que las aplicaciones interactúen con otras aplicaciones como LDAP, DNS, CORBA, etc., y obtenga una funcionalidad de directorio y nombres para aplicaciones basadas en Java. Log4j tiene tres componentes para realizar sus tareas:

  • Registradores para capturar registros de registro
  • Diseños para formatear registros de registro en diferentes estilos
  • Appenders para publicar registros de registro a diferentes destinos

Log4j es, de hecho, una de las bibliotecas de registro más famosas de la web y es utilizada por organizaciones de múltiples industrias y países. Han integrado esta biblioteca de registro en muchas aplicaciones, incluidos los principales servicios en la nube de Google, Microsoft, Apple, Cloudflare, Twitter, etc.

Su desarrollador, Apache Software Foundation, desarrolló Log4j 2, una actualización de Log4j para abordar los problemas encontrados en las versiones anteriores. El año pasado, se encontró una vulnerabilidad en Log4j que, si no se soluciona, puede permitir a los atacantes acceder a aplicaciones y sistemas, robar datos, infectar una red y realizar otras actividades maliciosas.

Entendámoslo más.

¿Qué es Log4Shell, la vulnerabilidad de Log4j?

Log4Shell es una vulnerabilidad crítica de ciberseguridad en la biblioteca Log4j, que afecta el funcionamiento central de la biblioteca. Permite que un atacante controle un dispositivo o una aplicación conectados a Internet mediante la ejecución remota de código. Cuando tienen éxito en ello, pueden:

  • Ejecute cualquier código en el dispositivo o sistema
  • Acceda a toda la red y los datos
  • Modifique o cifre cualquier archivo en la aplicación o dispositivo afectado

Esta vulnerabilidad fue reportada por primera vez el 24 de noviembre de 2021 por Chen Zhaojun, investigador de seguridad en Alibaba (un gigante chino del comercio electrónico). La vulnerabilidad afectó a sus servidores de Minecraft, que el equipo de seguridad en la nube de Alibaba descubrió el 9 de diciembre.

A continuación, el NIST publicó esta vulnerabilidad en la Base de datos nacional de vulnerabilidades y la denominó CVE-2021-44228. Apache Software Foundation calificó esta vulnerabilidad con 10 en gravedad CVSS. Esto rara vez se asigna y es muy grave, ya que tiene el potencial de explotarse amplia y fácilmente, lo que genera daños masivos para organizaciones e individuos.

Apache, en respuesta, emitió un parche para esta vulnerabilidad, pero aun así, algunas partes quedaron sin abordar, lo que generó otras vulnerabilidades:

  • CVE-2021-45046 que facilitó ataques de denegación de servicio (DoS) a través de búsquedas JNDI
  • CVE-2021-45105 para permitir que los piratas informáticos controlen la información del mapa de contexto de subprocesos y provoquen ataques DoS al interpretar una cadena manipulada
  • CVE-2021-44832 afecta a todas las versiones de Log4j 2 a través de inyección de código remoto (RCE)

¿Cómo funciona Log4Shell?

Para comprender su gravedad y cuánto daño puede causar Log4Shell, es pertinente aprender cómo funciona esta vulnerabilidad de Log4j.

La vulnerabilidad de Log4Shell permite que un atacante inyecte de forma remota cualquier código arbitrario en una red y obtenga un control completo sobre ella.

Esta secuencia de ciberataque comienza con la biblioteca de registro, como Log4j, que recopila y almacena información de registro. Si no hay una biblioteca de registro, todos los datos del servidor se archivarán instantáneamente después de recopilarlos.

Pero si desea analizar estos datos o necesita realizar algunas acciones en función de información de registro específica, necesitará una biblioteca de registro para analizar los datos de registro antes de archivarlos.

Debido a la vulnerabilidad de Log4j, cualquier sistema o aplicación que use Log4j se vuelve vulnerable a los ataques cibernéticos. La biblioteca de registro ejecuta el código en función de la entrada. Un pirata informático puede obligar a la biblioteca de registros a ejecutar código dañino, ya que la vulnerabilidad les permitirá manipular la entrada.

Mientras tanto, muchas cosas suceden en el fondo. Cuando a Log4j se le pasa una cadena específicamente diseñada, invocará un servidor LDP y descargará ese código alojado en su directorio para ejecutar el código. De esta forma, los atacantes pueden crear un servidor LDAP para almacenar código malicioso que les ayude a controlar cualquier servidor donde se ejecute el código. Luego enviará una cadena que dirige su código malicioso a una aplicación o sistema objetivo y tomará el control total.

Entonces, así es como se puede explotar la vulnerabilidad de Log4j:

  • Un atacante encuentra un servidor con una versión vulnerable de Log4j.
  • Enviarán al servidor de destino una solicitud de obtención con el enlace de su servidor LDAP malicioso.
  • El servidor de destino, en lugar de verificar la solicitud, se conectará directamente a este servidor LDAP.
  • Los atacantes ahora enviarán al servidor de destino una respuesta del servidor LDAP que contiene código malicioso. Debido a la vulnerabilidad de Log4j, que permite recibir el código y ejecutarlo sin verificación, el pirata informático puede aprovechar esta debilidad para ingresar al servidor de destino y explotar los sistemas, redes y dispositivos conectados.

¿Cómo puede la vulnerabilidad de Log4j dañar a los usuarios?

La vulnerabilidad Log4j es preocupante ya que se utiliza en una amplia gama de aplicaciones y sistemas de software.

Dado que el registro es una función esencial en la mayoría de las aplicaciones de software y Log4j es una solución líder en el espacio, Log4j encuentra aplicaciones en una variedad de sistemas de software.

Algunos de los servicios y aplicaciones populares que utilizan Log4j son Minecraft, AWS, iCloud, Microsoft, Twitter, enrutadores de Internet, herramientas de desarrollo de software, herramientas de seguridad, etc. Por lo tanto, los atacantes pueden apuntar a una gran cantidad de aplicaciones, servicios y sistemas de usuarios domésticos, desarrolladores de códigos, proveedores de servicios y otros profesionales e individuos relacionados.

Además, la vulnerabilidad Log4j es extremadamente fácil de explotar para un atacante. El proceso general requiere menos conjuntos de habilidades, no de nivel experto, para llevar a cabo un ataque. Es por ello que el número de ataques que aprovechan esta vulnerabilidad va en aumento.

El impacto de la vulnerabilidad Log4j son:

  • Ataques DoS
  • Ataques a la cadena de suministro
  • minería de monedas
  • Inyecciones de malware como ransomware y troyanos
  • Inyección de código arbitrario
  • Ejecución remota de código

Y más.

Como resultado de estos ataques, puede perder el control de sus aplicaciones, sistemas y dispositivos, y sus datos pueden ser presa de los atacantes que pueden vender sus datos, manipularlos o exponerlos al mundo exterior. Por lo tanto, su empresa puede verse perjudicada en términos de privacidad de los datos de los clientes, confianza, secretos de la organización e incluso sus ventas e ingresos, por no hablar de los riesgos de cumplimiento.

De acuerdo con el reportemás del 40% de las redes corporativas globales han sufrido ataques debido a esta vulnerabilidad.

Por lo tanto, incluso si no usa ninguna versión vulnerable de Log4j en sus aplicaciones, sus integraciones de terceros podrían estar usándola, lo que hace que su aplicación sea vulnerable a los ataques.

Tenga en cuenta que todas las versiones de Log4j anteriores a Log4j 2.17.0. se ven afectados; por lo tanto, debe actualizar el registrador si lo usa. Además, los proveedores famosos que se ven afectados por esta vulnerabilidad de Log4j son Adobe, AWS, IBM, Cisco, VMware, Okta, Fortinet, etc. Si usa alguno de ellos, supervise sus aplicaciones continuamente y use sistemas de seguridad para solucionar problemas tan pronto como sea posible. surge

Cómo detectar programas afectados por Log4j y solucionar los problemas

La vulnerabilidad Log4Shell tiene un 10 en la puntuación CVSS. Por lo tanto, todos los problemas en Log4j aún no están parcheados. Pero existe la posibilidad de que usted o su proveedor externo utilicen Log4j, que ha utilizado en su aplicación.

Por lo tanto, si desea proteger sus datos, sistemas y redes, asegúrese de seguir algunos pasos de reparación.

#1. Actualice su versión de Log4j

Actualizar su versión actual de Log4j a Log 4j 2.17.1 es la técnica de reparación más efectiva si desea proteger su dispositivo y sus aplicaciones de ataques como resultado de la vulnerabilidad de Log4j.

Log4Shell es un tipo de ataque de día cero que puede afectar potencialmente a su ecosistema de software. Apache solucionó algunas de las vulnerabilidades en versiones recientes, pero si su sistema se vio comprometido antes de la actualización, todavía está en riesgo.

Por lo tanto, suponiendo esto, no solo debe actualizar la versión, sino también iniciar sus procedimientos de respuesta a incidentes de inmediato para asegurarse de que no haya vulnerabilidades en sus sistemas y aplicaciones y mitigar los ataques. También debe revisar todos los registros de su servidor para encontrar indicadores de compromiso (IOC) y monitorear constantemente sus sistemas y su red.

#2. Utilice los últimos cortafuegos y sistemas de seguridad

Los cortafuegos, como el cortafuegos de aplicaciones web (WAF) y los cortafuegos de próxima generación, pueden ayudar a proteger el perímetro de su red de los atacantes al escanear los paquetes de datos entrantes y salientes y bloquear los sospechosos. Por lo tanto, use los últimos firewalls en su red y establezca reglas de salida estrictas en sus servidores para ayudar a prevenir ataques asociados con la vulnerabilidad de Log4j.

Aunque los atacantes pueden eludir los cortafuegos, aún obtendrá cierto grado de seguridad con cortafuegos que pueden bloquear las solicitudes de un atacante.

Además, actualice todos sus sistemas de seguridad, como los Sistemas de Detección de Intrusos (IDS), los Sistemas de Prevención de Intrusos (IPS), etc., con las últimas firmas y reglas. Estos sistemas ayudarán a bloquear o filtrar el tráfico RMI y LDAP para que no se conecte a un servidor LDAP malicioso.

#3. Implementar MFA

La configuración de la autenticación multifactor (MFA) en sus aplicaciones y sistema proporcionará una mejor seguridad contra los atacantes. Proporcionará una segunda capa de seguridad incluso si un atacante logra romper la primera capa. Puede hacerlo a través de datos biométricos como huellas dactilares, escaneo de iris, etc., estableciendo una pregunta de seguridad o habilitando un PIN de seguridad.

El uso de MFA aumentará la dificultad y el tiempo de los atacantes para realizar un ataque completo. Mientras tanto, también puede informarle sobre el incidente de inmediato para que pueda tomar las medidas correctivas necesarias cuando aún tenga tiempo.

Además, también debe aplicar estrictas políticas de VPN para reducir las filtraciones de datos. Esto permitirá a los usuarios acceder a sus sistemas de forma segura desde cualquier lugar sin temor a los atacantes.

#4. Cambiar las propiedades del sistema

En caso de que no pueda actualizar a la última versión de la biblioteca Log4j, debe cambiar las propiedades de su sistema java inmediatamente si usa una versión que va desde Log4j 2.10 a Log4j 2.14.1.

Debe configurarlo de tal manera que evite las búsquedas que los atacantes utilizan para detectar las vulnerabilidades y luego encontrar formas de explotarlas.

#5. Quitar JNDI

La razón de esta vulnerabilidad de seguridad crítica radica en su diseño. El complemento JNDI Lookup tiene un defecto de diseño a través del cual los atacantes pueden realizar un ataque.

JNDI se usa para la ejecución de código en función de los datos de entrada en su registro, que cualquiera puede manipular fácilmente ya que el registrador acepta cualquier solicitud sin verificación.

Los investigadores de seguridad descubrieron que este complemento siempre ha permitido datos sin analizar desde que se lanzó en 2013 y los envía a la biblioteca Log4j.

Por lo tanto, la vulnerabilidad Log4j es propensa a ser explotada con una simple inyección de cadena. Una vez que el atacante lo inyecta, el registrador aceptará la operación solicitada en la cadena y la ejecutará instantáneamente sin verificación.

Entonces, si desea proteger sus sistemas y aplicaciones, debe deshabilitar la clase: JndiLookup. Esto evitará que el registrador tome medidas en función de los datos de registro.

De hecho, la búsqueda JNDI ya está deshabilitada en Log4j 2.16.0 de forma predeterminada en un intento de proteger sus aplicaciones y sistemas.

Por lo tanto, si está utilizando una versión de Log4j anterior a la 2.16.0, asegúrese de haber deshabilitado la búsqueda JNDI.

#6. Hable con sus proveedores

Si tiene todo bien, sus firewalls y sistemas de seguridad actualizados, la versión de Log4j actualizada, la búsqueda JNDI desactivada, etc., no se relaje todavía.

Incluso si no usa una versión vulnerable de Log4j en sus aplicaciones, sus proveedores externos podrían estar usándola. Por lo tanto, nunca sabrá cómo se pirateó su aplicación o sistema porque el problema real fue con su integración de terceros.

Por lo tanto, hable con sus proveedores y asegúrese de que ellos también hayan actualizado Log4j a la última versión e implementado otras prácticas de seguridad mencionadas anteriormente.

#7. Utilice un escáner de vulnerabilidades Log4j

Hay muchas herramientas de escaneo de vulnerabilidades de Log4j disponibles en el mercado para facilitarle la detección de vulnerabilidades de Log4j en sus sistemas y aplicaciones.

Por lo tanto, cuando busque estas herramientas, verifique sus índices de precisión, ya que muchas de ellas generan falsos positivos. Además, encuentre una herramienta que pueda satisfacer sus necesidades porque puede centrarse en identificar la vulnerabilidad de Log4j, informar la exposición y remediar la vulnerabilidad.

Entonces, si su enfoque es la detección, busque un escáner de vulnerabilidades Log4j que pueda detectar el problema o use uno que pueda detectar y remediar el problema.

Algunas de las mejores herramientas de escaneo de Log4j son:

  • Microsoft 365 Defender: Microsoft ofrece una variedad de soluciones y herramientas de seguridad para ayudarlo a detectar y prevenir las vulnerabilidades de Log4j en su red. Podrá detectar la ejecución remota de código y los intentos de explotación, protegiéndolo de las vulnerabilidades de Log4j en dispositivos Windows y Linux.
  • Amazon Inspector y AWS: Amazon ha creado una herramienta de escaneo para encontrar la vulnerabilidad Log4j en las instancias de Amazon EC2 y Amazon ECR.
  • Herramienta de escaneo de archivos CloudStrike (CAST): CloudStrike también ha creado una excelente herramienta de escaneo para detectar la vulnerabilidad de Log4j para ayudarlo a solucionar los problemas a tiempo antes de que los atacantes puedan explotarlos.
  • Detección de registro en la nube de Google: la solución de detección de registro en la nube de Google le permite detectar vulnerabilidades de Log4j mediante Logs Explorer. Puede crear una consulta de registro en esta herramienta y buscar posibles cadenas de explotación.
  • Google también ha creado log4jscanner, un escáner de sistema de archivos de código abierto para detectar la vulnerabilidad de Log4j.
  • BurpSuite Log4j Scanner: este es un complemento de seguridad para profesionales y empresas que les ayuda a detectar la vulnerabilidad de Log4j.
  • Huntress Log4Shell Vulnerability Tester: esta herramienta genera un identificador único al azar que puede usar mientras prueba sus campos de entrada. Al encontrar una vulnerabilidad en la aplicación o en el campo de entrada, su servidor LDAP seguro finalizará la conexión maliciosa al instante y lo mantendrá a salvo.
  • WhiteSource Log4j Detect: WhiteSource ha creado una herramienta CLI gratuita, WhiteSource Log4j Detect, alojada en GitHub para ayudarlo a detectar y reparar las vulnerabilidades de Log4j: CVE-2021-445046 y CVE-2021-44228.
  • Herramientas de análisis de código abierto de JFrog para Log4j: JFrog ha creado varias soluciones y herramientas de código abierto para encontrar vulnerabilidades de Log4j en sus binarios y código fuente.

Conclusión

La vulnerabilidad Log4j es un problema de seguridad crítico. Dado que esta biblioteca de registro se usa ampliamente en varias aplicaciones y sistemas, la vulnerabilidad Log4j se ha generalizado, lo que permite a los atacantes explotar una amplia gama de sistemas y aplicaciones.

Por lo tanto, si desea proteger sus sistemas y aplicaciones de esta vulnerabilidad, asegúrese de actualizar la biblioteca Log4j a la última versión e implementar las mejores prácticas de seguridad mencionadas anteriormente.