ASM Utilizzo Assembly in sicurezza informatica

Stato
Discussione chiusa ad ulteriori risposte.

fisica-all

Utente Jade
13 Aprile 2014
1,427
162
332
914
Buona sera,
Sto leggendo un libro che oltre a spiegare il linguaggio C, parla anche del linguaggio Assembly. Ho capito che serve a studiare gli indirizzi di memoria su cui agiscono i programmi (correggetemi se sbaglio), ma a che serve tutto questo? Non capisco!
Ho cercato nel forum, ma le guide purtroppo non sono più disponibili...
Grazie mille!


Inviato dal mio iPhone utilizzando Tapatalk
 
Nell'ambito della sicurezza informatica, l'assembly viene utilizzato per realizzare exploit, in particolare per far eseguire azioni arbitrarie al programma target (per esempio aprire una shell di root). In questi casi viene utilizzato l'assembly poiché non è possibile stabilire con sicurezza dove il programma "iniettato" venga caricato, e quindi non si possono utilizzare gli indirizzi assoluti (come di solito fa un compilatore C). Inoltre l'exploit deve essere il più piccolo possibile e allo stesso tempo deve sfuggire alle principali tecniche di rilevamento, come il rilevamento di caratteri ASCII non stampabili, ed eseguire ciò con il C o qualungue altro linguaggio di alto livello è praticamente impossibile
 
Grazie mille per la risposta a dir poco perfetta, era proprio quello che volevo sapere. Il libro parla di accessi alla memoria per ora, mi conviene impararli bene quindi?


Inviato dal mio iPhone utilizzando Tapatalk
 
Io sono dell'idea che dipende dal target che uno sviluppatore si da.
Non è che sia proprio essenziale conoscere l'assembly a mio avviso, però è chiaro che conoscere un più basso livello aiuta a capire cosa sono e come funzionano determinati meccanismi in realtà difficilmente si trovano su un libro di C++, e che a lungo andare aiutano a scoprire il funzionamento della macchina stessa.
Io personalmente mi sono avvicinato all'assembly praticando reverse engineering, ma a livello lavorativo in 15 anni non è mai capitata una sola occasione dove sia servito scrivere o leggere una sola linea di assembly, questo però non significa che la conoscienza dell'assembly non mi abbia agevolato.
Per quanto riguarda gli utilizzi malevoli, ci sarebbe molto da dire, ma non è il momento.
 
Leggi questo thread: https://www.inforge.net/xi/threads/a-cosa-serve-al-giorno-doggi-lassembly.264718/
Sapere come un programma accede alla memoria è fondamentale per chiunque voglia programmare.
Grazie speedjack, in poche parole serve a capire meglio il funzionamento di un programma e come si comporta con la memoria.. Grazie!


Io sono dell'idea che dipende dal target che uno sviluppatore si da.
Non è che sia proprio essenziale conoscere l'assembly a mio avviso, però è chiaro che conoscere un più basso livello aiuta a capire cosa sono e come funzionano determinati meccanismi in realtà difficilmente si trovano su un libro di C++, e che a lungo andare aiutano a scoprire il funzionamento della macchina stessa.
Io personalmente mi sono avvicinato all'assembly praticando reverse engineering, ma a livello lavorativo in 15 anni non è mai capitata una sola occasione dove sia servito scrivere o leggere una sola linea di assembly, questo però non significa che la conoscienza dell'assembly non mi abbia agevolato.
Per quanto riguarda gli utilizzi malevoli, ci sarebbe molto da dire, ma non è il momento.
Perché non è il momento? Cosa ci sarebbe da dire? Anche solo accenni in breve


Inviato dal mio iPhone utilizzando Tapatalk
 
Grazie speedjack, in poche parole serve a capire meglio il funzionamento di un programma e come si comporta con la memoria.. Grazie!



Perché non è il momento? Cosa ci sarebbe da dire? Anche solo accenni in breve


Inviato dal mio iPhone utilizzando Tapatalk
Beh -perche l'internet e pieno zeppo di querry come bufferoverflow e shellcode, e poco dalle contramisure (come creare un canarino)
 
Stato
Discussione chiusa ad ulteriori risposte.