
enox (Normal User)
Rookie
    
Messaggi: 39
Iscritto: 11/06/2009
|
Consideriamo un file criptato (in modo adeguato da scongiurare l'attacco al testo cifrato). Consideriamo un programma che carichi questo file, lo decripti e fornisca all'utente solo una parte del contenuto informativo dello stesso. La sicurezza della non divulgazione della restante parte del contenuto informativo del file è demandata alla non tracciabilità dei dati (o del programma) di decrittazione. Sia infine il programma di decrittazione scritto in VB.NET.
Domande:
1) essendo VB.NET un linguaggio semiinterpretato, è questo un fattore peggiorativo per la valutazione della sicurezza nelle condizioni indicate?
2) è possibile immaginare un attacco al materiale informativo presente nella memoria RAM mentre il programma è in esecuzione?
3) esistono disassemblatori e/o tracciatori specifici per il VB.NET che mettano in evidenza carenze di questo linguaggio in relazione ad altri con metodologia di compilazione differente?
Nota: in tutte le valutazioni del caso si consideri ininfluente l'attacco alla chiave di cifratura eventualmente inserita nel programma.
|
|

HeDo (Founder Member)
Guru^2
    
Messaggi: 2765
Iscritto: 21/09/2007
|
per quanto consideri .net il miglior prodotto microsoft degli ultimi 20 anni la sicurezza del codice sorgente è un tallone d'achille.
a patto di usare impostazioni molto aggressive dell'obfuscator si può sempre risalire al codice C# o VB.NET dell'applicazione con minimo sforzo.
|
|

()
Newbie
    
Messaggi:
Iscritto:
|
Postato originariamente da enox:
1) essendo VB.NET un linguaggio semiinterpretato, è questo un fattore peggiorativo per la valutazione della sicurezza nelle condizioni indicate? |
Sì
2) è possibile immaginare un attacco al materiale informativo presente nella memoria RAM mentre il programma è in esecuzione? |
Sì
3) esistono disassemblatori e/o tracciatori specifici per il VB.NET che mettano in evidenza carenze di questo linguaggio in relazione ad altri con metodologia di compilazione differente? |
Sì
|
|

Mte90 (Member)
Guru
    
Messaggi: 1144
Iscritto: 25/03/2008
|
dal tono del post di enox mi sembra un compito affibiatogli in qualche scuola lol.
tornando al contesto come detto precedentemente il net è molto facile da decompilare.
basta usare reflector e si ottiene il codice in vb.net,c#,il e delphi.
l'unica soluzione è offuscare il codice.
|
|

TEX WILLER (Normal User)
Expert
    
Messaggi: 579
Iscritto: 07/07/2009
|
La sicurezza con il .net puoi sognarla (a meno che non siano programmatori), il .net e sconsigliato vivamente per la sicurezza!
|
|

enox (Normal User)
Rookie
    
Messaggi: 39
Iscritto: 11/06/2009
|
Postato originariamente da Mte90:
dal tono del post di enox mi sembra un compito affibiatogli in qualche scuola lol. |
No, no... la scuola, ormai, è un ricordo lontano. Ho imparato che se si pongono le domande in modo preciso si ottengono risposte precise, e questo esempio ne è la conferma.
La sostanza, invece, è che è un bel problemino... credo che prenderò quel file e lo suddividerò in blocchi informativi differenti, con differenti chiavi di crittazione.
BTW: ma quando gli dei di Seattle progettano un sistema di sviluppo, non si soffermano a pensare che il reverse-engineering del codice è un problema che spesso gioca un ruolo più importante della bella iconcina e/o dello splash accattivante?
Grazie delle risposte! |
|

()
Newbie
    
Messaggi:
Iscritto:
|
E' una scelta ... pensa a Java ...
|
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
|
|

enox (Normal User)
Rookie
    
Messaggi: 39
Iscritto: 11/06/2009
|
Molto interessante Il Totem, un'altra cosa imparata.
Alcune domande veloci:
1) Sai che algoritmo utilizza il sistema per tale lavoro? (pura curiosità: per queste funzioni, uno vale l'altro...)
2) La velocità? E' pensabile estenderne l'uso a stringhe un po' più lunghe? In particolare, il tempo/carattere è fisso o è funzione della lunghezza della stringa?
|
|