Projekt Snuffleupagus razvija modul PHP za blokiranje ranljivosti

V mejah projekta snuffleupagus se razvija modul za povezavo s tolmačem PHP7, namenjen izboljšanju varnosti okolja in blokiranju pogostih napak, ki vodijo do ranljivosti pri izvajanju PHP aplikacij. Modul omogoča tudi ustvarjanje virtualnih popravkov za odpravljanje specifičnih težav brez spreminjanja izvorne kode ranljive aplikacije, kar je priročno za uporabo v sistemih množičnega gostovanja, kjer je nemogoče vzdrževati vse uporabniške aplikacije posodobljene. Modul je napisan v C, vključen kot knjižnica v skupni rabi ("extension=snuffleupagus.so" v php.ini) in distributer licenciran pod LGPL 3.0.

Snuffleupagus ponuja sistem pravil, ki vam omogoča uporabo standardnih predlog za povečanje varnosti, kot tudi ustvarjanje lastnih pravil za nadzor vhodnih podatkov in funkcijskih parametrov. Na primer, pravilo "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" vam omogoča, da omejite uporabo posebnih znakov v argumentih funkcije system(), ne da bi spremenili aplikacijo. Podobno lahko ustvarite virtualni popravki za blokiranje znanih ranljivosti.

Glede na teste, ki so jih izvedli razvijalci, Snuffleupagus skoraj ne zmanjša učinkovitosti. Za zagotovitev lastne varnosti (morebitne ranljivosti v zaščitni plasti lahko služijo kot dodaten vektor za napade) projekt uporablja temeljito testiranje vsake objave v različnih distribucijah, uporablja sisteme statične analize, koda pa je sestavljena in dokumentirana za poenostavitev revizije. .

Na voljo so vgrajene metode za blokiranje razredov ranljivosti, kot so težave, povezane s serializacijo podatkov, nevaren uporaba funkcije PHP mail(), uhajanje vsebine piškotkov med napadi XSS, težave zaradi nalaganja datotek z izvedljivo kodo (npr. v formatu phar), nekvalitetno generiranje naključnih števil in zamenjava neveljavne konstrukcije XML.

Od načinov za povečanje zaščite PHP so podprti naslednji:

  • Samodejno omogočanje zastavic "varno" in "samesite" (zaščita CSRF) za piškotke, šifriranje Piškotek
  • Vgrajen nabor pravil za odkrivanje sledi napadov in ogroženih aplikacij;
  • Vsili način globalnega omogočanja "strogo» (na primer blokira poskus določanja niza, medtem ko kot argument pričakuje vrednost celega števila) in zaščito pred tipska manipulacija;
  • Privzeto blokiranje ovoj za protokole (na primer prepoved "phar://") z njihovim izrecnim dovoljenjem glede na beli seznam;
  • Prepoved izvajanja zapisljivih datotek;
  • Črni in beli seznami za vrednotenje;
  • Omogoči obvezno preverjanje potrdila TLS pri uporabi
    kodri;

  • Dodajanje HMAC serializiranim objektom za zagotovitev, da deserializacija pridobi podatke, ki jih je shranila izvirna aplikacija;
  • Način beleženja zahtev;
  • Blokiranje nalaganja zunanjih datotek v libxml iz povezav v dokumentih XML;
  • Možnost povezovanja zunanjih upravljavcev (upload_validation) za preverjanje in skeniranje naloženih datotek;

Projekt je bil ustvarjen in uporabljen za zaščito uporabnikov v infrastrukturi enega večjih francoskih operaterjev gostovanja. Opaženo jeda bi preprosta priključitev Snuffleupagusa zaščitila pred številnimi nevarnimi ranljivostmi, ki so jih letos našli v Drupalu, WordPressu in phpBB. Ranljivosti v programih Magento in Horde je mogoče blokirati tako, da omogočite način
"sp.readonly_exec.enable()".

Vir: opennet.ru

Dodaj komentar