Datensicherheit. Vorlesung 4: 14.12.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter



Ähnliche Dokumente
Datensicherheit. Vorlesung 7: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Datensicherheit. Vorlesung 4: Wintersemester 2017/2018 h_da. Heiko Weber, Lehrbeauftragter

Datensicherheit. Vorlesung 5: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

am Beispiel - SQL Injection

Web Application Security

am Beispiel - SQL Injection

SDD System Design Document

Abbildung der Gefährdungen der WASC und OWASP auf die Gefährdungen und Maßnahmenempfehlungen des IT-Grundschutz-Bausteins B 5.

Schwachstellenanalyse 2012

Datensicherheit. Vorlesung 3: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Web-Sicherheit: Kein fauler Zauber?! Kai Jendrian. <Seminartitel> <Seminartitel>

Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen

Warum werden täglich tausende von Webseiten gehackt?

Sicher sein, statt in Sicherheit wiegen Sicherheit bei. Web-Anwendungen. Vortrag bei Infotech

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

How to install freesshd

Was ist bei der Entwicklung sicherer Apps zu beachten?

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Mail encryption Gateway

Sicherheit in Software

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Informatik für Ökonomen II HS 09

Community Zertifizierungsstelle. Digitale Identität & Privatsphäre. SSL / S/MIME Zertifikate

Aktuelle Bedrohungen im Internet

MetaQuotes Empfehlungen zum Gebrauch von

OP-LOG

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Ökonomik der Agrar und Ernährungswirtschaft in ILIAS

Hacker-Methoden in der IT- Sicherheitsausbildung. Dr. Martin Mink

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sparkasse Vogtland. Secure Datensicherheit im Internet. Kundenleitfaden. Sparkasse Vogtland. Kundeninformation Secure 1

teischl.com Software Design & Services e.u. office@teischl.com

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Teil 1: IT- und Medientechnik

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Erstellen eines Formulars

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Übungen Programmieren 1 Felix Rohrer. Übungen

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Übung - Festplattenwartung in Windows Vista

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Sichere Webapplikationen nach ONR oder Wer liest meine s?

Der große VideoClip- Wettbewerb von Media Markt.

YouTube: Video-Untertitel übersetzen

Aktualisierung der Lizenzierungsrichtlinien für Adobe Produkte

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

sidoku - Quickstart Beschreibung des Vorgangs Einladung annehmen Release Stand

Sicher kommunizieren dank Secure der Suva

Norton Internet Security

Dokumentenkontrolle Matthias Wohlgemuth Telefon Erstellt am

Neues Modul für individuelle Anlagen. Änderung bei den Postleitzahl-Mutationen

Fragen und Antworten zu Secure

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

Anleitung Grundsetup C3 Mail & SMS Gateway V

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Seite 1 von 6

Online-Dienste des EPA

Die Post hat eine Umfrage gemacht

Baustein Webanwendungen. Stephan Klein, Jan Seebens

Showtime Anleitung. Zeigen Sie anderen, über was Sie sprechen. Warum Showtime? So verwenden Sie Showtime. So geht s

DB2 Kurzeinführung (Windows)

FLACO Info-Service FIS Ausgabe: ersetzt: - Datum:

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Installation der 4Dv12sql Software für Verbindungen zum T.Base Server

Herzlich willkommen zur Kurzvorlesung: Die häufigsten Fehlerquellen bei der Erstellung von Webapplikationen. Udo H. Kalinna. Nürnberg, den

Telenet SocialCom. verbindet Sie mit Social Media.

secunet Security Networks AG Täter im Anzug Wenn die Firewall gerade nicht hinschaut SECURITY Oktober

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Fragen zur GridVis MSSQL-Server

PCC Outlook Integration Installationsleitfaden

Internet Explorer Version 6

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Zusammenfassung Web-Security-Check ZIELSYSTEM

Version 0.3. Installation von MinGW und Eclipse CDT

itsc Admin-Tag OWASP Top 10 Tobias Ellenberger COO & Co-Partner OneConsult GmbH 2013 OneConsult GmbH

Registrierungsanleitung ecom-system DARC e.v. OV Velbert

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Inhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5

Übung - Konfigurieren einer Windows-XP-Firewall

Das digitale Scheunentor

Protect 7 Anti-Malware Service. Dokumentation

Benutzerhandbuch - Elterliche Kontrolle

