Bloqueo del acceso a la base de datos remota desde una aplicación que se puede descargar libremente (que accede a la base de datos)

1

Si deseo publicar un software que necesite interactuar directamente con una base de datos remota, tendré que poner en el software todas las credenciales y la lógica necesarias para tener acceso desde el propio programa. (No se requiere identificación del usuario ya que sería una aplicación pública y no servidores intermedios)

Con ese software alrededor "en la naturaleza", con más o menos dificultad alguien puede piratearlo y encontrar el procedimiento para acceder a la base de datos con los mismos derechos.

Más específico, la aplicación podría ser un juego simple y gratuito para dispositivos móviles con puntaje y logros en la base de datos remota.

¿Cuál es una estrategia general razonable en torno a esto desde un punto de vista de seguridad (si tiene algún sentido ir por este camino? Probablemente esta pregunta es tan básica que no puedo encontrar una solución)

    
pregunta Joan 20.05.2015 - 15:49
fuente

1 respuesta

2

Desde un punto de vista de seguridad, debe limitar la superficie de ataque que está exponiendo. Como con la mayoría de las funciones de seguridad, debe usar la defensa en profundidad y tener varias características de seguridad como:

  • Una API basada en web (como REST con JSON), siendo servidor a través de una conexión TLS.
  • El límite permite valores a un conjunto pequeño. (puntuación alta es solo números entre 0 y 999999 por ejemplo)
  • Utilice certificados del lado del cliente para limitar el abuso a través de medios simples. (Un atacante de deterioro todavía puede, por supuesto)
  • Use nonce en su API para evitar los ataques de reproducción.

Probablemente hay más, pero esto debería darle una idea.

    
respondido por el LvB 20.05.2015 - 16:07
fuente

Lea otras preguntas en las etiquetas