SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Mario-Leander Reimer
mario-leander.reimer@qaware.de
Das kleine Einmaleins
der sicheren Architektur
Heidelberg, 25. Oktober 2017
Dr. Simon Bäumler
simon.baeumler@qaware.de
Mario-Leander Reimer
Cheftechnologe, QAware GmbH
Kontakt Details
Phone: +49 89 23 23 15 121
Mail: mario-leander.reimer@qaware.de
Twitter: @LeanderReimer
Github: https://github.com/lreimer
2
Developer && Architect
20+ Jahre Erfahrung
#CloudNativeNerd
Open Source Enthusiast
QAware
Dr. Simon Bäumler
Sofwarearchitekt, QAware GmbH
Kontakt Details
Phone: +49 89 23 23 15 136
Mail: simon.baeumler@qaware.de
3
Secure Developer && Architect
Fan of Microservices, Clouds and
Security (of course!)
15+ Jahre Erfahrung
QAware
Prolog
HACKERS REMOTELY KILL A JEEP ON THE HIGHWAY
WITH ME IN IT!
https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
Sesam öffne dich!
http://www.heise.de/security/meldung/BMW-ConnectedDrive-gehackt-2533601.html
QAware 7
QAware 8
Mit Usability als wichtigste Eigenschaft eines Systems,
wird Security häufig zu einer User Story unter vielen.
QAware 9
Sichere Software Architektur und Entwicklung bedeutet
Sicherheit von Tag 1 an. Immer wieder auf‘s Neue.
Infrastructure
Certificates
Tokens
Passwords
SecurityTesting
(DAST + SAST)
FuzzTesting
Secure Components
Domain Driven Design
Security Patterns
Sicherheitsanforderungen
Schutzbedarfsanalyse
Angreifer-Analyse
OWASPTop 10
Security Monitoring
Dependencies
Package Signing
Container Security
Sichere Architektur und Design
Softwarearchitekturen und Architektursichten.
QAware 11
TI - ArchitekturT - ArchitekturA - Architektur
Konzeptionelle Sicht
Modulsicht
Ausführungssicht
Programmsicht
Anforderungen
Komponenten
Schnittstellen
Nachbarsysteme
Anwendungsfälle
Entitätenmodell
Rechner
Netzwerke
Infrastruktur
Produkte
Bibliotheken
Frameworks
Technologien
QAware 12
Die Sicherheitsarchitektur eines Systems sichert eine
normale Architektur auf verschiedenen Ebenen.
Anwendungs-Architektur
Technische Architektur
Sichere
Anwendungs-Architektur
Sichere
Technische Architektur
Sicherheits-Anforderungen
Security Targets
Externe Quellen:
OWASPTop 10, BSI, PSA,
Technische Infrastruktur
Sichere
Technische InfrastrukturSicherheits
Architektur
Die Sicherheitsarchitektur besteht aus abgesicherten
Sicherheitskomponenten und Kommunikationskanälen.
QAware 13
Komponente A Komponente B
Kanal A-B
Trust boundary
(Abgesicherter)
Kommunikationskanal
Komponente
Schnittstelle über einen
Gatekeeper gesichert
Ein System besteht aus Komponenten. Diese sind durch Kommunikationskanäle verbunden.
Beispiele für Komponenten: Datacenter, VMs, Applikationsserver, Datenbanken, Softwaremodule, Browser, …
Jede Komponente wird von jemanden bereitgestellt, der vertrauenswürdig oder nicht vertrauenswürdig ist.
Jede Komponente hat eine definierte Sicherheit. Von unsicher bis sehr sicher:
Wie gründlich muss der Gatekeeper sein: Vom Jedermanns-Recht bis zur Festung
Jeder Kanal hat eine definierte Sicherheit (von sehr sicher bis unsicher):
Wie robust ist der Kanal und das dabei verwendete Protokoll gegenüber den typischen Angriffen?
QAware 14
Sicherheitskomponenten können Sicherheitsgruppen bilden
mit harten Grenzkontrollen und laxer innerer Sicherheit.
Komponente A Komponente B
Komponente D
Komponente C
Strenge Sicherheit
Schwache Sicherheit
Keine Sicherheit
Sicherheitsgruppe
Entities
Hat Attribute und eine Identität
Kann andere Objekte enthalten
Operiert auf enthaltene Objekte
Value Objects
Sind durch Wert definiert und immutable.
Können andere VOs enthalten.
Können als Attribute verwendet werden
Definiert und prüft wichtige Constraints.
Aggregate Root
Kontrolliert den Zugriff von außerhalb
Sorgt für die Konsistenz innerhalb der Boundary
Zugriff erfolgt über Repositories
Einige Konzepte des Domain Driven Design sorgen für
ein robustes und sicheres Design.
QAware 15
Store
Kunde
Name
Alter
Adresse
0..*
Aggregate
Boundary
Aggregate
Root
Entity
Value
Objects
Secure Design Patterns
QAware 17
Das interne Design einer Sicherheitskomponente wird
durch die Sicherheitsanforderungen beeinflusst.
Canonicalization
Verlustlose Vereinfachung der
Representation.
Normalization
Verlustbehaftete Vereinfachung der
Representation.
Sanitization
Entfernen geschützter, unsinniger und
schädlicher Datenwerte
Stellt Datenhygiene sicher
Validation
Prüft, ob Daten einem erwarteten
Muster entsprechen
Typprüfung und Wertebereichsprüfung
QAware 18
Sicherheit ist eine querschnittliche Anforderung. AOP-
Interceptoren eignen sich perfekt für die Umsetzung.
Interceptor + Binding annotations
Sanitize parameters and continue
Get annotation from method or
it’s declaring class
Activate in beans.xml
Security Decorators erlauben die Umsetzung von
Komponentenspezifischen Sicherheitsanforderungen.
19
Activate in beans.xml
Inject the delegate instance
Do any additional security
check that my be required
QAware
Apply Design by Contract (DbC) to your gate keeper and
security components using the method validation API.
20
Die Schnittstelle alsVertrag
Pre- und Post-Conditions von
Methoden mit javax.validation
Annotationen.
QAware
Bei verteilten Systemen: Sichere
die Kommunikationswege!
Server
22
Kommunikationskanäle auf mehreren Ebenen absichern.
Welches sind die logischen Endpunkte?
Client
Firewall
Reverse Proxy
Anwendung 1 Anwendung 2
HTTPS HTTP HTTP
REST/JSON REST
Security Layer
Application Layer
Sec. L.
Fachliche Kommunikationskanäle gehen über mehrere technische Abschnitte.
QAware
Der Gatekeeper versteckt den Security Layer vor dem
Business Code.
23
CMS-Format
Standard, kann mit OpenSSL geprüft werden
Payload-Type explizit angegeben
Nicht raten, sondern wissen und dagegen prüfen
Erst PayloadType prüfen: Passt das zur Erwartung?
Dann Payload parsen: Ist das wirklich der angegebene Typ?
Nonces: Für Freshness, gegen Replay
Validierung: Verfügbare Prüfregeln im Security Layer verankert
Beispiele: Enthält Nonce: Ja/Nein
Client-ID ist gleich Common-Name des Signers
Konkrete Definition erfolgt auf fachlicher Ebene
CMS Signed Data
Signature[s]
Certificate[s]
(optional)
Secure Container
DER Sequence
Nonces
Each: DER Octet String(16 octets)
payloadType
DER UTF8 String
payload
DER Octet String
Client-ID
Each: DER UTF8 String
Message
JSONDER Octet String,
containing a
Es gibt eine Reihe an technischen Bausteinen, die von
einem Gatekeeper genutzt werden können.
24
Security Frameworks wie PicketLink, Shiro, HDIV, OWASP ESAPI
bieten eine umfassende Sammlung an vorgefertigten
Sicherheitsfunktionen zur Integration in Web-Anwendungen, wie:
Authentifizierung und Single-Sign-On
Autorisierung
Kryptographie
Session Management
Abwehr von Angriffen gegen eingesetzte Frameworks (z.B. JSF)
Edge Server undWeb Application Firewalls wie z.B. Zuul oder mod_security* schützen
den HTTP-Kanal bereits bevor ein Request beim Server ankommt mit:
Rate Limiting und Tarpits
Autorisierung und Authentifizierung
Abwehr klassischer Angriffe
*) mod_security ist ein Plugin für den Apache Webserver.
Es steht von OWASP ein Regelsatz für mod_security zur Verfügung:
https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
QAware
Impact Reduction:
Falls etwas passiert müssen die
Angriffe erkannt werden.
26
Häufig übersehen: Vorhandene Logs sind eine wertvolle
Quelle, um Angriffe zu erkennen und zu analysieren.
Logstash Kibana
Zentrale Fragen:
Was wird geloggt?
(https://www.owasp.org/index.php/Logging_Cheat_Sheet)
Wie werden die Logs eingesammelt und analysiert?
Wie werden die Logs analysiert? (Kibana, …)
Lassen sich Sicherheitsprobleme leicht erkennen?
Eine vorgefertigte Kette zur Log-Analyse gibt es z.B. von
OSSEC (http://www.ossec.net)
Ziel: Angriffe schon während einer
Ausspähungsphase erkennen und blocken:
WAFs (Web Appication Firewalls) und IDS
(Intrusion Detection Systeme) haben nur
begrenzten Einblick Anwendungsinterna.
Einfache und wichtige Informationsquelle zur
Erkennung von Angriffen: Logs.
Erlaubtes und unerlaubtes Verhalten kann
besser mit dem fachlichen Kontext
unterschieden werden.
QAware
Der AppSensor Ansatz:
Instrumentierung der Anwendung mit logähnlichen
Detection Points.
Auswertung der gesammelten Daten auf dem AppSensor
Server. Angriffserkennung kann damit weiter automatisiert
werden.
Rückkopplung zum System vorgesehen um z.B.
Nutzerkonten von Angreifern zu sperren.
 Automatischer Schutz bei identifizieren Angriffen
Der OWASP AppSensor erlaubt die kontext-sensitive
Erkennung und die Reaktion auf Angriffe.
QAware 27
QAware 28
Der AppSensor Server ist eine Infrastruktur-Komponente
der Sicherheitsarchitektur.
Component A Component B
Component D
Component C
AppSensor
Provisionierung der Komponenten
mit Detection Points
QAware 29
Der AppSensor Server ist eine Infrastruktur-Komponente
der Sicherheitsarchitektur.
Component A Component B
Component D
Component C
AppSensor
AppSensor
Detection Points
liefern Daten zum
Nutzerverhalten
QAware 30
Der AppSensor Server ist eine Infrastruktur-Komponente
der Sicherheitsarchitektur.
Component A Component B
Component D
Component C
AppSensor
Datenanalyse: Erkennung
von Angriffsmustern anhand
von Heuristiken
QAware 31
Der AppSensor Server ist eine Infrastruktur-Komponente
der Sicherheitsarchitektur.
Component A Component B
Component D
Component C
AppSensor
Bei erkannten Angriffsversuchen:
z.B. Sperrung des Benutzers /
der Funktionalität
AppSensor kennt 50 Typen von Detection Points.
QAware 32
Zugriff auf
Resourcen ohne
Berechtigung
Client-Seitige
Input Validierung
umgangen
Unerwartetes
Datenformat
Verdächtiges
Login Verhalten
Angriffsversuch
erkannt
Automatisierter
Applicationsscan
erkannt
Weniger als 10% der Bytecode
Instruktionen moderner JEE
Applikationen sind eigener Code!
Ungefähr 26% der von Maven
Central heruntergeladenen
Bibliotheken beinhalten bekannte
Schwachstellen!
https://www.owasp.org/index.php/OWASP_AppSec_DC_2012/The_Unfortunate_Reality_of_Insecure_Libraries
35
OWASP Top 10 2017
A9 should be in the Top 3!
QAware
Der sichere Einsatz von Open Source Komponenten ist
ein wichtiger Bestandteil der Applikationssicherheit
QAware 36
Wie kann eine Applikation gegen Schwachstellen in Open Source Software geschützt werden?
Option a) Keine Open Sourcesoftware einsetzen!  Nicht realistisch!
Option b) Klare Guidelines zum sicheren Einsatz von Open Source Software.
Analyse von Sicherheitseigenschaften der Bibliotheken schon beim Auswählen der Bibliotheken.
Berücksichtigung von Schwachstellen bei der Auswahl der eingesetzten Version.
Beobachten von neuen Schwachtellen, die während des Projektlebenszyklus entstehen können. Hier helfen
öffentliche Datenbanken (CVE, NVD) und die Projektseiten.
Einbau von security decorators, um unsichere oder unbenutzte Funktionalität der Software abzusichern oder
zu deaktivieren.
QAware 37
Das Sicherheitslevel von Open Source Komponenten
kann anhand von klaren Kriterien entschieden werden.
Frage Alarmglocke Quelle
Wie reif ist die
Software?
Es gibt kein Final-Release. Das aktuelle Release hat eine
Versionsnummer unterhalb 1.0. Das Codevolumen im Projekt
steigt stark an.
Das Projekt existiert seit weniger als einem Jahr.
Projekt-Website,
mvnrepository.com,
antepedia.com
Steht ein Maven-Artefakt
zur Verfügung?
Es ist kein offizielles Artefakt veröffentlicht. Maven-Artefakt sind in
nicht vertrauenswürdigen Repositories veröffentlicht.
Projekt-Website,
mvnrepository.com
Wie gut ist die
Dokumentation?
Keine API-Dokumentation. Kein Releasenotes. Werden
Sicherheitslücken durch CVEs (Common Vulnerability Enumeration)
dokumentiert?
Projekt-Website,
cve.mitre.org
Gibt es kritische
Mängel?
Kritische Bugs oder kritische Sicherheitslöcher sind bekannt, für
derenTarget-Release es noch keineTerminaussage gibt bzw. der
Release-Termin länger als 2 Monate entfernt liegt bzw. die schön
länger als 4 Monate offen sind.
Projekt-Issue-Tracker,
Projekt-Website,
Antepedia.com
cve.mitre.org,
osvdb.org
Ist das Projekt tot oder
irrelevant?
Es existiert kein Eintrag für das Projekt auf Openhub. Es gab kein
Release in den vergangenen 12 Monaten. Es gab in den letzten 12
Monaten mehr als einen Monat ohne Commit.
openhub.net,
Projekt-Website,
mvnrepository.com
Wie stabil ist die
Entwickler-Community?
Das Projekt hat weniger als 3 aktive Committer. Das
Versionskontrollsystem ist öffentlich zugänglich.
openhub.net,
Projekt-Website
OpenSourceSecurityQuickCheck
Transpanenz!
Vorraussetzung für
Tools wie
Dependency Check
Eventuell fehlen
Sicherheitsfeatures
oder -tests
Indikator, wie lange
es dauert, bis
Sicherheitsproblem
e behoben werden
Werden
Schwachstellen
noch behoben?
mvn versions:display-dependency-updates
38
[INFO] The following dependencies in Dependencies have newer versions:
[INFO] com.sun.faces:jsf-api ......................................... 2.1.10 -> 2.2.12
[INFO] com.sun.jersey:jersey-client ..................................... 1.9.1 -> 1.19
[INFO] commons-fileupload:commons-fileupload ........................... 1.2.1 -> 1.3.1
[INFO] org.apache.httpcomponents:httpclient ............................ 4.2.1 -> 4.5.1
[INFO] org.apache.solr:solr-core ....................................... 4.6.1 -> 5.3.1
QAware
39
mvn org.owasp:dependency-check-maven:check
QAware
49 scanned dependencies
6 vulnerable dependencies
8 found vulnerabilities
40
mvn org.owasp:dependency-check-maven:check
QAware
100% Sicherheit gibt es nicht!
Geeignete Maßnahmen auf
allen Ebenen der Architektur
können die Sicherheit eines
Systems deutlich erhöhen.
QAware GmbH München
Aschauer Straße 32
81549 München
Tel.: +49 (0) 89 23 23 15 – 0
Fax: +49 (0) 89 23 23 15 – 129 github.com/qaware
linkedin.com/qaware slideshare.net/qaware
twitter.com/qaware xing.com/qaware
youtube.com/qawaregmbh

