Quali vulnerabilità distinguono le distribuzioni come causando un "arresto anomalo del programma, con conseguente negazione del servizio o esecuzione di codice arbitrario"?

4

Durante la lettura di mailing list di distro security, vedo spesso che una vulnerabilità scoperta potrebbe causare "crash, con conseguente negazione del servizio o esecuzione di codice arbitrario". Questo esatto fraseggio è usato letteralmente su abbastanza frequentemente , ma di solito non ci sono molte informazioni aggiuntive.

Di quale tipo di vulnerabilità stanno parlando? È un buffer overread ? Usa dopo gratis ?

    
posta Xiong Chiamiov 29.03.2016 - 20:44
fonte

3 risposte

1

L'etichetta è piuttosto trasparente, ma sì, penso che tu abbia ragione nell'assumere che si tratti principalmente di problemi di gestione della memoria. Queste sono la causa più frequente di arresto anomalo del sistema, poiché causano il blocco del sistema operativo o il blocco del programma stesso che si blocca cercando di elaborare i dati danneggiati.

Nella maggior parte dei progetti FOSS, sarai in grado di ottenere maggiori dettagli su ciascuna vulnerabilità. Quando ne incontri uno, guarda più da vicino per scoprire quale tipo di bug è.

    
risposta data 29.03.2016 - 20:57
fonte
1

In generale, ciò significa "abbiamo trovato un bug, causa crash. Una persona intelligente potrebbe essere in grado di trasformarla in qualcosa di ancora più potente, ma non abbiamo il tempo di studiarlo da soli".

Sì, significa buffer overread. Sì, significa un UAF. Significa anche un overflow del conto e un double-free, e un (inserisci la tua classe di bug qui). La ragione di ciò è che molti bug sono stati trovati per la prima volta perché causano arresti anomali a causa di problemi con la memoria. Un bug innocente, accidentalmente trovato, o uno trovato con analisi dinamica (fuzzing), non accadrà solo con un exploit di esecuzione del codice perfettamente formato, completo di shellcode e printf ("w00t w00t \ n") ;. Spesso ci vuole un sacco di lavoro per trasformare un bug che causa un crash in qualcosa che provoca una corruzione della memoria così prevedibile da dirigere il programma nel modo desiderato. Di conseguenza, sono quasi tutti "arresti anomali, che potrebbero, con sforzo, essere in grado di essere utilizzati per l'esecuzione del codice".

Se stai chiedendo dal punto di vista di un difensore, significa "questa è una vulnerabilità di esecuzione di codice arbitraria grave, quindi correggila ADESSO".

Se stai chiedendo dal punto di vista di un venditore, significa "aw, non è niente, solo un piccolo incidente, niente da vedere qui gente che velocemente qualcuno mi ha preso dipartimento PR".

    
risposta data 02.04.2016 - 04:43
fonte
-1

crash = programma o interruzione di thread in esecuzione

negazione del servizio = gli utenti normali non possono accedervi perché sono inattivi, inondati di richieste false o l'hacker ha esaurito tutta la CPU, la memoria e / o il disco e il programma non può funzionare.

esempio: (d) dos attack, carica un file zip contenente 10 gb di a (o qualsiasi altra cosa) che verrà compresso in un piccolo caricamento, ma è possibile scaricare tutta la RAM o la porzione di disco rigido riservato per decomprimere i file.

Esegui codice arbitrario = l'hacker può eseguire qualsiasi cosa desideri e in pratica possiede il tuo sistema da remoto. di solito iniettano un RAT, ssh e / o irc per il comando e controllo remoto.

Di solito, buffer su run e under run, ma ci sono così tanti tipi diversi. Code injection, stack over flows.

    
risposta data 31.03.2016 - 03:19
fonte

Leggi altre domande sui tag