¿Qué debo hacer para proteger mi aplicación de iOS de los hacks, etc.?

Como se menciona en uno de los comentarios anteriores, la seguridad no puede ser absoluta, pero se puede controlar. Definitivamente si! Se puede hacer mucho para asegurar su aplicación iOS.

En Appknox , alentamos a las empresas / propietarios de aplicaciones a ser proactivos hacia la seguridad y, por lo tanto, también ofrecemos un análisis de seguridad gratuito de las aplicaciones móviles. Si te preocupa la seguridad de tu aplicación, pruébalo- http://try.appknox.com/free-mobile-app-security-scan-quora/

También he compilado una exhaustiva lista de verificación de seguridad en una de mis publicaciones de blog a la que puede referirse y a continuación hay algunos puntos de la publicación:

Recopilación de información

  • Observe el comportamiento de la aplicación, los estados de datos y la sensibilidad.
  • Identificar: métodos de acceso, qué marcos están en uso, API del lado del servidor que están en uso, qué protocolos están en uso, otras aplicaciones o servicios con los que interactúa la aplicación
  • Localice el PIE (ejecutable independiente de la posición): una aplicación compilada sin PIE (utilizando el indicador “–fPIE –pie”) cargará el ejecutable en una dirección fija. Verifique esto usando el comando: otool –hv

Uso de privilegios

  • Reduzca los privilegios siempre que sea posible.
  • Use privilegios elevados con moderación, y solo en ayudantes privilegiados. Si debe ejecutar código con privilegios elevados, estas son algunas reglas:
  • Nunca ejecute su proceso principal como un usuario diferente. En su lugar, cree una herramienta auxiliar separada que se ejecute con privilegios elevados

Autenticación entre Cliente-Servidor

  • No almacene, valide ni modifique las contraseñas usted mismo. Es una idea terrible almacenar, validar o modificar las contraseñas usted mismo. OS X e iOS proporcionan instalaciones seguras para ese propósito y garantizarán una mayor seguridad.
  • Realice siempre la autenticación del servidor aunque sea opcional en los protocolos SSL / TLS. De lo contrario, un atacante podría suplantar su servidor, dañando a sus usuarios y dañando su reputación en el proceso.

Lea la publicación completa aquí: la lista de verificación de seguridad definitiva al iniciar su aplicación iOS

Hay muchos tipos de hacks por atacante, hacker y cracker. Intentarán desbloquear su aplicación, tratarán de rastrear la información de los usuarios finales que utilizan su aplicación para robar su información de credenciales. Por lo tanto, debe tener cuidado con los siguientes ajustes:
-Descompilación de la aplicación: al utilizar alguna herramienta para crear un archivo de volcado, el atacante puede ver todas sus clases, métodos y funciones.
-Desmontaje y binario inverso: todo el código se tradujo del compilador a datos binarios que se almacenan en la memoria. Al aprovechar esta ubicación de memoria, el atacante puede desmontarla para obtener datos.
-Penetración de red: mediante el uso de varias herramientas. el atacante puede ver y descifrar sus datos json que se envían desde el servidor. Con estas cosas, pueden encontrar vulnerabilidades en su aplicación.

“Seguro” es un término tan absoluto. No puedes hacer nada realmente seguro, porque no puedes controlarlo todo.

Sin embargo, puede dificultar a los hackers:
Limite la entrada del usuario y, si la necesita, contrólela (validación de entrada).

Otras circunstancias dependen de Apple, que posee el entorno total: sistemas operativos, hardware, etc. Y estoy seguro de que Apple hace todo lo posible para crear un entorno seguro. Mucho más que Microsoft, porque Microsoft no tiene control sobre el hardware.

Creo que Apple cree que Apple negó recientemente las aplicaciones de protección contra spam / virus en AppStore para dispositivos iOS.

En resumen: no puedes hacer mucho. Como persona que trabajó en ambos lados de la piratería, puedo asegurarle que no puede hacer un software 100% “a prueba de piratería”. Cualquier cosa puede ser hackeada, cualquier proceso puede ser emulado, cualquier acceso a cualquier recurso puede ser rastreado, estudiado, simulado, etc. La defensa contra la piratería es siempre una: hacer que la piratería sea lo suficientemente difícil como para que el hacker simplemente no sea factible dedicarle tiempo. Por lo tanto, primero debe estimar el valor de su aplicación y luego decidir cuánto esfuerzo desea invertir en protección.

El segundo problema es: entorno controlado por Apple. Realmente no puede implementar muchas de las técnicas de protección en su aplicación. Apple simplemente no permitirá que dicha aplicación en la tienda de aplicaciones. Al comienzo de la era del iPhone, me molesté mucho cuando vi por primera vez mis aplicaciones disponibles en los sitios de hackers. Implementé verificaciones simples para ver si el programa está pirateado y luego simplemente mostré anuncios al usuario. Al menos podría ganar algo de dinero. En pocos días vi una nueva versión pirateada disponible. Se imaginaron toda mi protección bastante rápido. Implementé más protección: fue pirateado en una semana. Finalmente, Apple comenzó a rechazar mis actualizaciones, porque comencé a cifrar el código ejecutable, a verificar el sistema de archivos fuera del entorno limitado, etc.

Finalmente me rendí. No valió la pena mi tiempo y esfuerzo. El software pirateado podría ejecutarse en dispositivos con jailbreak solo de todos modos, y eran una pequeña sección del mercado.

Al igual que cualquier otra aplicación, comience por no confiar en los usuarios y validar todas sus entradas

Luego proteja cualquier operación del sistema de archivos.

Y no olvide proteger el servidor (suponiendo que envíe datos a un servidor en alguna parte). El proyecto owasp tiene grandes recursos para esto