Hogar Vigilancia de seguridad Apple expone detalles de seguridad de ios

Apple expone detalles de seguridad de ios

Video: Cómo hacer CORRECTAMENTE una Copia de Seguridad en iPhone, iPad y iPod Touch (Noviembre 2024)

Video: Cómo hacer CORRECTAMENTE una Copia de Seguridad en iPhone, iPad y iPod Touch (Noviembre 2024)
Anonim

Ya has escuchado que Apple anunció un nuevo programa de recompensas de errores en la reciente conferencia de Black Hat. En una apariencia inusual, Ivan Krstic, jefe de ingeniería y arquitectura de seguridad de Apple, hizo el anuncio. Pero eso fue solo los últimos 10 minutos de una presentación de 50 minutos. Durante los primeros 40 minutos, Krstic realizó una inmersión profunda sin precedentes en tres componentes de seguridad de iOS. Y por profundo me refiero a batisférico.

Mi conclusión general fue una sensación de asombro por cuán exhaustivamente estos sistemas protegen los datos del usuario, incluso de Apple. Trataré de transmitir lo que se dijo, sin ponerme demasiado técnico.

Mapeo JIT de WebKit endurecido

Lo siento, así se llama. JIT significa Just In Time, y se refiere a la forma en que se compila el código Javascript justo a tiempo para su ejecución. "Esto es necesario para JavaScript de alto rendimiento", explicó Krstic. "Pero la política de firma de código tiene que ser relajada. El compilador JIT emite código nuevo y sin firmar. Un atacante que maneje un ataque de escritura en cualquier lugar podría permitir la ejecución de código arbitrario".

Para un poco de historia, las áreas de memoria se pueden marcar con permisos de lectura, escritura y ejecución. Esa distinción, introducida hace años, eliminó los ataques que ejecutaban código en áreas dedicadas a datos. Brevemente, la solución de Apple implica una técnica que coloca el JavaScript compilado en un área de memoria que solo permite la ejecución. Los procesos no pueden leer lo que hay o escribir nuevos datos. Hay un poco más que eso, pero este cambio, específico de iOS 10, elimina toda una gama de posibles ataques.

Procesador de enclave seguro

Las aplicaciones en un dispositivo Apple se ejecutan en una CPU llamada Procesador de aplicaciones o AP. Los dispositivos Apple modernos tienen una CPU completamente separada llamada Secure Enclave Processor, o SEP. "El SEP está protegido por una clave maestra criptográfica fuerte del código de acceso del usuario", dijo Krstic. "El ataque sin conexión no es posible. Evita la superficie de ataque del AP, incluso cuando el AP se ha visto comprometido. Arbitra todo el acceso de los usuarios y gestiona su propia memoria cifrada. En la primera inicialización utiliza un verdadero generador de números aleatorios para crear un único clave del dispositivo dentro del procesador. No es exportable y se almacena en una ROM segura inmutable ".

Krstic continuó explicando cómo el dispositivo usa cuatro tipos de claves de seguridad internas con diferentes características. El tipo A solo existe cuando el dispositivo está desbloqueado. El tipo B es una clave pública siempre presente, más una clave privada que existe cuando el dispositivo está desbloqueado. El Tipo C comienza a existir la primera vez que el dispositivo se desbloquea después del arranque. Y el tipo D siempre está disponible.

La presentación pasó a una serie de diagramas muy complejos. Uno caminó a través del proceso de arranque y desbloqueo del dispositivo, mostrando cómo se creó y almacenó cada tipo de clave. Cada archivo en su dispositivo tiene su propia clave de cifrado única; otro diagrama mostró la intrincada danza que le permite al SEP autenticar y descifrar ese archivo mientras mantiene las claves de seguridad esenciales dentro de sí mismo. Otro explicó el complejo proceso que le permite elegir "Actualizar más tarde". Y otro recorrió el proceso que permite el desbloqueo a través de la identificación táctil sin mantener la clave maestra visible de ninguna manera.

La conclusión clave de esta parte de la charla es que Apple realmente ha pensado en lo que se requiere para administrar el cifrado por completo dentro del procesador Secure Enclave, sin obligar al usuario a tener muchos problemas. Si desea ver esos diagramas por sí mismo, consulte la presentación completa de Krstic.

