Java - Seguridad en aplicación de escritorio

 
Vista:

Seguridad en aplicación de escritorio

Publicado por Eduardo (1 intervención) el 04/10/2020 07:48:23
Muy buenas, estoy desarrollando una aplicación de escritorio en Java la cual sirve para generar reportes PDF con información que se extrae de una base de datos. Mi pregunta es ¿que debo tomar en cuenta para que mi aplicación sea 100% segura?
La verdad es que en lo que respecta a seguridad tengo muy pocos conocimientos y no se exactamente lo que se tiene que tomar en cuenta o hacer para que una aplicación sea segura. Les agradecería si me pudiesen orientar un poco respecto al tema de seguridad en Java.

Comencé a ver algo sobre OWASP pero no sé si esto tenga que ver con aplicaciones de escritorio.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Seguridad en aplicación de escritorio

Publicado por Costero (148 intervenciones) el 04/10/2020 16:13:08
Hola,

Lo primero que tengo que decir que no hay 100% seguridad. Lo que se puede hacer es elevar lo seguridad lo maximo posible siendo un ataque mas posible que falle.

Ahora las applicaciones escritorios son muy dificil the asegurar especialmente en Java. Porque se puede facilmente enginieria revertir a codigo fuente. Hay algunos trucos para aminorar esto como encrypting el bytecode pero que yo sepa es un dolor de cabeza. Otra tecnica es lo que se llama obfuscar el bytecode. Hay otra tecnica posible que mencionare mas abajo.

Otro problema con applicaciones escritorios es la conecion a la Base de dato. Si esta conecion no es encryptada un ataquer puede ver lo que se esta mandando a la Base de Dato. Algunas bases de datos y jdbc drivers permiten que la conecion se encrypted.

Ahora una forma de aminorar los problemas de arriba es not conectar la aplicacion escritorio directamente a la base de dato, sino a un servidor y este se connecta a la base de dato (similar a una aplicacion web).

Esto permitiria que:
El codigo de escritorio es muy ligero, solo manda parametors al servidor. Que importa que miren el codigo source solo crea ventanas y manda parametors.

El servidor correria detras de una pared de fuego. Los parameteros que llegan serian chequeados antes de mandar a la base de dato. Como por ejemplo chequear contra overflow, sql injection, etc.

La encrypcion a la base de dato sique siendo importante pero ya menos urgente

Tendrias Logging y monitoreo en un solo lugar.

Si encuentras bugs o arreglaste un hoyo de segurida en el servidor, los clientes ni se enteran

OWASP si es relevante para las partes que te sirven. Por ejemplo Cross site scripting no tendria ningun sentido ya que no es una applicacion web. Pero repito OWASP si es relevante.

Y claro tienes que crear Autenticacion y Authorizacion de los usuarios.

Por ultimo si puedes algun amigo(a) que te pueda ayudar a hackear tu aplicacion para encontrar posibles vulnerabilidades que hay que cerrar seria mejor.

Bueno eso lo poquito que se de esto.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar