2010-08-25 5 views
1

J'ai une application (exe) qui utilise des dll fortement nommées. Si je comprends bien, personne ne peut remplacer les dll avec leurs propres versions préparées, car elles ne seront pas signées. Personne ne peut remplacer l'exe, car il est sécurisé en signant le manifeste. Mais que se passe-t-il si quelqu'un prépare son propre exe et change la signature dans le fichier manifeste?Sécurité de l'application ClickOnce

Répondre

2

Si quelqu'un peut réécrire le fichier manifeste, remplacez l'exe par un fichier de son choix et remplacez les dll qu'il souhaite par ceux de son choix, puis tous les paris sont désactivés. Gardez à l'esprit que la seule personne capable de sign the manifest as you, devrait être vous. Si quelqu'un d'autre a accès à votre clé privée, alors ils pourraient facilement le faire. Vos utilisateurs doivent être conscients qu'ils doivent lire toutes les informations affichées à l'écran qui indique Quelle application ils sont en cours d'exécution et Qui l'a signé. La sécurité est aussi bonne que le maillon faible de la chaîne, malheureusement c'est généralement l'utilisateur.

Avez-vous pensé à ClickOnce avec l'application téléchargée de la source chaque fois qu'elle est exécutée, plutôt que d'être mise en cache sur le PC de l'utilisateur. Ce serait au moins une atténuation partielle?

+0

L'information, qui a signé l'application est seulement au début, avant l'installation. Après cela, lors de l'exécution de l'application, déjà installée avec ClickOnce, il n'y a aucune information à ce sujet. Même s'il y en avait, il pourrait déjà être préparé par une personne qui a changé le fichier manifeste et exe. Ai-je raison? Comment l'utilisateur peut-il vérifier cela avant d'exécuter une application déjà installée? – prostynick

+1

Il n'y a aucun moyen qu'ils puissent vérifier que je suis au courant - je suppose que vous pourriez avoir une vérification qui s'exécute dans votre code, mais dès que quelqu'un remplace le '.exe', tous les paris sont désactivés, j'ai peur. – Rob

+0

@prostynick, merci pour la réponse acceptée, désolé si ce n'était pas la réponse que vous étiez après! =) Avez-vous pensé à ClickOnce avec l'application téléchargée à partir de la source * chaque fois qu'elle est exécutée, plutôt que d'être mise en cache sur le PC de l'utilisateur. Ce serait au moins une atténuation partielle =) – Rob