Application Security & Secure Development: Sichere Containerisierte Software in der Cloud

In der heutigen digitalen Zeit ist die Sicherheit von Anwendungen entscheidend für den Schutz sensibler Daten und Systeme. Unsere Expertise in Application Security & Secure Development bietet umfassende Lösungen, um Ihre Softwareentwicklung und Anwendungsarchitektur sicher zu gestalten. Wir unterstützen Sie bei der Implementierung und Optimierung Ihrer Application Security-Strategie mit maßgeschneiderten Lösungen, die auf Ihre spezifischen Anforderungen zugeschnitten sind. Unser Ziel ist es, die Sicherheit Ihrer Anwendungen zu maximieren und Ihr Unternehmen vor digitalen Bedrohungen zu schützen.

Etablierung sicherer CI/CD-Pipelines gemäß dem DevSecOps-Paradigma

Die Integration von Sicherheit in den Continuous Integration/Continuous Deployment (CI/CD) Prozess und die Anwendung des DevSecOps-Paradigmas sind wesentliche Bestandteile einer sicheren Softwareentwicklung. Wir unterstützen Sie bei der Etablierung sicherer CI/CD-Pipelines, die Sicherheit von Anfang an in den Entwicklungsprozess integrieren, und helfen bei der Nutzung moderner Verfahren wie DevSecOps. Eine sichere CI/CD-Pipeline kann dabei beispielsweise die folgenden Elemente beinhalten:

  • Secure Coding (OWASP, CWE Top 25)
  • Dependency Checks
  • Container Scanning & Security Monitoring
  • Pre-Commit Hooks
  • Security Source Code Scanning (SAST)
  • Dynamic Testing, Vulnerability Scanning and Fuzzing (DAST)
  • IaC Security Scanning
  • Deployment Hardening und secure Configuration
  • Keys and Secrets Management
  • Compliance as Code
  • SIEM, Logging & Monitoring
  • CSPM, CNAPP (mehr dazu weiter unten)

Secure CI/CD Pipeline DevSecOps

Container & Kubernetes Security

Container Security befasst sich mit der Sicherheit von Containern und den damit verbundenen Technologien. Container sind eine Form der Software-Virtualisierung, die es ermöglicht, Anwendungen und ihre Abhängigkeiten in isolierten und portablen Einheiten zu verpacken und auszuführen. Container bieten viele Vorteile für die Entwicklung, die Bereitstellung und den Betrieb von Software, wie zum Beispiel Skalierbarkeit, Flexibilität, Effizienz und Konsistenz. Allerdings bringen Container auch neue Sicherheitsherausforderungen mit sich, wie zum Beispiel:

  • Die erhöhte Angriffsfläche durch die Vielzahl von Containern, die auf verschiedenen Ebenen kommunizieren und interagieren
  • Die schnelle Veränderung und Aktualisierung von Containern, die eine kontinuierliche Überwachung und Anpassung der Sicherheitsmaßnahmen erfordert
  • Die Komplexität und Heterogenität der Container-Umgebungen, die aus verschiedenen Komponenten wie Hosts, Orchestrierungs-Tools, Registries, Netzwerken, Speichern und Anwendungen bestehen
  • Die Abhängigkeit von Drittanbieter-Code, der möglicherweise Sicherheitslücken oder Malware enthält

Um diese Herausforderungen zu bewältigen, bieten wir Ihnen an, bei der Verbesserung Ihrer Container Security zu helfen. Wir unterstützen Sie bei der Implementierung von Best Practices und Standards für die Sicherheit von Containern und den damit verbundenen Technologien. Wir helfen Ihnen bei der Nutzung moderner Verfahren und Tools, die Ihre Container Security erhöhen. Dazu gehören zum Beispiel:

  • CVE & Vulnerability Monitoring: Wir führen für Sie regelmäßige Scans und Analysen Ihrer Container und ihrer Komponenten durch, um potenzielle Schwachstellen oder Anfälligkeiten zu identifizieren und zu beheben. Wir nutzen dafür die Common Vulnerabilities and Exposures (CVE) Datenbank, die eine Liste von bekannten Sicherheitslücken enthält, sowie andere Quellen und Methoden. Wir informieren Sie über die Risiken und die Auswirkungen der gefundenen Schwachstellen und geben Ihnen konkrete Empfehlungen zur Beseitigung oder Minderung dieser Schwachstellen.
  • Runtime Protection: Wir schützen Ihre Container während ihrer Ausführung, indem wir ihre Aktivitäten und ihr Verhalten überwachen und kontrollieren. Wir nutzen dafür Runtime Application Self-Protection (RASP) Tools, die in die Container integriert werden und Angriffe erkennen und verhindern können. Wir definieren für Sie Sicherheitsrichtlinien und -regeln, die das erwartete und das erlaubte Verhalten Ihrer Container festlegen. Wir blockieren oder alarmieren Sie über jegliche Abweichungen oder Anomalien, die auf einen Angriff oder eine Kompromittierung hinweisen könnten.

