Factores en la seguridad de la aplicación y los datos de la nube
Con cantidades cada vez mayores de datos valiosos almacenados en la nube, es más importante que estén protegidos de manera robusta. Las fuertes medidas de seguridad en torno a los servicios de datos en la nube como iCloud benefician a todos: usuarios finales, proveedores de servicios en la nube como Apple y plataformas de ecosistemas como Reincubate.
Los mecanismos para proteger estos datos toman varias formas, y el historial de implementación de Apple ha sido bueno. Este artículo examina una serie de técnicas que ellos y el equipo de Reincubate han estado utilizando.
Almacene menos - si es posible
En primer lugar, almacenar menos en lugar de más da sus frutos. Hay ejemplos de esto donde los datos nunca se han almacenado en iCloud, como cuando los datos de reconocimiento facial de las fotos no se almacenan en la biblioteca de fotos de iCloud, sino que se almacenan en caché localmente. Los artefactos de datos de HealthKit, HomeKit y TouchID de Apple se tratan de manera similar, al igual que los datos de reconocimiento facial de la pantalla de bloqueo de Android. Por supuesto, esto es a menudo un compromiso de conveniencia y el valor de sincronizar esos datos entre dispositivos. Algunos sistemas utilizan un enfoque parcial. Por ejemplo, iMessage almacena una cantidad limitada de contenido en la nube, pero se basa en que otros datos se sincronizan directamente entre los dispositivos.
Los sistemas de mensajería segura como Telegram o WhatsApp adoptan un enfoque completamente diferente. Debido a que no se almacenan datos (o, al menos, no muchos) en sus servidores, se debe incluir un amplio conjunto de datos en cualquier copia de seguridad de un dispositivo para que un usuario pueda realizar copias de seguridad y restaurar de manera significativa. En cierto modo, para mantener la seguridad, los proveedores de aplicaciones se están lavando las manos de la administración de esos datos y dejándoselos al usuario final, que puede elegir hacer una copia de seguridad de sus dispositivos localmente o en la nube.
Por lo tanto, hay dos extremos, y uno puede contrastar WhatsApp, con poco en la nube y todo en la copia de seguridad, con Facebook Messenger, que no almacena nada en una copia de seguridad del dispositivo porque está disponible en la nube y debe estar disponible para Facebook para proporcionar su interfaz web.
No hay una solución correcta aquí, pero vale la pena pensar en: el uso de una aplicación que contenga estos datos requiere que el proveedor de la aplicación la administre de forma segura, a menudo los usuarios no saben qué se almacena y cómo se almacena. El uso de una aplicación que no almacena datos de manera central significa que el usuario final debe asumir la responsabilidad de la seguridad de sus propios datos de respaldo, a menos que dejen que se almacene en la nube de su plataforma, como es el caso de iCloud Backups y el Android de Google. 7.0+ copias de seguridad del dispositivo.
Curiosamente, como en el cuadro a continuación, algunos creadores de aplicaciones ocupan ambos extremos de esta posición. La aplicación Snapchat almacena casi todos sus datos en la nube, mientras que la extensión física de la aplicación - Spectacles - almacena todos sus datos localmente en el dispositivo.
Si bien no se implementa ampliamente, los Snapchat Spectacles son bastante inseguros: al mantener presionado el botón "snap" durante siete segundos, un pirata informático puede asociarlos a un teléfono nuevo y obtener cualquiera de las instantáneas sin cifrar que el legítimo propietario almacenó en ellas. Esto está en marcado contraste con los principios de seguridad adoptados para el Apple Watch.
Cifrado fuerte
Eso nos lleva a la segunda técnica crítica: cifrado fuerte , idealmente con almacenamiento incompleto de las claves. Si los datos se consideran demasiado confidenciales para ser respaldados de una manera a la que se puede acceder en caso de destrucción o reemplazo de un dispositivo, existen otras técnicas que se pueden usar. Al requerir el uso de un dispositivo específico, la función " Conversaciones secretas " de Facebook hace uso de identificadores de hardware para cifrar el contenido. Si el dispositivo se pierde, el contenido se vuelve prácticamente irrecuperable.
Algunos sistemas emplean una técnica similar en la que se puede crear un token específico del dispositivo para garantizar que solo un número limitado de dispositivos puedan acceder al contenido a la vez. Snapchat y WhatsApp utilizan una variación de esto. Al iniciar sesión en Snapchat en un dispositivo, se crea un token y se comparte entre los servidores de Snapchat y el dispositivo. Si el mismo usuario inicia sesión en un dispositivo diferente, se creará un token nuevo, reemplazando lo que estaba en la nube antes, y obligando al primer dispositivo a cerrar sesión ya que no podría descifrar ningún mensaje entrante. Existe una vulnerabilidad obvia a esta técnica cuando se usa en sistemas inseguros, y es que el token se puede copiar y usar en otro lugar. Si se necesitaba un argumento sobre por qué usar un dispositivo Android con Android o jailbreak rooteado es una idea terrible, este es el motivo, y también explica por qué es poco probable que haya un cliente web para Snapchat en un futuro próximo.
Si bien una cosa es perder potencialmente los mensajes secretos de Facebook, algunos datos son altamente sensibles y muy valiosos para su propietario. Parece contraintuitivo, pero si el valor personal si los datos son lo suficientemente grandes, a menudo se almacena de tal manera que hay muchas formas posibles de descifrarlos o recuperarlos. Esto cambia la seguridad con la impracticabilidad reducida. Por ejemplo, hay una gran cantidad de datos asociados con las cuentas de iCloud y Google, que incluyen, en ambos casos, alguna forma de llavero distribuido en la nube, que almacena todas las contraseñas de los usuarios. No solo eso, sino que la promoción de Google de sus cuentas como un mecanismo de autenticación en otros sitios con OAuth significa que perder el acceso de manera irrecuperable a cuentas como estas sería una píldora amarga de tragar.
Dado que estas cuentas se consideran demasiado valiosas para arriesgar fácilmente su pérdida permanente, se utiliza una solución intermedia donde los datos se almacenan en la nube, pero se encriptan con un token o contraseña que solo el usuario guarda y que no se almacena. Esta es la razón por la que, por ejemplo, al iniciar sesión en una instalación nueva del navegador Chrome de Google, las contraseñas almacenadas en la nube no estarán disponibles hasta que se ingrese una contraseña de sincronización secundaria en el navegador.
Compartiendo la carga de cifrado
Tim Cook de Apple, quien es serio y fundamentalmente en lo que respecta a la seguridad, confirmó su creencia en esta técnica solo el año pasado:
Durante muchos años, hemos utilizado el cifrado para proteger los datos personales de nuestros clientes porque creemos que es la única forma de mantener segura su información. Incluso hemos puesto esos datos fuera de nuestro alcance, porque creemos que los contenidos de su iPhone no son asunto nuestro.
- Tim Cook en " Un mensaje para nuestros clientes "
Aparte de todo lo demás, esto puede ayudar a los proveedores de la nube a evitar la divulgación de datos completos de los usuarios a los actores gubernamentales. Si están obligados a proporcionarlos mediante una orden, pueden hacerlo sin exponer directamente los datos de un usuario, ya que los datos requieren un mayor descifrado, lo que solo se puede hacer con una clave que solo tiene el usuario final.
A veces, como en el caso de la autenticación multifactor (MFA), la autenticación de dos factores (2FA) o la verificación de dos pasos (2SV), esto significa que la clave adicional solo puede enviarse o generarse mediante un dispositivo en particular. Los bancos y las VPN a menudo utilizan lectores físicos de tarjetas o generadores de semillas seguros , que son formas de generadores de contraseñas de una sola vez (OTP o TOTP). Tanto Google como Apple ofrecen MFA basados en SMS simples, así como sistemas completos 2FA, con Google utilizando HOTP / OATH y Apple como propiedad exclusiva.
Cuando las agencias de seguridad o de cumplimiento de la ley (LEA) tienen esta información cifrada pero no la clave del usuario final para descifrarla, pueden intentar forzarla mediante el uso de máquinas poderosas para probar la información contra contraseñas automáticamente adivinadas. El iOS de Apple tiene una ventaja masiva sobre el Android de Google aquí: debido a que Apple controla estrechamente el hardware en sus dispositivos, pueden diseñar técnicas de encriptación que solo su hardware puede realizar rápidamente, y que otros dispositivos como computadoras de escritorio funcionan lentamente. Cuando Reincubate se convirtió en la primera compañía en el mundo en apoyar el descifrado de datos de 10.2 , la importancia no era solo que la compañía fuera la primera en comprender cómo funcionaba el 10.2, sino que fuimos los primeros en escalar el descifrado rápido de la técnica inteligente de Apple. Al hacer que cada intento de descifrado demore algunos segundos en el hardware convencional, se volvió impráctico para los piratas informáticos o LEA a la fuerza bruta.
Seguridad a través de la oscuridad
No sería bueno revisar estas técnicas sin cubrir una en la que Apple es particularmente bueno: la seguridad a través de la oscuridad. Al no lanzar API públicas, documentación detallada o incluso comunicar mucho sobre estos sistemas, la empresa puede evitar alertar a los piratas informáticos sobre posibles vectores de ataque. Durante mucho tiempo, el argumento en contra de la oscuridad fue que la divulgación y el código abierto condujeron a mejores resultados de seguridad, pero eso fue antes del descubrimiento en 2014 de que OpenSSL, una biblioteca de seguridad de código abierto crítica que virtualmente todo usa, fue y casi siempre ha sido fundamentalmente inseguro .
Póngase en contacto si desea explorar formas de trabajar con datos de aplicaciones o de la nube, o si está interesado en comprender mejor la dinámica de los diferentes enfoques.