Projekt Snuffleupagus razvija PHP modul za blokiranje ranjivosti

U granicama projekta Njuškalo razvija se modul za povezivanje s PHP7 interpreterom, dizajniran za poboljšanje sigurnosti okruženja i blokiranje uobičajenih pogrešaka koje dovode do ranjivosti u pokretanju PHP aplikacija. Modul također omogućuje stvaranje virtualnih zakrpa za rješavanje specifičnih problema bez mijenjanja izvornog koda ranjive aplikacije, što je zgodno za korištenje u sustavima masovnog hostinga gdje je nemoguće održavati sve korisničke aplikacije ažurnima. Modul je napisan u C-u, povezan je u obliku zajedničke biblioteke ("extension=snuffleupagus.so" u php.ini) i distribuira licenciran pod LGPL 3.0.

Snuffleupagus pruža sustav pravila koji vam omogućuje korištenje standardnih predložaka za poboljšanje sigurnosti ili stvaranje vlastitih pravila za kontrolu ulaznih podataka i parametara funkcije. Na primjer, pravilo “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” omogućuje vam da ograničite upotrebu posebnih znakova u argumentima funkcije system() bez mijenjanja aplikacije. Slično tome, možete stvoriti virtualne zakrpe za blokiranje poznatih ranjivosti.

Sudeći prema testovima koje su proveli programeri, Snuffleupagus gotovo ne smanjuje performanse. Kako bi osigurao vlastitu sigurnost (moguće ranjivosti u sigurnosnom sloju mogu poslužiti kao dodatni vektor za napade), projekt koristi temeljito testiranje svakog commita u različitim distribucijama, koristi sustave statičke analize, a kod je formatiran i dokumentiran kako bi se pojednostavio audit.

Daju se ugrađene metode za blokiranje klasa ranjivosti kao što su problemi, povezane sa serijalizacijom podataka, nesiguran korištenje PHP mail() funkcije, curenje sadržaja kolačića tijekom XSS napada, problemi zbog učitavanja datoteka s izvršnim kodom (na primjer, u formatu phar), generiranje slučajnih brojeva loše kvalitete i zamjena netočne XML konstrukcije.

Sljedeći načini su podržani za poboljšanje PHP sigurnosti:

  • Automatski omogući zastavice "sigurno" i "samesite" (CSRF zaštita) za kolačiće, šifriranje Kolačić;
  • Ugrađen skup pravila za prepoznavanje tragova napada i ugrožavanja aplikacija;
  • Prisilna globalna aktivacija "strog" (na primjer, blokira pokušaj navođenja niza kada se očekuje cjelobrojna vrijednost kao argument) i zaštita od tipska manipulacija;
  • Zadano blokiranje omotači protokola (na primjer, zabrana "phar://") s njihovim izričitim popisom dopuštenih;
  • Zabrana izvršavanja datoteka u koje se može pisati;
  • Crne i bijele liste za ocjenjivanje;
  • Potrebno za omogućavanje provjere TLS certifikata prilikom korištenja
    kovrča;

  • Dodavanje HMAC serijaliziranim objektima kako bi se osiguralo da deserijalizacija dohvaća podatke koje je pohranila izvorna aplikacija;
  • Način zapisivanja zahtjeva;
  • Blokiranje učitavanja vanjskih datoteka u libxml putem poveznica u XML dokumentima;
  • Mogućnost povezivanja vanjskih rukovatelja (upload_validation) za provjeru i skeniranje učitanih datoteka;

Projekt je kreiran i korišten za zaštitu korisnika u infrastrukturi jednog od velikih francuskih hosting operatera. Zabilježeno jeda bi jednostavno povezivanje Snuffleupagusa zaštitilo od mnogih opasnih ranjivosti identificiranih ove godine u Drupalu, WordPressu i phpBB-u. Ranjivosti u Magentu i Hordeu mogu se blokirati uključivanjem načina rada
"sp.readonly_exec.enable()".

Izvor: opennet.ru

Dodajte komentar