Un virus si è intromesso nel tuo computer? Vuoi navigare in tutta sicurezza? Sono sicure le transazione online? Come impedire a malintenzionati di intromettersi nel tuo pc? Come proteggere i tuoi dati? Qui trovi le risposte a queste ed altre domande
da Pulcepiccola » mer mag 11, 2011 8:43 pm
Carissimi,
vorrei chiedervi, gentilmente,alcune delucidazioni sulla funzione di Emet 2.00
Innanzitutto vi chiedo alcune conferme, vorrei rendermi conto se ho capito alcune cose:
1) Emet è stato progettato per far si che eventuali exploit ( praticamente codice eseguibile/ malware) confezionato ad hoc da malintenzionati, possa far leva su di un bug ( ovvero errore nella scrittura di un software ad esempio Firefox) per poter in questo modo aggredire il programma target, ottenendo i privilegi di amministratore e far compiere al programma preso di mira( esempio Firefox) operazioni dannose sul sistema operativo ( esempio modificare voci di registro, etc andare a scrivere in aree sensibili del Sistema operativo) Esatto?
Questo è un altro aspetto che vorrei capire meglio:
Ogni programma ( ad esempio Firefox) quando lo si lancia, viene caricato in memoria ( cioè nella RAM ),però non riesco a comprendere perché diventa vulnerabile e bisognerebbe proteggerlo con un tool apposito tipo Emet?
Poi ho trovato un articolo che spiega la funzione di Emet dichiarando: Address Space Layout Randomization è una delle tecniche più efficaci per rendere difficile l'esecuzione di exploit su una macchina dotata di Windows Vista e Windows 7. Come funziona? È presto detto: l'indirizzo di memoria in cui è caricata in memoria un'applicazione o una libreria dinamica viene randomizzato, in questo modo per un eventuale attaccante è molto più complesso conoscere in quale indirizzo di memoria andare ad agire con un eventuale exploit
Mi interesserebbe capire la parte che ho evidenziato in rosso ed in particolare l'indirizzo di memoria in cui è caricata in memoria un'applicazione o una libreria dinamica viene randomizzato,
che significa indirizzo di memoria?
Provo a darmi una spiegazione (vado ad intuito)
Mi viene da pensare che il programma quando viene caricato in RAM occupa una porzione della ram ben precisa e identificata da un indirizzo ( tipo un IP) conoscendo il quale si può raggiungere il programma ed eventualmente attaccarlo Esatto? o ho detto fesserie?
Quindi Emet assegna al programma, caricato in memoria, un indirizzo casuale ( randomizzato)
In modo che l’exploit, progettato per attaccare il programma su un dato indirizzo di memoria, non sia più efficace avendo Emet assegnato al programma bersaglio, un indirizzo di memoria casuale( random) e quindi diverso da quello inserito nell’exploit. Dico bene?
Vorrei, gentilmente, capirne di più, se qualcuno è più ferrato ……
Grazie milleee, anzi 20000
Ciao a tutti
Pp
-
Pulcepiccola
- Bronze Member
-
- Messaggi: 763
- Iscritto il: dom ott 10, 2010 3:49 pm
-
sampei.nihira
- Membro Ufficiale (Gold)
-
- Messaggi: 3527
- Iscritto il: dom ott 03, 2010 8:18 am
da hashcat » gio mag 12, 2011 3:16 pm
Citando wikipedia:
wikipedia ha scritto:Un indirizzo di memoria è un identificatore univoco per una posizione di memoria alla quale il processore o un'altra periferica possono salvare i dati per poterli recuperare in seguito.
Definizione di memoria:
Jon Erickson ha scritto:La memoria non è altro che un insieme di byte di spazio temporaneo numerati con altrettanti indirizzi.
Come una fila di case su una stessa via, ciascuna con il proprio indirizzo, la memoria può essere pensata come una file di byte, ognuno con il proprio indirizzo di memoria.
Pulcepiccola ha scritto:per poter in questo modo aggredire il programma target, ottenendo i privilegi di amministratore
Non è sempre necessario possedere i privilegi di amministratore, un exploit si può verificare anche passando da un livello di integrità basso ad uno medio.
Pulcepiccola ha scritto:Poi ho trovato un articolo che spiega la funzione di Emet dichiarando: Address Space Layout Randomization è una delle tecniche più efficaci per rendere difficile l'esecuzione di exploit su una macchina dotata di Windows Vista e Windows 7. Come funziona? È presto detto: l'indirizzo di memoria in cui è caricata in memoria un'applicazione o una libreria dinamica viene randomizzato, in questo modo per un eventuale attaccante è molto più complesso conoscere in quale indirizzo di memoria andare ad agire con un eventuale exploit
Ecco la spiegazione così come viene espressa nella guida di Emet:
Mandatory Address Space Layout Randomization (ASLR):
ASLR randomizes the addresses where modules are loaded to help prevent an attacker from leveraging
data at predictable locations. The problem with this is that all modules have to use a compile time flag
to opt into this.
Without EMET in place, attackers can take advantage of a predictable mapping of those dlls and could
use them in order to bypass DEP though a known technique called return oriented programming (ROP).
Figure 7: A module being loaded at a predictable location
With EMET in place, we force modules to be loaded at randomized addresses for a target process
regardless of the flags it was compiled with. Exploits using ROP and relying on predictable mappings will
fail.
Figure 8: A module being forces to load at a random address
Una buona spiegazione (in inglese) è presente qui:
http://blogs.technet.com/b/srd/archive/2010/09/10/use-emet-2-0-to-block-the-adobe-0-day-exploit.aspx
Mostra come è possibile prevenire sfruttando questa tecnica un exploit 0-day (Adobe Reader).
Spero di essere stato chiaro
<<Intelligence is the ability to avoid doing work, yet getting the work done.>>
Linus TorvaldsEX Power User.
-
hashcat
- Membro Ufficiale (Gold)
-
- Messaggi: 2285
- Iscritto il: lun ott 25, 2010 1:26 pm
Torna a Sicurezza
Chi c’è in linea
Visitano il forum: Nessuno e 25 ospiti