Skip to main content

PHP-Sicherheit in Snyk Code jetzt allgemein verfügbar

Artikel von
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog social php composer

26. Januar 2022

0 Min. Lesezeit

Vor Kurzem haben wir unsere Beta-Version mit PHP-Unterstützung in Snyk Code angekündigt. Damit lassen sich potenzielle PHP-Sicherheitslücken auf Code-Ebene erkennen. Nach einem erfolgreichen öffentlichen Betaprogramm ist die PHP-Sicherheitsunterstützung in Snyk Code jetzt allgemein verfügbar.

PHP ist eine beliebte Programmiersprache, die von Entwicklerinnen und Entwicklern auf der ganzen Welt verwendet wird. In diesem Blogbeitrag sehen wir uns einige Funktionen von Snyk Code an und zeigen, wie Sie sie mit PHP nutzen können. Außerdem stellen wir einige Beispiele vor, die Ihnen den Einstieg erleichtern – ganz gleich, ob Sie gerade anfangen oder bereits erfahrene Entwickler sind.

Neuerungen zur allgemeinen Verfügbarkeit

Die PHP-Sprachsicherheitsunterstützung in Snyk Code ergänzt unsere bestehende PHP-Scan-Funktion, die Composer-Manifeste scannt, um Sicherheitslücken in Open-Source-Bibliotheken und Abhängigkeiten zu erkennen.

Auch die Snyk-Erweiterung für Visual Studio Code unterstützt jetzt Code- und Composer-Scans für PHP. Das ist besonders nützlich, weil sie potenziell unsicheren Code während der Eingabe hervorhebt und Sie auf Sicherheitslücken in Open-Source-Bibliotheken oder Abhängigkeiten hinweist.

PHP-Code in Visual Studio Code mit einer Snyk-Warnung: Nicht bereinigte HTTP-Eingaben werden an mysqli_query übergeben.

Mit der allgemein verfügbaren PHP-Version von Snyk Code können Sie sich mit dem Problem befassen und bei Bedarf den Codepfad durch die Codebasis zurückverfolgen. Das ist praktisch, wenn Sie nachverfolgbare Funktionen untersuchen, die an anderer Stelle im Code ihren Ursprung haben können.

Snyk Code zeigt eine SQL-Injection-Analyse, bei der nicht bereinigte HTTP-Eingaben in tasks.php in einen mysqli_query-Aufruf fließen.

Testen Sie das Scannen mit Snyk Code anhand unserer PHP-Demo-App

Was wir bei Snyk besonders gerne tun, ist die Entwicklung absichtlich verwundbarer Demo-Anwendungen, die wir goof-Apps nennen. Sie eignen sich hervorragend, um selbst aktiv zu werden und Sicherheitslücken in der Praxis zu entdecken. Mit der Einführung der PHP-Unterstützung in Snyk Code haben wir eine PHP-goof-App hinzugefügt.

Anhand der PHP-goof-App gehen wir einige Beispiele durch. Wenn Sie es selbst ausprobieren möchten, benötigen Sie ein Snyk-Konto. Falls Sie noch keines haben, können Sie in wenigen Sekunden kostenlos eines erstellen.

Melden Sie sich zunächst beim Snyk-Dashboard an und fügen Sie dann ein Projekt hinzu. Für diesen Scan können Sie die Option öffentliches Repository überwachen verwenden, um das PHP-goof-App-Repository zu scannen. Alternativ können Sie den Code forken und mit einem Repository Ihrer Wahl verbinden.

Sicherheits-Dashboard mit dem Repository snyk-labs/php-goof, Code-Analyse und einer Übersicht der Schwachstellen nach Schweregrad in composer.lock.

Profi-Tipp: Das Scannen öffentlicher Repositories ist auch hilfreich, um Open-Source-Projekte zu scannen, die Sie täglich verwenden.

Der Scan dauert nur wenige Augenblicke. Sie sehen bereits, dass mehrere Probleme sowohl im Code als auch in den Paketmanifesten gefunden wurden. Snyk Code erkennt Dutzende Problemtypen und buchstäblich Millionen von Source-Sink-Kombinationen in Datenflüssen. Sehen wir uns zwei sehr häufige Beispiele anhand der PHP-goof-App an.

