buffer overflow si verifica quando il software tenta di scrivere dati al di fuori del suo blocco di memoria allocato . Ci sono cinque forme di overflow del buffer , ciascuno con diverse cause e risultati , ma la maggior parte delle forme sono potenziali minacce alla sicurezza per un sistema di computer collegato a una rete , come gli hacker possono ( e spesso lo fanno ), utilizzare gli effetti collaterali del troppo pieno per tentare di prendere il controllo del sistema . Comprendere i buffer overflow è essenziale per mantenere la sicurezza su una rete di computer . Stack Buffer Overflow
Lo stack è dove il computer dichiara e inizializza le variabili utilizzate in un programma per computer . In un buffer overflow dello stack , più dati vengono scritti nella pila di poter legittimamente destinare , causando la pila per essere sovrascritti, tra cui il " puntatore di ritorno" che indica al computer dove andare una volta che termina l'elaborazione dello stack . Gli hacker possono quindi utilizzare un overflow dello stack di riscrivere il puntatore di ritorno e dirigere il computer di codice dannoso .
Heap buffer overflow
un buffer overflow dello heap si verifica quando troppi dati è scritto per la porzione di memoria allocata per il software per l'archiviazione dei dati del software mentre è in esecuzione . Heap buffer overflow spesso portano ad un crash del sistema a causa di corruzione dei dati , in quanto il software è sovrascritto mentre è in esecuzione , o l'esecuzione di codice dannoso che viene scritto nel buffer di heap durante l'overflow e ha così scavalcato standard di sicurezza del computer sistema .
off- by-one errori
un off- by-one error è un tipo specifico di buffer overflow che si verifica quando un valore è una iterazione fuori quello che dovrebbe essere . Questo spesso può essere dovuto a errore di calcolo del numero di volte che un programma dovrebbe chiamare uno specifico ciclo del codice . L'errore può comportare la riscrittura di una cifra nel puntatore di ritorno nello stack , che permette a un hacker di dirigere il puntatore ad un indirizzo che contiene codice dannoso .
Buffer Overrun
< p > Un sovraccarico del buffer si verifica quando troppi dati vengono inviati al piccolo blocco di memoria buffer utilizzato da masterizzatori di CD e DVD . Esistono questi buffer per fornire un flusso costante di informazioni dal computer al dispositivo. Dati sono letti dal buffer ad una velocità specifica e deve essere alimentato nel tampone alla stessa velocità , altrimenti i dati vengono sovrascritti prima di essere utilizzato . Il risultato è la corruzione di file e masterizzazione senza successo .
Format String Attacco
Un attacco stringa di formato si verifica quando un programma legge l'input da parte dell'utente , o altri software e processi l' input come una stringa di uno o più comandi . Se il comando che si riceve è diverso da quello che si prevede , come l'essere più lungo o più breve di spazio dati assegnato , il programma si può bloccare , chiudere o compensare le informazioni mancanti dalla lettura dei dati aggiuntivi dallo stack , consentendo l'esecuzione di codice dannoso .