3 puntos por GN⁺ 2024-11-18 | 1 comentarios | Compartir por WhatsApp
  • iOS 18 introdujo una nueva función de seguridad de reinicio por inactividad: "reinicio automático si no se desbloquea durante 3 días"
  • Introducir el código por primera vez al encender un iPhone y volver a introducirlo más tarde para desbloquearlo son cosas muy distintas
  • Cuando se introduce el código al iniciar el iPhone por primera vez, se abre el almacén de claves del Secure Enclave Processor (SEP), que cifra los datos del iPhone
    • En el estado Before First Unlock (BFU), los datos del usuario están cifrados y Face ID y Touch ID no funcionan, por lo que es necesario introducir el código. Como la contraseña de Wi‑Fi está cifrada, no es posible conectarse a Wi‑Fi, pero sí a la red celular si la SIM no está protegida con PIN. No se muestran vistas previas del contenido de las notificaciones.
    • En el estado After First Unlock (AFU), los datos del usuario quedan descifrados. Como el almacén de claves permanece abierto mientras iOS está en ejecución, es posible conectarse a Wi‑Fi y ver vistas previas de notificaciones de mensajes. Sin embargo, este estado es más vulnerable a ataques.
  • Debilidad de seguridad del estado AFU: si un atacante logra saltarse la pantalla de bloqueo, puede acceder a los datos ya descifrados. Con acceso físico, también aumenta la posibilidad de explotar vulnerabilidades mediante USB, Wi‑Fi, Bluetooth o ataques de hardware

Rumores sobre el reinicio del iPhone

  • Las agencias de aplicación de la ley mantienen el iPhone aislado de internet para obtener datos forenses importantes mientras está en estado AFU.
  • En iOS 18 circuló el rumor de que el iPhone se reinicia incluso estando completamente aislado de redes inalámbricas
  • También se afirmó que un iPhone con iOS 18 podía indicar por vía inalámbrica a un iPhone con una versión más baja de iOS que se reiniciara, aunque técnicamente eso parece poco probable

Descubrimiento de la función de reinicio por inactividad

  • Apple suele dejar pistas mediante cadenas de depuración cuando añade funciones nuevas
    • Desde iOS 18.1 apareció la cadena inactivity_reboot. En iOS 18.2 cambió a inactivity_reboot_enabled
  • Las pruebas confirmaron que se produce un reinicio por inactividad si no se desbloquea durante 3 días (72 horas)

Ingeniería inversa del reinicio por inactividad

  • El Secure Enclave Processor (SEP) rastrea la hora del último desbloqueo y, si se superan los 3 días, notifica al módulo del kernel AppleSEPKeyStore.
  • El módulo del kernel AppleSEPKeyStore notifica al espacio de usuario para que inicie el reinicio. SpringBoard cierra de forma segura todos los procesos del espacio de usuario.
  • Después del reinicio, keybagd lee la variable de NVRAM "aks-inactivity" y, si está configurada, envía un evento analítico a Apple.
  • Si el reinicio falla, se produce un kernel panic

Ingeniería inversa del Secure Enclave Processor

  • El SEP es uno de los secretos mejor protegidos de Apple y su firmware está cifrado.
  • El firmware del SEP está compuesto por varias apps, y la app relacionada con SEPKeyStore se llama "sks".
  • Si se superan los 3 días (72 horas), el SEP genera un mensaje y lo envía a la extensión de kernel SEPKeyStore.

¿Es una medida dirigida solo a la policía?

  • Mejora de seguridad: aunque los medios informaron que esta función parecía estar dirigida principalmente a las agencias de aplicación de la ley, también representa una gran mejora de seguridad en términos de prevención de robos.
    • Equipos antiguos usados por las fuerzas del orden suelen venderse baratos en plataformas como eBay, y esto reduce los casos en que ladrones los usan para acceder a los datos de un iPhone.
    • En la práctica, es difícil que los ladrones consigan herramientas de hackeo de última generación o los recursos necesarios para desbloquear el dispositivo en menos de 3 días.
  • Importancia de actualizar el dispositivo: mantener la versión más reciente de iOS es muy importante para proteger de forma segura los datos personales.
  • Necesidad de adaptación por parte de las agencias de aplicación de la ley:
    • Estas agencias tendrán que ajustar sus procedimientos de extracción de datos para completarlos dentro de 3 días.
    • Algunos fabricantes de herramientas forenses ya anunciaron que pueden coordinar procedimientos de extracción de datos dentro de 24 horas.
    • Esto demuestra la limitación de que los datos solo pueden extraerse en estado AFU.
  • Asimetría de la amenaza de seguridad:
    • Para los ladrones, esta función actúa en la práctica como una barrera de seguridad importante al volver muy difícil obtener datos.
    • En cambio, las agencias de aplicación de la ley cargan con la presión de simplificar procesos y responder más rápido.

