Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

11.4.2. Corruzione della memoria‌


Un danneggiamento della memoria si verifica quando una posizione all'interno dello spazio di memoria di un processo viene accidentalmente modificata a causa di errori di programmazione. I bug di corruzione della memoria di solito portano a un comportamento imprevedibile del programma, tuttavia in molti casi questi bug consentono la manipolazione della memoria del processo in modo tale che il flusso di esecuzione del programma possa essere controllato, consentendo l'attività definita dall'attaccante.

Questi attacchi sono generalmente indicati come buffer overflow, sebbene questo termine sia una semplificazione eccessiva. I tipi più comuni di danneggiamento della memoria sono molto diversi l'uno dall'altro e hanno le proprie tattiche e tecniche necessarie per lo sfruttamento di successo.

• Stack Buffer Overflow: quando un programma scrive più dati in un buffer nello stack dello spazio disponibile, la memoria adiacente può essere danneggiata, causando spesso l'arresto anomalo del programma.

• Corruzione dell'heap: la memoria dell'heap viene allocata in fase di esecuzione e di solito contiene dati dal programma in esecuzione. I danneggiamenti dell'heap si verificano manipolando i dati da sovrascrivere tramite l'elenco collegato di puntatori di memoria dell'heap.

• Integer Overflow: questi overflow si verificano quando un'applicazione tenta di creare un valore numerico che non può essere contenuto nello spazio di archiviazione allocato.

• Stringa di formato: quando un programma accetta l'input dell'utente e lo formatta senza verificarlo, le posizioni di memoria possono essere rivelate o sovrascritte, a seconda dei token di formato utilizzati.


Il miglior sistema operativo cloud computing su OnWorks: