Torrents: Puis-je protéger mon logiciel en envoyant de mauvais octets?

15

C'est un sujet qui intéresse tout le monde. Comment puis-je protéger mon logiciel contre le vol, le piratage, la rétro-ingénierie?

Je pensais: faire de mon mieux pour protéger le programme de rétro-ingénierie. Ensuite, les gens vont le casser et l'ensemencer de torrents . Ensuite, je télécharge mon propre logiciel piraté avec un torrent avec mon propre logiciel torrent . Mon propre logiciel torrent doit alors générer des données incorrectes (octets). Bien sûr, il doit amorcer des octets critiques.

Donc, les gens qui veulent voler mon logiciel téléchargent mes mauvais octets. Juste ces octets qui sont importants pour le démarrage, la sauvegarde et le chargement de données, etc ... Donc, si le voleur me télécharge (et l'amorce plus tard), le voleur ne peut rien faire avec, car il est cassé.

Cette idée est-elle pertinente? Peut-être, de bons clients torrent vérifient les hachages de plus de pairs pour vérifier si les paquets (contenant mes octets cassés) que je veux semer sont corrects ou non?

Martijn Courteaux
la source
3
J'ai lu que la RIAA l'a déjà fait pour les fichiers musicaux.
26
vous perdez votre temps, vous ne perdez pas d'argent des voleurs, par définition, ils n'achèteraient jamais votre logiciel pour commencer.
27
Ignorant le fait que cela ne fonctionnerait pas en raison des contrôles CRC, etc., je dirais que ce pourrait être une mauvaise idée pour une autre raison. Les gens qui volent le logiciel ne le paieront probablement pas de toute façon, mais si cela ne fonctionne pas, ils pourraient dire à leurs amis ou patrons que votre logiciel est de mauvaise qualité afin qu'ils ne l'achètent pas non plus.
ho1
9
Dans la plupart des cas, une copie piratée n'est pas une vente perdue.
13
Quoi que vous fassiez, assurez-vous de ne pas compliquer la
tâche des

Réponses:

42

Leur application torrent (les pirates) rejettera simplement les octets que vous semez aussi mauvais en raison des contrôles CRC. Ensuite, vous serez banni par cette adresse IP pour être un récidiviste.

graham.reeds
la source
Quel CRC utilise Bit Torrent? Un paquet de déchets peut-il être généré avec le bon CRC? Il existe des applications pour le faire pour MD5 et je suis sûr qu'un vrai CRC serait tout aussi facile.
deft_code
16
Il pourrait être généré, en théorie ; cependant, le protocole BitTorrent utilise le hachage SHA-1; il est plus difficile de trouver des collisions de hachage (ce que nous recherchons ici) dans SHA-1 que dans MD5. Pratiquement, ce n'est pas faisable à l'heure actuelle.
Piskvor a quitté le bâtiment le
@Caspin En substance, non. Il faudrait au moins une semaine dans des conditions idéales, un ordinateur vraiment rapide (super ordinateur) et une équipe de cryptographes pour briser le hachage CRC pour un seul fichier. Bonne chance avec ça.
Evan Plaice
9

Q. Puis-je protéger mon logiciel en envoyant de mauvais octets?
R. Non, il peut être piraté de toute façon, surtout si quelqu'un met la main sur une copie légitime.

Q. Comment puis-je protéger mon logiciel contre le vol, le piratage, la rétro-ingénierie?
A. Vendez-le à un prix équitable, cela sapera les tentatives de piratage.


la source
Voir plagiarismtoday.com/2010/05/26/… pour le point 2. Pirates pirate. Un meilleur logiciel ne vous aidera pas.
Paul Nathan
1
@Paul: Il y a beaucoup de gens qui ne piratent pas. Il y a beaucoup de gens qui refusent de payer. Mais il y a aussi des gens qui sont plus disposés à payer pour quelque chose s'il est offert à un prix inférieur à un prix plus élevé. Ce sont ces gens qui seraient touchés par un prix inférieur. (Bien que vous ne souhaitiez pas le prix trop bas, je suppose.)
7

Je suggère d'aborder le problème de l'autre côté. Intégrez un code d'identification unique dans chaque copie de votre logiciel que vous donnez à vos clients. Dans le cas où quelqu'un ensemence, vous pouvez au moins identifier qui l'a fait et engager des poursuites judiciaires.


la source
5
Seulement s'ils peuvent le trouver.
2
@Developer Art: S'ils ont accès à plusieurs copies du logiciel, ils peuvent être en mesure de faire des comparaisons binaires pour comprendre en quoi les copies diffèrent les unes des autres et où elles diffèrent, donc à moins que vous ne définissiez un moyen pour les parties de l'identifiant à obscurcir de manière aléatoire, il pourrait ne pas être si difficile de le comprendre.
2
Cela ne se fait pas avec une seule variable. Vous pouvez diffuser les informations dans tous les modules de votre application, en faisant comme si vous l'utilisiez vraiment à certaines fins. C'est un peu l'art de le rendre discret aux regards indiscrets. Peut-être poser une question distincte sur les techniques pour y parvenir. Ce serait intéressant.
18
Vous pouvez vérifier différentes versions pour savoir si la marque est optimisée ou non. Mais les utilisateurs aussi! En fait, aucun cracker professionnel ne télécharge des trucs sans d'abord obtenir plusieurs copies et les comparer, car ils veulent protéger leurs sources. En fin de compte, vous vous battez contre les moulins à vent; il vaut mieux dépenser l'effort pour écrire un excellent logiciel, qui encourage les utilisateurs à vous payer, que pour arrêter la copie, ce qui les encourage simplement à faire plus d'efforts pour ne pas payer.
2
Vous livrez une bataille difficile. Quel que soit votre schéma de cryptage / mot de passe, il est probable que les organisations de crackers l'ont vu et savent comment le briser. Ils ont des années d'expérience et des programmeurs bien meilleurs que vous. Pardon.
Evan Plaice
7

Le DRM fonctionne-t-il? Non. Est-ce que la configuration de mauvais trucs BitTorrent / EDonkey2000 fonctionne? Non. Quelqu'un se soucie-t-il de pirater votre petite application? Non, personne n'en a jamais entendu parler.

Warren P
la source
"Personne n'en a jamais entendu parler." C'est un bon point ...
Si quelqu'un est prêt à le pirater, cela vaut la peine d'être protégé.
1
@ Ben313: une meilleure expression serait "Si quelqu'un est prêt à l'acheter, cela vaut la peine d'être protégé."
1
À moins que vous n'ayez écrit quelque chose de mieux qu'AutoCad, MS Word, etc., votre logiciel vaut encore moins la peine d'être protégé que les autres personnes (Microsoft, AutoDesk) qui ont 100 personnes plus intelligentes qui travaillent pour eux, que vous (un seul développeur), et pourtant elles n'ont pas construit un DRM qui fonctionne.
Warren P
4

bittorent et la plupart des autres bons logiciels p2p se protègent contre de telles manipulations en utilisant des hachages de fichiers, par exemple md5.

cody
la source
1
L'algorithme de hachage est SHA-1, selon Wikipedia: en.wikipedia.org/wiki/… - légèrement plus sûr que MD5
Piskvor a quitté le bâtiment le
2

C'est un sujet qui intéresse tout le monde. Comment puis-je protéger mon logiciel contre le vol, le piratage, la rétro-ingénierie?

La seule façon (à laquelle je peux penser) de le faire est d'exécuter complètement le logiciel sur votre serveur et de ne pas avoir de code utile dans l'application client - parce que si vous ne pouvez pas l'obtenir, vous ne pouvez pas (facilement) le casser. De cette façon, vous aurez le contrôle sur les comptes et vous saurez qui utilise votre application. Les utilisateurs ne seront cependant pas satisfaits. Et si vous exécutez uniquement du code lié à la protection contre la copie sur votre serveur, quelqu'un le piratera en écrivant l'émulateur du serveur OU il identifiera complètement le code et contournera la protection. Comme cela s'est produit avec le nouveau système de protection contre la copie d'Ubisoft.

Garder le logiciel sur le serveur n'est pas complètement à l'épreuve des balles. Au lieu de casser le logiciel, quelqu'un commencera à attaquer votre serveur afin de s'introduire et d'obtenir des logiciels. Et il y a toujours des failles de sécurité «d'ingénierie sociale». «garder tout sur le serveur» fonctionnera mieux si votre logiciel ne peut pas être exécuté sur une machine normale (c'est-à-dire qu'il nécessite un supercalculateur ou un cluster informatique). EVE Online en est un bon exemple - contrairement à WOW et Lineage, il n'y a pas d'émulateurs de serveur que je connaisse, car cela nécessite un cluster informatique pour exécuter le serveur.

Mon propre logiciel torrent doit alors générer des données incorrectes (octets). Bien sûr, il doit amorcer des octets critiques.

  1. Si vous essayez de "détourner" un torrent existant, tout client sensé signalera des erreurs CRC et ignorera votre client. Tous les logiciels p2p utilisent des hachages.
  2. Si vous téléchargez un "mauvais" torrent, un autre utilisateur signalera votre torrent comme faux, donc personne ne le téléchargera.

voleur

"Pirate", car il est appelé violation du droit d'auteur.

SigTerm
la source