Domanda

Chi visita un torrent tracker è sicuri di trovare frotte di "cracking" programmi che vanno dal semplice shareware software suite costano migliaia di dollari.Sembra che fintanto che il programma non si basa su un servizio remoto (ad es.un MMORPG) che qualsiasi built-in protezione contro la copia o l'autenticazione utente è inutile.

È, effettivamente, non è possibile evitare che un cracker, eludendo la protezione contro la copia?Perché?

È stato utile?

Soluzione

Mi dispiace intromettermi in un filo antico, ma questo è ciò che facciamo per vivere e siamo davvero bravi a farlo. È tutto ciò che facciamo. Quindi alcune delle informazioni qui sono sbagliate e voglio mettere le cose in chiaro.

La protezione teoricamente non crackabile non è solo possibile, ma è ciò che vendiamo. Il modello base seguito dai principali fornitori di protezione dalla copia (inclusi noi) è l'uso della crittografia di exe e dll e una chiave segreta per decrittografare in fase di esecuzione.

Esistono tre componenti:

  1. Crittografia molto potente: utilizziamo la crittografia AES a 128 bit che è effettivamente immune da un attacco di forza bruta. Un giorno, quando i computer quantistici sono comuni, potrebbe essere possibile romperlo, ma è irragionevole supporre che infrangerai questa crittografia di forza per copiare il software in contrapposizione ai segreti nazionali.

  2. Archiviazione sicura delle chiavi: se un cracker è in grado di ottenere la chiave per la crittografia, sei esagerato. L'unico modo per GARANTIRE che una chiave non può essere rubata è conservarla su un dispositivo sicuro. Usiamo un dongle (è disponibile in molti gusti, ma il sistema operativo lo vede sempre solo come un'unità flash rimovibile). Il dongle memorizza la chiave su un chip di smart card che è indurito contro attacchi del canale laterale come DPA. La generazione della chiave è legata a molteplici fattori non deterministici e dinamici, quindi non è possibile alcun singolo crack / master crack. Anche la comunicazione tra l'archiviazione delle chiavi e il runtime sul computer è crittografata, quindi viene contrastato un attacco man-in-the-middle.

  3. Rilevamento del debugger: in pratica si desidera impedire a un cracker di acquisire un'istantanea della memoria (dopo la decrittazione) e ricavarne un eseguibile. Alcune delle cose che facciamo per prevenire ciò sono segrete, ma in generale consentiamo il rilevamento del debugger e blocciamo la licenza quando è presente un debugger (questa è un'impostazione opzionale). Inoltre non decifriamo mai completamente l'intero programma in memoria, quindi non puoi mai ottenere tutto il codice & Quot; rubando & Quot; la memoria.

Abbiamo un crittologo a tempo pieno che può rompere praticamente il sistema di protezione di chiunque. Trascorre tutto il suo tempo a studiare come decifrare il software in modo che possiamo prevenirlo. Quindi non pensi che questo sia solo uno shill economico per quello che facciamo, non siamo unici: anche altre società come SafeNet e Arxan Technologies possono offrire una protezione molto forte.

Molti schemi di solo software o offuscamento sono facili da decifrare poiché il cracker può semplicemente identificare il punto di ingresso del programma e ramificarsi attorno a qualsiasi controllo di licenza o altre cose che l'ISV ha inserito per cercare di prevenire la pirateria. Alcune persone, anche con i dongle, apriranno una finestra di dialogo quando non viene trovata la licenza: impostare un breakpoint su quell'errore darà al cracker un bel posto nel codice assembly per fare una patch. Ancora una volta, ciò richiede la disponibilità di codice macchina non crittografato, cosa che non si ottiene se si esegue una crittografia avanzata di .exe.

Un'ultima cosa: penso che siamo unici in quanto abbiamo avuto diversi concorsi aperti in cui abbiamo fornito un sistema alle persone e li abbiamo invitati a decifrarlo. Abbiamo avuto dei premi in denaro piuttosto alti ma nessuno ha ancora violato il nostro sistema. Se un ISV prende il nostro sistema e lo implementa in modo errato, non è diverso dal mettere un grande lucchetto sulla porta anteriore attaccato a una cerniera economica con viti per legno - facile da aggirare. Ma se usi i nostri strumenti come suggeriamo, riteniamo che il tuo software non possa essere decifrato.

