Het Snuffleupagus-project ontwikkelt een PHP-module voor het blokkeren van kwetsbaarheden

Binnen de grenzen van het project snuffleupagus ontwikkeld zich een module voor verbinding met de PHP7-interpreter, ontworpen om de veiligheid van de omgeving te verbeteren en veelvoorkomende fouten te blokkeren die tot kwetsbaarheden leiden bij het uitvoeren van PHP-applicaties. Met de module kunt u ook virtuele patches maken om specifieke problemen op te lossen zonder de broncode van de kwetsbare applicatie te wijzigen, wat handig is voor gebruik in massahostingsystemen waar het onmogelijk is om alle gebruikersapplicaties up-to-date te houden. De module is geschreven in C, is verbonden in de vorm van een gedeelde bibliotheek (“extension=snuffleupagus.so” in php.ini) en gedistribueerd door gelicentieerd onder LGPL 3.0.

Snuffleupagus biedt een regelsysteem waarmee u standaardsjablonen kunt gebruiken om de beveiliging te verbeteren, of uw eigen regels kunt maken om invoergegevens en functieparameters te controleren. Bijvoorbeeld de regel “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” Hiermee kunt u het gebruik van speciale tekens in system()-functieargumenten beperken zonder de toepassing te wijzigen. Op dezelfde manier kun je creëren virtuele pleisters om bekende kwetsbaarheden te blokkeren.

Afgaande op de tests uitgevoerd door de ontwikkelaars, vermindert Snuffleupagus de prestaties nauwelijks. Om de eigen veiligheid te garanderen (mogelijke kwetsbaarheden in de beveiligingslaag kunnen dienen als een extra vector voor aanvallen), maakt het project gebruik van grondige tests van elke commit in verschillende distributies, maakt gebruik van statische analysesystemen en wordt de code opgemaakt en gedocumenteerd om auditing te vereenvoudigen.

Er zijn ingebouwde methoden beschikbaar om klassen van kwetsbaarheden, zoals problemen, verwant met dataserialisatie, onveilig gebruik van de PHP mail()-functie, lekken van Cookie-inhoud tijdens XSS-aanvallen, problemen door het laden van bestanden met uitvoerbare code (bijvoorbeeld in het formaat far), het genereren van willekeurige getallen van slechte kwaliteit en vervanging onjuiste XML-constructies.

De volgende modi worden ondersteund om de PHP-beveiliging te verbeteren:

  • Schakel automatisch de vlaggen "secure" en "samesite" (CSRF-bescherming) in voor cookies, encryptie Koekje;
  • Ingebouwde set regels om sporen van aanvallen en het compromitteren van applicaties te identificeren;
  • Gedwongen mondiale activering van de ‘streng" (blokkeert bijvoorbeeld een poging om een ​​tekenreeks op te geven wanneer een geheel getal als argument wordt verwacht) en bescherming tegen soort manipulatie;
  • Standaardblokkering protocolverpakkingen (bijvoorbeeld het verbieden van "phar://") met hun expliciete witte lijst;
  • Verbod op het uitvoeren van bestanden die beschrijfbaar zijn;
  • Zwarte en witte lijsten voor evaluatie;
  • Vereist om TLS-certificaatcontrole in te schakelen bij gebruik
    Krul;

  • Het toevoegen van HMAC aan geserialiseerde objecten om ervoor te zorgen dat deserialisatie de gegevens ophaalt die zijn opgeslagen door de oorspronkelijke applicatie;
  • Registratiemodus aanvragen;
  • Blokkeren van het laden van externe bestanden in libxml via links in XML-documenten;
  • Mogelijkheid om externe handlers aan te sluiten (upload_validation) om geüploade bestanden te controleren en te scannen;

Het project is gemaakt en gebruikt om gebruikers in de infrastructuur van een van de grote Franse hostingoperatoren te beschermen. Het is genoteerddat het simpelweg verbinden van Snuffleupagus bescherming zou bieden tegen veel van de gevaarlijke kwetsbaarheden die dit jaar zijn geïdentificeerd in Drupal, WordPress en phpBB. Kwetsbaarheden in Magento en Horde kunnen worden geblokkeerd door de
"sp.readonly_exec.enable()".

Bron: opennet.ru

Voeg een reactie