IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Validité d'une assembly signée, garantie d'intégrité


Sujet :

Framework .NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Validité d'une assembly signée, garantie d'intégrité
    Bonjour,

    J'ai compilé un programme C# avec une signature (fichier snk).
    Quand je décompile - modifie - recompile en IL, ça bloque, c'est donc OK, c'est le but de la signature.

    Par contre, si je modifie l'assembly avec un éditeur hexadécimal (j'ai changé un texte qui y est stocké), je relance le programme, ça ne pose aucun problème, pas de blocage et le message affiché est donc différent de celui voulu par le concepteur.

    Pourtant, la signature est supposée garantir l'intégrité de l'assembly.

    Quelqu'un peut-il m'expliquer pourquoi ça n'a pas planté ou s'il y a des limites à la "garantie d'intégrité" ...

    D'avance merci !!

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    La signature d'un assembly permet principalement 2 choses :
    1. pouvoir être sûr qu'on appelle l'assembly voulu dans la version voulue. Par exemple sur une machine je peux avoir plusieurs assembly ayant le même nom (Toto), mais provenant de sources différentes (A et B), et en différentes versions. Ils auront 2 strong name différents puisque l'un aura été signé par A et son certificat, et l'autre par B et son certificat, et les numéros de version seront différents. C'est pour cela notamment qu'il est obligatoire de signer un assembly avant de pouvoir le positionner dans le GAC.
    2. pouvoir mieux gérer la sécurité autour de ces assemblies signés.


    Comme il n'y a aucune centralisation des clés, il est assez facile de supprimer la signature, modifier l'assembly puis signer de nouveau l'assembly avec la même clé. La meilleure protection reste une combinaison de la signature avec un logiciel d'obfuscation, comme par exemple SmartAssembly, et éventuellement on peut rajouter un contrôle par hash...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Recompiler une dll avec une assembly signé
    Par bleuerouge dans le forum C#
    Réponses: 1
    Dernier message: 01/06/2012, 09h18
  2. Réponses: 2
    Dernier message: 08/08/2005, 21h30
  3. Validite d une adresse ip
    Par nesquik dans le forum Web & réseau
    Réponses: 6
    Dernier message: 08/07/2005, 16h02
  4. [JFormattedTextField ]validité d'une adresse mail
    Par gege2mars dans le forum Composants
    Réponses: 3
    Dernier message: 14/01/2005, 16h55
  5. [web] tester la validiter d'une URL
    Par zebiloute dans le forum Web
    Réponses: 4
    Dernier message: 25/11/2002, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo