Analisi costi-benefici dell'ASLR

3

Voglio valutare se vale la pena aggiungere ASLR a un sistema operativo proprietario. Questo sistema operativo esegue più applicazioni che non si fidano l'un l'altro e scambiano i dati sulla rete, quindi le minacce attenuate da ASLR si applicano. Date risorse infinite, aggiungerei ALSR.

Ma le risorse sono finite. Forse avremmo una sicurezza maggiore spendendo tempo in altre attività come test più intensivi, analisi statiche più precise, miglioramenti generali del design, ecc.

Possiamo esaminare il nostro sistema operativo e valutare il costo dell'ASLR (progettazione iniziale, evitando perdite di indirizzi attraverso, ad esempio, tempistiche, maggiore difficoltà di debugging, ...). Come possiamo valutare i benefici?

ASLR non previene le vulnerabilità, ma rende gli exploit più difficili. Tendo a pensare che la vulnerabilità meno sfruttabile è quella che non esiste e gli aggressori troveranno sempre un modo, ma questo è solo un sentimento, non ho dati. È comune per ASLR rendere impossibile lo sfruttamento? Come possiamo quantificare i benefici dell'ASLR?

    
posta Gilles 29.09.2016 - 23:01
fonte

3 risposte

2

Un modo per ottenere alcuni dati su questo è pesare il tasso di successo / fallimento di ASLR per questo particolare sistema operativo implementandolo in un ambiente di test e quindi eseguendo attacchi contro la versione non ASLR e la versione ASLR. Ovviamente, questo sarebbe molto unilaterale, essendo testato solo da una specifica entità invece che da una comunità. Tuttavia, otterrete un'idea approssimativa di quanto sia efficace l'ASLR, quanto accurato quel numero dipende da quanto sofisticati sono gli attacchi.

Nessuna misura di protezione riuscirà a bloccare tutti gli attacchi. Dato il tempo, le risorse e la persistenza, un utente malintenzionato alla fine riuscirà. ASLR imposta la barra più in alto per le competenze necessarie per occupare completamente un sistema operativo, ma non lo rende impossibile.

Considerare Difesa in profondità come punto di discussione per ASLR, i solidi progetti di sicurezza utilizzano più difese prima che un utente esterno raggiunga effettivamente un'applicazione. È lì per proteggere il sistema operativo se qualcuno fosse abbastanza intelligente da aggirare le difese interiori. E se l'individuo fosse solo un gattino da script che è stato fortunato ad entrare in rete, ma non ha idea di come funziona ASLR? L'attacco si è bloccato, o almeno ha ridotto notevolmente il suo impatto. E se l'aggressore fosse un professionista? Utilizzare ASLR non rende certo il loro obiettivo più facile per loro, potrebbero continuare a persistere o semplicemente stancarsi e prendere ciò che possono ottenere.

Naturalmente, dal momento che questo sistema operativo è proprietario, sicuramente non sarebbe bello per gli sviluppatori se qualcuno dovesse comprometterlo, quindi è stato rivelato che nessuna misura di protezione è mai stata implementata nel nucleo del sistema operativo . Questo è quasi come una banca che usa le serrature residenziali su una cassastrong.

    
risposta data 30.09.2016 - 00:41
fonte
2

Verifica le app in esecuzione su questo SO personalizzato per le vulnerabilità di input, in particolare i sovraccarichi del buffer e gli overflow dello stack. Se ne trovi uno, è un segnale che la difesa in profondità è una strategia più necessaria di quanto tu abbia capito.

Non è necessario creare alcun codice shell o portare gli attacchi fino al completamento. Deve essere sufficiente per convincere gli altri ingegneri che è possibile inserire valori arbitrari nel puntatore dell'istruzione. Questo è quando i vantaggi dell'ASLR si concretizzano davvero.

    
risposta data 30.09.2016 - 04:27
fonte
1

L'ASLR è un metodo noto per rendere difficili alcuni exploit. Se si desidera ottenere una funzionalità simile, la ricerca di alternative sarebbe un compito costoso. Sai già che ASLR è buono, mentre il risultato della tua ricerca non è una soluzione garantita. Non mi sembra molto eccitante. È possibile fare riferimento a questo articolo sulla sicurezza Microsoft quando ASLR mostra il suo valore: link .

I vantaggi in termini di costi dell'ASLR dipendono anche dal livello di controllo che si ha su quali applicazioni vengono eseguite sul proprio sistema operativo.

  • È possibile controllare la qualità delle applicazioni in esecuzione sul proprio sistema operativo? In caso affermativo, la concentrazione sui test, l'analisi statica ecc. Conterebbe. Altrimenti, non ti dà davvero molti benefici aggiuntivi.
  • ASLR è utile per un insieme molto specifico di vulnerabilità. È probabile che un utente malintenzionato si concentri su questi solo se la macchina che esegue il sistema operativo è un sistema molto critico. Per i sistemi non critici, è possibile concentrarsi sulla ricerca di soluzioni alternative.
risposta data 18.10.2016 - 06:24
fonte

Leggi altre domande sui tag