Udgivelse af Snuffleupagus 0.5.1, et modul til blokering af sårbarheder i PHP-applikationer

Efter et års udvikling offentliggjort projektudgivelse Snuffleupagus 0.5.1, som giver et modul til PHP7-fortolkeren til at forbedre sikkerheden i miljøet og blokere almindelige fejl, der fører til sårbarheder i at køre PHP-applikationer. Modulet giver dig også mulighed for at oprette virtuelle patches at eliminere specifikke problemer uden at ændre kildekoden for den sårbare applikation, hvilket er praktisk til brug i massehostingsystemer, hvor det er umuligt at holde alle brugerapplikationer opdaterede. Overheadomkostningerne ved modulet skønnes at være minimale. Modulet er skrevet i C, er forbundet i form af et delt bibliotek ("extension=snuffleupagus.so" i php.ini) og distribueret af licenseret under LGPL 3.0.

Snuffleupagus leverer et regelsystem, der giver dig mulighed for at bruge standardskabeloner til at forbedre sikkerheden eller oprette dine egne regler for at kontrollere inputdata og funktionsparametre. For eksempel reglen "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" giver dig mulighed for at begrænse brugen af ​​specialtegn i system() funktionsargumenter uden at ændre applikationen. Der er indbyggede metoder til at blokere klasser af sårbarheder såsom problemer, relaterede med dataserialisering, usikre brug af PHP mail()-funktionen, lækage af cookie-indhold under XSS-angreb, problemer på grund af indlæsning af filer med eksekverbar kode (f.eks. i formatet phar), generering af tilfældige tal af dårlig kvalitet og substitution forkerte XML-konstruktioner.

PHP sikkerhedsforbedringstilstande leveret af Snuffleupagus:

  • Aktiver automatisk "secure" og "samesite" (CSRF-beskyttelse) flag for cookies, kryptering Cookie;
  • Indbygget sæt regler til at identificere spor af angreb og kompromittering af applikationer;
  • Tvunget global aktivering af "streng" (blokerer f.eks. et forsøg på at angive en streng, når der forventes en heltalsværdi som et argument) og beskyttelse mod type manipulation;
  • Standard blokering protokolindpakninger (for eksempel at forbyde "phar://") med deres eksplicitte hvidliste;
  • Forbud mod at eksekvere filer, der er skrivbare;
  • Sort og hvid lister til eval;
  • Påkrævet for at aktivere TLS-certifikatkontrol ved brug
    krølle;
  • Tilføjelse af HMAC til serialiserede objekter for at sikre, at deserialisering henter de data, der er gemt af den originale applikation;
  • Anmod om logningstilstand;
  • Blokering af indlæsning af eksterne filer i libxml via links i XML-dokumenter;
  • Mulighed for at forbinde eksterne handlere (upload_validation) for at kontrollere og scanne uploadede filer;

blandt ændringer i den nye udgivelse: Forbedret understøttelse af PHP 7.4 og implementeret kompatibilitet med PHP 8-grenen, der i øjeblikket er under udvikling. Tilføjet muligheden for at logge hændelser via syslog (sp.log_media-direktivet foreslås inkluderet, som kan tage php- eller syslog-værdier). Standardsættet af regler er blevet opdateret til at omfatte nye regler for nyligt identificerede sårbarheder og angrebsteknikker mod webapplikationer. Forbedret understøttelse af macOS og udvidet brug af den kontinuerlige integrationsplatform baseret på GitLab.

Kilde: opennet.ru

Tilføj en kommentar