Snuffleupagus 0.5.1:n julkaisu, moduuli PHP-sovellusten haavoittuvuuksien estämiseen

Vuoden kehitystyön jälkeen julkaistu projektin julkaisu Snuffleupagus 0.5.1, joka tarjoaa PHP7-tulkin moduulin, joka parantaa ympäristön turvallisuutta ja estää yleiset virheet, jotka johtavat PHP-sovellusten haavoittuvuuksiin. Moduulin avulla voit myös luoda virtuaalisia korjaustiedostoja poistaa tiettyjä ongelmia muuttamatta haavoittuvan sovelluksen lähdekoodia, joka on kätevä käytettäväksi massaisännöintijärjestelmissä, joissa on mahdotonta pitää kaikkia käyttäjien sovelluksia ajan tasalla. Moduulin yleiskustannusten arvioidaan olevan minimaalisia. Moduuli on kirjoitettu C-kielellä, se on yhdistetty jaetun kirjaston muodossa ("extension=snuffleupagus.so" php.inissä) ja jakelija lisensoitu LGPL 3.0:lla.

Snuffleupagus tarjoaa sääntöjärjestelmän, jonka avulla voit käyttää vakiomalleja turvallisuuden parantamiseksi tai luoda omia sääntöjä syötetietojen ja toimintoparametrien hallitsemiseksi. Esimerkiksi sääntö "sp.disable_function.function("system").param("komento").value_r("[$|;&`\\n]").drop();" voit rajoittaa erikoismerkkien käyttöä system()-funktion argumenteissa ilman, että muutat sovellusta. Sisäänrakennettuja menetelmiä tarjotaan haavoittuvuuksien, kuten ongelmien, liittyvät tietojen serialisoinnin kanssa, turvaton PHP mail() -funktion käyttö, evästeen sisällön vuotaminen XSS-hyökkäysten aikana, suoritettavan koodin tiedostojen lataamisesta johtuvat ongelmat (esimerkiksi muodossa phar), huonolaatuinen satunnaislukujen luominen ja korvaaminen virheellisiä XML-rakenteita.

Snuffleupagusin tarjoamat PHP-suojauksen parannustilat:

  • Ota automaattisesti käyttöön "secure" ja "samesite" (CSRF-suojaus) -liput evästeille, salaus Evästeet;
  • Sisäänrakennettu sääntösarja hyökkäysten ja sovellusten vaarantumisen jälkien tunnistamiseksi;
  • Pakotettu globaali aktivointitiukka" (estää esimerkiksi yrityksen määrittää merkkijono, kun argumenttina odotetaan kokonaislukuarvoa) ja suojaus tyyppinen manipulointi;
  • Oletusesto protokollakääreet (esimerkiksi kieltää "phar://") niiden nimenomaisella sallittujen luettelolla;
  • Kielto suorittaa tiedostoja, jotka ovat kirjoitettavissa;
  • Mustat ja valkoiset listat evalille;
  • Vaaditaan, jotta TLS-varmenteen tarkistus otetaan käyttöön käytön aikana
    kiemura;
  • HMAC:n lisääminen serialisoituihin objekteihin sen varmistamiseksi, että deserialointi noutaa alkuperäisen sovelluksen tallentamat tiedot;
  • Pyydä kirjaustilaa;
  • Ulkoisten libxml-tiedostojen lataamisen estäminen XML-dokumenttien linkkien kautta;
  • Mahdollisuus liittää ulkoiset käsittelijät (upload_validation) ladattujen tiedostojen tarkistamiseen ja skannaukseen;

Keskuudessa muutoksia uudessa julkaisussa: Parannettu tuki PHP 7.4:lle ja toteutettu yhteensopivuus parhaillaan kehitteillä olevan PHP 8 -haaran kanssa. Lisätty mahdollisuus kirjata tapahtumia syslogin kautta (sisällytettäväksi ehdotetaan sp.log_media-direktiiviä, joka voi ottaa php- tai syslog-arvoja). Oletussääntöjoukko on päivitetty sisältämään uusia sääntöjä äskettäin tunnistetuille haavoittuvuuksille ja hyökkäystekniikoille verkkosovelluksia vastaan. Parannettu tuki macOS:lle ja laajennettu GitLabiin perustuvan jatkuvan integrointialustan käyttö.

Lähde: opennet.ru

Lisää kommentti