Domanda

Ho un C # WinForm che utilizza SQL 2005 Express. L'applicazione crea matematica e la lettura quiz ed è commercializzato ai genitori di bambini in età scolare. I file genitori acquisto e il download di SQL contenenti i quiz dal mio sito web e installare l'applicazione (che è installato sul computer dei propri figli).

Ho due preoccupazioni di sicurezza di SQL:

(1) Alcuni bambini non vogliono i quiz per apparire sul proprio computer, in modo che possano cercare di (a) eliminare il database SQL o (b) disattivare l'applicazione modificando i valori nel database.

Mi sembra che chiunque con SQL Server Management Studio Express può facilmente cambiare il contenuto del database.

Quindi, cosa si può fare per evitare che questo (altro che raccomandare al genitore che non lasciano i loro figli usano un account amministratore)?

(2) Il mio unico reddito sarà la vendita dei quiz, quindi voglio proteggere questi dati vengano copiati e condivisi. Come posso fare questo dato (a) che i file devono essere scaricati dal mio server al computer del bambino e poi installato e (b) e poi una volta installato, sono solo risiedono sul computer del figlio.

Mi sembra che chiunque con Pubblicazione guidata database SQL può facilmente copiare il contenuto del database.

E 'possibile consentire solo la mia domanda per accedere al database SQL? E 'possibile limitare tutti gli altri di accedervi (persone anche utilizzando gli account di amministratore di Windows)?

Al momento lo script di installazione per la mia applicazione crea una nuova istanza del server SQL 2005 espresso solo per la mia applicazione e utilizza l'autenticazione di Windows.

Ho letto diversi messaggi di sicurezza SQL qui su StackOverflow e altrove, ma io non sono ancora in grado di capire questo.

È stato utile?

Soluzione

Da un punto di hacker wonky di vista, i genitori sono avvitati. Questo è perché i loro figli hanno accesso fisico al computer. In teoria si può attaccare in ogni modo.

Ora, andiamo con ciò che è più probabile.

identificato che non dare l'accesso come amministratore bambini fa una grande differenza. Ma se stai dicendo che è fuori dalla portata della maggior parte delle famiglie, quindi è SQL Management Studio. È possibile effettuare una scommessa che i ragazzi non stanno andando a andare a prendere questo e installarlo.

Tuttavia, alla fine, si sarebbe probabilmente meglio con qualche buon vecchio stile offuscamento. Invece di usare qualcosa di simile a SQL Management Studio, dove ci sono gli strumenti liberamente disponibili là fuori per modificare e prevenire questi quiz da rivelare o qualsiasi altri attacchi sono disponibili, è possibile creare i propri formati di file e la speranza la maggior parte dei ragazzi avrebbero rinunciare quando vedono binario gobbledy-gook.

Se hanno intenzione di rinunciare a questo, molti potrebbero rinunciare a SQL Express. Detto questo, i bambini sono abbastanza risorse e alcuni potrebbero essere disposti a seguire le istruzioni passo passo che ha cercato su Google per sconfiggere il vostro software.

Sembra che si sta distribuendo questi quiz Onto istanze SQL Express che si trovano su macchine non sotto il vostro controllo. Essi non sono più le macchine.

Non voglio dire "non si può fare quello che chiedete", ma si sta chiedendo come evitare che qualcuno di utilizzare strumenti di amministrazione per sconfiggere il tuo software. Credo che la mia risposta è "non si può". È necessario riesaminare il vostro disegno o semplicemente andare con l'idea che la maggior parte dei bambini non andare così lontano.

Altri suggerimenti

Si potrebbe utilizzare la crittografia dei dati sul quiz.

cifrare e decifrare una stringa

Il difetto in questo è l'applicazione dovrebbe avere la chiave di cifratura / decifratura nel suo codice, in modo che qualcuno potrebbe ancora ottenere l'accesso ad esso attraverso uno strumento di ricompilazione o qualcosa di simile riflettore.

La vera risposta è che proteggere la vostra applicazione per tutto ciò che è quasi impossibile. Basta pensare alle grandi aziende e le loro tecniche di protezione, Microsoft, Adobe, ecc ... tutti hanno un problema con la pirateria.

Inoltre, se l'applicazione è abbastanza buono per un sacco di gente a pirata, è molto probabile che un buon numero di vendite legali.

Fino ad allora, io non ti preoccupare troppo, e basta prendere alcune piccole precauzioni che non interferiscono con il flusso di lavoro troppo.

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