O proxecto Snuffleupagus está a desenvolver un módulo PHP para bloquear vulnerabilidades

Nos límites do proxecto snuffleupagus desenvólvese un módulo para conectarse ao intérprete PHP7, deseñado para mellorar a seguridade do entorno e bloquear erros comúns que provocan vulnerabilidades na execución de aplicacións PHP. O módulo tamén permite crear parches virtuais para solucionar problemas específicos sen cambiar o código fonte da aplicación vulnerable, o que resulta conveniente para o seu uso en sistemas de hospedaxe masiva nos que é imposible manter actualizadas todas as aplicacións dos usuarios. O módulo está escrito en C, está conectado en forma de biblioteca compartida ("extensión=snuffleupagus.so" en php.ini) e distribuído por licenciado baixo LGPL 3.0.

Snuffleupagus ofrece un sistema de regras que che permite utilizar modelos estándar para mellorar a seguridade ou crear as túas propias regras para controlar os datos de entrada e os parámetros das funcións. Por exemplo, a regra “sp.disable_function.function(“sistema”).param(“comando”).value_r(“[$|;&`\\n]”).drop();” permítelle limitar o uso de caracteres especiais nos argumentos da función system() sen cambiar a aplicación. Do mesmo xeito, podes crear parches virtuais para bloquear vulnerabilidades coñecidas.

A xulgar polas probas realizadas polos desenvolvedores, Snuffleupagus apenas reduce o rendemento. Para garantir a súa propia seguridade (as posibles vulnerabilidades da capa de seguridade poden servir como vector adicional para os ataques), o proxecto utiliza probas exhaustivas de cada commit en diferentes distribucións, utiliza sistemas de análise estática e o código está formateado e documentado para simplificar a auditoría.

Ofrécense métodos integrados para bloquear clases de vulnerabilidades como problemas, relacionado con serialización de datos, inseguro uso da función PHP mail(), fuga de contido de cookies durante ataques XSS, problemas debido á carga de ficheiros con código executable (por exemplo, no formato phar), xeración de números aleatorios de mala calidade e substitución construcións XML incorrectas.

Os seguintes modos son compatibles para mellorar a seguridade de PHP:

  • Activa automaticamente as marcas "segura" e "mesmo sitio" (protección CSRF) para as cookies, cifrado galleta;
  • Conxunto de regras incorporado para identificar rastros de ataques e compromiso de aplicacións;
  • Activación global forzada do "estrito" (por exemplo, bloquea un intento de especificar unha cadea cando se espera un valor enteiro como argumento) e protección contra manipulación de tipos;
  • Bloqueo predeterminado envoltorios de protocolo (por exemplo, prohibindo "phar://") coa súa lista branca explícita;
  • Prohibición de executar ficheiros que sexan escribibles;
  • Listas brancas e negras para eval;
  • Necesario para activar a comprobación do certificado TLS ao usar
    rizo;

  • Engadir HMAC aos obxectos serializados para garantir que a deserialización recupere os datos almacenados pola aplicación orixinal;
  • Solicitar o modo de rexistro;
  • Bloquear a carga de ficheiros externos en libxml mediante ligazóns en documentos XML;
  • Capacidade de conectar controladores externos (upload_validation) para comprobar e escanear ficheiros cargados;

O proxecto foi creado e utilizado para protexer aos usuarios na infraestrutura dun dos grandes operadores de hospedaxe franceses. Nótaseque simplemente conectar Snuffleupagus protexería contra moitas das perigosas vulnerabilidades identificadas este ano en Drupal, WordPress e phpBB. As vulnerabilidades en Magento e Horde poderían bloquearse activando o modo
"sp.readonly_exec.enable()".

Fonte: opennet.ru

Engadir un comentario