Sei sulla pagina 1di 1

/ CONSEGUENZE PER IL SISTEMA

- Denial of service: il programmna non funziona più


- Esecuzione di codice arbitrario
- accesso come utente

/ per proteggersi dal bufferOVF bisogna controllare l'input ogni volta che lo si
riceve da una fonte non certa. In questo caso bisogna controllare la lunghezza
dell'input.
Un altro modo (nel caso non abbiamo modo di controllare gli input) è di usare un
CANARY. Quando viene chiamata la procedura nuova, prima dell'indirizzo di ritorno
si posiziona un canary (o stack guard), una cella di memoria usata per proteggere
l'indirizzo di ritorno. Qui viene messo un valore casuale, sconosciuto quindi
all'attaccante. Quando termina la funziona chiamata, se è stato inserito un input
troppo lungo, è stato sovrascritto anche in canary. L'indirizzo di ritorno è andato
comunque perso ma testando il canary è possibile evitare che venga eseguito codice
da non eseguire.

Potrebbero piacerti anche