Schulungsübersicht
Grundlagen der IT-Sicherheit und des sicheren Programmierens
- Einführung in Bedrohungsmodellierung: STRIDE, Angriffsflächen sowie Mechanismen zur Privilegieneskalation
- Integration in den gesicherten SDLC: frühzeitige Sicherheitsbeachtung, bedrohungsorientierte Design-Reviews und Prinzip der Verteidigung in Tiefe
- Prinzip der geringsten Privilegien, vertragliche Sicherheit sowie sichere Standardkonfigurationen
- Workshop: Zuordnung eines .NET-Microservices zu einem Bedrohungsmodell und Identifizierung architektonischer Sicherheitsmaßnahmen
Sicherheit von Webapplikationen in ASP.NET
- Der Anfrage-Workflow in ASP.NET, Ausführungsreihenfolge der Middleware-Komponenten sowie Interceptionspunkte für Filter
- Risiken im HTTP-Protokoll: Header-Injektionen, Request Smuggling und falsch konfigurierte CORS-Einstellungen
- Best Practices zur Verwaltung von Sitzungen, Speicherung des Zustands sowie Sicherheit von Cookies
- Sichere Realisierung von Remote Procedure Calls und nutzerfreundliche Integration externer APIs
- Labor: Ausnutzung sowie Behebung einer verwundbaren Middleware-Kette in einer ASP.NET-Beispielanwendung
.NET-Sicherheitsarchitektur und integrierte Dienste
- Sicherheitsmodell des CLR: Beweismittel, Berechtigungen sowie Entwicklung der Code Access Security (CAS)
- ASP.NET Core Identity, verschiedene Authentifizierungsschemata sowie tokenbasierte Sicherheit (JWT, OAuth2, OpenID Connect)
- Data Protection API: Verschlüsselung, Schlüsselrotation und sichere Serialisierung von Daten
- Kryptografische Funktionen in .NET: Zufallszahlengeneratoren, Hashalgorithmen sowie symmetrische/asymmetrische Verschlüsselungsverfahren und Signaturen-Validierung
- Labor: Implementierung einer sicheren Token-Ausstellung, Schlüsselrotation sowie Datenschutzmaßnahmen zwischen Microservices
Häufige Programmierfehler, Schwachstellen und deren Abhilfen
- Deserialisierungsangriffe, Manipulation des ViewStates sowie Gefahren durch String-Terminierung bzw. Pufferüberläufe in .NET
- Konfigurationsfehler: Probleme mit web.config/appsettings.json, unbewusste Exponierung von Umgebungsvariablen und schlechte Geheimverwaltung
- Injektionsvektoren wie SQL-, Befehls-, XSS- sowie LDAP-Angriffe bei der Datenzugriffskodierung bzw. im Routingbereich in C#
- Unsichere Standardeinstellungen, Hardcoding und fehlerhafte Fehlerbehandlung als Ursache für Informationslecks
- Labor: Reverse Engineering eines verwundbaren .NET-Moduls, Implementierung sichererer Muster sowie Validierung der Korrekturen mittels statischer und dynamischer Analysewerkzeuge
Sicherheitstests, Validierung und kontinuierliche Verbesserung
- Statische Anwendungssicherheitsprüfungen (SAST): Roslyn-Analysatoren, Security Code Scan sowie Integration in CI/CD-Pipelines
- Dynamische Anwendungssicherheitsüberprüfungen (DAST): OWASP ZAP, Workflows mit Burp Suite sowie automatisierte Scans
- Laufzeit-Schutzmaßnahmen: Application Guardrails, Verfahren zum Schutz vor Speicherschwachstellen sowie sichere Logging- und Auditing-Praktiken
- Verwaltung von Sicherheitsupdates, Nachverfolgung abhängiger Komponenten sowie Reaktion auf offizielle Sicherheitsempfehlungen zu .NET und ASP.NET
- Labor: Erstellung eines Sicherheits-Check-Mechanismus für die Entwicklungspipeline einer .NET-Lösung
Wissensquellen sowie Ökosystem sicherer Softwareentwicklung
- Offizielle Sicherheitsleitlinien von Microsoft, Dokumentation zu .NET-Sicherheit und Empfehlungen zur ASP.NET-Härtung
- Datenbanken mit CVEs, informative Security-Advisories sowie Mechanismen zum verantwortungsvollen Offenlegen von Sicherheitslücken bei Open-Source-Komponenten
- Sichere Bibliothek-Ökosysteme: PGP, kryptographische Operationen, Authentifizierungs-Raster und konforme Kryptografie-Module
- Erarbeitung interner Richtlinien für sicheres Programmieren, Unterstützung der Entwickler sowie Programme zur Förderung von Sicherheitsbewusstsein
- Workshop: Zusammenstellung eines persönlichen Werkzeugsets für die sichere Softwareentwicklung und Etablierung von Monitoring-Maßnahmen
Voraussetzungen
- Solide Kenntnisse in der C#-Programmierung sowie grundlegende Verständnis des .NET-Frameworks
- Vertrautheit mit der ASP.NET-Webentwicklung (Razor Pages, MVC oder Minimal APIs)
- Basiswissen zu HTTP, Routing und Webserver-Konzepten
- Eine vorherige Sicherheitszertifizierung ist nicht erforderlich; jedoch werden Erfahrungen aus der Produktionsprogrammierung erwartet
Erfahrungsberichte (6)
Die Leidenschaft mit der der Trainer sein Wissen verbreitet.
Christoph Weiland - Regionalverband Saarbrucken
Kurs - .NET, C# and ASP.NET Security Development
Es ist sehr gut zu verstehen, wie ein Hacker möglicherweise Websites auf Schwachstellen analysieren und welche Tools er verwenden könnte.
Roger - OTT Mobile
Kurs - .NET, C# and ASP.NET Security Development
Maschinelle Übersetzung
die albernen Witze. Liebe die ersten beiden Tage, weil es die Labore gibt.
Kevin Galacgac - Human Edge Software Philippines, Inc.
Kurs - .NET, C# and ASP.NET Security Development
Maschinelle Übersetzung
Der Trainer schafft es wirklich, uns zu erreichen und sicherzustellen, dass niemand beim aktuellen Thema übergangen wird. Er erklärt jedes Thema gut und gibt ein leicht verständliches Beispiel dazu.
Edgarico Llaneta - Human Edge Software Philippines, Inc.
Kurs - .NET, C# and ASP.NET Security Development
Maschinelle Übersetzung
Die praxisorientierte Schulung und die Beispiele.
Lord-Sam Lamparero - Human Edge Software Philippines, Inc.
Kurs - .NET, C# and ASP.NET Security Development
Maschinelle Übersetzung
I was benefit from the exercises (SQL injection, XSS, CRSF. .).
David Lemoine - Statistical Solutions
Kurs - .NET, C# and ASP.NET Security Development
Maschinelle Übersetzung