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

În limitele proiectului snuffleupagus se dezvoltă un modul pentru conectarea la interpretul PHP7, conceput pentru a îmbunătăți securitatea mediului și pentru a bloca erorile comune care duc la vulnerabilități în rularea aplicațiilor PHP. Modulul vă permite, de asemenea, să creați patch-uri virtuale pentru a remedia probleme specifice fără a modifica codul sursă al aplicației vulnerabile, ceea ce este convenabil pentru utilizarea în sistemele de găzduire în masă unde este imposibil să păstrați toate aplicațiile utilizator la zi. Modulul este scris în C, este conectat sub forma unei biblioteci partajate („extension=snuffleupagus.so” în php.ini) și distribuit de licențiat conform LGPL 3.0.

Snuffleupagus oferă un sistem de reguli care vă permite să utilizați șabloane standard pentru a îmbunătăți securitatea sau să vă creați propriile reguli pentru a controla datele de intrare și parametrii funcției. De exemplu, regula „sp.disable_function.function(„sistem”).param(„comandă”).value_r(„[$|;&`\\n]”).drop();” vă permite să limitați utilizarea caracterelor speciale în argumentele funcției system() fără a schimba aplicația. În mod similar, puteți crea patch-uri virtuale pentru a bloca vulnerabilitățile cunoscute.

Judecând după testele efectuate de dezvoltatori, Snuffleupagus cu greu reduce performanța. Pentru a-și asigura propria securitate (posibilele vulnerabilități din nivelul de securitate pot servi ca un vector suplimentar pentru atacuri), proiectul folosește testarea amănunțită a fiecărui commit în diferite distribuții, folosește sisteme de analiză statică, iar codul este formatat și documentat pentru a simplifica auditarea.

Sunt furnizate metode încorporate pentru a bloca clase de vulnerabilități, cum ar fi probleme, legate de cu serializarea datelor, nesigure utilizarea funcției PHP mail(), scurgerea conținutului cookie în timpul atacurilor XSS, probleme din cauza încărcării fișierelor cu cod executabil (de exemplu, în format phar), generarea de numere aleatoare de calitate slabă și substituţie constructe XML incorecte.

Următoarele moduri sunt acceptate pentru a îmbunătăți securitatea PHP:

  • Activați automat indicatoarele „securizate” și „același site” (protecție CSRF) pentru cookie-uri, criptare Cookie;
  • Set de reguli încorporat pentru a identifica urmele de atacuri și compromisuri ale aplicațiilor;
  • Activarea globală forțată a „strict" (de exemplu, blochează o încercare de a specifica un șir atunci când se așteaptă o valoare întreagă ca argument) și protecție împotriva manipularea tipului;
  • Blocare implicită ambalaje de protocol (de exemplu, interzicerea „phar://”) cu lista albă explicită a acestora;
  • Interzicerea executării fișierelor care pot fi scrise;
  • Liste alb-negru pentru evaluare;
  • Necesar pentru a activa verificarea certificatului TLS la utilizare
    răsuci;

  • Adăugarea HMAC la obiectele serializate pentru a se asigura că deserializarea preia datele stocate de aplicația originală;
  • Solicitați modul de înregistrare;
  • Blocarea încărcării fișierelor externe în libxml prin link-uri în documente XML;
  • Abilitatea de a conecta handlere externi (upload_validation) pentru a verifica și scana fișierele încărcate;

Proiectul a fost creat și folosit pentru a proteja utilizatorii în infrastructura unuia dintre marii operatori francezi de găzduire. Este notatcă simpla conectare a Snuffleupagus ar proteja împotriva multor vulnerabilități periculoase identificate anul acesta în Drupal, WordPress și phpBB. Vulnerabilitățile din Magento și Horde ar putea fi blocate prin activarea
„sp.readonly_exec.enable()”.

Sursa: opennet.ru

Adauga un comentariu