Security by Design: Security Engineering informationstechnischer Systeme

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Der Softwareingenieur von heute muss die grundlegende Disziplin der Entwicklung sicherer informationstechnischer Systeme verstehen. Nicht, weil es eine ein „gute Idee“ ist, sondern weil unsere Arbeits- und Lebenswelten zunehmend auf die Funktionsfähigkeit und die Sicherheit hochkomplexer und dynamischer informationstechnischer Infrastrukturen angewiesen sind. Die Vorstellung, dass die Sicherheit informationstechnischer Systeme etwas Besonderes ist, ist ein Trugschluss. Tatsächlich ist Sicherheit nur ein Aspekt der Zuverlässigkeit. Wir können keine zuverlässigen Anwendungen und Systeme haben, wenn diese nicht sicher sind.

Vor diesem Hintergrund gehen die Autoren der Frage nach, ob und in welchem Ausmaß die mit dem Einsatz der Artefakte der digitalen Revolution einhergehenden Risiken beherrschbar bleiben, und welche Möglichkeiten wir bereits heute haben, die Eindämmung von Risiken und Gefahren schon beim Entwurf informationstechnischer Systeme zu berücksichtigen. Die Antwort ist ein systematischer praxis- und modellbasierter Ansatz für das Security-Engineering von Informationssystemen.

Author(s): Armin Lunkeit, Wolf Zimmer
Edition: 1
Publisher: Springer Vieweg
Year: 2021

Language: German
Pages: 434
Tags: Security by Design; Security Engineering;

