Pomogę ułatwić kurs wykorzystujący licencjonowane oprogramowanie. Oprogramowanie jest dość drogie i pozwala tylko na ograniczoną liczbę jednoczesnych instalacji, więc zrobię to, aby zainstalować jedną instancję na zaszyfrowanym dysku wirtualnym z zainstalowanym Ubuntu (lub innym rodzajem linuksa). Aby zmniejszyć ryzyko niepotrzebnego piractwa, zamierzam zaplanować (używając crona) skrypt autodestrukcji, który będzie uruchamiany natychmiast po ostatnim dniu kursu. (Lub najpóźniej podczas pierwszego uruchomienia po ostatnim dniu).
Mimo że uwielbiam projekty freeware i open source (i ogólnie pozyskiwanie tłumu), mam również zdrowy szacunek dla oprogramowania komercyjnego oraz czasu i wysiłku, który twórcy poświęcili na opracowanie dobrego produktu - nie chcą ostatecznie niechcący przyczynić się do piractwa ich krwi, potu i łez.
Byłbym wdzięczny za pomysł, jak zaimplementować ten skrypt autodestrukcji na komputerze z systemem Linux.
źródło
Odpowiedzi:
Jak wspomniano kilka razy, usunięcie zaszyfrowanego obrazu powinno wystarczyć. Innym podejściem byłoby zainstalowanie aplikacji na własnej partycji, a następnie wyczyszczenie jej za pomocą dd.
Spowoduje to zastąpienie wszystkiego wartością zero, co wystarczy, aby usunąć dane poza odzyskiwaniem.
źródło
Aby zniszczyć wszystko, wydaje się to trochę przesadą, po prostu usuń / odinstaluj swój program.
A może wdrożysz normalny serwer licencyjny, z którym program musi się skontaktować, zanim będzie mógł się uruchomić?
Aktualizacja : Jako otwarte pytanie, czy planujesz zniszczyć dane użytkowników, a także swój program? Czy dane użytkowników są przechowywane gdzie indziej?
I może użytkownik powinien otrzymać powiadomienie o nagware, że planujesz zniszczyć wszystko! Coś jak
Jako użytkownik byłbym naprawdę zdenerwowany, jeśli po prostu zniszczyłeś coś na moim komputerze, nawet nie mówiąc mi, że to się stanie (więc przynajmniej mam szansę wpłynąć na wynik).
Szkoda, że wszyscy płacący klienci nienawidzą cię.
źródło
Trochę stary, ale w porządku. Zgodnie z tą konfiguracją wolałbym raczej po prostu zaszyfrować system plików VM, a podczas sesji (zakładając, że są one połączone w sieć) zdalnie logowałbyś się. Gdyby skopiowali maszynę wirtualną, musieliby brutalnie wymusić hasło, a nie to, co powinni zrobić Twoi użytkownicy :)
tzn. jeśli nie masz nic przeciwko, możesz zaszyfrować punkt montowania: Uwaga: ten system ochrony jest najwyraźniej nielegalny w niektórych krajach / stanach? (dobrze w USA, ale wydaje się, że jesteś z Anglii?):
Konfigurowanie zaszyfrowanego, zabezpieczonego hasłem montażu:
Teraz zainstaluj / przenieś swój program do / theprogram
(Za każdym razem, gdy chcesz uzyskać dostęp / ponownie wykonać program):
montowanie
odmontowywanie
Po zakończeniu spraw, aby folder oprogramowania wyglądał jak plik losowych bajtów.
Możesz także upewnić się, że konta użytkowników, których używają podczas sesji maszyny wirtualnej, nie mają
su
uprawnień na wypadek, gdyby skopiowali całość.źródło
Nie wiem, jaka jest twoja konfiguracja, ale jeśli możesz wymagać od użytkowników dostępu do Internetu, możesz zastosować inną taktykę - spróbuj załadować oprogramowanie przez połączenie sieciowe, ilekroć go uruchomią. Jest to opłacalne i zależy od tego, czy możesz wydać jakiś identyfikator dla poszczególnych użytkowników. Miałbyś kod pośredniczący na maszynie wirtualnej, a kod ten automatycznie zamontowałby zdalny serwer i uruchomiłby z niego plik binarny. Nic, z czym nie mogliby sobie poradzić przy odrobinie pracy, ale byłoby to co najmniej trudniejsze niż obejście autodestrukcji.
Alternatywnie możesz pozwolić zdalnemu serwerowi odpowiedzieć kluczami i zachować zaszyfrowaną wersję programu na dysku - kod pośredniczący wysyła zapytanie do serwera o klucze, odszyfrowuje i uruchamia program, usuwając odpowiednio odszyfrowane pliki binarne. Byłoby to również trudniejsze do obejścia, ale ponownie wymaga unikalnych identyfikatorów użytkowników (co może być niemożliwe dla Ciebie).
źródło