Snyk Open Source ergänzt Beta für C/C++-Sicherheitsscans von nicht verwaltetem OSS
8. Dezember 2021
0 Min. LesezeitWir freuen uns, die offene Beta für C/C++-Sicherheitsscans in Snyk Open Source anzukündigen. Damit können Entwicklungs- und Sicherheitsteams bekannte Sicherheitslücken in ihrem C/C++-Open-Source-Code und ihren Bibliotheken finden und beheben!
C/C++ wird in verschiedenen Branchen eingesetzt und ist besonders in der Gaming-, Hardware-/IoT- und Kommunikationsbranche verbreitet. Die Sprache hat weiterhin großen Einfluss auf die Softwareentwicklung und die Technologiebranche insgesamt. Laut dem TIOBE-Index vom November 2021 zählt C/C++ zu den fünf führenden Programmiersprachen und belegt den zweiten beziehungsweise vierten Platz. Ähnliche Ergebnisse finden sich im PYPL-Index und in den RedMonk-Rankings.
Wie Entwicklerinnen und Entwickler anderer Programmiersprachen verlassen sich auch C/C++-Entwickler auf Open-Source-Code und -Bibliotheken, um ihre Anwendungen zu erstellen. Diese zunehmende Abhängigkeit birgt Risiken: Bekannte Sicherheitslücken können sich in den Bibliotheken verbergen. Verschärft wird das Risiko dadurch, dass die meisten C/C++-Entwickler im Gegensatz zu Entwicklerinnen und Entwicklern modernerer Sprachen keinen standardisierten Prozess für die Verwaltung dieser Bibliotheken verwenden (49 % der C++-Entwickler nennen das Paketmanagement als zentrales Problem in der aktuellen C++-Community-Umfrage). Stattdessen wird der Quellcode der Open-Source-Bibliothek zusammen mit dem Anwendungscode gebündelt. Dadurch wird es schwieriger, die Bibliotheken zu verwalten und mögliche Sicherheitslücken darin zu erkennen.
Mit dieser Ankündigung können Nutzer von Snyk Open Source dieses Risiko mindern, indem sie ihre C/C++-Projekte über die Snyk CLI testen. So können Sie manuelle Tests in lokalen Entwicklungsumgebungen oder automatisierte Tests als Teil einer CI/CD-Pipeline ausführen.
Diese Beta-Version unterstützt folgende Funktionen:
snyk unmanaged testin der Snyk CLIsnyk unmanaged monitorin der Snyk CLISicherheitslückendaten auf Grundlage der National Vulnerability Database (NVD)
Sehen wir uns kurz an, wie das funktioniert.
Einrichtung der Snyk CLI
Stellen Sie zunächst sicher, dass die Snyk CLI installiert ist. Wenn Sie mit der Snyk CLI bereits vertraut sind und sie installiert haben, verwenden Sie mindestens Version 1.775.0.
Die Einrichtung der Snyk CLI ist ganz einfach. Sie können sie schnell mit npm oder Homebrew installieren. Anschließend müssen Sie sich nur noch mit Ihrem Snyk-Konto authentifizieren (falls Sie noch kein Konto haben, können Sie sich kostenlos registrieren):
In Ihrem Browser wird eine Aufforderung zur Authentifizierung der CLI geöffnet. Führen Sie die Authentifizierung durch.
Jetzt können Sie mit der Snyk CLI Ihre C/C++-Projekte auf Sicherheitslücken scannen.
Nach Sicherheitslücken suchen
Probieren wir die Snyk CLI aus und führen einen ersten Test durch.
Damit ein Projekt gescannt werden kann, müssen sich die Open-Source-Bibliotheken im gescannten Verzeichnis befinden. Führen Sie in diesem Verzeichnis folgenden CLI-Befehl aus:
Snyk wandelt nun alle Dateien im Ordner in eine Liste digitaler Signaturen, sogenannte Hashes, um und gleicht diese mit den Snyk-Datenbanken ab. So entsteht eine Liste passender Open-Source-Komponenten. Diese Liste wird anschließend mit der National Vulnerability Database (NVD) abgeglichen, um die Ergebnisse anzuzeigen.
Die Sicherheitslücken-Prüfung hängt von der Anzahl der Dateien in Ihrem Projekt ab und kann wenige Sekunden bis einige Minuten dauern. Sobald der Scan abgeschlossen ist, wird Ihnen eine Liste der erkannten Sicherheitslücken angezeigt:

Wie im obigen Beispiel zu sehen ist, enthält die Problemliste den Schweregrad der Sicherheitslücke, die zugehörige CVE, Informationen zur betroffenen Bibliothek und einen Link zum Eintrag der Sicherheitslücke in der NVD.
Mit einem weiteren nützlichen Befehl können Sie die im Projekt enthaltenen Open-Source-Bibliotheken anzeigen lassen – unabhängig davon, ob sie Sicherheitslücken aufweisen:
Die Snyk CLI zeigt jetzt vor der Liste der Sicherheitslücken eine Liste der Abhängigkeiten an. Wie in diesem Beispiel zu sehen ist, verwendet das Projekt die Bibliotheken curl, iw und zip.

Sie können die Scan-Ergebnisse auch in die Snyk-Anwendung importieren, um sie besser einzusehen und Berichte zu erstellen. Verwenden Sie dazu folgenden Befehl:
Es wird eine Momentaufnahme Ihrer C/C++-Bibliotheken samt den darin enthaltenen Sicherheitslücken erstellt und zur weiteren Überprüfung und Analyse in Snyk importiert. Sie erscheint als neues Projekt auf der Seite Projekte:

Es gibt viele weitere Möglichkeiten, mit Scan-Ergebnissen zu arbeiten – etwa Ergebnisse zu filtern oder im JSON-Format auszugeben. Weitere CLI-Optionen finden Sie in unserer Snyk-Dokumentation.
Ein Einstieg in die Welt des nicht verwalteten Open Source
C/C++-Entwicklungsteams müssen schnell entwickeln und gleichzeitig sicher bleiben. Dabei arbeiten sie oft mit Codebasen, die große Mengen an Legacy-Code enthalten. Ein Großteil des Open-Source-Codes darin ist nicht deklariert, sondern wird direkt eingebettet in die Anwendung eingebunden. Dadurch ist es äußerst schwierig, die damit verbundenen Risiken zu verwalten.
Diese Beta-Ankündigung ist der erste Schritt von Snyk, um Teams bei dieser Herausforderung zu unterstützen. Dazu erweitern wir unsere entwicklerorientierten Funktionen für die Software Composition Analysis umfassend, damit auch nicht verwaltetes Open Source geschützt wird. Als Nächstes integrieren wir die C/C++-Unterstützung vollständig in Snyk Open Source und die Snyk Intel-Sicherheitslücken-Datenbank. Später werden wir die Unterstützung für nicht verwaltetes Open Source auf weitere Ökosysteme wie JavaScript und Java ausweiten.
Während wir diese nächsten Schritte umsetzen, zählen wir auf Ihr Feedback, damit wir den richtigen Weg einschlagen. Wir möchten sicherstellen, dass wir die richtigen Funktionen entwickeln – und zwar in der richtigen Reihenfolge.
Wir laden Sie herzlich ein, die Funktionen auszuprobieren! Sie sind in der Beta für alle kostenpflichtigen Snyk-Pläne verfügbar: Team, Business und Enterprise. Wenn Sie an der Beta teilnehmen möchten, wenden Sie sich bitte unter ccpp-beta@snyk.io an unser Team, damit wir prüfen können, ob Ihr konkreter Anwendungsfall unterstützt wird.
Weitere Informationen zum Scannen Ihrer C/C++-Projekte und zur Beta-Unterstützung finden Sie in unserer Snyk-Dokumentation.
Starten Sie mit Capture-the-Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Challenges lösen.
