Lançamento do Snuffleupagus 0.5.1, módulo para bloqueio de vulnerabilidades em aplicações PHP

Após um ano de desenvolvimento publicado liberação do projeto Snuffleupagus 0.5.1, que fornece um módulo para o interpretador PHP7 melhorar a segurança do ambiente e bloquear erros comuns que levam a vulnerabilidades na execução de aplicativos PHP. O módulo também permite criar patches virtuais para eliminar problemas específicos sem alterar o código-fonte do aplicativo vulnerável, o que é conveniente para uso em sistemas de hospedagem em massa onde é impossível manter todos os aplicativos do usuário atualizados. Os custos indiretos do módulo são estimados como mínimos. O módulo é escrito em C, está conectado na forma de uma biblioteca compartilhada (“extension=snuffleupagus.so” em php.ini) e distribuído por licenciado sob LGPL 3.0.

Snuffleupagus fornece um sistema de regras que permite usar modelos padrão para melhorar a segurança ou criar suas próprias regras para controlar dados de entrada e parâmetros de função. Por exemplo, a regra “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” permite limitar o uso de caracteres especiais nos argumentos da função system() sem alterar o aplicativo. Métodos integrados são fornecidos para bloquear classes de vulnerabilidades, como problemas, связанные com serialização de dados, inseguro uso da função PHP mail(), vazamento de conteúdo de Cookies durante ataques XSS, problemas devido ao carregamento de arquivos com código executável (por exemplo, no formato Phar), geração de números aleatórios de baixa qualidade e substituição construções XML incorretas.

Modos de aprimoramento de segurança PHP fornecidos por Snuffleupagus:

  • Ative automaticamente os sinalizadores "seguro" e "mesmo site" (proteção CSRF) para cookies, criptografia Cookie
  • Conjunto integrado de regras para identificar vestígios de ataques e comprometimento de aplicativos;
  • Ativação global forçada do "rigoroso" (por exemplo, bloqueia uma tentativa de especificar uma string ao esperar um valor inteiro como argumento) e proteção contra manipulação de tipo;
  • Bloqueio padrão wrappers de protocolo (por exemplo, banir "phar://") com sua lista de permissões explícita;
  • Proibição de execução de arquivos graváveis;
  • Listas pretas e brancas para avaliação;
  • Necessário para ativar a verificação de certificado TLS ao usar
    ondulação;
  • Adicionar HMAC a objetos serializados para garantir que a desserialização recupere os dados armazenados pelo aplicativo original;
  • Solicitar modo de registro;
  • Bloqueio de carregamento de arquivos externos na libxml via links em documentos XML;
  • Capacidade de conectar manipuladores externos (upload_validation) para verificar e escanear arquivos carregados;

Entre os alterar na nova versão: Suporte aprimorado para PHP 7.4 e compatibilidade implementada com o branch atualmente em desenvolvimento do PHP 8. Adicionada a capacidade de registrar eventos via syslog (é proposta a inclusão da diretiva sp.log_media, que pode assumir valores php ou syslog). O conjunto padrão de regras foi atualizado para incluir novas regras para vulnerabilidades identificadas recentemente e técnicas de ataque contra aplicativos da web. Suporte aprimorado para macOS e uso ampliado da plataforma de integração contínua baseada em GitLab.

Fonte: opennet.ru

Adicionar um comentário