Snuffleupagus-projektet er ved at udvikle et PHP-modul til blokering af sårbarheder

I projektets grænser snuffleupagus udvikler sig et modul til at oprette forbindelse til PHP7-fortolkeren, designet 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 for at løse 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 opdateret. 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. På samme måde kan du oprette virtuelle patches at blokere kendte sårbarheder.

At dømme efter testene udført af udviklerne, reducerer Snuffleupagus næppe ydeevnen. For at sikre sin egen sikkerhed (mulige sårbarheder i sikkerhedslaget kan fungere som en ekstra vektor for angreb), bruger projektet grundig test af hver commit i forskellige distributioner, bruger statiske analysesystemer, og kode formateres og dokumenteres for at forenkle revision.

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.

Følgende tilstande understøttes for at forbedre PHP-sikkerheden:

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

Projektet blev skabt og brugt til at beskytte brugere i infrastrukturen hos en af ​​de store franske hostingoperatører. Det er noteretat blot at forbinde Snuffleupagus ville beskytte mod mange af de farlige sårbarheder, der blev identificeret i år i Drupal, WordPress og phpBB. Sårbarheder i Magento og Horde kan blokeres ved at aktivere tilstanden
"sp.readonly_exec.enable()".

Kilde: opennet.ru

Tilføj en kommentar