Puntos clave

  • No está relacionado con la actividad inalámbrica:
    • Esta función no tiene relación con la actividad de redes inalámbricas.
    • La afirmación en documentos policiales sobre un "reinicio causado por comunicación inalámbrica entre dispositivos" es difícil de creer.
    • Es más probable que los reinicios en dispositivos anteriores a iOS 18 se debieran a errores de software.
  • El papel del SEP:
    • La medición del tiempo de inactividad y el disparador del reinicio se realizan en el SEP.
    • El SEP se comunica con la extensión de kernel SEPKeyStore para ejecutar la orden de reinicio.
    • Es muy probable que la manipulación externa del tiempo a través de internet o de la red celular no afecte el temporizador de 3 días.
  • Una función de seguridad sólida:
    • Para impedir el reinicio por inactividad, un atacante necesitaría permisos de ejecución de código a nivel kernel.
    • Aunque un analista forense pudiera retrasar el reinicio para extraer datos, el hackeo inicial tendría que lograrse dentro de 3 días.
  • Cambio en el panorama de amenazas:
    • Presenta nuevos desafíos tanto para ladrones como para analistas forenses.
    • En la práctica, bloquea para los ladrones el acceso a cuentas bancarias y otros datos sensibles almacenados en el iPhone.
    • Las agencias de aplicación de la ley quedan bajo presión para actuar más rápido si quieren acceder a los datos.

1 comentarios

 
GN⁺ 2024-11-18
Comentarios de Hacker News
  • En estado AFU, los datos del usuario se descifran. Los desarrolladores pueden elegir varias claves para proteger los datos. Apple usa claves específicas para proteger información sensible, como los datos de salud del usuario

    • La información sobre las clases de protección de datos de Apple puede consultarse aquí
  • Se plantea la duda de por qué se hace tanto énfasis en la parte de no estar conectado a una red. GrapheneOS ya ofrece una función de reinicio automático después de cierto tiempo, y esto es eficaz para evitar filtraciones de datos

  • Se plantean dos preguntas:

      1. Si un iPhone bloqueado se reinicia obligatoriamente cada 3 días, podría causar problemas en casos de uso legítimos
      1. Si el artículo es correcto, se reinicia para volver al estado "Before First Unlock" por seguridad. Surge la duda de por qué no se puede cambiar a ese estado sin reiniciar
    • Pregunta extra: los teléfonos Android piden la contraseña, como después de reiniciarse, cuando no detectan movimiento durante varias horas. Hay curiosidad sobre si eso es diferente del estado "Before First Unlock" del iPhone
  • Surge la duda de por qué Apple cifra el firmware del SEP. Si no es esencial para el modelo de seguridad, podría ser para proteger su propiedad intelectual

  • Es un gran artículo que muestra cómo Apple va por delante en seguridad de dispositivos

  • Se mencionó la posibilidad de que iOS 18 indique por vía inalámbrica a otros teléfonos que se reinicien, pero parece que después ya no se volvió a tocar el tema

  • Hay una opinión de que es similar al modo de desbloqueo BFU y AFU de AOSP

  • Se sospecha que esto debe estar gestionado por el Secure Enclave. Eso haría que fuera muy difícil desactivarlo incluso si iOS estuviera completamente comprometido

  • Se pregunta por qué se fijó un tiempo específico de 3 días y por qué no se usa un retraso configurable por el usuario

  • Gracias por el gran artículo; es un análisis excelente