Snuffleupagus-projektet utvecklar en PHP-modul för att blockera sårbarheter

I projektets gränser snuffleupagus utvecklas en modul för att ansluta till PHP7-tolken, designad 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 för att fixa specifika problem utan att ändra källkoden för den sårbara applikationen, vilket är bekvämt att använda i massvärdsystem där det är omöjligt att hålla alla användarapplikationer uppdaterade. 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. På samma sätt kan du skapa virtuella patchar för att blockera kända sårbarheter.

Att döma av testerna som utförts av utvecklarna minskar Snuffleupagus knappast prestandan. För att säkerställa sin egen säkerhet (möjliga sårbarheter i säkerhetsskiktet kan fungera som en ytterligare vektor för attacker) använder projektet grundlig testning av varje commit i olika distributioner, använder statiska analyssystem och kod formateras och dokumenteras för att förenkla revisionen.

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.

Följande lägen stöds för att förbättra PHP-säkerheten:

  • 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;

Projektet skapades och användes för att skydda användare i infrastrukturen hos en av de stora franska värdoperatörerna. Det är noteratatt helt enkelt ansluta Snuffleupagus skulle skydda mot många av de farliga sårbarheter som identifierats i år i Drupal, WordPress och phpBB. Sårbarheter i Magento och Horde kan blockeras genom att aktivera läget
"sp.readonly_exec.enable()".

Källa: opennet.ru

Lägg en kommentar