Blocco del sistema Linux per lavorare solo su determinati hardware

6

C'è un modo per bloccare un sistema Linux per funzionare solo con un hardware specifico (predefinito)? Sto sviluppando un prodotto commerciale e voglio rendere un po 'più difficile per qualcuno clonare l'intero sistema di lavoro, quindi sto pensando di legare insieme SW e HW in modo che uno abbia bisogno di un'immagine SW speciale per un determinato HW.

Il mio scenario esatto è una scheda incorporata (Raspberry Pi 2 con Raspbian) che si avvia da una scheda SD. Il problema è che la scheda SD può essere facilmente scambiata tra schede, quindi vorrei che la scheda SD funzioni solo con una singola scheda. Userò un binario personalizzato (che mi compilo da C ++) per fornire la funzionalità del prodotto. Potrei semplicemente verificare lo specifico ID HW (RPi numero di serie o indirizzo MAC) dal mio binario, ma questo lascerebbe comunque spazio a qualcuno per falsificare quegli HW ID a livello di sistema operativo e quindi avviare il mio binario su di esso.

Suppongo che la crittografia dell'intero sistema possa fornire un po 'più di protezione, ma la chiave (che si tratti di una password SW o di un HW) deve essere salvata anche lì per il sistema, quindi se un "attaccante" la trova decifrare comunque l'immagine del sistema? Il sistema funziona in modalità di sola lettura.

Qual è la migliore protezione che posso avere su un sistema con memoria principale intercambiabile? Immagino che uno storage embedded possa essere un po 'più difficile da leggere ma probabilmente non fornirà ancora una protezione al 100%?

Modifica

Per quanto riguarda le mie ragioni per la protezione: il mio scenario è un dispositivo di visione artificiale incorporato che non ha un'interfaccia utente diretta (uscita dell'immagine da visualizzare o monitorare), ma in alcuni casi emette solo un segnale acustico. Non mi dispiace la pirateria SW, a patto che almeno qualcuno dica "promozione del prodotto" o marketing (come nel caso di Microsoft Windows pirata, ad esempio, anche se piratato aiuta a promuovere il prodotto dal momento che è marchiato e i loghi sono in tutto l'interfaccia utente), ma questo semplicemente non è il mio caso. I cloni cinesi economici del chip ELM 327 sono buoni esempi di pirateria SW incorporata - il SW è stato letto dal controller PIC ed è ora venduto molto a buon mercato.

    
posta Kozuch 30.08.2015 - 12:39
fonte

1 risposta

5

La risposta breve è "No, non c'è modo di bloccare il software su un hardware specifico che non può essere rotto.". Stai essenzialmente parlando dell'implementazione di una qualche forma di DRM e legando il tuo software a un HW specifico. L'approccio forza bruta è semplicemente quello di andare nel tuo codice e modificarlo per smettere di cercare il controllo HW. Questo è un approccio che i cracker del software hanno impiegato per decenni per sconfiggere la protezione della copia. Molti hanno provato a bloccare i cracker. Tutti alla fine hanno fallito.

La lunga risposta è che potresti essere in grado di impedire ad alcune persone del set di utilizzare il tuo software per un certo periodo di tempo su hardware non approvato. La sicurezza non deve essere perfetta per essere utile. Un set di manette può essere scelto con una graffetta, ma hanno ancora un uso marginale.

Dopo aver letto la risposta modificata, il modello della minaccia sembra essere un tecnico del reverse professionale che desidera clonare il tuo prodotto. Ciò significa essenzialmente che sei condannato da una prospettiva di reverse engineering.

Non ho familiarità con l'esempio che hai dell'ELM327, ma la voce wikipedia mi porta a credere che sia un chip del 1976, quindi non è più protetto da brevetto e non è protetto da copyright. Non puoi proteggere la tua invenzione dall'essere clonata dopo che i diritti di PI sono finiti. Qualcuno ha inventato la matita con una gomma e aveva il diritto di venderla esclusivamente per molti anni, ma chiunque può produrre una matita con una gomma ora perché l'IP si è esaurito molto tempo fa.

Direi che la migliore arma contro la clonazione commerciale è di gran lunga la legge sulla proprietà intellettuale. Archivia i brevetti e assicurati che il tuo software abbia i diritti di copyright appropriati applicati nei vari distretti. Contatta un buon avvocato IP. Diventerà davvero un problema se il tuo prodotto avrà successo, quindi avrai i soldi per pagare gli avvocati per combattere qualsiasi violazione IP.

    
risposta data 02.09.2015 - 20:06
fonte

Leggi altre domande sui tag