OVH Cloud OVH Cloud

Problème avec Authenticode

8 réponses
Avatar
Didier Baertschiger
Bonjour,

Je désire créer un contrôle client .NET. Etant donné que ce composant
sera accessible (téléchargeable) via Internet, je désire le signer
numériquement à l'aide d'un certificat.

J'ai généré moi-même un certificat pour la signature de code (à l'aide
des services de certification disponible sous Windows Server 2003). J'ai
par la suite signé le composant à l'aide signcode.exe.

Losrque j'accède au composant à l'aide de Internet Explorer 6 (via une
page Web avec le tag <object>), je vois bien que le composant est
certifié. Tout est donc parfait.

Par contre, si je modifie le composant signé afin de simuler un problème
(une sorte d'attaque) et que j'accède à nouveau au composant avec
Internet Explorer, je reçois simplement un avertissement de sécurité qui
m'indique que le composant ne comporte pas de signature Authenticode (il
s'agit du même message que si je n'avais pas du tout signé le composant
au préalable). Je trouve cela bizarre. A mon avis, Internet Explorer
devrait m'avertir que le composant a été modifié (que la signature ne
correspond plus).

Qu'en pensez-vous ?


Merci d'avance,

Didier

8 réponses

Avatar
Patrick Philippot
Didier Baertschiger wrote:
Par contre, si je modifie le composant signé afin de simuler un
problème (une sorte d'attaque) et que j'accède à nouveau au composant
avec Internet Explorer, je reçois simplement un avertissement de
sécurité qui m'indique que le composant ne comporte pas de signature
Authenticode (il s'agit du même message que si je n'avais pas du tout
signé le composant au préalable). Je trouve cela bizarre. A mon avis,
Internet Explorer devrait m'avertir que le composant a été modifié
(que la signature ne correspond plus).



Bonjour,

En toute logique, ce comportement est anormal mais je peux imaginer au
moins une explication: tout dépend de la manière dont vous avez modifié
le binaire en question. Si vous avez touché à une valeur qui indiquait
directement ou indirectement où la signature se trouve, supprimé ou
ajouté quelques octets (donc l'offset de certaines informations), touché
à la signature elle-même,... on peut comprendre que IE n'ait pas d'autre
choix que de signaler qu'il ne trouve plus les infos.

Ça ne me surprend pas outre mesure mais ce n'est peut-être pas la bonne
explication :-)

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Didier Baertschiger
Je me suis dit la même chose et j'ai essayé de modifier le binaire à
plusieurs endroits en faisant attention à ne pas modifier des données
liées à la signature numérique... Et j'ai toujours obtenu le même résultat.

Je vais essayer de voir si j'obtiens le même résultat avec un contrôle
ActiveX au lieu d'un contrôle client .NET.

Merci tout de même,

Didier


Patrick Philippot wrote:
Didier Baertschiger wrote:

Par contre, si je modifie le composant signé afin de simuler un
problème (une sorte d'attaque) et que j'accède à nouveau au composant
avec Internet Explorer, je reçois simplement un avertissement de
sécurité qui m'indique que le composant ne comporte pas de signature
Authenticode (il s'agit du même message que si je n'avais pas du tout
signé le composant au préalable). Je trouve cela bizarre. A mon avis,
Internet Explorer devrait m'avertir que le composant a été modifié
(que la signature ne correspond plus).




Bonjour,

En toute logique, ce comportement est anormal mais je peux imaginer au
moins une explication: tout dépend de la manière dont vous avez modifié
le binaire en question. Si vous avez touché à une valeur qui indiquait
directement ou indirectement où la signature se trouve, supprimé ou
ajouté quelques octets (donc l'offset de certaines informations), touché
à la signature elle-même,... on peut comprendre que IE n'ait pas d'autre
choix que de signaler qu'il ne trouve plus les infos.

Ça ne me surprend pas outre mesure mais ce n'est peut-être pas la bonne
explication :-)



Avatar
Patrick Philippot
Didier Baertschiger wrote:
Je me suis dit la même chose et j'ai essayé de modifier le binaire à
plusieurs endroits en faisant attention à ne pas modifier des données
liées à la signature numérique... Et j'ai toujours obtenu le même
résultat.



Vous avez également marqué votre assemblage avec un nom fort?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Patrick Philippot
Patrick Philippot wrote:
Vous avez également marqué votre assemblage avec un nom fort?



Je veux dire *avant* de le signer.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Patrick Philippot
Question idiote :-) : votre IE6 est à jour de toutes les dernières
corrections?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Didier Baertschiger
Non, je ne l'ai pas fait.

Je sais qu'il est possible de marquer un assemblage avec un nom fort et
également de le signer numériquement avec Authenticode.
Mais il n'y a pas beaucoup d'intérêt, dans mon cas, de le marquer avec
un nom fort, car il me semble que Internet Explorer (ou plus précisément
IEExec) n'est pas capable de vérifier cette évidence (uniquement
l'évidence "site").


Patrick Philippot wrote:
Patrick Philippot wrote:

Vous avez également marqué votre assemblage avec un nom fort?




Je veux dire *avant* de le signer.



Avatar
Didier Baertschiger
Oui...


Patrick Philippot wrote:
Question idiote :-) : votre IE6 est à jour de toutes les dernières
corrections?



Avatar
Patrick Philippot
Didier Baertschiger wrote:
Non, je ne l'ai pas fait.



Cela vaudrait le coup d'essayer. Il me semble avoir lu un ou deux
documents où MS précisait qu'il fallait marquer avec un nom fort avant
de signer. Je ne sais pas dire si cela indiquait l'ordre des opérations
dans le cas où les deux étaient envisagées ou si la première était un
pré-requis pour la deuxième. Une bonne occasion de le vérifier... :-)

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr