Struttura del corso

Giorno 1

  • Sicurezza informatica e codifica sicura
    • Natura della sicurezza
    • Termini relativi alla sicurezza informatica
    • Definizione di rischio
    • Diversi aspetti della sicurezza informatica
    • Requisiti di diversi campi di applicazione
    • Sicurezza IT e codifica sicura
    • Dalle vulnerabilità alle botnet e al crimine informatico
      • Natura delle falle di sicurezza
      • Motivi di difficoltà
      • Da un computer infetto ad attacchi mirati
    • Classificazione delle falle di sicurezza
      • Tassonomia di Landwehr
      • I sette regni perniciosi
      • OWASP Top Ten 2013
      • OWASP Confronto tra i primi dieci 2003 – 2013
  • Introduzione al ciclo di vita dello sviluppo della sicurezza (SDL) Microsoft ®
    • Agenda
    • Applicazioni sotto attacco...
      • Evoluzione del crimine informatico
      • Gli attacchi si stanno concentrando sulle applicazioni
      • La maggior parte delle vulnerabilità si trova nelle app ISV più piccole
    • Origini del Microsoft SDL...
      • Cronologia della sicurezza a Microsoft...
      • Quali app sono necessarie per seguire SDL?
    • Microsoft Ciclo di vita dello sviluppo della sicurezza (SDL)
      • Microsoft Ciclo di vita dello sviluppo della sicurezza (SDL)
      • Requisiti pre-SDL: formazione sulla sicurezza
      • Fase uno: requisiti
      • Fase due: progettazione
      • Fase tre: attuazione
      • Fase quattro: verifica
      • Fase cinque: Rilascio – Piano di risposta
      • Fase cinque: Rilascio – Revisione finale della sicurezza
      • Fase cinque: Rilascio – Archivio
      • Requisito post-SDL: risposta
      • Linee guida per il processo SDL per le applicazioni line-of-business
      • Guida SDL per Agile metodologie
      • Lo sviluppo sicuro del software richiede un miglioramento dei processi
  • Principi di progettazione sicura
    • Superficie di attacco
      • Riduzione della superficie di attacco
      • Superficie di attacco: un esempio
      • Analisi della superficie di attacco
      • Riduzione della superficie di attacco – esempi
    • Privacy
      • Privacy
      • Comprensione dei comportamenti e dei problemi delle applicazioni
    • Difesa in profondità
      • Principio fondamentale di SDL: difesa in profondità
      • Difesa in profondità – esempio
    • Principio del privilegio minimo
      • Privilegio minimo - esempio
    • Impostazioni predefinite sicure
      • Impostazioni predefinite sicure – esempi
  • Principi di implementazione sicura
    • Agenda
    • Microsoft Ciclo di vita dello sviluppo della sicurezza (SDL)
    • Nozioni di base sull'overflow del buffer
      • Processori Intel 80x86 – registri principali
      • Il layout degli indirizzi di memoria
      • Meccanismo di chiamata della funzione in C/C++ su x86
      • Le variabili locali e lo stack frame
      • Overflow della pila
        • Overflow del buffer nello stack
        • Esercizi – introduzione
        • Esercizio BOFIntro
        • Esercizio BOFIntro – determinare il layout dello stack
        • Esercizio BOFIntro – un semplice exploit
    • Convalida dell'input
      • Concetti di convalida dell'input
      • Problemi con i numeri interi
        • Rappresentazione di numeri interi negativi
        • Overflow intero
        • Overflow aritmetico: indovina l'output!
        • Esercizio IntOverflow
        • Qual è il valore di Math.Abs(int. MinValue)?
      • Mitigazione dei problemi interi
        • Mitigazione dei problemi interi
        • Evitare l'overflow aritmetico – addizione
        • Evitare l'overflow aritmetico – moltiplicazione
        • Rilevamento dell'overflow con la parola chiave checked in C#
        • Esercizio – Utilizzo della parola chiave checked in C#
        • Eccezioni attivate da tracimazioni in C#
      • Case study - Overflow di numeri interi in .NET
        • Una vulnerabilità di overflow di numeri interi del mondo reale
        • Sfruttare la vulnerabilità dell'overflow di numeri interi
      • Vulnerabilità dell'attraversamento del percorso
        • Mitigazione dell'attraversamento del percorso

