Qu'est-ce que la signature de code?
Les pirates prennent souvent les logiciels, qu'ils soient hors ligne ou en ligne, réorganiser et modifier le code pour le rendre malveillant, puis le télécharger en ligne afin que les utilisateurs téléchargent le programme gratuit et le code malveillant qu’il contient. Pour garantir que les utilisateurs ne rencontrent pas ce problème, la signature de code est utilisée. La signature de code est une méthode par laquelle le programmeur ou la société d'origine qui a créé le programme signe le programme. Lorsque le programme est installé, il est authentifié pour s'assurer que le programme n'a pas été ajouté ou modifié. Cela ne nécessite aucun logiciel spécial de la part de l'utilisateur et celui-ci est en mesure de vérifier l'identité du programmeur. Bien que cela soit conçu comme une forme de sécurité, un pirate informatique qui crée un programme ou découvre une signature peut créer une confiance artificielle et mal placée.
Les programmes sont constamment vendus en ligne et hors ligne. Lorsqu'une personne achète un programme hors ligne à un fournisseur ou à un détaillant de confiance, l'utilisateur n'a que très peu de raisons de craindre que des pirates informatiques injectent du code malveillant dans le programme. En effet, à moins que le développeur du logiciel ait créé intentionnellement un programme dangereux, personne ne peut altérer le logiciel et le rendre malveillant. Lorsqu'un utilisateur télécharge un programme à partir d'Internet, cette garantie n'est pas garantie.
Pour protéger les utilisateurs qui achètent ou téléchargent des programmes en ligne, la signature de code est implémentée. La signature de code est séparée en deux parties: le développeur et l'utilisateur final. Le développeur utilise un hachage cryptographique, une opération à sens unique qui dissimule le code du programme, puis combine sa clé privée avec le hachage. Cela crée une signature qui est implantée dans le programme.
Lorsque l'utilisateur reçoit le programme, la deuxième partie du processus de signature de code se produit. Le programme examine le certificat et une clé publique que le programmeur a placés dans le programme. À l'aide de la clé publique, le programme peut exécuter le même hachage sur la programmation actuelle, puis il compare l'original à la version actuelle en cours d'installation. Si le programme installé et la synchronisation d'origine sont tous deux affichés, cela indique à l'utilisateur que rien n'a été modifié. Ce processus est effectué automatiquement et les programmes nécessaires à cette authentification doivent être préinstallés sur le système d'exploitation de l'ordinateur.
Bien que la signature de code soit une méthode puissante pour assurer la sécurité, elle présente toutefois des défauts. Si l'utilisateur télécharge un programme à partir d'un pirate informatique, l'authentification indiquera que le programme d'origine est intact. Cela conduirait un utilisateur à un faux sentiment de sécurité; le programme est fait pour être malveillant, donc la sécurité n’est pas atteinte dans ce sens. Les pirates sophistiqués peuvent également contourner le hash pour injecter du code, rendant la signature de code inutile.