Contattataci

Struttura del corso

Introduzione allo sviluppo sicuro in C e C++

  • Comprensione dei principi di sviluppo software sicuro
  • Rischi per la sicurezza comuni nelle applicazioni C e C++
  • La relazione tra errori di programmazione e vulnerabilità di sicurezza
  • Standard di codifica sicura e migliori pratiche

Vulnerabilità di programmazione comuni in C e C++

  • Identificazione degli errori di codifica comuni che introducono rischi per la sicurezza
  • Problemi di sicurezza della memoria in C e C++
  • Modelli di vulnerabilità e il loro impatto
  • Analisi di esempi di codice non sicuro

Principi di programmazione sicura

  • Applicazione di tecniche difensive a più livelli (defence-in-depth)
  • Scrittura di codice robusto e manutenibile
  • Riduzione al minimo delle superfici di attacco
  • Principi di progettazione sicura per applicazioni C e C++

Convalida degli input e gestione dei dati

  • Comprensione dell'importanza della convalida degli input
  • Prevenzione dell'esplottazione di input maliziosi
  • Techniques di sanitizzazione dei dati
  • Gestione sicura di dati utente ed esterni

Gestione degli errori e delle eccezioni

  • Rischi associati alla gestione impropria degli errori
  • Progettazione di meccanismi sicuri per la gestione di errori ed eccezioni
  • Evitare la perdita di informazioni attraverso gli errori
  • Creazione di applicazioni resilienti

Sicurezza della memoria e protezione contro i buffer overflow

  • Comprensione delle vulnerabilità nella gestione della memoria
  • Buffer overflows basati sulla stack
  • Buffer overflows basati sull'heap
  • Rilevamento e prevenzione della corruzione della memoria
  • Techniques di gestione sicura della memoria

Protezione della stack e funzionalità di sicurezza runtime

  • Comprensione delle vulnerabilità di stack overflow
  • Protezioni di sicurezza basate sul compilatore
  • Stack canary e meccanismi di protezione
  • Randomizzazione dell'allocazione dello spazio degli indirizzi (ASLR)
  • Funzionalità di sicurezza dei sistemi operativi moderni

Considerazioni avanzate sulla sicurezza in C++

  • Gestione sicura del ciclo di vita degli oggetti
  • Prevenzione delle vulnerabilità use-after-free
  • Gestione sicura di puntatori e riferimenti
  • Evitare problemi di type confusion
  • Uso sicuro delle funzionalità del linguaggio C++

Strumenti e tecniche di codifica sicura

  • Utilizzo di strumenti di analisi statica per identificare le vulnerabilità
  • Techniques di revisione del codice per la valutazione della sicurezza
  • Approcci per i test di sicurezza automatizzati
  • Integrazione dei controlli di sicurezza nei flussi di lavoro di sviluppo

Standard e migliori pratiche di codifica sicura

  • Revisione delle linee guida di codifica sicura di settore
  • Applicazione di tecniche di programmazione difensiva
  • Inserimento della sicurezza nel ciclo di vita di sviluppo del software
  • Mantenimento di applicazioni C/C++ sicure e affidabili

Workshop pratico di codifica sicura

  • Analisi di esempi di codice C/C++ vulnerabile
  • Applicazione di correzioni e miglioramenti di sicurezza
  • Test del codice contro vulnerabilità comuni
  • Ricapitolazione del corso e raccomandazioni per lo sviluppo sicuro

Requisiti

Fondamenti di C/C++

 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (6)

Corsi in Arrivo

Categorie relative