posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Strong Name Bug: correte a fare la SP1 su Win2003!

Sto facendo ancora dei test e quindi preferisco ritardare di qualche giorno un post più completo a tal proposito.

Il succo è questo: nei framework 1.0 e 1.1 è possibile fare tampering di un assembly firmato con strong name senza che la CAS lanci la SecurityException.

La cosa più buffa è che, al contrario di quello che sostiene MSDN (cioè che gli strong name prevengono il tampering), le specifiche ECMA dicono il contrario, indicando lo strong name esclusivamente per eseguire un buon versioning.
Rimando a questo proposito all'amico Valery (che ricordo ancora dai tempi della vecchia mailing list su DCOM) che in un post ed in uno successivo combatte una battaglia contro gli strong name ad uso di security.... e come dargli torto?

Microsoft sembra silente ma sotto sotto ci ha lavorato, tanto che nella Win2K3 SP1 il bug è stato fissato. La scoperta è stata casuale perchè stavo sperimentando la tecnica di fare tampering quando mi sono accorto che su Win2K3 non funzionava. È stato a quel punto che ho capito che era solo grazie alla SP1 ed infatti XP si è fatto bucare dolcemente...

A questo punto non potrò non parlarne al prossimo workshop di Giovedi ...

Nel frattempo date retta a Valery e non usate lo strong name per fidarvi di un assembly!

Print | posted on lunedì 4 aprile 2005 03:49 | Filed Under [ .NET [Italiano] ]

Feedback

Gravatar

# re: Strong Name Bug: correte a fare la SP1 su Win2003!

Ai vari TechEd ho sempre sentito che solo Autenthicode (o come cavolo si chiama...) può essere utilizzato per la firma digitale e il successivo controllo di eseguibili e componenti e che lo Strong Name serviva solo per il versioning.
Non so quanto questo si riallacci al tuo post... ;-)
04/04/2005 13:00 | Lorenzo Barbieri
Gravatar

# re: Strong Name Bug: correte a fare la SP1 su Win2003!

È assolutamente la verità (vedi specifiche ECMA) ma allo stesso tempo MSDN dice che viene usato per evitare tampering.

Nella pratica il problema è enorme. Infatti se vai nella configurazione del framework nella Policy 'Machine' troverai che gli assembly firmati con *strong name* Microsoft ed ECMA hanno Full Trust.
Ora mi pare chiaro che se puoi fare tampering di una dll che è firmata da MS, la cosa non è proprio allegra!
Non credo ci sia bisogno di aggiungere altro....
04/04/2005 13:33 | Raffaele Rialdi
Gravatar

# re: Strong Name Bug: correte a fare la SP1 su Win2003!

Avevo già letto un anno fa su weblogs.asp.net di problemi di questo tipo (tampering, strong name, etc...) e c'era già stata la dimostrazione di come effettuarlo.
Mi sembra strano che solo con il SP1 di Win2003 si è posto rimedio.
Forse sarebbe necessario rivedere qualche cosa nel processo di creazione e distribuzione delle Fix di .NET, visto anche il problema con l'autenticazione di ASP.NET che c'era stato in passato e che non era stato risolto (almeno all'inizio) in maniera pulita...

O forse in questo momento .NET è ancora poco presente statisticamente sulle macchine degli utenti e nessuno ha "ancora" scritto malware per sostituire (magari sfruttando qualche altra vulnerabilità) le dll di sistema nella GAC con versioni sporche...

Ho un po' di brividi alla schiena...
04/04/2005 15:11 | Lorenzo Barbieri
Gravatar

# re: Strong Name Bug: correte a fare la SP1 su Win2003!

Non sono al corrente della notizia di un anno fa.
In ogni caso il problema non è nell'installazione in GAC, cosa che non riesce perchè fa il controllo correttamente. Il problema è durante il load dell'assembly.
Il bug è grave perchè tutte le evidence con strong name non sono affidabili ed il problema è soprattutto con lo strong name di Microsoft che ha full trust su tutti i PC.
04/04/2005 17:03 | Raffaele Rialdi
Gravatar

# re: Strong Name Bug: correte a fare la SP1 su Win2003!

Non ricordo dove l'avevo letta, forse era in relazione al tool di Robert McLaws per automatizzare la gestione degli strong name.
Alla fine l'avevo lasciata perdere.
Spero di riuscire a venire giovedì per seguire la sessione che si preannuncia molto interessante...
04/04/2005 17:21 | Lorenzo Barbieri
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET