8 Flashcards
An welchen Stellen kann die Sicherheit von Software verloren gehen?
Architektur
• Das (grobe) Design des Software-Systems.
Implementierung
• Die Umsetzung der Architektur in Quellcode.
Betrieb
• Die produktive Nutzung und die Konfiguration des Systems.
False or True?
Schwachstellen im früheren Stadium vermehren die Effekte von
Problemen in den späteren Stadien.
True
Nenne Bsp. wo Sicherheit verloren geht
• Ohne gute Sicherheitsarchitektur, können Implementierungsfehler ernste
Konsequenzen haben.
• Vorhandene Implementierungsfehler machen es möglich, dass unsichere
Konfigurationen während des Betriebs zu höheren Rechten führen (privilege
escalation).
Ohne ein stabiles Fundament sind alle weiteren
Sicherheitsmaßnahmen…
(Beende Satz)
… zum Scheitern verurteilt.
Was ist eine Sicherheitsarchitektur?
• A body of high-level design principles and decisions that allow a programmer
to say “Yes” with confidence and “No” with certainty.
• A framework for secure design, which embodies the classic stages of
information security:
prevent, detect, recover (…react)
Wie lässt sich Sicherheit messen?
als Fähigkeit der Architektur,
unberechtigter Nutzung zu widerstehen.
Side Info:
Gleichzeitig müssen die Services aber den legitimen Nutzern zur Verfügung
stehen
Was sind die 8 Designgrundsätzen nach Saltzer und Schroeder
Economy of Mechanism
• Reduktion von Komplexität
- Sicherheitsmaßnahmen so einfach wie möglich
Fail-safe defaults
• Verwendung von sicheren Standardeinstellungen
- Sichere Startkonfiguartion und einfache (Neu-)Konfigaration
- ALLOW Zugang gewährt, wenn nicht explizit verboten
- DENY Zugang nur gewährt, wenn explizit erlaubt
Complete mediation
• vollständige Zugriffskontrolle
Open design
• nicht darauf zu vertrauen, dass die Funktion von Sicherheitsmechanismen nicht bekannt wird
- Design soll nicht geheim sein
- Sicherheitsmechanismen bekannt
- Sicherheit hängt von wenigen kurzen Token ab (Schlüssel, Passwörter)
Separation of privilege
• Aufteilung von Zugriffsprivilegien
Least privilege • Reduktion auf die unbedingt notwendigen Zugriffsprivilegien - minimierung Zugriffsrechte - minimierung Interaktion zw. Programmen - minimierung möglichen Schadens
Least common mechanism
• Verzicht auf die gemeinsame Verwendung von Sicherheitsmechanismen für unterschiedliche Aufgaben
- Reduziere potenziell gefährliche Informationsflüsse.
- Reduziere mögliche Interaktionen.
Psychological acceptability
• psychologischen Akzeptanz von Sicherheitsmechanismen
- Sicherheitsmaßnahmen leicht durchführbar
- vermeide ZU viele Warnungen
Nenne Bsp zu allen Designgrundsätzen
Economy of Mechanism
Fail-safe defaults (Bsp für sichere Startkonfiguration)
• Keine Default-Passwörter.
• Keine Beispielbenutzer.
• Dateien sind schreibgeschützt und gehören root/admin.
• Fehlermeldungen:
• Sind sehr allgemein.
• Zusatzinformationen finden sich in Log-Files
(mehr später).
Complete mediation
- nuclear missle launch software
- fire door lock control software
Open design
Separation of privilege
- Abschuss von Atomwaffen benötigt zwei Personen
Bankschließfach
Least privilege
Least common mechanism
• “Race conditions” (ungeregelter, paralleler Zugriff).
• Vermeide temporäre Dateien in globalen Directories.
Psychological acceptability
- Biometrische Scanner statt Passwörtern
Was sind die SDL Grundsätze
Secure by Design
• Angriffstoleranz des Systems um Nutzer und Informationen zu schützen
Secure by Default • Sichere Standardeinstellungen • Greift Saltzer & Schroeder auf • Minimale Rechtevergabe • Erlaubnisprinzip
Secure in Deployment
• Sichere Auslieferung
• Bereitstellen von Anleitungen und Werkzeugen zur Unterstützung des sicheren Einsatzes beim Anwender
Nenne die SDL Entwicklungsphasen und deren” Aufgaben”
Requirement
• Security Design
• Best Practices
Design
• Security Architecture
• Threat Modelling
Implementation
• Security Development Tool
• Security Best Practices
• Development &Test Tool
Verification
• Security Push
• Pen-Testing
Release
• Final Security Review
Support
• Security Servicing
• Security Response
Was ist die STRIDE?
SDL Bedrohungsanalyse
STRIDE ausgeschrieben
Spoofing Identity, Tampering with Data, Repudiation Information Disclosure Denial of Service Elevation of Privilege
Was passiert in der STRIDE?
Angriffe dieser Risikoklassen werden analysiert, bewertet und
Abwehrmaßnahmen eingesetzt (->Best-Practices)
• Tampering: Schutz vor mutwilligem verändern von persistierten Daten
(z.B. Logs) -> Integrität
• Repudiation: z.B. nicht durchgeführte Bestellungen
• Information Disclosure: Weitergabe von Informationen (Client, Server)
• Elevation of Privilege: Buffer Overflow, SQL Injection
Beschreibung und Abwehrmaßnahmen von Spoofing Identity
Beschreibung:
Angreifer täuscht falsche Identität vor.
-> Falsche Client Identität
-> Falsche Server Identität
Abwehrmaßnahmen:
Starke Authentifizierung, z.B. mit Hilfe
von Kryptografie und Mehr-Faktoren
Authentifizierung
Beschreibung und Abwehrmaßnahmen von Tampering with Data
Beschreibung:
Ein Angreifer manipuliert Daten.
-> Manipulieren von persistenten Daten.
-> Manipulieren von Netzwerk-Paketen.
Abwehrmaßnahmen:
Hash Codes, Digitale Signaturen,
Verschlüsselung, Einsatz entsprechender
Netzwerk-Protokolle