Weitere ähnliche Inhalte

Was ist angesagt?

Konsep Dasar Program Pembelajaran Individual
Konsep Dasar Program Pembelajaran IndividualKonsep Dasar Program Pembelajaran Individual
Konsep Dasar Program Pembelajaran IndividualPENDIDIKANADALAHPENT
 
Ceph RBD Update - June 2021
Ceph RBD Update - June 2021Ceph RBD Update - June 2021
Ceph RBD Update - June 2021Ceph Community
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionKaran Singh
 
Disk health prediction for Ceph
Disk health prediction for CephDisk health prediction for Ceph
Disk health prediction for CephCeph Community
 
VMware virtual SAN 6 overview
VMware virtual SAN 6 overviewVMware virtual SAN 6 overview
VMware virtual SAN 6 overviewsolarisyougood
 
Standards For Java Coding
Standards For Java CodingStandards For Java Coding
Standards For Java CodingRahul Bhutkar
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Community
 
ppt-projek-penguatan-profil-pelajar-pancasila-p5.pptx
ppt-projek-penguatan-profil-pelajar-pancasila-p5.pptxppt-projek-penguatan-profil-pelajar-pancasila-p5.pptx
ppt-projek-penguatan-profil-pelajar-pancasila-p5.pptxristina12
 
