\\ Home Page
Benvenuto nel Blog di Cantelmo Software: "SELECT * FROM Cantelmo_Security ORDER BY date DESC"
LinkLog
Nessun link trovato.
WebLog
...ultimi ritocchi al nuovo sito web! 
Per chi, invece, segue le nuove tendenze del web (...e vuole informazioni brevi e concise) può seguire Cantelmo Software anche sui principali social network:...
Continua a leggere...
Estate 2011 ricca di novità! Cantelmo Software da il via ad una nuova linea di componenti per sviluppatori, denominata: .NET Easy... 
Tutti i componenti sono realizzati in puro codice managed (100% vb.net):...
Continua a leggere...
Il vero pericolo per la sicurezza è provare un falso senso di sicurezza! 
Il rilascio dei nuovi decompilatori per la piattaforma .NET (...gratuiti ed in formato sorgente cioè modificabile da chiunque!) espone, il ns codice, in modo esponenziale, al reverse-engineering e decompilazione da parte di hacker e competitors!
In questo post vedremo una modifica applicata al nuovo decompilatore ilspy che bypassa una tecnica di offuscamento: il renaming a caratteri non stampabili!

L'attuale modifica unitamente all'automatismo -già presente- per l'eliminazione del control-flow mette a serio rischio la tutela delle ns applicazioni!...
Continua a leggere...
Quando una determinata tecnica è obsoleta, vulnerabile e/o non funziona con tutti i decompilatori si verifica il cosiddetto effetto-boomerang sugli obfuscator!
quando si protegge un assembly .NET con uno dei seguenti prodotti:
- bab** obfuscator;
- cryp** obfuscator;
- deeps** obfuscator
si scopre una tecnica uguale
ma ormai, da tempo, obsoleta! dato il semplice metodo con un argomento stringa, ed il suo codice in assembler-IL:
.namespace MyNamespace
{
.class private abstract auto ansi beforefieldinit MyClass
extends [mscorlib]System.Object
{ .method assembly hidebysig instance void MyMethod(string s) cil managed
{
...
L_000x: ldtoken instance void MyNamespace.MyClass::MyMethod(string) // D0????????
L_00xx: pop // 26
...
}
}
}
si nota la presenza delle seguenti istruzioni: ldtoken, pop
il token passato (sia esso MethodInfo, FieldInfo o Type) viene convertito in RuntimeHandle e pushato sullo stack per poi essere immediatamente poppato!
...in pratica nessuna modifica al codice!
... Continua a leggere...
grazie alle vulnerabilità del codice .NET ...tutti, ormai, riescono a fare tutto! 
ultimamente sto riscontrando una situazione davvero divertente:
-
i "piccoli" clonano le tecniche di protezione di altri obfuscator che poi re-implementano in prodotti gratuiti o, comunque, a prezzo minore dei rispettivi competitors e riuscire, in qualche modo, ad entrare e sopravvivere nel mondo del business del software;
-
i "grandi" (produttori di componenti) invece rilasciano gratuitamente nuovi decompilatori per la piattaforma .NET
il riscontro immediato è che dopo, "Jetbrains" ora anche "Telerik" ha rilasciato il suo decompilatore: JustDecompile! (...la nota simpatica è che viene rilasciato un tool che danneggia tutti ma poi viene precisato che tale tool non dev'essere utilizzato per il reverse-engineering dello stesso) 

nell'offuscazione del ns codice, quindi, non basta "testare" un obfuscator ...
Continua a leggere...
Goliath .NET Obfuscator è in continua evoluzione con tecniche di protezione sempre uniche ed originali!

...
Continua a leggere...
Ancora un test sulle potenzialità del Goliath .NET Obfuscator 5.5.x su progetti WPF-MVVM (notoriamente ostici all'offuscazione del codice)
...
Continua a leggere...
Come più volte ribadito è possibile sfruttare le molteplici tecniche di protezione presenti in Goliath .NET Obfuscator rel. 5.5.x qualunque sia il tipo di progetto sviluppato! 
Oggetto di questo post è la protezione di una semplice applicazione "WPF-Browser":
...
Continua a leggere...
Alcune delle molteplici tecniche di protezione presenti in Goliath .NET Obfuscator rel. 5.5.x applicate ad un semplice progetto WP7:

...
Continua a leggere...
Le tecniche di protezione implementate nel nuovo Goliath .NET Obfuscator rel. 5.5 sono sempre disponibili indipendentemente dal tipo di progetto utilizzato: winform, web, silverlight, ect.
Un esempio di protezione su un progetto Silverlight4 è disponibile a questo link
I parametri utilizzati sono:
goliath /main:C:\g_test_v5\testSL.dll /e:s /values /nopublic /xap:C:\g_test_v5\TestSL.xap /snk:C:\g_test_v5\goliath.snk /proxy /r /var /namespaces /call ...
Continua a leggere...
Un grafico è sempre meglio di tante parole!

Goliath .NET Obfuscator -grazie ad un uso combinato dei vari parametri di protezione- consente di raggiungere un elevato livello di sicurezza
...
Continua a leggere...
Per rendere difficoltoso l'analisi del ns codice, non basta solo "camuffare" i valori numerici. E' necessario applicare "complesse trasformazioni al codice". Tali trasformazioni consentono di creare codice metamorfico 
Dato l'esempio vb.net

ed il relativo codice assembler-IL:

è possibile applicare una trasformazione al codice che esegue la somma del valore 1:...
Continua a leggere...
Fino ad ora è stato abbastanza semplice bloccare tutti i decompilatori .NET
Ma dato che gli stessi quest'ultimi si stanno evolvendo -imho- servono nuove idee! Eccovi, quindi, le mie idee
L'aggressore (con un decompilatore) vuole a tutti i costi spiare il ns codice? ...Bene! Perchè, allora, non fargli spiare, analizzare e far perdere tempo con quello che vogliamo noi?
Questo è il primo di una serie di post in cui si illustra come Goliath .NET Obfuscator applica alcune trasformazioni metamorfiche e/o polimorfiche al codice (alcune delle quali già usate sin dalla release 2.x) usando le stesse -efficaci- tecniche dei virus al fine di "diversificare" il risultato finale.
Tale tecniche risultano valide (come già detto in precedenza) anche per l'eventuale watermarked del codice stesso.... Continua a leggere...
...c'è chi va e c'è chi viene! ...ed il problema -di sempre- comunque rimane: la decompilazione delle ns applicazioni .NET! 
"From the end of February 2001 .NET Reflector will become a paid-for product, starting at $35"
Con questo annuncio l'azienda produttrice fa sapere che non ci sarà più una versione gratuita del noto decompilatore!
Le situazioni da me ipotizzate sono:
- la solita "strategia d marketing": ti regalano una cosa per farti abituare e poi, quando non ne puoi più fare a meno,...il prodotto diventa a pagamento!
- "punizione" per gli utenti: dato che circola in rete una versione completamente spacchettata e decompilata (con tanto di src code c#- pronto ad essere ricompilato con VS) si tenta, in qualche modo, di recuperare l'investimento fatto inizialmente (acquistando .NET Reflector da un dipendente MS)
Quale che sia la verità, l'azienda sarà ora costretta a "rimboccarsi le maniche"...perchè ci sarà da competere (la concorrenza purtroppo è a tutti i livelli: decompilatori, offuscatori
, ect) con un nuovo prodotto open-source: ILSpy (assembly browser & decompilatore)

...
Continua a leggere...
Pur essendo solo un "geometra edile" Vi propongo nr. 3 nuove tecniche di protezione che, al momento, non sono state pensate/implementate da nessun "architetto software" e/o "ingegnere informatico" (...ogni riferimento a fatti o "personaggi" -che ultimamente cercano di screditare il mio operato- è puramente casuale!
...che tristezza dover copiare le tecniche da un "edile" !)
Le nuove funzionalità (già implementate in Goliath .NET Obfuscator 5.x) sono accessibili tramite i nuovi parametri: /fakevar, /fakemath, /fakejmp)

L'idea di fondo è questa: se un aggressore riesce ad eliminare tutti gli strati di protezione di Goliath .NET Obfuscator, che tipo di codice si ritrova a dover analizzare? 
Nel documento allegato è possibile valutare la "qualità del codice offuscato" ottenibile con alcune "semplici" tecniche:...
Continua a leggere...