Skip to main content

Snyk Code ergänzt Sicherheitsscans für C# und .NET

Artikel von

Frank Fischer

blog feature snyk code path traversal

29. Juli 2021

0 Min. Lesezeit

Eine kurze persönliche Anmerkung: Ich habe eine besondere Beziehung zu .NET und habe unter anderem bei Microsoft als .NET-Evangelist gearbeitet. Außerdem habe ich Anders Jejlsberg, den Entwickler von C# und TypeScript, kurz persönlich getroffen. Deshalb ist dieser Blogbeitrag für mich ein wenig persönlich.

Wir freuen uns, Ihnen mitteilen zu können, dass Snyk Code eine weitere Programmiersprache auf Sicherheitslücken scannt und Vorschläge zu deren Behebung liefert: C#. Damit erweitern wir unser Portfolio um eine wichtige Programmiersprache. Es unterstützt bereits Java, JavaScript, TypeScript und Python.

Sicherheitsanalyse mit dem Datenfluss einer C#-Path-Traversal-Schwachstelle zu System.IO.File.ReadAllText

C# ist eng mit dem .NET-Framework verbunden und hat zahlreiche Veränderungen durchlaufen. Version 9.0 wurde 2020 veröffentlicht und ist sowohl ein ECMA- (ECMA-334) als auch ein ISO-Standard (23270). C# unterstützt mehrere Programmierparadigmen (strukturiert, imperativ, objektorientiert, ereignisgesteuert, aufgabenorientiert, funktional, generisch, reflektiv und nebenläufig) – kurz gesagt: eine ausgereifte Programmiersprache mit einer langen Geschichte.

C# macht etwa 8 % des Markts für Programmiersprachen unter Entwicklern aus und liegt damit hinter Java, JavaScript und Python auf Platz vier. C# war zunächst die bevorzugte Programmiersprache für Windows- und Business-Anwendungen, hat sich aber auch in der Spieleentwicklung und der VR-Branche etabliert, da sie häufig in Unity-Anwendungen zum Einsatz kommt.

Analyse einer Path-Traversal-Sicherheitslücke mit Beispielen für Verzeichnis-Traversal, Exploit-Befehlen und C#-Codekorrekturen.

C#-Projekte zu Snyk hinzufügen

Sie können Ihr Repository auf verschiedene Arten scannen lassen. Mit der IDE können Sie Quellcode unabhängig vom Versionsverwaltungssystem scannen, wenn Sie Ihren Code überprüfen möchten, bevor Sie ihn einchecken.

Profi-Tipp: Sie können Open-Source-Repositories scannen lassen, ohne sie zu forken oder zu klonen. Verwenden Sie einfach Add project > Monitor public GitHub repos.

Snyk Code unterstützt GitHub, GitLab, Bitbucket Cloud und Azure Repos. Die Integrationen werden in den Einstellungen konfiguriert. Hinweis: Azure Repos finden Sie nicht direkt im Projektmenü Add. Klicken Sie auf + Other, um die Option zu finden.

Wenn Sie Snyk bereits nutzen und Ihre Projekte schon importiert haben, müssen Sie sie erneut scannen lassen, damit die C#-Ergebnisse sofort angezeigt werden. Andernfalls erscheinen die Ergebnisse beim nächsten regulären Scan.

Sicherheitslücken mit Snyk Code finden

Snyk Code führt eine Datenflussanalyse durch, um typische Injection-Angriffe wie SQL-Injection, XML-Injection, Open Redirect oder LDAP-Injection zu erkennen. In unseren Trainingsdaten traten Path-Traversal-Angriffe häufig auf. Bei dieser Art von Angriff werden externe Daten ohne vorherige Bereinigung verwendet, um Dateien zu öffnen. Angreifer können den Dateipfad nutzen, um Verzeichnisse zu durchlaufen und geschützte Dateien zu lesen oder zu verändern. Auch das Entpacken von ZIP-Dateien und die Verwendung der in diesen Paketen gespeicherten Pfade kann dazu führen, dass wichtige Dateien überschrieben werden. (Das nennt man Zip Slip – und ja, Snyk Code scannt auch danach.) Außerdem erkennt Snyk Code dateiübergreifende Probleme, was besonders interessant ist, da Klassendefinitionen in C# auf mehrere Dateien verteilt sein können.

Snyk Code unterstützt die wichtigsten .NET-Frameworks: .NET Framework, .NET Core, ASP.NET (4.x) und ASP.NET Core. Wie gewohnt unterstützt Snyk Code standardmäßig alle C#-Bibliotheken.

Profi-Tipp: Snyk Code scannt Quelldateien mit der Endung *.cs, nicht aber Markup-Dateien mit der Endung *.cshtml.

Sichern Sie Ihre C#-Projekte noch heute ab

Nach sechs Monaten auf dem Markt unterstützt Snyk Code jetzt JavaScript, TypeScript, C#, Python und Java. Weitere Programmiersprachen folgen: In den kommenden Monaten möchten wir sie in kurzen Abständen veröffentlichen. Falls Ihre Programmiersprache noch nicht dabei ist, schauen Sie regelmäßig vorbei – vielleicht haben wir bald Neuigkeiten für Sie.

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

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.

feature insights context
Blog

Ist Prävention im Grunde ein gelöstes Problem?

Die Prävention in von Agenten generiertem Code ist architektonisch gelöst – die Herausforderung besteht jedoch weiterhin darin, Kontrollen zu wählen, die die Sicherheit schützen, ohne die Entwicklung zu verlangsamen.