Corso di formazione Secure Coding con focus .NET per applicazioni web

Il corso consente di sviluppare competenze teoriche e pratiche avanzate
per lo sviluppo di applicazioni web sicure indipendentemente dal
linguaggio di programmazione utilizzato, avendo come riferimento le best
practice di OWASP.

PREMESSA
Il corso consente di sviluppare competenze teoriche e pratiche avanzate per lo sviluppo di applicazioni web sicure indipendentemente dal linguaggio di programmazione utilizzato, avendo come riferimento le best practice di OWASP.
La trattazione teorica verrà corredata con esempi e laboratori pratici in linguaggio C# per la piattaforma .NET.

OBIETTIVO DEL CORSO
L’obiettivo è quello di uniformare le competenze in ambito di sicurezza web applicativa su tutti i membri del team, nonché far comprendere agli sviluppatori qual è il punto di vista di un attaccante.
Il linguaggio di riferimento utilizzato è C# su piattaforma .NET.

DESTINATARI
Il corso è destinato a sviluppatori .NET che vogliono approfondire le best practice di sicurezza applicativa, oltre ad analisti e Project Manager.

NATURA DEL CORSO
Il corso si svilupperà tramite erogazione in aula: la metodologia prevede l’alternarsi di lezioni frontali, interazione di gruppo e molteplici esercitazioni pratiche.

REQUISITI GENERALI CONSIGLIATI
– Connessione Internet funzionante;
– VirtualBox aggiornato all’ultima versione;
– 50GB di spazio libero su Hard Disk SSD;
– CPU Quad Core con almeno 6GB di RAM da dedicare alla Virtual Machine.

PROGRAMMA DEL CORSO
GIORNO 1
• Introduzione alla scrittura di codice sicuro (Robustezza, Performance e Sicurezza del Software – Cause principali delle vulnerabilità – Metodologia OWASP per Secure Coding e Code Review – Metodologia OWASP per PenTest di Applicazioni Web)
• Secure SDLC – Software Development Life Cycle – (Costi dei bug di sicurezza – Concetti di rischio e impatto – Discussione riguardo ogni fase del Secure SDLC)
• Black Box Testing vs Code Review
• Principi di sicurezza del codice
• Vulnerabilità e attacchi (Information Gathering – Fingerprinting dell’applicazione – Improper Error Handling – Injection – SQL Injection)
GIORNO 2
• Injection (LDAP Injection – XPath Injection – XML Injection – Command Injection – Path Traversal – Log Forging – HTTP Splitting)
• Autenticazione (Metodi di autenticazione di .NET – Authentication Bypass – Credenziali di default – Funzionalità di cambio o reset password)
• Autorizzazione (Authorization Bypass – Parameter Manipulation – Access Matrix)
• Bypass della logica applicativa
GIORNO 3
• Sensitive Data Exposure On Transit (SSL / TLS – Suite di cifratura deboli – Padding Oracle)
• Sensitive Data Exposure At Rest (Crittografica Simmetrica e Asimmetrica – Hashing – Salt)
• Data Validation (Cross-Site Scripting – Whitelisting vs Blacklisting – Output Encoding – ViewState – .NET Validator)
GIORNO 4
• XXE (In band – Out of band)
• Gestione della sessione (CSRF – Randomicità ID di sessione – Session Fixation)
• CORS Security
• Improper Error Handling
• Altre vulnerabilità (Clickjacking – Denial of Service)
• IIS Hardening

Scopri gli altri corsi sulla Sicurezza Informatica!

Secure Coding .NET per applicazioni web
Ingegnere Informatico

Il corso ha una durata di 4 giorni.

 

Questo corso viene erogato solo in modalità dedicata: per questa tipologia, la quotazione è a giornata (su richiesta) e gli argomenti possono essere personalizzati in base alle proprie necessità formative.

AGENDA
    • Introduzione alla scrittura di codice sicuro
    • Secure SDLC (Software Development Life Cycle)
    • Black Box Testing vs Code Review
    • Principi di sicurezza del codice
    • Vulnerabilità e attacchi