Giorno 2

  • Principi di implementazione sicura
    • Iniezione
      • Metodi di attacco tipici SQL Injection
      • Iniezione cieca e temporizzata SQL
      • SQL Metodi di protezione dall'iniezione
      • Iniezione di comandi
    • Autenticazione interrotta - Gestione delle password
      • Esercizio – Debolezza delle password con hash
      • Gestione e archiviazione delle password
      • Algoritmi hash per scopi speciali per l'archiviazione delle password
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • CSS iniezione
      • Sfruttamento: iniezione attraverso altri tag HTML
      • Prevenzione XSS
    • Controllo dell'accesso a livello di funzione mancante
      • Filtraggio dei caricamenti di file
    • Crittografia pratica
      • Garantire la riservatezza con la crittografia simmetrica
      • Algoritmi di crittografia simmetrica
      • Cifrari a blocchi – modalità di funzionamento
      • Hash o digest del messaggio
      • Algoritmi hash
      • Codice di autenticazione dei messaggi (MAC)
      • Fornire integrità e autenticità con una chiave simmetrica
      • Garantire la riservatezza con la crittografia a chiave pubblica
      • Regola empirica: possesso di chiave privata
      • Errori tipici nella gestione delle password
      • Esercizio – Password codificate
      • Conclusione
  • Principi di verifica sicura
    • Test funzionali vs. test di sicurezza
    • Vulnerabilità della sicurezza
    • Definizione delle priorità
    • Test di sicurezza nell'SDLC
    • Fasi della pianificazione dei test (analisi dei rischi)
    • Definizione dell'ambito e raccolta di informazioni
      • Portatori di interessi
      • Asset
      • La superficie di attacco
      • Obiettivi di sicurezza per i test
    • Modellazione delle minacce
      • Modellazione delle minacce
      • Profili degli utenti malintenzionati
      • Modellazione delle minacce basata su alberi di attacco
      • Modellazione delle minacce basata su casi di uso improprio/abuso
      • Casi di uso improprio/abuso: un semplice esempio di negozio online
      • Approccio STRIDE per elemento alla modellazione delle minacce – MS SDL
      • Identificazione degli obiettivi di sicurezza
      • Diagrammi – esempi di elementi DFD
      • Diagramma di flusso dei dati - esempio
      • Enumerazione delle minacce: elementi STRIDE e DFD di MS SDL
      • Analisi del rischio – classificazione delle minacce
      • Il modello di classificazione delle minacce/rischi DREAD
    • Tecniche e strumenti di test di sicurezza
      • Approcci generali ai test
      • Tecniche per le varie fasi dell'SDLC
    • Revisione del codice
      • Revisione del codice per la sicurezza del software
      • Analisi della contaminazione
      • Euristica
    • Analisi statica del codice
      • Analisi statica del codice
      • Analisi statica del codice
      • Esercizio – Utilizzo di strumenti di analisi statica del codice
    • Test dell'implementazione
      • Verifica manuale del tempo di esecuzione
      • Test di sicurezza manuali e automatizzati
      • Test di penetrazione
      • Prove di stress
    • Fuzzing
      • Test di sicurezza automatizzati - fuzzing
      • Sfide del fuzzing
    • Scanner di vulnerabilità web
      • Esercizio – Utilizzo di uno scanner di vulnerabilità
    • Controllo e rafforzamento dell'ambiente
      • Sistema di punteggio comune delle vulnerabilità - CVSS
      • Scanner di vulnerabilità
      • Banche dati pubbliche
    • Case study - Bypass dell'autenticazione basata su form
      • Vulnerabilità di terminazione di byte NULL
      • La vulnerabilità di bypass dell'autenticazione basata su form nel codice
      • Utilizzo del bypass dell'autenticazione basata su form
  • Fonti di conoscenza
    • Fonti di codifica sicure: uno starter kit
    • Database delle vulnerabilità
    • Linee guida per la codifica sicura .NET su MSDN
    • Fogli informativi per la codifica sicura .NET
    • Libri consigliati: .NET e ASP.NET
 14 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative