Secure Coding – Sviluppo di Codice Sicuro
Durata: 3gg (24h)
A chi è rivolto il corso?
Sviluppatori, Analisti programmatori, Progettisti di Software, IT Managers
Prerequisiti:
Buona conoscenza di linguaggi di programmazione a oggetti
Descrizione:
Il corso è indicato per programmatori, project manager o software architect e fornisce indicazioni sulle basi metodologiche, gli standard (ad esempio Owasp) e gli strumenti per sviluppare codice sicuro, evitando di inserire nei programmi bugs o vulnerabilità.
Vengono svolti svariati laboratori pratici in linguaggio C# con .NET Standard, a supporto della trattazione teorica, che mostrano la mitigazione di alcune delle vulnerabilità che più frequentemente si riscontrano nelle applicazioni web e l'uso di strumenti di rilevazione delle vulnerabilità.
Dotazioni richieste per lo svolgimento dei laboratori:
Visual Studio Community Edition 2019 con installazione dei template per lo sviluppo di applicazioni desktop ed applicazioni web.
Sommario degli argomenti:
Introduzione alla scrittura di codice sicuro
• Introduzione
• Statistiche sugli scenari di attacco nel mondo IT
Metodologie per lo sviluppo di codice sicuro
- Ciclo di vita dello sviluppo di software
• Analisi dei rischi - Threat Modeling
• La Community OWASP
• Linee guida per il Secure Coding
• SAST (Static Application Security Testing) tools
VAPT (Vulnerability Assessment e Penetration Test) di applicazioni
• Introduzione al protocollo HTTP
• OWASP Penetration Testing Guide
• Tools di ausilio per attività di VAPT
La Validazione dell’Input
• Linee guida di Secure Coding per la validazione dell'Input
- Vulnerabilità da Injection
• SQL-Injection, Cross-Site Scripting, LFI/RFI, etc
• Laboratori pratici con applicazioni sviluppate in .NET
L’Autenticazione delle applicazioni
• Meccanismi di autenticazione
• Linee guida per autenticazione e gestione password
• Attacchi all’autenticazione: attacchi brute force e Man-in-the-middle
Sicurezza nella gestione delle sessioni
• Introduzione alla gestione delle sessioni nelle applicazioni web
• Linee guida per la gestione sicura delle sessioni
• Attacchi di tipo XSRF (Cross-site Request Forgery)
Linee guida di Secure Coding per la crittografia
• Introduzione alla crittografia e linee guida per l'uso della crittografia
• Algoritmi di Hashing
• Crittografia Simmetrica e Asimmetrica