Schulungsübersicht
I. Einführung in das sichere Coding und die Sicherheit von Webanwendungen
1. Das Bedrohungsprofil moderner Webanwendungen
- Gängige Angriffsvektoren für Webanwendungen
- Sicherheitsrisiken in modernen ASP.NET-Anwendungen
- Die Rolle des sicheren Codings in der Softwareentwicklung
- Einführung in die OWASP Foundation und ihre Ressourcen
2. Prinzipien der sicheren Softwareentwicklung
- Sicherheit durch Design (Security by Design)
- Schutz durch mehrere Ebenen (Defense in Depth)
- Least-Privilege-Prinzip
- Sicheres Versagen (Fail Securely)
- Sichere Standardkonfigurationen
- Grundlagen des Threat Modelings
II. Sichere Entwicklungslebenszyklen (SDL)
1. Sichere Softwareentwicklungslebenszyklen
- Sicherheit über den gesamten Entwicklungslebenszyklus hinweg
- Sicherheitsanforderungen
- Sichere Architektur und Design
- Praktiken des sicheren Codings
- Sicherheitstests und Validierung
- Sichere Bereitstellung und Wartung
2. Risikobewertung und Threat Modeling
- Identifizierung von Vermögenswerten und Bedrohungen
- Analyse der Angriffsfläche (Attack Surface)
- Überblick über STRIDE
- Priorisierung von Sicherheitsrisiken
III. OWASP Top 10 für ASP.NET-Anwendungen
1. Das OWASP Top 10 verstehen
- Gestörter Zugriffskontrolle (Broken Access Control)
- Kryptografische Mängel (Cryptographic Failures)
- Injektionen (Injection)
- Unsicheres Design (Insecure Design)
- Fehlkonfigurationen der Sicherheit (Security Misconfiguration)
- Verwundbare und veraltete Komponenten
- Mängel in Identifizierung und Authentifizierung
- Mängel in Software- und Datenintegrität
- Mängel in der Protokollierung und Überwachung der Sicherheit
- Server-Seitige Anfragefälschung (SSRF)
2. Anwendung der OWASP-Empfehlungen
- Techniken des sicheren Codings
- Präventive Kontrollen
- Praktiken der sicheren Konfiguration
- Praxisbeispiele und Demonstrationen
IV. Sicherheit von Authentifizierung und Autorisierung
1. Grundlagen der Authentifizierung
- Authentifizierungsmechanismen in ASP.NET
- Passwortsicherheit
- Mehrstufige Authentifizierung (MFA)
- Sitzungsverwaltung (Session Management)
- Identitätsverwaltung
2. Autorisierung und Zugriffskontrolle
- Rollenbasierte Autorisierung
- Anspruchsbasierte Autorisierung (Claims-based)
- richtlinienbasierte Autorisierung
- Verhinderung von Privilegienaufstieg
- Schutz sensibler Ressourcen
V. Verhinderung von Injektionsangriffen
1. Verwundbarkeiten bei Injektionen
- SQL-Injection
- Befehls-Injection (Command Injection)
- LDAP-Injection
- XML-Injection
- Überblick über NoSQL-Injection
2. Techniken des sicheren Codings
- Parametrisierte Abfragen
- Eingabvalidierung (Input Validation)
- Ausgabe-Kodierung (Output Encoding)
- Sicherheitsaspekte bei ORMs
- Sichere Praktiken für den Datenbankzugriff
VI. Verhinderung von Cross-Site Scripting (XSS)
1. XSS verstehen
- Gespeichertes XSS (Stored XSS)
- Reflektiertes XSS (Reflected XSS)
- DOM-basiertes XSS
- Angriffsszenarien
2. XSS-Verhinderung
- Ausgabe-Kodierung (Output Encoding)
- Eingabvalidierung
- Content Security Policy (CSP)
- Sichere Behandlung von HTML und JavaScript
- ASP.NET-Sicherheitsfunktionen zur XSS-Verhinderung
VII. Verhinderung von Cross-Site Request Forgery (CSRF)
1. CSRF verstehen
- Funktionweise von CSRF-Angriffen
- Gängige Angriffsszenarien
- Geschäftliche Auswirkungen
2. CSRF-Schutz
- Anti-Forgery-Tokens
- SameSite-Cookies
- Sichere Sitzungsverwaltung
- Anti-Forgery-Mechanismen von ASP.NET
VIII. Sichere Konfiguration von ASP.NET-Anwendungen
1. ASP.NET-Sicherheitsfunktionen
- Sicherheit der Konfiguration
- Sichere HTTP-Header
- Konfiguration von HTTPS und TLS
- Verwaltung von Geheimnissen (Secrets Management)
- Sichere Fehlerbehandlung
2. Schutz sensibler Daten
- APIs für den Datenschutz (Data Protection)
- Sichere Speicherung von Anmeldeinformationen
- Grundlagen der Verschlüsselung
- Schlüsselverwaltung
IX. Eingabvalidierung und sichere Datenverarbeitung
1. Validierung der Benutzereingaben
- Weißlisten vs. Schwarze Listen (Whitelisting vs. Blacklisting)
- Serverseitige Validierung
- Erwägungen zur Client-seitigen Validierung
- Sicherheit beim Dateiupload
2. Sichere Datenverarbeitung
- Sicherheit bei der Serialisierung
- Risiken bei der Deserialisierung
- Datenintegrität
- Sichere Protokollierpraktiken
X. Penetrationstesting und Sicherheitsverifizierung
1. Methodik des Penetrationstestings
- Planung von Sicherheitsprüfungen
- Identifizierung von Schwachstellen
- Begriffe zur Ausnutzung von Schwachstellen
- Berichterstattung von Befunden
2. Techniken der Sicherheitstests
- 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 von Praktiken des sicheren Codings
- Implementierung der sicheren Authentifizierung
- Implementierung der sicheren Autorisierung
- Sitzungssicherheit
- Ausnahmetypenbehandlung (Exception Handling)
- Protokollierung und Überwachung
- Erwägungen für die sichere Bereitstellung
2. Best Practices für die Sicherheit
- Standards für sicheres Coding
- Verwaltung von Abhängigkeiten
- Verwaltung von Patches
- Fortlaufende Verbesserung der Sicherheit
XII. Praxisworkshop zur Sicherheit
1. Identifizierung und Ausnutzung gängiger 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 sicheren Coding-Fixes
- Validierung der Gegenmaßnahmen
- Testen behebter Anwendungen
- Übung zur Überprüfung sicheren Codings
XIII. Zusammenfassung und Kurswiederholung
1. Wiederholung der Kernkonzepte
- Prinzipien des sicheren Designs
- Minderungsstrategien für das OWASP Top 10
- ASP.NET-Sicherheitsfunktionen
- Sicherer Entwicklungslebenszyklus
2. Abschließende Diskussion
- Best Practices für sicheres Coding
- Integration der Sicherheit in Entwicklungsteams
- Zusätzliche OWASP-Ressourcen und -Werkzeuge
- Fragen & Antworten und nächste Schritte
Voraussetzungen
Kenntnisse mit ASP.NET
Erfahrung in der Erstellung 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