Veröffentlichung von Snuffleupagus 0.5.1, einem Modul zur Blockierung von Schwachstellen in PHP-Anwendungen

Nach einem Jahr Entwicklung veröffentlicht Projektveröffentlichung Snuffleupagus 0.5.1, das ein Modul für den PHP7-Interpreter bereitstellt, um die Sicherheit der Umgebung zu erhöhen und typische Fehler zu blockieren, die zu Schwachstellen in ausgeführten PHP-Anwendungen führen. Das Modul ermöglicht außerdem die Erstellung von virtuellen Patches zur Behebung spezifischer Probleme, ohne die Quelltexte der betroffenen Anwendung zu ändern, was besonders praktisch für Mass Hosting-Systeme ist, in denen es schwierig ist, alle Benutzeranwendungen aktuell zu halten. Die Betriebskosten des Moduls werden als minimal angesehen. Das Modul ist in C geschrieben, wird als Shared Library eingebunden („extension=snuffleupagus.so“ in php.ini) und wird unter der GPLv3-Lizenz bereitgestellt. unter der LGPL 3.0-Lizenz bereitgestellt.

Snuffleupagus bietet ein Regelsystem, das sowohl vordefinierte Vorlagen zur Verbesserung der Sicherheit als auch die Möglichkeit zur Erstellung eigener Regeln zur Kontrolle von Eingabedaten und Funktionsparametern ermöglicht. Ein Beispiel für eine Regel ist „sp.disable_function.function(„system“).param(„command“).value_r(„[$|;&`\\n]“).drop();“, die es erlaubt, die Verwendung von Sonderzeichen in den Argumenten der Funktion system() einzuschränken, ohne die Anwendung zu ändern. Eingebaute Methoden stehen zur Verfügung, um solche Klassen von Sicherheitsanfälligkeiten wie Probleme zu blockieren, die mit der Datenserialisierung und unsicheren Verwendung der PHP-Funktion mail(), dem Auslaufen von Cookie-Inhalten bei XSS-Angriffen, Problemen durch Dateiuploads mit ausführbarem Code (z. B. im Format phar), minderwertiger Zufallszahlengenerierung sowie Substitution inkorrekter XML-Konstrukte zu umgehen.

Die in Snuffleupagus bereitgestellten Modi zur Steigerung der PHP-Sicherheit:

  • Automatische Aktivierung der Flags „secure“ und „samesite“ (Schutz vor CSRF) für Cookies, Verschlüsselung von Cookies;
  • Ein integrierter Regelbestand zur Erkennung von Spuren von Angriffen und der Kompromittierung von Anwendungen;
  • Globale erzwungene Aktivierung des Modus „strict» (zum Beispiel wird der Versuch, eine Zeile als ganzzahligen Wert zu übergeben, blockiert) und Schutz vor Typmanipulationen;
  • Standardmäßige Blockierung Wrapper für Protokolle (zum Beispiel das Verbot von „phar://“) mit deren ausdrücklicher Genehmigung auf der Whitelist;
  • Verbot der Ausführung von Dateien, die beschreibbar sind;
  • Schwarze und weiße Listen für eval;
  • Erzwingung der TLS-Zertifikatprüfung beim Einsatz von
    curl;
  • Hinzufügung von HMAC zu serialisierten Objekten, um sicherzustellen, dass bei der Deserialisierung die vom ursprünglichen Programm gespeicherten Daten erhalten bleiben;
  • Anfrageprotokollierungsmodus;
  • Blockierung des Ladens externer Dateien in libxml über Verlinkungen in XML-Dokumenten;
  • Möglichkeit zur Anbindung externer Validatoren (upload_validation) zur Überprüfung und Scannen von hochgeladenen Dateien;

Unter Änderungen In der neuen Ausgabe: Verbesserte Unterstützung für PHP 7.4 und Implementierung der Kompatibilität mit dem in Entwicklung befindlichen PHP 8-Zweig. Es wurde eine Möglichkeit zur Protokollierung von Ereignissen über syslog hinzugefügt (zur Aktivierung wird die Direktive sp.log_media vorgeschlagen, die die Werte php oder syslog annehmen kann). Das standardmäßig empfohlene Regelset wurde aktualisiert, wobei neue Regeln für kürzlich entdeckte Schwachstellen und Angriffstechniken auf Webanwendungen hinzugefügt wurden. Die Unterstützung für macOS wurde verbessert und die Verwendung der kontinuierlichen Integrationsplattform auf Basis von GitLab erweitert.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster