Struttura del corso
I. Introduzione alla programmazione sicura e alla sicurezza delle applicazioni web
1. Panoramica sul panorama delle minacce moderne alle applicazioni web
- Veicoli di attacco comuni alle applicazioni web
- Rischi di sicurezza nelle applicazioni ASP.NET moderne
- Il ruolo della programmazione sicura nello sviluppo del software
- Introduzione alla Fondazione OWASP e alle sue risorse
2. Principi dello sviluppo software sicuro
- Sicurezza per progettazione
- Difesa in profondità
- Privilegi minimi
- Guasto sicuro
- Impostazioni predefinite sicure
- Fondamenti della modellazione delle minacce
II. Ciclo di vita dello sviluppo sicuro (SDL)
1. Ciclo di vita dello sviluppo software sicuro
- Sicurezza lungo tutto il ciclo di vita dello sviluppo
- Requisiti di sicurezza
- Architettura e progettazione sicure
- Pratiche di programmazione sicura
- Test e validazione della sicurezza
- Implementazione e manutenzione sicure
2. Valutazione del rischio e modellazione delle minacce
- Identificazione di asset e minacce
- Analisi della superficie di attacco
- Panoramica di STRIDE
- Prioritizzazione dei rischi di sicurezza
III. OWASP Top 10 per le applicazioni ASP.NET
1. Comprendere il Top 10 OWASP
- Accesso non autorizzato
- Insufficienze crittografiche
- Iniezione
- Progettazione non sicura
- Configurazione di sicurezza errata
- Componenti vulnerabili e obsoleti
- Insufficienze nell'identificazione e nell'autenticazione
- Insufficienze nell'integrità del software e dei dati
- Insufficienze nel logging e nel monitoraggio della sicurezza
- Server-Side Request Forgery (SSRF)
2. Applicazione delle raccomandazioni OWASP
- Tecniche di programmazione sicura
- Controlli preventivi
- Pratiche di configurazione sicura
- Esempi e dimostrazioni reali
IV. Sicurezza di autenticazione e autorizzazione
1. Fondamenti dell'autenticazione
- Mecanismi di autenticazione in ASP.NET
- Sicurezza delle password
- Autenticazione multiframe
- Gestione delle sessioni
- Gestione delle identità
2. Autorizzazione e controllo degli accessi
- Autorizzazione basata sui ruoli
- Autorizzazione basata su claim
- Autorizzazione basata su policy
- Prevenire l'escalation dei privilegi
- Proteggere le risorse sensibili
V. Prevenire gli attacchi di iniezione
1. Vulnerabilità di iniezione
- Iniezione SQL
- Iniezione di comandi
- Iniezione LDAP
- Iniezione XML
- Panoramica dell'iniezione NoSQL
2. Tecniche di programmazione sicura
- Query parametrizzate
- Validazione degli input
- Codifica degli output
- Considerazioni sulla sicurezza ORM
- Pratiche sicure per l'accesso al database
VI. Prevenire il Cross-Site Scripting (XSS)
1. Comprendere l'XSS
- XSS memorizzato
- XSS riflesso
- XSS basato su DOM
- Scenario di attacco
2. Prevenzione dell'XSS
- Codifica degli output
- Validazione degli input
- Content Security Policy (CSP)
- Gestione sicura di HTML e JavaScript
- Funzionalità di sicurezza ASP.NET per la prevenzione dell'XSS
VII. Prevenire il Cross-Site Request Forgery (CSRF)
1. Comprendere il CSRF
- Meccanismo degli attacchi CSRF
- Comuni scenari di attacco
- Impatto commerciale
2. Protezione CSRF
- Token anti-falsificazione
- Cookie SameSite
- Gestione sicura delle sessioni
- Mecanismi anti-falsificazione ASP.NET
VIII. Configurazione sicura delle applicazioni ASP.NET
1. Funzionalità di sicurezza ASP.NET
- Sicurezza della configurazione
- Intestazioni HTTP sicure
- Configurazione di HTTPS e TLS
- Gestione dei segreti
- Gestione sicura degli errori
2. Protezione dei dati sensibili
- API di protezione dei dati
- Memorizzazione sicura delle credenziali
- Fondamenti della crittografia
- Gestione delle chiavi
IX. Validazione degli input e gestione sicura dei dati
1. Validazione degli input dell'utente
- Whitelisting rispetto al blacklisting
- Validazione lato server
- Considerazioni sulla validazione lato client
- Sicurezza del caricamento dei file
2. Elaborazione sicura dei dati
- Sicurezza della serializzazione
- Rischi di deserializzazione
- Integrità dei dati
- Pratiche sicure di logging
X. Test di penetrazione e verifica della sicurezza
1. Metodologia di test di penetrazione
- Pianificazione delle valutazioni di sicurezza
- Identificazione delle vulnerabilità
- Concetti di sfruttamento
- Reportistica dei risultati
2. Tecniche di test della sicurezza
- Test statico della sicurezza delle applicazioni (SAST)
- Test dinamico della sicurezza delle applicazioni (DAST)
- Test interattivo della sicurezza delle applicazioni (IAST)
- Analisi delle dipendenze e dei componenti
- Ricerca manuale del codice
XI. Sicurezza delle applicazioni ASP.NET
1. Applicazione delle pratiche di programmazione sicura
- Implementazione sicura dell'autenticazione
- Implementazione sicura dell'autorizzazione
- Sicurezza delle sessioni
- Gestione delle eccezioni
- Logging e monitoraggio
- Considerazioni per l'implementazione sicura
2. Migliori pratiche di sicurezza
- Standard di programmazione sicura
- Gestione delle dipendenze
- Gestione delle patch
- Miglioramento continuo della sicurezza
XII. Laboratorio pratico sulla sicurezza
1. Identificare e sfruttare le vulnerabilità comuni
- Analisi del codice ASP.NET non sicuro
- Identificazione delle vulnerabilità OWASP Top 10
- Comprensione delle tecniche di attacco
- Valutazione della sicurezza delle applicazioni
2. Correzione dei problemi di sicurezza
- Applicazione di correzioni di programmazione sicura
- Validazione delle mitigazioni
- Test delle applicazioni corrette
- Esercizio di revisione della programmazione sicura
XIII. Riepilogo e revisione del corso
1. Revisione dei concetti chiave
- Principi di progettazione sicura
- Strategie di mitigazione del Top 10 OWASP
- Funzionalità di sicurezza ASP.NET
- Ciclo di vita dello sviluppo sicuro
2. Discussione finale
- Migliori pratiche di programmazione sicura
- Inserire la sicurezza nei team di sviluppo
- Risorse e strumenti OWASP aggiuntivi
- Domande e risposte e prossimi passi
Requisiti
Esperienza con ASP.NET
Esperienza nella creazione di applicazioni web
Recensioni (5)
Introduzione ai diversi tipi di comportamenti insicuri.
Zhongqi
Corso - Secure Developer .NET (Inc OWASP)
Traduzione automatica
Avere una sessione uno a uno con Raymond è stata un'esperienza straordinaria. È stato davvero grande e attento a tutte le mie esigenze di formazione.
Joshua
Corso - Secure Developer .NET (Inc OWASP)
Traduzione automatica
Il alto livello di competenza degli istruttori ha garantito una comprensione approfondita dei temi trattati.
Dafydd - TATA Steel
Corso - Secure Developer .NET (Inc OWASP)
Traduzione automatica
i link di riferimento
Abraham Gonzalez - ATEB Servicios
Corso - Secure Developer .NET (Inc OWASP)
Traduzione automatica
La conoscenza del formatore sull'argomento era eccellente e il modo in cui le sessioni erano organizzate per permettere al pubblico di seguire le dimostrazioni ha davvero contribuito a consolidare quella conoscenza, rispetto a semplicemente sedersi ad ascoltare.
Jack Allan - RSM UK Management Ltd.
Corso - Secure Developer .NET (Inc OWASP)
Traduzione automatica