Uber Data Breach: cómo evitar que su aplicación sufra incidentes como estos
Publicado: 2017-11-28En 2016, Uber perdió 57 millones de información de usuarios y conductores a manos de piratas informáticos, a quienes luego les pagaron $ 1,00,000 para eliminar los datos.
El incidente salió a la luz hace unos días cuando su CEO, Dara Khosrowshahi, hizo una publicación que arrojaba luz sobre la violación de datos . Y desde entonces, el caso de la seguridad de las aplicaciones se ha convertido en el centro de atención.
Uber no es el primer caso de violación de datos, hay varias ocasiones en las que los datos personales de los usuarios se han visto comprometidos: un evento que ha hecho que las personas desconfíen del uso de aplicaciones móviles que solicitan su información.
Aquí hay una imagen para mostrar la postura de los usuarios de aplicaciones móviles a la luz de las preocupaciones de seguridad de la aplicación:
¿Ves lo espantoso que es?
Sin embargo, puede evitar que su aplicación se convierta en el próximo caso de estudio que advierta a las marcas sobre cómo mejorar la seguridad de sus aplicaciones.
Así es cómo -
1. Proteja su aplicación desde cero
Existe una serie de vulnerabilidades en el código fuente de la aplicación, pero la mayoría de las empresas de aplicaciones se enfocan solo en la parte de la red mientras se enfocan en implementar las mejores prácticas de seguridad de la aplicación móvil . Hay tantos lugares que pueden ser la base de las violaciones de datos: error de codificación, prueba de código, etc.
Estas son las cosas que puede hacer para proteger su aplicación desde el día de su existencia:
- Protege el código de tu aplicación con encriptación. Hay dos formas de hacerlo: minificación y ofuscación, pero no son suficientes. Se recomienda que se apegue a algoritmos bien compatibles que se combinan con el cifrado API.
- Ejecute escaneo de código fuente en sus códigos, con frecuencia
La señal de un código seguro es que permanece seguro incluso después de ser transferido entre sistemas operativos y dispositivos. Crear un código ágil ayuda inmensamente en este frente.
2. Asegure la conexión de red desde el backend
Los servidores en la nube a los que accede la API de su aplicación deben tener las medidas de seguridad adecuadas para evitar el acceso no autorizado y proteger los datos de los usuarios. La verificación de la API debe implementarse de tal manera que no pase información confidencial del cliente a la base de datos de la aplicación o al servidor.
Para que este paso sea un éxito, es imperativo que su proceso de desarrollo de back-end sea sólido .
Aquí se explica cómo proteger la conexión de red.
- Cree contenedores encriptados para almacenar documentos y datos
- Realice una serie de evaluaciones de vulnerabilidad y pruebas de penetración de su red para asegurarse de que los datos estén protegidos.
- Cifre la base de datos y las conexiones con SSL, VPN y TLS para mayor seguridad
- Aplicar federación: la medida que distribuye los recursos entre los servidores para que no estén todos en un solo lugar, al tiempo que separa los recursos clave de los usuarios.
3. Tenga un Proceso de Autenticación, Identificación y Autorización implementado
Aquí se explica cómo hacer que su aplicación sea identificada, autenticada y autorizada
- Asegúrese de que las API que usa su aplicación sean solo las que se necesitan para funcionar y solo den acceso a las partes que están enfocadas, en lugar de a todas las funcionalidades de la aplicación.
- Hay una serie de herramientas y protocolos que puede usar y asegúrese de seguir cuando su aplicación esté en su etapa de desarrollo. Aquí están -
- Token web JSON: la herramienta liviana se usa para encriptar el intercambio de datos, su implementación sin complicaciones la hace ideal para aplicaciones móviles.
- OpenID Connect: es un protocolo que permite a los usuarios reutilizar sus credenciales en diferentes dominios con la ayuda de un token de identificación, para ahorrar tiempo al registrarse y registrarse con la misma información cada vez.
- OAuth2: el protocolo se utiliza para administrar una conexión segura a través de un token específico de usuario único. Al instalar el marco en el servidor de autorización, le permitirá otorgar a sus usuarios permiso entre los usuarios finales y el cliente mediante la recopilación de credenciales, como preguntas de SMS de 2 factores.
4. Haz un conjunto completo de pruebas
A diferencia de una aplicación web, la mayoría de los datos de la aplicación móvil se guardan localmente y, dado que los datos se encuentran en un dispositivo cuyo ancho de banda, rendimiento y calidad varían, el riesgo de que sea pirateado es mucho mayor.
Junto con el factor de inestabilidad en los dispositivos, también hay algunas aplicaciones que tienden a liberar datos sin que los usuarios lo sepan, como su sexo, edad, uso del dispositivo, etc.
Maneras de garantizar que los datos del cliente estén seguros en la aplicación:
- Con la ayuda del cifrado a nivel de archivo, puede proteger los datos archivo por archivo. Es una de las formas de cifrar los datos en reposo para que no se lean cuando se intercepten.
- Herramientas como la plataforma Appcelator garantizan que los datos móviles que se almacenan localmente estén seguros.
La gestión de claves debe ser su prioridad. La base de un algoritmo fuerte es su certificado y claves igualmente fuertes.
5. Estrategia de seguridad de API planificada
Como el desarrollo móvil está estrechamente relacionado con las API, una parte importante de hacer que una aplicación sea segura depende de hacer que su API sea segura. Las API transmiten datos entre las aplicaciones, la nube y entre varios usuarios. Todas las partes involucradas deben estar identificadas y autorizadas para ver y usar los datos. Las API son la piedra angular de la funcionalidad, el contenido y los datos, por lo que asegurarse de que esté protegido puede llevarle un largo camino.
Hay tres etapas en la API de las que deberá ocuparse, a saber: identificación, autenticación y autorización.
Veamos los elementos de los tres a continuación:
Identificación
La primera parte del proceso, los hacks de identificación, se pueden prevenir mediante la implementación de claves API. Estas claves son identificadores únicos aleatorios que eliminan la necesidad de contraseñas.
Si bien puede salvaguardar cuando los datos se ven usando las claves API, no puede decidir que los vea alguien que se suponía que debía verlos.
Autenticación
Es el proceso que garantiza que la información sea vista por alguien que estaba destinado a verla. En esta etapa, establece nombres de usuario y contraseñas para garantizar que el sistema obtenga un nivel adicional de seguridad.
Autorización
Este paso responde a la pregunta: ¿Qué se puede hacer con la API? Los pasos para asegurar este proceso incluyen autorización de 2 factores, tokens y contraseñas de un solo uso.
6. Prueba la aplicación
Independientemente de si su aplicación es híbrida, nativa o web, debe probarse no solo desde el punto de vista de la usabilidad y la funcionalidad, sino también desde la seguridad. Hay una serie de pasos que debe seguir para asegurarse de que su aplicación tenga la calidad garantizada para garantizar que sea segura.
Estas son las formas en que puede asegurarse de que su aplicación sea probada por seguridad:
- Pruebas de penetración: significa probar la red y el sistema para encontrar debilidades.
- Utilice emuladores para probar el rendimiento de la aplicación en un entorno simulado.
- Pruebe los problemas de autorización y autenticación, gestión de sesiones y seguridad de datos en detalle.
Entonces, estas fueron las 6 formas que podría emplear en el proceso de desarrollo de su aplicación para asegurarse de que la suya no sea la que está en el centro de atención.
Asegúrese de incorporar bien a tiempo, mientras tenga tiempo.