Qualsiasi motivo per non utilizzare randomize_va_space?

2

Ho cercato un po 'le opzioni del kernel per l'hardening, e ce n'è una che sembra essere una buona idea da implementare - randomize_va_space . Ma prima di attivare questa funzione ho avviato una ricerca su google e ho trovato principalmente le descrizioni su come disattivarlo. Di solito senza motivo, ma i pochi motivi per cui ho visto dove "rallenta", ma quello era un vecchio thread, o qualche ragazzino del college voleva provare un overflow del buffer auto-scritto.

Ci sono dei buoni motivi, come nei problemi causati da questo parametro del kernel, per non attivare la funzione?

    
posta user857990 20.08.2012 - 14:03
fonte

2 risposte

8

Quando esegui il debug di alcuni codici C, in particolare rintracciare i bug dopo l'accesso libero, la randomizzazione dello spazio degli indirizzi è piuttosto scomoda, perché rende i bug non deterministici. Spegnendolo, puoi riprodurre più facilmente i problemi. Questa è una buona ragione per disattivarlo sui computer di sviluppo (in contrapposizione ai sistemi di produzione).

Per quanto riguarda il rallentamento, c'è un effetto teorico dovuto alla diffusione di "indirizzi interessanti" su uno spazio più ampio. Poiché MMU su hardware x86 utilizza le tabelle forward per rappresentare lo spazio degli indirizzi (una mappatura dallo spazio virtuale allo spazio fisico, contrariamente a le tabelle inverse utilizzate nei recenti processori PowerPC), è possibile prevedere che la randomizzazione dello spazio di indirizzamento indurrà una leggera pressione aggiuntiva sulle cache (verrà utilizzata più memoria cache per leggere parti delle tabelle MMU). Tuttavia, come per tutti i problemi relativi alle prestazioni, suggerisco caldamente che un tale rallentamento debba essere debitamente misurato e confermato prima di adottare misure severe. In altre parole, disattivare la randomizzazione dello spazio degli indirizzi vale la pena provare se sei alla disperata ricerca di prestazioni su un dato sistema, ma non dovrebbe avere molto in media.

    
risposta data 20.08.2012 - 14:29
fonte
0

Sono in ritardo per questa festa, ma quando si profila il codice, è stato dimostrato che vari fattori, incluso l'indirizzo iniziale dello stack, introducono un inatteso ma significativo errore di misurazione (si veda Mytkowicz et al , 2009 ). È ragionevole supporre che ASLR abbia un effetto simile.

    
risposta data 28.10.2013 - 22:41
fonte

Leggi altre domande sui tag