Projekt Snuffleupagus razvija PHP modul za blokiranje ranjivosti

U okviru projekta Snuffleupagus razvija modul za povezivanje s interpretatorom PHP7, osmišljen za poboljšanje sigurnosti okruženja i blokiranje tipičnih grešaka koje dovode do pojave ranjivosti u izvršnim PHP aplikacijama. Modul također omogućuje stvaranje virtualnih zakrpa za rješavanje specifičnih problema bez promjene izvornih kodova ranjive aplikacije, što je prikladno za primjenu u sustavima masovnog hostinga, gdje nije moguće održavati sve korisničke aplikacije ažurnima. Modul je napisan na C jeziku, povezuje se kao dijeljena biblioteka („extension=snuffleupagus.so” u php.ini) i se distribuira pod licencom LGPL 3.0.

Snuffleupagus pruža sustav pravila koji omogućuje korištenje tipičnih predložaka za povećanje zaštite, kao i stvaranje 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 ograničavanje korištenja posebnih simbola u argumentima funkcije system() bez promjene aplikacija. Slično se mogu stvarati virtualne zakrpe 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 poslužiti kao dodatni vektor napada) u projektu se primjenjuje temeljito testiranje svakog commit-a na različitim distribucijama, koriste se sustavi statičke analize, kod je formatiran i dokumentiran radi olakšavanja provođenja revizije.

Pružaju se ugrađene metode za blokiranje takvih klasa ranjivosti, kao što su problemi, vezani za serijalizaciju podataka, nepodržano korištenje PHP funkcije mail(), curenje sadržaja kolačića prilikom XSS napada, problemi zbog učitavanja datoteka s izvršnim kodom (na primjer, u formatu phar), loša generacija nasumičnih brojeva i zamjenom nekorektnih XML konstrukcija.

Od režima za povećanje zaštite PHP podržava:

  • Automatsko uključivanje oznaka „secure” i „samesite” (zaštita od CSRF) za kolačiće, šifriranje kolačića;
  • Vgrajen nabor pravil za odkrivanje sledi napadov in kompromitacije aplikacij;
  • Obvezno globalno vključevanje načina „strict” (na primer, blokira poskuse določitve niza, ko se pričakuje celo število kot argument) in zaščita pred manipulacijami s tipi.;
  • Privzeto blokiranje ovijanja protokolov (na primer, prepoved „phar://“) z njihovim izrecnim dovoljenjem na belih seznamih;
  • Prepoved izvajanja datotek, do katerih je možno pisati;
  • Črni in beli seznami za eval;
  • Obvezno preverjanje certifikatov TLS pri uporabi
    curl;
  • Dodajanje HMAC k serijaliziranim objektom za zagotovitev, da so ob deserializaciji pridobljeni podatki, shranjeni iz prvotne aplikacije;
  • Način beleženja zahtevkov;
  • Blokiranje nalaganja zunanjih datotek v libxml prek povezav v XML-dokumentih;
  • Možnost povezovanja zunanjih obdelovalcev (upload_validation) za preverjanje in skeniranje nalaganja datotek;

Projekt je bil ustvarjen in se uporablja za zaščito uporabnikov v infrastrukturi enega od velikih francoskih ponudnikov gostovanja. Opazi se, da bi samo povezovanje Snuffleupagus omogočilo zaščito pred mnogimi nevarnimi ranljivostmi, odkritimi letos v Drupalu, WordPressu in phpBB-ju. Ranljivosti v Magento in Horde bi lahko bile blokirane z vključitvijo načina
„sp.readonly_exec.enable()“.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster