Grazie per aver inviato la tua richiesta! Uno dei nostri team membri ti contatterà a breve.
Grazie per aver inviato il tuo prenotazione! Uno dei nostri team membri ti contatterà a breve.
Struttura del corso
1. Sicurezza IT e codifica sicura
- Principi fondamentali della sicurezza: Confidentiality, Integrity e Availability (CIA) nel contesto delle applicazioni Java.
- Ciclo di vita dello sviluppo software sicuro (SSDLC): Integrazione della sicurezza dai requisiti al deployment.
- Paradigmi di codifica sicura: Difesa in profondità, minimo privilegio e valori predefiniti fail-safe.
- Classificazioni standard delle vulnerabilità: Comprensione di CWE (Common Weakness Enumeration) e OWASP.
2. Sicurezza delle applicazioni Web
- Analisi approfondita della OWASP Top Ten: Analisi dettagliata di Injection, Authentication compromessa ed esposizione di dati sensibili.
- Cross-Site Scripting (XSS): Scenari di XSS riflessa, memorizzata e basata su DOM in Java/JSP.
- Cross-Site Request Forgery (CSRF): Meccanismi di attacco e implementazione di token Anti-CSRF.
- Gestione delle sessioni: Sicurezza dei cookie, fissazione della sessione e gestione del timeout.
- Sicurezza API: Protezione degli endpoint REST e SOAP contro gli abusi.
3. Sicurezza dei servizi Web
- Servizi Web vs. App Web tradizionali: Differenze nelle superfici di attacco.
- Sicurezza a livello di trasporto: Configurazione SSL/TLS per client e server Java.
- Sicurezza dei messaggi: Integrità e riservatezza a livello di payload.
- Standard di autenticazione: Implementazione di OAuth 2.0, OpenID Connect e JWT (JSON Web Tokens).
4. Sicurezza XML
- Vulnerabilità di parsing XML: Prevenzione degli attacchi XML External Entity (XXE).
- Validazione dello schema XML: Best practice per l'applicazione rigorosa degli schemi.
- Firme digitali XML: Implementazione di firme per garantire la non ripudio.
- Crittografia XML: Approcci standard per la crittografia del contenuto XML.
5. Fondamenti della sicurezza Java
- Architettura della sicurezza Java: Il pacchetto
java.securitye l'architettura dei provider. - Provider di sicurezza: Installazione e configurazione di provider come Bouncy Castle.
- Controllo degli accessi: File di policy, Permissions e Security Manager (Legacy vs. Moderno).
- Gestione dei KeyStore: Creazione e gestione di keystores e truststore per i certificati.
6. Crittografia pratica
- Algoritmi crittografici: Panoramica su algoritmi simmetrici (AES), asimmetrici (RSA, ECC) e di hashing (SHA-256/512).
- Generazione di numeri casuali: I rischi di
java.util.Randomrispetto ajava.security.SecureRandom. - Gestione delle chiavi: Strategie di generazione, archiviazione e rotazione delle chiavi.
- Architettura di crittografia Java (JCA): Utilizzo delle classi
Cipher,MessageDigesteMac. - Estensione di crittografia Java (JCE): Comprensione dei file di policy e della giurisdizione a forza illimitata.
7. Servizi di sicurezza Java
- SSL/TLS in Java: Utilizzo di
SSLSocketFactoryeHttpsURLConnection. - Trust Manager: Personalizzazione della verifica di fiducia per ambienti PKI privati.
- Authenticator: Autenticazione programmatica utilizzando
Authenticator.getDefault(). - Analisi dei certificati: Lettura e analisi di certificati X.509 in modo programmatico.
8. Sicurezza Java EE
- Sicurezza dichiarativa: Controllo degli accessi basato su ruoli (RBAC) utilizzando
web.xmle annotazioni. - Sicurezza programmatica: Utilizzo di
HttpServletRequest.isUserInRole()egetRemoteUser(). - JAAS (Java Authentication and Authorization Service): Configurazione di
login.confe implementazione diLoginModule. - Sicurezza dei Servlet: Vincoli di sicurezza gestiti dal contenitore e metodi di autenticazione (FORM, BASIC, DIGEST).
9. Errori di codifica comuni e vulnerabilità
- Deserializzazione non sicura: I rischi di
ObjectInputStreame l'elusione dei controlli di sicurezza. - Iniezione di comandi: Mitigazione delle vulnerabilità di esecuzione a livello di sistema operativo.
- Percorso di attraversamento: Sanificazione degli input del file system per prevenire l'attraversamento dei directory.
- Abuso di Reflection: Rischi associati a
java.lang.reflecte l'elusione del controllo degli accessi. - Credenziali hardcodate: Identificazione e rimozione dei segreti dal codice sorgente.
- Errori nell'implementazione della crittografia: Uso della modalità ECB, chiavi deboli o IV statici.
10. Fonti di conoscenza
- Strumenti di analisi statica: Utilizzo di SonarQube, Checkmarx e Fortify per la scansione automatizzata.
- Strumenti di analisi dinamica: Panoramica su Burp Suite e OWASP ZAP.
- Database CVE: Come tracciare e reagire alle nuove vulnerabilità del framework Java.
- Letture consigliate: Elenco di libri, documentazione e check-list di codifica sicura.
Requisiti
Nessuno.
21 ore
Recensioni (4)
le conoscenze del formatore erano molto elevate - sapeva di cosa stava parlando e conosceva le risposte alle nostre domande
Adam - Fireup.PRO
Corso - Advanced Java Security
Traduzione automatica
Esercizi pratici
Olek - Fireup.PRO
Corso - Advanced Java Security
Traduzione automatica
esercizi di programmazione
Mirek - Fireup.PRO
Corso - Advanced Java Security
Traduzione automatica
Offre una vasta panoramica e fornisce molte informazioni sulla sicurezza
Nolbabalo Tshotsho - Vodacom SA
Corso - Advanced Java Security
Traduzione automatica