Best Practice Landscape für die moderne und sichere Anwendungsentwicklung

Modern Application Development (MAD) ist ein Ansatz zur Entwicklung von Softwareanwendungen mit Cloud-nativen Technologien. Die Hauptidee besteht darin, neuere, aufkommende Tools wie K8s zu nutzen, um adaptive Anwendungen zu erstellen, die einfach zu skalieren, einfach zu überwachen und einfach zu verwalten sind.

Aber was ist mit der Sicherheit? Sollten wir versuchen, MAD-Anwendungen nur anhand der OWASP-Top-10-Liste als Richtlinie zu sichern, oder sollten wir zusätzliche Optionen prüfen? Und wenn wir eine umfassende Sicherheitslösung einführen, wie können wir sicher sein, dass Entwickler langfristig dabei bleiben?

Best Practice Landscape für die moderne und sichere Anwendungsentwicklung

In einer idealen Welt würden Sicherheits- und Compliance-Lösungen in jeder Phase des Lebenszyklus der Anwendungsentwicklung enthalten sein. Das bedeutet, dass jede Softwarekomponente standardmäßig gesichert und unter Verwendung von Best Practices der Branche implementiert wird.

 

MAD-Anwendungen (insbesondere Microservices) helfen uns dabei, eine klare Aufgabenverteilung und individuell absicherbare und schützbare Komponenten zu schaffen. Dies erhöht jedoch auch die Wahrscheinlichkeit von Fehlkonfigurationen. Es liegt an Entwicklern und Sicherheitsexperten, den richtigen Weg einzuschlagen, ihre grundlegenden Sicherheitskompetenzen zu verbessern und kontinuierlich auf neue Schwachstellen zu achten.

 

Lassen Sie uns angesichts der zunehmenden Komplexität von MAD-Anwendungen die aktuelle Landschaft der Best Practices für die sichere Entwicklung untersuchen. Beginnen wir  mit den OWASP Top 10.

OWASP TOP 10 – WARUM IST DAS WICHTIG?

Heute ist die bekannteste Liste der Top-Sicherheitsbedrohungen die OWASP Top 10. OWASP ist eine gemeinnützige Organisation, die sich der Förderung sicherer Softwaremethoden verschrieben hat. Im Laufe der Jahre haben sie eine Liste der 10 wichtigsten Sicherheitsrisiken für Webanwendungen veröffentlicht, die auf Informationen der open community basiert. Zuletzt wurde diese 2011 aktualisiert.

 

Die OWASP Top 10 basieren auf nachweislichen Sicherheitsbedrohungen, sind gut dokumentiert und leicht zu reproduzieren. MAD-Anwendungen können für diese Sicherheitsrisiken besonders anfällig sein, da die Verwendung von Microservices und Container-Orchestration-Systems die Komplexität der Systemarchitektur erhöhen. Damit bestehen viel mehr Möglichkeiten für Fehlkonfigurationen und Authentifizierungsfehler.

 

Es gibt noch einen weiteren Grund, warum die OWASP Top 10 wichtig sind. Mitigation Controls können automatisiert, per Skript erstellt und in Webanwendungs-Firewalls, Sicherheitsautomatisierungstools und CI/CD-Pipelines integriert werden. Die Integration von OWASP-Sicherheitskontrollen in die Codepipeline erleichtert das Identifizieren und Vermeiden vieler allgemeiner Sicherheitsprobleme. Es gibt viele herkömmliche Tools, die helfen, darunter Configuration Drift Detectors, IaC checks, Dependency Scanners, Policy Checkers, and Integrity Checkers.

GIBT ES ANDERE METHODEN, DIE IN FRAGE KOMMEN?

Die Praxis der sicheren Anwendungsentwicklung wird nicht allein von OWASP dominiert. Tatsächlich gibt es konkurrierende Leitfäden und Standards, die die Verwendung von Best Practices für die moderne sichere Anwendungsentwicklung fördern. Die eigentliche Frage ist: Warum werden sie nicht so häufig verwendet?

 

Um diese Frage zu beantworten, werfen wir einen Blick auf zwei solcher Modelle: BSIMM und SAMM.

 

BSIMM (Building Security In Maturity Model) ist ein Sicherheits-Framework, das Organisationen praktische Einblicke in ihre Sicherheitslage im Vergleich zu anderen Organisationen gibt. BSIMM sagt Ihnen nicht wirklich, was Sie tun sollten. Stattdessen erfahren Sie, was andere Organisationen tun. Sie sollten BSIMM verwenden wenn Sie ein etabliertes Sicherheitsmodell in Ihre eigene Geschäftsdomäne integrieren wollen.

 

BSIMM sammelt Informationen von rund 128 Unternehmen aus mehreren Geschäftskategorien. Der Kern des BSIMM-Frameworks besteht aus 122 Aufgaben, die in 12 Praktiken unterteilt sind, die in vier Domänen organisiert sind:

  • Governance (beinhaltet Strategien & Metriken, Compliance & Regeln und Training),
  • Intelligence (beinhaltet Attack Models, Security Features & Design, und Standards & Requirements),
  • SSDL Touchpoints (beinhaltet Architektur Analysen, Code Review und Security Testing),
  • Deployment (beinhaltet Penetration Testing, Software Environment und Configuration Management & Vulnerability Management).

