Proaktive, automatisierte Test-Methoden Managed Security Testing als Risikomanagement-Strategie

Autor / Redakteur: Gunnar Braun / Peter Schmitz

Die Vorteile, Softwaresicherheit und Softwareentwicklung eng miteinander zu verzahnen scheinen offensichtlich zu sein. Dennoch ist die Investition in entsprechende Werkzeuge, deren Integration und die dazu nötige Expertise nicht für jedes Unternehmen sinnvoll oder machbar. Managed Security Testing ist eine interessante Alternative.

Firmen zum Thema

Schnellere Innovationszyklen dürfen nicht zu Kompromissen bei Sicherheit und Risiko-Minimierungs-Strategien führen.
Schnellere Innovationszyklen dürfen nicht zu Kompromissen bei Sicherheit und Risiko-Minimierungs-Strategien führen.
(Bild: gemeinfrei / Pixabay )

Es ist kein Geheimnis, dass die Zahl der Cyberattacken kontinuierlich zunimmt. Jedes Unternehmen, das Software entwickelt oder betreibt, muss sich zwangsläufig mit den damit verbundenen Risiken auseinandersetzen und damit, wie man diese minimiert. Eine große Herausforderung liegt dabei in der ständigen Weiterentwicklung und wachsenden Agilität der Prozesse rund um die Entwicklung und Verwendung von Software in einem Unternehmen. Damit steigen die Anforderungen an Entwickler und Sicherheitsexperten, und ihr Verantwortungsbereich erweitert sich.

In der Vergangenheit waren die obligatorischen Penetration-Tests eines Dienstleisters vielleicht noch ausreichend. Heute kommt man um proaktive, automatisierte Test-Methoden nicht herum, wenn man die Bandbreite der Anforderungen adressieren will. Dazu zählen:

  • Echtzeit-Informationen zu aktuell betriebener Software und Diensten sowie den dazugehörigen Betriebsumgebungen und -konfigurationen
  • Informationen dazu, wie sich die Software zusammensetzt, das heißt, ob z.B. Open Source-Anteile vorhanden sind oder Cloud-APIs
  • Automatisch durchgeführte Mindest-Tests zur Schwachstellenerkennung mit jeder Software-Release und die automatische Erzeugung entsprechender Tickets in Bug-Tracking-Systemen
  • Aggregation von und Suche nach Betriebsdaten hinsichtlich aussagekräftiger Sicherheitsinformationen über einen Wertstrom hinweg
  • Rückverfolgbarkeit laufender Dienste bis zu den Repositories, zum Build und dem Team, das sie erstellt hat
  • Entwicklungsteam mit den notwendigen Mitteln ausstatten, um Sicherheitsmängel zu beheben
  • Aktualisierung der Konfiguration auf Netzwerk-, Host-, Container- oder Anwendungsebene durch Orchestrierung
  • Automatisches Invalidieren und Rotieren sensibler Assets (Zugangsdaten, Schlüssel) innerhalb eines Deployments
  • Automatisches Failover/Rollback zu funktionierenden Assets oder zur letzten, funktionierenden Konfiguration/Build

Das ist aktuell die Realität in Unternehmen, die Software entwickeln und/oder betreiben. Die Integration von Werkzeugen wie GitLab zum Versionsmanagement, Jenkins für die Continuous Integration (CI), Jira für das Defekt-Management und Docker für Container-Umgebungen nimmt rasant zu. Ziel ist es, eine durchgängige, automatisierte Umgebung zu schaffen, die es einem Unternehmen ermöglicht, Innovationen bei gleichbleibend hohen Qualitäts- und Sicherheitsstandards möglichst schnell auf den Markt zu bringen.

Es scheint auf der Hand zu liegen, dass eine analoge Integration und Automatisierung von Sicherheitstests an den entsprechenden Stellen im Software-Entwicklungsprozess vorteilhaft ist. Dadurch erreicht man engere Feedback-Schleifen bei weniger „Reibung“. Das wiederum erlaubt es den Entwicklern, Sicherheitsschwachstellen innerhalb ihrer natürlichen Arbeitsaufläufe schneller zu finden und zu beheben.

Was sich gut anhört, ist aber nicht über Nacht implementiert. Eine solche Integration erfordert nicht nur die Auswahl und Anschaffung von Tools, sondern Zeit, Ressourcen und Expertise. Man braucht dediziertes Personal, um die entsprechenden Tools im Unternehmen zu integrieren, zu konfigurieren, zu betreiben und zu betreuen. Die Skalierung von zunächst nur wenigen Teams auf die Größe des gesamten Unternehmens ist eine weitere Herausforderung. Nicht zu vergessen, dass Sicherheitstools letztendlich darauf ausgelegt sind, mehr und mehr Schwachstellen zu finden. Das erscheint erst einmal kontraproduktiv zu der von DevOps angestrebten Entwicklungsgeschwindigkeit. Was also tun, wenn sich dieses Anforderungsprofil in der aktuellen Unternehmenssituation nicht realisieren lässt?

