Nwlapcug.com


Come evitare sovraccarichi del Buffer & overflow

Fermare gli overflow del buffer aiuta a previene crash del programma e gli hacker da rilasciare codice dannoso che possa compromettere un sistema informatico. Quando un programma di scrittura dei dati di un buffer, comunemente una stringa o una matrice e supera la lunghezza del buffer, scrittura di codice nella memoria adiacente è un overflow del buffer. Prevenire gli overflow del buffer è ottenuta utilizzando librerie di programmazione che supportano la protezione buffer, avendo spazio eseguibile protezione e scelta di linguaggi di programmazione che hanno il controllo dei limiti.

Istruzioni

1

Scegliere un linguaggio di programmazione che ha incorporati controlli per impedire la scrittura fuori dai confini di un buffer di dati. Linguaggi come C e C++ mancanza limite incorporato il controllo. Gli ambienti .NET Framework e Java forzare il controllo dei limiti. Linguaggi interpretati hanno protezione da buffer overflow.

2

Selezionare le librerie e funzioni che hanno la gestione del buffer e il controllo dei limiti. Le funzioni comunemente usate per la C "strcpy", "scanf" e "ottiene" sono particolarmente vulnerabili all'overflow del buffer. Alternative più sicure includono le funzioni "strncpy" e "strncat", che ignorare i dati che supera la lunghezza specificata. Deve ancora prestare attenzione a specificare la dimensione del buffer corretta. Un esempio di un'alternativa più sicura per la libreria di stringa C è il gratuito scaricabile "la migliore String Library".

3

Installare i componenti aggiuntivi di protezione spazio eseguibile per evitare sovraccarichi del buffer. Codice che tenta di eseguire dalla stack o heap causa un'eccezione. Protezione dello spazio eseguibile non utilizza il "eXecute" (NX-bit) per contrassegnare aree di memoria come non eseguibili. Sono esempi di pacchetti di protezione spazio eseguibile per Unix OpenWall, Exec Shield e Pax. Componenti aggiuntivi per Windows includono StackDefender e BufferShield. Poiché Windows XP Service Pack 2, Windows offre Data Execution Prevention (DEP), fornendo qualche protezione da sovraccarico del buffer.