Question

Je suis curieux de savoir comment protéger votre logiciel contre les fissures, le piratage, etc.

Utilisez-vous une sorte de vérification du numéro de série? Clés matérielles?

Utilisez-vous des solutions tierces?

Comment procédez-vous pour résoudre les problèmes de licence? (par exemple, gestion de licences flottantes)

EDIT: Je ne parle pas de source ouverte, mais de distribution de logiciels strictement commerciale ...

Était-ce utile?

La solution

Il existe de très nombreuses protections disponibles. La clé est:

  • Évaluer votre public cible et ce qu'il est prêt à accepter
  • Comprendre le désir de votre public de jouer sans rémunération
  • Évaluer le montant qu'une personne est disposée à verser pour casser votre protection
  • Appliquer juste assez de protection pour empêcher la plupart des gens d’éviter les paiements, sans gêner ceux qui utilisent votre logiciel.

Rien n’est incassable, il est donc plus important d’évaluer ces éléments et de choisir une bonne protection que de simplement taper sur la meilleure (pire) protection que vous pouvez vous offrir.

  • Codes d'enregistrement simples (vérifiés en ligne une fois).
  • Enregistrement simple avec des clés révocables, vérifié fréquemment en ligne.
  • La clé chiffrée contient une partie de l'algorithme du programme (vous ne pouvez pas simplement ignorer la vérification. Elle doit être exécutée pour que le programme fonctionne)
  • Clé matérielle (cryptographie à clé publique / privée)
  • Clé matérielle (inclut une partie de l'algorithme du programme qui s'exécute sur la clé)
  • Le service Web exécute du code essentiel (les pirates ne le voient jamais)

Et des variantes de ce qui précède.

-Adam

Autres conseils

Quel que soit votre itinéraire, facturez un prix juste, facilitez l’activation, donnez des mises à jour mineures gratuites et ne désactivez jamais leur logiciel. Si vous traitez vos utilisateurs avec respect, ils vous récompenseront pour cela. Néanmoins, peu importe ce que vous faites, certaines personnes finiront par le pirater.

Ne pas.

Les pirates vont pirater. Quelle que soit la solution proposée, elle peut et sera fissurée.

D'autre part, vos clients payants sont ceux qui sont dérangés par la merde.

Faites en sorte qu’il soit plus facile d’acheter que de voler. Si vous mettez des monticules de protection contre la copie, la valeur réelle de la possession de la transaction en sera vraiment réduite.

Utilisez une simple clé d'activation et garantissez aux clients qu'ils peuvent toujours obtenir une clé d'activation ou télécharger à nouveau le logiciel s'ils perdent la leur.

