Torrent: posso proteggere il mio software inviando byte errati?


15

È un argomento che interessa a tutti. Come posso proteggere il mio software da furto, pirateria informatica, reverse engineering?

Stavo pensando: faccio del mio meglio per proteggere il programma per il reverse engineering. Quindi la gente lo spezzerà e lo seminerà con i torrent . Quindi scarico il mio software crackato con un torrent con il mio software torrent . Il mio software torrent deve quindi eseguire il seeding di dati errati (byte). Ovviamente deve seminare byte critici.

Quindi le persone che vogliono rubare il mio software scaricano i miei byte sbagliati. Solo quei byte che sono importanti per l'avvio, il salvataggio e il caricamento dei dati, ecc ... Quindi se il ladro scarica da me (e lo semina in seguito) il ladro non può farci nulla, perché è rotto.

Questa idea è pertinente? Forse, i buoni client torrent controllano gli hash da più peer per verificare se i pacchetti (contenenti i miei byte rotti) che voglio seminare sono corretti o no?


3
Ho letto che RIAA lo ha già fatto per i file musicali.

26
stai sprecando il tuo tempo, non stai perdendo soldi dai ladri, per definizione non comprerebbero mai il tuo software per cominciare.

27
Scartando il fatto che non funzionerebbe a causa di controlli CRC, ecc., Suggerirei che potrebbe essere una cattiva idea per un altro motivo. Le persone che rubano il software probabilmente non lo pagheranno comunque, ma se non funziona potrebbero dire ai loro amici o capi che il tuo software è di cattiva qualità in modo che non lo comprino neanche.
ho1,

9
Nella maggior parte dei casi, una copia piratata non è una vendita persa.

13
Qualunque cosa tu faccia, assicurati di non rendere difficile per i clienti paganti usare il tuo software
user6863

Risposte:


42

La loro app torrent (i pirati) scarterà semplicemente i byte che stai seminando a causa dei controlli CRC. Quindi verrai bannato da quell'IP per essere stato ripetuto.


Quale CRC utilizza bit torrent? Potrebbe essere generato un pacchetto di immondizia che aveva il CRC corretto? Ci sono app per farlo per MD5 e sono sicuro che un vero CRC sarebbe altrettanto facile.
deft_code

16
Potrebbe essere generato, in teoria ; tuttavia, il protocollo BitTorrent utilizza l'hash SHA-1; è più difficile trovare collisioni di hash (che è ciò che stiamo cercando qui) in SHA-1 che in MD5. Praticamente, al momento non è fattibile.
Piskvor,

@Caspin In sostanza, no. Ci vorrebbe almeno una settimana in condizioni ideali, un computer davvero veloce (supercomputer) e un team di crittografi per rompere l'hash CRC per un singolo file. Buona fortuna.
Evan Plaice,

9

D. Posso proteggere il mio software inviando byte errati?
R. No, può essere hackerato comunque, specialmente se qualcuno mette le mani su una copia legittima.

D. Come posso proteggere il mio software da furto, pirateria informatica, reverse engineering?
A. Vendilo a un prezzo equo, questo minerà i tentativi di hacking.


Vedi plagiarismtoday.com/2010/05/26/… per il punto 2. Pirati pirati. Un software migliore non ti aiuterà.
Paul Nathan,

1
@Paul: ci sono molte persone che non fanno i pirati. Ci sono molte persone che si rifiutano di pagare. Ma ci sono anche alcune persone che sono più disposti a pagare per qualcosa se viene offerto a un prezzo inferiore rispetto a uno più alto. Quelle sono le persone che sarebbero colpite da un prezzo inferiore. (Anche se non vorresti dare un prezzo troppo basso, suppongo.)

7

Suggerirei di affrontare il problema dall'altra parte. Incorpora un codice di identificazione univoco in ogni copia del tuo software che dai ai tuoi clienti. Nel caso in cui qualcuno stia seminando, puoi almeno identificare chi lo ha fatto e intraprendere azioni legali.


5
Solo se riescono a trovarlo.

2
@Developer Art: se hanno accesso a più copie del software, potrebbero essere in grado di fare confronti binari per capire in che modo le copie differiscono l'una dall'altra e dove differiscono, quindi a meno che tu non abbia impostato un modo per le parti di l'identificatore da offuscare in modo casuale potrebbe non essere così difficile capirlo.

2
Non è fatto con una singola variabile. Potresti diffondere le informazioni su tutti i moduli della tua app, fingendo di usarli davvero per alcuni scopi. È in qualche modo arte come renderlo discreto agli occhi indiscreti. Forse fai una domanda separata sulle tecniche per raggiungere questo obiettivo. Sarebbe interessante

18
Puoi controllare diverse build per verificare se il segno è ottimizzato o no. Ma anche gli utenti possono farlo! In effetti, nessun cracker professionista carica materiale senza prima ottenere diverse copie e confrontarle, perché vogliono proteggere le loro fonti. Alla fine, stai combattendo contro i mulini a vento; molto meglio spendere gli sforzi per scrivere un ottimo software, che incoraggi gli utenti a pagarti, piuttosto che fermare la copia, che li incoraggia a fare di più per non pagare.

2
Stai combattendo una battaglia in salita. Qualunque sia il tuo schema di crittografia / password, è probabile che le organizzazioni di cracker lo abbiano visto e sappiano come romperlo. Hanno anni di esperienza e programmatori molto migliori di te. Scusate.
Evan Plaice,

7

DRM funziona? No. L'impostazione di roba BitTorrent / EDonkey2000 non valida funziona? No. Qualcuno si preoccupa di piratare la tua piccola applicazione? No. Nessuno ne ha mai sentito parlare.


"Nessuno ne ha mai sentito parlare." Questo è un buon punto ...

Se qualcuno è disposto a piratarlo, allora vale la pena proteggerlo.

1
@ Ben313: una frase migliore sarebbe "Se qualcuno è disposto ad acquistarlo, allora vale la pena proteggerlo".

1
A meno che tu non abbia scritto qualcosa di meglio di AutoCad, MS Word, ecc., Il tuo software è ancora meno degno di protezione rispetto alle altre persone (Microsoft, AutoDesk) che hanno 100 persone più intelligenti che lavorano per loro, di te (un singolo sviluppatore) e ancora non hanno creato un DRM che funzioni.
Warren P

4

bittorent e molti altri buoni software p2p si proteggono da questo tipo di manipolazione usando hash di file, ad esempio md5.


1
L'algoritmo di hashing è SHA-1, secondo Wikipedia: en.wikipedia.org/wiki/… - leggermente più sicuro di MD5
Piskvor

2

È un argomento che interessa a tutti. Come posso proteggere il mio software da furto, pirateria informatica, reverse engineering?

L'unico modo (mi viene in mente) di farlo è eseguire il software completamente sul tuo server e non avere un codice utile nell'applicazione client, perché se non riesci a ottenerlo, non puoi (facilmente) decifrarlo. In questo modo avrai il controllo degli account e saprai chi utilizza la tua applicazione. Gli utenti non saranno felici, però. E se eseguirai solo codice relativo alla protezione dalla copia sul tuo server, qualcuno lo hackererà scrivendo l'emulatore del server OPPURE identificherà il codice e ignorerà completamente la protezione. Come è successo con il nuovo schema di protezione dalla copia di Ubisoft.

Mantenere il software sul server non è completamente a prova di proiettile. Invece di decifrare il software, qualcuno inizierà ad attaccare il tuo server per irrompere e ottenere software. E ci sono sempre falle nella sicurezza del "social engineering". "Mantieni tutto sul server" funzionerà meglio se il tuo software non può essere eseguito su una macchina normale (cioè richiede un supercomputer o un cluster di computer). Un buon esempio di questo è EVE Online - a differenza di WOW e Lineage non ci sono emulatori di server che conosco, perché richiede il cluster di computer per eseguire il server.

Il mio software torrent deve quindi eseguire il seeding di dati errati (byte). Ovviamente deve seminare byte critici.

  1. Se proverai a "dirottare" il torrent esistente, qualsiasi client sano segnalerà errori CRC e ignorerà il tuo client. Tutto il software p2p utilizza hash.
  2. Se carichi un torrent "sbagliato", un altro utente segnalerà il tuo torrent come falso, quindi nessuno lo scaricherà.

ladro

"Pirata", perché si chiama violazione del copyright.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.