Designprinzipien für sichere Systeme - KA-IT-Si

Designprinzipien sicherer Systeme
Defense in Depth,
Least Privilege,
Design for Evil,
Attack Surface Reduction,
Security through Diversity,
…
Dr. Peer Wichmann
IT-Sicherheitsbeauftragter
WIBU-SYSTEMS AG
Designprinzipien sichere Systeme
Defense in Depth, Least Privilege, …
Inhalt
 Buzzword Bingo
 Gründe pro / contra Defense in Depth
 Warum man es nicht macht oder machen sollte
 Warum man es dennoch tun sollte
 Vorgehensweise
 Einzelmechanismen
 Literatur
Buzzword Bingo
Buzzword Bingo
 Defense in Depth
 Awareness
 Multilevel Security
 Bedrohungsanalyse
 Multilateral Security
 Attack Surface Reduction
 Least Privilege
 Design for Evil
 Security through Diversity
 St. Florians Prinzip
Defence in Depth
Pro und Contra
Contra
 Wir machen die Sicherheit erst am Schluss …
 Wir haben Mechanismen, die die Anforderungen abdecken korrekt
implementiert …
 Wir sind kein Ziel …
 Time-to-Market
 Features bringen Geld, Sicherheit kostet Geld
 Wir haben kein Geld / keine Zeit dafür …
 St. Florian ist unser guter Freund …
 Uns ist noch nie etwas passiert …
Pro
 Es gibt keine unwichtige Daten / Anwendungen
 Angriffe nehmen selten den erwarteten Weg
 Es gibt später immer Änderungen
 Implementierte Mechanismen haben manchmal Fehler
 Unterliegende Systeme haben Fehler
 Es können relativ einfach Sicherheitszusagen getroffen werden
 Es gibt eine weitere Verteidigungslinie
 Es gibt noch eine weitere Verteidigungslinie
 …
Vorgehensweise
Vorgehensweise I
 Entwicklungsprozesse haben vier gemeinsame Phasen
 Anforderungen
 Design
 Implementierung
 Tests
 Wo sollte man am besten die Sicherheitsaspekte betrachten?
Überall!
Vorgehensweise II
 Awareness schaffen
 Awareness im Management
 Awareness in der Entwicklung
 Awareness der Tester
 Awareness der Anwender
 Sicherheitsanforderungen aufstellen (Security Targets)
 Herstellersicht
 Betreibersicht
 Anwendersicht
Vorgehensweise III
 Awareness schaffen
 Bedrohungsanalyse
 Was passiert wenn
 Awareness schaffen
Vorgehensweise IV
 Sicherheitsmechanismen definieren
 Was wäre, wenn dieser Mechanismus komplett versagt?
 Schrittweise neue Schwellen einführen
 Unterschiedliche Hürden sind unterschiedlich robust
 Systemnahe Hürden sind oft robuster aber weniger feingranular
 Verteidigung gegen Angreifer von innen
 Nicht darauf einlassen:
„Dafür haben wir doch schon einen Mechanismus“
Einzelmechanismen
Awareness
 Ohne Security Awareness werden alle Beteiligten leichtinnig, so dass sie
jedes Sicherheitssystem ad Absurdum führen
 Auf allen Ebenen muss Awareness vorhanden sein
 Geschäftsleitung
 Projektleitung
 Entwickler
 Tester
 Zum üben und spielen: OWASP WebGoat
Bedrohungsanalyse
 Ohne korrekte Bedrohungsanalyse keine Verteidigung
 Was sind meine zu schützenden Werte
 Eigene Methodik zur Bedrohungsanalyse
 Ideenquelle: Grundschutzhandbuch des BSI
Design for Evil
 Alle sind böse
 Hacker sind böse, Benutzer sind böser, Mitarbeiter sind die bösesten
 Alle versuchen den einfachsten Weg zu gehen
 Social Engineering
 Umgehen von Regeln
 Schlimmer als Bösartigkeit:
 Gleichgültigkeit
 Dämlichkeit
 Fehlende Awareness
