Proiectul Snuffleupagus dezvoltă un modul PHP pentru blocarea vulnerabilităților

În cadrul proiectului Snuffleupagus se dezvoltă un modul pentru conectarea la interpretul PHP7, destinat creșterii securității mediului și blocării erorilor tipice care duc la apariția vulnerabilităților în aplicațiile PHP executate. Modulul permite, de asemenea, crearea de patch-uri virtuale pentru a rezolva probleme specifice fără a schimba codul sursă al aplicației vulnerabile, ceea ce este convenabil pentru utilizarea în sistemele de găzduire masivă, unde nu este posibilă menținerea tuturor aplicațiilor utilizatorilor la zi. Modulul este scris în limbajul C, se conectează sub forma unei biblioteci partajate („extension=snuffleupagus.so” în php.ini) și se răspândește este licențiat sub LGPL 3.0.

Snuffleupagus oferă un sistem de reguli care permite utilizarea atât a șabloanelor tipice pentru creșterea protecției, cât și crearea de reguli proprii pentru controlul datelor de intrare și parametrilor funcțiilor. De exemplu, regula „sp.disable_function.function('system').param('command').value_r('[$|;&`\\n]').drop();” permite, fără a modifica aplicațiile, limitarea utilizării caracterelor speciale în argumentele funcției system(). De asemenea, se pot crea patch-uri virtuale pentru blocarea vulnerabilităților cunoscute.

Conform testelor efectuate de dezvoltatori, Snuffleupagus afectează foarte puțin performanța. Pentru a asigura propria securitate (vulnerabilitățile posibile în stratul de protecție pot servi ca vector suplimentar pentru atacuri), proiectul utilizează teste riguroase pentru fiecare angajament în diferite distribuții, folosind sisteme de analiză statică, iar codul este organizat și documentat pentru a facilita auditul.

Sunt furnizate metode încorporate pentru blocarea unor tipuri de vulnerabilități, cum ar fi problemele legate de serializarea datelor, nesigură 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 phar), generarea inadecvată a numerelor aleatorii și substituția construcțiilor XML incorecte.

Din modurile de creștere a protecției PHP, sunt acceptate:

  • Activarea automată a flagurilor „secure” și „samesite” (protecție împotriva CSRF) pentru Cookie, criptarea Cookie;
  • Un set încorporat de reguli pentru identificarea urmelor atacurilor și compromiterii aplicațiilor;
  • Activarea forțată la nivel global a modului „strict» (de exemplu, blochează încercările de a specifica un șir când se așteaptă ca argument o valoare întreagă) și protecție împotriva manipulării tipurilor;
  • Blocat implicit wrapper pentru protocoale (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;

Proiectul a fost creat și utilizat pentru a proteja utilizatorii în infrastructura unuia dintre marii operatori de găzduire din Franța. Se observă, astfel încât simpla activare a Snuffleupagus ar permite protecția împotriva multor vulnerabilități periculoase descoperite anul acesta în Drupal, WordPress și phpBB. Vulnerabilitățile din Magento și Horde ar putea fi blocate prin activarea modului
„sp.readonly_exec.enable()”.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster