Utgivelse av Snuffleupagus 0.5.1, en modul for blokkering av sårbarheter i PHP-applikasjoner

Etter et år med utvikling publisert prosjektutgivelse Snuffleupagus 0.5.1, som gir en modul for PHP7-tolken for å forbedre sikkerheten til miljøet og blokkere vanlige feil som fører til sårbarheter i å kjøre PHP-applikasjoner. Modulen lar deg også lage virtuelle patcher å eliminere spesifikke problemer uten å endre kildekoden til den sårbare applikasjonen, noe som er praktisk for bruk i massevertssystemer der det er umulig å holde alle brukerapplikasjoner oppdatert. Overheadkostnadene til modulen er beregnet til å være minimale. Modulen er skrevet i C, er koblet til i form av et delt bibliotek ("extension=snuffleupagus.so" i php.ini) og distribuert av lisensiert under LGPL 3.0.

Snuffleupagus tilbyr et regelsystem som lar deg bruke standardmaler for å forbedre sikkerheten, eller lage dine egne regler for å kontrollere inngangsdata og funksjonsparametere. For eksempel regelen “sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();” lar deg begrense bruken av spesialtegn i system() funksjonsargumenter uten å endre applikasjonen. Innebygde metoder er gitt for å blokkere klasser av sårbarheter som problemer, i slekt med dataserialisering, utrygt bruk av PHP mail()-funksjonen, lekkasje av informasjonskapselinnhold under XSS-angrep, problemer på grunn av lasting av filer med kjørbar kode (for eksempel i formatet phar), dårlig kvalitet generering av tilfeldige tall og substitusjon feil XML-konstruksjoner.

PHP-sikkerhetsforbedringsmoduser levert av Snuffleupagus:

  • Aktiver automatisk "secure" og "samesite" (CSRF-beskyttelse) flagg for informasjonskapsler, kryptering Kjeks;
  • Innebygd sett med regler for å identifisere spor etter angrep og kompromittering av applikasjoner;
  • Tvunget global aktivering av "streng" (blokkerer for eksempel et forsøk på å spesifisere en streng når man forventer en heltallsverdi som et argument) og beskyttelse mot type manipulasjon;
  • Standard blokkering protokollinnpakninger (for eksempel forbud mot "phar://") med deres eksplisitte hviteliste;
  • Forbud mot å kjøre filer som er skrivbare;
  • Svarte og hvite lister for eval;
  • Nødvendig for å aktivere TLS-sertifikatkontroll ved bruk
    krølle;
  • Legge til HMAC til serialiserte objekter for å sikre at deserialisering henter dataene som er lagret av den opprinnelige applikasjonen;
  • Be om loggingsmodus;
  • Blokkering av lasting av eksterne filer i libxml via lenker i XML-dokumenter;
  • Evne til å koble til eksterne behandlere (upload_validation) for å sjekke og skanne opplastede filer;

Blant Endringer i den nye utgivelsen: Forbedret støtte for PHP 7.4 og implementert kompatibilitet med PHP 8-grenen som for tiden er under utvikling. Lagt til muligheten til å logge hendelser via syslog (sp.log_media-direktivet er foreslått inkludert, som kan ta php- eller syslog-verdier). Standardsettet med regler er oppdatert for å inkludere nye regler for nylig identifiserte sårbarheter og angrepsteknikker mot nettapplikasjoner. Forbedret støtte for macOS og utvidet bruk av den kontinuerlige integrasjonsplattformen basert på GitLab.

Kilde: opennet.ru

Legg til en kommentar