HTH.

Altri suggerimenti

No, non è davvero possibile prevenirlo. Puoi renderlo estremamente difficile - alcune versioni di Starforce hanno apparentemente realizzato che, a scapito di seriamente incazzare un numero di & Quot; utenti & Quot; (le vittime potrebbero essere più precise).

Il tuo codice è in esecuzione sul loro sistema e possono fare quello che vogliono con esso. Collega un debugger, modifica la memoria, qualunque cosa. È così.

Spore sembra essere un elegante esempio di come gli sforzi draconiani in questa direzione non solo non siano riusciti totalmente a impedirne la condivisione su reti P2P ecc., ma ha significativamente ha danneggiato l'immagine del prodotto e quasi sicuramente le vendite.

Vale anche la pena notare che gli utenti potrebbero dover rompere la protezione dalla copia per proprio uso; Ricordo di aver giocato a Diablo sul mio laptop qualche anno fa, che non aveva un'unità ottica interna. Così sono caduto in un crack senza cd, e sono stato poi intrattenuto per diverse ore su un lungo volo aereo. Costringere quel tipo di controllo, e quindi gli utenti a aggirarlo, è un malfunzionamento del tipo più stupido.

È impossibile fermarlo senza rompere il prodotto. La prova:

Dato: le persone che stai cercando di prevenire dall'hacking / furto saranno inevitabilmente molto più tecnicamente sofisticate di gran parte del tuo mercato.
Dato: il tuo prodotto verrà utilizzato da alcuni membri del pubblico.
Dato: l'utilizzo del prodotto richiede l'accesso ai suoi dati a un certo livello.

Pertanto, è necessario rilasciare al pubblico i dati del metodo di protezione crittografata / copia / metodo di protezione dalla copia in modo che i dati siano stati visualizzati nella sua forma utilizzabile / non crittografata.
Pertanto, hai in qualche modo reso i tuoi dati accessibili ai pirati.
Pertanto, i tuoi dati saranno più facilmente accessibili agli hacker rispetto al tuo pubblico legittimo.
Pertanto, NIENTE oltre il metodo di protezione più semplicistico finirà per trattare il tuo pubblico legittimo come pirati e alienarlo

O in breve, il modo in cui l'utente finale lo vede:
Ruba questo fumetto

Perché è una difesa fissa contro un avversario pensante.

I teorici militari lo hanno picchiato a morte quanti millenni fa?

La protezione dalla copia è come la sicurezza: è impossibile ottenere la perfezione al 100%, ma è possibile aggiungere livelli che rendono successivamente più difficile il crack.

La maggior parte delle applicazioni ha qualche punto in cui chiedono (loro stessi), " La licenza è valida? " L'hacker deve solo trovare quel punto e modificare il codice compilato per restituire & Quot; sì. & Quot; In alternativa, i cracker possono usare la forza bruta per provare diverse chiavi di licenza fino a quando non funziona. Ci sono anche fattori sociali: una volta che una persona acquista lo strumento potrebbe pubblicare un codice di licenza valido su Internet.

Quindi, l'offuscamento del codice rende più difficile (ma non impossibile) trovare il codice da modificare. La firma digitale dei binari rende più difficile cambiare il codice, ma non è ancora impossibile. I metodi a forza bruta possono essere combattuti con lunghi codici di licenza con molti bit di correzione degli errori. Gli attacchi sociali possono essere mitigati richiedendo un nome, un indirizzo e-mail e un numero di telefono che fa parte del codice di licenza stesso . Ho usato questo metodo con grande efficacia.

Buona fortuna!

La differenza tra sicurezza e protezione dalla copia è che, con la sicurezza, si sta proteggendo un asset da un utente malintenzionato consentendo al contempo l'accesso di un utente autorizzato. Con la protezione dalla copia, l'attaccante e l'utente autorizzato sono la stessa persona. Ciò rende impossibile una perfetta protezione dalla copia.

Penso che, dato il tempo sufficiente, un potenziale cracker può eludere qualsiasi protezione dalla copia, anche quelli che usano callback su server remoti. Tutto ciò che serve è reindirizzare tutto il traffico in uscita attraverso una casella che filtrerà tali richieste e risponderà con i messaggi appropriati.

Su una linea temporale abbastanza lunga, il tasso di sopravvivenza dei sistemi di protezione dalla copia è 0. Tutto è retroingegneristico con abbastanza tempo e conoscenza.

Forse dovresti concentrarti su come rendere il tuo software più attraente con versioni reali, registrate e non crackate. Il servizio clienti superiore, i vantaggi per la registrazione, ecc. Premiano gli utenti legittimi.

Fondamentalmente la storia ci ha mostrato che il massimo che puoi acquistare con la protezione dalla copia è un po 'di tempo. Fondamentalmente poiché ci sono dati che vuoi che qualcuno veda in un modo, c'è un modo per ottenere quei dati. Dal momento che esiste un modo in cui qualcuno può sfruttare quel modo per ottenere i dati.

L'unica cosa che può fare qualsiasi protezione da copia o crittografia per quella materia è rendere molto difficile ottenere qualcosa. Se qualcuno è abbastanza motivato, c'è sempre il modo bruto di aggirare le cose.

Ma ancora più importante, nello spazio del software per computer abbiamo tonnellate di strumenti che ci permettono di vedere come funzionano le cose, e una volta ottenuto il metodo di funzionamento della protezione dalla copia, è molto semplice ottenere quello che vuoi.

L'altro problema è che la protezione dalla copia per la maggior parte frustra solo i tuoi utenti che pagano per il tuo software. Dai un'occhiata al modello open source che non infastidisce e alcune persone stanno facendo un sacco di soldi per incoraggiare le persone a copiare il loro software.

" Cercare di rendere frammentari i pezzi è come cercare di non bagnare l'acqua. " - Bruce Schneier

La protezione dalla copia e altre forme di gestione delle restrizioni digitali sono intrinsecamente fragili, poiché non è possibile rendere visibile un flusso di bit su un computer impedendo allo stesso tempo di copiarli. Semplicemente non si può fare.

Come altri hanno sottolineato, la protezione dalla copia serve solo a punire i clienti legittimi. Non ho voglia di giocare a Spore, ma se lo facessi, probabilmente lo comprerei ma poi installerei la versione crackata perché in realtà è un prodotto migliore per la sua mancanza del SecuROM dannoso per il sistema o dello schema di attivazione che priva di proprietà.

}} Perché?

Puoi acquistare la cassaforte più costosa del mondo e utilizzarla per proteggere qualcosa. Dopo aver ceduto la combinazione per aprire la cassaforte, hai perso la tua sicurezza.

Lo stesso vale per il software, se vuoi che le persone utilizzino il tuo prodotto devi dare loro la possibilità di aprire la proverbiale cassaforte e accedere ai contenuti, offuscare il metodo per aprire il lucchetto non aiuta. Hai concesso loro la possibilità di aprirlo.

Puoi fidarti dei tuoi clienti / utenti, oppure puoi perdere quantità eccessive di tempo e risorse nel tentativo di sconfiggerli invece di fornire le funzionalità per cui vogliono pagare.

Semplicemente non dà fastidio. Veramente. Se non proteggi il tuo software ed è buono, senza dubbio qualcuno lo piraterà. La barriera sarà bassa, ovviamente. Ma il tempo che risparmi per non infastidire sarà il tempo che puoi investire nel tuo prodotto, marketing, relazioni con i clienti, ecc., Costruendo la tua base di clienti a lungo termine.

Se passi il tempo a proteggere il tuo prodotto invece di svilupparlo, ridurrai sicuramente la pirateria. Ma ora i tuoi concorrenti potrebbero essere in grado di sviluppare funzionalità per le quali non hai avuto tempo e potresti finire per vendere di meno, anche a breve termine.

