Sichere Entwicklung der nächsten Generation: Erkenntnisse von Trust Bank und TASConnect
Gerald Crescione
5. Juni 2024
0 Min. LesezeitEine durchschnittliche Anwendung besteht heute aus tausenden beweglichen Teilen. Unternehmen stellen Anwendungen in Multi-Cloud-Umgebungen mit Containern und Microservices bereit und kombinieren dabei Code, der von internen Teams geschrieben, von KI generiert und von Drittanbietern kuratiert wurde.
Sicherheitsteams stehen vor der großen Aufgabe, diese komplexen Anwendungen zu schützen – insbesondere angesichts der zunehmenden Angriffe auf die Software-Lieferkette. Sie müssen Wege finden, Sicherheit in neue Standardpraktiken wie KI-generierten Code zu integrieren und dabei zugleich Entwicklungsgeschwindigkeit und Geschäftserfolg im Blick behalten.
Snyk hatte die Gelegenheit, auf der Black Hat Asia eine Session zu veranstalten, in der Best Practices für den Umgang mit diesen neuen Komplexitäten und Herausforderungen vorgestellt wurden. An dem Gespräch nahmen zwei Branchenexperten teil: Jerome Walter, CISO bei Trust Bank Singapore, und Madhi Periannan, CTO bei TASConnect Singapore.
Lesen Sie weiter und erfahren Sie mehr über die Erfahrungen der Speaker aus erster Hand mit den Herausforderungen der Softwareentwicklung der nächsten Generation und deren Bewältigung.
Was versteht man unter Softwareentwicklung der nächsten Generation und wie wirkt sie sich auf die Anwendungssicherheit aus?
Laut den Speakern wird die Softwareentwicklung der „nächsten Generation“ typischerweise durch drei Faktoren geprägt.
Komplexe Architekturen
Eine durchschnittliche Anwendung umfasst mehrere Architekturelemente wie Microservices und ist mit zahlreichen externen Bibliotheken und SaaS-Plattformen verbunden. Entwicklungsteams erstellen solche Anwendungen schnell und agil. Diese Komplexität erschwert es Sicherheitsteams, Risiken in den heutigen Anwendungen zu mindern. Walter sagte: „Heutige Software besteht aus externen Bibliotheken und Verbindungen zu SaaS-Plattformen, die wir nicht vollständig kontrollieren … Wenn Sie also Software absichern, müssen Sie die Infrastruktur beherrschen und SaaS sowie Software von Drittanbietern verstehen.“
Rasant aufkommende KI-Tools
Entwicklungsteams nutzen heute auch generative KI-Tools wie GitHub Copilot und Google Gemini, um schneller Code zu erstellen. Diese Geschwindigkeit kann die geschäftliche Agilität fördern, bedeutet aber auch, dass sicherer und unsicherer Code in beispiellosem Tempo in die Pipeline gelangt.
Verteilung auf mehrere Cloud-Umgebungen und geografische Standorte
Außerdem werden Softwarelösungen der nächsten Generation in der Regel in Multi-Cloud-Umgebungen betrieben und von Mitarbeitenden und Kunden auf der ganzen Welt genutzt. Periannan sagt: „Heutige Anwendungen müssen in mehreren Clouds und in mehreren Ländern bereitgestellt werden. Daraus ergibt sich die Komplexität. Deshalb brauchen wir bessere Tools, um die Sicherheit an verschiedenen geografischen Standorten zu verwalten.“
Menschen, Prozesse und Tools für die Anwendungssicherheit der nächsten Generation in Einklang bringen
Um diesen Herausforderungen zu begegnen, müssen die richtigen Menschen, Prozesse und Tools aufeinander abgestimmt werden. Dazu gehört auch die gemeinsame Verantwortung von Entwicklungs- und Sicherheitsteams – ein DevSecOps-Ansatz. Wenn Entwicklungsteams befähigt werden, Probleme während dieser komplexen Lebenszyklen zu beheben, können Unternehmen das Risiko minimieren, dass Schwachstellen in die Produktion gelangen. Walter und Periannan gaben einige Empfehlungen zum Aufbau einer Kultur der gemeinsamen Sicherheitsverantwortung, darunter:
Proaktiv statt reaktiv vorgehen.
Laut den Speakern muss Sicherheit proaktiv statt reaktiv angegangen werden. Walter erklärte, dass es bei diesem Ansatz darum geht, Sicherheit als einen kontinuierlichen Weg zu betrachten – nicht als einmalige Umstellung. Für den Einstieg in diesen proaktiven Umgang mit Sicherheit empfiehlt er, „Tools wie Snyk einzusetzen, die sofortiges Feedback und Analysen liefern“.
Mit dem passenden Feedback und konkreten Anleitungen zur Behebung von Problemen helfen diese Tools Entwicklern, Fehler zu beheben. Manchmal reicht ein Patch-Release allein nicht aus. Dann sollten Entwickler die Architektur überprüfen und neu gestalten, um Risiken zu mindern. Da sie dem Code am nächsten sind, können Entwicklungsteams die bestmöglichen Lösungen umsetzen.
Dieser proaktive Ansatz fördert letztlich auch die Zusammenarbeit zwischen Sicherheits- und Entwicklungsteams. Periannan erklärte: „Mit den richtigen Tools und Bedrohungsmodellen geraten wir nicht in Panik und müssen nicht ständig Brände löschen – eine Situation, die für Entwickler alles andere als ideal ist.“
Weitere Möglichkeiten für ein proaktives Vorgehen:
Bedrohungsmodellierung einsetzen, um die möglichen Auswirkungen bestehender Schwachstellen zu verstehen und Risiken besser zu priorisieren
Methoden zur Behebung von Problemen für jede Phase des Softwareentwicklungslebenszyklus festlegen
Eine Shift-Left-Kultur fördern, die Sicherheit von Anfang an als festen Bestandteil des Entwicklungsprozesses verankert
Mit einem Developer-First-Mindset beginnen
Walter betonte außerdem, wie wichtig es ist, Entwicklern die Arbeit zu erleichtern. Er sagte: „Entwickler verbringen enorm viel Zeit mit Sicherheitsaufgaben: Passwörter ändern, Patches einspielen usw. Wir möchten ihnen helfen, mehr Zeit für das Geschäft zu haben, indem wir einen Teil der Sicherheitshygiene automatisieren.“
So lässt sich Entwicklern die Arbeit erleichtern:
So viele Routineaufgaben wie möglich automatisieren, etwa das Ändern von Passwörtern
Entwicklern die Informationen geben, die sie für ihren Erfolg brauchen, etwa regelmäßige Sicherheitsschulungen und Anleitungen zur Behebung von Problemen
Wenn Sie sich die Zeit nehmen, Risiken präzise zu priorisieren, können sich Entwickler auf die wichtigsten Korrekturen konzentrieren
Ein Developer-First-Mindset bedeutet auch, Reibungspunkte zwischen Entwicklungs- und Sicherheitsteams direkt anzugehen. Eine bessere Zusammenarbeit beginnt damit, den Dialog zu eröffnen und die Herausforderungen der Entwickler, ihre täglichen Arbeitsabläufe usw. wirklich kennenzulernen. Außerdem muss das Sicherheitsteam zeigen, dass ihm die Zeit der Entwickler wichtig ist und es aktiv an besseren Ansätzen arbeitet. Ein wichtiger Ansatz dabei ist, die Anwendungssicherheit weiterzuentwickeln und stärker auf eine präzise Risikopriorisierung anhand von Kontext und Ausnutzbarkeit zu setzen, statt Entwicklern lediglich lange Listen von Schwachstellen zu schicken.
Erfolg der Anwendungssicherheit in komplexen Softwareumgebungen messen
Ein weiterer Bestandteil erfolgreicher Sicherheitsarbeit ist die Erfassung der richtigen Kennzahlen. Walter und Periannan empfahlen fünf Ansatzpunkte:
Durchführung von Sicherheitsschulungen und deren Nachverfolgung, um sicherzustellen, dass alle Beteiligten am SDLC die Schulungen erfolgreich abschließen
Abdeckung von Sicherheitstests über alle Entwicklerschichten hinweg, etwa für eigenen Code, Open-Source-Komponenten, Infrastructure as Code, Container usw. So lässt sich verfolgen, ob mehr Entwicklungsfunktionen über die gesamte Pipeline hinweg abgedeckt werden.
Tests auf kritische und schwerwiegende Schwachstellen, um den Erfolg des Unternehmens bei der Reduzierung von Schwachstellen im Zeitverlauf zu messen
Zeit bis zum Patchen bzw. Beheben, um zu messen, ob das Programm mit der Zeit effizienter geworden ist
Anzahl der Sicherheitsautomatisierungen, um zu belegen, dass das Sicherheitsteam auf ein schnelleres und effektiveres Vorgehen hinarbeitet
Diese Kennzahlen beziehen sich zwar in erster Linie auf Sicherheit, können aber auch mit geschäftlichen KPIs verknüpft werden. Diese Zusammenhänge zwischen Sicherheits- und Geschäftszielen können überraschend sein – wie im Fall eines Snyk-Kunden aus der Finanzbranche. Das Unternehmen wollte seinen Net Promoter Score (NPS) steigern und setzte dafür auf die Sicherheitstools von Snyk. Da Snyk die Suche und Behebung von Schwachstellen effizienter machte, konnte das Team Patches innerhalb kürzerer Wartungsfenster bereitstellen. Dadurch stieg der NPS.
Walter erklärte außerdem: „Die Zeit bis zur Behebung ist ein wichtiger Faktor für unsere Fähigkeit, Software bereitzustellen. Sie hängt direkt damit zusammen, wie gut Ihr Unternehmen neue Funktionen bereitstellen kann. Je agiler Sie bei der Softwareentwicklung sind, desto agiler können Sie Patches einspielen. Wenn Sie bis morgen eine neue Funktion bereitstellen können, können Sie auch bis morgen einen Patch einspielen. Zu verstehen, dass höhere Geschwindigkeit sowohl der Sicherheit als auch dem Geschäft zugutekommt, ist eine sehr gute Grundlage für ein konstruktives Gespräch im Unternehmen.“
Sehen Sie sich die gesamte Session von der Black Hat Asia an
Wenn Unternehmen ihre Anwendungssicherheit angesichts sich wandelnder Cyberbedrohungen und technologischer Fortschritte verbessern möchten, müssen sie auf proaktive und entwicklerfreundliche Praktiken setzen. Laut den Speakern beginnt dieser Ansatz mit einigen Veränderungen der Denkweise.
Zunächst müssen Teams erkennen, dass es um kontinuierliche Sicherheit geht – nicht darum, Best Practices wie Bedrohungsmodellierung einmalig umzusetzen, sondern Sicherheitskontrollen fortlaufend durchzuführen und zu überwachen.
Sicherheitsteams sollten außerdem ihre Sicht auf die Beziehung zwischen Entwicklern und Sicherheit überdenken. Entwicklungsteams haben oft die innovativsten Ideen und Methoden zur Behebung von Problemen, da sie dem Code und anderen Anwendungskomponenten am nächsten sind.
Erfahren Sie mehr darüber, wie Sie bei der Softwareentwicklung der nächsten Generation eine enge Zusammenarbeit zwischen Sicherheits- und Entwicklungsteams fördern können. Hören Sie sich dazu die Session „Securing the Next-Gen Software Development: Challenges & Solutions“ an.

