es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo resolver la auditoría de seguridad que encuentra una inyección de registros en la aplicación Java Spring Boot.

Estoy tratando de obtener los detalles de la excepción registrándola usando lombok externo Slf4j. Pero encontré un problema en el análisis de coverity de la siguiente manera:

Este es un hallazgo de auditoría de seguridad. CID 227846 (#1 de 1): Inyección de log (LOG_INJECTION). Una cadena contaminada ex se almacena en los registros. Esto podría permitir a un atacante falsificar mensajes de registro para confundir herramientas de análisis de registro automatizadas o humanos que intenten diagnosticar un ataque u otro problema. El valor se utiliza de manera insegura en el bytecode, que no se puede mostrar.
Las vulnerabilidades de inyección de log se pueden solucionar validando que la entrada controlada por el usuario cumpla con las expectativas.

log.error(Constants.EXCEPTION_OCCURRED_MSG, ex);

Raramente encontré opciones para resolver este problema. ¿ESAPI o Apache log4j Audit encajan aquí? Por favor, sugiera.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en log4j, slf4j, lombok, esapi y log-forging, comprendo el problema que estás enfrentando al registrar los detalles de la excepción usando lombok extern Slf4j. El informe generado por la herramienta de escaneo coverity indica que tu código podría ser vulnerable a ataques de Inyección de Log, lo que podría permitir a los atacantes falsificar mensajes de registro para confundir a las herramientas de diagnóstico o a las personas que intentan diagnosticar un ataque u otro problema.

    Para abordar este hallazgo de auditoría de seguridad, necesitas validar que la entrada controlada por el usuario cumple con las expectativas. Puedes lograr esto utilizando una biblioteca de validación como ESAPI o implementando Apache log4j Audit.

    ESAPI (Enterprise Security API) es una biblioteca de seguridad que proporciona un conjunto de funciones para proteger tu aplicación contra diferentes amenazas de seguridad. Proporciona APIs de Validación que te permiten validar y sanitizar las entradas de usuario para prevenir problemas de seguridad como la Inyección de Log. Utilizando las APIs de Validación de ESAPI, puedes sanitizar la entrada del usuario antes de registrarla, lo que evita que los atacantes falsifiquen mensajes de registro.

    Apache log4j Audit es otra opción que puede ayudarte a abordar las vulnerabilidades de Inyección de Log. Esta biblioteca proporciona capacidades de auditoría que te permiten registrar eventos y acciones específicas en tu aplicación. Utilizando esta biblioteca, puedes hacer un seguimiento de todos los eventos críticos en tu aplicación, incluyendo excepciones, y prevenir que los atacantes falsifiquen mensajes de registro.

    En conclusión, para resolver el problema de Inyección de Log informado por el escaneo de coverity al registrar los detalles de la excepción usando lombok extern Slf4j, puedes utilizar ESAPI o Apache log4j Audit para validar la entrada controlada por el usuario y prevenir que los atacantes falsifiquen mensajes de registro.

Comments are closed.