Come altri sottolineano, puoi facilmente finire per frustrare gli utenti reali e legittimi più di quanto frustri i truffatori. Tieni sempre a mente i tuoi utenti paganti quando sviluppi una tecnica di elusione.

Se il tuo software è ricercato, non hai alcuna speranza contro l'esercito di 17 anni annoiati. :)

Nel caso di copia personale / violazione del copyright non commerciale, il fattore chiave sembrerebbe essere il rapporto tra il prezzo dell'articolo e la facilità di copiarlo. Puoi aumentare la difficoltà di copiarlo, ma con rendimenti decrescenti come evidenziato da alcune delle risposte precedenti. L'altro approccio da prendere sarebbe quello di abbassare il prezzo fino a quando anche lo sforzo di scaricarlo tramite bittorrent è più ingombrante del semplice acquisto.

In realtà ci sono molti esempi di successo in cui un autore ha trovato un punto debole dei prezzi che ha sicuramente portato a un grande profitto per se stessi. Cercare di inseguire una prevenzione della copia non autorizzata al 100% è una causa persa, devi solo ottenere un grande gruppo di clienti disposti a pagare invece di scaricare illegalmente. La cosa che rende poco costoso il software di pirateria è anche ciò che rende poco costoso pubblicare software.

C'è un modo semplice, sono stupito che tu non l'abbia detto nelle risposte sopra. Sposta la protezione dalla copia in un'area protetta (comprendi il tuo server nel tuo laboratorio sicuro). Il tuo server riceverà un numero casuale dai client (controlla che il numero non sia stato usato prima), crittografi alcuni risultati di calcolo / codice binario in continua evoluzione con il numero dei clienti e la tua chiave privata e rispediscilo. Nessun hacker può aggirare questo dato che non hanno accesso al codice del tuo server.

Quello che sto descrivendo è sostanzialmente il servizio di altri SSL, è dove la maggior parte delle aziende va al giorno d'oggi.

Contro: un concorrente svilupperà una versione offline dello stesso prodotto in evidenza durante il completamento del codice crittografico.

Su protezioni che non richiedono rete:

Secondo le note galleggianti ci sono voluti due anni per decifrare un'applicazione popolare che utilizzava uno schema simile a quello descritto nella risposta di John. (protezione del dongle hardware personalizzato)

Un altro schema che non comporta un dongle è " protezione espansiva " ;. L'ho coniato proprio ora, ma funziona così: esiste un'applicazione che salva i dati dell'utente e per la quale gli utenti possono acquistare espansioni e simili da terze parti. Quando l'utente carica i dati o utilizza una nuova espansione, le espansioni e i dati salvati contengono anche codice che esegue i controlli. E naturalmente questi controlli sono anche protetti da controlli di checksum. Non è sicuro sulla carta come l'altro schema, ma in pratica questa applicazione è sempre stata semi-incrinata, quindi funziona principalmente come una prova nonostante sia incrinata poiché le incrinature mancheranno sempre alcuni controlli e dovranno patchare queste espansioni come bene.

Il punto chiave è che, sebbene questi possano essere risolti, se un numero sufficiente di venditori di software usasse tali schemi, questo sovraccaricherebbe le poche persone in guerra che sono disposte a dedicarsi a quelli. Se fai i calcoli, le protezioni non devono essere nemmeno così grandi, finché un numero sufficiente di venditori usasse queste protezioni personalizzate che cambiano costantemente, semplicemente sopraffarrebbe i cracker e la scena Warez finirebbe allora e lì. *

L'unica ragione per cui ciò non è accaduto è perché gli editori acquistano una singola protezione che usano dappertutto, rendendolo un obiettivo enorme proprio come Windows è il bersaglio di malware, qualsiasi protezione utilizzata in più di una singola app è un obiettivo più grande. Quindi ognuno deve fare la propria protezione espansiva multi-livello personalizzata e unica. La quantità di rilasci di warez scenderebbe a una dozzina di rilasci all'anno se ci vorranno mesi per decifrare una singola versione dei migliori cracker.

