Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> networking >> Sicurezza di rete >> .

Come prevenire attacchi di buffer overflow

attacchi di buffer overflow è una comune forma di attacco di un hacker di provocare il caos in un sistema . Ci sono attacchi di overflow dello heap -based , che sono rari gli attacchi , e stack-based , che erroneamente reimpostare il limite di memoria per lo stack , facendolo traboccare . La straripante mosse di dati in altri buffer , corrompere o sovrascrivere i dati validi lì , causando una cascata di buffer corrotti , molto simile a una cascata di traboccante bicchieri di champagne . Per prevenire attacchi di tipo buffer overflow , è necessario avere conoscenze specifiche di programmazione di computer , accedere al codice in questione e il tempo e la pazienza di spulciare pagine e pagine di codice per implementare le modifiche necessarie per proteggere i vostri sistemi . Istruzioni
1

Scrivi il codice di sicurezza per prevenire gli attacchi di overflow . In C , ci sono una serie di funzioni vulnerabili che gli hacker possono sfruttare al buffer troppo pieno . Ridurre al minimo l'uso di strcpy ( ) , strcat ( ) , sprintf ( ) e vsprintf ( ) , che non eseguono la verifica limiti. Se possibile , evitare l'uso di gets ( ), che non specifica quanti caratteri devono essere leggere e lascia così il codice vulnerabile . Se usate scanf ( ) , assicurarsi di specificare una larghezza di formato% s per evitare sforamenti .
2

Controllare per vedere se è possibile utilizzare i trampolini per prevenire overflow del buffer . Dal buffer overflow si verifica nelle pile di memoria e non nel codice , la soluzione più semplice sembrerebbe prevenire il vostro stack di esecuzione di qualsiasi codice con l'inserimento di una piccola porzione di codice a vietare queste azioni . Questo è possibile in Linux , ma è molto difficile. Solo alcuni compilatori utilizzano i piccoli bit di codice chiamati trampolini , che agiscono come una barriera tra il codice di richiamo di una funzione e la funzione stessa . Quindi , se il codice dannoso tenta di sovrascrivere un buffer , il trampolino può intercettare e vanificare i tentativi degli hacker .
3

Implementare gli strumenti di compilazione per dare avvertimenti quando si utilizza il codice che ti lascia vulnerabili a attaccare. Alcuni di questi strumenti sarà generare codice che vieta agli stranieri di accedere indirizzi illegali e si spegnerà codice che tenta tale esecuzione . Prodotti come StackShield e StackGuard sono di grande aiuto . StackSheild esaminerà l'indirizzo di ritorno di una funzione e di interrompere in caso di irregolarità . StackGuard posti una parola canarino sul indirizzo di ritorno e verifica se questa parola è stata alterata, che chiude una funzione quando si ha.
4

installare strumenti come libsafe per controllare la sicurezza in una dinamica , eseguire ambiente - tempo . Libsafe eseguito in Linux e controlla l'indirizzo di ritorno più vicino da uno stack frame , allora sì che l' indirizzo non viene sovrascritto . Libsafe sostituirà anche le funzioni non sicure come gets ( ) , strcpy ( ) e scanf ( ) .

 

networking © www.354353.com