Voglio assicurarmi che le librerie di collegamento dinamico utilizzate dalla mia applicazione non possano essere sostituite con altre librerie con lo stesso nome, al fine di iniettare codice dannoso. Pertanto, ho pensato di creare un'impronta digitale delle DLL prima di rilasciare nuove versioni dell'applicazione.
L'applicazione dovrebbe quindi convalidare l'impronta digitale prima che la DLL venga caricata. Questo fornirebbe una buona protezione nello scenario sopra?
Per quanto riguarda la funzione hash: non sono sicuro se usare o meno MD5 o uno degli algoritmi SHA. So che MD5 non è sicuro per gli attacchi di collisione, ma è sicuro contro gli attacchi pre-attacco.
Contro quali attacchi dovrei proteggere le librerie (usando le impronte digitali)?