Vorwort
Inhaltsverzeichnis
Abkürzungen
Kapitel 1 Was ist das Problem?
1.1 Dimension
1.2 Vertrauen
1.3 Komplexität
1.4 Struktur des Cyber-Raums
1.5 Asymmetrie der Cyber-Sicherheit
1.6 Technologische Abhängigkeiten
1.7 Missverständnisse
1.8 Nutzer
1.9 Analyse-Placebo
1.10 Murphy’s Gesetz
Literaturverzeichnis
Kapitel 2 Zum Stand der Dinge
2.1 Hardwaresicherheit
2.2 Das Betriebssystem
2.3 Tatort Software
2.4 Sicherheitsstrategien
2.4.1 Zugriffe kontrollieren
2.4.2 Privilegien minimieren
2.4.3 Informationsfluss kontrollieren
2.4.3.1 Paketfilter
2.4.3.2 Anwendungs-Gateways
2.4.3.3 Verbindungs-Gateways
2.4.3.4 Unified Threat Management
2.4.3.5 Sicherheits-Proxy
2.4.4 Systemhärtung
2.4.5 Was noch offen ist
2.4.5.1 Vulnerability Management
2.4.5.2 Sichere Updates
2.4.5.3 Eingabedaten validieren
2.4.5.4 Vertraulichkeit wahren
2.4.5.5 Verantwortlichkeiten aufteilen
2.5 Hoffen auf KI
2.6 IT-Sicherheit in der Industrie 4.0
2.7 Das schwächste Glied
Literaturverzeichnis
Kapitel 3 Security Engineering ist Systems Engineering
3.1 Der Lebenszyklus technischer Systeme
3.2 Ideen und Konzepte des Security Engineerings
3.2.1 Die CIA Triade
3.2.2 Ein konzeptionelles Koordinatensystem
3.3 Security Engineering im Systemlebenszyklus
3.3.1 Security Engineering in der Konzeptionsphase
3.3.2 Security Engineering in der Entwicklungsphase
3.3.3 Security Engineering in der Bereitstellung
3.3.4 Security Engineering für den Betrieb
3.3.5 Security Engineering für Wartung und Support
3.3.6 Security Engineering in der Außerbetriebnahme
3.3.7 Iteratives Security Engineering
Literaturverzeichnis
Kapitel 4 Modell-basiertes Design
4.1 Am Anfang steht ein Konzept
4.2 Die Funktion von Modellen im Systems Engineering
4.3 Modellierung informationstechnischer Systeme
4.3.1 Strukturmodelle
4.3.2 Verhaltensmodelle
4.3.3 Petri-Netze
4.4 Modellierung von Bedrohungen – Threat Modeling
4.4.1 Modellierung von Bedrohungen mit BPMN
4.4.2 Misuse Cases
4.4.3 Datenfluss-Diagramme
4.4.4 Angriffsbäume – Attack Trees
4.4.5 Angriffs-Graphen – Attack Graphs
4.4.6 PASTA - Risiko-orientierte Bedrohungsmodellierung
4.4.7 CORAS – Modell-basierte Risikomodellierung
4.4.8 ATT&CK
Literaturverzeichnis
Kapitel 5 Die SmartFit AG
5.1 Die Geschäftsidee
5.2 Worum geht es?
5.3 Anwendungsfälle
5.3.1 Anwendungsfälle des SmartFit Health Produkts
5.4 Systemstruktur
5.5 Sicherheitsprobleme verstehen und analysieren
5.5.1 Sicherheitsproblem und Lebenszyklus
5.5.2 Die Beschreibung des Sicherheitsproblems
5.5.2.1 Systembeschreibung
5.5.2.2 Akteure
5.5.2.3 Werte
5.5.2.4 Annahmen
5.5.2.5 Bedrohungen
5.5.2.6 Organisatorische Sicherheitsmaßnahmen
5.5.3 Die Werte der SmartFit AG
5.5.4 Angreifer und Bedrohungen
5.5.5 Annahmen und Abhängigkeiten
5.5.5.1 Der Zufallszahlengenerator in Windows 2000 und Windows XP
5.5.5.2 Java und die Implementierung von SecureRandom
5.6 Das Teilsystem Smart Watch
5.6.1 Die Angreifercharakterisierung
5.6.2 Betroffene Werte
5.6.3 Annahmen
5.6.4 Bedrohungsszenarien
5.6.4.1 Bedrohungsszenario S1: Auslesen gespeicherter Daten
5.6.4.2 Bedrohungsszenario S2: Hardware-Manipulation
5.6.4.3 Bedrohungsszenario S3: Protokollmanipulationen
5.6.4.4 Bedrohungsszenario S4: Firmware-Manipulation
5.6.5 Schadenspotential
5.7 Das Verhältnis zwischen Sicherheitsproblem und Sicherheitszielen
5.7.1 Sicherheitsziele des Systems und der Systemumgebung
5.7.2 Die Disposition der Verantwortung
5.8 Anforderungen und Systems Engineering
5.9 Die Charakteristik von Sicherheitsanforderungen
5.9.1 Modellierung von Sicherheitsanforderungen
5.9.1.1 UML und SysML
5.9.1.2 Modellierung mit CORAS
5.9.1.3 Threat Modeling nach Shostack
5.9.1.4 Funktionale Sicherheitsanforderungen der Common Criteria
5.9.2 Integration in den Entwicklungsprozess
5.10 SmartFit Health und Sicherheitsanforderungen
5.11 Exemplarische Sicherheitsanforderungen an die Smart Watch
5.11.1 Physischer Schutz
5.11.1.1 Erkennen von Manipulationsversuchen
5.11.1.2 Erschweren von Angriffen
5.11.1.3 Angriffsflächen gering halten
5.11.2 Schutz der Schnittstellen
5.11.2.1 Schutz der Benutzerschnittstelle
5.11.2.2 Schnittstelle GPS-Signal
5.11.2.3 Schnittstelle zum Mobiltelefon
5.11.3 Erweiterung der Sicherheitsstrategie
5.11.3.1 Schutz lokal gespeicherter Daten
5.11.3.2 Software-Updates
5.11.3.3 Selbsttest
5.11.3.4 Statische und dynamische Verschlüsselung
5.12 Schlussbemerkungen
Literaturverzeichnis
Kapitel 6 Fragile Kryptografie
6.1 Kryptografie und sichere Systeme
6.1.1 Plattformintegrität
6.1.2 Authentische und vertrauliche Kommunikation in Netzen
6.1.3 Authentizität elektronischer Daten
6.2 Normen und Richtlinien
6.2.1 Common Criteria Schutzprofile
6.2.2 Technische Richtlinien des BSI
6.2.3 Request for Comments (RFCs)
6.2.4 ETSI
6.2.5 National Institute of Standards and Technology – NIST
6.3 Kryptografie und Systemdesign
6.3.1 Schnittstellen
6.3.2 Einbindung von Bibliotheken
6.3.3 Bibliotheken und Sicherheit
6.4 Krypto-Agilität
6.5 Fehlerhafte Nutzung
6.5.1 Private Schlüssel in Firmware
6.5.2 Private Schlüssel in Log-Daten
6.5.3 Zertifikatsprüfung
6.5.4 Krypto-Downgrade
6.5.5 Kryptografische Geheimnisse
6.5.6 Organisatorisches Versagen
6.6 Sicherheit und Kryptografie
Literaturverzeichnis
Kapitel 7 Verifikation und Validierung
7.1 Sicherheitsschulden - Security Debts
7.2 Security Requirements Engineering
7.3 Die Spezifikation von Software
7.3.1 Was ist eine Spezifikation?
7.3.2 Warum spezifizieren?
7.3.3 Was spezifizieren?
7.3.4 Wann spezifizieren?
7.3.5 Wie spezifizieren?
7.3.5.1 Spezifikationsstil
7.3.5.2 Der Grad der Formalisierung
7.4 Software-Verifikation – Doing it right
7.4.1 Code Reviews
7.4.2 Model-Checking
7.4.3 Symbolische Programmausführung
7.5 Software - Validierung – Doing the right thing
7.5.1 Validierung der Spezifikation
7.5.2 Validierung des Designs
7.5.3 Validierung des Produkts durch Tests
7.5.3.1 Terminologische Klarstellungen
7.5.3.2 Spezifikationsbasiertes Testen
7.5.3.3 Modellbasiertes Testen
7.5.3.4 Codebasierte Tests
7.5.4 Sicherheitstests
7.5.4.1 Risiken erkennen und bewerten
7.5.4.2 Fehlerbasiertes Testen
7.5.4.3 Modellbasierte Sicherheitstests
7.5.4.4 Risikobasierte Sicherheitstests
7.5.4.5 Testverfahren
7.5.5 Evaluierung der IT-Sicherheit
7.5.5.1 EU Cybersecurity Act
7.5.5.2 ISO/IEC 270xx und IT-Grundschutz
7.5.5.3 Common Criteria
7.5.5.4 FIPS 140-2
Literaturverzeichnis
Kapitel 8 Die Vermessung der (Un-)Sicherheit
8.1 Placebo-Analyse mit Risikomatrizen
8.2 Statistik mit Microsoft Excel
8.3 Bedingte Wahrscheinlichkeiten
8.4 Schlussfolgern mit Bayes
8.5 Bayes’sche Netze
8.6 Entscheidungsbäume
Literaturverzeichnis
Epilog
Stichwortverzeichnis