Schulungsübersicht
I. Einführung in sicheres Coding und Websicherheit
1. Moderne Bedrohungslandschaft für Webanwendungen
- Häufige Angriffsvektoren bei Webanwendungen
- Sicherheitsrisiken in modernen ASP.NET-Anwendungen
- Die Rolle von sicherem Coding in der Softwareentwicklung
- Einführung in die OWASP Foundation und deren Ressourcen
2. Grundsätze für sichere Softwareentwicklung
- Security by Design
- Defense in Depth
- Least Privilege
- Fail Securely
- Sichere Standardvorgaben (Secure Defaults)
- Grundlagen des Threat Modelling
II. Lebenszyklus der sicheren Entwicklung (SDL)
1. Lebenszyklus der sicheren Softwareentwicklung
- Sicherheit über den gesamten Entwicklungslebenszyklus
- Sicherheitsanforderungen
- Sichere Architektur und Design
- Sichere Coding-Praktiken
- Security Testing und Validierung
- Sichere Bereitstellung und Wartung
2. Risikobewertung und Threat Modelling
- Identifizierung von Assets und Bedrohungen
- Analyse der Angriffsfläche (Attack Surface Analysis)
- Übersicht über STRIDE
- Priorisierung von Sicherheitsrisiken
III. OWASP Top 10 für ASP.NET-Anwendungen
1. Verständnis der OWASP Top 10
- Defekter Zugriffsschutz (Broken Access Control)
- Kryptografische Fehler (Cryptographic Failures)
- Injektion (Injection)
- Unsicheres Design (Insecure Design)
- Sicherheitsfehler in der Konfiguration (Security Misconfiguration)
- Anfällige und veraltete Komponenten (Vulnerable and Outdated Components)
- Fehler bei Identifizierung und Authentifizierung (Identification and Authentication Failures)
- Fehler bei der Software- und Datenintegrität (Software and Data Integrity Failures)
- Fehler beim Logging und Monitoring (Security Logging and Monitoring Failures)
- Server Side Request Forgery (SSRF)
2. Anwendung der OWASP-Empfehlungen
- Sichere Coding-Techniken
- Präventive Kontrollen
- Sichere Konfigurationspraktiken
- Praxisbeispiele und Demonstrationen
IV. Sicherheit bei Authentifizierung und Autorisierung
1. Grundlagen der Authentifizierung
- Authentifizierungsmechanismen in ASP.NET
- Passwortsicherheit
- Mehrfachfaktor-Authentifizierung (Multi-Factor Authentication)
- Sitzungsverwaltung (Session Management)
- Identitätsmanagement
2. Autorisierung und Zugriffskontrolle
- Rollenbasierte Autorisierung
- Anspruchs-basierte Autorisierung (Claims-based Authorization)
- Richtlinienbasierte Autorisierung (Policy-based Authorization)
- Vermeidung von Privilegieneskalation
- Schutz sensibler Ressourcen
V. Verhinderung von Injektionsangriffen
1. Schwachstellen durch Injektion
- SQL-Injection
- Befehlsinjection (Command Injection)
- LDAP-Injection
- XML-Injection
- Übersicht über NoSQL-Injection
2. Sichere Coding-Techniken
- Parametrisierte Abfragen (Parameterized Queries)
- Eingabevalidierung
- Ausgabecodierung (Output Encoding)
- Sicherheitsaspekte von ORM-Lösungen
- Sichere Praktiken für den Datenbankzugriff
VI. Verhinderung von Cross-Site Scripting (XSS)
1. Verständnis von XSS
- Gespeichertes XSS (Stored XSS)
- Gereflektiertes XSS (Reflected XSS)
- DOM-basiertes XSS
- Angriffsszenarien
2. Verhinderung von XSS
- Ausgabecodierung (Output Encoding)
- Eingabevalidierung
- Inhaltssicherheitsrichtlinie (Content Security Policy, CSP)
- Sicherer Umgang mit HTML und JavaScript
- ASP.NET-Sicherheitsfeatures zur XSS-Prävention
VII. Verhinderung von Cross-Site Request Forgery (CSRF)
1. Verständnis von CSRF
- Funktionsweise von CSRF-Angriffen
- Häufige Angriffsszenarien
- Geschäftliche Auswirkungen
2. Schutz vor CSRF
- Anti-Forgery-Tokens
- SameSite-Cookies
- Sichere Sitzungsverwaltung
- ASP.NET Anti-Forgery-Mechanismen
VIII. Sichere Konfiguration von ASP.NET-Anwendungen
1. Sicherheitsfeatures in ASP.NET
- Sicherheit der Konfiguration
- Sichere HTTP-Header
- Konfiguration von HTTPS und TLS
- Management von Geheimnissen (Secrets Management)
- Sichere Fehlerbehandlung
2. Schutz sensibler Daten
- Data Protection APIs
- Sichere Speicherung von Zugangsdaten
- Grundlagen der Verschlüsselung
- Key Management
IX. Eingabevalidierung und sicherer Umgang mit Daten
1. Validierung von Benutzereingaben
- Whitelisting versus Blacklisting
- Serverseitige Validierung
- Betrachtungen zur clientseitigen Validierung
- Sicherheit bei Dateidrag-&-Drop oder Dateiuploads
2. Sichere Datenverarbeitung
- Sicherheit der Serialisierung
- Risiken durch Deserialisierung
- Datenintegrität
- Sichere Logging-Praktiken
X. Penetration Testing und Sicherheitsüberprüfung
1. Methodik für Penetration Tests
- Planung von Security-Assessments
- Identifizierung von Schwachstellen
- Konzepte der Ausnutzung (Exploitation)
- Erstellung von Berichten über Befunde
2. Techniken des Security Testings
- Statische Anwendungssicherheitstests (SAST)
- Dynamische Anwendungssicherheitstests (DAST)
- Interaktive Anwendungssicherheitstests (IAST)
- Abhängigkeits- und Komponentenanalyse
- Manuelle Codeüberprüfung
XI. Absicherung von ASP.NET-Anwendungen
1. Anwendung sicherer Coding-Praktiken
- Sichere Implementierung der Authentifizierung
- Sichere Implementierung der Autorisierung
- Sitzungssicherheit
- Fehlerbehandlung (Exception Handling)
- Logging und Monitoring
- Gesichtspunkte für die sichere Bereitstellung
2. Best Practices für die Sicherheit
- Standards für sicheres Coding
- Management von Abhängigkeiten (Dependency Management)
- Patch-Management
- Kontinuierliche Verbesserung der Sicherheit
XII. Praktischer Security-Workshop
1. Identifizierung und Ausnutzung häufiger Schwachstellen
- Analyse unsicheren ASP.NET-Codes
- Identifizierung von OWASP Top 10-Schwachstellen
- Verständnis von Angriffstechniken
- Bewertung der Anwendungssicherheit
2. Behebung von Sicherheitsproblemen
- Anwendung von Fixes für sicheres Coding
- Validierung der Gegenmaßnahmen
- Testen der korrigierten Anwendungen
- Übung zur Überprüfung von sicherem Coding
XIII. Zusammenfassung und Kursübersicht
1. Wiederholung der wichtigsten Konzepte
- Grundsätze für sicheres Design
- Minderungsstrategien für die OWASP Top 10
- Sicherheitsfeatures von ASP.NET
- Lebenszyklus der sicheren Entwicklung
2. Abschlussdiskussion
- Best Practices für sicheres Coding
- Integration von Sicherheit in Entwicklungsteams
- Zusätzliche OWASP-Ressourcen und Tools
- Fragen & Antworten und nächste Schritte
Voraussetzungen
Erfahrung mit ASP.NET.
Erfahrung im Erstellen von Webanwendungen.
Erfahrungsberichte (5)
Einführungen in die vielen verschiedenen Arten von unsicheren Verhaltensweisen.
Zhongqi
Kurs - Secure Developer .NET (Inc OWASP)
Maschinelle Übersetzung
Eine Einzelstunde mit Raymond war fantastisch. Er war sehr aufmerksam und erfüllte alle meine Trainingsbedürfnisse.
Joshua
Kurs - Secure Developer .NET (Inc OWASP)
Maschinelle Übersetzung
Das hohe Niveau der Kenntnisse des Dozenten bedeutete, dass wir ein sehr gutes Einblick in die behandelten Themen erhielten.
Dafydd - TATA Steel
Kurs - Secure Developer .NET (Inc OWASP)
Maschinelle Übersetzung
die Referenzlinks
Abraham Gonzalez - ATEB Servicios
Kurs - Secure Developer .NET (Inc OWASP)
Maschinelle Übersetzung
Das Fachwissen des Trainers war ausgezeichnet, und die Art und Weise, wie die Sitzungen strukturiert waren, damit das Publikum den Demonstrationen folgen konnte, half wirklich dabei, dieses Wissen zu vertiefen, im Vergleich dazu, einfach nur zuzuhören.
Jack Allan - RSM UK Management Ltd.
Kurs - Secure Developer .NET (Inc OWASP)
Maschinelle Übersetzung