Security und Agililität SAEC Days 2020 - Dagmar Stefanie Moser Max Moser Security und Agilität - D. & M. Moser - SAEC Days 2020
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Security und Agililität SAEC Days 2020 Dagmar Stefanie Moser Max Moser Security und Agilität – D. & M. Moser – SAEC Days 2020 1
Vorstellung Dagmar Stefanie Moser, Dipl.-Inform. IT Beraterin und Mitgründerin blueheads GbR Training und Coaching in Information Security mit Schwerpunkt Secure Software Development Lead Security Architektin, FI-TS GmbH & Co. KG Dr. Max Moser, Dipl.-Inform. IT Berater und Mitgründer blueheads GbR Professor für Informatik und Cyber Security an der Hochschule der Bayerischen Wirtschaft HDBW, München Security und Agilität – D. & M. Moser – SAEC Days 2020 2
Agenda • IT-Security in der agilen Softwareentwicklung – Spannungsfeld zwischen Geschwindigkeit und Sicherheit • Security Aktivitäten im agilen Entwicklungsprozess • Integration von Sicherheitsanforderungen und Bedrohungsanalyse • Beispiele für Umsetzung der gewonnenen Sicherheitsanforderungen Security und Agilität – D. & M. Moser – SAEC Days 2020 3
Security Trends in Business Applikationen • Größere Angriffsfläche durch stärke Anwendungsintegration • Schnittstellen zu Web Applikationen und zu mobile apps • Verwendung neuer Technologien ohne ausreichende Sicherheitsmechanismen • Cloud, IoT, Microservice Architektur und vermehrte Verwendung von 3rd Party Komponenten • Gesetzliche und regulatorische Vorgaben werden strenger • Digitalisierung und Innovationsdruck verschärfen die Situation Security und Agilität – D. & M. Moser – SAEC Days 2020 4
Agile Projekte und Security - Wo liegen die Probleme? • Security wird oft als Behinderer betrachtet – „Innovationsbremse“ • Security-Standards und -Frameworks werden als zu schwergewichtig für einen agilen Ansatz betrachtet • Zusätzliche Anforderungen können Projektzyklen verlangsamen • Sicherheitsprobleme in Software stehen bei vielen Managern nicht im direkten Fokus • In der Regel mangelt es an Security-Know-How in Projektteams - Spezialisten für Secure Software Development sind rar Security und Agilität – D. & M. Moser – SAEC Days 2020 5
Spaghetti Analogie https://github.com/bkimminich/it-security-lecture/blob/master/slides/02-09-sdlc.md „sprinkling security on insecurely written software is like sprinkling salt on spaghetti after cooking them in unsalted water“ Security und Agilität – D. & M. Moser – SAEC Days 2020 6
Ein SCRUM-basierter „Secure Agile“ Prozess Product Backlog Security Stories Evil Stories Business Anforderungen security requirements Bedrohungs-Analyse Technische Anforderungen Definition of Done secure design Qualitäts-Anforderungen Infrastructure as Code Sicherheitsanforderungen secure coding Security Compliance-Anforderungen Testing Produkt- security testing Inkremente secure deployment Sprint Betrieb, Monitoring, Logs è Beobachtungen und Ereignisse IDS, IPS, SIEM è Incidents CERTs, … è CVEs Security und Agilität – D. & M. Moser – SAEC Days 2020 7
Warum sind Security Requirements wichtig? Auch für agile Projekte gilt: Besonders für agile Projekte gilt: • 60 % der Defects sind Folge von • Security Anforderungen können sehr falschen Anforderungen effizient mit der dazugehörigen • Security Anforderungen sind häufig Business Logik implementiert und abstrakt und unkonkret getestet werden (secure features vs. security features) • Security Anforderungen wirken sich • Anforderungen resultierend aus IT häufig auf die Architektur aus Security Risiken können im Backlog • Architekturänderungen in einer entsprechend eingeplant werden späteren Entwicklungsphase sind • Evil Stories sind gut geeignet um schmerzhaft Angriffsszenarien zu definieren • Sicherheitstests lassen sich effizient in eine Test- und Build-Automatisierung integrieren Security und Agilität – D. & M. Moser – SAEC Days 2020 8
Beispielanwendung: Web-Shop Bestellungen (Kunden, Produkte, …) Registrierung (Name, Web Adresse, ...) Server Shop SQL-DB Browser Browser Shop- Shop- Produktangebot Kaufbestätigung Besitzer Kunde (Produkte, Preise, …) Besitzer Kunde Security und Agilität – D. & M. Moser – SAEC Days 2020 9
Security User Story Als Kunde des Web-Shops möchte ich, dass meine persönlichen Daten vor dem Zugriff Dritter geschützt werden, um so nicht für deren Zwecke genutzt werden zu können. Akzeptanz-Kriterien • Stelle sicher, dass der Transfer der Daten vom Browser des Kunden zum Web Server des Shops (und umgekehrt) mindestens TLS 1.2 verschlüsselt ist. • Stelle sicher, dass nur authentisierte und autorisierte Benutzer Zugriff auf Kundendaten über den Webshop haben. • Stelle sicher, dass nur authentisierte und autorisierte Benutzer Zugriff auf die Datenbank haben. • Stelle sicher, dass die Kommunikation zwischen den Komponenten der Anwendung - einschließlich APIs und Datenbank - eine Authentisierung erfordern. • … Akzeptanzkriterien sind Input für automatisierte Security und Agilität – D. & M. Moser – SAEC Days 2020 Testfälle 10
Evil Story Als Eve möchte ich die Passwortdatei auf dem Sever der Web-Applikation auslesen, um mich als Betriebssystem-Benutzer anmelden zu können. Akzeptanz-Kriterien • Passwörter sind unter /etc/shadow als salted hash gespeichert • Der Betriebssystem-Benutzer, unter dem die Datenbank läuft, kann /etc/shadow auslesen • SQL Injection über Formular ist möglich • Datenbank-User hat FILE Grant, wodurch das Auslesen von Dateien möglich ist • Mit Hilfe von Password Cracking Tools werden die Passwörter geknackt Akzeptanzkriterien •… sind Input für automatisierte Security und Agilität – D. & M. Moser – SAEC Days 2020 Testfälle 11
Bedrohungs-Analyse Bedrohungs- • Effiziente Methode um Bedrohungen zu modell erstellen identifizieren, zu bewerten und zu adressieren • Gibt Transparenz über die wesentlichen Bedrohungen Bedrohungen der Anwendung identifizieren • Bietet die Möglichkeit Schwachstellen bewusst zu vermeiden oder in Kauf zu nehmen Bedrohungen bewerten • Ist Basis für weitere Sicherheitsanforderungen • Sollte mit jeder Architekturänderung und jedem Bedrohungen äußeren Einfluss (z.B. Incident) weiterentwickelt mitigieren werden Security und Agilität – D. & M. Moser – SAEC Days 2020 12
Bedrohungsmodell Vertrauensgrenzen Bestellungen (Kunden, Produkte, …) Registrierung Web (Name, Adresse, ...) Server Shop SQL-DB Browser Browser Shop- Shop- Produktangebot Kaufbestätigung Besitzer Kunde (Produkte, Preise, …) Besitzer Kunde Security und Agilität – D. & M. Moser – SAEC Days 2020 13
Einflüsse aus Entwicklung und Produktion Vertrauensgrenzen Änderungen am Bestellungen (Kunden, Produkte, …) Web Registrierung Incidents aus der (Name, Adresse, ...) Scope der Anwendung Server Shop Produktion SQL-DB Browser Browser Shop- Shop- Besitzer Produktangebot Kaufbestätigung Kunde Erkenntnisse (Produkte, Preise, …) Änderungen an der Architektur der Anwendung Besitzer aus Logs und Kunde Monitoring neue Vulnerabilities Security und Agilität – D. & M. Moser – SAEC Days 2020 14
Erweiterte Security-Anforderungen als Herausforderung Was bisher erreicht wurde Herausforderungen für Projekte / agile Vorgehensweisen • Sicherheit nicht nur ein Thema von Firewalls oder IDS Systemen • Manuelle Umsetzung kostet Zeit • Sicherheit auch in den Anwendungen und in • Manuelle Arbeiten sind fehleranfällig und der Infrastruktur berücksichtigen nicht nachhaltig • Vorgestellte Methoden erlauben es, über • Zusätzliche Anforderungen können eine Bedrohungsanalyse adäquate Projektzyklen verlangsamen Sicherheitsanforderungen abzuleiten • Konzentration im Team wird abgelenkt Ziele • Sicherheit im Sinne von "shift left" frühzeitig in Design und Umsetzung berücksichtigen • "secure features" statt nur "security features" • gesundes Gleichgewicht von Entwicklungsgeschwindigkeit und Sicherheit Security und Agilität – D. & M. Moser – SAEC Days 2020 15
Ansätze zur Umsetzung (Auswahl) • Sicherer Code • Erweiterte Prüfbarkeit Security- • erweiterte Coding Guidelines Eigenschaften • Sicheres Setup der Infrastruktur • Generische Sicherheitstests + Hardening + Compliance • konkrete Tests zu den Sicherheits-Anforderungen • Infrastructure as Code mit konstruktiv sicherem Setup und • Sichere CI/CD-Pipeline Compliance • CI/CD-Pipeline als Infrastructure as Code • Zugriffsbeschränkungen, Signaturen, … Security und Agilität – D. & M. Moser – SAEC Days 2020 16
Unterstützung der Agilität durch Automatisierung – Infrastruktur as Code • Beschreibung Server, Netze, etc. via Code • Ausführung erstellt/überarbeitet Infrastruktur • Beispiele: Chef, Puppet, Salt, Ansible, Terraform • Nutzen • Reproduzierbarkeit und Reviewbarkeit include_recipe "apt" • Änderungen sind versionierbar package 'nginx' do action :install end • schnelle Erstellung neue Infrastruktur service 'nginx' do action [ :enable, :start ] • Ausprägbarkeit in verschiedene Environments end cookbook_file • Entwickler verwenden produktionsnahe Umgebung "/usr/share/nginx/www/index.html" do source "index.html" mode "0644" end Security und Agilität – D. & M. Moser – SAEC Days 2020 17
Unterstützung der Agilität durch Automatisierung – Infrastruktur Compliance • Verschiedene Kataloge an • Beispiel: RHEL 8 Benchmark von CIS Sicherheitsstandards und Compliance- Anforderungen existieren • Kataloge bilden teilweise Grundlage für Compliance Standards, wie PCI DSS • Anforderungen lassen sich weitestgehend automatisiert umsetzen bzw. überprüfen • Aktualisierung Stände der Systeme bzw. Überprüfung derer durch häufige • siehe auch • CIS – Center of Internet Security, Benchmarks Provisionierungsläufe • STIGs – Secure Technical Implementation Guides • Regelmäßige Ergänzung Anforderungen • SCAPs - Security Content Automation Protocol • NIST SP 800-123 Guide to General Server Security u.a. auf Basis des Threat-Modells Security und Agilität – D. & M. Moser – SAEC Days 2020 18
Unterstützung der Agilität durch Automatisierung – Security-Tests • SAST-Tests für Code • basierend auf Standard-Katalogen von Sicherheitsprüfungen • z.B. nodejsscan für NodeJS oder bandit für Python • DAST-Tests - für Anwendung und Infrastruktur • auf Basis-Sicherheitsniveau/Compliance • z.B. OpenVAS oder Nexpose von rapid7, sqlmap • Eigene Tests der Infrastruktur • z.B. inspec.io Security und Agilität – D. & M. Moser – SAEC Days 2020 19
Automatisierung Sicherheitstests - Hier: Infrastrukturtests InSpec.io • Sprache zur Beschreibung von Security- und Compliance-Regeln • Regeln werden zu automatisierten Tests, die gegen Server, Container und Cloud-APIs ausgeführt werden können Security und Agilität – D. & M. Moser – SAEC Days 2020 20
Fazit • Security wird oft als Behinderer • Security von Beginn an und betrachtet – „Innovationsbremse“ systematisch in den • Sicherheitsprobleme in Software Entwicklungsprozess integrieren stehen bei vielen Managern nicht • Bedrohungen transparent machen im direkten Fokus • Anforderungen konkret und • Zusätzliche Anforderungen können umsetzbar bzw. testbar machen Projektzyklen verlangsamen • Anforderungen konstruktiv oder • Security-Anforderungen sind oft über Tests automatisieren abstrakt • Infrastrukturcode auf der gleichen Ebene wie Anwendungscode behandeln Security und Agilität – D. & M. Moser – SAEC Days 2020 21
Sie können auch lesen