Bug Bounty Programm

Ein Bug Bounty Programm kann ein effektives Instrument sein, um Sicherheitslücken in Anwendungen zu identifizieren. Wir helfen Ihnen bei der Einrichtung und Verwaltung von Bug Bounty Programmen, um von der Expertise einer globalen Community von Sicherheitsforschern zu profitieren. Zusätzlich unterstützen wir Sie bei der Implementierung der Security.txt nach RFC 9116. Diese Datei dient als standardisiertes Format, um Sicherheitsforschern wichtige Informationen zu liefern, wie sie Sicherheitsprobleme in Ihrer Webpräsenz melden können. Die Einrichtung einer Security.txt ist ein wichtiger Schritt, um die Kommunikation zwischen Ihrem Unternehmen und der Sicherheitscommunity zu erleichtern und zu fördern, was wiederum die Effizienz bei der Identifizierung und Behebung von Sicherheitslücken erhöht.

Bug Bounty Programm Prozess

DAST, SAST, IAST

Wir bieten Dynamic Application Security Testing (DAST), Static Application Security Testing (SAST) und Interactive Application Security Testing (IAST) an, um Sicherheitslücken in Ihren Webanwendungen und Diensten effektiv zu identifizieren und zu beheben. Diese Methoden ermöglichen eine umfassende Sicherheitsüberprüfung Ihrer Anwendungen.

Secure Coding Workshops & Richtlinien

Neben der Erstellung von Entwicklungsrichtlinien zur sicheren Softwareentwicklung bieten wir auch Workshops und Coaching an. Diese Workshops sind darauf ausgerichtet, Ihr Team in den Praktiken der sicheren Softwareentwicklung zu schulen. Unsere Richtlinien und Schulungen basieren auf internationalen Standards wie OWASP Top10, OWASP ASVS und CWE und werden maßgeschneidert, um Best Practices in den von Ihnen eingesetzten Technologien zu integrieren.

CNAPP (Cloud Native Application Protection Platform) & CSPM (Cloud Security Posture Management)

In der Cloud-Umgebung ist es entscheidend, eine umfassende Sicherheitsstrategie zu implementieren. CNAPP und CSPM sind Schlüsselkomponenten, um die Sicherheit und Compliance Ihrer Cloud-Infrastruktur zu gewährleisten. CNAPP bietet eine ganzheitliche Sicherheitslösung für Cloud-native Anwendungen, indem es Sicherheitsmanagement, Bedrohungserkennung und Datenprotektion in einer Plattform vereint. CSPM hingegen konzentriert sich auf die Überwachung und Verwaltung der Sicherheitskonfigurationen in der Cloud, um Fehlkonfigurationen und Compliance-Verstöße zu identifizieren und zu beheben. Wir unterstützen Sie bei der Implementierung und Optimierung von CNAPP und CSPM, um Ihre Cloud-Anwendungen und -Dienste umfassend zu schützen.

Entwicklung von Sicherheitsanforderungen und Threat Modeling nach STRIDE

Jede eigene Entwicklung sowie Outsourcing von Projekten beginnt mit Sicherheitsanforderungen. Wir unterstützen Sie bei der Definition von angemessenen und individuellen Sicherheitsanforderungen für Ihre Applikationen. Dies kann sowohl bei der inhouse-Entwicklung als auch bei einer extern ausgelagerten Entwicklung relevant sein und gehört in jede Lasten- und Pflichtenheft sowie in die vertragliche Ausgestaltung.