Attack Surface Reduction
 Entfernen unnötiger Scripte (PHP)
 Abschalten unnötiger Services (Telnet, FTP, …)
 Entfernen unnötiger Benutzerkonten (DB, Unix)
 Blockieren unnötiger Ports in der Firewall
 Segmentieren durch Firewall
 Changeroot
 Minimale Datenspeicherung
 Verschlüsselung von Daten
Least Privilege
 Keine unnötigen Benutzerrechte
 Webserver ohne Privilegien
 Datenbankbenutzer des Webserver mit minimalen Privilegien
 Nicht: Darf der das, muss ich das verhindern (Blacklist)?
 Sondern: Muss und braucht der das (Whitelist)?
 Changeroot
 „Stored Procedures“ in Datenbanken helfen Benutzerrechte zu reduzieren
Netzwerksegmentierung
 Aufteilen in unterschiedliche Vertrauensbereiche
 Kontrollierte Übergänge
 Verringerung der Angriffsfläche an unterschiedlichen Stellen
Benutzerauthentisierung
 Alle Benutzer authentisieren
 Starke Mechanismen verwenden
 Kryptographie ist oft robuster als Passworte
 Systemmechanismen oft robuster als Eigenimplementierung
 Mehrere Faktoren
 Wissen (Passwort)
 Besitz (Token)
 Eigenschaft (Biometrie)
 Interessenabwägung!
Prüfung von Benutzereigaben
 Niemals ungeprüfte Benutzereingaben verwenden
 Niemals gegen eine Blacklist prüfen
 Immer Whitelisting verwenden
 Prüfung immer serverseitig
 Clientseitige Prüfungen nur als Comfortfunktion
 XSS – Cross-Site-Scripting
 SQL-Injection
 Shell Escape
Security by Default
 Benutzer verändern keine Voreinstellungen!
 Standardeinstellungen müssen gut überlegt sein
 Zu restringente Einstellungen: Benutzer werden überfordert
 Zu simple Einstellungen: Unsichere Defaults werden beibehalten
Kryptographie
 Sichere und verlässliche Mechanismen
 Kein „Kryptographie um jeden Preis“
 Einsatz mit Sinn, Verstand und Augenmaß
 Verschlüsselte Protokolle
 HTTPS
 SSH
 Spielwiese: CrypTool
 https://www.cryptool.org/de/
 Beispiele und Schulungen
Security through Diversity
 Gleiche Anforderungen durch unterschiedliche Mechanismen
 Unterschiedliche Firewalls
 Unterschiedliche Betriebssysteme
 Unterschiedliche Zuständigkeiten
 Dadurch sollen gleiche Fehler an mehreren Stellen vermieden werden
Defense in Depth
Einstellung bzw. Denkweise
 Sicherheit ist nie lokal an einer Stelle vorhanden
 Sicherheit muss immer raumfüllend sein
 Erfahrung und destruktives Denken sind gefragt
 Kriminelle Energie ist hier gut aufgehoben
Literatur
Literatur
 Peter Gutmann: Enigeering Security
 https://www.cs.auckland.ac.nz/~pgut001/pubs/book.pdf
 Ross Anderson: Security Engineering
 http://www.cl.cam.ac.uk/~rja14/book.html
 Ross Anderson: Why Cryptosystems fail
 http://www.cl.cam.ac.uk/~rja14/Papers/wcf.pdf
 OWASP WebGoat
 https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project
 BSI Grundschutzhandbuch
 https://www.bsi.bund.de/DE/Themen/ITGrundschutz/itgrundschutz_node.html
 Clifford Stoll: Das Kukuksei
 http://pdf.textfiles.com/academics/wilyhacker.pdf
[email protected]
Deutschland: +49-721-931720
USA:
+1-425-7756900
China:
+86-21-55661790
http://www.wibu.com
[email protected]