Lanzamiento de Snuffleupagus 0.5.1, un módulo para bloquear vulnerabilidades en aplicaciones PHP

Después de un año de desarrollo publicado lanzamiento del proyecto Snuffleupagus 0.5.1, que proporciona un módulo para que el intérprete PHP7 mejore la seguridad del entorno y bloquee errores comunes que conducen a vulnerabilidades en la ejecución de aplicaciones PHP. El módulo también le permite crear parches virtuales para eliminar problemas específicos sin cambiar el código fuente de la aplicación vulnerable, lo cual es conveniente para su uso en sistemas de alojamiento masivo donde es imposible mantener actualizadas todas las aplicaciones de los usuarios. Se estima que los costos generales del módulo son mínimos. El módulo está escrito en C, está conectado en forma de biblioteca compartida (“extensión=snuffleupagus.so” en php.ini) y distribuido por con licencia LGPL 3.0.

Snuffleupagus proporciona un sistema de reglas que le permite utilizar plantillas estándar para mejorar la seguridad o crear sus propias reglas para controlar los datos de entrada y los parámetros de función. Por ejemplo, la regla “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” le permite limitar el uso de caracteres especiales en los argumentos de la función system() sin cambiar la aplicación. Se proporcionan métodos integrados para bloquear clases de vulnerabilidades como problemas, Связанные con serialización de datos, inseguro uso de la función PHP mail(), filtración del contenido de las Cookies durante ataques XSS, problemas al cargar archivos con código ejecutable (por ejemplo, en el formato faraón), generación de números aleatorios de mala calidad y sustitución construcciones XML incorrectas.

Modos de mejora de seguridad de PHP proporcionados por Snuffleupagus:

  • Habilite automáticamente los indicadores "seguros" y "mismo sitio" (protección CSRF) para cookies, cifrado Galleta;
  • Conjunto integrado de reglas para identificar rastros de ataques y compromiso de aplicaciones;
  • Activación global forzada del "estricto" (por ejemplo, bloquea un intento de especificar una cadena cuando se espera un valor entero como argumento) y protección contra manipulación de tipos;
  • Bloqueo por defecto envoltorios de protocolo (por ejemplo, prohibir "phar://") con su lista blanca explícita;
  • Prohibición de ejecutar archivos que se puedan escribir;
  • Listas blancas y negras para evaluación;
  • Requerido para habilitar la verificación del certificado TLS cuando se usa
    rizo;
  • Agregar HMAC a los objetos serializados para garantizar que la deserialización recupere los datos almacenados por la aplicación original;
  • Solicitar modo de registro;
  • Bloquear la carga de archivos externos en libxml a través de enlaces en documentos XML;
  • Capacidad para conectar controladores externos (upload_validation) para verificar y escanear archivos cargados;

entre cambios en la nueva versión: Soporte mejorado para PHP 7.4 e implementación de compatibilidad con la rama PHP 8 actualmente en desarrollo. Se agregó la capacidad de registrar eventos a través de syslog (se propone incluir la directiva sp.log_media, que puede tomar valores de php o syslog). El conjunto predeterminado de reglas se ha actualizado para incluir nuevas reglas para vulnerabilidades y técnicas de ataque identificadas recientemente contra aplicaciones web. Soporte mejorado para macOS y uso ampliado de la plataforma de integración continua basada en GitLab.

Fuente: opennet.ru

Añadir un comentario