modi sicuri per impedire l'accesso a un'applicazione da più di una persona alla volta?

0

Se un'applicazione è concessa in licenza in modo tale da essere configurata per un utente , su un computer, come posso proteggerlo?

Anche se si blocca su un computer, come si può impedire l'accesso remoto al computer da parte di altri, in modo che solo un utente possa utilizzare l'applicazione alla volta.

Sono curioso di sapere se esiste una precauzione di sicurezza che è possibile includere per impedire alle persone di accedere a un'applicazione più di una volta?

Le mie idee erano

  1. Stavo pensando di testare le proprietà del sistema per le versioni Server di Windows, ecc., ma poi mi sono reso conto che puoi remotare in qualsiasi computer, con una varietà di programmi, quindi è fuori dalla finestra.

2.a Stavo pensando di impostare un flag nella mia applicazione che potrei inviare / ricevere dal server, in modo che l'applicazione non si avvii di nuovo se è già aperta da qualcun altro a causa del fatto che tale flag è vero?

È un problema di sicurezza se mi collego al mio server, con FTP, prima che l'applicazione registri anche un utente?

2.b Dal momento che l'accesso degli utenti è possibile impostare anche questo flag una volta che l'utente esegue l'accesso, in modo che non possano accedere nuovamente? (Penso che questo dovrebbe essere fatto a prescindere, dal momento che un utente dovrebbe accedere solo una volta).

  1. Ho anche pensato di provare a trovare e vedere se l'applicazione è già in esecuzione sulla macchina (come un processo o un'attività, ad esempio, cosa mostra in "Task Manager").

Non sono sicuro quali di queste siano soluzioni valide (dovrei cercare come fare qualcosa di questo), quindi sono curioso di sapere se qualcuno ha un esempio migliore?

Grazie per le informazioni.

    
posta XaolingBao 25.05.2016 - 01:29
fonte

1 risposta

1

secure ways to prevent access to an application by more than one person at a time?

Non esiste un metodo sicuro per impedire agli utenti di eseguire più di un'istanza della tua applicazione sui loro computer se dispongono di una copia della tua applicazione. Se un utente ha una copia della sua domanda, può sempre trovare il modo di sovvertire qualsiasi controllo effettuato.

L'unico modo sicuro per limitare l'accesso dell'utente all'applicazione è di non eseguire l'applicazione nel computer dell'utente. In altre parole, un'applicazione web.

DRM può fare un buon lavoro per impedire agli utenti di utilizzare un'istanza della tua applicazione alla volta per motivi di licenza. Ma cercare di eseguire codice di fiducia in una macchina non affidabile è intrinsecamente insicuro.

DRM è un gioco perdente per sviluppatori e utenti legittimi. Il trasgressore delle licenze troverà sempre un modo per aggirare il DRM e il DRM che spesso trovano i modi per arrecare disagio e allontanare gli utenti legittimi, il che aumenta i costi di supporto.

I was thinking of testing System properties for Server versions of Windows, etc, but then I realized you can remote into any computer, with a variety of programs, so that is out the window.

Un utente illegittimo può sempre modificare qualsiasi file / impostazioni / registro nel proprio computer. Non c'è niente che puoi fare per impedirlo. Sono quelli con il privilegio di amministratore di sistema, non la tua applicazione.

Is it a security issue if I connect to my server, with FTP, before the application even logs a user in?

A meno che la tua applicazione non faccia affidamento sulla connessione di rete come parte, non puoi fare affidamento sulla connessione di rete. Se il tuo utente legittimo non ha una connessione internet a casa sua, la tua applicazione dovrà rifiutarsi di eseguire (inconvenienti legittimi) mentre un utente illegittimo può semplicemente impedire alla tua applicazione di accedere a Internet utilizzando un firewall dell'applicazione.

I also thought about trying to find and see if the application is already running on the machine (as a process or task i.e., what shows in "Task Manager").

Ciò non proteggerebbe dall'esecuzione su macchine diverse o dall'esecuzione dell'applicazione nella macchina virtuale. D'altra parte, gli utenti legittimi potrebbero aver bisogno di eseguire legittimamente più copie dell'applicazione, o la tua applicazione potrebbe essere bloccata come un processo di zombi immortale in background e l'utente legittimo potrebbe trovarsi a dover riavviare il sistema per riavviare nuovamente l'applicazione .

Le restrizioni sulle licenze e il DRM possono solo mantenere oneste le persone oneste.

"La mia vera applicazione non può essere eseguita come applicazione web, perché X, Y e Z. Con il DRM che è inutile, cosa può fare uno sviluppatore di software per proteggere le proprie entrate?"

Se sviluppi una grande applicazione a un prezzo ragionevole, le persone vorranno pagare per questo. Prepara un semplice controllo della licenza che puoi mettere insieme in un paio d'ore o persino liberarti dai DRM, e abbi cura di farlo. Accetta il rischio che ci siano utenti illegittimi e utilizzi le misure legali per attaccare i principali violatori (l'elusione anche di semplici DRM come il controllo stupido delle chiavi di licenza è legalmente protetto in molti paesi). Evita i DRM che fanno cose strane come impiantarsi nel settore MBR / boot o provare a nascondersi da System Administrator come rootkit. È più probabile che causino frustrazioni agli utenti legittimi che non ostacoli gli utenti illegittimi.

    
risposta data 25.05.2016 - 06:12
fonte