Podcast
Questions and Answers
Welches der folgenden Szenarien ist ein gutes Beispiel für die sichere Verwendung der Deserialisierung?
Welches der folgenden Szenarien ist ein gutes Beispiel für die sichere Verwendung der Deserialisierung?
- Ein Webserver akzeptiert serialisierte Daten und verarbeitet diese, nachdem er sie mit einer digitalen Signatur verifiziert hat. (correct)
- Ein Webshop verwendet Deserialisierung, um Kundeninformationen aus einem Formular auf dem Server zu speichern.
- Ein Webserver akzeptiert serialisierte Daten von einer externen Quelle und verwendet eine Whitelist, um nur vertrauenswürdige Daten zu akzeptieren.
- Ein Webserver akzeptiert serialisierte Daten von einer externen Quelle und verarbeitet diese, ohne die Daten zu validieren.
Wie kann man die Gefahr von "Insecure Deserialization" im Zusammenhang mit einem Webserver minimieren?
Wie kann man die Gefahr von "Insecure Deserialization" im Zusammenhang mit einem Webserver minimieren?
- Durch die Verwendung von CSRF-Schutzmechanismen.
- Durch die Verwendung von Session Fixation.
- Durch die Verwendung von XML-Signaturen.
- Durch die Verwendung von XXE (XML External Entity) Protection.
- Durch die Verwendung von vertrauenswürdigen Quellen für die serielle Daten und die Validierung des Inputs. (correct)
Was ist der Hauptgrund, warum "Insecure Deserialization" so gefährlich ist?
Was ist der Hauptgrund, warum "Insecure Deserialization" so gefährlich ist?
- Es kann zu XSS-Angriffen führen.
- Es kann zu einer Codeausführung führen. (correct)
- Es kann zu Datenlecks führen.
- Es kann zu einer Überlastung des Servers führen.
- Es kann zu Denial-of-Service-Angriffen führen.
Welche Sicherheitslücke wird im Text als Hauptursache für den Equifax-Hack genannt?
Welche Sicherheitslücke wird im Text als Hauptursache für den Equifax-Hack genannt?
Was ist die Hauptaufgabe der Deserialisierung in der Softwareentwicklung?
Was ist die Hauptaufgabe der Deserialisierung in der Softwareentwicklung?
Welche der folgenden Sicherheitslücken kann durch fehlerhafte Deserialisierung ausgelöst werden?
Welche der folgenden Sicherheitslücken kann durch fehlerhafte Deserialisierung ausgelöst werden?
Welche der folgenden Aussagen zu Insecure Deserialization ist falsch?
Welche der folgenden Aussagen zu Insecure Deserialization ist falsch?
Welche der folgenden Maßnahmen ist NICHT geeignet, um das Risiko von "Insecure Deserialization" zu mindern?
Welche der folgenden Maßnahmen ist NICHT geeignet, um das Risiko von "Insecure Deserialization" zu mindern?
Welche Sicherheitsmaßnahme ist nicht für die Authentifizierung und Sitzungsverwaltung in Webanwendungen notwendig?
Welche Sicherheitsmaßnahme ist nicht für die Authentifizierung und Sitzungsverwaltung in Webanwendungen notwendig?
Welcher Angriff nutzt eine nicht authentifizierte Session-ID, um die Sicherheit einer Webanwendung zu umgehen?
Welcher Angriff nutzt eine nicht authentifizierte Session-ID, um die Sicherheit einer Webanwendung zu umgehen?
Warum werden Standards wie SAML, OAuth und OpenID Connect für Single Sign-On empfohlen?
Warum werden Standards wie SAML, OAuth und OpenID Connect für Single Sign-On empfohlen?
Was ist ein typisches Beispiel für einen Session Fixation Angriff?
Was ist ein typisches Beispiel für einen Session Fixation Angriff?
Wie kann der Session Fixation-Angriff in einem Webshop verhindert werden?
Wie kann der Session Fixation-Angriff in einem Webshop verhindert werden?
Welche der folgenden Maßnahmen ist keine wirksame Methode, um Cross-Site-Scripting (XSS) zu verhindern?
Welche der folgenden Maßnahmen ist keine wirksame Methode, um Cross-Site-Scripting (XSS) zu verhindern?
Welche der folgenden OWASP Top 10 Sicherheitsrisiken aus dem Jahr 2017 befasst sich nicht direkt mit der Gefahr von Cross-Site-Scripting (XSS)?
Welche der folgenden OWASP Top 10 Sicherheitsrisiken aus dem Jahr 2017 befasst sich nicht direkt mit der Gefahr von Cross-Site-Scripting (XSS)?
Welche Aussage zu XSS-Schutzmaßnahmen ist falsch?
Welche Aussage zu XSS-Schutzmaßnahmen ist falsch?
Was ist der Hauptzweck des "HttpOnly"-Flags für Cookies?
Was ist der Hauptzweck des "HttpOnly"-Flags für Cookies?
Welche der folgenden Techniken ist nicht mit Cross-Site-Scripting (XSS) verbunden?
Welche der folgenden Techniken ist nicht mit Cross-Site-Scripting (XSS) verbunden?
Wie können XSS-Angriffe in Certificate Signing Requests (CSRs) stattfinden?
Wie können XSS-Angriffe in Certificate Signing Requests (CSRs) stattfinden?
Welche der folgenden Aussagen zu XML External Entities (XXE) ist richtig?
Welche der folgenden Aussagen zu XML External Entities (XXE) ist richtig?
Welche der folgenden Maßnahmen ist am effektivsten, um XXE-Angriffe zu verhindern?
Welche der folgenden Maßnahmen ist am effektivsten, um XXE-Angriffe zu verhindern?
Welche der folgenden Aussagen beschreibt am besten, wie XML External Entities (XXE) Angriffe funktionieren?
Welche der folgenden Aussagen beschreibt am besten, wie XML External Entities (XXE) Angriffe funktionieren?
Wie können XML Signature Wrapping-Angriffe am besten verhindert werden?
Wie können XML Signature Wrapping-Angriffe am besten verhindert werden?
Welche der folgenden Maßnahmen hilft am effektivsten, Cross-Site Scripting (XSS) Angriffe zu verhindern?
Welche der folgenden Maßnahmen hilft am effektivsten, Cross-Site Scripting (XSS) Angriffe zu verhindern?
Welche der folgenden Aussagen beschreibt am besten, wie Session Fixation Angriffe funktionieren?
Welche der folgenden Aussagen beschreibt am besten, wie Session Fixation Angriffe funktionieren?
Welche der folgenden Sicherheitsmaßnahmen hilft am besten, um Session Fixation Angriffe zu verhindern?
Welche der folgenden Sicherheitsmaßnahmen hilft am besten, um Session Fixation Angriffe zu verhindern?
Welche der folgenden Techniken ist besonders hilfreich, um Cross-Site Request Forgery (CSRF) Angriffe zu verhindern?
Welche der folgenden Techniken ist besonders hilfreich, um Cross-Site Request Forgery (CSRF) Angriffe zu verhindern?
Welche Aussage trifft auf die OWASP Top 10 – 2017 Liste zu?
Welche Aussage trifft auf die OWASP Top 10 – 2017 Liste zu?
Welche der folgenden Aussagen beschreibt am besten den Zweck des OWASP Top 10?
Welche der folgenden Aussagen beschreibt am besten den Zweck des OWASP Top 10?
Welche der folgenden Maßnahmen ist NICHT direkt mit der Prävention von SQL-Injection-Angriffen verbunden?
Welche der folgenden Maßnahmen ist NICHT direkt mit der Prävention von SQL-Injection-Angriffen verbunden?
Was sind die wichtigsten Argumente für die Verwendung des Prinzips ‚Defense in Depth‘?
Was sind die wichtigsten Argumente für die Verwendung des Prinzips ‚Defense in Depth‘?
Was ist ein Billion Laughs Attack?
Was ist ein Billion Laughs Attack?
Welche Gegenmaßnahmen können gegen einen Billion Laughs Attack eingesetzt werden?
Welche Gegenmaßnahmen können gegen einen Billion Laughs Attack eingesetzt werden?
Welche Aussage über XXE-Angriffe ist falsch?
Welche Aussage über XXE-Angriffe ist falsch?
Welche der folgenden Optionen ist keine wirksame Gegenmaßnahme gegen XXE-Angriffe?
Welche der folgenden Optionen ist keine wirksame Gegenmaßnahme gegen XXE-Angriffe?
Welche Sicherheitsmaßnahme sollte bei der Verwendung von XML-Parsern priorisiert werden, um XXE-Angriffen vorzubeugen?
Welche Sicherheitsmaßnahme sollte bei der Verwendung von XML-Parsern priorisiert werden, um XXE-Angriffen vorzubeugen?
Welche Aussage über JSON im Vergleich zu XML ist hinsichtlich XXE-Angriffen korrekt?
Welche Aussage über JSON im Vergleich zu XML ist hinsichtlich XXE-Angriffen korrekt?
Was ist die Hauptgefahr von XXE-Angriffen?
Was ist die Hauptgefahr von XXE-Angriffen?
Welche der folgenden Optionen ist eine empfohlene Vorgehensweise zur Vermeidung von XXE-Angriffen?
Welche der folgenden Optionen ist eine empfohlene Vorgehensweise zur Vermeidung von XXE-Angriffen?
Was ist eine XML-Entität?
Was ist eine XML-Entität?
Wie unterscheiden sich XXE-Angriffe vom typischen Cross-Site-Scripting?
Wie unterscheiden sich XXE-Angriffe vom typischen Cross-Site-Scripting?
Flashcards
Injection
Injection
Eingaben, die interpretiert werden, können schädlich sein.
Whitelist-Validierung
Whitelist-Validierung
Eingaben müssen mit einer strengen Whitelist validiert werden.
Prepared Statements
Prepared Statements
Bevorzugte Methode zur Vermeidung von SQL-Injections.
Escaping
Escaping
Signup and view all the flashcards
Rechtemanagement
Rechtemanagement
Signup and view all the flashcards
Defense in Depth
Defense in Depth
Signup and view all the flashcards
Sensitive Data Exposure
Sensitive Data Exposure
Signup and view all the flashcards
Broken Authentication
Broken Authentication
Signup and view all the flashcards
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Signup and view all the flashcards
Insufficient Logging & Monitoring
Insufficient Logging & Monitoring
Signup and view all the flashcards
XSS
XSS
Signup and view all the flashcards
Validierung von Eingaben
Validierung von Eingaben
Signup and view all the flashcards
Output-Escaping
Output-Escaping
Signup and view all the flashcards
HttpOnly-Flag
HttpOnly-Flag
Signup and view all the flashcards
OWASP Top 10
OWASP Top 10
Signup and view all the flashcards
DOM-basiertes XSS
DOM-basiertes XSS
Signup and view all the flashcards
Insecure Deserialization
Insecure Deserialization
Signup and view all the flashcards
Sensible Datenexposition
Sensible Datenexposition
Signup and view all the flashcards
Unsichere Deserialisierung
Unsichere Deserialisierung
Signup and view all the flashcards
Serialisierung
Serialisierung
Signup and view all the flashcards
Deserialisierung
Deserialisierung
Signup and view all the flashcards
JSON
JSON
Signup and view all the flashcards
XSS (Cross-Site Scripting)
XSS (Cross-Site Scripting)
Signup and view all the flashcards
Sichere Quellen für Objekte
Sichere Quellen für Objekte
Signup and view all the flashcards
Datenformat mit primitiven Datentypen
Datenformat mit primitiven Datentypen
Signup and view all the flashcards
Signierung von Objekten
Signierung von Objekten
Signup and view all the flashcards
Equifax Hack Beispiel
Equifax Hack Beispiel
Signup and view all the flashcards
Single Sign-On (SSO)
Single Sign-On (SSO)
Signup and view all the flashcards
Identity Provider
Identity Provider
Signup and view all the flashcards
SAML
SAML
Signup and view all the flashcards
Session Fixation Angriff
Session Fixation Angriff
Signup and view all the flashcards
Sicherheitsmaßnahmen
Sicherheitsmaßnahmen
Signup and view all the flashcards
XML External Entities (XXE)
XML External Entities (XXE)
Signup and view all the flashcards
DoS Angriff: Billion Laughs Attack
DoS Angriff: Billion Laughs Attack
Signup and view all the flashcards
Gegenmaßnahmen für XXE
Gegenmaßnahmen für XXE
Signup and view all the flashcards
XML-Whitelisting
XML-Whitelisting
Signup and view all the flashcards
Speicherbegrenzung für Parser
Speicherbegrenzung für Parser
Signup and view all the flashcards
Aktuelle XML-Parser
Aktuelle XML-Parser
Signup and view all the flashcards
Behandlung von Entitäten als Symbole
Behandlung von Entitäten als Symbole
Signup and view all the flashcards
OWASP XML XXE Prevention Cheat Sheet
OWASP XML XXE Prevention Cheat Sheet
Signup and view all the flashcards
Serielle Entitäten
Serielle Entitäten
Signup and view all the flashcards
XML-Definitionen
XML-Definitionen
Signup and view all the flashcards
Study Notes
Allgemeines
- Die Präsentation behandelt Grundlagen der sicheren Softwareentwicklung.
- Der Fokus liegt auf der Analyse und Prävention von Schwachstellen in Software.
- Das Thema Sicherheit steht im Mittelpunkt, insbesondere im Kontext von Webseiten und Webanwendungen.
Lernziele
- Sensibilisierung für das Thema Sicherheit in der Softwareentwicklung
- Verständnis gängiger Software-Schwachstellen
- Anwendung von Sicherheitsmaßnahmen in der Praxis
- Erkennen und Vermeiden von Angriffen
Organisatorisches
- Die Vorlesung folgt einem Modulsystem (SoSe 2024).
- Die Agenda beinhaltet organisatorische Details, Themenübersicht und Lernziele.
- Die Themen basieren auf OWASP Top 10 Listen.
- Die Veranstaltung wird wahrscheinlich in zwei Wochen stattfinden.
- Die Veranstaltung kann parallel zum Praktikum „Sichere Software-Entwicklung" (PSSWE) belegt werden.
Literatur
- OWASP Projekt (OWASP Top 10)
- Schäfers, Tim Philipp: Hacking im Web
- Howard, Michael; Le Blanc, David; Viega, John: 24 Deadly Sins of Software Security
Motivation: Heartbleed
- Schwerwiegender Sicherheitsfehler in der OpenSSL-Bibliothek
- Die Schwachstelle blieb 27 Monate unentdeckt (Januar 2012 – März 2014).
- Schwere Auswirkungen auf das Internet (betraf ca. 24 bis 55% der HTTPS-Server der Alexa Top 1 Million Liste)
- Die Schwachstelle ermöglichte Angreifern, große Datenmengen im Speicher von Servern auszuleesen (z. B. Passwörter, kryptographische Schlüssel).
Motivation: Wie geht ein Angreifer vor?
- Ein erfolgreicher Angriff besteht aus 4 Schritten
-
- Informationsgewinnung (z.B. Social Engineering, Netzwerkscanner)
-
- Ausnutzen von gefundenen Schwachstellen (z.B. „weakest link“ Prinzip)
-
- Aufrechterhaltung des Zugriffs (z.B. zusätzliche Accounts, Backdoors)
-
- Verwischen von Spuren (z.B. Logmanipulation, Rootkit-Installation)
HTTP
- HTTP ist ein IETF-Standard und das Protokoll des WWW.
- verschiedene Versionen existieren (z.B. HTTP/1.0, HTTP/1.1, HTTP/2)
- HTTP nutzt TCP für die Kommunikation zwischen Client und Server
- Jede Nachricht besteht aus Header und Body.
- Es gibt spezifische HTTP-Methoden wie GET, POST, PUT, DELETE, TRACE, OPTIONS und CONNECT.
- HTTP-Statuscodes geben den Erfolg oder den Fehler bei einer Anfrage an.
Cookies
- Cookies sind kleine Textdateien, die vom Server an den Client gesendet werden.
- Sie ermöglichen die Speicherung von Informationen auf dem Client-Gerät.
- Der Browser speichert diese auf dem Client, jedoch muss die Serverseite den Cookie widerrufen.
Clientseitige Sprachen
- HTML/CSS, XML, JavaScript/ECMAScript, Asynchronous JavaScript and XML (AJAX), JavaScript Object Notation (JSON), VBScript sind Beispiele für clientseitige Sprachen.
Serverseitige Sprachen
- PHP, ASP.NET, Ruby, Java, Scala, JavaScript, static files, Python, ColdFusion, Perl und Erlang sind Beispiele für serverseitige Skriptsprachen.
URL
- Uniform Resource Locator (URL) definiert den logischen Ort einer Ressource.
- Der Aufbau einer URL enthält Protokoll, Login, Hostname, Port, Pfad usw.
- URLs können in verschiedenen Formaten vorkommen, was die Sicherheit erschwert.
Document Object Model (DOM)
- Spezifikation einer Schnittstelle, die den Zugriff auf HTML und XML-Dokumente ermöglicht.
- Wird häufig mit JavaScript eingesetzt.
- Wichtige DOM-Eventhandler: document.head, document.body, document.cookie, document.referer.
Same Origin Policy (SOP)
- Sicherheitskonzept für clientseitige Skripte.
- Ein Skript kann nur auf Ressourcen zugreifen, die denselben Ursprung (Protokoll, Domäne, Port) haben.
- SOP verhindert unerwünschte Interaktionen zwischen Quellen.
Codierung/Decodierung
- Verschiedene Codierungen existieren, um Daten anders darzustellen.
- Codieren: Klartext in ein anderes Format (z.B. BASE64) umwandeln.
- Decodieren: Codierte Daten in Klartext umwandeln.
- Wichtig: Codierungen allein sind kein Sicherheitsfeature.
OWASP Top 10 (2017)
- Die Liste beschreibt die wichtigsten Webanwendungs-Schwachstellen, basierend auf einer Datenerhebung.
A1: Injection
- Ein Angreifer kann bösartigen Code in die Anwendung einfügen, der als Befehl ausgeführt wird.
- Gefährliche Konsequenzen, wie Datenverlust oder Systemeinschränkungen.
A2: Broken Authentication
- Sicherheitslücken im Authentifizierungsprozess ermöglichen den Zugriff auf Accounts durch Angreifer.
- Besonders schädlich, wenn der Account Zugriff auf sensible Daten hat.
A3: Sensitive Data Exposure
- Sensible Daten werden nicht ausreichend verschlüsselt oder geschützt gespeichert.
- Besonders gefährdet im „Data at Rest“ und im „Data in Motion“.
A4: XML External Entities (XXE)
- Schwachstelle im XML-Parser, die es Angreifern ermöglicht, bösartigen Code auszuführen.
A5: Broken Access Control
- Zugriffsrechte sind nicht korrekt implementiert.
- Autorisierungslücken ermöglichen den Zugriff auf ungeschützte Daten.
A6: Security Misconfiguration
- Fehlende oder schlecht konfigurierte Sicherheitsfeatures (z. B. Firewall, SSL).
A7: Cross-Site Scripting (XSS)
- Angreifer fügen bösartigen Code in die Website ein, der im Webbrowser des Opfers ausgeführt wird.
- Schwachstellen in der Input-Validierung können XSS ermöglichen.
A8: Insecure Deserialization
- Serialisierte Objekte werden ohne Sicherheitsüberprüfung in der Anwendung wiederhergestellt.
A9: Using Components with Known Vulnerabilities
- Verwendung von Komponenten mit bekannten Schwachstellen.
A10: Insufficient Logging & Monitoring
- Fehlende oder unvollständige Protokollierung und Überwachung von kritischen Aktionen.
Session Management
- Die Verwaltung von Benutzersitzungen ist wichtig, um nicht autorisierte Aktionen zu verhindern.
HTTP-Statuscodes
- verschiedene Statuscodes geben Auskunft über den Zustand einer HTTP Response (z.B. 200 OK, 404 Not Found).
Weitere Themen
- Weitere behandelt Themen (z. B. verschiedene Angriffe, wie man diese findet oder Sicherheitsrichtlinien) sind je nach Präsentationsplan unterschiedlich.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Dieser Quiz behandelt die Risiken und Sicherheitsmaßnahmen im Zusammenhang mit der Deserialisierung in der Softwareentwicklung. Teste dein Wissen über Insecure Deserialization und die damit verbundenen Angriffsmöglichkeiten sowie Methoden zur Risikominderung. Erkunde die relevanten Sicherheitsstandards und deren Anwendungen.