Il 15/04/2015 12:58, Marco Signorini ha scritto:
Grazie Carmelo,

Il nostro software funziona in ambiente Windows. Si tratta di un modulo principale scritto in c++ e 6 librerie dll. Di fatto ci interessa proteggere le dll che contengono i vari processi di calcolo, il modulo principale gestisce soltanto l'interfaccia utente e l'accesso ad un database ADO, quindi di poco valore intrinseco.

Nelle nostre prove abbiamo fatto fare tutto al software rilasciato dal fornitore, abbiamo apportato pochissime modifiche al codice.

L'hashing delle dll mi sembra un buon suggerimento che potremmo implementare.

Sino ad ora invece non siamo riusciti ad accedere alla chiave hardware dalle dll che invece vorremmo proteggere da usi illegittimi.

Potresti implemementare delle funzioni sulle dll (magari funzioni diverse per rompere un po' le scatole ad un eventuale malintenzioanto) che fanno una SendMessage all'eseguibile principale, il quale in risposta al messaggio va a chiamare le funzioni della chiavetta hardware e poi a sua volta o spara un altro messaggio verso la dll o imposta una qualche variabile semaforo che viene controllata periodicamente da procedure della dll.

Alla fine con questi sistemi c'รจ sempre il problema che le funzioni ritornano true o false e se intercettate possono essere bypassate.


________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a