Programmazione sicura in C e C++

C e C++ sono notoriamene tra i linguaggi più potenti e più utilizzati in assoluto. Lavorando a stretto contatto con la memoria e con il processore del computer (o di un altro dispositivo programmabile), garantisce velocità e prestazioni che non hanno concorrenti. Come sempre nella vita, i grandi poteri portano con sè anche delle grandi reponsabilità. Tra tutti i linguaggi, specialmente in questi oggetto del corso, l’introduzione di accidentali vulnerabilità è un aspetto critico che richiede particolari accorgimenti.

Vi vorremmo indicare (e Vi raccomandiamo di leggere con attenzione) la nostra pagina sulla programmazione sicura che tratta la programmazione sicura in senso generico, in quanto contiene delle informazioni che qui non riportiamo.

I programmi scritti in C e C++ hanno dei potenziali problemi che in molti altri linguaggi moderni non ci sono. Tutta una serie di vulnerabilità dovute alla cattiva gestione in C e C++ delle memorie temporranee (stack, buffer,…), corruzioni di memoria, superamento dei limiti di numeri interi, stringhe di formazione, ecc.

Durante il nostro corso vedremo tutte queste categorie di vulnerabilità (e molte altre) e impareremo come evitare i rischi di inserirle accidentalmente nel nostro codice.