Red hat ceph storage customer presentation
Red hat ceph storage customer presentationRed hat ceph storage customer presentation
Red hat ceph storage customer presentationRodrigo Missiaggia
 
Getting Started with Azure Artifacts
Getting Started with Azure ArtifactsGetting Started with Azure Artifacts
Getting Started with Azure ArtifactsCallon Campbell
 
Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephScyllaDB
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephSage Weil
 
Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits ScyllaDB
 
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep DiveMongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep DiveMongoDB
 
Ceph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsCeph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsKaran Singh
 
Ppt bast practice
Ppt bast practicePpt bast practice
Ppt bast practiceDesty Erni
 

Was ist angesagt? (16)

Konsep Dasar Program Pembelajaran Individual
Konsep Dasar Program Pembelajaran IndividualKonsep Dasar Program Pembelajaran Individual
Konsep Dasar Program Pembelajaran Individual
 
Ceph RBD Update - June 2021
Ceph RBD Update - June 2021Ceph RBD Update - June 2021
Ceph RBD Update - June 2021
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 
Disk health prediction for Ceph
Disk health prediction for CephDisk health prediction for Ceph
Disk health prediction for Ceph
 
VMware virtual SAN 6 overview
VMware virtual SAN 6 overviewVMware virtual SAN 6 overview
VMware virtual SAN 6 overview
 
Standards For Java Coding
Standards For Java CodingStandards For Java Coding
Standards For Java Coding
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOcean
 
ppt-projek-penguatan-profil-pelajar-pancasila-p5.pptx
ppt-projek-penguatan-profil-pelajar-pancasila-p5.pptxppt-projek-penguatan-profil-pelajar-pancasila-p5.pptx
ppt-projek-penguatan-profil-pelajar-pancasila-p5.pptx
 
Red hat ceph storage customer presentation
Red hat ceph storage customer presentationRed hat ceph storage customer presentation
Red hat ceph storage customer presentation
 
Getting Started with Azure Artifacts
Getting Started with Azure ArtifactsGetting Started with Azure Artifacts
Getting Started with Azure Artifacts
 
Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for Ceph
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 
Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits
 
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep DiveMongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
 
Ceph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsCeph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion Objects
 
Ppt bast practice
Ppt bast practicePpt bast practice
Ppt bast practice
 

Ähnlich wie Das kleine Einmaleins der sicheren Architektur

Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenQAware GmbH
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtBATbern
 
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!Carsten Cordes
 
Holistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte SystemeHolistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte SystemeQAware GmbH
 
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse QAware GmbH
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDNUG e.V.
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Proaktive Sicherheit durch Threat Modeling
Proaktive Sicherheit durch Threat ModelingProaktive Sicherheit durch Threat Modeling
Proaktive Sicherheit durch Threat ModelingPhilippe A. R. Schaeffer
 