Lokale Installation von DotNetNuke 4 ohne IIS

Leistungsbeschreibung Click2SMS 1.0

SEMINAR Modifikation für die Nutzung des Community Builders

Web 2.0 (In) Security PHPUG Würzburg Björn Schotte

Wie oft soll ich essen?

Schwachstellenanalyse 2013

KvBK: Basic Authentication, Digest Authentication, OAuth

Python SVN-Revision 12

Transkript:

Vorlesung 4: Sommersemester 2015 h_da, Lehrbeauftragter

Teil 2: Themenübersicht der Vorlesung 1. Einführung / Grundlagen der / Authentifizierung 2. Kryptografie / Verschlüsselung und Signaturen mit PGP 3. Netzwerksicherheit / TLS / Grundlagen Softwaresicherheit 4. Softwaresicherheit + PGP-Installation auf Laptops 5. Hacking / Datenschutz / Privatsphäre / Anonymität 6. Malware / Firewalls / Was ist sichere Software? 7. Evaluation / Wiederholung / Beispielklausuraufgaben 4-2

Terminologie (Wiederholung) Schwachstelle (Weakness) ein Software-Fehlertyp, der in gewissen Situationen zu einer Verwundbarkeit der Software führen kann Verwundbarkeit (Vulnerability) das Auftreten einer oder mehrerer Schwachstellen in einer Software, in der diese Schwachstelle genutzt werden kann, um ein Fehlverhalten hervorzurufen Offenlegung (Exposure) das Auftreten einer oder mehrerer Schwachstellen in einer Software, die Informationen oder Funktionen offenlegen, die einen Angriff auf ein System erleichtern Auswirkung (Impact) das Ergebnis, welches eine erfolgreich ausgenutzte Verwundbarkeit in einer Software haben kann 4-3

CWE/SANS Top 25 Most Dangerous Software Errors http://cwe.mitre.org/top25/ CWE/SANS Top 25 Most Dangerous Software Errors ist eine Liste der meistverbreitetsten und kritischsten Schwachstellen, die zu schwerwiegenden Verwundbarkeiten in Software führen können diese Schwachstellen sind üblicherweise einfach zu finden und leicht auszunutzen und sind gefährlich, weil sie den Angreifer_innen häufig ermöglichen ein System zu kapern, Daten zu klauen oder sie verhindern können, dass ein System normal funktioniert 4-4

CWE/SANS Top 25 Most Dangerous Software Errors 1. CWE-89 2. CWE-78 3. CWE-120 4. CWE-79 5. CWE-306 SQL Injection OS Command Injection Classic Buffer Overflow Cross-site Scripting Missing Authentication for Critical Function 6. CWE-862 7. CWE-798 8. CWE-311 9. CWE-434 10. CWE-807 Missing Authorization Use of Hard-coded Credentials Missing Encryption of Sensitive Data Unrestricted Upload of File with Dangerous Type Reliance on Untrusted Inputs in a Security Decision 11. CWE-250 12. CWE-352 13. CWE-22 14. CWE-494 15. CWE-863 Execution with Unnecessary Privileges Cross-Site Request Forgery Path Traversal Download of Code Without Integrity Check Incorrect Authorization 16. CWE-829 17. CWE-732 18. CWE-676 19. CWE-327 Inclusion of Functionality from Untrusted Control Sphere Incorrect Permission Assignment for Critical Resource 20. CWE-131 Use of Potentially Dangerous Function 21. CWE-307 22. CWE-601 23. CWE-134 24. CWE-190 25. CWE-759 Improper Restriction of Excessive Authentication Attempts Open Redirect Uncontrolled Format String Integer Overflow or Wraparound Use of a One-Way Hash without a Salt 4-5 Use of a Broken or Risky Cryptographic Algorithm Incorrect Calculation of Buffer Size

