Veröffentlichung von Snuffleupagus 0.5.1, einem Modul zum Blockieren von Schwachstellen in PHP-Anwendungen

Nach einem Jahr Entwicklung veröffentlicht Projektfreigabe Schnupftabak 0.5.1, das ein Modul für den PHP7-Interpreter bereitstellt, um die Sicherheit der Umgebung zu verbessern und häufige Fehler zu blockieren, die zu Schwachstellen bei der Ausführung von PHP-Anwendungen führen. Mit dem Modul können Sie auch erstellen virtuelle Patches um spezifische Probleme zu beseitigen, ohne den Quellcode der anfälligen Anwendung zu ändern, was praktisch für den Einsatz in Massenhosting-Systemen ist, bei denen es unmöglich ist, alle Benutzeranwendungen auf dem neuesten Stand zu halten. Die Gemeinkosten des Moduls werden als minimal eingeschätzt. Das Modul ist in C geschrieben, in Form einer Shared Library („extension=snuffleupagus.so“ in php.ini) angebunden und vertrieben von lizenziert unter LGPL 3.0.

Snuffleupagus bietet ein Regelsystem, mit dem Sie Standardvorlagen zur Verbesserung der Sicherheit verwenden oder eigene Regeln zur Steuerung von Eingabedaten und Funktionsparametern erstellen können. Zum Beispiel die Regel „sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();“ ermöglicht es Ihnen, die Verwendung von Sonderzeichen in system()-Funktionsargumenten einzuschränken, ohne die Anwendung zu ändern. Es werden integrierte Methoden bereitgestellt, um Schwachstellenklassen wie Probleme, Связанные mit Datenserialisierung, unsicher Verwendung der PHP-Funktion mail(), Verlust von Cookie-Inhalten bei XSS-Angriffen, Probleme beim Laden von Dateien mit ausführbarem Code (z. B. im Format phar), minderwertige Generierung von Zufallszahlen und Auswechslung ungültige XML-Konstrukte.

Von Snuffleupagus bereitgestellte PHP-Sicherheitsverbesserungsmodi:

  • Automatische Aktivierung der Flags „secure“ und „samesite“ (CSRF-Schutz) für Cookies, Verschlüsselung Plätzchen
  • Integriertes Regelwerk zur Erkennung von Spuren von Angriffen und kompromittierten Anwendungen;
  • Globalen Aktivierungsmodus erzwingen "streng» (Blockiert beispielsweise den Versuch, eine Zeichenfolge anzugeben, während ein ganzzahliger Wert als Argument erwartet wird) und Schutz davor Typmanipulation;
  • Standardmäßig blockieren Wrapper für Protokolle (z. B. das Verbot von „phar://“) mit deren ausdrücklicher Genehmigung gemäß der Whitelist;
  • Verbot der Ausführung beschreibbarer Dateien;
  • Schwarze und weiße Listen zur Evaluierung;
  • Aktivieren Sie bei der Verwendung die obligatorische TLS-Zertifikatsvalidierung
    Locken;
  • Hinzufügen von HMAC zu serialisierten Objekten, um sicherzustellen, dass die Deserialisierung die von der ursprünglichen Anwendung gespeicherten Daten abruft;
  • Protokollierungsmodus anfordern;
  • Blockieren des Ladens externer Dateien in libxml über Links in XML-Dokumenten;
  • Möglichkeit, externe Handler (upload_validation) anzuschließen, um hochgeladene Dateien zu prüfen und zu scannen;

unter Änderungen in der neuen Version: Verbesserte Unterstützung für PHP 7.4 und implementierte Kompatibilität mit dem PHP 8-Zweig, der sich derzeit in der Entwicklung befindet. Hinzugefügt wurde die Möglichkeit, Ereignisse über Syslog zu protokollieren (die Direktive sp.log_media wird zur Aufnahme vorgeschlagen, die PHP- oder Syslog-Werte annehmen kann). Das Standardregelwerk wurde aktualisiert und enthält nun neue Regeln für kürzlich identifizierte Schwachstellen und Angriffstechniken gegen Webanwendungen. Verbesserte Unterstützung für macOS und erweiterte Nutzung der Continuous-Integration-Plattform auf Basis von GitLab.

Source: opennet.ru

Kommentar hinzufügen