Webinar: Online Security
Webinar: Online SecurityWebinar: Online Security
Webinar: Online Securitykuehlhaus AG
 
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?QAware GmbH
 
Security Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httpreconSecurity Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httpreconMarc Ruef
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
 
Magento Application Security [DE]
Magento Application Security [DE]Magento Application Security [DE]
Magento Application Security [DE]Anna Völkl
 
Sicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-AnwendungenSicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-AnwendungenPhilipp Burgmer
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...Aberla
 
IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!Carsten Cordes
 
Rahmenbedingungen mobile security
Rahmenbedingungen mobile securityRahmenbedingungen mobile security
Rahmenbedingungen mobile securityPeter Teufl
 

Ähnlich wie Das kleine Einmaleins der sicheren Architektur (20)

Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
 
Holistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte SystemeHolistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte Systeme
 
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdf
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Proaktive Sicherheit durch Threat Modeling
Proaktive Sicherheit durch Threat ModelingProaktive Sicherheit durch Threat Modeling
Proaktive Sicherheit durch Threat Modeling
 
Webinar: Online Security
Webinar: Online SecurityWebinar: Online Security
Webinar: Online Security
 
DevSecOps .pptx
DevSecOps .pptxDevSecOps .pptx
DevSecOps .pptx
 
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
 
Security Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httpreconSecurity Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httprecon
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
 
Magento Application Security [DE]
Magento Application Security [DE]Magento Application Security [DE]
Magento Application Security [DE]
 
Sicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-AnwendungenSicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-Anwendungen
 
CCPP
CCPPCCPP
CCPP
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 
IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!
 
Rahmenbedingungen mobile security
Rahmenbedingungen mobile securityRahmenbedingungen mobile security
Rahmenbedingungen mobile security
 

Mehr von QAware GmbH

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdfQAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzQAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureQAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPQAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 

