Che cosa è un overflow del buffer attacco?

February 2

Un buffer è memoria allocata da un programma come deposito temporaneo a che fare con un surplus di dati; i buffer sono disponibili in varie dimensioni sono in grado di memorizzare quantità insieme di dati. Un attacco di buffer overflow si verifica quando un programma tenta deliberatamente di occupare più spazio di archiviazione del buffer in grado di gestire, causando tutti i dati in più per "troppo pieno". Questo può causare il danneggiamento dei dati, che si trasformano consente a un utente malintenzionato di dirottare il controllo del programma. Buffer overflow può verificarsi a causa di un errore di programmazione, ma attacchi di buffer overflow sono sempre più utilizzati come un modo per minare la sicurezza del sistema e l'integrità dei dati attacco.

Effetti di overflow del buffer

Quando il buffer è riempito con i dati da un programma, i dati in eccesso tende a traboccare. Questi dati aggiuntivi non possono, ovviamente, semplicemente sparire; sarà generalmente procederà a riempire i buffer vicini, che possono causare i dati in questi buffer di essere danneggiati.

Effetti di un overflow del buffer attacco

Quando si verifica un attacco di buffer overflow, non solo in grado di dati in buffer adiacenti essere danneggiato, ma le informazioni che controlla percorso di esecuzione del programma operativo può essere sovrascritto. Ciò consente a un hacker di ottenere il controllo del programma, che gli consentono di eseguire il proprio codice, piuttosto che codice originariamente dettata dal programma.

Sistemi più sensibili

Le applicazioni che sono codificati in C / C ++ linguaggio, che dà il primato alla lunghezza del codice e l'efficienza di programmazione, piuttosto che alla sicurezza, sono particolarmente vulnerabili agli attacchi di buffer overflow. Mentre C ++ è uno strumento di codifica flessibile e potente, la sua suscettibilità ad attacchi significa che i programmatori alle prime armi che non possono avere una comprensione completa della lingua dovrebbero usare cautela in situazioni con dati sensibili.

Prevenire attacchi di buffer overflow

Il modo più sicuro per evitare un attacco di buffer overflow è quello di utilizzare la codifica sicura. Ci sono una serie di soluzioni di software libero e commerciali che sono orientati verso la prevenzione di questi attacchi; tale software utilizza comunemente due diversi approcci: le difese di libreria-based che impiegano reimplementato funzioni non sicure per garantire che queste funzioni non possono superare la dimensione del buffer; e le difese che sono progettati per rilevare eventuali tentativi di eseguire codice estraneo sul buffer biblioteca-based.