Toute protection contre la copie (à l'exception des composants en ligne uniquement, tels que les jeux multijoueurs et les logiciels de finance qui se connectent à votre banque, etc.) ne peut qu'être considérée comme vouée à l'échec. Vous voulez que le téléchargement illégal de votre logiciel soit, à tout le moins, un peu plus difficile que de l'acheter.

J'ai des jeux sur un ordinateur que je n'ai jamais ouverts, car il contient tellement de fichiers de protection contre la copie qu'il est en fait plus facile de télécharger la version factice.

Les protections logicielles ne valent pas la peine - si votre logiciel est demandé, il sera vaincu, quoi qu'il en soit.

Cela dit, les protections matérielles peuvent bien fonctionner. Voici un exemple de fonctionnement efficace: Trouvez un composant (assez) simple mais nécessaire de votre logiciel et mettez-le en œuvre dans Verilog / VHDL. Générez une paire de clés public-privé et créez un service Web qui prend une chaîne de défi et la chiffre avec la clé privée. Créez ensuite un dongle USB contenant votre clé publique et générant des chaînes de défi aléatoires. Votre logiciel doit demander au dongle USB une chaîne d’épreuve et l’envoyer au serveur pour le chiffrement. Le logiciel l'envoie ensuite au dongle. Le dongle valide la chaîne de défi chiffrée avec la clé publique et passe en mode "activé". Votre logiciel appelle ensuite le dongle à tout moment pour effectuer l'opération que vous avez écrite en HDL. De cette manière, toute personne souhaitant pirater votre logiciel doit déterminer le fonctionnement de son logiciel et le réimplémenter, ce qui est bien plus difficile que de simplement détruire une protection logicielle pure.

Edit: Je viens de me rendre compte que certains éléments de vérification sont à l’arrière de ce qu’ils devraient être, mais je suis sûr que l’idée se présentera.

Le schéma de licence logicielle Microsoft est extrêmement coûteux pour une petite entreprise. Le coût du serveur est d'environ 12 000 $ si vous souhaitez le configurer vous-même. Je ne le recommande pas pour la feinte du coeur.

Nous venons tout juste de mettre en place Intellilock dans notre produit. Il vous permet de prendre toutes les décisions quant à la sévérité de votre licence et est également très rentable. En outre, il effectue l'obscurcissement, la prévention du compilateur, etc.

Une autre bonne solution que j'ai vue utiliser par les petites et moyennes entreprises est SoloServer . C'est beaucoup plus un système de commerce électronique et de contrôle de licence. C'est très configurable au point d'être peut-être un peu trop complexe. Mais, d'après ce que j'ai entendu, il fait un très bon travail.

J'ai également utilisé le système de licence Desaware pour le dot net en le passé. C'est un système assez léger comparé aux deux précédents. C’est un très bon système de contrôle des licences en termes de qualité cryptographique. Mais il s’agit d’une API de très bas niveau dans laquelle vous devez implémenter presque tout ce que votre application utilisera réellement.

Digital " Droits " La gestion est le plus gros produit logiciel à base d'huile de serpent du secteur. Pour emprunter une page à la cryptographie classique, le scénario typique est qu'Alice veut faire passer un message à Bob sans que Charlie puisse le lire. DRM ne fonctionne pas car dans son application, Bob et Charlie sont la même personne!

Vous feriez mieux de poser la question inverse, à savoir "Comment amener les gens à acheter mon logiciel au lieu de le voler?" Et c'est une question très large. Mais cela commence généralement par des recherches. Vous déterminez qui achète le type de logiciel que vous souhaitez vendre, puis vous produisez un logiciel attrayant pour ces personnes.

Le problème supplémentaire à cela est de limiter les mises à jour / add-ons aux copies légitimes uniquement. Cela peut être aussi simple qu'un code de commande reçu lors de la transaction d'achat.

Découvrez le logiciel Stardock, fabricant de WindowBlinds et de jeux tels que Sins of a Solar Empire, ce dernier n’a pas de DRM et a réalisé un bénéfice considérable avec un budget de 2 millions de dollars.

Il existe plusieurs méthodes, telles que l'utilisation de l'ID de processeur pour générer une "clé d'activation".

En bout de ligne, si quelqu'un le veut bien, il procédera à l'ingénierie inverse de votre protection.

Les méthodes les plus sûres consistent à utiliser la vérification en ligne au moment de l'exécution ou un caractère morcelé.

Bonne chance!

Avec un peu de temps, votre logiciel sera toujours fissuré. Vous pouvez rechercher des versions fissurées de tout logiciel connu afin de le confirmer. Mais cela vaut toujours la peine d’ajouter une forme de protection à votre logiciel.

N'oubliez pas que les personnes malhonnêtes ne paieront jamais votre logiciel et trouveront / utiliseront toujours une version fissurée. Les personnes très honnêtes respecteront toujours les règles, même sans système de licence, simplement parce que c'est le genre de personne qu'elles sont. Mais la majorité des gens se situent entre ces deux extrêmes.

Ajouter un système de protection simple est un bon moyen d’agir de manière honnête avec la majorité des personnes du milieu. C'est un moyen de les inciter à se rappeler que le logiciel n'est pas gratuit et qu'ils devraient payer pour le nombre approprié de licences. Beaucoup de gens réagissent à cela. Les entreprises sont particulièrement douées pour respecter les règles, car le responsable ne dépense pas son propre argent. Les consommateurs sont moins enclins à respecter les règles, car c’est leur propre argent.

Mais l'expérience récente avec des versions telles que Spore de Electronic Arts montre que vous pouvez aller très loin en matière de licences. Si vous faites que même les légitimes se sentent comme des criminels parce qu'ils sont constamment validés, ils commencent à se rebeller. Ajoutez donc quelques licences simples pour rappeler aux gens s’ils sont malhonnêtes, mais il est peu probable que cela dépasse les ventes.

Les jeux en ligne tels que World of Warcraft (WoW) l’ont été, tout le monde doit se connecter au serveur à chaque fois et les comptes peuvent ainsi être constamment vérifiés. Aucune autre méthode ne fonctionne pour les haricots.

N’est pas exactement la réponse que vous recherchez, mais une excellente ressource sur le piratage de la part d’un développeur de jeux qui a activement interrogé ses pirates sur les raisons pour lesquelles ils le font. Et est lié à la première partie de la réponse que vous choisissez.

Lisez-le à l'adresse Parler aux pirates .

En général, il existe deux systèmes qui se confondent souvent -

  • Suivi des licences ou des activations, utilisation légale légitime
  • Sécurité empêchant l'utilisation illégale

Pour les licences, utilisez un package commercial, FlexLM , de nombreuses entreprises investissent des sommes énormes dans la gestion des licences. pensent qu’ils bénéficient également de la sécurité; c’est une erreur commune. Les générateurs de clés de ces paquets commerciaux sont abondamment abondants.

Je ne recommanderais les licences que si vous vendez à des sociétés qui paieront légitimement en fonction de leur utilisation, sinon ce sera probablement plus d'effort que sa valeur.

N'oubliez pas que lorsque vos produits auront du succès, toutes les licences et les mesures de sécurité en souffriront. Alors décidez maintenant si cela en vaut vraiment la peine.

Nous avons mis en place un clone de salle blanche FlexLM il y a un certain nombre d'années. Nous devions également améliorer nos applications contre les attaques binaires, son long processus, vous devez le consulter à chaque nouvelle version. Cela dépend aussi vraiment des marchés mondiaux sur lesquels vous vendez des produits ou de l'endroit où se trouve votre principale clientèle.

Découvrez une autre de mes réponses sur la sécurisation d'une DLL .

Comme cela a été souligné, la protection logicielle n’est jamais garantie à toute épreuve. Ce que vous comptez utiliser dépend en grande partie de votre public cible. Un jeu, par exemple, n'est pas quelque chose que vous allez pouvoir protéger pour toujours. En revanche, un logiciel serveur a bien moins de chances d'être distribué sur Internet, et ce pour plusieurs raisons (on pense notamment à la pénétration de produits et à la responsabilité; une grande entreprise ne veut pas être tenue pour responsable des logiciels illégaux, et les pirates ne s'embarrassent que de choses très demandées). En toute honnêteté, pour un jeu très médiatisé, la meilleure solution est probablement d’ensemencer le torrent vous-même (clandestinement!) Et de le modifier d’une certaine manière (par exemple, afin qu’après deux semaines de jeu, des messages vous invitant à Envisagez de soutenir les développeurs en achetant une copie légitime).

Si vous mettez la protection en place, gardez à l’esprit deux choses. Premièrement, un prix inférieur complétera toute protection contre la copie en rendant les gens plus enclins à payer le prix d'achat. Deuxièmement, la protection ne doit pas gêner les utilisateurs - voir Spore pour un exemple récent.

DRM this, DRM that - les éditeurs qui imposent la gestion DRM à leurs projets le font parce que c'est rentable. Leurs économistes concluent cela sur des données qu'aucun d'entre nous ne verra jamais. Le "DRM is evil" les trolls vont un peu trop loin.

Pour un produit peu visible, une simple activation Internet va arrêter la copie occasionnelle. Toute autre copie est probablement négligeable pour votre résultat net.

La distribution illégale est pratiquement impossible à prévenir; il suffit de demander à la RIAA. Le contenu numérique peut simplement être copié; le contenu analogique peut être numérisé, puis copié.

Vous devez concentrer vos efforts sur la prévention des exécutions non autorisées. Il n'est jamais possible d'empêcher complètement l'exécution de code sur la machine de quelqu'un d'autre, mais vous pouvez prendre certaines mesures pour placer la barre suffisamment haut pour qu'il soit plus facile d'acheter votre logiciel que de le pirater.

Consultez l'article Développement de la protection des logiciels et de la gestion des licences qui explique comment utiliser au mieux commencez à développer votre application en gardant à l'esprit les licences.

Limitation de responsabilité obligatoire & amp; plug: la société que j'ai co-fondée produit la solution de licence logicielle OffByZero Cobalt pour .NET .

Le problème avec cette idée de laisser les pirates l'utiliser, ils ne l'achèteront pas de toute façon et montreront à leurs amis qui pourraient l'acheter, c'est double.

  1. Avec un logiciel qui utilise des services tiers, les copies piratées utilisent une bande passante / des ressources précieuses, ce qui donne une expérience encore pire aux utilisateurs légitimes, rend mon sw plus populaire qu’il ne l’est et les services tiers me demandent de le faire. payer plus cher pour leurs services en raison de la bande passante utilisée.

  2. De nombreux occasionnels ne rêveraient pas de casser le sw eux-mêmes, mais s’il existe une fissure facile à évaluer sur un site tel que piratebay, ils l’utiliseront, s’ils ne le pouvaient pas.

Ce concept consistant à ne pas désactiver les logiciels piratés une fois découverts semble également dingue. Je ne comprends pas pourquoi je devrais laisser quelqu'un continuer à utiliser des logiciels qu'ils ne devraient pas utiliser. Je suppose que cela ne représente que la vue / l'espoir des pirates.

En outre, il est intéressant de noter que rendre un programme difficile à démêler est une chose, mais vous devez également empêcher le partage de copies légitimes, sinon quelqu'un pourrait simplement en acheter un exemplaire, puis

partagez-le avec des milliers d'autres via un site torrent. Le fait d’avoir leur nom / adresse électronique intégré dans la licence ne suffira pas à dissuader tout le monde de le faire, et il n’en faut vraiment qu’un pour qu’il y ait un problème.

Le seul moyen d'éviter ce problème consiste à:

  1. Demandez au serveur de vérifier et de verrouiller la licence au démarrage du programme à chaque fois, puis libérez-la à la sortie du programme. Si un autre client démarre avec la même licence alors que le premier client a une licence, elle est rejetée. Cette méthode n’empêche pas la licence d’être utilisée par plus d’un utilisateur, mais bien d’être utilisée simultanément par plusieurs utilisateurs - ce qui est suffisant. Il permet également à un utilisateur légitime de transférer la licence sur l’un de ses ordinateurs, ce qui offre une meilleure expérience.

  2. Au premier démarrage du client, le client envoie la licence au serveur et le serveur la vérifie, ce qui entraîne la définition d'un indicateur dans le logiciel client. Les demandes ultérieures d'autres clients possédant la même licence sont rejetées. Le problème avec cette approche est que le client d'origine aurait des problèmes s'il réinstallait le logiciel ou souhaitait utiliser un ordinateur différent.

Même si vous utilisiez une sorte d'authentification d'empreinte digitale biométrique, quelqu'un trouverait un moyen de la déchiffrer. Il n'y a vraiment aucun moyen pratique de contourner cela. Au lieu d'essayer de protéger votre logiciel contre le piratage informatique, réfléchissez au montant des revenus supplémentaires générés par l'ajout d'une protection contre la copie supplémentaire par rapport au temps et à l'argent nécessaires à son implémentation. À un moment donné, un système de protection des copies moins rigoureux devient moins coûteux.

Cela dépend de la nature exacte de votre logiciel, mais une possibilité consiste à déplacer le "précieux" une partie du programme hors du logiciel et gardez-la sous votre contrôle exclusif. Vous facturez un coût modique pour le logiciel (principalement pour couvrir les coûts d'impression et de distribution) et générez vos revenus à partir du composant externe. Par exemple, un programme anti-virus vendu à bon marché (ou fourni gratuitement avec d'autres produits) mais vend des abonnements à son service de mise à jour des définitions de virus. Avec ce modèle, une copie piratée abonnée à votre service de mise à jour ne représenterait pas une perte financière considérable. Avec la popularité croissante des applications "dans le nuage", cette méthode devient plus facile à mettre en œuvre; hébergez l'application sur votre cloud et facturez les utilisateurs pour l'accès au cloud. Cela n'empêche pas quelqu'un de ré-implémenter son propre cloud pour éliminer le besoin de votre service, mais le temps et les efforts que cela impliquerait l'emporteraient probablement sur les avantages (si vous maintenez votre modèle de tarification raisonnable).

Si vous souhaitez protéger un logiciel que vous envisagez de vendre aux consommateurs, je vous recommanderais une des nombreuses bibliothèques générant des clés de licence (recherche Google sur la génération de clé de licence). Habituellement, l'utilisateur doit vous donner une sorte de référence, telle que son adresse électronique ou son nom, et récupérer le code d'enregistrement.

Plusieurs entreprises hébergeront et distribueront votre logiciel ou fourniront une application complète d’installation / achat que vous pourrez intégrer et le feront automatiquement, probablement sans aucun coût supplémentaire.

J’ai vendu des logiciels aux consommateurs et j’ai trouvé que c’était le bon équilibre coût / facilité d’utilisation / protection.

La solution la plus simple et la meilleure consiste simplement à les charger au préalable. Fixez un prix qui fonctionne pour vous et pour eux.

Demander aux clients qui paient de prouver qu'ils paient après avoir déjà payé les fait chier. Implémenter le code pour que votre logiciel ne soit plus exécuté gaspille votre temps et votre argent, et introduit des bugs et des ennuis pour les clients légitimes. Vous feriez mieux de passer ce temps à créer un meilleur produit.

De nombreux jeux / etc vont "protéger". Dans la première version, supprimez les protections du premier correctif en raison de problèmes de compatibilité avec de vrais clients. Ce n'est pas une stratégie déraisonnable si vous insistez sur un minimum de protection.

Presque toute la protection contre la copie est à la fois inefficace et un cauchemar d’utilisabilité. Certaines d'entre elles, telles que l'installation de kits de racine sur les machines de vos clients, deviennent tout à fait contraires à l'éthique.

Faites de votre produit un composant en ligne nécessitant une connexion et une authentification. Voici quelques exemples:

  • Jeux en ligne
  • Protection antivirus
  • Protection anti-spam
  • Logiciel de suivi des ordinateurs portables

Cependant, ce paradigme ne va pas très loin et peut détourner certains consommateurs.

Je suis d'accord avec de nombreuses affiches pour dire qu'aucun système de protection contre la copie basé sur un logiciel ne dissuadera un pirate informatique qualifié. Pour les logiciels commerciaux basés sur .NET, la solution SLP (Software License Protection) est une solution très économique. Il prend en charge les licences flottantes et limitées dans le temps. Leur prix commence à 10 $ / mois + 5 $ par activation et les composants de protection semblent fonctionner comme annoncé. Il s’agit d’une offre relativement nouvelle, mais prenez garde de votre part.

Je suggère une clé d'activation simple (même si vous savez qu'elle peut être brisée), vous ne voulez vraiment pas que votre logiciel devienne identique à celui de vos utilisateurs, ou ils vont simplement le repousser.

Assurez-vous qu’ils peuvent télécharger à nouveau le logiciel, je suggère une page Web sur laquelle ils peuvent enregistrer et télécharger votre logiciel uniquement après avoir payé (et oui, ils devraient pouvoir télécharger autant de fois qu'ils le souhaitent, directement, sans une seule question sur pourquoi de votre part).

Poussez vos utilisateurs payants avant tout, rien n’irait plus que d’être accusé d’être un criminel lorsque vous êtes un utilisateur légitime (les avertissements anti-piratage de DVD, quiconque).

Vous pouvez ajouter un service qui compare la clé à un serveur lorsqu'il est en ligne et, si deux adresses IP différentes utilisent la même clé, affiche une suggestion permettant d'acheter une autre licence.

Mais s'il vous plaît, ne l'inactivez pas, il s'agira peut-être d'un utilisateur heureux qui montrera votre logiciel à un ami !!!!

Si vous êtes un développeur de logiciels, l’une des solutions possibles consiste à intégrer des métadonnées directement dans votre produit. Recherchez une instance de l'outil de sécurité Destruction de theredsunrise.

Nous accordons des licences pour nos logiciels commerciaux en utilisant notre propre système de licences, qui correspond à ce que nous vendons (outils de gestion des licences). Nous vendons généralement des licences d'abonnement, mais nous pouvons également vendre en fonction de l'utilisation si nous le souhaitons. Il a été sécurisé pour nous jusqu'à présent: www.agilis-sw.com

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top