Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
FRITZ!Repeater 1700 porta il Wi-Fi 7 dual-band nelle case connesse. Mette a disposizione fino a 2.880 Mbit/s su 5 GHz e 688 Mbit/s su 2,4 GHz, integrazione Mesh immediata via WPS con FRITZ!Box e funzioni smart come MLO per bassa latenza. Compatto, plug-and-play e pronto per il futuro, è la soluzione ideale per chi vuole coprire ogni angolo senza cavi o complicazioni
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
La Fondazione Chips-IT ha presentato a Pavia il piano strategico 2026-2028 per rafforzare l'ecosistema italiano dei semiconduttori. Con un focus su ricerca, design, talenti e infrastrutture, la Fondazione punta a consolidare il ruolo dell'Italia nel Chips Act europeo, sostenendo innovazione, collaborazione industriale e sovranità tecnologica.
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
Al Museo Alfa Romeo di Arese, Nutanix ha riunito clienti, partner ed esperti per .Next On Tour Italia e per mostrare come l’infrastruttura hybrid multicloud possa diventare il fondamento dell’innovazione, con una piattaforma capace di unificare applicazioni tradizionali, moderne architetture cloud-native e nuovi scenari basati sull’intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-09-2007, 23:55   #1
seven.7
Member
 
Iscritto dal: Jul 2005
Messaggi: 66
Sconvolto dalla facilità di decompilazione di .net

Sono un giovane amante della programmazione e il mio primo studio di linguaggio si concentrava tutto sul visual basic .net, stasera però ho avuto un shock tremendo: ho trovato un software online che penso conoscano tutti quelli del reverse engineering... e mi è caduto il mito del .NET per la facilità di decompilazione... Avevo progettato una classe per criptare i testi ma è inutile... con questo programma si vede praticamente tutto allora mi chiedo una sola cosa... vi prego ditemi che si posso criptare le classi o qualcosa del genere perchè altrimenti è inutile programmare in .net... secondo me
seven.7 è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 09:53   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
In genere è quello che succede anche con Java e con linguaggi simili. Fai una ricerca su .Net obfuscator e troverai diverse utility che ti permettono di mascherare il codice.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 09:53   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da seven.7 Guarda i messaggi
Sono un giovane amante della programmazione e il mio primo studio di linguaggio si concentrava tutto sul visual basic .net, stasera però ho avuto un shock tremendo: ho trovato un software online che penso conoscano tutti quelli del reverse engineering... e mi è caduto il mito del .NET per la facilità di decompilazione... Avevo progettato una classe per criptare i testi ma è inutile... con questo programma si vede praticamente tutto allora mi chiedo una sola cosa... vi prego ditemi che si posso criptare le classi o qualcosa del genere perchè altrimenti è inutile programmare in .net... secondo me
Guarda che la stessa problematica esiste anche in Java....
Per entrambe le piattaforme comunque esistono degli appositi offuscatori, che, nota bene, non impediscono la decompilazione ma rendono più difficile la comprensione (da parte di una persona, ovviamente) del sorgente ricavato dalla decompilazione.
L'argomento del reverse-engineering è complesso e comunque poco tollerato sul forum.

Prima di terminare, una considerazione: se hai paura che qualcuno possa vedere/capire il codice di una tua classe che (de)cripta qualcosa, allora il problema è il tuo codice. La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 11:20   #4
amedeoviscido
Senior Member
 
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
Quote:
Originariamente inviato da andbin Guarda i messaggi
La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
Parole sante!
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17
Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo
amedeoviscido è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 13:41   #5
pisto
 
Messaggi: n/a
Quote:
Originariamente inviato da andbin Guarda i messaggi
Guarda che la stessa problematica esiste anche in Java....
Per entrambe le piattaforme comunque esistono degli appositi offuscatori, che, nota bene, non impediscono la decompilazione ma rendono più difficile la comprensione (da parte di una persona, ovviamente) del sorgente ricavato dalla decompilazione.
L'argomento del reverse-engineering è complesso e comunque poco tollerato sul forum.

