Il corso consente di sviluppare competenze teoriche e pratico per lo sviluppo di applicazioni web sicure, in modo da consolidare le competenze in ambito di sicurezza web applicativa e far comprendere qual è il punto di vista di un attaccante.
Conoscenza consolidata nello sviluppo delle applicazioni web
Introduzione alla scrittura di codice sicuro
- Robustezza, Performance e Sicurezza del Software
- Cause delle vulnerabilità
- Costi dei Bugs di sicurezza
- Tipologie di vulnerabilità
- Ciclo di scrittura codice sicuro
- Sicurezza Architetturale e By-Design
Tipologie di sicurezza
- Sicurezza per le applicazioni Web
- Sicurezza per le applicazioni Desktop
- Sicurezza per le applicazioni Mobile
Validazione Input utente
- Buffer Overflow
- Cross-Site Scripting
- SQL-Injection
- Canonicalizzazione
Autenticazione
- Men in the middle
- Attacchi di Brute-Force
- Attacchi di dizionario
- Vulnerabilità dei Cookies
Autorizzazione
- Implementazione dei ruoli
- Data disclosure
- Aumento dei privilegi
Web Security
- Gestione delle query string
- Dati relativi ai form
- Gestione dei Cookies
- Gestione degli Header HTTP
- Uso di HTTPS
Web Service Security
- Gestione degli Header SOAP
- Passaggio di dati sensibili
- Invocazione dei servizi per ruolo
- Denial Of Service
- Sicurezza dell’oggetto Session
- Sicurezza dei REST Service
- AJAX security
Crittografia
- Crittografia Simmetrica e Asimmetrica
- Gestione dell’Hash
- Generazione (debole) delle chiavi
- Crittografia Custom
Framework Security
- Code Acces Security in .NET
- Implementazione della sicurezza nella JVM
- Crittografia in .NET e le JCA in JAVA
- Secure Communication Platform
- Gestione Assembly firmati in .NET
- JAVA e .NET Code Permissions
Mobile Security
- Attacchi, Virus e vulnerabilità dei dispositivi
- Autenticazione e Autorizzazione sui dispositivi
- Criptazione dei dati in locale
- Sandboxing delle applicazioni
- Autorizzazioni dell’applicazione