Release av Snuffleupagus 0.5.1, en modul för att blockera sårbarheter i PHP-applikationer

Efter ett år av utveckling publicerad projekt release Snuffleupagus 0.5.1, som tillhandahåller en modul för PHP7-tolken för att förbättra säkerheten i miljön och blockera vanliga fel som leder till sårbarheter i att köra PHP-applikationer. Modulen låter dig också skapa virtuella patchar att eliminera specifika problem utan att ändra källkoden för den sårbara applikationen, vilket är bekvämt att använda i masshostingsystem där det är omöjligt att hålla alla användarapplikationer uppdaterade. Omkostnadskostnaderna för modulen uppskattas vara minimala. Modulen är skriven i C, är ansluten i form av ett delat bibliotek ("extension=snuffleupagus.so" i php.ini) och levererad av licensierad under LGPL 3.0.

Snuffleupagus tillhandahåller ett regelsystem som låter dig använda standardmallar för att förbättra säkerheten, eller skapa dina egna regler för att styra indata och funktionsparametrar. Till exempel regeln “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” låter dig begränsa användningen av specialtecken i system() funktionsargument utan att ändra applikationen. Inbyggda metoder tillhandahålls för att blockera klasser av sårbarheter som problem, relaterad med dataserialisering, osäker användning av PHP mail()-funktionen, läckage av cookie-innehåll under XSS-attacker, problem på grund av att filer laddas med körbar kod (till exempel i formatet phar), dålig kvalitet generering av slumptal och utbyte felaktiga XML-konstruktioner.

PHP-säkerhetsförbättringslägen tillhandahållna av Snuffleupagus:

  • Aktivera automatiskt "secure" och "samesite" (CSRF-skydd) flaggor för cookies, kryptering Kaka;
  • Inbyggd uppsättning regler för att identifiera spår av attacker och kompromisser av applikationer;
  • Tvingad global aktivering av "sträng" (blockerar till exempel ett försök att ange en sträng när man förväntar sig ett heltalsvärde som ett argument) och skydd mot typ manipulation;
  • Blockering som standard protokollomslag (till exempel förbjuda "phar://") med deras explicita vitlista;
  • Förbud mot att köra filer som är skrivbara;
  • Svarta och vita listor för eval;
  • Krävs för att aktivera TLS-certifikatkontroll vid användning
    ringla;
  • Lägga till HMAC till serialiserade objekt för att säkerställa att deserialisering hämtar data som lagras av den ursprungliga applikationen;
  • Begär loggningsläge;
  • Blockering av laddning av externa filer i libxml via länkar i XML-dokument;
  • Möjlighet att ansluta externa hanterare (upload_validation) för att kontrollera och skanna uppladdade filer;

Bland ändringar i den nya utgåvan: Förbättrat stöd för PHP 7.4 och implementerad kompatibilitet med PHP 8-grenen som för närvarande är under utveckling. Lade till möjligheten att logga händelser via syslog (direktivet sp.log_media föreslås för inkludering, som kan ta php- eller syslog-värden). Standarduppsättningen regler har uppdaterats för att inkludera nya regler för nyligen identifierade sårbarheter och attacktekniker mot webbapplikationer. Förbättrat stöd för macOS och utökad användning av den kontinuerliga integrationsplattformen baserad på GitLab.

Källa: opennet.ru

Lägg en kommentar