Ora per alcuni teorici nel software di marketing:

Se ritieni che Warez offra un valore di marketing utile, questo dovrebbe essere preso in considerazione nel piano aziendale. Ciò potrebbe comportare una versione lite di base molto (troppo) che costa ancora pochi dollari per assicurarsi che sia stata crackata. Quindi agganceresti gli utenti con & Quot; aggiornamento a tempo limitato a buon mercato dalla versione lite & Quot; offre regolarmente e altre tattiche di upselling. La versione lite dovrebbe davvero avere al massimo una caratteristica degna di acquisto e, in caso contrario, essere molto paralizzata. Il prezzo dovrebbe probabilmente essere & Lt; 10 $. La versione completa dovrebbe probabilmente essere il doppio rispetto al prezzo di aggiornamento rispetto alla versione pay-demo da $ 10 lite. per esempio. Se la versione completa è $ 80, offriresti aggiornamenti dalla versione Lite alla versione completa per $ 40 o qualcosa che sembra davvero un affare da assassino. Ovviamente eviteresti di rivelare questi affari agli acquirenti che sono andati direttamente all'edizione $ 80.

Sarebbe fondamentale che la versione completa non condividesse alcuna somiglianza nel codice con la versione lite. Intendi che la versione lite venga archiviata e che la versione completa impiegherà molto tempo a craccare o avrà una dipendenza dalla rete in funzionalità che sarà difficile imitare localmente. I cracker sono probabilmente più specializzati nel cracking rispetto al tentativo di codificare / replicare parti di funzionalità che l'applicazione ha sul server Web.

* addendum: per app / giochi la scena potrebbe finire in circostanze così improbabili e teoriche, per altre cose come musica / film e, in pratica, cercherei di renderlo economico per il dl digitale gli acquirenti di ottenere oggetti fisici da collezione aggiuntivi o valore solo online - molte persone sono collezionisti di cose (specialmente i pirati) e potrebbero essere attratti dall'acquisto se ottengono qualcosa di abbastanza desiderabile rispetto a una semplice copia digitale.

Attenzione però: c'è qualcosa chiamato " la legge delle aspettative crescenti " ;. Esempio di giochi: la confezione standard Ultima 4-6 includeva una mappa fatta di stoffa e l'edizione Skyrim Collectors ha una mfatto di carta. Le aspettative erano aumentate e alcune persone non saranno felici con una mappa cartacea. Volete mantenere costante la qualità dei prodotti o del servizio o gestire le aspettative in anticipo. Credo che questo sia fondamentale quando si considerano queste cose a valore aggiunto come si desidera che siano desiderabili ma non sempre più costose da realizzare e non si trasformino in qualcosa che sembra così inutile da vanificare lo scopo.

Questa è un'occasione in cui un software di qualità è una cosa negativa, perché se nessuno è il tuo software non passerà il tempo a tentare di decifrarlo, d'altra parte cose come Adobe Collection Master CS3, erano disponibili pochi giorni dopo il rilascio .

Quindi la morale di questa storia è che se non vuoi che qualcuno rubi il tuo software c'è un'opzione: non scrivere nulla che valga la pena rubare.

Credo che qualcuno si presenti con una dinamica AI modo di sconfiggere tutti i attualmente i metodi standard di protezione da copia;diamine, avrei sicuramente l'amore per essere pagato per lavorare sul problema.Una volta arrivati lì quindi nuovi metodi che saranno sviluppati, ma ti rallenta le cose.

Il secondo modo migliore per la società per fermare il furto di software, è quello di penalizzare pesantemente, e applicare le sanzioni.

Il modo migliore è quello di invertire il declino morale, e, di conseguenza, aumentare il livello di integrità nella società.

Una causa persa se mai ne avessi sentito uno ... ovviamente questo non significa che non dovresti provare.

Personalmente, mi piace l'idea di Penny Arcade: " ; Un argomento ciclico con un letterale pagliaccio & Quot; alt text http://sonicloft.net / IM / 52

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top