Schnellere Innovationszyklen dürfen nicht zu Kompromissen bei Sicherheit und Risiko-Minimierungs-Strategien führen. Betreibermodelle (sogenannte Managed Services) sind eine attraktive Ergänzung und Alternative, um diese Kluft zu überbrücken. Dazu zählen beispielsweise Managed Dynamic Application Security Testing (DAST), Static Application Security Testing (SAST) oder Penetration Testing.

Managed Security Testing-Lösungen adressieren die wichtigsten Aspekte von Personen, Prozessen und Technologien, die Unternehmen dabei unterstützen, das gewünschte Innovationstempo aufrechtzuerhalten und gleichzeitig Anwendungssicherheit zu gewährleisten. Tatsächlich bieten die richtigen Lösungen die Möglichkeit, die Beziehung zwischen Automatisierung und Mensch umzukehren. Dann agieren Menschen als "Microservices" in einem ansonsten maschinengetriebenen Prozess, statt wie in der herkömmlichen Sichtweise, in der Automatisierung den menschlichen Prozess ergänzt und/oder erweitert.

Managed Security Testing bietet Unternehmen zudem die nötige Flexibilität unter finanziellen Gesichtspunkten. Unternehmen haben Zugang zu Expertenwissen auf dem Gebiet der Cybersicherheit, und zwar bedarfsgerecht. Eine Firma zahlt nur für die Leistungen, die sie aktuell benötigt. Das hat gerade bei schwankendem Ressourcenbedarf deutliche Vorteile und führt zu einem hohen Maß an Transparenz, Flexibilität und Qualität bei vorhersehbaren Kosten. Zudem liefert dieser Prozess die erforderlichen Daten, um Risiken effizient und effektiv zu beheben.

Bei der Auswahl einer Managed Security Testing-Lösung sollte man die folgenden Kriterien in Betracht ziehen:

  • Qualität – durch gemanagte Sicherheitstests zur richtigen Zeit und mit der richtigen Tiefe verbessert sich die Qualität einer Produkt-Release. Das gewährleistet sowohl die Stabilität der Software als auch die Integrität der Codebasis.
  • Standardisierung – durch Implementierung besserer Prozesse und Technologien sowie durch Formalisierung oder Standardisierung bereits existierender Prozesse; dazu dient die konsequente Verwendung von Checklisten und Runbooks für gemanagte Sicherheitstests.
  • Effizienz – Gemanagte, integrierte Sicherheitstests innerhalb der konkreten Entwicklungsabläufe optimieren und beschleunigen den Softwareentwicklungs- und Softwarebereitstellungsprozess – vom Quellcode-Repository bis hin zu Build-Lösungen, CI/CD-Infrastruktur, Test-Frameworks, Container-Bereitstellung und Auslieferung.
  • Reife durch Kompetenz – Managed Security Testing bietet kontinuierlich Zugang zu Fachwissen und Technologien, die eine effiziente Skalierung und schnelles Scannen nach Schwachstellen innerhalb des Softwareentwicklungsprozesses erlauben. Dies hilft Unternehmen beim Übergang zu Automatisierung, der digitalen Transformation, einer nativen Cloud-Bereitstellung und/oder bei der Unterstützung neuer Technologien.
  • Abdeckung – Im Zuge der Anwendungsinnovation stellen gemanagte Sicherheitstests ein einheitliches Testniveau für ein wachsendes Anwendungsportfolio sicher. Dadurch werden Sicherheitslücken behoben und Sicherheitsstandards implementiert.

Wenn Unternehmen die Vorteile von Managed Security Testing-Lösungen innerhalb ihrer Entwicklungsabläufe nutzen, erhalten sie nicht nur eine höhere Testbandbreite, sondern erweitern Umfang und Tiefe der Testdienstleistungen - zusammen mit den zugrunde liegenden Fähigkeiten, Prozessen und Werkzeugen. Die Servicebandbreite erlaubt es, verschiedenste Sicherheitstests zu integrieren – von automatisiertem DAST über auf Geschäftslogik basierende Penetrationstests bis hin zu SAST. Die Tiefe erlaubt es, Tests besser auf das Risikoprofil der jeweiligen Anwendungen zuzuschneiden.

Während Unternehmen beständig evaluieren, in welche Sicherheitstesttools sie investieren und wie sie diese einsetzen, konfigurieren und für ihre Entwicklungsabläufe optimieren sollten, bieten Managed Security Testing-Lösungen zusätzliche Bandbreite für Sicherheitstests. Und sie helfen, Lücken bei der Testabdeckung und Risikominderung zu schließen. Das gilt verstärkt in unsicheren Zeiten wie gerade aktuell durch COVID-19. Kurzarbeit verknappt die Ressourcen zusätzlich, und eine langfristige Investitionsplanung ist deutlich schwieriger geworden. Elastische Lösungen helfen Unternehmen und geben ihnen die Möglichkeit, den richtigen Test, in der richtigen Tiefe und zur richtigen Zeit innerhalb des Entwicklungs-Workflows durchzuführen.

Über den Autor: Gunnar Braun ist Technical Account Manager bei Synopsys.

(ID:47018510)