In der Praxis bewertet das SecOps-Team die Sicherheitslage der Organisation und weist den Aktivitäten Punkte zu. Daraus erstellen sie eine Scorecard, anhand derer sie feststellen können, ob sie basierend auf den Scores zusätzliche Sicherheitskontrollen einbeziehen möchten. Normalerweise verfeinern sie die Scorecard nach bestimmten Interessengebieten. Einige Praktiken werden wichtiger sein als andere; PII-Verpflichtungen, Sicherheitsstandards und gute Netzwerksicherheit sind beispielsweise immer wichtige Überlegungen.

 

BSIMM ist kostenlos und kann als guter Bezugspunkt bei der Implementierung von Sicherheitsaudits in einer Organisation dienen. Es ist jedoch nicht standardisiert, was es etwas weniger attraktiv macht als andere Optionen.

 

SAMM (Software Assurance Maturity Model) ist ein OWASP-Sicherheits-Framework-Projekt, das viel mit BSIMM gemeinsam hat. Wie BSIMM können Organisationen damit ihre Sicherheitslage messen und bewerten.

 

Die Kernsäulen von SAMM bestehen aus:

Abbildung: The Structure of SAMM (source: https://owaspsamm.org/about/)

 

OWASP bietet einige wertvolle Tools, um Ihnen bei der Verwaltung der von Ihnen verwendeten Reifegradmodelle (SAMM oder BSIMM) zu helfen. Um sie in der Praxis richtig beurteilen zu können, benötigen Sie jedoch noch Fachwissen. Im Folgenden erklären wir, warum diese Methoden nicht so beliebt sind wie die OWASP Top 10.

Der Hauptgrund, warum diese Methoden nicht allgemein angenommen werden, liegt in der Bequemlichkeit und Praktikabilität. Aus unserer Sicht sind sie zu umfassend und es erfordert einfach zu viel Aufwand. Stellen Sie sich zum Beispiel vor, dass Ihr Unternehmen BSIMM als Framework für die Softwarereife einführen möchte. Sie müssten auswerten, welche der 122 Aufgaben für Ihr Unternehmen relevant sind, und dann versuchen, Ihre Sicherheitsbewertung basierend auf diesen Aufgaben zu überwachen. Ihre Organisation müsste auch viel in Schulungen investieren, die richtigen Sicherheitsexperten einstellen, die richtigen Tools auswählen und sicherstellen, dass die Aufgabenliste befolgt wird. Das bedeutet viel Aufwand, nur um ein Framework zu verstehen und zu integrieren, das Ihnen im Wesentlichen nur sagt, was alle anderen tun (und implizit, dass Sie es auch tun sollten).

 

Es ist daher bequemer, die OWASP Top 10 als einen einzigen Standard zu übernehmen, der auf echten Vorfällen basiert, über bessere Tools verfügt und eine Vielzahl von Angriffen berücksichtigt. Bedeutet dies, dass Ihre Organisation BSIMM oder SAMM nicht in Betracht ziehen sollte? Die Antwort hängt in erster Linie von Ihrem Software-Assurance-Modell und den spezifischen Ergebnissen ab, die Sie erreichen möchten (z. B. Audit Readiness, Unterstützung kritischer Systeme oder ganzheitliche Sicherheitsziele).

 

Das Problem bei diesen Sicherheits-Frameworks besteht darin, dass sie in der Regel übermäßig komplex sind, mit fast unüberschaubaren Erwartungen in Bezug auf die Balance zwischen Sicherheit und Benutzerfreundlichkeit.

 

Es kann sinnvoll sein, diese Sicherheitsframeworks in bestimmten Szenarien zu verwenden, wenn Sie versuchen, den Zertifizierungsstatus zu erreichen. Beispielsweise hat Checkmarx KICS die CIS-Level-2-Zertifizierung erreicht. Organisationen, die ähnliche Zertifizierungen erwerben möchten, müssten eine Reihe von Regeln und Prüfungskriterien befolgen, um das entsprechende Gütesiegel zu erhalten.

 

Die beide oben diskutierten Sicherheits-Frameworks haben den Vorteil, dass sie kostenlos verwendet werden können und Zeit sparen können, die Sie mit der Recherche verbringen würden, um herauszufinden, was alle anderen tun.

DIE NÄCHSTEN SCHRITTE DER MODERNEN, SICHEREN ANWENDUNGSENTWICKLUNG

In diesem Blog haben wir kurz die OWASP Top 10 sowie BSIMM und SAMM erklärt, zwei alternative Open-Source-Sicherheitsframeworks für moderne sichere Anwendungsentwicklung (und jede Art von Software). Beginnen Sie damit, die Top 10 der OWASP-Sicherheits-Best-Practices zu übernehmen. Checkmarx SAST ist das branchenführende Tool, das Ihnen hilft, diese Liste zu nutzen, indem Checks in Ihre CI/CD-Pipeline integriert werden.

 

Entwickler müssen auch über die neuesten Best Practices für die Entwicklung moderner sicherer Anwendungen informiert werden, um sichere, standardkonforme Software zu schreiben. Checkmarx Codebashing ist eine Trainingsplattform, die sich der Weiterbildung von Entwicklern in den Grundlagen der sicheren Codierung widmet. OWASP Top 10-Schutzmaßnahmen und Entwicklerschulungen sollten unverzichtbare Bestandteile Ihrer modernen Anwendungsentwicklungs-Workflows sein.

Need Help?

Contact us with any questions you might have

Need Help?

Request a callback and we will contact you