2009-10-29 14 views
2

Nous publions un correctif de mise à jour pour notre progiciel dans un seul fichier exécutable. Le fichier est signé avec une signature numérique Authenticode, en utilisant le certificat qui nous a été délivré. Le fichier est téléchargé sur les systèmes Windows XP ou Vista que nos clients exploitent, où ils l'exécutent afin de mettre à jour notre logiciel.Empêcher l'exécution des exécutables avec des signatures Authenticode non valides

Notre vérificateur de la conformité PCI nous a demandé de se protéger contre la situation suivante:

  1. Après avoir téléchargé notre fichier exécutable, une personne malveillante modifie le fichier. Une personne attentive serait en mesure de vérifier les propriétés du fichier et de déterminer que la signature n'est plus valide.
  2. La personne malveillante place l'exécutable modifié quelque part qu'un utilisateur non averti pourrait l'exécuter.
  3. Un utilisateur qui ne se doute de rien exécute le fichier modifié, libérant des dégâts non spécifiés.

L'auditeur soutient qu'il existe un moyen (ou devrait être un moyen) d'empêcher l'exécution du fichier si la signature n'est pas valide. Savez-vous comment cela peut-il être accompli?

Répondre

1
+0

Ce code est en C. Avez-vous une idée de comment implémenter dans .net? Toute aide est appréciée. – Akie

+0

Cela peut vous aider à démarrer: http://pinvoke.net/default.aspx/wintrust.WinVerifyTrust – ZippyV

+1

En quoi cela vous aide-t-il? Ce code fonctionnera à l'intérieur de votre logiciel et quelqu'un qui le modifie peut tout aussi bien ignorer vos contrôles de validation personnalisés. Ce que vous voulez, c'est le système d'exploitation pour effectuer le contrôle d'intégrité. – deancutlet

Questions connexes