O projeto Snuffleupagus está desenvolvendo um módulo PHP para bloquear vulnerabilidades

No âmbito do projeto Snuffleupago está desenvolvendo um módulo de conexão ao interpretador PHP7, projetado para melhorar a segurança do ambiente e bloquear erros comuns que levam a vulnerabilidades na execução de aplicações PHP. O módulo também permite criar patches virtuais para corrigir 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. 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. Da mesma forma, você pode criar patches virtuais para bloquear vulnerabilidades conhecidas.

A julgar pelos testes realizados pelos desenvolvedores, o Snuffleupagus dificilmente reduz o desempenho. Para garantir sua própria segurança (possíveis vulnerabilidades na camada de segurança podem servir como vetor adicional para ataques), o projeto utiliza testes minuciosos de cada commit em diferentes distribuições, utiliza sistemas de análise estática e o código é formatado e documentado para simplificar a auditoria.

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.

Os seguintes modos são suportados para aumentar a segurança do PHP:

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

O projeto foi criado e utilizado para proteger os usuários da infraestrutura de uma das grandes operadoras de hospedagem francesas. É notadoque simplesmente conectar o Snuffleupagus protegeria contra muitas das vulnerabilidades perigosas identificadas este ano no Drupal, WordPress e phpBB. Vulnerabilidades no Magento e Horde podem ser bloqueadas ativando o modo
"sp.readonly_exec.enable()".

Fonte: opennet.ru

Adicionar um comentário