Dopo un anno di sviluppo rilascio del progetto , che fornisce un modulo per l'interprete PHP7 per aumentare la sicurezza dell'ambiente e bloccare errori comuni che portano a vulnerabilità nelle applicazioni PHP in esecuzione. Il modulo consente inoltre di creare per risolvere problemi specifici senza modificare il codice sorgente dell'applicazione vulnerabile, cosa utile nei sistemi di hosting condiviso, dove è impossibile mantenere tutte le applicazioni utente aggiornate. I costi operativi del modulo sono valutati come minimi. Il modulo è scritto in C, si collega come libreria condivisa ("extension=snuffleupagus.so" in php.ini) e è sotto licenza LGPL 3.0.
Snuffleupagus offre un sistema di regole che consente di utilizzare sia modelli standard per aumentare la sicurezza sia di creare regole personalizzate per il controllo dei dati in ingresso e dei parametri delle funzioni. Ad esempio, la regola "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]" ).drop();" permette di limitare senza modificare l'applicazione l'uso di caratteri speciali negli argomenti della funzione system(). Vengono forniti metodi integrati per bloccare classi di vulnerabilità come problemi legati l'uso non sicuro phar sostituzione Le modalità di aumento della sicurezza PHP fornite in Snuffleupagus sono:
Attivazione automatica dei flag "secure" e "samesite" (protezione contro CSRF) per i Cookie,
- cifratura Un set di regole integrate per rilevare tracce di attacchi e compromissione delle applicazioni;
- Forzatura dell'attivazione globale della modalità "
- strictmanipolazioni dei tipi ;
- per le wrapper dei protocolli Divieto di esecuzione di file che sono scrivibili;
- Liste nere e bianche per eval;
- Liste nere e liste bianche per eval;
- L'attivazione della verifica obbligatoria dei certificati TLS durante l'uso
curl; - Aggiunta dell'HMAC agli oggetti serializzati per garantire che durante la deserializzazione si ottengano i dati salvati dall'applicazione originale;
- Modalità di registrazione delle richieste;
- Blocco del caricamento di file esterni in libxml tramite collegamenti in documenti XML;
- Possibilità di connessione di gestori esterni (upload_validation) per controllare e scansionare i file caricati;
Tra nella nuova versione: Migliorato il supporto per PHP 7.4 e implementata la compatibilità con il ramo PHP 8 in fase di sviluppo. Aggiunta la possibilità di registrazione degli eventi tramite syslog (per l'abilitazione è proposta la direttiva sp.log_media, che può assumere i valori php o syslog). Aggiornato il set di regole predefinite, in cui sono state aggiunte nuove regole per le vulnerabilità e le tecniche di attacco recentemente scoperte sulle applicazioni web. Migliorato il supporto per macOS e ampliato l'uso della piattaforma di integrazione continua basata su GitLab.
Fonte: opennet.ru
