Die Snuffleupagus-projek ontwikkel 'n PHP-module om kwesbaarhede te blokkeer

In die projek se grense Snuffelupagus ontwikkel 'n module om aan die PHP7-tolk te koppel, wat ontwerp is om die sekuriteit van die omgewing te verbeter en algemene foute te blokkeer wat lei tot kwesbaarhede in die gebruik van PHP-toepassings. Die module laat jou ook toe om virtuele pleisters te skep om spesifieke probleme op te los sonder om die bronkode van die kwesbare toepassing te verander, wat gerieflik is vir gebruik in massagasheerstelsels waar dit onmoontlik is om alle gebruikerstoepassings op datum te hou. Die module is in C geskryf, is verbind in die vorm van 'n gedeelde biblioteek (“extension=snuffleupagus.so” in php.ini) en versprei deur gelisensieer onder LGPL 3.0.

Snuffleupagus verskaf 'n reëlstelsel wat jou toelaat om standaard sjablone te gebruik om sekuriteit te verbeter, of om jou eie reëls te skep om insetdata en funksieparameters te beheer. Byvoorbeeld, die reël “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” laat jou toe om die gebruik van spesiale karakters in system() funksie argumente te beperk sonder om die toepassing te verander. Net so kan jy skep virtuele kolle om bekende kwesbaarhede te blokkeer.

Te oordeel aan die toetse wat deur die ontwikkelaars uitgevoer is, verminder Snuffleupagus skaars prestasie. Om sy eie sekuriteit te verseker (moontlike kwesbaarhede in die sekuriteitslaag kan as 'n bykomende vektor vir aanvalle dien), gebruik die projek deeglike toetsing van elke commit in verskillende verspreidings, gebruik statiese ontledingstelsels, en kode word geformateer en gedokumenteer om ouditering te vereenvoudig.

Ingeboude metodes word verskaf om klasse van kwesbaarhede soos probleme, verwante met data serialisering, onveilig gebruik van die PHP-pos()-funksie, lekkasie van koekie-inhoud tydens XSS-aanvalle, probleme as gevolg van die laai van lêers met uitvoerbare kode (byvoorbeeld in die formaat phar), swak gehalte ewekansige getal generering en vervanging verkeerde XML-konstrukte.

Die volgende modusse word ondersteun om PHP-sekuriteit te verbeter:

  • Aktiveer outomaties "veilige" en "samesite" (CSRF-beskerming) vlae vir koekies, enkripsie Koekie;
  • Ingeboude stel reëls om spore van aanvalle en kompromie van toepassings te identifiseer;
  • Gedwonge globale aktivering van die "streng"(blokkeer byvoorbeeld 'n poging om 'n string te spesifiseer wanneer 'n heelgetalwaarde as 'n argument verwag word) en beskerming teen tipe manipulasie;
  • Verstek blokkering protokol omhulsels (byvoorbeeld, verbied "phar://") met hul eksplisiete witlys;
  • Verbod op die uitvoer van lêers wat skryfbaar is;
  • Swart en wit lyste vir eval;
  • Vereis om TLS-sertifikaatkontrolering te aktiveer tydens gebruik
    krul;

  • Voeg HMAC by geserialiseerde voorwerpe om te verseker dat deserialisering die data wat deur die oorspronklike toepassing gestoor is, herwin;
  • Versoek aantekenmodus;
  • Blokkering van laai van eksterne lêers in libxml via skakels in XML-dokumente;
  • Vermoë om eksterne hanteerders te koppel (upload_validation) om opgelaaide lêers na te gaan en te skandeer;

Die projek is geskep en gebruik om gebruikers in die infrastruktuur van een van die groot Franse gasheeroperateurs te beskerm. Dit word opgemerkdat om Snuffleupagus bloot te koppel, sou beskerm teen baie van die gevaarlike kwesbaarhede wat hierdie jaar in Drupal, WordPress en phpBB geïdentifiseer is. Kwesbaarhede in Magento en Horde kan geblokkeer word deur die modus te aktiveer
"sp.readonly_exec.enable()".

Bron: opennet.ru

Voeg 'n opmerking