Hace tiempo nos buscaron para revisar un proyecto el cual llevaban bastante tiempo “Programando” y nada más no veían avances, decidimos agendar una reunión con el dueño del negocio para platicar de las problemáticas que se presentaban, retos y cual era el resultado que querían obtener de dicha aplicación, después de una platica con el y su equipo, nos presentaron a la persona encargada del proyecto platicamos de los avances que llevaba, el estatus del proyecto, entre otras cosas, firmamos el NDA (cosa que nunca habían hecho pero les sugerimos que siempre debían de firmar uno por seguridad) y nos dio acceso al código fuente, base de datos y acceso al servidor, nos dimos a la tarea de revisar por completo el proyecto y nos dimos cuenta de varias cosas:
- Levaban años de desarrollo y no estaba ni a un veinte por ciento el proyecto.
- El código parecía haberse bajado de internet.
- El código no tenia una estructura adecuada.
- Muchas funciones estaban incompletas.
- Las funciones que había no tenia manejo de excepciones y no permitía continuar cuando daban error.
- La base de datos no estaba normalizada.
- Las contraseñas en la tabla de usuarios no estaban encriptadas.
Y así la lista continuaba… todos los puntos eran relevantes pero principalmente dos nos causaban bastante ruido, uno era que porque después de años de desarrollo no estaba lista la aplicación ni siquiera en una fase de pruebas y dos que las contraseñas no estuvieran cifradas, platicando con dicha persona encargada del proyecto nos comento que no estaban cifradas porque eran de prueba y según el iba hacer ese cambio junto con todos los demás que tenia pendientes.
Días después de esa plática me puse a pensar en todas esas ocasiones en que damos nuestra información sin pensar lo que pueden hacer con ella, y que en ocaciones (como el proyecto comentado) a la persona que le damos nuestra información no lleva las medidas necesarias para tener un buen manejo de información, ocasionando que se usen maliciosamente para fraudes, suplantación de identidad, extorsiones, operaciones no reconocidas y más problemas que nos pueden ocasionar.
Por tal motivo nos dimos a la tarea de listar una serie de recomendaciones que se deben llevar acabo en todo el proceso del desarrollo de una aplicación.
1.- Al buscar una empresa o desarrollador para una aplicación: Como es el primer paso muchas veces no le tomamos importancia al mostrarle nuestra información a personas ajenas a nuestra empresa lo cual es un grave error ya que la persona que esta viendo esa información puede usarla para fines maliciosos, es por ello que antes de mostrar cualquier información se debe de firmar un NDA o Acuerdo de Confidencialidad en el cual se especifique que cualquier uso indebido de la información proporcionada se procederá legalmente.
2.- En el proceso de desarrollo: La empresa que se encargue de desarrollar la aplicación deberá de llevar acabo los protocolos necesarios para llevar una privacidad adecuada dentro de sus instalaciones, ya sea desde la firma de un NDA interno con sus colaboradores, así como la encriptación en datos sensibles, protocolos de seguridad, niveles de usuarios, funcionalidades especificas por usuario, bloqueo de accesos al ingresar erróneamente la contraseña, verificación de dos pasos, lenguajes de programación estables, validador de contraseñas, entre otros.
3.- En la implementación: Seguridad necesaria dentro del servidor y red, creación de contraseñas de usuarios, lista blanca de aplicaciones, bloque de carpetas de aplicación, contraseñas seguras para servidor y motor de base de datos.
4.- La administración después de la entrega: bitácora de accesos, cambios, movimientos, cambio de contraseñas cada cierto tiempo y una supervisión constante por parte del administrador o administradores del sistema.
Estas y otras medidas se deben de implementar si o si en cada desarrollo con el fin de llevar un mejor control interno y externo del uso de los datos, para evitar sopesas; ademas de eso también debemos leer a detalle el aviso de privacidad no solo de cada aplicación que use o se descargue, si no también en cualquier lado en que demos nuestros datos ya sea un banco, una tienda u cualquier otro establecimiento o servicio que contratemos, con el objetivo de estar consientes de que harán con nuestra información, evitar problemas o proceder legalmente en caso de ser necesario.