Parasoft C/C++test 2022.2 unterstützt das neue MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Ein besserer Ansatz für DevSecOps

Von Markus Lambert

30. Mai 2019

5  min lesen

Die meisten Probleme mit DevSecOps treten heute bei Unternehmen auf, die versuchen, die Sicherheit durch Hinzufügen von Tests am Ende des Produktzyklus zu beheben, in der Hoffnung, einige der kritischen Sicherheitslücken zu schließen. In diesem Beitrag erfahren Sie, wie Sie dies mit einer effektiven Strategie umkehren können, um Sicherheitstests zur Unterstützung von DevSecOps auf die frühesten Entwicklungsstufen zu verlagern.

In meinem previous post, Ich diskutierte SecDevOps und warum es ein besserer Begriff ist als der allgemein verwendete DevSecOps. Sicherheit wird häufig als Add-On oder Gating-Prozess belassen, bevor ein Produkt freigegeben wird. Es ist jedoch schwierig, Sicherheitsprobleme zu beheben, wenn sich ein Produkt auf halbem Weg befindet. Die Sicherheit nach links zu verschieben, wie in SecDevOps (was der allgemeinere Name DevSecOps nicht impliziert), ist das Schlüssel zum Erfolg. Sicherheit muss Teil des täglichen Workflows jedes Entwicklers sein und in die Software-Pipeline integriert sein.

Als Vice President of Products hier bei Parasoft ist es meine Aufgabe, sicherzustellen, dass wir dies unseren Kunden erleichtern. Was bedeutet das? Zunächst einmal bedeutet dies, die Verlagerung von Sicherheitskontrollen und -richtlinien nach links zu automatisieren, um unseren Kunden dabei zu helfen, Sicherheit in die Pipeline zu integrieren und gleichzeitig die Auswirkungen und das Risiko von DevSecOps zu verringern. Wie machst du das? Lesen Sie weiter unten, um zu erfahren, wie Sie die traditionellen Herausforderungen bei der Integration von Sicherheit in DevOps bewältigen können. Anschließend untersuchen wir den DevSecOps-Workflow, der die Sicherheit erfolgreich nach links verschiebt, wo sie sein sollte.

Lösen der Herausforderungen, die erfolgreiche DevSecOps-Strategien verhindern

Die meisten Probleme mit DevSecOps treten heute auf Unternehmen zurück, die versuchen, die Sicherheit durch Hinzufügen von Tests am Ende des Produktzyklus zu beheben, in der Hoffnung, einige der kritischen Schwachstellen zu erkennen. Hier sind einige der Gründe, wie und warum dies geschieht und wie Sie sie mit einem intelligenteren Sicherheitsansatz lösen können.

Herausforderung: Es ist schwer zu wissen, wie man die Sicherheit „repariert“

Die meisten Entwickler und Tester sind (noch!) Keine Sicherheitsexperten. Daher ist es eine große Aufgabe, die Sicherheit in den späten Entwicklungsphasen zu „reparieren“, wenn unklar ist, was zu tun ist.

Lösung: Verbessern Sie die Sicherheit schrittweise

Stattdessen können Teams zentralisierte Richtlinien wie sichere Codierungsstandards und statische Analyseprüfungen auf häufig auftretende Schwachstellen verwenden, um die Sicherheit über den gesamten Entwicklungslebenszyklus hinweg schrittweise zu verbessern. Darüber hinaus können Sicherheitstools Entwicklern und Testern Hinweise geben, warum Sicherheitslücken bestehen, wie sie ausgenutzt und letztendlich entfernt und getestet werden. Mit den statischen Analysetools von Parasoft können Sie auf einfache Weise eine zentralisierte Richtlinie definieren, die auf branchenweit sicheren Codierungsstandards basiert (z. B. CWE, OWASP, CERT, UL 2900). Dokumentation, Beispiele und eingebettete Schulungen sind ebenfalls integriert, damit das gesamte Team weiter lernen kann, was als Nächstes zu tun ist.

Herausforderung: Sicherheitstests am Ende des Zyklus führen zu Verzögerungen und Schwachstellen in der Produktion

Der übliche Ansatz, die Sicherheit des Schuhhorns in ein fast vollständiges Produkt umzuwandeln, ist unzureichend. Zu viele Schwachstellen finden Eingang in den Produktionscode.

Lösung: Integrieren Sie die Sicherheitsanalyse in die frühesten Entwicklungsstadien

Stattdessen kann Sicherheit in die tägliche Entwicklung und den Betrieb einbezogen werden. Entwickler sollten in der Lage sein, Analysen durchzuführen direkt in der IDE, Verlagerung der Sicherheitskonformität auf die sehr frühe Entwicklungsstadien. Parasoft-Tools lassen sich in den Erstellungsprozess integrieren und stellen CI-Plugins bereit, um zu überprüfen, ob Schwachstellen nicht in der CI-Pipeline enthalten sind. Die gesammelten Daten werden pro Build gespeichert und stehen Berichts- und Analyse-Dashboards zur Verfügung.

Herausforderung: Unbekannter Status des Projektsicherheitsrisikos bis zum letzten Moment

Ohne jegliche Schwachstellenbewertung weisen Projekte völlig unbekannte Sicherheitsrisiken auf, bis eine Art von Test durchgeführt wird. Wenn Tests im späten Zyklus durchgeführt werden, können festgestellte Sicherheitslücken zu Abwanderung und Nacharbeit im späten Zyklus führen. Trotz dieser heldenhaften Bemühungen in letzter Minute gelangen viele Sicherheitslücken immer noch in die Hände der Kunden.

Lösung: Laufende Überwachung der Softwarequalität und -sicherheit

Um Priorisierung und Kurskorrektur zu ermöglichen, sollte die Echtzeit-Compliance-Berichterstellung leicht zugängliche Dashboards mit einer umfassenden und umfassenden Ansicht der Daten auf höchster Ebene bieten. Parasoft eliminiert den Aufwand für die Sicherheitsüberwachung durch hochgradig anpassbare Sicherheits-Dashboards, die interaktiv sind, von jedem Ort aus zugänglich sind und für jeden Benutzer entworfen werden können, vom Entwickler über das Team bis hin zum Manager der oberen Ebene.

Verwenden von Parasoft für einen intelligenteren SecDevOps-Workflow

Wenn Sie die oben genannten Herausforderungen verstehen und bereit sind, loszulegen, beginnt die Integration von Testtools in Ihren vorhandenen Entwicklungsworkflow. Dies ist der Schlüssel zur täglichen Akzeptanz und zur Erzielung des größtmöglichen ROI Ihrer Investition. Schauen wir uns an, wie Parasoft-Tools in eine typische CI / CD-Pipeline integriert sind und wie sie genutzt werden können, um die Sicherheit in DevOps nach links zu verschieben.

Hier sehen Sie sowohl Pre-Commit als auch Post-Commit im Workflow mit vorheriger Code-Analyse und  nach dem Senden von Code an das Quell-Repository. Unterstützung von Entwicklern bei der Verbesserung von Qualität und Sicherheit Bevor Das Einchecken des Codes ist ein wesentlicher Vorteil der Verschiebung nach links. Unsere Tools beginnen dort und helfen dann weiter, nachdem Code eingecheckt, erstellt und bereitgestellt wurde.

Workflow vor dem Festschreiben:

  1. Entscheiden Sie sich für einen Sicherheitsstandard, der den Anforderungen des Projekts und der Organisation entspricht (z. B. OWASP, CWE, CERT). Der Grad der Konformität und Zusammensetzung eines Codierungsstandards kann beispielsweise an Ihre Bedürfnisse angepasst werden und eine Kombination aus Sicherheits- und Qualitätsstandards sein.
  2. Kapseln Sie die Sicherheitsrichtlinie in eine Testkonfiguration. Dies erfolgt normalerweise zentral für ein gesamtes Projekt durch einen Teamleiter.
  3. Stellen Sie definierte Konfigurationen für Entwickler zur Verfügung, die sie beim Schreiben und Testen ihres Codes verwenden können. Der Hauptvorteil besteht darin, dass diese Standards in der Desktop-Umgebung jedes Entwicklers eingeführt werden, sodass alle nach demselben Standard arbeiten.
  4. Wenden Sie Prüfer vor dem Einchecken auf den Code an. Unsere Erfahrung hat gezeigt, dass die beste Vorgehensweise darin besteht, die Einhaltung der Testkonfiguration nicht zum Einchecken zu machen, da dies die Effizienz des Teams und die Einführung sicherer Codierungspraktiken beeinträchtigt. Code, der nicht vollständig kompatibel ist, wird häufig aus verschiedenen Gründen eingecheckt, die Tools nicht unbedingt bewerten können. Der Zweck des Post-Commit-Teils des Workflows besteht darin, sowohl eine vollständige Analyse durchzuführen als auch als Sicherheitsnetz zu fungieren.

Workflow nach dem Festschreiben:

  1. Erstellen Sie Code, führen Sie vorhandene Tests aus und führen Sie sie durch projektweite statische Analyse.
  2. Überprüfen Sie die im Sicherheits-Dashboard veröffentlichten Ergebnisse, um Problembereiche zu ermitteln.
  3. Analysieren Sie die Ergebnisse, priorisieren Sie Verstöße und weisen Sie sie in Form von Aufgaben für den entsprechenden Entwickler entsprechend zu. Mit Parasoft ist sofortiges Feedback über voreingestellte und anpassbare Dashboards verfügbar.
  4. Ergreifen Sie Maßnahmen, um die Warnungen und Verstöße zu beheben, die in der IDE aller veröffentlicht und zur Überprüfung verfügbar sind.

Eingebaute Sicherheit als Teil der Qualität

Die meisten Softwareteams wissen, dass unabhängig von der Reife ihres aktuellen Prozesses qualitativ hochwertiger Code bereitgestellt werden muss. Indem Sie diese vorhandene Denkweise zur Verbesserung der Sicherheit nutzen, können Sie Sicherheitsanforderungen, -kontrollen und -standards als Teil Ihres bestehenden Qualitätsverbesserungsprozesses miteinander verflechten. Auf Dashboard-Ebene hilft die Anzeige der Einhaltung von Sicherheitsbestimmungen in Echtzeit mit der Möglichkeit, anhand hervorgehobener Problembereiche in Problembereiche zu graben, dazu, dass Sicherheit Teil des täglichen Qualitätsmanagements wird.

Zusammenfassung

Es ist wichtig, die Sicherheit so früh wie möglich im Entwicklungslebenszyklus zu priorisieren, um sowohl die Durchsetzung von Sicherheitsstandards als auch bewährte Verfahren nach links zu verschieben und DevSecOps erfolgreich zu erreichen. Um dies zu ermöglichen, benötigen Sie einen ansprechbaren und einfach anzuwendenden Prozess, um Schwachstellen zu erkennen und zu entfernen, sobald Code von Entwicklern geschrieben wird. Die anpassbaren Analyse- und Berichts-Dashboards von Parasoft in Echtzeit bieten Teamleitern und Sicherheitsexperten sofortiges Feedback zum Projektstatus, zur Einhaltung ausgewählter Standards und genau dort, wo die höchsten Bedenken bestehen, damit das gesamte Unternehmen die Risiken verstehen kann.

Bauen Sie von Anfang an Sicherheit in Ihre Anwendung ein

Von Markus Lambert

Mark, Vice President of Products bei Parasoft, ist dafür verantwortlich, dass Parasoft-Lösungen den Unternehmen, die sie einsetzen, einen echten Mehrwert bieten. Mark ist seit 2004 bei Parasoft und arbeitet mit einem breiten Querschnitt von Global 2000-Kunden zusammen, von spezifischen Technologieimplementierungen bis hin zu umfassenderen Initiativen zur Verbesserung von SDLC-Prozessen.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.