Blocco dell'accesso al DB remoto da un'app liberamente scaricabile (che accede al DB)

1

Se voglio pubblicare un software che deve interagire direttamente con un database remoto, dovrò mettere sul software tutte le credenziali e la logica necessarie per avere l'accesso dal programma stesso. (Non è richiesta l'identificazione dell'utente in quanto sarebbe un'app pubblica e nessun server intermedio)

Con quel software in giro "in the wild", con più o meno difficoltà qualcuno può hackerarlo e trovare la procedura per accedere al DB con gli stessi diritti.

Per essere più specifici, l'app potrebbe essere un semplice gioco gratuito per dispositivi mobili con punteggi e risultati nel DB remoto.

Qual è una ragionevole strategia generale su questo da un punto di vista della sicurezza (se ha senso intraprendere questa strada) Probabilmente questa domanda è così semplice che non riesco a trovare una soluzione)

    
posta Joan 20.05.2015 - 15:49
fonte

1 risposta

2

Da un punto di vista della sicurezza è necessario limitare la superficie di attacco che si sta esponendo. Come con la maggior parte delle funzionalità di sicurezza, dovresti utilizzare la difesa in profondità e disporre di diverse funzionalità di sicurezza come:

  • Un'API basata sul Web (come REST con JSON), essendo server su una connessione TLS.
  • Limite consente valori a un piccolo set. (il punteggio migliore è ad esempio solo tra 0 e 999999)
  • Utilizzare i certificati lato client per limitare l'abuso con mezzi semplici. (Un deterrente può ancora attaccare, naturalmente)
  • Utilizza nonce nella tua API per impedire attacchi di riproduzione.

Ci sono probabilmente di più là fuori, ma questo dovrebbe darti un'idea.

    
risposta data 20.05.2015 - 16:07
fonte

Leggi altre domande sui tag