SQL-Injection

Als Erstes fällt nach dem Scan auf, wie einfach Snyk Code die Untersuchung Ihres Codes macht. Im Screenshot unten sehen Sie, dass eine Datenbankabfrage erkannt wird, an die ungefilterte Eingaben übergeben werden.

Snyk Code-Analyse einer SQL-Injection: Nicht bereinigte HTTP-Eingaben fließen in einen PHP-mysqli_query-Aufruf.

Snyk Code macht Sicherheitslücken nicht nur schnell und verständlich sichtbar, sondern liefert auch eine Analyse zur Behebung und konkrete Empfehlungen. Wenn Sie PHP entwickeln und über wenig Sicherheitserfahrung verfügen, wissen Sie vielleicht nicht, dass es verschiedene Möglichkeiten gibt, Eingaben in PHP sicher zu bereinigen – entweder mithilfe einer Bibliothek oder mit der Funktion filter_var. Snyk bietet Ihnen die Sicherheitsexpertise in Echtzeit, die Sie benötigen, um Ihren Code sicher zu halten, und unterstützt Sie dabei, Ihr Wissen auszubauen.

Wenn Sie mehr über PHP-Sicherheit erfahren möchten, lesen Sie unseren Beitrag 5 Möglichkeiten, PHP-Code-Injection zu verhindern.

Verwendung hartcodierter Zugangsdaten

In der goof-App haben wir absichtlich hartcodierte MySQL-Zugangsdaten verwendet, damit sie beim Snyk-Code-Scan gefunden werden. Wie Sie im Screenshot unten sehen, hat Snyk Code diese erkannt und als Problem markiert. (Sicherer lassen sich Zugangsdaten im Code handhaben, indem Sie sie als Umgebungsvariablen speichern – entweder auf der Plattform oder in einer Umgebungsdatei.)

Snyk Code-Bildschirm mit hervorgehobenem fest codiertem PHP-Datenbankpasswort, das in db.php an mysqli_connect übergeben wird

Sicherheitslücken in Open-Source-Software

Außerdem hat der Scan ein Problem mit einer Version einer Open-Source-Bibliothek im Composer-Manifest erkannt. Sie wurde absichtlich in die App aufgenommen, um zu zeigen, wie eine Cross-Site-Scripting-Sicherheitslücke entstehen kann.

Eintrag zu einer Sicherheitslücke in league/commonmark: mittelschweres Cross-Site-Scripting-Problem, CVSS 6,5, behoben in Version 0.18.3.

Sichern Sie Ihre PHP-Projekte ab

Wir freuen uns sehr, dass die PHP-Unterstützung in Snyk Code jetzt allgemein verfügbar ist, und hoffen, dass es Ihnen genauso geht. Probieren Sie sie mit einem kostenlosen Snyk-Konto aus und schicken Sie uns Ihr Feedback.

Starten Sie mit Capture the Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.

Gepostet in:

Weiterlesen

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSec: Sicherheit, die mit der KI-Entwicklung Schritt hält

KI-gestützte Entwicklung überholt herkömmliche Security-Workflows. Snyk Agentic AppSec setzt Security-Agenten ein, die Schwachstellen kontinuierlich finden, beheben und überprüfen – während Menschen die Maßstäbe festlegen.

feature insights context
Blog

Autonome Angriffe sind bereits Realität. Die Verteidigung muss Schritt halten.

Autonome Angreifer verkürzen das Zeitfenster für die Verteidigung. Erfahren Sie, wie kontinuierliches Erkennen, Beheben, Validieren und Verhindern Sicherheitsteams helfen kann, Schritt zu halten.

illustration hero ai
Blog

Der KI-Hurrikan ist da

KI beschleunigt gleichermaßen die Softwareentwicklung und Cyberangriffe. Führungskräfte müssen Agents und Code von Anfang an absichern, zur Laufzeit Kontrollen durchsetzen und Abwehrmaßnahmen unabhängig validieren.