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 el intérprete PHP7 para aumentar la seguridad del entorno y bloquear errores típicos que pueden llevar a vulnerabilidades en las aplicaciones PHP ejecutadas. Este módulo también permite crear parches virtuales para abordar problemas específicos sin modificar los textos originales de la aplicación vulnerable, lo que es conveniente para su uso en sistemas de alojamiento masivo donde no es posible mantener todas las aplicaciones de los usuarios actualizadas. Los costos adicionales del funcionamiento del módulo se consideran mínimos. El módulo está escrito en lenguaje C, se carga en forma de biblioteca compartida ("extension=snuffleupagus.so" en php.ini) y se distribuye bajo la licencia LGPL 3.0.

Snuffleupagus proporciona un sistema de reglas que permite utilizar tanto plantillas estándar para mejorar la protección como crear reglas personalizadas para controlar los datos de entrada y los parámetros de funciones. Por ejemplo, la regla "sp.disable_function.function("system").param("command").value_r("[$|;&`\n]" ).drop();" permite, sin modificar las aplicaciones, restringir el uso de caracteres especiales en los argumentos de la función system(). Se proporcionan métodos integrados para bloquear clases de vulnerabilidades tales como problemas relacionados con la serialización de datos, uso inseguro de la función PHP mail(), fuga de contenido de Cookies durante ataques XSS, problemas derivados de la carga de archivos con código ejecutable (por ejemplo, en formato phar), generación deficiente de números aleatorios y sustitución de construcciones XML incorrectas.

Los modos de aumento de protección PHP proporcionados en Snuffleupagus son:

  • Activación automática de las banderas "secure" y "samesite" (protección contra CSRF) para Cookies, cifrado de Cookies;
  • Conjunto de reglas incorporado para identificar huellas de ataques y compromisos de aplicaciones;
  • Activación global obligatoria del modo "strict" (por ejemplo, bloquea intentos de pasar una cadena cuando se espera un valor entero como argumento) y protección contra manipulaciones de tipos,;
  • Bloqueo por defecto de envolturas para protocolos por ejemplo, prohibición de "phar://" con su autorización explícita en una lista blanca;
  • Prohibición de la ejecución de archivos que son escribibles;
  • Listas negras y blancas para eval;
  • Activación obligatoria de la verificación de certificados TLS al usar
    curl;
  • Añadir HMAC a los objetos serializados para garantizar que al deserializar se obtienen los datos guardados por la aplicación original;
  • Modo de registro de solicitudes;
  • Bloquear la carga de archivos externos en libxml a través de enlaces en documentos XML;
  • Posibilidad de conectar controladores externos (upload_validation) para validar y escanear los archivos cargados;

Entre cambios En la nueva versión: Se ha mejorado el soporte para PHP 7.4 y se ha implementado la compatibilidad con la rama de desarrollo de PHP 8. Se ha añadido la opción de registrar eventos a través de syslog (para su activación se sugiere la directiva sp.log_media, que puede aceptar los valores php o syslog). Se ha actualizado el conjunto de reglas propuesto por defecto, que ahora incluye nuevas reglas para vulnerabilidades y técnicas de ataque recientemente detectadas en aplicaciones web. Se ha mejorado el soporte para macOS y se ha ampliado la aplicación de la plataforma de integración continua basada en GitLab.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster