Vydání Snuffleupagus 0.5.1, modulu pro blokování zranitelností v aplikacích PHP

Po roce vývoje publikováno vydání projektu Snuffleupagus 0.5.1, která poskytuje modul pro interpret PHP7 pro zlepšení zabezpečení prostředí a blokování běžných chyb, které vedou ke zranitelnosti při běhu PHP aplikací. Modul také umožňuje tvořit virtuální záplaty eliminovat specifické problémy bez změny zdrojového kódu zranitelné aplikace, což je vhodné pro použití v hromadných hostingových systémech, kde není možné udržovat všechny uživatelské aplikace aktuální. Režijní náklady modulu se odhadují na minimální. Modul je napsán v C, je připojen ve formě sdílené knihovny („extension=snuffleupagus.so“ v php.ini) a distribuovány licencováno pod LGPL 3.0.

Snuffleupagus poskytuje systém pravidel, který vám umožňuje používat standardní šablony ke zlepšení zabezpečení nebo vytvářet vlastní pravidla pro řízení vstupních dat a parametrů funkcí. Například pravidlo „sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” umožňuje omezit použití speciálních znaků v argumentech funkce system() beze změny aplikace. K dispozici jsou vestavěné metody pro blokování tříd zranitelností, jako jsou problémy, příbuzný se serializací dat, nebezpečný použití funkce PHP mail(), únik obsahu cookie během XSS útoků, problémy kvůli načítání souborů se spustitelným kódem (například ve formátu phar), nekvalitní generování náhodných čísel a substituce nesprávné konstrukce XML.

Režimy vylepšení zabezpečení PHP poskytované Snuffleupagusem:

  • Automaticky povolit příznaky „secure“ a „samesite“ (ochrana CSRF) pro soubory cookie, šifrování cookie;
  • Vestavěná sada pravidel pro identifikaci stop útoků a kompromitace aplikací;
  • Vynucená globální aktivace „přísný" (například blokuje pokus o zadání řetězce, když se jako argument očekává celočíselná hodnota) a ochrana proti manipulace s typem;
  • Výchozí blokování obaly protokolů (například zákaz "phar://") s jejich explicitním zařazením na bílou listinu;
  • Zákaz spouštění souborů, do kterých lze zapisovat;
  • Černobílé seznamy pro hodnocení;
  • Vyžadováno k povolení kontroly certifikátu TLS při používání
    kučera;
  • Přidání HMAC k serializovaným objektům, aby bylo zajištěno, že deseralizace načte data uložená původní aplikací;
  • Žádost o režim protokolování;
  • Blokování načítání externích souborů v libxml prostřednictvím odkazů v dokumentech XML;
  • Možnost připojení externích ovladačů (upload_validation) pro kontrolu a skenování nahraných souborů;

Mezi změny v nové verzi: Vylepšená podpora pro PHP 7.4 a implementovaná kompatibilita s aktuálně vyvíjenou větví PHP 8. Přidána možnost logování událostí přes syslog (pro zahrnutí je navržena direktiva sp.log_media, která může nabývat hodnot php nebo syslog). Výchozí sada pravidel byla aktualizována tak, aby zahrnovala nová pravidla pro nedávno zjištěná zranitelnost a techniky útoku na webové aplikace. Vylepšená podpora pro macOS a rozšířené využití kontinuální integrační platformy založené na GitLabu.

Zdroj: opennet.ru

Přidat komentář