Threat Modeling nach STRIDE ist eine Methode zur Bedrohungsanalyse zur Identifizierung von Risiken und Angriffsvektoren. Hier wird zunächst die Applikationslandschaft inklusive der darunterliegenden ITInfrastruktur modelliert mit den Elementtypen Prozess, Datenspeicher, Datenfluss, externe Entität, Trust Boundary. Dieses kann sowohl technisch und auf mehreren hierarchischen Ebenen geschehen oder Use-case-/Mis-use-case-orientiert Anschließend werden auf das gesamte Datenflussdiagramm die Threats nach STRIDE gemappt und im technologischem Kontext spezifiziert sowie Subbedrohungen erzeugt (z.B. Threat Spoofing (das erste S von STRIDE) mittels des Angriffs Passwort-Bruteforcing beim Login).

Ziel von Threat Modeling ist es Mitigationsmaßnahmen zu definieren und damit die Architektur mit Sicherheitsmaßnahmen anzureichern. In diesem Beispiel Einsatz von CAPTCHAs und Throttling beim Login. Threat Modeling ist in der Gesamtheit also eine hervorragende Methode, um systematisch und vollständig alle Risiken eine Applikationsarchitektur und IT-Landschaft zu identifizieren und abzusichern. Ohne Threat Modeling ist es für einen Security-Architekten fast unmöglich ALLE Risiken zu erkennen und Maßnahmen zu ergreifen, hier wird dann nur auf die vergangene Erfahrung zurückgegriffen und Maßnahmen nur unvollständig platziert.

Threat Modeling

STRIDE-Kategorisierung von Threats

  • Spoofing: Der Angreifer spooft einen User / ein System / einen Prozess etc., gibt sich also als eine andere Entität aus. Mitigierungsmaßnahmen der Kategorie Authentifizierung.
  • Tampering: Der Angreifer manipuliert einen Datenfluss, Daten, Prozess etc. Mitigierungsmaßnahmen der Kategorie Verschlüsselung / Integritätsprüfung / Eingabevalidierung
  • Repudiation: Der Angreifer führt seine Aktionen unbemerkt durch. Maßnahmen der Kategorie Logging, Monitoring, Intrusion Detection
  • Information Disclosure: Der Angreifer gelangt unerlaubt an sensitive Informationen. Umfangreiche Maßnahmen notwendig, wie z.B. sicheres Error-Handling, Verschlüsselung, Härtung
  • Denial-of-Service: Der Angreifer legt das System lahm. Umfangreiche Maßnahmen notwendig, wie z.B. Härtung, DDoS-Protection-Mechanismen, sichere Programmierung
  • Elevation-of-Privilege: Der Angreifer erlangt mehr Rechte als ihm eigentlich zusteht. Maßnahmen der Kategorie Autorisierung gemäß Least-Privilege-Principle

Einsatzmöglichkeiten

Die Einsatzmöglichkeiten von Security Requirements Engineering & Threat Modeling nach STRIDE sind vielfältig und können für verschiedene Zwecke und Szenarien genutzt werden. Einige Beispiele sind:

  • Risikoanalyse nach ISO 27001 / ISO 80001 / ISO 27034: Mit Security Requirements Engineering & Threat Modeling nach STRIDE kann man die Sicherheitsziele, -kontrollen und -maßnahmen festlegen, die diesen Standards entsprechen. Dabei kann man die potenziellen Bedrohungen identifizieren, bewerten und behandeln, die die Sicherheit der Informationen, der Produkte oder der Anwendungen gefährden könnten.
  • Analyse einer (Cloud-basierten) Anwendungsarchitektur: Mit Security Requirements Engineering & Threat Modeling nach STRIDE kann man die Sicherheitsaspekte einer Anwendungsarchitektur analysieren und verbessern. Dabei kann man die Angriffsfläche, die Schwachstellen, die Abhängigkeiten und die Schutzmechanismen einer Anwendung oder eines Systems untersuchen und optimieren. Dies gilt insbesondere für Cloud-basierte Anwendungen oder Systeme, die besonderen Sicherheitsherausforderungen ausgesetzt sind, wie zum Beispiel Multi-Tenancy, Skalierbarkeit, Datenverarbeitung oder Compliance.
  • Erfassung von Angriffsvektoren und Unterstützung bei Festlegung des Scopes bei einem Penetrationstest: Mit Security Requirements Engineering & Threat Modeling nach STRIDE kann man die Angriffsvektoren und den Scope eines Penetrationstests erfassen und unterstützen. Dabei kann man die möglichen Einstiegspunkte, die Ziele, die Szenarien und die Techniken eines Angriffs definieren und priorisieren. Dies hilft, den Umfang und die Tiefe eines Penetrationstests zu bestimmen und zu begrenzen, sowie die Ergebnisse und die Empfehlungen zu bewerten und zu dokumentieren.
  • Cloud Migrationsprojekte: Mit Security Requirements Engineering & Threat Modeling nach STRIDE kann man die Sicherheitsaspekte eines Cloud Migrationsprojekts berücksichtigen und gewährleisten. Dabei kann man die Sicherheitsanforderungen, -risiken und -maßnahmen für die Quell- und die Zielumgebung analysieren und vergleichen. Dies hilft, die Sicherheitslücken, die Herausforderungen und die Best Practices für eine erfolgreiche und sichere Cloud Migration zu identifizieren und zu adressieren.