CWE/SANS Top 25 Most Dangerous Software Errors 1. CWE-89 2. CWE-78 3. CWE-120 4. CWE-79 5. CWE-306 SQL Injection OS Command Injection Classic Buffer Overflow Cross-site Scripting Missing Authentication for Critical Function 6. CWE-862 7. CWE-798 8. CWE-311 9. CWE-434 10. CWE-807 Missing Authorization Use of Hard-coded Credentials Missing Encryption of Sensitive Data Unrestricted Upload of File with Dangerous Type Reliance on Untrusted Inputs in a Security Decision 14. CWE-494 15. CWE-863 Download of Code Without Integrity Check Incorrect Authorization 19. CWE-327 20. CWE-131 11. CWE-250 siehe13. CWE-22 12. CWE-352 VorlesungPath5Traversal Execution with Unnecessary Privileges Cross-Site Request Forgery 16. CWE-829 17. CWE-732 Inclusion of Functionality from Untrusted Control Sphere Incorrect Permission Assignment for Critical Resource Use of Potentially Dangerous Function 21. CWE-307 22. CWE-601 23. CWE-134 24. CWE-190 25. CWE-759 Improper Restriction of Excessive Authentication Attempts Open Redirect Uncontrolled Format String Integer Overflow or Wraparound Use of a One-Way Hash without a Salt 18. CWE-676 4-6 Use of a Broken or Risky Cryptographic Algorithm Incorrect Calculation of Buffer Size

CWE/SANS Top 25 Most Dangerous Software Errors 1. CWE-89 2. CWE-78 3. CWE-120 4. CWE-79 5. CWE-306 SQL Injection OS Command Injection Classic Buffer Overflow Cross-site Scripting Missing Authentication for Critical Function 6. CWE-862 7. CWE-798 8. CWE-311 9. CWE-434 10. CWE-807 Missing Authorization Use of Hard-coded Credentials Missing Encryption of Sensitive Data Unrestricted Upload of File with Dangerous Type Reliance on Untrusted Inputs in a Security Decision 11. CWE-250 12. CWE-352 13. CWE-22 Execution with Unnecessary Privileges Cross-Site Request Forgery Path Traversal 16. CWE-829 17. CWE-732 18. CWE-676 Inclusion of Functionality from Untrusted Control Sphere Incorrect Permission Assignment for Critical Resource Use of Potentially Dangerous Function 21. CWE-307 22. CWE-601 23. CWE-134 24. CWE-190 25. CWE-759 Improper Restriction of Excessive Authentication Attempts Open Redirect Uncontrolled Format String Integer Overflow or Wraparound Use of a One-Way Hash without a Salt 4-7 siehe 14. CWE-494 Vorlesung Download of Code 5 15. CWE-863 Without Integrity Check Incorrect Authorization 19. CWE-327 20. CWE-131 Use of a Broken or Risky Cryptographic Algorithm Incorrect Calculation of Buffer Size

CWE/SANS Top 25 Most Dangerous Software Errors 1. CWE-89 2. CWE-78 3. CWE-120 4. CWE-79 5. CWE-306 SQL Injection OS Command Injection Classic Buffer Overflow Cross-site Scripting Missing Authentication for Critical Function 6. CWE-862 7. CWE-798 8. CWE-311 9. CWE-434 10. CWE-807 Missing Authorization Use of Hard-coded Credentials Missing Encryption of Sensitive Data Unrestricted Upload of File with Dangerous Type Reliance on Untrusted Inputs in a Security Decision 11. CWE-250 12. CWE-352 13. CWE-22 14. CWE-494 15. CWE-863 Execution with Unnecessary Privileges Cross-Site Request Forgery Path Traversal Download of Code Without Integrity Check Incorrect Authorization 16. CWE-829 17. CWE-732 18. CWE-676 19. CWE-327 Inclusion of Functionality from Untrusted Control Sphere Incorrect Permission Assignment for Critical Resource 20. CWE-131 Use of Potentially Dangerous Function 21. CWE-307 22. CWE-601 23. CWE-134 24. CWE-190 25. CWE-759 Improper Restriction of Excessive Authentication Attempts Open Redirect Uncontrolled Format String Integer Overflow or Wraparound Use of a One-Way Hash without a Salt 4-8 Use of a Broken or Risky Cryptographic Algorithm Incorrect Calculation of Buffer Size

CWE-20: Improper Input Validation (unvollständige Eingabeüberprüfung) http://cwe.mitre.org/data/definitions/20.html Wenn Software die Eingabewerte nicht vollständig überprüft, können im Rahmen eines Angriffs Daten an die Anwendung geschickt werden, die so nicht erwartet wurden in den Bereichen, wo die Daten verarbeitet werden. Dies kann dazu führen, dass das System mit diesen Daten nicht umgehen kann und es zu Veränderungen im Kontrollfluss der Anwendung kommt, Kontrolle über beliebige Ressourcen erreicht oder beliebiger Code ausgeführt werden kann. kann sich auf folgende Schutzziele auswirken: Verfügbarkeit Vertraulichkeit Integrität Nichtabstreitbarkeit 4-9

