Verifique las vulnerabilidades de Log4j con este script fácil de usar

Si no está seguro de si su proyecto Java está libre de vulnerabilidades Log4j, debería probar esta herramienta de escaneo fácil de usar de inmediato.

Imagen: Shutterstock / LeoWolfert

Una gran cosa sobre Linux y la comunidad de código abierto es que tan pronto como se detecta una vulnerabilidad, los desarrolladores están trabajando duro para liberar herramientas para mitigar el problema. Tal es el caso de la vulnerabilidad Log4j.

Este problema en particular es bastante malo, ya que afecta a muchos servidores y proyectos. Así es como funciona la vulnerabilidad Log4j:

Log4j2 admite una función de registro llamada Sustitución de búsqueda de mensajes, que permite reemplazar cadenas especiales, durante el tiempo de registro, por otras cadenas generadas dinámicamente.Uno de los métodos de búsqueda (JNDI emparejado con LDAP) obtiene una clase especial de una fuente remota para deserializarlo, que ejecuta parte del código de la clase. Cualquier parte de la cadena registrada puede ser controlada por un atacante remoto.

Parte del problema es que Log4j está tan profundamente integrado en los proyectos y dependencias de Java que utilizan muchas herramientas. Por lo tanto, encontrar todas las vulnerabilidades en su servidor puede ser complicado.

Afortunadamente, se han realizado muchos esfuerzos para ayudar a localizar estos problemas. Uno de esos esfuerzos es Log4j Detect, que escaneará sus proyectos de desarrollo para asegurarse de que estén libres de vulnerabilidades.

Quiero mostrarle cómo usar el script Log4j Detect para escanear sus proyectos Java.

VER: Violación de contraseña: por qué la cultura pop y las contraseñas no se mezclan (PDF gratuito) (TechRepublic)

Lo que necesitarás

Para trabajar con este script, necesitará un proyecto Java y un usuario con privilegios de sudo. Eso es. Pongámonos a trabajar. Este script se puede utilizar en Linux, macOS y Windows. Estaré demostrando en Linux (a través de Ubuntu Server 20.04).

Cómo descargar e instalar Log4j Detect

Lo primero que debe hacer es la instalación de Log4j Detect. Para hacer eso, inicie sesión en su servidor Linux y descargue el script configurando primero la arquitectura de su sistema como una variable de entorno con:

ARCH = amd64

Si su arquitectura es ARM, ese comando sería:

ARCO = arm64

A continuación, descargue el script con:

wget «https://github.com/whitesource/log4j-detect-distribution/releases/latest/download/log4j-detect-1.3.0-darwin-$ARCH.tar.gz»

Desempaquete el archivo con:

tar -xzvf log4j-detect-1.3.0-darwin- $ ARCH.tar.gz

Otorgue al archivo los permisos adecuados con:

chmod + x log4j-detect

Mueva el archivo a / usr / local / bin con:

sudo mv log4j-detect / usr / local / bin /

Cómo escanear su proyecto con Log4j-detect

Ahora que la instalación está completa, escaneemos un proyecto en busca de vulnerabilidades de Log4j. Digamos que su proyecto está alojado en un directorio llamado JAVAWeb-Project. Cambie a ese directorio y emita el comando:

escaneo de detección de log4j

Dependiendo de qué tan grande sea su proyecto, el escaneo no debería tomar mucho tiempo en completarse. Cuando lo haga, informará si hay algún problema (Figura A).

Figura A

Los resultados de un escaneo de detección de Log4j en un proyecto Java aleatorio que encontré en GitHub

Como puede ver, el proyecto Java que probé tiene problemas de Log4j que deben abordarse. El guión señalará los problemas y cómo solucionarlos. Una vez que haya abordado todo, ejecute el script nuevamente para ver si las vulnerabilidades ya no se detectan.

Debe considerar esto como algo que debe hacer para todos los proyectos y servidores que sospecha que pueden ser vulnerables a Log4j (e incluso aquellos que cree que son seguros). Este es un caso en el que seguramente es mejor prevenir que curar.

Ver también