¿Cómo puedo proteger mi aplicación iOS contra herramientas como iFunbox?

Tengo una aplicación iOS en la que descargo archivos al almacenamiento local. He hecho lo siguiente para mantener seguros estos archivos locales: - Almacenarlos fuera de la carpeta de documentos (yo uso la carpeta de la biblioteca) - Usar el cifrado de archivos completo

Pero hoy me encontré con iFunbox. ¡Esta es una herramienta que le permite navegar por el sistema de archivos de su dispositivo iOS sin jailbreak! Lo que noté es que si el dispositivo está desbloqueado, puedo explorar todos los archivos en el sandbox. Afortunadamente, cuando el dispositivo está bloqueado, los archivos se vuelven inaccesibles.

Me preguntaba si hay algo que pueda hacer para proteger aún más estos archivos cuando el dispositivo está desbloqueado. Entonces, ¿cómo puedo proteger mis archivos de herramientas como iFunbox?

preguntado el 10 de septiembre de 12 a las 22:09

Si están encriptados, ¿qué importa si se accede a ellos? El almacenamiento fuera de ~/Documents también es motivo para ser rechazado por Apple. -

Cuando el dispositivo está desbloqueado, se elimina el cifrado y los archivos son completamente accesibles para iFunbox. -

Todavía puede usar el cifrado iOs para cifrar los archivos cifrados por usted, esa es la idea principal. -

@Deddiekoel Si encripta los archivos usted mismo y luego el código de acceso o no, no hay problema. -

4 Respuestas

Las utilidades de exploración de este sistema de archivos solo funcionarán cuando su dispositivo esté desbloqueado, lo que puede hacer para mejorar en gran medida la seguridad es solicitar la protección con código de acceso para los dispositivos que ejecutan la aplicación. Eso podría hacerse para aplicaciones corporativas internas donde los datos son extremadamente valiosos, creo que también debe ser aprobado por Apple.

Para averiguar si el código de acceso está configurado, verificará los atributos de protección de un archivo ficticio creado por usted en el lugar permitido: https://stackoverflow.com/a/6192536/792677

Luego, si el código de acceso no está configurado, puede mostrar la notificación de que la aplicación lo requiere. Estoy seguro de que podría configurar el dispositivo para que requiera ingresar el código de acceso mediante una API privada con la ayuda de los ingenieros de Apple, pero de todos modos sería información privada, ¿verdad?

El consejo general será usar un cifrado fuerte y realizar la verificación del código de acceso que muestre alguna alerta de seguridad que notifique al usuario que sus datos están en peligro si no está configurado.

contestado el 23 de mayo de 17 a las 12:05

Mi aplicación es una aplicación interna y se requiere el código de acceso a través de un perfil. Sin embargo, cuando el código de acceso está 'roto', en mi opinión, todo se vuelve accesible muy fácilmente. Así que estoy buscando una mejor manera de proteger los datos. - Deddiekoel

Eche un vistazo a CCCRypt desarrollador.apple.com/library/ios/#DOCUMENTACIÓN/Sistema/… y cifrado en disco desarrollador.apple.com/library/ios/#documentation/iPhone/… Y es posible que desee obtener más información sobre el borrado remoto, no sé si los dispositivos corporativos a los que enviará la aplicación ya lo admiten. - Viva

Sí, el borrado remoto está habilitado. Entonces, en caso de una infracción conocida, deberíamos estar bien. Sin embargo, si el dispositivo se desconecta, esto tampoco funcionará. - Deddiekoel

Es por eso que le da a los malos solo archivos encriptados y guarda lo menos posible sin encriptar (paquete de configuración, info.plist, incluso puede encriptar cadenas y otros recursos que requerirán más lógica de tiempo de ejecución). Viva

Aparentemente, según el sitio web de iFunbox, ¡esta respuesta es incorrecta! Dice: "La mejor parte de usar iFunBox es que no requiere ningún jailbreak". i-funbox.com/about_us.html - Ravindranath Akila

No hay nada que puedas hacer para detener el acceso de aplicaciones como iFunBox. Están accediendo a cosas en el sistema de archivos de iOS que no tiene nada que ver con su aplicación.

Si sus archivos están encriptados correctamente, eso es todo lo que puede hacer.

FWIW, debe asegurarse de cumplir con el Pautas de almacenamiento de datos cuando almacena documentos en lugares que no sean ~/Documentos, ~/Library/Caches y ~/tmp

Respondido el 10 de Septiembre de 12 a las 22:09

Por favor cite la sección en los términos que así lo especifica. Personalmente, sé que una gran cantidad de aplicaciones almacenan documentos en otros lugares, incluidos Biblioteca y Cachés. De hecho, Apple fomenta esto en muchos casos. Por cierto, eso no significa un desafío, sino un interés genuino. Regresé y hojeé los términos, y no vi eso, así que realmente estaría interesado en eso. ¡Gracias! - jody hagins

Las Directrices de almacenamiento de datos establecen dónde deben ir las cosas. ~/La biblioteca no es uno de los lugares que estipulan. He actualizado la respuesta. - Jessedc

Bien, la respuesta editada se ajusta a mis expectativas (como si eso significara algo). - jody hagins

La segunda respuesta es almacenarlos en la nube.

  • iCloud
  • DropBox
  • Amazon S3
  • Inserte servicio remoto aquí.

Al no almacenar nunca los documentos en el dispositivo, resuelve su problema, sin embargo, puede ser menos seguro en la mente de algunas personas.

Respondido el 10 de Septiembre de 12 a las 22:09

Mi aplicación necesita funcionar sin conexión, por eso almaceno los documentos localmente... Entonces, el almacenamiento en la nube no es una opción para mí. - Deddiekoel

@Deddiekoel eso no se especificó en la pregunta. - Jessedc

Si bien no se dijo en la pregunta que los datos deben almacenarse fuera de línea, ¿no es obvio que tales datos críticos nunca podrían enviarse a servidores de terceros sin toneladas de preparaciones o aprobaciones legales y técnicas? - Viva

@A-Live Lo único que es obvio en este tipo de discusiones es lo que haces obvio. Ninguno de nosotros tiene idea de los requisitos de su solicitud, excepto lo que comparte. Además, recuerde, si bien esta comunidad es un recurso increíble, sigue siendo un lugar donde recibe consejos de casi completos extraños. - jody hagins

@A-Live Todo lo que puedo decir es que si tuviera datos de misión crítica como los que parece tener el OP, no permitiría que los distribuya una aplicación que los asegure con las respuestas proporcionadas por los usuarios de Stack Overflow. - Jessedc

Debe configurar un código de acceso para evitar que el dispositivo se empareje con una computadora. Pero una vez que el dispositivo se ha emparejado, iTunes no tiene forma de desemparejarlo.

Puede eliminar el emparejamiento usando DiskAid 6 (http://www.digidna.net/diskaid)

Mira esto http://support.digidna.net/entries/22584881-About-Wi-Fi-and-Pairing-in-DiskAid-6

Respondido 15 Abr '13, 00:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.