Il progetto Snuffleupagus sta sviluppando un modulo PHP per bloccare le vulnerabilità

Nell'ambito del progetto Snuffleupago si sta sviluppando un modulo per la connessione all'interprete PHP7, progettato per migliorare la sicurezza dell'ambiente e bloccare errori comuni che portano a vulnerabilità nell'esecuzione delle applicazioni PHP. Il modulo consente inoltre di creare patch virtuali per risolvere problemi specifici senza modificare il codice sorgente dell'applicazione vulnerabile, il che è comodo da utilizzare nei sistemi di hosting di massa dove è impossibile mantenere aggiornate tutte le applicazioni dell'utente. Il modulo è scritto in C, è connesso sotto forma di libreria condivisa (“extension=snuffleupagus.so” in php.ini) e distribuito da concesso in licenza con LGPL 3.0.

Snuffleupagus fornisce un sistema di regole che ti consente di utilizzare modelli standard per migliorare la sicurezza o creare regole personalizzate per controllare i dati di input e i parametri di funzione. Ad esempio, la regola “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” consente di limitare l'uso di caratteri speciali negli argomenti della funzione system() senza modificare l'applicazione. Allo stesso modo, puoi creare patch virtuali per bloccare le vulnerabilità note.

A giudicare dai test condotti dagli sviluppatori, Snuffleupagus difficilmente riduce le prestazioni. Per garantire la propria sicurezza (le possibili vulnerabilità nel livello di sicurezza possono fungere da vettore aggiuntivo per gli attacchi), il progetto utilizza test approfonditi di ciascun commit in diverse distribuzioni, utilizza sistemi di analisi statica e il codice è formattato e documentato per semplificare il controllo.

Vengono forniti metodi integrati per bloccare classi di vulnerabilità come problemi, relative con serializzazione dei dati, pericoloso utilizzo della funzione PHP mail(), fuga del contenuto dei Cookie durante attacchi XSS, problemi dovuti al caricamento di file con codice eseguibile (ad esempio, nel formato far), generazione di numeri casuali di scarsa qualità e sostituzione costrutti XML errati.

Sono supportate le seguenti modalità per migliorare la sicurezza PHP:

  • Abilita automaticamente i flag "sicuro" e "samesite" (protezione CSRF) per i cookie, crittografia biscotto;
  • Set di regole integrato per identificare tracce di attacchi e compromissione delle applicazioni;
  • Attivazione globale forzata del "rigoroso" (ad esempio, blocca un tentativo di specificare una stringa quando si prevede un valore intero come argomento) e protezione contro manipolazione del tipo;
  • Blocco per impostazione predefinita wrapper di protocollo (ad esempio, vietando "phar://") con la loro esplicita whitelist;
  • Divieto di eseguire file scrivibili;
  • Liste bianche e nere per la valutazione;
  • Necessario per abilitare il controllo del certificato TLS durante l'utilizzo
    arricciare;

  • Aggiunta di HMAC agli oggetti serializzati per garantire che la deserializzazione recuperi i dati archiviati dall'applicazione originale;
  • Richiedi modalità di registrazione;
  • Blocco del caricamento di file esterni in libxml tramite collegamenti in documenti XML;
  • Possibilità di connettere gestori esterni (upload_validation) per controllare e scansionare i file caricati;

Il progetto è stato creato e utilizzato per proteggere gli utenti nell'infrastruttura di uno dei grandi operatori di hosting francesi. È notatoche il semplice collegamento di Snuffleupagus proteggerebbe da molte delle pericolose vulnerabilità identificate quest'anno in Drupal, WordPress e phpBB. Le vulnerabilità in Magento e Horde potrebbero essere bloccate abilitando la modalità
"sp.readonly_exec.enable()".

Fonte: opennet.ru

Aggiungi un commento