Schwachstellen, die zu CWE-20 gehören aus den Top 25: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE-134: Uncontrolled Format String CWE-190: Integer Overflow or Wraparound weitere interessante: CWE-73: External Control of File Name or Path CWE-99: Improper Control of Resource Identifiers ('Resource Injection') CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers CWE-158: Improper Neutralization of Null Byte or NUL Character 4-10

CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') Die Anwendung konstruiert einen Teil oder eine komplette SQLAnweisung basierend auf Eingabewerten, ohne spezielle Teile der Eingabewerte zu neutralisieren, welche die beabsichtigte SQLAnweisung verändern könnten, wenn sie an die Datenbank geschickt wird. Datenbankanfragen können manipuliert werden beliebige Daten können - aus der Datenbank gelesen werden - in die Datenbank geschrieben werden - aus der Datenbank gelöscht werden Mögliche Auswirkungen Schutzziel verletzt Daten lesen Vertraulichkeit Schutzmechanismus umgehen Zugriffskontrolle Daten verändern Integrität 4-11

CWE-89: Beispiel lade die Adresse für User, die öffentlich sind (Wert public auf 1 steht) PHP Beispiel: $name = $_REQUEST["name"]; $query = "SELECT address FROM users WHERE public=1 AND name='".$name."' ORDER BY name"; $result = mysql_query($query); 4-12

CWE-89: Beispiel lade die Adresse für User, die öffentlich sind (Wert public auf 1 steht) PHP Beispiel: $name = $_REQUEST["name"]; $query = "SELECT address FROM users WHERE public=1 AND name='".$name."' ORDER BY name"; $result = mysql_query($query); Eingabewert: Heiko where: public=1 AND name='heiko' gibt nur die Infos zu Heiko aus, wenn sie öffentlich sind 4-13

CWE-89: Beispiel lade die Adresse für User, die öffentlich sind (Wert public auf 1 steht) PHP Beispiel: $name = $_REQUEST["name"]; $query = "SELECT address FROM users WHERE public=1 AND name='".$name."' ORDER BY name"; $result = mysql_query($query); Eingabewert: x' OR public=0 OR name='heiko where: public=1 AND name='x' OR public=0 OR name='heiko' gibt auch die Infos zu Heiko aus, wenn sie privat sind 4-14

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') Die Anwendung konstruiert einen Teil oder einen kompletten Betriebssystemaufruf basierend auf Eingabewerten, ohne spezielle Teile der Eingabewerte zu neutralisieren, die den beabsichtigten Betriebssystemaufruf verändern könnten, wenn er ausgeführt wird. Betriebssystemaufrufe können manipuliert werden beliebige Befehle können auf der Kommandozeile aufgerufen werden Mögliche Auswirkungen Schutzziel verletzt unzuverlässiges Ausführen von Befehlen DoS: crash / exit / restart Daten verändern Daten lesen Aktivitäten verbergen Vertraulichkeit Integrität Verfügbarkeit Nichtabstreitbarkeit 4-15

CWE-78: Beispiel erhalte den Username und zeige die Daten des Users an PHP Beispiel: $username = $_POST["user"]; $command = 'ls -l /home/'. $username; system($command); 4-16

Mögliche Mitigationen gegen CWE-20-Schwachstellen Mitigation = Entschärfung eine Maßnahme, um potentielle Schwachstellen zu verhindern oder deren Auswirkung zu reduzieren Eingabeüberprüfung einheitliche Eingabeüberprüfungssysteme einsetzen nur gültige Werte zulassen (White Lists) nur auf ungültige Werte überprüfen, wenn die Liste der gültigen nicht überprüfbar ist es ist schwer alle ungültigen Fälle zu kennen wenn Werte aus verschiedenen Quellen kombiniert werden, die Überprüfung erst nach dem Kombinieren der Werte anwenden Angriffsoberfläche erkennen und verkleinern alle Stellen, in denen Eingaben in die Anwendung gelangen, müssen erkannt und analysiert werden 4-17

