Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Tipi di attacchi di sovraccarico del buffer

Nel 1988 , il primo virus Internet -spread maggiore sovrascritto una piccola sezione di 536- byte di memoria su un computer singolo e in quattro giorni , inabili oltre 60.000 computer in tutto il mondo . Nonostante i progressi nei linguaggi di programmazione , tecniche di programmazione e il sistema operativo alla protezione avanzata , i programmatori malintenzionati possono comunque creare virus e altri malware utilizzando sovraccarichi del buffer di crash , il controllo o rubare i dati del sistema. Tipi di memoria interessate

Un buffer computer è una sezione della sua memoria utilizzata per memorizzare temporaneamente i dati richiesti da un'applicazione o dal sistema operativo . L' applicazione dispone di un buffer fisso o statico chiamato la pila , la cui dimensione è determinata quando il programma viene compilato e assegnato dal sistema operativo quando viene caricata l'applicazione . Memoria heap è un altro tipo di tampone un'applicazione utilizza mentre è in esecuzione . A differenza dei buffer statici , la memoria heap viene creato e distrutto come l' applicazione richiede .
Sovraccarichi del buffer statici

statici sovraccarichi del buffer si verificano quando troppi dati vengono scritti in un predefinito porzione di memoria all'interno stack dell'applicazione . Lo stack contiene informazioni sulla funzione dell'applicazione e delle variabili di funzione. Articoli sulla pila hanno una dimensione fissa o statica . Se più dati vengono scritti in un elemento pila di quello che è destinato a contenere , i dati in eccesso viene memorizzato in locazioni di memoria adiacenti. I dati in eccesso potrebbe danneggiare i dati già presenti.
Overruns Mucchio
memoria heap

è lo spazio del sistema operativo dà l' applicazione per creare e memorizzare le informazioni sui la mosca . Ogni blocco heap ha un puntatore all'indirizzo fisico del blocco di memoria prima e dopo di esso . Come superamento dello stack, quando troppi dati vengono scritti in un blocco precedentemente allocato di memoria , i dati in eccesso si riversa verso il prossimo blocco di memoria e può alterare precedenti e successivi puntatori del blocco. Questo può essere utilizzato per bloccare i puntatori di richiesta o comunque luogo a blocchi di memoria del programmatore malintenzionato ha accesso .
Array indicizzazione Errori

Quando gli array sono dichiarati nella maggior parte dei linguaggi di programmazione , una sezione fissa di memoria nello heap è pre- allocato per i dati della matrice. Le lingue e + C C + correttamente allocare array ma non impediscono il blocco di memoria array da sovrascrittura. Come sforamenti mucchio , errori di indicizzazione possono sovrascrivere e corrompere i blocchi adiacenti di memoria . Lingue moderne , come C # e Java controllare per array errore indicizzazione al momento della compilazione e durante l'esecuzione del programma .

 

Programmazione © www.354353.com