Secretos de sincronización

Es muy conveniente que pueda sincronizar sus datos entre múltiples dispositivos Apple. HomeKit le permite administrar dispositivos IoT, AutoUnlock hace que su Mac se desbloquee cuando su Apple Watch está cerca, sus fotos se sincronizan a través de iCloud, etc. Pero en cuanto a la seguridad, la sincronización es un problema.

"Los enfoques tradicionales no son buenos", dijo Krstic. "Una forma es hacer que el usuario ingrese una 'clave de calcetín' fuerte en todos los dispositivos; la pierda y se pierde el acceso a los secretos. La otra forma es envolver los datos en una clave derivada que los deja expuestos a proveedor de cuenta ".

"Teníamos varios goles aquí", continuó Krstic. "Los secretos deben estar disponibles en todos los dispositivos, protegidos por un cifrado fuerte. Los usuarios pueden recuperar los secretos incluso si pierden todos los dispositivos conectados. Los datos no están expuestos a Apple, y no hay posibilidad de un ataque de fuerza bruta".

La autenticación en el sistema básico de llavero iCloud es simple. Cada dispositivo tiene su propio par de claves, y para agregar un nuevo dispositivo al círculo de sincronización, debe aprobarlo desde uno de sus dispositivos existentes. El backend de Apple no está involucrado; No tiene privilegios. Si un usuario pierde el acceso a todos los dispositivos, el acceso se puede recuperar utilizando la clave de seguridad de iCloud y la contraseña de iCloud.

Krstic explicó con gran detalle cómo Apple administra este sistema sin dejar abierta la más mínima posibilidad de que cualquier persona, incluida cualquiera de Apple, pueda acceder a los datos desde el back-end. El sistema involucra las llamadas tarjetas de administrador, creadas en el momento en que se pone en servicio una nueva flota de servidores criptográficos. "Las tarjetas de administración se crean en una ceremonia segura cuando se encarga la flota, y se almacenan en cajas de seguridad físicas separadas bajo la custodia de tres organizaciones diferentes en Apple, en bolsas de evidencia a prueba de manipulaciones", dijo Krstic.

Esa situación dura solo hasta que la flota se ponga realmente en funcionamiento. En ese momento, dijo Krstic, "pusimos las tarjetas de administrador a través de una nueva función hash unidireccional". Sacó una licuadora claramente usada de debajo del podio y continuó: "Sí, un viaje a través de la licuadora". Una vez que la flota de servidores criptográficos está activa, no puede actualizarse ni modificarse de ninguna manera, ni siquiera por Apple, porque las tarjetas de administración se han destruido. Si sucede que realmente se requiere una actualización, Apple debe activar una nueva flota y enviar una actualización de software que haga que los dispositivos de los usuarios se conecten a la nueva flota.

"¿Por qué hacemos esto?", Dijo Krstic. "¿Por qué damos este último paso que es extremadamente inusual? Hacemos grandes esfuerzos para diseñar los sistemas de seguridad para proporcionar confianza. Cuando los datos salen del dispositivo, las apuestas son aún mayores. Necesitamos mantener esa confianza. Si mantenemos la posesión de esas tarjetas de administrador, existe la posibilidad de que eso no sea cierto. Esa es la seriedad con la que tomamos nuestra misión sobre los datos del usuario ".

Preguntado: "¿Hiciste esto debido a las solicitudes de información del FBI?" Krstic respondió: "Soy ingeniero. Solo puedo responder preguntas sobre por qué me presenté hoy". OK bastante justo. Pero creo que el interrogador tenía razón. Hacer un sistema autónomo que ni siquiera puede modificar usted mismo es una muy buena manera de evitar que otra persona realice cambios no deseados.

Espero haber transmitido el nivel de detalle en la charla de Krstic sin hacer que tus ojos se vean vidriosos. A juzgar por la charla mientras el grupo se dispersaba, los verdaderos geeks de seguridad a nivel de bytes en la sala quedaron muy impresionados.

Apple expone detalles de seguridad de ios