Schwachstellen, die zu CWE-20 gehören aus den Top 25: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE-134: Uncontrolled Format String CWE-190: Integer Overflow or Wraparound weitere interessante: CWE-73: External Control of File Name or Path CWE-99: Improper Control of Resource Identifiers ('Resource Injection') CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers CWE-158: Improper Neutralization of Null Byte or NUL Character 4-18

CWE-116: Improper Encoding or Escaping of Output (falsche Codierung oder Formatierung von Ausgaben) http://cwe.mitre.org/data/definitions/116.html Die Anwendung generiert eine strukturierte Nachricht, um mit einer anderen Softwarekomponente zu kommunizieren, aber die Codierung oder Formatierung der Daten in der Nachricht fehlt oder wurde falsch durchgeführt. Dadurch kann die beabsichtigte Struktur der Nachricht verfälscht werden. kann sich auf folgende Schutzziele auswirken: Verfügbarkeit Vertraulichkeit Integrität Zugriffskontrolle 4-19

Beziehung zu CWE-20 (Improper Input Validation) je nach Beschaffenheit der strukturierten Nachricht, kann durch korrekt Eingabeüberprüfung verhindert werden, dass spezielle Zeichen und Zeichenfolgen die Struktur der Nachricht manipulieren können Eingabeüberprüfung ist aber nicht immer ausreichend, weil gewisse Zeichen in verschiedenen Kontexten erlaubt oder auch nicht erlaubt sein könnten z.b. Sonderzeichen in Namen: O'Reilly 4-20

Anwendungs-Eingabe und -Ausgabe ANWENDUNG EINGABE INTERN 4-21 AUSGABE

Anwendungs-Eingabe und -Ausgabe ANWENDUNG EINGABE CWE 20 INTERN 4-22 CWE 116 AUSGABE

Anwendungs-Eingabe und -Ausgabe ANWENDUNG Konfigurationdateien Datenbanken Benutzereingaben Webanwendungen usw. CWE 20 INTERN 4-23 CWE 116 Logdateien Datenbanken Systemaufrufe Webanwendungen usw.

https://www.owasp.org Auszug aus der deutschen Webseite: OWASP ist eine unabhängige, weltweite Community [...]. Ziel des OWASP ist die Unterstützung von Unternehmen und Organisationen bei der Entwicklung und beim Betrieb sicherer Webanwendungen und das «Sichtbar-Machen» der Bedeutung der Sicherheit von Webanwendungen. Sämtliche OWASP-Instrumente, wie Dokumente, Foren oder die jeweiligen Länder-Chapters stehen kostenlos allen zur Verfügung, die daran interessiert sind, die Sicherheit von Webanwendungen zu erhöhen. Die Community ist frei und offen und heißt alle Interessierten sowie Wissens- und Erfahrungsträger herzlich willkommen. Zwanglos kann dies z. B. im Rahmen der OWASP Stammtische erfolgen, die regelmäßig in vielen deutschen Großstädten stattfinden.

OWASP Top 10 Risiken für die Anwendungssicherheit https://www.owasp.org/images/4/42/owasp_top_10_2013_de_version_1_0.pdf A1: Injection A2: Fehler in Authentifizierung und Session-Management A3: Cross-Site Scripting (XSS) A4: Unsichere direkte Objektreferenzen A5: Sicherheits-relevante Fehlkonfiguration A6: Verlust der Vertraulichkeit sensibler Daten A7: Fehlerhafte Autorisierung auf Anwendungsebene A8: Cross-Site Request Forgery (CSRF) A9: Nutzung von Komponenten mit bekannten Schwachstellen A10: Ungeprüfte Um- und Weiterleitungen 4-25

OWASP Top 10 Risiken für die Anwendungssicherheit A1: Injection A2: Fehler in Authentifizierung und Session-Management A3: Cross-Site Scripting (XSS) A4: Unsichere direkte Objektreferenzen A5: Sicherheits-relevante Fehlkonfiguration A6: Verlust der Vertraulichkeit sensibler Daten A7: Fehlerhafte Autorisierung auf Anwendungsebene A8: Cross-Site Request Forgery (CSRF) A9: Nutzung von Komponenten mit bekannten Schwachstellen A10: Ungeprüfte Um- und Weiterleitungen 4-26

SCHÖNE URLAUBSZEIT! weiter geht s am 11. Januar 2016