To temat, który interesuje wszystkich. Jak mogę chronić swoje oprogramowanie przed kradzieżą, hakowaniem, inżynierią wsteczną?
Myślałem: Zrobię co w mojej mocy, aby chronić program do inżynierii odwrotnej. Wtedy ludzie rozbiją go i posadzą torrentami . Następnie pobieram własne pęknięte oprogramowanie torrentem z własnym oprogramowaniem torrentowym . Moje własne oprogramowanie torrentowe musi wtedy wysyłać nieprawidłowe dane (bajty). Oczywiście musi zaszczepić krytyczne bajty.
Więc ludzie, którzy chcą ukraść moje oprogramowanie, pobierają moje błędne bajty. Tylko te bajty, które są ważne przy uruchamianiu, zapisywaniu i ładowaniu danych itp. Więc jeśli Stealer pobierze ode mnie (i zapuści go później), Stealer nie może nic z tym zrobić, ponieważ jest zepsuty.
Czy ten pomysł jest istotny? Może dobrzy klienci torrenta sprawdzają skróty od większej liczby peerów, aby sprawdzić, czy pakiety (zawierające moje uszkodzone bajty), które chcę zainicjować, są prawidłowe, czy nie?
źródło
Odpowiedzi:
Ich aplikacja do torrentów (piraci) po prostu odrzuci bajty, które wysiewasz, jako złe z powodu kontroli CRC. Wtedy zostaniesz zbanowany przez ten adres IP za to, że jesteś wielokrotnym przestępcą.
źródło
P: Czy mogę chronić moje oprogramowanie, wysyłając błędne bajty?
Odp .: Nie, można go w jakiś sposób zhakować, zwłaszcza jeśli ktoś dostanie legalną kopię.
P: Jak mogę chronić moje oprogramowanie przed kradzieżą, hakowaniem, inżynierią wsteczną?
A. Sprzedaj go za uczciwą cenę, co podważy próby włamania.
źródło
Sugeruję podejście do problemu z drugiego końca. Osadź unikalny kod identyfikacyjny w każdej kopii oprogramowania, którą przekazujesz swoim klientom. W przypadku, gdy ktoś się wysiewa, możesz przynajmniej określić, kto to zrobił i podjąć kroki prawne.
źródło
Czy DRM działa? Nie. Czy konfigurowanie złych rzeczy BitTorrent / EDonkey2000 działa? Nie. Czy ktoś obchodzi piractwo twojej małej aplikacji? Nie. Nikt nigdy o tym nie słyszał.
źródło
bittorent i większość innych dobrych programów p2p chroni się przed tego rodzaju manipulacjami za pomocą skrótów plików, np. md5.
źródło
Jedynym sposobem (mogę to wymyślić) jest całkowite uruchomienie oprogramowania na serwerze i brak przydatnego kodu w aplikacji klienckiej - ponieważ jeśli nie możesz go zdobyć, nie możesz (łatwo) złamać go. W ten sposób będziesz mieć kontrolę nad kontami i będziesz wiedział, kto korzysta z Twojej aplikacji. Użytkownicy nie będą jednak zadowoleni. A jeśli uruchomisz tylko kod związany z ochroną przed kopiowaniem na swoim serwerze, ktoś zhakuje go, pisząc emulator serwera LUB zidentyfikuje kod i całkowicie obejdzie ochronę. Tak się stało z nowym systemem ochrony przed kopiowaniem Ubisoft.
Przechowywanie oprogramowania na serwerze nie jest całkowicie kuloodporne. Zamiast łamać oprogramowanie, ktoś zacznie atakować twój serwer, aby się włamać i zdobyć oprogramowanie. I zawsze są dziury w zabezpieczeniach „inżynierii społecznej”. „zachowaj wszystko na serwerze” będzie działało najlepiej, jeśli twoje oprogramowanie nie może być uruchomione na normalnym komputerze (tj. wymaga superkomputera lub klastra komputerowego). Dobrym tego przykładem jest EVE Online - w przeciwieństwie do WOW i Lineage, nie znam emulatorów serwerów, ponieważ do uruchomienia serwera wymaga klastra komputerowego.
„Pirat”, ponieważ nazywa się to naruszeniem praw autorskich.
źródło