Perché è sempre possibile scoprire e sfruttare nuove vulnerabilità zero-day? [chiuso]

0

Non è possibile che un server / computer aggiornato sia completamente isolato dagli attacchi? Perché non riesci a bloccare nessuna richiesta in arrivo per eseguire qualcosa sul tuo server?

Ad esempio, nella mia vista naiv, un server di posta potrebbe ricevere email (file di testo) che inviano e-mail, ma non permettere mai che qualcosa acceda al server per eseguire qualsiasi cosa. Cosa potrebbe rompere questo?

Ma come fanno gli hacker a trovare e utilizzare una vulnerabilità?

    
posta james preston 02.12.2013 - 02:24
fonte

2 risposte

3

Finché il software è scritto da persone, che sono intrinsecamente imperfette e possono commettere errori, ci saranno bug nel codice che possono essere sfruttati.

I server devono esporsi al mondo esterno per fornire i loro servizi, che sono sicuramente forniti dal software scritto da persone installate sul server. Per i computer client, devono eseguire un software che consenta loro di essere utili ai loro proprietari, ad esempio il software di elaborazione testi, e che sia ancora scritto da persone.

Nell'esempio di cui scrivi, un utente malintenzionato può attaccare il servizio di posta elettronica esposto dal server. Quindi, alcuni giorni zero per l'escape di sandbox / chroot, l'escalation dei privilegi e all'improvviso l'hacker ha root sul server.

Nessuna quantità di mitigazione fermerà un determinato attaccante con quasi illimitate risorse dalla compromissione di un sistema; è una questione di gestione del rischio, tipo il tipo di attacco che stai cercando di proteggere e determina il tipo di misure che prendi.

    
risposta data 02.12.2013 - 03:37
fonte
0

Un server che non fa nulla non è un server utile. Un file di testo non può essere eseguibile da solo, ma generalmente l'elaborazione deve essere eseguita su di esso. Le vulnerabilità di Zero-day non sono in genere problemi con la normale funzionalità del programma, ma piuttosto sfruttano oscuri errori di programmazione come il fatto che la funzionalità viene compromessa quando viene inviato un particolare input non valido.

Nell'esempio del tuo server di posta, forse c'è un filtro antispam che lo analizza e se inserisci una certa quantità di e-mail provoca un bug nel comportamento del filtro antispam. O forse quando si invia una richiesta SMTP non valida si può ottenere per eseguire codice arbitrario che si inserisce nella richiesta SMTP non valida. Le e-mail stesse possono essere di testo, ma quel testo deve essere utilizzato a un certo punto. I protocolli per gestire lo scambio di questi messaggi devono anche eseguire esecuzioni più avanzate e devono scrivere e leggere le informazioni dal disco.

Una possibile vulnerabilità zero day potrebbe essere presente in qualsiasi parte del processo e dal momento che gli sviluppatori non sono perfetti, qualsiasi parte di esso potrebbe potenzialmente avere un problema. L'unico modo per un computer di essere perfettamente sicuro (verso il mondo esterno) è di non farlo affatto rispondere al mondo esterno. Se si espone qualsiasi tipo di funzionalità interattiva, allora è possibile che un bug in tale funzionalità possa consentire l'esecuzione di comandi arbitrari alimentando l'input che sovrascrive la memoria con una chiamata al codice inclusa con l'input.

Questo è chiamato overflow del buffer e, sebbene non sia l'unico tipo di vulnerabilità zero day, è piuttosto comune. Nella memoria, non c'è alcuna differenza tra i dati e le istruzioni del programma. Le cose chiamate puntatori dicono al computer dove andare a cercare i dati o le sue prossime istruzioni. Se è possibile inserire istruzioni come dati e quindi modificare un puntatore per indicare al codice del programma di eseguire il codice inserito nella porzione di dati, penserà che sta seguendo il programma anziché eseguire i dati. Ci sono alcune misure tecniche che rendono questo un po 'più difficile da fare, ma questa è l'idea di base e non c'è davvero un modo perfetto per fermarlo.

    
risposta data 02.12.2013 - 15:35
fonte

Leggi altre domande sui tag