Ein dreitägiger Praxisworkshop zur Absicherung von .NET-Anwendungen, Azure-Diensten und KI-Agenten mit moderner Identität, sicherem Code, Bedrohungsmodellierung und DevSecOps.
Sichere Programmierung mit .NET und Microsoft Azure
Dauer: 3 Tage
Moderne Anwendungen müssen APIs, Identitäten, Daten und zunehmend auch die in ihrem Auftrag handelnden KI-Agenten schützen. Dieser Workshop verbindet sicheren Entwurf mit der praktischen Umsetzung in .NET 10, ASP.NET Core und Microsoft Azure. Die Teilnehmenden härten eine Anwendung schrittweise, behandeln aktuelle OWASP-Risiken und sichern KI-Funktionen mit gestaffelten Schutzmaßnahmen ab, ohne Modellausgaben oder Sicherheitsfilter als Sicherheitsgrenze zu betrachten. DSGVO-Aspekte werden aus technischer Sicht behandelt; der Workshop ersetzt keine Rechtsberatung und bestätigt keine Compliance.
Zielgruppe
- C#- und .NET-Entwickler, die Webanwendungen, APIs und Dienste erstellen
- Softwarearchitekten und technische Teamleiter, die Azure- oder On-Premises-Systeme entwerfen
- Entwickler, die KI-Assistenten, Retrieval-Augmented Generation (RAG) oder Agenten in .NET-Anwendungen integrieren
- DevSecOps Engineers mit Verantwortung für sichere Builds, Deployments und den Betrieb
Voraussetzungen
- Praktische Erfahrung mit C#, Dependency Injection und asynchronem .NET-Code
- Vertrautheit mit ASP.NET Core, HTTP-APIs und grundlegenden Authentifizierungskonzepten
- Grundkenntnisse in Azure und Git; keine Vorkenntnisse in KI-Sicherheit erforderlich
- Eine vorbereitete Entwicklungsumgebung wie unten beschrieben
Lernziele
- Bedrohungen für Anwendungen und KI-Systeme mit Bedrohungsmodellierung und aktueller OWASP-Empfehlung identifizieren
- Injection, fehlerhafte Zugriffskontrolle, Request Forgery und unsichere Fehlerbehandlung in ASP.NET Core verhindern
- Moderne Authentifizierung sowie richtlinien- und ressourcenbasierte Autorisierung implementieren
- Geheimnisse, personenbezogene Daten, kryptografische Schlüssel und die Kommunikation zwischen Diensten schützen
- KI-Agenten und MCP-Tools durch minimale Berechtigungen und explizite Autorisierung begrenzen
- Schutzmaßnahmen gegen Prompt Injection, RAG-Isolation und die Verarbeitung von Modellausgaben mit wiederholbaren Tests bewerten
- Abhängigkeitsprüfungen, Sicherheitstests und geschützte Deployments in CI/CD integrieren
- Sicherheitsvorfälle mit aussagekräftigen, datenschutzbewussten Logs, Traces und Alarmen erkennen
Kursinhalt
Tag 1: Sicherer Entwurf und aktuelle Anwendungsrisiken
- Bedrohungsmodellierung mit STRIDE, Vertrauensgrenzen, sichere Standardeinstellungen, minimale Berechtigungen und Zero-Trust-Prinzipien
- OWASP Top 10:2025: A01 Broken Access Control, A02 Security Misconfiguration, A03 Software Supply Chain Failures, A04 Cryptographic Failures und A05 Injection
- A06 Insecure Design, A07 Authentication Failures, A08 Software or Data Integrity Failures, A09 Security Logging and Alerting Failures und A10 Mishandling of Exceptional Conditions
- Datenklassifizierung, Datenminimierung, Aufbewahrung, Betroffenenrechte und Verzeichnisse von Verarbeitungstätigkeiten für einen DSGVO-bewussten Entwurf
Tag 1: Sichere Programmierung mit ASP.NET Core
- SQL-/NoSQL-/ORM-Injection verhindern, parametrisierte Abfragen und sichere Verwendung von Entity Framework Core
- Eingabevalidierung mit Data Annotations und FluentValidation; Zeitlimits für reguläre Ausdrücke und sicheres Parsing
- XSS-Prävention, Ausgabekodierung, Content Security Policy (CSP) und sichere Datei-Uploads
- Antiforgery-Schutz für Cookie-authentifizierte Anfragen; Grenzen von CORS und Schutz vor SSRF
- Sichere ProblemDetails-Antworten, Fail-Closed-Fehlerbehandlung, Anfragebegrenzungen, Rate Limiting, Timeouts und Circuit Breaker
Tag 2: Identität, Authentifizierung und Autorisierung in .NET 10
- Microsoft Entra ID, OpenID Connect, OAuth Authorization Code Flow mit PKCE und Tokenvalidierung
- Passkeys in ASP.NET Core Identity: phishingresistente Anmeldung, Registrierung und Überlegungen zur Kontowiederherstellung
- Cookie- und Tokensicherheit, sichere Sitzungsverwaltung und Backend-for-Frontend-Muster (BFF) für Browserclients
- Cookie-Authentifizierung in .NET 10: Antworten mit 401/403 statt Anmeldeumleitungen für bekannte API-Endpunkte
- Richtlinien- und ressourcenbasierte Autorisierung, Zugriffsprüfungen auf Objektebene, Mandantentrennung und Identitäten für die Kommunikation zwischen Diensten
Tag 2: Datenschutz und sicherer Azure-Betrieb
- TLS, HSTS, Zertifikatsvalidierung und das Vermeiden unsicherer Entwicklungseinstellungen im Produktivbetrieb
- ASP.NET Core Data Protection: Zweckbindung, gemeinsame Schlüsselringe, Verschlüsselung, Rotation und Hosting mit mehreren Instanzen
- Azure Key Vault, Managed Identities, Workload Identity Federation und validierte umgebungsspezifische Konfiguration
- Strukturiertes und quellgeneriertes Logging, Scopes, Maskierung personenbezogener Daten und Geheimnisse sowie geschützte Audit-Trails
- OpenTelemetry, Azure Monitor/Application Insights und das Aspire-Dashboard; handlungsorientierte Alarme und Reaktion auf Sicherheitsvorfälle
Tag 3: Sicherheit für KI-Anwendungen, Agenten und MCP
- OWASP Top 10 for LLM Applications: Prompt Injection, Offenlegung sensibler Informationen, unsichere Ausgabeverarbeitung, übermäßige Handlungsbefugnisse und unbegrenzter Ressourcenverbrauch
- Direkte und indirekte Prompt Injection in Dokumenten, Repositories, abgerufenen Inhalten und Toolantworten; externe Inhalte als nicht vertrauenswürdige Daten behandeln
- RAG-Sicherheit: Autorisierung vor dem Abruf, mandantenbezogene Filter, Isolation von Vektorspeichern, Datenherkunft und Risiken durch Datenvergiftung
- Tool-Allowlisten, Schema- und Argumentvalidierung, serverseitige Autorisierung jeder Aktion, Sandboxing und menschliche Freigabe für folgenreiche Aktionen
- MCP-Sicherheitspraktiken: begrenzte Zugriffsrechte, Audience-Validierung, Vermeiden von Token Passthrough und Schutz vor Confused-Deputy-Problemen
- Azure AI Content Safety und Prompt Shields als zusätzliche Schutzschichten, nicht als Ersatz für Autorisierung oder Isolation
- Ausgabevalidierung und -kodierung, sichere Darstellung, Umgang mit sensiblen Daten, Token-/Kostenbudgets und Sicherheitsbewertungen in den unterstützten Sprachen
- Sicherer Einsatz von KI-Programmierassistenten: generierten Code, Abhängigkeiten und Toolberechtigungen prüfen; Repository-Geheimnisse und vertrauliche Daten schützen
Tag 3: Software-Lieferkette, Sicherheitstests und Deployment
- NuGet Audit in .NET 10: standardmäßige Prüfung direkter und transitiver Abhängigkeiten für Projekte mit Ziel net10.0 oder höher; Schweregradgrenzen und geprüfte Unterdrückungen
- Sicherheitsupdates für SDK und Runtime, Sicherheitshinweise, Abhängigkeitsupdates, Package Source Mapping, Lockdateien, SBOMs, Signierung und Artefaktherkunft
- Secret Scanning, Dependency Review, SAST mit CodeQL/Analyzern, DAST, Fuzzing und negative Autorisierungstests
- GitHub-Actions-Workflows mit minimalen Berechtigungen, OIDC-Föderation, geschützte Umgebungen und Konfigurationsprüfungen vor dem Deployment
- Container ohne Root-Rechte, minimale Images, Härtung von Azure App Service/Container Apps und Azure Policy
- Wiederholbare KI-Sicherheitsbewertungen und Regressionstests; Restrisiken und Maßnahmen für Sicherheitsvorfälle dokumentieren
Praktische Übungen
- Ein Bedrohungsmodell für eine .NET-API und ihre KI-Integration erstellen; Vertrauensgrenzen identifizieren und Gegenmaßnahmen priorisieren
- Injection- und XSS-Schwachstellen beheben; Anfragevalidierung, Antiforgery-Schutz, sichere Header und sichere Fehlerantworten ergänzen
- Entra-ID-Authentifizierung und ressourcenbasierte Autorisierung ergänzen; verweigerten Zugriff auf fremde Benutzerdaten und API-Antworten mit 401/403 überprüfen
- Passkey-Anmeldung in einem ASP.NET-Core-Identity-Beispiel konfigurieren und Kontrollen für Registrierung und Wiederherstellung prüfen
- Geheimnisse mit Managed Identity nach Azure Key Vault verlagern; gemeinsame Data-Protection-Schlüssel konfigurieren und maskierte Telemetrie überprüfen
- Eine RAG-/Agentenanwendung gegen indirekte Prompt Injection härten; Abrufautorisierung, Toolberechtigungen, Ausgabevalidierung und Freigabeschritte erzwingen
- KI-Sicherheitsbewertungen mit synthetischen Daten durchführen und Ergebnisse der Schutzfilter mit den durchgesetzten Anwendungskontrollen vergleichen
- Direkte und transitive Pakete prüfen, eine SBOM erstellen und einen gehärteten Build über eine Pipeline mit minimalen Berechtigungen bereitstellen
Ergebnisse
Die Teilnehmenden nehmen eine gehärtete .NET-Anwendung, getestete Autorisierungs- und KI-Schutzmaßnahmen sowie eine praktische Checkliste für sichere Entwicklung und Bereitstellung mit. Sie können Risiken für Anwendungen und Agenten bewerten, gestaffelte Kontrollen implementieren und diese mithilfe von Sicherheitstelemetrie und CI/CD-Prüfungen bei Änderungen an Abhängigkeiten, Modellen und Clouddiensten aufrechterhalten.
Entwicklungsumgebung
Windows, macOS oder Linux mit dem aktuell gepatchten .NET-10-SDK, Git und Visual Studio 2026 oder Visual Studio Code mit C#-Werkzeugen. Für die Passkey-Übung werden ein aktueller WebAuthn-fähiger Browser und ein Plattformauthentifikator oder Sicherheitsschlüssel benötigt. Azure-Übungen erfordern ein Abonnement mit Berechtigungen zur Bereitstellung der vereinbarten Schulungsressourcen und Zugang zu einem unterstützten KI-Modell-Deployment; für Pipelineübungen ist ein GitHub-Konto erforderlich. Es werden ausschließlich eine isolierte Schulungsumgebung und synthetische Daten verwendet. Für Azure- und Modellnutzung können Kosten entstehen; Ressourcenzugriff und Übungsvorbereitung werden vor dem Workshop abgestimmt.