El proyecto Snuffleupagus está desarrollando un módulo PHP para bloquear vulnerabilidades

En el marco del proyecto. Snuffleupagus está desarrollando un módulo para conectarse al intérprete PHP7, diseñado para mejorar la seguridad del entorno y bloquear errores comunes que conducen a vulnerabilidades en la ejecución de aplicaciones PHP. El módulo también le permite crear parches virtuales para solucionar 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. 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. Del mismo modo, puedes crear parches virtuales para bloquear vulnerabilidades conocidas.

A juzgar por las pruebas realizadas por los desarrolladores, Snuffleupagus apenas reduce el rendimiento. Para garantizar su propia seguridad (las posibles vulnerabilidades en la capa de seguridad pueden servir como un vector adicional de ataques), el proyecto utiliza pruebas exhaustivas de cada confirmación en diferentes distribuciones, utiliza sistemas de análisis estáticos y el código está formateado y documentado para simplificar la auditoría.

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.

Se admiten los siguientes modos para mejorar la seguridad de PHP:

  • 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;

El proyecto fue creado y utilizado para proteger a los usuarios en la infraestructura de uno de los grandes operadores de hosting franceses. Se observaque simplemente conectar Snuffleupagus protegería contra muchas de las peligrosas vulnerabilidades identificadas este año en Drupal, WordPress y phpBB. Las vulnerabilidades en Magento y Horde podrían bloquearse habilitando la
"sp.readonly_exec.enable()".

Fuente: opennet.ru

Añadir un comentario