Projekt Snuffleupagus razvija PHP modul za blokiranje ranjivosti

U okviru projekta Snuffleupagus razvija se modul za povezivanje s PHP7 interpreterom, namijenjen povećanju sigurnosti okruženja i blokiranju uobičajenih pogrešaka koje dovode do ranjivosti u izvršavanim PHP aplikacijama. Modul također omogućuje kreiranje virtualnih zakrpa za rješavanje specifičnih problema bez izmjene izvornih kodova ranjive aplikacije, što je praktično za korištenje u sustavima masovnog hostinga, gdje nije moguće održavati sve korisničke aplikacije ažurnima. Modul je napisan na jeziku C, povezuje se u obliku zajedničke biblioteke („extension=snuffleupagus.so“ u php.ini) i distribuira se pod licencom LGPL 3.0.

Snuffleupagus pruža sustav pravila koji omogućuje korištenje i uobičajenih šablona za povećanje zaštite, kao i kreiranje vlastitih pravila za kontrolu ulaznih podataka i parametara funkcija. Na primjer, pravilo „sp.disable_function.function(„system“).param(„command“).value_r(„[$|;&`\\n]“).drop();“ omogućuje, bez izmjene aplikacija, ograničavanje korištenja specijalnih simbola u argumentima funkcije system(). Na sličan način mogu se kreirati virtuelnih zakrpa za blokiranje poznatih ranjivosti.

Prema testovima koje su proveli developeri, Snuffleupagus gotovo ne smanjuje performanse. Za osiguranje vlastite sigurnosti (moguće ranjivosti u sloju zaštite mogu biti dodatni vektor za napade) u projektu se primjenjuje temeljito testiranje svake promjene u različitim distribucijama, koriste se sustavi statičke analize, a kod se oblikuje i dokumentira radi lakšeg provođenja revizije.

Pružaju se ugrađene metode za blokiranje takvih klasa ranjivosti, kao što su problemi, vezani za serijalizaciju podataka, nesigurnim korištenjem PHP funkcije mail(), curenja sadržaja kolačića tokom XSS napada, problemima zbog učitavanja datoteka s izvršnim kodom (na primjer, u formatu phar), lošom generacijom nasumičnih brojeva i supstitucijom neispravnih XML konstrukcija.

Među režimima za povećanje zaštite PHP podržani su:

  • Automatsko uključivanje zastavica "secure" i "samesite" (zaštita od CSRF) za kolačiće, enkripcija kolačića;
  • Ugrađeni set pravila za otkrivanje tragova napada i kompromitacije aplikacija;
  • Obavezno globalno uključivanje režima "strict" (na primjer, blokira pokušaje navođenja stringa kada se očekuje cijeli broj kao argument) i zaštita od manipulacija tipovima;
  • Zadano blokiranje omota za protokole (na primjer, zabrana "phar://") uz njihovo eksplicitno odobravanje putem bijelog popisa;
  • Zabrana izvršavanja datoteka koje su dostupne za upis;
  • Crni i bijeli popisi za eval;
  • Obavezno uključivanje provjere TLS certifikata tokom korištenja
    curl;
  • Dodavanje HMAC-a serijaliziranim objektima kako bi se osiguralo da su podaci koji se dobiju deserializacijom oni koje je izvorna aplikacija sačuvala;
  • Režim zapisivanja zahtjeva;
  • Blokiranje učitavanja vanjskih datoteka u libxml putem linkova u XML dokumentima;
  • Mogućnost povezivanja vanjskih rukovalaca (upload_validation) za provjeru i skeniranje učitanih datoteka;

Projekt je stvoren i koristi se za zaštitu korisnika u infrastrukturi jednog od velikih francuskih pružatelja hostinga. Primijećeno, što bi jednostavno povezivanje Snuffleupagusa omogućilo zaštitu od mnogih opasnih ranjivosti otkrivenih ove godine u Drupalu, WordPressu i phpBB-u. Ranjivosti u Magentu i Horde mogle bi biti blokirane aktiviranjem režima
„sp.readonly_exec.enable()“.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster