DevSecOps-Prozesse Geschwindigkeit und Sicherheit bei der Softwareentwicklung

Von Peter Schmitz

Anbieter zum Thema

Schließen sich Schnelligkeit und Sicherheit in der Softwareentwicklung gegenseitig aus? Unternehmen stehen oft unter Druck, Software schnell zu entwickeln, aber Sicherheitstests benötigen Zeit. Dies kann zu ungelösten Sicherheitslücken führen, die Cyberkriminelle nutzen können. Unternehmen müssen eine Balance finden, um sowohl Schnelligkeit als auch Sicherheit in der Softwareentwicklung zu gewährleisten.

Bei allen nachvollziehbaren Gründen, warum Unternehmen ihre Softwareentwicklung beschleunigen wollen, sollten sie dennoch nicht die Sicherheit ihrer Applikationen vernachlässigen.
Bei allen nachvollziehbaren Gründen, warum Unternehmen ihre Softwareentwicklung beschleunigen wollen, sollten sie dennoch nicht die Sicherheit ihrer Applikationen vernachlässigen.
(Bild: Gorodenkoff - stock.adobe.com)

DevOps mag inzwischen kein neues Konzept mehr sein – die erste Konferenz hierzu fand immerhin bereits 2009 in Belgien statt – doch für viele Unternehmen ist die Verbindung von Softwareentwicklung und IT-Betrieb weiterhin die angestrebte Verfahrensweise. Der Hintergrund ist ein einfacher: es geht um Geschwindigkeit. Unternehmen strukturieren ihre Entwicklung um, damit sie Software schneller bereitstellen können. Ein wesentlicher Grund für diesen Wandel sind die gestiegenen und stetig weiter steigenden Kundenerwartungen.

Doch wenn alle Prozesse einzig auf Geschwindigkeit ausgelegt werden, bleibt in der Pipeline nur wenig Zeit für die Sicherheit. Denn Sicherheitsscans nehmen eine gewisse Zeit in Anspruch – je nach Applikation und ihrer Sprache können dies wenige Minuten, oder bei sehr großen und komplexen Anwendungen mehrere Tage sein – und verlangsamen dementsprechend die Softwareentwicklung. Doch wenn Sicherheit nur noch eine nachgeordnete Rolle spielt, wissen Entwickler nicht, wie sicher ihr Code ist, welche Fehler sich im Laufe der Zeit einschleichen und öffnen Kriminellen so womöglich Tür und Tor, sobald die Software veröffentlicht ist.

Wo lassen sich Scans in den Entwicklungsprozess integrieren?

Unternehmen haben aber Optionen, um Sicherheit und Geschwindigkeit besser miteinander in Einklang zu bringen. Allen voran lohnt es sich, den gesamten Entwicklungsprozess genau unter die Lupe zu nehmen, zu überlegen, an welcher Stelle Sicherheitsscans integriert werden können, und die Pipeline auf dieser Grundlage anzupassen. Helfen können dabei Technologien, die besonders früh in diesem Prozess ansetzen. Beispielsweise lassen sich mit diesen auch nur einzelne Dateien oder Teilapplikationen scannen.

Dadurch lässt sich zum einen die Scandauer erheblich verkürzen, zum anderen fallen Fehler auf, bevor sie tief im Code versteckt sind oder sich gar im Entwicklungsprozess multiplizieren. Und je früher Developer Scanergebnisse erhalten und Schwachstellen identifizieren, desto früher können sie damit anfangen, diese zu beheben. Unternehmen müssen flexible Lösungen wesentlich häufiger einsetzen als sie das bisher tun, um entlang der Pipeline Scans einzubauen, die die Developer nicht nur möglichst wenig stören, sondern ihnen stattdessen als Unterstützung dienen. Auch sollten Unternehmen grundsätzlich bei der Wahl ihrer Scanlösungen darauf achten, wie diese im Vergleich zu anderen Lösungen abschneiden. Auch scheinbar geringe Unterschiede summieren sich im Laufe des Entwicklungsprozesses und machen sich bei der Gesamtdauer bemerkbar.

