67
Rüdiger Kügler | WIBU-SYSTEMS AG Rüdiger Kügler Sicherheitsexperte [email protected] Sicheres Betreiben einer Cloud Lösung 30.01.2014 Sicheres Betreiben einer Cloud Lösung 1

Professioneller Umgang mit Datensicherheit in der Cloud

Embed Size (px)

DESCRIPTION

Wibu-Systems CodeMeter bietet Ihnen ein flexibles System, um Lizenzen in einer Schutzhardware, einer sicheren Datei oder in der Cloud zu speichern. Aber alle Vorteile von SaaS, IaaS und PaaS sind hinfällig, wenn Sie nicht wissen, wie Datensicherheit für Ihre Software implementiert und überwacht wird. Daten lügen nicht. Der Einsatz und die Akzeptanz von Cloud-Lösungen steigern sich täglich. Verschiedene Faktoren bestimmen den Erfolg von SaaS, IaaS und PaaS in Unternehmen: - Plattformunabhängigkeit - Preisliche Wettbewerbsfähigkeit, was besonders hinsichtlich Kostenoptimierung wichtig ist - Technologische Innovation - Größere Agilität bei der Implementierung des kompletten Lizenzierungszyklus Wenn Sie bereits auf dem Weg sind, die Cloud zu nutzen, oder bereits Cloud-Lösungen anbieten, könnten Hacker versuchen, Ihren Lösungen anzugreifen. Haben Sie das Wissen, dies rechtzeitig zu erkennen und Präventionen in die Wege zu leiten, um Ihre und die Daten Ihrer Kunden zu schützen? Die Präsentation spannt den Bogen von der Theorie zur Praxis und spricht über: - die häufigsten Gründe von Hacks - die architektonische Schwächen eines Cloud-Systems - welche Sicherheitsmaßnahmen dagegen helfen - welche Art an Professional Service wir Ihnen bieten, um Ihre Cloud-Lösung sicher zu machen

Citation preview

Page 1: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 1

Rüdiger Kügler | WIBU-SYSTEMS AG

Rüdiger Kügler

Sicherheitsexperte

[email protected]

Sicheres Betreiben einer Cloud Lösung

30.01.2014

Page 2: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 2

Was ist die Cloud?

30.01.2014

???

Page 3: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 3

Die Theorie

Software as a Service (SaaS)

Infrastructure as a Service (IaaS)

Platform as a Service (PaaS)

Webspace

30.01.2014

Page 4: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 4

CLOUD LÖSUNGEN IN DER PRAXIS

30.01.2014

Page 5: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 5

Salesforce

30.01.2014

No

Software

v

Page 6: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 6

Amazon Cloud Drive

30.01.2014

v

WebspaceFür Fotos

Page 7: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 7

Blue Ray Ripper / MMOs

30.01.2014

v

Page 8: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 8

ArchiCAD

30.01.2014

v

Private Cloud(ähnlich zu Terminal Server)

Page 9: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 9

ANFORDERUNGEN AUS SICHT DES SOFTWARE HERSTELLERS

30.01.2014

Page 10: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 10

Hersteller bietet SaaS

Hersteller installiert und betreibt Lösung

(Meist) Browser-basierter Zugang

Spezielle Lösung für die Cloud

Herausforderungen: Abrechnungsmodelle (Miete, InApp Purchase, Pay-Per-Use, …)

Identifizierung des Users

Sicherheit der Lösung

30.01.2014

Page 11: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 11

Mischlösung

Nativer Client + Rechenpower in der Cloud beim Hersteller

Für den User „Unter der Haube“

Internetverbindung erforderlich

Herausforderungen: Was berechnet man in der Cloud

Abrechnungsmodelle (Kaufpreis = einmalig, Cloud = laufende Kosten)

30.01.2014

Page 12: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 12

User betreibt Private Cloud

Originale Software des Herstellers

User installiert diese selbständig in der Cloud (Private Cloud)

Herausforderungen Lizenzierung (PC hat mehr Power = weniger PCs = weniger

Lizenzen)

Kopierschutz (Dongle? Rechnerbindung?)

30.01.2014

Page 13: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 13

WIE REALISIERT MAN EINE SAAS LÖSUNG AUF DEM SERVER?

30.01.2014

Page 14: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 14

PHP / Skriptsprachen

30.01.2014

ApacheHttpd

v

PHP

Page 15: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 15

Java

30.01.2014

ApplicationServer

(Tomcat)

v

Java VM