Prima di terminare, una considerazione: se hai paura che qualcuno possa vedere/capire il codice di una tua classe che (de)cripta qualcosa, allora il problema è il tuo codice. La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
ci sono dei metodi, magari agendoc direttamente sul bytecode, per ingannare i decompilatori (parlo di java)?
  Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 22:22   #6
nico88desmo
Senior Member
 
Iscritto dal: Jul 2006
Messaggi: 1568
Quote:
La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
Mi sembra di aver sentito il mio professore di sistemi
nico88desmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 22:49   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da andbin Guarda i messaggi
ma nella segretezza delle chiavi o password usate.
Probabilmente ci vuole un pò di perizia a nasconderle, io non ci riesco, le chiavi sono sempre riconoscibilissime anche in un programma C++, basta un qualunque programma che analizzi il formato PE di windows che le costanti sono ben evidenti. Ci devono essere delle tecniche ben precise per offuscare delle costanti, ma non ho mai trovato niente a riguardo.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 23:05   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Probabilmente ci vuole un pò di perizia a nasconderle, io non ci riesco, le chiavi sono sempre riconoscibilissime anche in un programma C++, basta un qualunque programma che analizzi il formato PE di windows che le costanti sono ben evidenti. Ci devono essere delle tecniche ben precise per offuscare delle costanti, ma non ho mai trovato niente a riguardo.
Innanzitutto differenziamo tra ciò che possono essere delle semplici costanti usate da un certo algoritmo e ciò che invece è una vera e propria chiave o password usata per la (de)criptazione.

Nel primo caso non ci sono problemi (come ho detto non è importante la segretezza dell'algoritmo). Nel secondo caso la risposta è: no, non è da fare.

Quindi se ti balza anche solo l'idea di memorizzare in un eseguibile una qualunque password o chiave "sensibile" .... beh, cambia velocemente idea.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 00:21   #9
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da seven.7 Guarda i messaggi
Sono un giovane amante della programmazione e il mio primo studio di linguaggio si concentrava tutto sul visual basic .net, stasera però ho avuto un shock tremendo: ho trovato un software online che penso conoscano tutti quelli del reverse engineering... e mi è caduto il mito del .NET per la facilità di decompilazione... Avevo progettato una classe per criptare i testi ma è inutile... con questo programma si vede praticamente tutto allora mi chiedo una sola cosa... vi prego ditemi che si posso criptare le classi o qualcosa del genere perchè altrimenti è inutile programmare in .net... secondo me
Anche io poco tempo fa avevo affrontato questa scoperta:
[GENERICO] E' possibile decompilare 1 programma?

Tu cosa hai usato per decompilare?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 00:58   #10
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Tu cosa hai usato per decompilare?
Per applicazioni .NET il decompilatore più diffuso è certamente Reflector.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 09:42   #11
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da andbin Guarda i messaggi
Innanzitutto differenziamo tra ciò che possono essere delle semplici costanti usate da un certo algoritmo e ciò che invece è una vera e propria chiave o password usata per la (de)criptazione.

Nel primo caso non ci sono problemi (come ho detto non è importante la segretezza dell'algoritmo). Nel secondo caso la risposta è: no, non è da fare.

Quindi se ti balza anche solo l'idea di memorizzare in un eseguibile una qualunque password o chiave "sensibile" .... beh, cambia velocemente idea.
Da qualche parte la devi pur mettere no? Ad esempio un programma che usa AES per comunicare dove può tenere la chiave? E lo stesso se usasse l'RSA dova la tiene la chiave privata? O la metti nell'eseguibile o su un file da qualche altra parte, ma sempre in chiaro la devi tenere (perchè altrimenti c'è il problema di come nascondere la chiave per cifrare il file che continere la chiave segreta).

Infatti non ho trovato la soluzione corretta al problema, forse bisognerebbe affidarsi a qualche servizio dell'OS o fare in modo che venga ricalcolata a runtime in modo da nascondere la chiave nel codice.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 11:32   #12
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
E' l'algoritmo che deve essere in chiaro (per non incappare nella cd security through obscurity). I dati necessari al funzionamento dell'algoritmo possono benissimo essere "oscurati": nel senso che una il funzionamento del prodocollo di sicurezza basato su quel sistema di cifratura può essere (e, per quanto ne so, è sempre) condizionato alla conoscenza di uno o più dati da parte di un gruppo ristretto di soggetti (al limite uno solo, come nel caso degli algoritmi a doppia chiave).

Puoi scrivere la password in chiaro nel sorgente del programma? Certamente sì. In quel caso, tuttavia, la segretezza (o disponibilità esclusiva) si estende a tutto il programma e a tutto il PC su cui il programma gira.

Aggiungo: algoritmo in chiaro non significa che il codice che lo realizza debba essere a sua volta in chiaro.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 12:03   #13
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Puoi scrivere la password in chiaro nel sorgente del programma? Certamente sì. In quel caso, tuttavia, la segretezza (o disponibilità esclusiva) si estende a tutto il programma e a tutto il PC su cui il programma gira.

Aggiungo: algoritmo in chiaro non significa che il codice che lo realizza debba essere a sua volta in chiaro.
Ad esempio mettiamo il caso di un programma client-server in cui l'utente non dovrebbe mettere il naso nella comunicazione, perchè questo potrebbe compromettere la sicurezza dei dati di altri utenti di quella macchina o la sicurezza del sistema (esempio il sistema di monitoraggio informatico usato in Ferrari per scoprire le fughe di informazioni riservate). Da qualche parte sul client devo tenere una chiave, ma questa non deve essere accessibile a nessun utente di quella macchina che potrebbe essere maleintenzionato.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 12:17   #14
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
E' interessante. Non so se sia possibile. Se il programma deve usare un valore quel valore, prima o poi, apparirà in chiaro.

Intendo per valore in chiaro sia il valore scritto com'è nel sorgente, sia il valore cifrato nel sorgente o in un file o quant'altro. Prima o poi finirà nella memoria del calcolatore: a quel punto l'utente farà un dump. Ci perderà tre diottrie ma alla fine troverà la chiave.

Possiamo cifrare la memoria ma non è una soluzione: sposta il problema dalla chiave alla chiave della chiave.

Do un'occhiata alla schneier perchè questa faccenda mi ricorda il protocollo in cui una delle due parti non è fidata.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 12:34   #15
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
E' interessante. Non so se sia possibile. Se il programma deve usare un valore quel valore, prima o poi, apparirà in chiaro.

Intendo per valore in chiaro sia il valore scritto com'è nel sorgente, sia il valore cifrato nel sorgente o in un file o quant'altro. Prima o poi finirà nella memoria del calcolatore: a quel punto l'utente farà un dump. Ci perderà tre diottrie ma alla fine troverà la chiave.

Possiamo cifrare la memoria ma non è una soluzione: sposta il problema dalla chiave alla chiave della chiave.

Do un'occhiata alla schneier perchè questa faccenda mi ricorda il protocollo in cui una delle due parti non è fidata.
Mi è venuto in mente tardi ma come esempio è sicuramente più fulgido: i player per dischi HD (o anche solo DVD). Se hai i disco originale sei autorizzato a vedere il film, ma non devi poter accedere alle chiavi.
Lasciamo perdere il fatto che sono stati crackati entrambi, per gli HD pare che il bug nel software sia stato risolto e le chiavi sostituite.
Mi chiedo come tengano le chiavi sul software.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 13:01   #16
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Ho fatto una breve ricerca per vedere un po' come facciano a craccare 'sti sistemi. Per i DVD il protocollo di sicurezza si chiama CSS. Per gli HD-DVD si chiama AACS.

Sembra che le chiavi di decifrazione siano immagazzinate nell'hardware o nel software. Secondo quanto riportato qui:

http://www.engadget.com/2007/02/24/a...dvd-key-found/

Nel caso di WinDVD una chiave è stata recuperata proprio con l'analisi di una copia della memoria del programma.

Nel caso di chiavi software, quindi, si tratta proprio di "security through obscurity". E non regge agli attacchi del brufoloso (lo dico amorevolmente) di turno.

Sullo schneier leggo che la conservazione sicura di queste chiavi è realizzata attraverso chip tamper proof, cioè a prova di forzatura.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 13:26   #17
Jorgensen
Member
 
Iscritto dal: Jul 2006
Città: Padova
Messaggi: 62
Dunque in visual studio 6.0 (e dovrebbe esserci anche nel .net) c'era la possibilità di realizzare un eseguibile che riunisse in tutt'uno quello che serviva, in pratica non avevi librerie o altro esterne per farlo funzionare, scusa la poca competenza in materia . Utilizzando questo sistema in combinazione con un pe-crypter(tipo Themida o vmprotect) saresti al sicuro da eventuali debugger/decompiler/disassembler ecc.
Jorgensen è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 13:58   #18
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Ho fatto una breve ricerca per vedere un po' come facciano a craccare 'sti sistemi. Per i DVD il protocollo di sicurezza si chiama CSS. Per gli HD-DVD si chiama AACS.

Sembra che le chiavi di decifrazione siano immagazzinate nell'hardware o nel software. Secondo quanto riportato qui:

http://www.engadget.com/2007/02/24/a...dvd-key-found/

Nel caso di WinDVD una chiave è stata recuperata proprio con l'analisi di una copia della memoria del programma.
Si ma pare fosse un bug del programma adesso risolto, adesso le chiavi lette dal supporto sono cifrate anche in memoria.
Solo che risolto un problema rimane aperto quello di fondo, ovvero tenere oscurata la chiave che consente al programma di andare a leggere le chiavi sul supporto che servono a decodificare il supporto stesso. Questa purtroppo da qualche parte la devono mettere e già mi chiedo come siano riusciti ad oscurarla nei binari.

Direi che non c'è modo di tenere al sicuro una costante.

Quote:
Nel caso di chiavi software, quindi, si tratta proprio di "security through obscurity". E non regge agli attacchi del brufoloso (lo dico amorevolmente) di turno.
Tutto è "security through obscurity", gli algoritmi di cifratura sono sicuri finchè è oscurata la chiave

Quote:
Sullo schneier leggo che la conservazione sicura di queste chiavi è realizzata attraverso chip tamper proof, cioè a prova di forzatura.
Questo esclude i software... Fino all'avvento del TC.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 14:03   #19
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
C'è sempre una parte nascosta. Il fatto è che non è necessario che quella parte sia nota ad entrambi i soggetti per poter garantire un fatto. Prendi ad esempio gli algoritmi a doppia chiave, pubblica e privata. Io posso spedire un messaggio a Ciccio avendo la garanzia che nessuno oltre a Ciccio sarà in grado di leggerlo semplicemente disponendo di un "numero" noto a tutti (la chiave pubblica di Ciccio).

Penso sia un meccanismo simile a questo quello che ci dovrebbe interessare nel caso in questione. Anzichè nascondere la chiave, è possibile fare in modo che la conoscenza della chiave sia irrilevante?

Mi sono arrovellato un po' sulla questione ma non sono arrivato a nulla. Fortunatamente questo non significa niente perchè io non sono un esperto di sicurezza.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica Fondazione Chips-IT, l'Italia alla riscossa nei ...
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud Nutanix: innovazione, semplicità e IA al ...
Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il n...
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Intel prova macchinari 'cinesi' per i ch...
Windows 11, problemi con l'aggiornamento...
Bitcoin, sono passati 15 anni dalla 'sco...
DAZN lancia il Pass Giornata per la Seri...
Street Fighter: Paramount e Capcom pubbl...
Corsa finale all'ultimo sconto: Amazon p...
Per Tom Cruise niente film nello spazio:...
Invincible VS, dopo fumetti e serie TV a...
Il robot umanoide che voleva fare il mag...
Galaxy Tab S10 Lite a 299€ su Amazon: ta...
Prezzi Google Pixel in calo su Amazon: P...
Prezzi in picchiata sull'hardware PC: GP...
Aspyr ha rinviato Deus Ex Remastered: pr...
Amazon Haul, prezzi mini senza precedent...
Linate, sequestrate oltre 20.000 carte c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v