Anteprima
Vedrai una selezione di 1 pagina su 5
Buffer Overflow Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Altri tipi di Buffer Overflow

Return to system call

Quando lo stack adotta la misura di non eseguibilità dei dati per prevenire gli attacchi

di stack buffer overflow, gli attaccanti fanno uso del così detto “ Return to sytem-call ”,

dove l ‘ indirizzo di ritorno non viene posto pari ad un indirizzo del buffer, dove risiede

lo shellcode o lo scivolo di NOP, ma viene sostituito con l’indirizzo di codice già presente

nel sistema, quale ad esempi, le funzioni di librerie standard. Così facendo, l ‘ attaccante

fornirà i parametri da passare a tali funzioni, come ad esempio la funzione “ system ( ) “,

la quale potrebbe a sua volta aprire una shell ed eseguire qualsiasi comando presente

nel buffer sovrascritto.

Un ‘ ulteriore forma di attacco che sfrutta le chiamate a funzioni di sistema, prevede l’uso

di due funzioni, talvolta funzioni ben precise, usate per aggirare il vincolo di non

eseguibilità dello stack. A tal proposito, l ‘ indirizzo di ritorno colpito, come per il caso

precedente, punterà ad una funzione di sistema, quale potrebbe essere la strcpy ( ), e

l’indirizzo di segna posto della prima funzione chiamata, sarà pari all ’ indirizzo di una

seconda funzione, che in questo caso sarà lo shellcode. Quindi la prima funzione avrà

lo scopo di copiare lo shellcode in una porzione di memoria eseguibile, e quando questa

terminerà la propria esecuzione, ritornerà all ‘ indirizzo designato, che farà riferimento

allo stesso shellcode appena copiato. Così facendo, l ‘ attaccante è riuscito a far eseguire

il proprio codice malevolo, aggirando così la difesa della non eseguibilità dello stack.

Un ‘ altra forma di attacco che fa uso il buffer overflow, interessa l ‘ area dei dati globale.

Questo attacco risulta essere simile al heap buffer overflow, in quando l ‘ attaccante

cerca di modificare l ‘ indirizzo di un puntatore a funzione che potrebbe essere

dichiarato proprio in questa area.

Metodi di difesa contro i Buffer Overflow

I metodi di difesa adottabili per contrastare i buffer overflow si dividono in due categorie:

Misure di difesa a tempo di compilazione;

· Misure di difesa a tempo di esecuzione;

·

Difese a tempo di compilazione

Una prima barriera di difesa contro i buffer overflow, è la scelta di un linguaggio di

programmazione ad alto livello. Questi implementano una forte nozione dei tipi di

variabile e delle operazioni che su di essi e possibile eseguire, inoltre gli stessi

compilatori implementano del codice aggiuntivo che eseguire il controllo automatico

sugli intervalli, rimuovendo così la vulnerabilità di buffer overflow,

Un secondo metodo di difesa prevede l ‘ uso di scrittura sicura del codice. Usando

linguaggi di programmazione quali il C, i programmatori devono adottare delle tecniche

di programmazione al fine di mitigare la possibile comparsa di vulnerabilità sfruttabili

per eseguire un attacco di buffer overflow, cercando quindi di rendere più robusto la

gestione degli input esterni di dati, e il corretto accesso ai buffer usati per salvare tali

dati.

Anche l ‘ uso di librerie esterne sicure può aiutare la prevenzione di vulnerabilità

sfruttabili da un attaccante. Sono molte le funzioni delle librerie standard del C ritenute

non sicure, e un programmatore attento, deve informarsi su tali vulnerabilità, e sostituire

queste funzioni con funzioni sicure, implementando del codice di controllo proprio o

usando delle librerie esterne note per la loro sicurezza.

Dettagli
Publisher
A.A. 2023-2024
5 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Pas24 di informazioni apprese con la frequenza delle lezioni di Sicurezza dei sistemi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Messina o del prof Galletta Antonio.