Je contribuerai à faciliter un cours utilisant un logiciel sous licence. Le logiciel est un peu cher et n'autorise qu'un nombre limité d'installations simultanées. Je vais donc installer une instance sur un disque virtuel chiffré avec Ubuntu (ou un autre type de linux) installé. Juste pour réduire les risques de piratage inutile, j'ai l'intention de programmer (à l'aide de cron) un script d'autodestruction à exécuter immédiatement après le dernier jour du cours. (Ou au plus tard, lors de la première instance de démarrage après le dernier jour.)
Bien que j'aime les logiciels gratuits et les projets open source (et le crowd sourcing en général), j'ai également un respect sain pour les logiciels commerciaux et le temps et les efforts consacrés par les développeurs à la conception d'un bon produit. vouloir finir par contribuer par inadvertance au piratage de leur sang, de leur sueur et de leurs larmes.
Apprécierait toute idée sur la façon d'implémenter ce script d'autodestruction sur une machine Linux.
la source
Réponses:
Comme mentionné à plusieurs reprises, la suppression de l'image cryptée devrait suffire amplement. Une autre approche consisterait à installer l’application sur sa propre partition, puis à l’effacer avec dd.
Cela écrasera tout avec zéro, ce qui est suffisant pour supprimer les données au-delà de la récupération.
la source
Tout détruire semble un peu exagéré, que diriez-vous de simplement supprimer / installer votre programme.
Ou que diriez-vous d'implémenter un serveur de licences normal que le programme doit contacter avant de pouvoir démarrer?
Mettre à jour : En tant que question ouverte, envisagez-vous de détruire les données des utilisateurs ainsi que votre programme? Ou les données des utilisateurs sont-elles stockées ailleurs?
Et peut-être que l'utilisateur devrait recevoir une sorte de message malveillant indiquant que vous envisagez de tout détruire! Quelque chose comme
En tant qu'utilisateur, je serais vraiment contrarié si vous détruisiez quelque chose dans mon ordinateur sans même me dire que cela était sur le point de se produire (j'ai donc au moins une chance d'affecter le résultat).
C'est un peu dommage pour votre entreprise si tous vos clients payants finissaient par vous haïr.
la source
Un peu vieux mais ok. Selon cette configuration, je préférerais en effet simplement chiffrer le système de fichiers de la machine virtuelle et, pendant les sessions (à condition qu’elles soient en réseau), vous vous connecteriez à distance. S'ils voulaient copier la machine virtuelle, ils devraient forcer le mot de passe, ce que vos utilisateurs ne devraient pas faire :)
c'est-à-dire que si vous le permettez, vous pouvez chiffrer un point de montage: Remarque: ce système de protection est apparemment illégal dans certains pays / états? (bon aux USA mais vous semblez être de l'Angleterre?):
Configuration d’un montage chiffré avec mot de passe:
Maintenant, installez / déplacez votre programme dans / le programme
(Chaque fois que vous souhaitez accéder au programme / recommencez):
montage
démonter
Une fois terminé, faites en sorte que le dossier du logiciel ressemble à un fichier d'octets aléatoires.
Vous pouvez également vous assurer que les comptes d’utilisateur qu’ils utilisent lors de la session de la machine virtuelle n’ont pas
su
droits au cas où ils copient la chose entière.la source
Je ne sais pas quelle est votre configuration, mais si vous pouvez exiger que vos utilisateurs soient en ligne, vous voudrez peut-être adopter une tactique différente: essayez de charger le logiciel via une connexion réseau chaque fois qu'ils l'exécutent. C’est seulement viable, et cela dépend de votre capacité à émettre une sorte d’identifiant aux utilisateurs individuels. Vous auriez un stub sur la VM, et le stub monterait automatiquement un serveur distant et exécuterait le binaire à partir de là. Rien qui ne leur permette pas de travailler avec un peu de travail, mais ce serait au moins plus difficile que de contourner l'autodestruction.
Vous pouvez également demander au serveur distant de répondre avec des clés et de conserver une version chiffrée du programme sur le disque. Le module interroge le serveur pour obtenir les clés, déchiffre et exécute le programme, en supprimant le fichier binaire déchiffré, le cas échéant. Cela serait également plus difficile à utiliser, mais nécessiterait à nouveau des identifiants d’utilisateur uniques (ce qui pourrait ne pas être possible pour vous).
la source