Secure Source Code Review

Im Rahmen Security Code-Review werden ein automatisierter und ein manueller Security Source Code Review auf sicherheitsrelevante Bereiche zum Identifizieren von Sicherheitslücken durchgeführt.

Der automatische Test wird nicht eingeschränkt und über den gesamten Code ausgeführt. Eine manuelle Überprüfung wird sowohl auf die Findings aus den automatischen Tests durchgeführt, um False-Positives zu identifizieren und auszuschließen als auch auf sicherheitskritische Code-Stellen der Applikation.Ergebnisse hin wird durchgeführt.

  • Automatisierte Code-Reviews
  • Qualitätssicherung der Findings, Ausschluss von False Positives
  • Manuelle Code-Reviews auf sicherheitskritischen Codestellen

Automatischer Security-Code-Review

Zunächst erfolgt das Onboarding der Software in geeignete Security-Code-Scanner. Anschließend werden die Scans gestartet, gefolgt von der Auswertung und Bereinigung der Ergebnisse. 

Die eingesetzten Scanner gelten aktuell als Standard hinsichtlich automatischer Sicherheitsprüfungen von Sourcecode. Sie liefern gute bis sehr gute Leistungen beim Auffinden von einfachen technischen Sicherheitsschwachstellen. Die Erkennungsrate im Bereich komplexer bzw. fachlicher Sicherheitsschwachstellen (z.B. Berechtigungsvergabe beim Login) ist jedoch deutlich schlechter als bei technischen Sicherheitsschwachstellen (z.B. Verwendung anfälliger Methoden). Im Anschluss werden die automatisch ermittelten Sicherheitsschwachstellen deshalb qualitätsgesichert und um False-Positives bereinigt. Währenddessen erfolgt bereits ein manueller Review, da auch die Code-Bereiche rund um die automatischen Findings manuell betrachtet werden.

Manueller Security-Code-Review

Im Rahmen des manuellen Security-Code-Reviews werden ausgewählte sicherheitsrelevante Codebereiche manuell nach dem internationalen CWE-Standard geprüft, um typische Implementierungsfehler wie die folgenden zu identifizieren:

  • Eingabevalidierung (Blacklisting/Whitelisting)
  • SQL-Injection
  • OS-Command Injection
  • Buffer Overflow
  • Cross-Site-Scripting
  • Starke Authentifizierung
  • Einsatz von Kryptographie
  • Zugriffskontrolle
  • Unrestricted Upload
  • Cross-Site Request Forgery
  • ErrorHandling
  • Denial-of-Service
  • Information Disclosure
  • Open Redirect
  • Path Traversal

Maßgeschneiderte Sicherheitskonzepte nach etablierten Standards

Die Themen dieser gesamten Unterseite werden in einem ganzheitlichen, maßgeschneiderten Sicherheitskonzept nach etablierten Standards überführt. Wir orientieren uns dabei an anerkannten Standards wie BSI IT-Grundschutz, OWASP und CIS, um sicherzustellen, dass Ihre Sicherheitsstrategien nicht nur umfassend, sondern auch nach den neuesten Best Practices ausgerichtet sind. Diese maßgeschneiderten Konzepte ermöglichen es uns, eine Sicherheitsarchitektur zu entwickeln, die speziell auf die Bedürfnisse und Anforderungen Ihres Unternehmens zugeschnitten ist.

Ansprechpartner Valeri Milke

Ihr Ansprechpartner:

Valeri Milke

Senior Manager

Mehr als 15 Jahre Erfahrung in IT-Security
Whitehat-Hacker & Penetrationtester
Incident Response & Forensics
Application Security & DevSecOps
ISMS ISO 27001 Lead Auditor
Betrieblicher Datenschutzbeauftragter (IHK)

Mobil: +49 151 20016884
valeri.milke@insentis.com

scroll to top
bdu Logo
Bitkom Logo
IT Security Logo