Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Delucidazioni su funzionamento di Emet 2.00

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

Delucidazioni su funzionamento di Emet 2.00

Messaggioda 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? [:-H]

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
Avatar utente
Pulcepiccola
Bronze Member
Bronze Member
 
Messaggi: 763
Iscritto il: dom ott 10, 2010 3:49 pm

Re: Delucidazioni su funzionamento di Emet 2.00

Messaggioda sampei.nihira » gio mag 12, 2011 1:56 pm

Ciao Pulce io lo sanno i vari utenti assidui di questo forum durante la settimana ho poco tempo e tu mi sembri un politico (senza offesa ovvio per te, mica per i politici) quando scrivi.... [;)] [;)] [:D]

L'aspetto che ti interessa ed ho colto (se l'ho colto) con la velocità di lettura fatta è la randomizzazione dell'indirizzo di memoria.
Cioè a dire se solitamente un sw usa degli indirizzi di memoria ben specifici (quindi osservabili) e reperibili tramite un monitor di processi,con EMET tali indirizzi vengono randomizzati cioè diventano casuali e ciò assicura una maggiore protezione dagli attacchi.
perché ?
Ovvio perché gli indirizzi sono diversi da quelli che solitamente ci si aspetterebbe.

Allora per verificare ciò basta utilizzare un monitor di processi per esempio process explorer.
Apri e verifichi prima e dopo.
Anche se alcuni valori in base al OS usato si evidenziano come funzione random solo dopo il riavvio del sistema.

Spero,per quello che ne sò anche io,di averti aiutato un pochetto.
釣りキチ三平
Avatar utente
sampei.nihira
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3527
Iscritto il: dom ott 03, 2010 8:18 am

Re: Delucidazioni su funzionamento di Emet 2.00

Messaggioda 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).

Immagine

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.

Immagine

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 Torvalds

EX [MLI] Power User.
Avatar utente
hashcat
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2285
Iscritto il: lun ott 25, 2010 1:26 pm

Re: Delucidazioni su funzionamento di Emet 2.00

Messaggioda Pulcepiccola » gio mag 12, 2011 4:14 pm

Ciao sampei.nihira, hashcat,

vi ringrazio molto per la spiegazione.


A la prochaine fois
Ciao [;)]

Pp
Avatar utente
Pulcepiccola
Bronze Member
Bronze Member
 
Messaggi: 763
Iscritto il: dom ott 10, 2010 3:49 pm


Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising