Corso completo

Sviluppare applicazioni web .NET sicure

Questo corso intensivo, ideale per gli sviluppatori di applicazioni .NET, insegna metodi e approcci per sviluppare applicazioni web .NET sicure. Include esercitazioni pratiche basate su applicazioni web .NET.

Dettagli

Panoramica del corso

Il corso è pensato per gli sviluppatori web .NET che vogliono realizzare e mantenere applicazioni sicure sullo stack .NET attuale. Parte da dove nascono le vulnerabilità nei progetti ASP.NET Core MVC, Razor Pages e Web API e dalle funzionalità del framework che le prevengono. Ogni classe di vulnerabilità viene affrontata prima dal lato dell'attaccante, su un'applicazione .NET realistica, e poi corretta con gli strumenti che uno sviluppatore .NET già usa: accesso parametrizzato e LINQ con Entity Framework Core per le injection, output encoding in Razor per l'XSS, ASP.NET Core Identity per l'autenticazione, i middleware nativi Antiforgery e CORS, la Data Protection API per token e cookie e i security header (inclusa una Content Security Policy) configurati esplicitamente. Nelle esercitazioni i partecipanti sfruttano una falla su una codebase reale, la correggono come farebbero in produzione e verificano che la correzione tenga. Il corso copre anche il livello di hosting, con la configurazione di Kestrel e IIS e l'igiene delle dipendenze NuGet, perché il codice sicuro ha comunque bisogno di una piattaforma sicura sotto. È adatto a sviluppatori .NET, tech lead e architetti che vogliono scrivere codice sicuro e reggere una security review.

Requisiti

  • Conoscenza di base dell'architettura delle applicazioni web e del funzionamento del protocollo HTTP/HTTPS.

  • Conoscenza operativa di C# e dell'ecosistema .NET / ASP.NET Core (MVC, Razor Pages o Web API).

  • Non è richiesta alcuna esperienza pregressa di application security; la prospettiva dell'attaccante viene insegnata dalle basi.

Contenuti del corso

  • Introduzione all'application security: concetti fondamentali, la OWASP Top 10 e cosa significa "secure by default" nell'ecosistema .NET.

  • Secure Software Development Life Cycle (S-SDLC): integrare la sicurezza in progettazione, code review, CI/CD e testing dei progetti .NET.

  • Metodologie di assessment (black box vs white box): confronto tra testing esterno e revisione del codice C#/.NET a partire dai sorgenti.

  • Strumenti e risorse: usare Burp Suite per ispezionare il traffico ASP.NET Core, oltre ad analyzer, librerie e linee guida a supporto dello sviluppo sicuro in .NET.

  • Bug Bounty: come funzionano i programmi e come un'azienda può adottarli, insieme ai penetration test, per continuare a far emergere nuove vulnerabilità all'interno di un processo di sviluppo sicuro.


  • Principi di secure coding in .NET: default difensivi, API sicure del framework ed evitare pattern pericolosi in C#.

  • Information Gathering & Configuration Management: prevenire la fuga di informazioni tramite pagine di errore, stack trace verbosi e configurazioni di appsettings ed environment errate.

  • Injection - vulnerabilità e difesa: SQL injection e Cross-Site Scripting (XSS) in .NET, corretti con query parametrizzate, Entity Framework Core / LINQ e output encoding in Razor.


  • Authentication - vulnerabilità e difesa: falle di autenticazione comuni e implementazione sicura con ASP.NET Core Identity, archiviazione robusta delle password e flussi di protezione degli account.

  • Authorization - vulnerabilità e difesa: autorizzazione basata su ruoli, claim e policy, e prevenzione di IDOR e privilege escalation.

  • Prevenzione degli attacchi basati sull'Application Logic: mettere in sicurezza workflow multi-step e regole di business che gli scanner automatici non rilevano.

  • Cryptography - vulnerabilità e difesa: uso corretto della .NET Data Protection API per token e cookie, algoritmi moderni e gestione sicura di chiavi e segreti con Secret Manager e Azure Key Vault.

  • REST API Security: proteggere endpoint, token e autorizzazione delle Web API ASP.NET Core per l'accesso client e service-to-service.


  • Data Validation - vulnerabilità e difesa: model binding e validazione, protezione da over-posting / mass assignment e sanitizzazione dell'input.

  • Session Management - vulnerabilità e difesa: CSRF e session fixation, mitigati con l'Antiforgery di ASP.NET Core e una configurazione sicura dei cookie.

  • Logging e monitoraggio: registrare gli eventi rilevanti per la sicurezza a fini di detection e incident response senza esporre dati sensibili.

  • Client-side - vulnerabilità e difesa: misconfigurazioni CORS, Clickjacking e hardening tramite security header configurati esplicitamente, inclusa una Content Security Policy.

  • Denial of Service - vulnerabilità e difesa: condizioni di DoS a livello applicativo e mitigazione, incluse rate limiting e limiti sulle richieste.

  • IIS Hardening & .NET runtime security: mettere in sicurezza l'hosting Kestrel/IIS e l'igiene delle dipendenze e della supply chain NuGet.


Il tuo docente

  • TBD Docente Senior

Corsi correlati
  • new

    Corso completo

    Secure Coding con l'AI

    Difensivo
    ~32 ore
    Online

    Usare gli assistenti di coding AI in sicurezza, con Copilot, Codex, Claude Code e strumenti SAST, per trovare e correggere le vulnerabilità mentre si scrive codice.

    SCOPRI DI PIÙ
  • best-seller

    Corso completo

    Sviluppare applicazioni web Java sicure

    Difensivo
    ~32 ore
    Online

    Secure coding per Java e Spring: previeni le vulnerabilità più comuni con Spring Security e i default sicuri.

    SCOPRI DI PIÙ
  • Corso completo

    Sviluppare applicazioni web PHP sicure

    Difensivo
    ~32 ore
    Online

    Secure coding per applicazioni web PHP, incentrato sulla OWASP Top 10 e su come prevenirla.

    SCOPRI DI PIÙ
  • Corso completo

    Sviluppare applicazioni web sicure

    Difensivo
    ~32 ore
    Online

    Secure coding per il web, indipendente dal linguaggio: le principali classi di vulnerabilità e come difendersi.

    SCOPRI DI PIÙ