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: Riservatezza, Integrità e Disponibilità (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à, principio del minimo privilegio e default fail-safe.
- Classificazioni standard delle vulnerabilità: Comprensione di CWE (Common Weakness Enumeration) e OWASP.
2. Sicurezza delle applicazioni web
- Approfondimento dell'OWASP Top Ten: Analisi dettagliata di Injection, Autenticazione 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 dei timeout.
- Sicurezza delle API: Protezione degli endpoint REST e SOAP contro gli abusi.
3. Sicurezza dei Web services
- Web Services vs. Applicazioni Web tradizionali: Differenze nelle superfici di attacco.
- Sicurezza del layer 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à del parsing XML: Prevenzione degli attacchi XML External Entity (XXE).
- Convalida dello schema XML: Migliori pratiche per il rigido rispetto dello schema.
- Firme digitali XML: Implementazione di firme per garantire la non ripudiazione.
- Crittografia XML: Approcci standard per la crittografia del contenuto XML.
5. Fondamenti della sicurezza Java
- L'architettura di sicurezza Java: Il package
java.securitye l'architettura dei provider. - Provider di sicurezza: Installazione e configurazione di provider come Bouncy Castle.
- Controllo degli accessi: File di policy, Permessi e Security Manager (Legato vs. Moderno).
- Gestione dei KeyStore: Creazione e gestione di keystores e truststores per i certificati.
6. Crittografia pratica
- Algoritmi crittografici: Panoramica degli algoritmi Simmetrici (AES), Asimmetrici (RSA, ECC) e di Hashing (SHA-256/512).
- Generazione di numeri casuali: I pericoli di
java.util.Randomrispetto ajava.security.SecureRandom. - Gestione delle chiavi: Strategie per la generazione, lo stoccaggio e la rotazione delle chiavi.
- Java Cryptography Architecture (JCA): Utilizzo delle classi
Cipher,MessageDigesteMac. - Java Cryptography Extension (JCE): Comprensione dei file di policy e della giurisdizione senza limiti di forza.
7. Servizi di sicurezza Java
- SSL/TLS in Java: Utilizzo di
SSLSocketFactoryeHttpsURLConnection. - Trust Managers: Personalizzazione della verifica della fiducia per ambienti PKI privati.
- Authenticators: Autenticazione programmatica utilizzando
Authenticator.getDefault(). - Analisi dei certificati: Lettura e analisi programmatica dei certificati X.509.
8. Sicurezza Java EE
- Sicurezza dichiarativa: Controllo degli accessi basato sui 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 container e metodi di autenticazione (FORM, BASIC, DIGEST).
9. Errori comuni di codifica 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.
- Path Traversal: Sanitizzazione degli input del filesystem per prevenire la traversamento delle directory.
- Abuso della riflessione: Rischi associati a
java.lang.reflecte elusione del controllo degli accessi. - Credenciales hard-coded: Identificazione ed eliminazione dei segreti dal codice sorgente.
- Errori di implementazione crittografica: Utilizzo 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 di Burp Suite e OWASP ZAP.
- Database CVE: Come monitorare e reagire alle nuove vulnerabilità del framework Java.
- Lettura consigliata: Elenco di libri, documentazione e checklist per la 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