Guild42 - Software Sicherheit

Werbung
Wie steht es um die Sicherheit in Software?
Einführung
 Sicherheit in heutigen Softwareprodukten
 Typische Fehler in Software
 Übersicht OWASP Top 10 Kategorien
Praktischer Teil – Hacking Demo
 Einblick in die wichtigsten Schwachstellen - Live Hacking
 Code Beispiele der wichtigsten Schwachstellen
Massnahmen zur Förderung der Sicherheit
 Secure Development
 Perimeter Sicherheit
Protect7 ist spezialisiert auf Sicherheitsanalysen, Beratung für die
Absicherung von Applikationen, sowie sicheres Software-Engineering.
Was sind sichere Applikationen?
«Sichere Software ist Software, die trotz absichtlichen Angriffen einwandfrei
funktioniert und die Daten schützt»
Sicherheitsvorfälle und Trends
Quelle: IBM Internet Security Systems X-Force® 2012 Trend und Risk Report
Quelle: IBM Internet Security Systems X-Force® 2012 Trend und Risk Report
Lockheed USAF F22
China’s J20
Zunahme der Schwachstellen, auf (Web-)Applikationen und andere Bereiche
(ohne Custom-Applikationen). Im Schnitt 150 neue Schwachstellen pro Woche.
Quelle: IBM Internet Security Systems X-Force® 2012 Trend und Risk Report
Die meisten Applikationen, welche gegen die OWASP Top 10 geprüft werden,
bestehen die Prüfung nicht
Viele der Applikationen fallen auch im zweiten Versuch durch
Quelle: Veracode
Typische Fehler
Warum Softwareprodukte heute häufig nicht sicher sind, sind vielschichtig.
Hier die wichtigsten Gründe zusammengefasst.
Business/Auftraggeber




Keine konkreten Sicherheitsanforderungen vom Business (die Software muss
einfach sicher sein)
Kein Risikomanagement
Sicherheit ist eine «Nicht funktionale Anforderung»
Blindes vertrauen/hoffen, dass Security irgendwie implizit schon dabei ist
IT/Software Entwicklung



Unwissenheit über die Gefahren
Sicherheit wird hauptsächlich als hinderlich angesehen
Software Sicherheit ist heute nicht Teil der Ausbildung
Jede Software, ob extern oder intern entwickelt, sollte an genügend «Security
Eigenschaften interessiert» sein.
Da Software leider selten «automatisch» sicher ist, sollte auch was dafür getan
werden.
Security
% Attacken
Budget
% in Dollars
10 %
Legende:
75 %
90 %
Web Applikationen
Netzwerk
25 %
Quelle: Gartner
Viele begangene Fehler basieren auf typischen Mythen, die immer wieder
auftauchen:







Über Web-Applikationen erhält man keinen Zugriff zu internen Systemen
Der Datenverkehr wird mittels SSL abgesichert
Unsere Systeme sind gepatcht, das reicht doch
Wir sind sicher, es ist noch nie was passiert
Es wurden bei Vorfällen noch nie Daten gestohlen
Wir haben eine Firewall im Einsatz
Unsere Software Entwickler machen das schon korrekt
Die relevanten Schwachstellen die Angriffe erst ermöglichen, sind auf dem
Application Layer. Heutige Massnahmen wirken jedoch nicht auf diesem Layer.
Application Layer
• Spezifische Security Produkte
•Web Application Firewall
• Web Application Scanner /- Penetration Test
• Sicheres Entwickeln
Transport Layer
Internet Layer
Link Layer
• “Normale” Security Produkte
•Standard Firewall
• Vulnerability Scanner / Std. Penetration Test
OWASP Top 10
• OS Commanding
• XPATH Injection
A1: Injection
• SQL- und SSI Injection
• Format String Attack
• LDAP Injection
A2: Broken
Authentication and
Session Management
• Insufficient Authorization
• Credential/Session Prediction
• Insufficient Session Expiration
A2: Cross-Site
Scripting (XSS)
• Cross-site Scripting
• Content Spoofing
• Cross-site Request Forgery
A4: Insecure Direct
Object References
• Direct without access control check to
• object references
• File, directory, or database key
A5: Security
Misconfiguration
• Secure configuration for frameworks, application and webserver
defined and deployed
A6: Sensitive Data
Exposure
• Protect sensitive data, such as credit cards, access information
with sufficient encryption
A7: Missing Function
Level Access Control
• Forceful browsing
• URL guessing
• Access control for every requst
A8: Cross Site Request
Forgery
• Directory Indexing
• Information Leakage
• Path Traversal
A9: Using Components
with known
Vulnerabilities
• Frequently update the software
A10: Unvalidated
• Manipulated redirects and forwards
Redirects and Forwards
Sicht eines Hackers
Mögliche Massnahmen
Monitor
Massnahme
WAF*
Audit / Pen-Test
Secure Coding
Security Requirements Engineering
Training, Awareness
Init
Req.
Eng
Dev
Testing
Implement
Operate
Make
Quelle: Microsoft
Training:
 Security Training für sicheres Design und Programmierung
Requirements:
 Definieren von Sicherheitsanforderung, Risiko Analyse
Design:
 Definieren von Design-Sicherheitsanforderung, mögliche Bedrohungen
definieren
Implementierung:
 Erstellen von Vorgaben für den Einsatz von sicheren und unsicheren
Funktionen, bereitstellen von Libraries & Tools
Verification:
 Überprüfung der Vorgaben durch manuelle und automatisierte
Sicherheitsanalysen (Fuzzing, Code Analyse, Scanning)
Release:
 Definieren von Freigabeprozessen und Massnahmen wie Security Review,
Penetration Testing o.ä
Durch die Planung und Umsetzung eines Secure Development Lifecycle (SDL),
ist die Sicherheit ein klarer Bestandteil jeder Software Lösung.
Vorteile:
 Zeitreduktion für Fehlerkorrektur
 Reduzierung der Entwicklungskosten
 Reduzierung von Mängeln
 Sicherheit als integraler Bestandteil der Software Entwicklung
 Erhöhte Sicherheit
 Gewährleistung von Compliance Anforderungen
Perimeterschutz
Grundsätzliche Funktionen einer WAF
Quelle: Ergon
Der Einsatz einer Web Application Firewall muss aber gut überlegt sein, um
das Ziel von einer sicheren Umgebung auch zu erreichen.
Vorteile:
 Bei Standard-Applikationen ist sie oft der einzige Weg, um diese
abzusichern
 Kann die Sicherheit von Individual-Applikationen, je nach Art und Aufwand
der Integration, stark unterstützen
Nachteile:
 Gewisser Integrationsaufwand nötig
 Nicht jede Applikation lässt sich zufriedenstellend absichern
 Bei komplexeren Anforderungen entsprechendes Know-how nötig
 Jede Änderung in der Applikation muss auch abgebildet werden
 Haben auch Ihre Grenzen
Wichtig:
Die Applikation(en), welche mittels einer WAF geschützt werden, sind
immer noch gleich (un)sicher.
Bei Fragen kontaktieren Sie bitte:
Roger Caspar
Telefon: +41 44 515 68 68
Herzlichen Dank für Ihre Aufmerksamkeit!
Protect7 GmbH | Franklinstrasse 7 | CH-8050 Zürich | www.protect7.com
Herunterladen