Tieni traccia di chi trapela il tuo software

0

Sto rilasciando alcuni software in python che è impossibile cifrare completamente. Stavo pensando di cambiare leggermente i nomi delle variabili per ogni copia che rilascio. È un buon modo per capire chi sta perdendo il mio software? Le probabilità sono 2 persone che hanno acquistato questo software si confronteranno perché il prezzo è a migliaia. Inoltre, ci sono copie limitate in modo che non si accorgano nemmeno di essere monitorate.

Qual è la rovina di questo metodo e ci sono modi migliori per farlo?

    
posta Noah Cristino 19.08.2018 - 15:13
fonte

4 risposte

2

Puoi aggiungere una lib esterna al prodotto, realizzata in C / C ++. Python può importare quelli proprio bene. Aggiungi un paio di funzioni vitali su quella libreria e modifica la libreria un po 'per ogni cliente.

Un modo interessante per farlo è usare internazionalizzazione per crittografare la maggior parte delle stringhe e utilizzare la libreria esterna per decrittografarle. Utilizza una chiave personalizzata per ogni cliente e crittografa il file delle stringhe prima della spedizione.

    
risposta data 20.08.2018 - 14:18
fonte
1

Potrebbe essere più semplice assegnare un identificativo al tuo prodotto e legare tali dettagli identificativi con i clienti che acquistano il prodotto. Un altro problema è che anche se qualcuno ha fatto trapelare il tuo prodotto, spesso può essere molto difficile fare qualcosa al riguardo, figuriamoci farlo rispettare. Quindi, se vuoi proteggere il tuo prodotto, sarebbe saggio esaminare l'uso delle chiavi di licenza, non è un metodo perfetto ma può fornire un ulteriore livello di protezione.

    
risposta data 20.08.2018 - 12:52
fonte
1

Non vedo qui una soluzione semplice, come menzionato da ThoriumBR,

you can add an external lib to the product, made in C/C++. Python can import those just fine. Add a couple vital functions on that library, and change the library a little for each client.

L'idea di utilizzare queste librerie esterne per la crittografia mi piace. Un sistema simile a quello utilizzato dalle agenzie di intelligence implica che tutti i file classificati vengano crittografati a riposo e, quando richiesto da un dipendente, il file viene decifrato e rilasciato a loro. Questo metodo garantisce che i registri possano essere conservati per ogni richiesta e chi ha richiesto una versione decrittografata. Sebbene, per tale ambiente, vengano utilizzate reti con gappatura ad aria e i dipendenti siano non autorizzati a rimuovere il materiale dal luogo di lavoro.

Ho delle preoccupazioni su questo, poiché durante la programmazione, i programmatori stanno usando il codice sorgente, che potrebbe anche essere equivalente al testo in chiaro. Quindi firmare il codice non farebbe differenza, in quanto servirebbe solo a rallentare la fuga se non volessero essere trovati in seguito. Pertanto, adottare misure per garantire che il codice di lavoro completo non possa essere scaricato su Internet, come l'utilizzo di librerie esterne a cui i programmatori non hanno mai accesso diretto potrebbero effettivamente essere più ideali.

    
risposta data 20.08.2018 - 16:24
fonte
1

Is this a good way to figure out who is leaking my software?

È fattibile, ma devi anche creare un'altra applicazione per tenere traccia delle modifiche applicate al codice e collegarle ai clienti.

Ma l'elefante nella stanza è quello che intendi fare quando trovi una copia senza licenza del software da qualche parte. Hai solo un indicatore molto strong di quale cliente legittimo è venuto il software. Che cosa fai dopo? La prova del possesso da solo (supponendo che si possa provare la posessione) non dimostra un comportamento scorretto da parte del legittimo licenziatario né del possessore. Il possesso di IP appartenenti a qualcun altro è una questione di copyright (o di brevetto) e nella maggior parte delle giurisdizioni il copyright e l'illecito civile sono principalmente questioni civili. La polizia non sarà interessata a indagare su questo.

there are limited copies so they won't even realize they are being tracked

.... e cosa succede alla tua reputazione quando il mondo scopre che stai deliberatamente costruendo capacità nel tuo software di cui non parli ai tuoi clienti?

BTW in Europa Sospetto che le personalizzazioni deliberatamente intese a identificare un individuo specifico siano considerate PII ai sensi del GDPR; non dicendo alla gente di questo, potresti essere il cattivo (e molti GDPR sono sotto la legge penale).

    
risposta data 20.08.2018 - 17:30
fonte

Leggi altre domande sui tag