Envoyé par
bacelar
Le C++ n'est pas d’essence magique, tout ce qui est faisable comme attaque sur du C# est faisable sur du C++.
C'est franchement une protection contre les gamins de 12 ans. L'utilisation d'une fonction dans une Dll, ça se voit comme le nez au milieu de la figure et c'est contournable en quelques secondes.
Et c'est bien plus facilement contournable en natif, qui ne dispose pas, de base, de la signature des modules exécutables, que les assemblies .NET qui l'ont avec une simple option et un fichier de clé facilement générable.
Ton système de protection est contournable par le moins doué des hackers.
Il n'y absolument rien de cacher dans ta solution.
Les outils d'administration de machine comme ProcessExplorer permettent de facilement voir les Dll chargées dans un process.
Les fonctions exportées par les Dll sont publiques, par définition de "exporter", et l'utilisation de Dependency walker permet de voir la liste.
Avec du débugging classique, ultra facile en .NET si vous ne faite pas d'obfucation, il verra l'appel direct, sans même utiliser le moindre outil. => l'obfucation c'est pas que pour les cons !!!
Après, comme il n'y a pas de signature de la Dll, il n'a qu'à créer de toute pièce une Dll qui répond toujours OUI et faire en sorte qu'elle se charge à la place de la vôtre.
Pour une personne entrainée, c'est quelques minutes, maximum.
Avant de mettre en place un système de sécurité, il faut déterminer les menaces que votre système doit contre-carré.
Il existe de nombreuses méthodes d'évaluation des systèmes de sécurité, et un consultant en sécurité informatique, c'est normalement, autre chose qu'un mec qui porte bien un costume sombre.
Là, votre système, il vise à contre-carré les hackers pré-pubères. C'est peut-être votre cible, mais j'en doute.
Partager