Page 16: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 16

.NET

30.01.2014

IIS

v

ASP.NET(DLL)

Page 17: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 17

WARUM HACKT MAN EINE CLOUD LÖSUNG?

30.01.2014

Page 18: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 18

Just for Fun

30.01.2014

You have been hacked!

Page 19: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 19

Kreditkartendaten

30.01.2014

2013-041113-10045

ESC

Euro Slave CardUranium Version

12/2099

Page 20: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 20

Passwörter

30.01.2014

v

E-Mail

Banking

Facebook

HotelsSony PSN

Page 21: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 21

Daten und Formeln

30.01.2014

KrankenAkten

KundenDatenUmsatz

Daten

Cola Rezept:• 100 g Zucker• 100 ml Wasser

???

Page 22: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 22

Sabotage

30.01.2014

v SPS +OPC UA

Page 23: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 23

WIE HACKT MAN EINE CLOUD LÖSUNG?

30.01.2014

Page 24: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 24

Exploit

30.01.2014

Programmierfehler

Page 25: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 25

Exploit

Ausnutzen einer Schwachstelle

Meist ein Pufferüberlauf

Startet Code mit den Rechten der Anwendung (Webserver !?)

Payload (Nutzlast) kann modifiziert werden („Bundestrojaner“, Java Exploit)

Zero-Day-Exploit

30.01.2014

Page 26: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 26

SQL Injection

$query = "SELECT user, passwordFROM usersWHERE user = '".$user."' AND password = '".$password."'";

$count = mysql_num_rows($result);

if ($count > 0)

{

print ("Erfolgreich eingeloggt");

}

30.01.2014

Page 27: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 27

SQL Injection

Aufruf:

[email protected]&password=geheim

= > Erfolgreich eingeloggt

Aufruf:

[email protected]&password=falsch

=> Fehler

30.01.2014

Page 28: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 2830.01.2014

Page 29: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 2930.01.2014

Page 30: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 3030.01.2014

Page 31: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 3130.01.2014

Page 32: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 32

SQL Injection

Injection:

[email protected]&password=falsch' OR 'a'='a

= > Erfolgreich eingeloggt, obwohl das Passwort falsch ist

30.01.2014

Page 33: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 33

SQL Injection

Manipulieren von WHERE Abfragen

Anhängen von weiteren Befehlen („;“) INSERT

DROP

Daten ausspähen („UNION“)

30.01.2014

Page 34: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 34

Cross Side Scripting

Code auf einer anderen Seite einschleusen Texte als Parameter

JavaScript Files als Parameter

30.01.2014

Page 35: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 3530.01.2014

Page 36: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 3630.01.2014

Somewhere else !

Page 37: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 37

WIE MACHT MAN ES SICHER?

30.01.2014

Page 38: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 38

Escape SQL

PHP mysql_real_escape_string

Von Hand überprüfen

Bound Parameters

Schutz gegen SQL Injection

30.01.2014

Page 39: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 39

Passwörter

Nie im Klartext speichern

„Verschlüsselt“ (HashWert) Zufälliger Salt Wert

Hash (Salt + Passwort)

Hash und Salt speichern

Hash = Mitarbieter kann Passwort nicht lesen

Salt = Sicherheit gegen Rainbow Tables und gleiche Passwörter

30.01.2014

Page 40: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 40

Updates

Betriebssystem immer unverzüglich updaten

Server (Apache, IIS, Tomcat, …) immer unverzüglich updaten

Schützt vor bekannten Exploits

30.01.2014

Page 41: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 41

Name und Version

30.01.2014

ServerTokens FullServerSignature On

Page 42: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 42

Name und Version

30.01.2014

ServerTokens ProdServerSignature Off

Page 43: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 43

No phpinfo()

30.01.2014

Page 44: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 44

System Error Messages

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wwwroot\dmz\ekon\en\test.php on line 54 Call Stack: 0.9981 349568 1. {main}() C:\wwwroot\dmz\ekon\en\test.php:0 1.0081 537128 2. mysql_num_rows()

30.01.2014

display_errors = On

Page 45: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 45

System Error Messages

30.01.2014

display_errors = On

Page 46: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 46

Dateiendungen

Index.php

Index.html

Index.asp

Index.jsp

Soll man die Endungen verschleiern?

30.01.2014

Page 47: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 47

Konfigurationsdateien

30.01.2014

Page 48: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 48

Konfigurationsdaten

Sollten nie unterhalb von Web-Root gespeichert werden

Vorsicht mit Dateieindungen !!!

30.01.2014

Page 49: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 49

GET vermeiden

127.0.0.1 - - [04/Nov/2013:08:30:19 +0100] "GET /demo/en/[email protected]&password=geheim HTTP/1.1" 200 1371

127.0.0.1 - - [04/Nov/2013:08:34:50 +0100] "GET /demo/en/[email protected]&password=geheim HTTP/1.1" 200 -

127.0.0.1 - - [04/Nov/2013:08:35:26 +0100] "GET /demo/en/[email protected]&password=geheim HTTP/1.1" 200 1381

30.01.2014

Page 50: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 50

Benutzerrechte

Welche Rechte hat der Webserver (IIS, Apache, eigener Server, …)?

Ein Angreifer erhält im Falle eines Exploits die gleichen Rechte!

Rechte in der Datenbank Web User = genereller User

Braucht kein Create / Drop / Alter / …

30.01.2014

Page 51: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 51

Eingaben überprüfen

Blacklist Was ist nicht erlaubt

Besser: Whitelist Auf gültige Eingaben prüfen

Verhindert: SQL Injection / Cross Side Scripting

30.01.2014

Page 52: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 52

ERWEITERTE MÖGLICHKEITEN

30.01.2014

Page 53: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 53

Diversität

30.01.2014

ApacheTomcat(Java)

GeschützterBereich

Webserverin DMZ

DB

ApacheHttpd(Php)

v

Page 54: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 54

Zertifikate

Server Zertifikat

30.01.2014

ApacheHttpd(Php)

v

Schlüssel + Zertifikat

Page 55: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 55

Zertifikate

Client Zertifikat

30.01.2014

ApacheHttpd(Php)

v

Schlüssel + Zertifikat

Schlüssel + Zertifikat

Zertifikat

Page 56: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 56

Client Zertifikat für lc-admin.codemeter.com

30.01.2014

Page 57: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 57

Zugriff nur mit Zertifikat

30.01.2014

Page 58: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 58

Überwachung

Verfügbarkeitsüberwachung

Sicherheitsüberwachung

30.01.2014

Page 59: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 59

ZUSAMMENFASSUNG

30.01.2014

Page 60: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 60

Kurz und bündig

Passwörter verschlüsselt speichern

Eingaben überprüfen

Updates unverzüglich einspielen

Keine Fehlermeldungen anzeigen (nur loggen)

Nichts über das System verraten

Rechte so wenig wie möglich geben

Im Web-Root liegt nur das Web-Root

30.01.2014

Page 61: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 61

WAS WIBU FÜR SIE TUN KANN

30.01.2014

Page 62: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 62

License Central

Sicheres Betreiben der CodeMeter License Central für Sie Lizenzen erstellen, verwalten und verteilen

Sichere Architektur

Permanente Überwachung

Erfahrenes Personal

Updates vom Betriebssystem und der Anwendung

30.01.2014

Page 63: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 63

CodeMeter als Token

Speichern von privaten Schlüsseln und Zertifikaten im CmDongle PKCS#11 konform

CSSI Middleware

Speichern von privaten Schlüsseln im CmDongle Schlanke, proprietäre Lösung

RSA und ECC: Verwendung von anerkannten Standards

30.01.2014

Page 64: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 64

Schutz gegen Reverse Engineering

30.01.2014

AxProtector for .NET

AxProtector for Java

CmActLicense Gebunden an IP Addresse

Ungebunden

Page 65: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 65

Einheitliche Lösung: CodeMeter

30.01.2014

Licensing, Protection und Security

Authentifizierung für SaaS Zertifikats-basiert, Schlanke Lösung

Licensen für alle Anwendungsfälle Benutzungsbasiert, Feature-basiert, Zeitlich limitiert, Gleichzeitige

Benutzer, Einzelplatz, …

Verschlüsslung von Daten

Einheitliche Verwaltung von Lizenzen und Services

Page 66: Professioneller Umgang mit Datensicherheit in der Cloud

Sicheres Betreiben einer Cloud Lösung 66

Professional Service

Spezifikationen

Implementierungen

Sicherheitsüberprüfungen

30.01.2014

Page 67: Professioneller Umgang mit Datensicherheit in der Cloud

Germany +49-721-931720

USA +1-425-7756900

China +86-21-55661790

Worldwide http://www.wibu.com [email protected]

Sicheres Betreiben einer Cloud Lösung 67

Danke für Ihre Aufmerksamkeit

30.01.2014