Corso completo

Sviluppare applicazioni web Java sicure

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

Dettagli

Panoramica del corso

La maggior parte delle applicazioni web Java enterprise gira su Spring, quindi metterle in sicurezza significa conoscere sia il linguaggio sia il framework. Il corso è rivolto a sviluppatori Java e Spring che vogliono integrare la sicurezza fin da subito invece di aggiungerla dopo. Affronta le vulnerabilità tipiche delle applicazioni Spring Boot e Spring MVC, come injection, broken access control, deserializzazione non sicura e dipendenze vulnerabili, e come chiudere ciascuna con gli strumenti del framework: Spring Security per autenticazione e autorizzazione, il parameter binding di JPA/Hibernate contro la SQL injection, Bean Validation per la gestione dell'input e una configurazione sicura di Jackson contro gli attacchi di deserializzazione. L'approccio è pratico: su applicazioni Spring realistiche i partecipanti sfruttano una debolezza, la correggono come in produzione e verificano che sia sparita. Il corso copre anche l'ecosistema più ampio: rischio di dipendenze e supply chain con Maven e Gradle, configurazione sicura e protezione dei dati in transito e a riposo. È adatto a sviluppatori Java, ingegneri Spring e architetti che vogliono scrivere codice sicuro e prendere decisioni di sicurezza fondate.

Requisiti

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

  • Conoscenza operativa di Java; la familiarità con il framework Spring / Spring Boot è utile ma non obbligatoria.

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

Contenuti del corso

  • Introduzione al secure coding: i principi fondamentali per scrivere codice Java sicuro.

  • Secure SDLC: integrare la sicurezza in progettazione, code review, pipeline di build e testing lungo tutto il ciclo di sviluppo.

  • Black-box testing vs code review: confronto tra assessment esterno e revisione del codice sorgente Java/Spring.

  • Principi di secure coding: default difensivi e API sicure del framework per evitare le classi di vulnerabilità più comuni.

  • Introduzione a Burp Suite: intercettare e analizzare il traffico di un'applicazione web Spring per comprenderne il comportamento.

  • 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.

  • Information Gathering: enumerare punti di ingresso e superficie di attacco di un'applicazione dalla prospettiva dell'attaccante.

  • Application Fingerprinting: identificare dettagli di framework, librerie e configurazione che orientano un attacco.

  • Improper Error Handling: prevenire la divulgazione di informazioni tramite stack trace e risposte di errore verbose in Spring.

  • Injection: SQL injection e falle correlate, e come difendersi con il parameter binding di JPA/Hibernate e i prepared statement.


  • Authentication: vulnerabilità di autenticazione comuni e implementazione sicura con Spring Security.

  • JWT: comprendere i JSON Web Token e usarli in modo sicuro per l'autenticazione stateless.

  • Authorization: falle nei controlli di accesso e autorizzazione sicura a livello di metodo e di URL con Spring Security.

  • Application Logic: prevenire gli attacchi che abusano di workflow multi-step e regole di business.

  • Sensitive Data Exposure in transito: applicare TLS e proteggere i dati in transito.

  • Sensitive Data Exposure a riposo: proteggere i dati memorizzati con crittografia solida e gestione delle chiavi.

  • Data Validation: validazione e sanitizzazione dell'input con Bean Validation (JSR-380) e binding sicuro.


  • Open Redirect: individuare e prevenire le vulnerabilità di redirect e forward non validati.

  • Arbitrary File Upload: gestire in modo sicuro i file caricati per prevenire esecuzione di codice e path traversal.

  • Componenti vulnerabili e obsoleti: gestire il rischio delle dipendenze di terze parti e transitive con Maven/Gradle.

  • XXE: comprendere e prevenire gli attacchi XML External Entity tramite una configurazione sicura del parser.

  • Session Management: gestione sicura delle sessioni e difese dalla session fixation nelle applicazioni Spring.

  • SSRF: comprendere e mitigare la Server-Side Request Forgery.


  • CORS security: comprendere il Cross-Origin Resource Sharing e configurarlo in modo sicuro in Spring.

  • CSP: usare la Content Security Policy per ridurre l'impatto delle injection client-side.

  • Clickjacking: attacchi di framing e come prevenirli con gli header di risposta corretti.

  • Denial of Service: condizioni di denial of service a livello applicativo e tecniche di mitigazione.

  • Software and Data Integrity failures: prevenire la deserializzazione non sicura (configurazione sicura di Jackson) e i problemi di integrità.

  • Spring Boot e Spring Security: combinare le funzionalità di sicurezza del framework in una baseline coerente.

  • Spring Security vs .NET Security: uno sguardo comparativo su come i due ecosistemi risolvono gli stessi problemi.


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 .NET sicure

    Difensivo
    ~32 ore
    Online

    Secure coding per ASP.NET Core: individua e correggi le vulnerabilità .NET con le funzionalità di sicurezza native del framework.

    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Ù