După un an de dezvoltare versiunea proiectului , oferind un modul pentru interpretatorul PHP7 pentru a îmbunătăți securitatea mediului și a bloca erorile tipice care duc la apariția vulnerabilităților în aplicațiile PHP rulate. Modulul permite, de asemenea, crearea pentru a rezolva probleme specifice fără modificarea codului sursă al aplicației vulnerabile, ceea ce este convenabil pentru utilizarea în sistemele de găzduire de masă, unde nu este posibil să se mențină toate aplicațiile utilizatorilor actualizate. Costurile asociate modulelor sunt considerate minime. Modulul este scris în limbajul C, se conectează sub formă de bibliotecă partajată („extension=snuffleupagus.so” în php.ini) și este licențiat sub LGPL 3.0.
Snuffleupagus oferă un sistem de reguli, permițând utilizarea atât a șabloanelor standard pentru îmbunătățirea protecției, cât și crearea propriilor reguli pentru controlul datelor de intrare și parametrilor funcțiilor. De exemplu, regula „sp.disable_function.function(„system”).param(„command”).value_r(„[$|;&`\n]”).drop();” permite limitarea utilizării caracterelor speciale în argumentele funcției system() fără a modifica aplicațiile. Sunt furnizate metode încorporate pentru a bloca astfel de clase de vulnerabilități, cum ar fi problemele, de serializarea datelor, utilizarea funcției PHP mail(), scurgeri de conținut Cookie în timpul atacurilor XSS, probleme din cauza încărcării fișierelor cu cod executabil (de exemplu, în formatul ), generarea inadecvată a numerelor aleatorii și construcțiilor XML incorecte.
Modurile de protecție oferite în Snuffleupagus pentru PHP:
- Activarea automată a flagurilor „secure” și „samesite” (protecție împotriva CSRF) pentru Cookie, Cookie;
- Un set încorporat de reguli pentru identificarea urmelor atacurilor și compromiterii aplicațiilor;
- Activarea forțată la nivel global a modului „» (de exemplu, blochează încercările de a specifica un șir când se așteaptă ca argument o valoare întreagă) și protecție împotriva ;
- Blocat implicit (de exemplu, interzicerea „phar:///”) cu permisiunea explicită pe lista albă;
- Interzicerea executării fișierelor care sunt accesibile pentru scriere;
- Liste negre și albe pentru eval;
- Activarea obligativă a verificării certificatelor TLS atunci când se utilizează
curl; - Adăugarea HMAC la obiectele serializate pentru a garanta că la deserializare se obțin datele salvat de aplicația originală;
- Modul de jurnalizare a cererilor;
- Blocarea încărcării fișierelor externe în libxml prin linkuri în documentele XML;
- Posibilitatea de a conecta procesatori externi (upload_validation) pentru a verifica și scana fișierele încărcate;
Printre în noua versiune: Suport îmbunătățit pentru PHP 7.4 și implementată compatibilitatea cu ramura PHP 8 aflată în dezvoltare. A fost adăugată posibilitatea de a înregistra evenimentele prin syslog (pentru activare este propusă directiva sp.log_media, care poate accepta valori php sau syslog). Setul de reguli propus în mod implicit a fost actualizat, incluzând reguli noi pentru vulnerabilitățile și tehnicile de atac identificate recent asupra aplicațiilor web. Suport îmbunătățit pentru macOS și extinderea utilizării platformei de integrare continuă bazate pe GitLab.
Sursa: opennet.ro
