Ubuntu utilizza funzionalità di sicurezza come DEP e ALSR?


11

Leggo spesso che funzionalità come DEP (Data Execution Prevention) e ASLR (Address Space Layout Randomization) sono disponibili su Windows. Su Windows, hai il controllo sull'attivazione di DEP per i programmi a 32 bit.

  • Queste funzionalità sono disponibili in Ubuntu
  • c'è qualcosa che dobbiamo fare per attivare queste funzionalità?

Risposte:


20

Sì per entrambi. Sono attivi per impostazione predefinita; non è necessario fare nulla per abilitarlo. Segue una risposta più lunga ...

DEP è usato di default in Ubuntu. Questo viene fatto tramite il bit NX se la CPU lo supporta o emulato tramite segmentazione della memoria se la CPU non lo supporta. Per ulteriori dettagli, vedere l' elemento della funzione di memoria non eseguibile .

ASLR è usato di default in Ubuntu su tutti i segmenti di memoria che possono essere riposizionati (stack, librerie, heap, mmap). L'unica parte di un programma che non è trasferibile di default è l'area del codice principale (segmento "testo"). I programmi devono essere appositamente compilati come PIE (eseguibile indipendente dalla posizione) per consentire ciò. Molti programmi sensibili sono già stati creati in questo modo. Per maggiori dettagli, consultare l'elenco

Molte funzionalità di sicurezza aggiuntive sono disponibili per impostazione predefinita in Ubuntu. Vedi la documentazione sulle caratteristiche di sicurezza di Ubuntu per l'elenco completo.


1

Il kernel di Linux, per impostazione predefinita, utilizza tecnologie simili, tuttavia sono diverse dalle versioni di Windows. Se il tuo processore ha la capacità di impostare il bit NX (la maggior parte delle CPU moderne), il kernel lo utilizzerà. C'è anche un'implementazione debole in ASLR nel kernel, e quelli più forti possono essere installati, ma non sono installati di default su Ubuntu.


3
Non riesco a trovare riferimenti al momento (l'articolo di Wikipedia en.wikipedia.org/wiki/ASLR non ha i bit del confronto entropico), ma la mia comprensione è che Windows ASLR è più debole di Linux. E se vuoi un ASLR più pesante rispetto al default di Linux, puoi creare il tuo kernel con il patchset PaX, che offre maggiore entropia a un piccolo costo di compatibilità.
Kees Cook,

Un buon articolo che suddivide le differenze cert.org/blogs/certcc/post.cfm?EntryID=191 ovviamente, che non sarebbe completo con alcuni dibattiti sui dettagli più fini: D reddit.com/r/netsec/comments/ 1xjwde /…
Univ426,

0

In generale e semplicemente parlando, avresti bisogno di una versione PAE del kernel per questo. Per informazioni dettagliate su questo argomento, consultare questo riepilogo .


3
PAE è necessario solo per l'hardware NX. 64 bit è già PAE, quindi su 32 bit se non si esegue un kernel PAE o se l'hardware non ha il bit NX, Ubuntu emula la funzionalità NX utilizzando la segmentazione della memoria.
Kees Cook,

@Kees Cook: Grazie per le informazioni. OP ha chiesto del 32 bit. Sul mio sistema (Ubuntu 10.10 a 32 bit) dmesgdice NX (Execute Disable) protection cannot be enabled: non-PAE kernel. D'altra parte, quando ho eseguito i test da bazaar.launchpad.net/~ubuntu-bugcontrol/qa-regression-testing/… , nx ​​sembrava essere applicato, ma non per i test -piee -rie. Quindi è un po 'confuso per me.
organizza il

2
sfortunatamente, il rapporto 10.10 e successivi di dmesg ha un bug in cui non dice quando l'emulazione NX è abilitata su hardware con NX ma senza un kernel PAE: kernel.ubuntu.com/git?p=ubuntu/…
Kees Cook

1
(Questo è stato segnalato come un bug ora: bugs.launchpad.net/ubuntu/+source/linux/+bug/745181 )
Kees Cook
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.