Release Snuffleupagus 0.5.1, eines Moduls zur Blockierung von Sicherheitsanfälligkeiten 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 Sicherheitsanfälligkeiten in ausgeführten PHP-Anwendungen führen. Das Modul ermöglicht auch die Erstellung virtueller Patches zur Behebung konkreter Probleme, ohne die Quelltexte der anfälligen Anwendung zu ändern, was für den Einsatz in Massenghosting-Systemen praktisch ist, bei denen es nicht möglich ist, alle Benutzeranwendungen auf dem neuesten Stand zu halten. Die Nebenkosten für das Modul werden als minimal eingeschätzt. Das Modul ist in C geschrieben, wird als Shared Library eingebunden („extension=snuffleupagus.so“ in php.ini) und wird verbreitet unter der Lizenz LGPL 3.0.

Snuffleupagus bietet ein Regelwerk, das sowohl standardisierte Vorlagen zur Verbesserung der Sicherheit als auch die Erstellung eigener Regeln zur Kontrolle von Eingaben und Funktionsparametern ermöglicht. Zum Beispiel erlaubt die Regel „sp.disable_function.function(„system“).param(„command“).value_r(„[$|;&`\n]“).drop();“ die Einschränkung der Verwendung von Sonderzeichen in den Argumenten der Funktion system(), ohne die Anwendungen zu ändern. Eingebaute Methoden zum Blockieren solcher Sicherheitsanfälligkeiten wie Probleme im Zusammenhang mit der Ausführung von Systembefehlen beim Parsen von Dockerfile (z.B. konnte in Snyk die Utility \/bin\/ls, die vom Scanner aufgerufen wird, durch einen eigenen Code ersetzt werden, während in WhiteSource Code über Argumente in der Form 'echo ‘;touch \/tmp\/hacked_whitesource_pip;=1.0’‘ eingesetzt werden konnte). mit der Datenserialisierung, unsicher der Verwendung der PHP-Funktion mail(), dem Leck von Cookie-Inhalten bei XSS-Angriffen, Problemen durch den Upload von Dateien mit ausführbarem Code (z. B. im Format phar), minderwertiger Zufallszahlen-Generierung und Ersatz von fehlerhaften XML-Konstruktionen.

Die von Snuffleupagus bereitgestellten Modi zur Erhöhung der PHP-Sicherheit:

  • Automatisches Aktivieren der Flags „secure“ und „samesite“ (Schutz vor CSRF) für Cookies, Verschlüsselung von Cookies;
  • Ein integriertes Regelset zur Erkennung von Spuren von Angriffen und Kompromittierung von Anwendungen;
  • Zwangswerk Globale Aktivierung des Modus „strict“ (z. B. blockiert die Angabe einer Zeichenfolge, wenn ein ganzzahliger Wert erwartet wird) und Schutz vor Typmanipulationen;
  • Standardmäßiges Blockieren von Wrappern für Protokolle (z. B. Verbot von „phar://“) mit deren ausdrücklicher Genehmigung auf einer Whitelist;
  • Verbot der Ausführung von Dateien, die schreibbar sind;
  • Schwarze und weiße Listen für eval;
  • Einschalten der obligatorischen TLS-Zertifikatüberprüfung bei der Verwendung von
    curl;
  • Hinzufügen von HMAC zu serialisierten Objekten, um sicherzustellen, dass beim Deserialisieren die vom ursprünglichen Anwender gespeicherten Daten erhalten bleiben;
  • Anfragetagebuchmodus;
  • Blockierung des Ladens externer Dateien in libxml über Links in XML-Dokumenten;
  • Möglichkeit, externe Handler (upload_validation) zur Überprüfung und Scannen hochgeladener Dateien anzuschließen;

Unter Änderungen In der neuen Version: Verbesserte Unterstützung für PHP 7.4 und Implementierung der Kompatibilität mit der in Entwicklung befindlichen PHP 8-Version. Möglichkeit zum Protokollieren von Ereignissen über syslog hinzugefügt (zum Aktivieren wird die Direktive sp.log_media vorgeschlagen, die die Werte php oder syslog annehmen kann). Das standardmäßig vorgeschlagene Regelset wurde aktualisiert und enthält neue Regeln für kürzlich entdeckte Schwachstellen und Angriffstechniken auf Webanwendungen. Verbesserte Unterstützung für macOS und erweiterte Anwendung der Continuous Integration-Plattform auf Basis von GitLab.

Quelle: opennet.ru

60GB SSD 8Gb DDR4