Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

iOS

iOS01. Prevención de fugas de datos sensibles

Use los siguientes métodos para gestionar datos sensibles en el ciclo de vida de la aplicación:

  • applicationWillResignActive: Borre la pantalla y cifre cualquier dato sensible mostrado. Para limpiar la pantalla, puede ocultar el contenido mostrado usando el siguiente código:

UIApplication.shared.keyWindow.hidden = true
  • applicationDidBecomeActive: Para mostrar y descifrar datos sensibles.

  • UIScreenCapturedDidChangeNotification: Detecte la grabación de pantalla. Borre la pantalla y cifre cualquier dato sensible.

iOS02. Eliminar símbolos de la salida de Xcode

La aplicación debe eliminar todos los símbolos del binario de la versión final.

Se recomienda establecer las siguientes opciones en el proyecto de Xcode para eliminar información de depuración y otros símbolos:

DEPLOYMENT_POSTPROCESSING = YES
GCC_GENERATE_DEBUGGING_SYMBOLS = NO
STRIP_INSTALLED_PRODUCT = YES
STRIP_STYLE = all
COPY_PHASE_STRIP = YES

iOS03. Gestionar datos sensibles en Swift

La aplicación debe asegurar que los datos sensibles se gestionen correctamente. En Swift, Data es un tipo por valor. Asignar referencias adicionales puede crear nuevas copias de los bytes asignados.

Minimice estos patrones para reducir el número de bytes sensibles asignados.

Pase los bytes asignados como un inout argumento para pasar por referencia y borrarlo después de su uso.

El siguiente fragmento de código demuestra cómo pasar los bytes asignados como un inout argumento:

El siguiente fragmento de código demuestra cómo borrar una Data variable:

iOS04. Deshabilitar la caché de autocorrección para entradas sensibles

La aplicación debe deshabilitar la caché de autocorrección para entradas que soliciten datos sensibles. Esto evita que un atacante con acceso al dispositivo utilice las cadenas sugeridas de autocompletar para ver los datos de entrada de texto sensibles.

La aplicación puede realizar una de las siguientes acciones para deshabilitar la caché de autocorrección:

  • Establezca el secureTextEntry campo en true.

  • Establezca el autoCorrectionType campo en UITextAutocorrectionType.no.

iOS05. Deshabilitar copiar y pegar para datos sensibles

La aplicación debe deshabilitar el menú de copiar/pegar para datos sensibles. Esto evita que un atacante con acceso al dispositivo pegue y vea los datos copiados. El siguiente código de ejemplo deshabilita el menú de copiar/pegar:

iOS06. Gestionar versiones de la aplicación en App Store

Los usuarios finales pueden volver a descargar versiones anteriores de la aplicación que ya compraron o instalaron. Esto permite su uso en dispositivos más antiguos que pueden no ser compatibles con la versión actual de su aplicación. Si no desea poner estas versiones a disposición, gestione la disponibilidad de versiones anteriores en la sección Derechos y precios del módulo Administrar sus apps en App Store Connect.

Para más detalles, consulte AppStore Connect.

Desde el punto de vista de seguridad, mantenga las superficies de ataque lo más pequeñas posible. Mantener versiones antiguas aumenta el alcance. También puede exponer la solución a firmware antiguo con debilidades conocidas. Prefiera hacer disponible solo una versión (la más reciente) a la vez. Amplíe la cobertura de dispositivos configurando las opciones de compilación para soportar un mayor rango de versiones de iOS.

Desactive la “Disponibilidad para Mac con Apple Silicon” de la app en App Store Connect

Ejecutar una aplicación iOS en un Mac M1 es mucho menos seguro porque es más fácil acceder tanto al binario de la aplicación como a los datos del sandbox.

Desactive la “Disponibilidad para Mac con Apple Silicon” de la app en App Store Connect para evitar la instalación en Macs con Apple silicon y reducir el riesgo.

Para más detalles, vea el documento de Apple.

iOS07. Prevenir la manipulación de la aplicación

Para evitar que se pirateé el código de la aplicación, se recomienda verificar la integridad del binario de la aplicación en tiempo de ejecución. Esto se puede implementar en la aplicación calculando la suma de comprobación de la sección __text del segmento __TEXT.

Para detalles de implementación, consulte enlace de github. Se requiere una fuerte ofuscación para proteger el código que calcula la suma de comprobación.

Para los riesgos asociados con ataques de manipulación, consulte OWASP.

iOS08. Opciones de seguridad y ofuscación del compilador de Xcode

Use opciones de Xcode que aumenten la seguridad y hagan el desensamblado más complejo.

Se recomienda establecer las siguientes opciones en el proyecto de Xcode:

Última actualización

¿Te fue útil?