False-Positive-Rate und Skalierbarkeit: Vorteile der Cloud

Darüber hinaus gibt es noch weitere Aspekte, die Unternehmen bei der Wahl ihrer Scanlösung berücksichtigen sollten, um zusätzliche Verzögerungen und Risiken zu vermeiden. Dazu zählt als einer der wichtigsten Punkte die False-Positive-Rate, also die Anzahl der in den Scans entdeckten vermeintlichen Fehler, die tatsächlich keine sind. Bei einigen wenigen False Positives können Entwickler diese noch selbst überprüfen, doch auch das kostet Zeit. Bei Hunderten ist dies manuell jedoch nicht mehr zu leisten und erfordert zusätzliche Investitionen.

Cloud-basierte Lösungen haben hier gegenüber On-Premises-Tools den Vorteil, dass sie aus vorherigen Scans – auch aus anderen Unternehmen – automatisch dazulernen und dadurch verbreitete Sicherheitslücken schneller identifizieren können, was die False-Positive-Rate erheblich verringert. Bei On-Prem-Software müssen Unternehmen dagegen entweder eigene Regeln erstellen, um Fehlmeldungen auszugleichen, oder darauf warten, dass der Anbieter eine neue Version des Scanners veröffentlicht. Während Ersteres sehr zeitaufwändig und kompliziert sein kann, führt Letzteres zu Ausfallzeiten und Mehrarbeit für das Sicherheitsteam.

Auch im Hinblick auf die Skalierbarkeit bietet sich eine Cloudlösung an: Um die Softwareentwicklung möglichst wenig zu verzögern, werden Scans oft abends gestartet und über Nacht laufengelassen, sodass die Developer am Morgen die Ergebnisse vorliegen haben. Dafür ist allerdings die entsprechende Infrastruktur notwendig, sowohl in Form von Rechenleistung als auch in Form von Lizenzen der Scanlösung. Wollen Unternehmen diese Investitionen nicht tätigen bzw. nicht in dem eigentlich erforderlichen Umfang, müssen sie damit rechnen, dass aufgrund fester Lizenzen oder Infrastrukturen nicht jeder Scan tatsächlich abgeschlossen ist, wenn ihre Entwickler mit der Arbeit beginnen.

Änderungen auf verschiedenen Ebenen sind notwendig

Neben der Integration von Sicherheitsscans in die Softwareentwicklung und der Wahl der richtigen Scanlösung, können Unternehmen auch noch eine weitere Maßnahme für die Sicherheit ihrer Anwendungen ergreifen: Die Ausbildung ihrer Entwickler verbessern. Wie eine Veracode-Studie zeigt, sind Entwickler, die von Sicherheitsexperten geschult werden, in der Lage, 88 Prozent mehr Schwachstellen zu beheben als diejenigen, die nicht entsprechend geschult wurden. Dies zahlt gleichermaßen auf die Sicherheit und die Schnelligkeit ein. Schließlich ist die Software automatisch sicherer, wenn sie weniger Schwachstellen enthält, und Entwickler müssen weniger Zeit für Fixes aufbringen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Bei allen nachvollziehbaren Gründen, aufgrund derer Unternehmen ihre Softwareentwicklung beschleunigen, sollten sie dennoch nicht die Sicherheit ihrer Applikationen vernachlässigen. Denn die Schäden können im Falle eines Cyberangriffs umfassend sein. Es drohen hohe finanzielle Kosten, ein Reputations- und Vertrauensverlust bei Kunden und mehr. Daher sollten Unternehmen Wege finden, der Sicherheit im Entwicklungsprozess mehr Priorität einzuräumen, ohne das Tempo zu verlangsamen. Dieses Ziel erreichen sie mithilfe einer umfassenden Strategie, die auf mehreren Ebenen greift, und den passenden Lösungen.

Über den Autor: Julian Totzek-Hallhuber ist Manager Solution Architects bei Veracode.

(ID:49027137)