Mehr von QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Das kleine Einmaleins der sicheren Architektur

  • 1. Mario-Leander Reimer mario-leander.reimer@qaware.de Das kleine Einmaleins der sicheren Architektur Heidelberg, 25. Oktober 2017 Dr. Simon Bäumler simon.baeumler@qaware.de
  • 2. Mario-Leander Reimer Cheftechnologe, QAware GmbH Kontakt Details Phone: +49 89 23 23 15 121 Mail: mario-leander.reimer@qaware.de Twitter: @LeanderReimer Github: https://github.com/lreimer 2 Developer && Architect 20+ Jahre Erfahrung #CloudNativeNerd Open Source Enthusiast QAware
  • 3. Dr. Simon Bäumler Sofwarearchitekt, QAware GmbH Kontakt Details Phone: +49 89 23 23 15 136 Mail: simon.baeumler@qaware.de 3 Secure Developer && Architect Fan of Microservices, Clouds and Security (of course!) 15+ Jahre Erfahrung QAware
  • 5. HACKERS REMOTELY KILL A JEEP ON THE HIGHWAY WITH ME IN IT! https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
  • 8. QAware 8 Mit Usability als wichtigste Eigenschaft eines Systems, wird Security häufig zu einer User Story unter vielen.
  • 9. QAware 9 Sichere Software Architektur und Entwicklung bedeutet Sicherheit von Tag 1 an. Immer wieder auf‘s Neue. Infrastructure Certificates Tokens Passwords SecurityTesting (DAST + SAST) FuzzTesting Secure Components Domain Driven Design Security Patterns Sicherheitsanforderungen Schutzbedarfsanalyse Angreifer-Analyse OWASPTop 10 Security Monitoring Dependencies Package Signing Container Security
  • 11. Softwarearchitekturen und Architektursichten. QAware 11 TI - ArchitekturT - ArchitekturA - Architektur Konzeptionelle Sicht Modulsicht Ausführungssicht Programmsicht Anforderungen Komponenten Schnittstellen Nachbarsysteme Anwendungsfälle Entitätenmodell Rechner Netzwerke Infrastruktur Produkte Bibliotheken Frameworks Technologien
  • 12. QAware 12 Die Sicherheitsarchitektur eines Systems sichert eine normale Architektur auf verschiedenen Ebenen. Anwendungs-Architektur Technische Architektur Sichere Anwendungs-Architektur Sichere Technische Architektur Sicherheits-Anforderungen Security Targets Externe Quellen: OWASPTop 10, BSI, PSA, Technische Infrastruktur Sichere Technische InfrastrukturSicherheits Architektur
  • 13. Die Sicherheitsarchitektur besteht aus abgesicherten Sicherheitskomponenten und Kommunikationskanälen. QAware 13 Komponente A Komponente B Kanal A-B Trust boundary (Abgesicherter) Kommunikationskanal Komponente Schnittstelle über einen Gatekeeper gesichert Ein System besteht aus Komponenten. Diese sind durch Kommunikationskanäle verbunden. Beispiele für Komponenten: Datacenter, VMs, Applikationsserver, Datenbanken, Softwaremodule, Browser, … Jede Komponente wird von jemanden bereitgestellt, der vertrauenswürdig oder nicht vertrauenswürdig ist. Jede Komponente hat eine definierte Sicherheit. Von unsicher bis sehr sicher: Wie gründlich muss der Gatekeeper sein: Vom Jedermanns-Recht bis zur Festung Jeder Kanal hat eine definierte Sicherheit (von sehr sicher bis unsicher): Wie robust ist der Kanal und das dabei verwendete Protokoll gegenüber den typischen Angriffen?
  • 14. QAware 14 Sicherheitskomponenten können Sicherheitsgruppen bilden mit harten Grenzkontrollen und laxer innerer Sicherheit. Komponente A Komponente B Komponente D Komponente C Strenge Sicherheit Schwache Sicherheit Keine Sicherheit Sicherheitsgruppe
  • 15. Entities Hat Attribute und eine Identität Kann andere Objekte enthalten Operiert auf enthaltene Objekte Value Objects Sind durch Wert definiert und immutable. Können andere VOs enthalten. Können als Attribute verwendet werden Definiert und prüft wichtige Constraints. Aggregate Root Kontrolliert den Zugriff von außerhalb Sorgt für die Konsistenz innerhalb der Boundary Zugriff erfolgt über Repositories Einige Konzepte des Domain Driven Design sorgen für ein robustes und sicheres Design. QAware 15 Store Kunde Name Alter Adresse 0..* Aggregate Boundary Aggregate Root Entity Value Objects
  • 17. QAware 17 Das interne Design einer Sicherheitskomponente wird durch die Sicherheitsanforderungen beeinflusst. Canonicalization Verlustlose Vereinfachung der Representation. Normalization Verlustbehaftete Vereinfachung der Representation. Sanitization Entfernen geschützter, unsinniger und schädlicher Datenwerte Stellt Datenhygiene sicher Validation Prüft, ob Daten einem erwarteten Muster entsprechen Typprüfung und Wertebereichsprüfung
  • 18. QAware 18 Sicherheit ist eine querschnittliche Anforderung. AOP- Interceptoren eignen sich perfekt für die Umsetzung. Interceptor + Binding annotations Sanitize parameters and continue Get annotation from method or it’s declaring class Activate in beans.xml
  • 19. Security Decorators erlauben die Umsetzung von Komponentenspezifischen Sicherheitsanforderungen. 19 Activate in beans.xml Inject the delegate instance Do any additional security check that my be required QAware
  • 20. Apply Design by Contract (DbC) to your gate keeper and security components using the method validation API. 20 Die Schnittstelle alsVertrag Pre- und Post-Conditions von Methoden mit javax.validation Annotationen. QAware
  • 21. Bei verteilten Systemen: Sichere die Kommunikationswege!
  • 22. Server 22 Kommunikationskanäle auf mehreren Ebenen absichern. Welches sind die logischen Endpunkte? Client Firewall Reverse Proxy Anwendung 1 Anwendung 2 HTTPS HTTP HTTP REST/JSON REST Security Layer Application Layer Sec. L. Fachliche Kommunikationskanäle gehen über mehrere technische Abschnitte. QAware
  • 23. Der Gatekeeper versteckt den Security Layer vor dem Business Code. 23 CMS-Format Standard, kann mit OpenSSL geprüft werden Payload-Type explizit angegeben Nicht raten, sondern wissen und dagegen prüfen Erst PayloadType prüfen: Passt das zur Erwartung? Dann Payload parsen: Ist das wirklich der angegebene Typ? Nonces: Für Freshness, gegen Replay Validierung: Verfügbare Prüfregeln im Security Layer verankert Beispiele: Enthält Nonce: Ja/Nein Client-ID ist gleich Common-Name des Signers Konkrete Definition erfolgt auf fachlicher Ebene CMS Signed Data Signature[s] Certificate[s] (optional) Secure Container DER Sequence Nonces Each: DER Octet String(16 octets) payloadType DER UTF8 String payload DER Octet String Client-ID Each: DER UTF8 String Message JSONDER Octet String, containing a
  • 24. Es gibt eine Reihe an technischen Bausteinen, die von einem Gatekeeper genutzt werden können. 24 Security Frameworks wie PicketLink, Shiro, HDIV, OWASP ESAPI bieten eine umfassende Sammlung an vorgefertigten Sicherheitsfunktionen zur Integration in Web-Anwendungen, wie: Authentifizierung und Single-Sign-On Autorisierung Kryptographie Session Management Abwehr von Angriffen gegen eingesetzte Frameworks (z.B. JSF) Edge Server undWeb Application Firewalls wie z.B. Zuul oder mod_security* schützen den HTTP-Kanal bereits bevor ein Request beim Server ankommt mit: Rate Limiting und Tarpits Autorisierung und Authentifizierung Abwehr klassischer Angriffe *) mod_security ist ein Plugin für den Apache Webserver. Es steht von OWASP ein Regelsatz für mod_security zur Verfügung: https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project QAware
  • 25. Impact Reduction: Falls etwas passiert müssen die Angriffe erkannt werden.
  • 26. 26 Häufig übersehen: Vorhandene Logs sind eine wertvolle Quelle, um Angriffe zu erkennen und zu analysieren. Logstash Kibana Zentrale Fragen: Was wird geloggt? (https://www.owasp.org/index.php/Logging_Cheat_Sheet) Wie werden die Logs eingesammelt und analysiert? Wie werden die Logs analysiert? (Kibana, …) Lassen sich Sicherheitsprobleme leicht erkennen? Eine vorgefertigte Kette zur Log-Analyse gibt es z.B. von OSSEC (http://www.ossec.net) Ziel: Angriffe schon während einer Ausspähungsphase erkennen und blocken: WAFs (Web Appication Firewalls) und IDS (Intrusion Detection Systeme) haben nur begrenzten Einblick Anwendungsinterna. Einfache und wichtige Informationsquelle zur Erkennung von Angriffen: Logs. Erlaubtes und unerlaubtes Verhalten kann besser mit dem fachlichen Kontext unterschieden werden. QAware
  • 27. Der AppSensor Ansatz: Instrumentierung der Anwendung mit logähnlichen Detection Points. Auswertung der gesammelten Daten auf dem AppSensor Server. Angriffserkennung kann damit weiter automatisiert werden. Rückkopplung zum System vorgesehen um z.B. Nutzerkonten von Angreifern zu sperren.  Automatischer Schutz bei identifizieren Angriffen Der OWASP AppSensor erlaubt die kontext-sensitive Erkennung und die Reaktion auf Angriffe. QAware 27
  • 28. QAware 28 Der AppSensor Server ist eine Infrastruktur-Komponente der Sicherheitsarchitektur. Component A Component B Component D Component C AppSensor Provisionierung der Komponenten mit Detection Points
  • 29. QAware 29 Der AppSensor Server ist eine Infrastruktur-Komponente der Sicherheitsarchitektur. Component A Component B Component D Component C AppSensor AppSensor Detection Points liefern Daten zum Nutzerverhalten
  • 30. QAware 30 Der AppSensor Server ist eine Infrastruktur-Komponente der Sicherheitsarchitektur. Component A Component B Component D Component C AppSensor Datenanalyse: Erkennung von Angriffsmustern anhand von Heuristiken
  • 31. QAware 31 Der AppSensor Server ist eine Infrastruktur-Komponente der Sicherheitsarchitektur. Component A Component B Component D Component C AppSensor Bei erkannten Angriffsversuchen: z.B. Sperrung des Benutzers / der Funktionalität
  • 32. AppSensor kennt 50 Typen von Detection Points. QAware 32 Zugriff auf Resourcen ohne Berechtigung Client-Seitige Input Validierung umgangen Unerwartetes Datenformat Verdächtiges Login Verhalten Angriffsversuch erkannt Automatisierter Applicationsscan erkannt
  • 33. Weniger als 10% der Bytecode Instruktionen moderner JEE Applikationen sind eigener Code!
  • 34. Ungefähr 26% der von Maven Central heruntergeladenen Bibliotheken beinhalten bekannte Schwachstellen! https://www.owasp.org/index.php/OWASP_AppSec_DC_2012/The_Unfortunate_Reality_of_Insecure_Libraries
  • 35. 35 OWASP Top 10 2017 A9 should be in the Top 3! QAware
  • 36. Der sichere Einsatz von Open Source Komponenten ist ein wichtiger Bestandteil der Applikationssicherheit QAware 36 Wie kann eine Applikation gegen Schwachstellen in Open Source Software geschützt werden? Option a) Keine Open Sourcesoftware einsetzen!  Nicht realistisch! Option b) Klare Guidelines zum sicheren Einsatz von Open Source Software. Analyse von Sicherheitseigenschaften der Bibliotheken schon beim Auswählen der Bibliotheken. Berücksichtigung von Schwachstellen bei der Auswahl der eingesetzten Version. Beobachten von neuen Schwachtellen, die während des Projektlebenszyklus entstehen können. Hier helfen öffentliche Datenbanken (CVE, NVD) und die Projektseiten. Einbau von security decorators, um unsichere oder unbenutzte Funktionalität der Software abzusichern oder zu deaktivieren.
  • 37. QAware 37 Das Sicherheitslevel von Open Source Komponenten kann anhand von klaren Kriterien entschieden werden. Frage Alarmglocke Quelle Wie reif ist die Software? Es gibt kein Final-Release. Das aktuelle Release hat eine Versionsnummer unterhalb 1.0. Das Codevolumen im Projekt steigt stark an. Das Projekt existiert seit weniger als einem Jahr. Projekt-Website, mvnrepository.com, antepedia.com Steht ein Maven-Artefakt zur Verfügung? Es ist kein offizielles Artefakt veröffentlicht. Maven-Artefakt sind in nicht vertrauenswürdigen Repositories veröffentlicht. Projekt-Website, mvnrepository.com Wie gut ist die Dokumentation? Keine API-Dokumentation. Kein Releasenotes. Werden Sicherheitslücken durch CVEs (Common Vulnerability Enumeration) dokumentiert? Projekt-Website, cve.mitre.org Gibt es kritische Mängel? Kritische Bugs oder kritische Sicherheitslöcher sind bekannt, für derenTarget-Release es noch keineTerminaussage gibt bzw. der Release-Termin länger als 2 Monate entfernt liegt bzw. die schön länger als 4 Monate offen sind. Projekt-Issue-Tracker, Projekt-Website, Antepedia.com cve.mitre.org, osvdb.org Ist das Projekt tot oder irrelevant? Es existiert kein Eintrag für das Projekt auf Openhub. Es gab kein Release in den vergangenen 12 Monaten. Es gab in den letzten 12 Monaten mehr als einen Monat ohne Commit. openhub.net, Projekt-Website, mvnrepository.com Wie stabil ist die Entwickler-Community? Das Projekt hat weniger als 3 aktive Committer. Das Versionskontrollsystem ist öffentlich zugänglich. openhub.net, Projekt-Website OpenSourceSecurityQuickCheck Transpanenz! Vorraussetzung für Tools wie Dependency Check Eventuell fehlen Sicherheitsfeatures oder -tests Indikator, wie lange es dauert, bis Sicherheitsproblem e behoben werden Werden Schwachstellen noch behoben?
  • 38. mvn versions:display-dependency-updates 38 [INFO] The following dependencies in Dependencies have newer versions: [INFO] com.sun.faces:jsf-api ......................................... 2.1.10 -> 2.2.12 [INFO] com.sun.jersey:jersey-client ..................................... 1.9.1 -> 1.19 [INFO] commons-fileupload:commons-fileupload ........................... 1.2.1 -> 1.3.1 [INFO] org.apache.httpcomponents:httpclient ............................ 4.2.1 -> 4.5.1 [INFO] org.apache.solr:solr-core ....................................... 4.6.1 -> 5.3.1 QAware
  • 39. 39 mvn org.owasp:dependency-check-maven:check QAware 49 scanned dependencies 6 vulnerable dependencies 8 found vulnerabilities
  • 41. 100% Sicherheit gibt es nicht!
  • 42. Geeignete Maßnahmen auf allen Ebenen der Architektur können die Sicherheit eines Systems deutlich erhöhen.
  • 43.
  • 44. QAware GmbH München Aschauer Straße 32 81549 München Tel.: +49 (0) 89 23 23 15 – 0 Fax: +49 (0) 89 23 23 15 – 129 github.com/qaware linkedin.com/qaware slideshare.net/qaware twitter.com/qaware xing.com/qaware youtube.com/qawaregmbh