El modelo de seguridad de iOS

Javier Tallón
Javier TallónSecurity Expert at jtsec Beyond IT Security
El modelo de seguridad de iOS
Trabajando en seguridad desde hace 6 años


Apasionado por la seguridad de toda la vida
El modelo de seguridad de iOS
El modelo de seguridad de iOS
El modelo de seguridad de iOS
¿En serio vamos a diseccionar un sistema operativo?



¿Y además hablando también de hardware?



¿Estamos locos?
http://images.apple.com/ipad/business/docs/i
OS_Security_May12.pdf
Especialmente interesante a partir de 3GS

   Cifrado total del almacenamiento

   Procesador criptográfico

  Claves que nunca salen del mismo y ‘fuseadas’ para cada
unidad (UID & GID)
El modelo de seguridad de iOS
El modelo de seguridad de iOS
El modelo de seguridad de iOS
Combinan CPU (ARM Cortex) + GPU + RAM
   S5L8920 iPhone 3GS
   S5L8930 (Apple A4) iPad / iPhone 4 / ATV 2G
   S5L8940 (Apple A5) iPad 2 / iPhone 4S
   S5L8945 (Apple A5X) iPad3
   S5L8950 (Apple A6) iPhone 5

Familia ARMv7
   Juegos de instrucciones ARM, THUMB y THUMB-2
Originalmente desarrollado para el primer iPhone (2007)
Sin duda uno de los sistemas operativos más seguros


Primera versión: iPhoneOS 1.0


Además cada vez más seguro


Basado en Mac OS X
iPhone OS 1.0

    Sin sandboxing

     Todo corría como root

     Sin firma de código ni DEP ni ASLR

     ¡Sin apps!

     iPhone OS 1.0 libTiff Exploit (Tavis Ormandy)
iOS 2 implementa la mayor parte de la actual arquitectura

     App Store

     Sin ASLR…

     Casi todos los procesos corren sin privilegios

     SMS exploit (Charlie Miller)

     La sandbox era igual de permisiva para todas las apps.

     Jailbreak   Ikee Worm
El modelo de seguridad de iOS
iOS 3
    Sin ASLR

   Introducen code signing.

   MobileSafari Pwn2Own 2010

      Payload full ROP

       No rompieron la sandbox
iOS 4
    Se introduce el sistema de cifrado actual
         En realidad con alguna pequeña modificación
    jailbreakme.com (v2) (by comex)
         Stack Overflow (Safari) + Integer Overflow (IOKit)

iOS 4.3
    Aplicaciones compiladas con PIE
    Introduce ASLR
        main 256 posibles ubicaciones (si PIE)
        dyld 256 posibles ubicaciones (si PIE)
        dynamic library cache 4200 posibles ubicaciones
iOS 4.3.3
    jailbreakme.com (v3 Saffron) (by comex again)
         Leaking Integer Overflow (Safari) + Problema de tipado
     (IOMobileFrameBuffer) + Incomplete Codesign
http://esec-lab.sogeti.com/post/Analysis-of-
the-jailbreakme-v3-font-exploit
iOS 5
    Introduce Stack Canaries
    Introduce Automatic Reference Counting
    dyld siempre se mueve sea o no PIE el binario.
    Exploit Corona (5.1.1)
        Racoon Format String Overflow +
        HFS Heap Overflow
    Se cierra vulnerabilidad que permitía downgrades
    Se acaba con el incomplete code signing

iOS 6
    Sin novedades conocidas en la arquitectura de seguridad
    Parcheo continuado de bugs (197)
Una clave para cada archivo
File System Key
    Se genera durante la instalación
    Está cifrada con UID
    Si se borra se pierde todo
    Effaceable Storage!
Diferentes Class Keys
Wipe muy rápido y efectivo
Posible cambiar fácilmente la “Clase” de un fichero
Es posible cambiar el Passcode sin recifrar todo.
Acceso a los ficheros en función de la clase del mismo
AES256-CBC
Los datos se almacenan según cuando deben estar accesibles
    Dispositivo desbloqueado
    Dispositivo alguna vez desbloqueado (arrancado)
    Siempre

Cada clase tiene una clave maestra…

… cifrada con una combinación de passcode y UID

Estas claves se almacenan en la “keybag” del sistema
Región especial de las flash

Almacena tres claves
   FileSystem Key
   Clave de la clase NSProtectionNone
   Clave del keybag del sistema
NSFileProtectionComplete
   Passcode + UID
   Se borra al bloquear


NSFileProtectionCompleteUntilFirstUserAuthentication
   Passcode + UID
   No se borra al bloquear

NSFileProtectionNone
   UID
   Clave de la clase guardada en Effaceable Storage
NSFileProtectionCompleteUnlessOpen
    Ficheros que necesitan escribirse con el dispositivo bloqueado
    Se genera un par efímero
    Con ECDH se crea un secreto compartido con la privada
 efímera y la pública de la clase.
    Los metadatos del fichero almacenan:
        La clave del fichero cifrada con el hash del secreto
        La parte pública efímera
    Se borra la parte privada
    Cuando se cierra el fichero su clave se borra
    Para abrirlo:
        Recrear el secreto compartido con la parte privada de la
     clase y la pública efímera
        Descifrar la clave del fichero con el hash del secreto
El modelo de seguridad de iOS
El modelo de seguridad de iOS
Base de datos SQLite
Permiten guardar información de forma fácil a las Apps
NSFileProtectionNone
Acceso a través de API provista por Apple
Acceso permitido o no en función de
    keychain-access-groups
    application-identifier
Clases análogas a las de los ficheros
    Sin NSFileProtectionCompleteUnlessOpen
AES128-GCM
El modelo de seguridad de iOS
Contienen las claves de las clases. Ficheros & Keychain

   System keybag: donde están normalmente en el sistema
       Se accede a través de AppleKeyStore.kext
       Triple cifrado
           Filesystem key
           System keybag key
           Cada clave de clase cifrada con UID / passcode

   Backup keybag: usada en los backups cifrados de iTunes
      PKBDF2(password iTunes) * 10000
iCloud keybag: similar a la de Backup
    Usa criptografía asimétrica como en “Protected Unless
 Open” para hacer el backup en el background.

Escrow keybag:
    iOS la crea al conectar con iTunes por primera vez y se
 envía cifrada al PC con una clave.
    La clave queda guardada en el dispositivo
    El PC almacena la keybag cifrada con la clave.
    La clave se envía cuando se conecta a iTunes y permite
 sincronizar aunque el dispositivo esté bloqueado.
    Utilizada también para MDM.
El modelo de seguridad de iOS
La Passcode Key se calcula utilizando el UID

   Proceso deliberadamente lento

No es posible crack offline!


En iPhone 4 con iOS 5:
Es un dispositivo embebido

  Extraer la UID del procesador está normalmente fuera de
ámbito (¿microscopios electrónicos de barrido? ¿FIB?

  La otra posibilidad: hacerlo ‘a la Live CD’
El modelo de seguridad de iOS
Bootrom   Bootloader   Firmware
Lo primero que se ejecuta


Sólo lectura


Origen de la cadena de confianza

   Si es vulnerado la seguridad del sistema se viene abajo
   Y no tiene arreglo…
Modelo /    0x24000    usb_control_   Limera1n   SHA-1 Image
    Exploit    Segment    msg(0xA1,1)                 Segment
               Overflow                              Overflow

iPhone 3GS A      X

iPhone 3GS B                                X

iPod 2G                        X

iPod 4G                                     X           X

iPad 1G                                     X           X

iPhone 4                                    X           X

Apple TV 2G                                 X           X
Fallo a nivel de aplicación / kernel


Vulnerabilidad en BootROM
Permitir ejecución de aplicaciones no firmadas por Apple


Instala la tienda alternativa de aplicaciones: Cydia
    Permite instalar aplicaciones “piratas”
    Y otras muchas utilidades por supuesto


Reduce la seguridad del sistema a la de Android
Tethered


Untethered
El modelo de seguridad de iOS
BootROM exploit == tethered jailbreak


  BootROM exploit + Incomplete Code Signing + Kernel Exploit =
untethered jailbreak

  Safari + Kernel exploit = Remote jailbreak

  Safari + Kernel + Incomplete Code Signing exploit = remote
untethered jailbreak
Aplica a todas las aplicaciones de terceros (y a la mayoría de las
propias)

  Impide
     Acceder a ficheros de otra aplicación
     Acceder a ficheros del sistema
     El acceso a la funcionalidad de la API está limitado por los
   entitlements.
Cada aplicación declara a qué funcionalidad desea tener acceso

  No se permite el acceso a la API sin el entitlement
correspondiente

  Unido a la firma de código es un mecanismo muy potente
Todas las aplicaciones deben estar firmadas
    Las de terceros son firmadas con la clave privada que
 identifica al desarrollador (firmada por Apple)
    La identidad del desarrollador es verificada por Apple
    La calidad del código es revisada por Apple

Se permite cargar nuevas entidades de confianza
    Para desarrollo
    Para empresas
    Ciertamente peligroso

Es responsabilidad del kernel verificarlo
También en tiempo de ejecución (para cada página)

   Mucho más allá de W^X

   Una de las razones para que no haya Flash o Java

   La cadena de confianza se mantiene hasta el último momento
La excepción que confirma la regla (iOS 4.3)

   dynamic code signing entitlement

   Permite a Safari ejecutar JIT

  Requiere una zona de memoria RWX (que también es
marcada como JIT)

   Puede permitir exploits más sencillos en Safari
Hasta iOS 5.0.1 sólo se comprobaba el entitlement de
dynamic code signing si se pasaba la flag MAP_ANON

      ¡Cualquiera podía reservar memoria RWX!

     Charlie Miller lo descubre y cuela aplicación en App Store
   que ejecuta payloads remotas.

      EPIC FAIL
¿Realmente es necesario?
Apple ha logrado llegar a un nivel de seguridad realmente
impresionante.

  A costa de sacrificar la “libertad” del usuario

  Apple es el moderno sysadmin

  Ha demostrado no abandonar los modelos antiguos

  No obstante, seguirán saliendo nuevas vulnerabilidades
El modelo de seguridad de iOS
1 of 55

Recommended

Extendiendo la Seguridad de Elastix con Snort by
Extendiendo la Seguridad de Elastix con SnortExtendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con SnortJuan Oliva
372 views42 slides
Seguridad en VoIP Open Source: Poniendo el punto sobre la i by
Seguridad en VoIP Open Source: Poniendo el punto sobre la iSeguridad en VoIP Open Source: Poniendo el punto sobre la i
Seguridad en VoIP Open Source: Poniendo el punto sobre la iPaloSanto Solutions
779 views53 slides
14 Administración Android - Seguridad 2 by
14 Administración Android  -  Seguridad 214 Administración Android  -  Seguridad 2
14 Administración Android - Seguridad 2guidotic
107 views12 slides
Usando el módulo PIKE en Elastix MT by
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTPaloSanto Solutions
1.7K views48 slides
Web Application exploiting and Reversing Shell by
Web Application exploiting and Reversing ShellWeb Application exploiting and Reversing Shell
Web Application exploiting and Reversing ShellJuan Oliva
502 views34 slides
Kali linux guia español by
Kali linux guia españolKali linux guia español
Kali linux guia españolHomero de la Barra
2.8K views79 slides

More Related Content

Viewers also liked

Overflowing attack potential, scoring defence in-depth by
Overflowing attack potential, scoring defence in-depthOverflowing attack potential, scoring defence in-depth
Overflowing attack potential, scoring defence in-depthJavier Tallón
1.2K views42 slides
Introducción a la certificación Common Criteria by
Introducción a la certificación Common CriteriaIntroducción a la certificación Common Criteria
Introducción a la certificación Common CriteriaJavier Tallón
6.5K views28 slides
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way by
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way Javier Tallón
1.1K views38 slides
pr1 by
pr1pr1
pr1Юлия Дундерь
149 views1 slide
能源發展 by
能源發展能源發展
能源發展wrzakka
1.3K views26 slides
NetSquared organizer reactivation webinar: October 19 2016 by
NetSquared organizer reactivation webinar: October 19 2016NetSquared organizer reactivation webinar: October 19 2016
NetSquared organizer reactivation webinar: October 19 2016NetSquared
206 views36 slides

Viewers also liked(20)

Overflowing attack potential, scoring defence in-depth by Javier Tallón
Overflowing attack potential, scoring defence in-depthOverflowing attack potential, scoring defence in-depth
Overflowing attack potential, scoring defence in-depth
Javier Tallón1.2K views
Introducción a la certificación Common Criteria by Javier Tallón
Introducción a la certificación Common CriteriaIntroducción a la certificación Common Criteria
Introducción a la certificación Common Criteria
Javier Tallón6.5K views
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way by Javier Tallón
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way
Vulnerability Analysis Taxonomy Achieving Completeness In A Systematic Way
Javier Tallón1.1K views
能源發展 by wrzakka
能源發展能源發展
能源發展
wrzakka1.3K views
NetSquared organizer reactivation webinar: October 19 2016 by NetSquared
NetSquared organizer reactivation webinar: October 19 2016NetSquared organizer reactivation webinar: October 19 2016
NetSquared organizer reactivation webinar: October 19 2016
NetSquared206 views
How do i get more pinterest followers by maria784
How do i get more pinterest followersHow do i get more pinterest followers
How do i get more pinterest followers
maria784118 views
Resep kue apem kukus by mtrko
Resep kue apem kukusResep kue apem kukus
Resep kue apem kukus
mtrko799 views
環境正義在台灣實踐的挑戰 by 恩恩 許
環境正義在台灣實踐的挑戰環境正義在台灣實踐的挑戰
環境正義在台灣實踐的挑戰
恩恩 許1.2K views
Ieee 2013 sales presentation by ralphmonti
Ieee 2013 sales presentationIeee 2013 sales presentation
Ieee 2013 sales presentation
ralphmonti333 views
Smarter Cruise Control System For Vehicle by Bay Diagnostic
Smarter Cruise Control System For VehicleSmarter Cruise Control System For Vehicle
Smarter Cruise Control System For Vehicle
Bay Diagnostic308 views
Seminario iOS SIETCG (feb 2014) by Albert Marques
Seminario iOS SIETCG (feb 2014)Seminario iOS SIETCG (feb 2014)
Seminario iOS SIETCG (feb 2014)
Albert Marques860 views
iOS d'estar per casa - Jornades Apple 2011 Ulldecona by Raimon Lapuente
iOS d'estar per casa - Jornades Apple 2011 UlldeconaiOS d'estar per casa - Jornades Apple 2011 Ulldecona
iOS d'estar per casa - Jornades Apple 2011 Ulldecona
Raimon Lapuente272 views

Similar to El modelo de seguridad de iOS

tehnik mobile hacking by
tehnik mobile hackingtehnik mobile hacking
tehnik mobile hackingbayuwidiatmoko
100 views71 slides
Como hacer un forense a un iphone sin iphone by
Como hacer un forense a un iphone sin iphoneComo hacer un forense a un iphone sin iphone
Como hacer un forense a un iphone sin iphoneEventos Creativos
620 views38 slides
Presentacion bitup alicante 2018 by
Presentacion bitup alicante 2018Presentacion bitup alicante 2018
Presentacion bitup alicante 2018Buenaventura Salcedo Santos-Olmo
198 views29 slides
Karla Itzel López Rodríguez DN13 by
Karla Itzel López Rodríguez DN13Karla Itzel López Rodríguez DN13
Karla Itzel López Rodríguez DN13Karla López
221 views12 slides
Presentacion re y_des_09072003 by
Presentacion re y_des_09072003Presentacion re y_des_09072003
Presentacion re y_des_09072003Alonso Caballero
514 views40 slides
Hacking a i os ipad iphone by
Hacking a i os ipad iphoneHacking a i os ipad iphone
Hacking a i os ipad iphoneRafael Pineda
317 views9 slides

Similar to El modelo de seguridad de iOS(20)

Como hacer un forense a un iphone sin iphone by Eventos Creativos
Como hacer un forense a un iphone sin iphoneComo hacer un forense a un iphone sin iphone
Como hacer un forense a un iphone sin iphone
Eventos Creativos 620 views
Karla Itzel López Rodríguez DN13 by Karla López
Karla Itzel López Rodríguez DN13Karla Itzel López Rodríguez DN13
Karla Itzel López Rodríguez DN13
Karla López221 views
Hacking a i os ipad iphone by Rafael Pineda
Hacking a i os ipad iphoneHacking a i os ipad iphone
Hacking a i os ipad iphone
Rafael Pineda317 views
Análisis técnico de Flashback, el troyano para Mac que ya ha infectado a más ... by Yolanda Ruiz Hervás
Análisis técnico de Flashback, el troyano para Mac que ya ha infectado a más ...Análisis técnico de Flashback, el troyano para Mac que ya ha infectado a más ...
Análisis técnico de Flashback, el troyano para Mac que ya ha infectado a más ...
Tema 1. Los Sistemas Operatios. Ainhoa belmonte mula by ainhoabm22
Tema 1. Los Sistemas Operatios. Ainhoa belmonte mulaTema 1. Los Sistemas Operatios. Ainhoa belmonte mula
Tema 1. Los Sistemas Operatios. Ainhoa belmonte mula
ainhoabm22738 views
Webinar Gratuito: Analizar una Imagen RAM con Volatility Framework by Alonso Caballero
Webinar Gratuito: Analizar una Imagen RAM con Volatility FrameworkWebinar Gratuito: Analizar una Imagen RAM con Volatility Framework
Webinar Gratuito: Analizar una Imagen RAM con Volatility Framework
Alonso Caballero203 views
Arán Lora - Análisis dinámico de aplicaciones en iOS sin Jailbreak [rooted2019] by RootedCON
Arán Lora - Análisis dinámico de aplicaciones en iOS sin Jailbreak [rooted2019]Arán Lora - Análisis dinámico de aplicaciones en iOS sin Jailbreak [rooted2019]
Arán Lora - Análisis dinámico de aplicaciones en iOS sin Jailbreak [rooted2019]
RootedCON544 views
Como se instala java y turbo c 3.0 by tacubomx
Como se instala java y turbo c 3.0Como se instala java y turbo c 3.0
Como se instala java y turbo c 3.0
tacubomx540 views
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010] by RootedCON
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
RootedCON1.4K views
Memoria Pruebas de intrusion mediante Metasploit Framework by ErlaitzParreoMuoz
Memoria Pruebas de intrusion mediante Metasploit FrameworkMemoria Pruebas de intrusion mediante Metasploit Framework
Memoria Pruebas de intrusion mediante Metasploit Framework
ErlaitzParreoMuoz143 views
Redes sociales y seguridad by Tonny Lopez
Redes sociales y seguridadRedes sociales y seguridad
Redes sociales y seguridad
Tonny Lopez84 views
Ejemplos de seguridad en aplicaciones moviles (IOS) by Alejandro Ramos
Ejemplos de seguridad en aplicaciones moviles (IOS) Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS)
Alejandro Ramos9.7K views
Revista de karen by Nava203
Revista de karenRevista de karen
Revista de karen
Nava203112 views

More from Javier Tallón

ICCC2023 Statistics Report, has Common Criteria reached its peak? by
ICCC2023 Statistics Report, has Common Criteria reached its peak?ICCC2023 Statistics Report, has Common Criteria reached its peak?
ICCC2023 Statistics Report, has Common Criteria reached its peak?Javier Tallón
26 views29 slides
ICCC23 -The new cryptographic evaluation methodology created by CCN by
ICCC23 -The new cryptographic evaluation methodology created by CCNICCC23 -The new cryptographic evaluation methodology created by CCN
ICCC23 -The new cryptographic evaluation methodology created by CCNJavier Tallón
5 views44 slides
Experiences evaluating cloud services and products by
Experiences evaluating cloud services and productsExperiences evaluating cloud services and products
Experiences evaluating cloud services and productsJavier Tallón
10 views26 slides
TAICS - Cybersecurity Certification for European Market.pptx by
TAICS - Cybersecurity Certification for European Market.pptxTAICS - Cybersecurity Certification for European Market.pptx
TAICS - Cybersecurity Certification for European Market.pptxJavier Tallón
72 views31 slides
La ventaja de implementar una solución de ciberseguridad certificada por el C... by
La ventaja de implementar una solución de ciberseguridad certificada por el C...La ventaja de implementar una solución de ciberseguridad certificada por el C...
La ventaja de implementar una solución de ciberseguridad certificada por el C...Javier Tallón
9 views24 slides
EUCA23 - Evolution of cryptographic evaluation in Europe.pdf by
EUCA23 - Evolution of cryptographic evaluation in Europe.pdfEUCA23 - Evolution of cryptographic evaluation in Europe.pdf
EUCA23 - Evolution of cryptographic evaluation in Europe.pdfJavier Tallón
14 views41 slides

More from Javier Tallón(20)

ICCC2023 Statistics Report, has Common Criteria reached its peak? by Javier Tallón
ICCC2023 Statistics Report, has Common Criteria reached its peak?ICCC2023 Statistics Report, has Common Criteria reached its peak?
ICCC2023 Statistics Report, has Common Criteria reached its peak?
Javier Tallón26 views
ICCC23 -The new cryptographic evaluation methodology created by CCN by Javier Tallón
ICCC23 -The new cryptographic evaluation methodology created by CCNICCC23 -The new cryptographic evaluation methodology created by CCN
ICCC23 -The new cryptographic evaluation methodology created by CCN
Javier Tallón5 views
Experiences evaluating cloud services and products by Javier Tallón
Experiences evaluating cloud services and productsExperiences evaluating cloud services and products
Experiences evaluating cloud services and products
Javier Tallón10 views
TAICS - Cybersecurity Certification for European Market.pptx by Javier Tallón
TAICS - Cybersecurity Certification for European Market.pptxTAICS - Cybersecurity Certification for European Market.pptx
TAICS - Cybersecurity Certification for European Market.pptx
Javier Tallón72 views
La ventaja de implementar una solución de ciberseguridad certificada por el C... by Javier Tallón
La ventaja de implementar una solución de ciberseguridad certificada por el C...La ventaja de implementar una solución de ciberseguridad certificada por el C...
La ventaja de implementar una solución de ciberseguridad certificada por el C...
Javier Tallón9 views
EUCA23 - Evolution of cryptographic evaluation in Europe.pdf by Javier Tallón
EUCA23 - Evolution of cryptographic evaluation in Europe.pdfEUCA23 - Evolution of cryptographic evaluation in Europe.pdf
EUCA23 - Evolution of cryptographic evaluation in Europe.pdf
Javier Tallón14 views
Evolucionado la evaluación Criptográfica by Javier Tallón
Evolucionado la evaluación CriptográficaEvolucionado la evaluación Criptográfica
Evolucionado la evaluación Criptográfica
Javier Tallón22 views
España y CCN como referentes en la evaluación de ciberseguridad de soluciones... by Javier Tallón
España y CCN como referentes en la evaluación de ciberseguridad de soluciones...España y CCN como referentes en la evaluación de ciberseguridad de soluciones...
España y CCN como referentes en la evaluación de ciberseguridad de soluciones...
Javier Tallón8 views
EUCA22 Panel Discussion: Differences between lightweight certification schemes by Javier Tallón
EUCA22 Panel Discussion: Differences between lightweight certification schemesEUCA22 Panel Discussion: Differences between lightweight certification schemes
EUCA22 Panel Discussion: Differences between lightweight certification schemes
Javier Tallón16 views
EUCA22 - Patch Management ISO_IEC 15408 & 18045 by Javier Tallón
EUCA22 - Patch Management ISO_IEC 15408 & 18045EUCA22 - Patch Management ISO_IEC 15408 & 18045
EUCA22 - Patch Management ISO_IEC 15408 & 18045
Javier Tallón22 views
Cross standard and scheme composition - A needed cornerstone for the European... by Javier Tallón
Cross standard and scheme composition - A needed cornerstone for the European...Cross standard and scheme composition - A needed cornerstone for the European...
Cross standard and scheme composition - A needed cornerstone for the European...
Javier Tallón16 views
¿Cómo incluir productos y servicios en el catálogo CPSTIC (CCN-STIC 105)? by Javier Tallón
¿Cómo incluir productos y servicios en el catálogo CPSTIC (CCN-STIC 105)?¿Cómo incluir productos y servicios en el catálogo CPSTIC (CCN-STIC 105)?
¿Cómo incluir productos y servicios en el catálogo CPSTIC (CCN-STIC 105)?
Javier Tallón33 views
Is Automation Necessary for the CC Survival? by Javier Tallón
Is Automation Necessary for the CC Survival?Is Automation Necessary for the CC Survival?
Is Automation Necessary for the CC Survival?
Javier Tallón10 views
CCCAB tool - Making CABs life easy - Chapter 2 by Javier Tallón
CCCAB tool - Making CABs life easy - Chapter 2CCCAB tool - Making CABs life easy - Chapter 2
CCCAB tool - Making CABs life easy - Chapter 2
Javier Tallón10 views
2022 CC Statistics report: will this year beat last year's record number of c... by Javier Tallón
2022 CC Statistics report: will this year beat last year's record number of c...2022 CC Statistics report: will this year beat last year's record number of c...
2022 CC Statistics report: will this year beat last year's record number of c...
Javier Tallón57 views
CCCAB, la apuesta europea por la automatización de los Organismos de Certific... by Javier Tallón
CCCAB, la apuesta europea por la automatización de los Organismos de Certific...CCCAB, la apuesta europea por la automatización de los Organismos de Certific...
CCCAB, la apuesta europea por la automatización de los Organismos de Certific...
Javier Tallón59 views
Automating Common Criteria by Javier Tallón
Automating Common Criteria Automating Common Criteria
Automating Common Criteria
Javier Tallón127 views

Recently uploaded

Fundamentos de electricidad y electrónica.docx by
Fundamentos de electricidad y electrónica.docxFundamentos de electricidad y electrónica.docx
Fundamentos de electricidad y electrónica.docxDilanTabares
5 views9 slides
proyecto lavadora.docx by
proyecto lavadora.docxproyecto lavadora.docx
proyecto lavadora.docxpaulavallejo21
11 views2 slides
ESTRATEGIAS DE APOYO MARTIN PALACIO TERCER PERIODO by
ESTRATEGIAS DE APOYO MARTIN PALACIO TERCER PERIODOESTRATEGIAS DE APOYO MARTIN PALACIO TERCER PERIODO
ESTRATEGIAS DE APOYO MARTIN PALACIO TERCER PERIODOpalaciomoralesmartin
8 views5 slides
Dominios de internet.pdf by
Dominios de internet.pdfDominios de internet.pdf
Dominios de internet.pdfNahomiBanchen
11 views2 slides
Fundamentos de Electricidad y Electronica 9-3 (1).docx by
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docxSamuel709479
7 views26 slides
fundamentos de electricidad electronica by
fundamentos de electricidad electronicafundamentos de electricidad electronica
fundamentos de electricidad electronicaKevin619029
5 views16 slides

Recently uploaded(20)

Fundamentos de electricidad y electrónica.docx by DilanTabares
Fundamentos de electricidad y electrónica.docxFundamentos de electricidad y electrónica.docx
Fundamentos de electricidad y electrónica.docx
DilanTabares5 views
Fundamentos de Electricidad y Electronica 9-3 (1).docx by Samuel709479
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docx
Samuel7094797 views
fundamentos de electricidad electronica by Kevin619029
fundamentos de electricidad electronicafundamentos de electricidad electronica
fundamentos de electricidad electronica
Kevin6190295 views
Tecnologías para la enseñanza virtual by mpachecocodem
Tecnologías para la enseñanza virtual Tecnologías para la enseñanza virtual
Tecnologías para la enseñanza virtual
mpachecocodem9 views
Tecnologías para la enseñanza virtual.pptx by exprosaavedra
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptx
exprosaavedra14 views
Tecnologías para la enseñanza virtual_cdc.pptx by CarmenerdelHuasco
Tecnologías para la enseñanza virtual_cdc.pptxTecnologías para la enseñanza virtual_cdc.pptx
Tecnologías para la enseñanza virtual_cdc.pptx
Tarea15.pptx by illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir11 views
TALLER DE ANÁLISIS DE ARTEFACTOS_.docx by DilanTabares
TALLER DE ANÁLISIS DE ARTEFACTOS_.docxTALLER DE ANÁLISIS DE ARTEFACTOS_.docx
TALLER DE ANÁLISIS DE ARTEFACTOS_.docx
DilanTabares6 views
Fundamentos de Electricidad y Electronica 9-3 (1).docx by Samuel709479
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docx
Samuel7094795 views
MVelazco_Internet, Origenes y Evolucion.pptx by al223915
MVelazco_Internet, Origenes  y Evolucion.pptxMVelazco_Internet, Origenes  y Evolucion.pptx
MVelazco_Internet, Origenes y Evolucion.pptx
al2239155 views
Fundamentos De Electricidad y Electrónica equipo 5.pdf by coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria14 views
DELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptx by davidsalazar63484
DELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptxDELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptx
DELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptx
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx by dreadlockp5
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptxCÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx
dreadlockp58 views

El modelo de seguridad de iOS

  • 2. Trabajando en seguridad desde hace 6 años Apasionado por la seguridad de toda la vida
  • 6. ¿En serio vamos a diseccionar un sistema operativo? ¿Y además hablando también de hardware? ¿Estamos locos?
  • 8. Especialmente interesante a partir de 3GS Cifrado total del almacenamiento Procesador criptográfico Claves que nunca salen del mismo y ‘fuseadas’ para cada unidad (UID & GID)
  • 12. Combinan CPU (ARM Cortex) + GPU + RAM S5L8920 iPhone 3GS S5L8930 (Apple A4) iPad / iPhone 4 / ATV 2G S5L8940 (Apple A5) iPad 2 / iPhone 4S S5L8945 (Apple A5X) iPad3 S5L8950 (Apple A6) iPhone 5 Familia ARMv7 Juegos de instrucciones ARM, THUMB y THUMB-2
  • 13. Originalmente desarrollado para el primer iPhone (2007)
  • 14. Sin duda uno de los sistemas operativos más seguros Primera versión: iPhoneOS 1.0 Además cada vez más seguro Basado en Mac OS X
  • 15. iPhone OS 1.0 Sin sandboxing Todo corría como root Sin firma de código ni DEP ni ASLR ¡Sin apps! iPhone OS 1.0 libTiff Exploit (Tavis Ormandy)
  • 16. iOS 2 implementa la mayor parte de la actual arquitectura App Store Sin ASLR… Casi todos los procesos corren sin privilegios SMS exploit (Charlie Miller) La sandbox era igual de permisiva para todas las apps. Jailbreak Ikee Worm
  • 18. iOS 3 Sin ASLR Introducen code signing. MobileSafari Pwn2Own 2010 Payload full ROP No rompieron la sandbox
  • 19. iOS 4 Se introduce el sistema de cifrado actual En realidad con alguna pequeña modificación jailbreakme.com (v2) (by comex) Stack Overflow (Safari) + Integer Overflow (IOKit) iOS 4.3 Aplicaciones compiladas con PIE Introduce ASLR main 256 posibles ubicaciones (si PIE) dyld 256 posibles ubicaciones (si PIE) dynamic library cache 4200 posibles ubicaciones
  • 20. iOS 4.3.3 jailbreakme.com (v3 Saffron) (by comex again) Leaking Integer Overflow (Safari) + Problema de tipado (IOMobileFrameBuffer) + Incomplete Codesign
  • 22. iOS 5 Introduce Stack Canaries Introduce Automatic Reference Counting dyld siempre se mueve sea o no PIE el binario. Exploit Corona (5.1.1) Racoon Format String Overflow + HFS Heap Overflow Se cierra vulnerabilidad que permitía downgrades Se acaba con el incomplete code signing iOS 6 Sin novedades conocidas en la arquitectura de seguridad Parcheo continuado de bugs (197)
  • 23. Una clave para cada archivo File System Key Se genera durante la instalación Está cifrada con UID Si se borra se pierde todo Effaceable Storage! Diferentes Class Keys
  • 24. Wipe muy rápido y efectivo Posible cambiar fácilmente la “Clase” de un fichero Es posible cambiar el Passcode sin recifrar todo. Acceso a los ficheros en función de la clase del mismo AES256-CBC
  • 25. Los datos se almacenan según cuando deben estar accesibles Dispositivo desbloqueado Dispositivo alguna vez desbloqueado (arrancado) Siempre Cada clase tiene una clave maestra… … cifrada con una combinación de passcode y UID Estas claves se almacenan en la “keybag” del sistema
  • 26. Región especial de las flash Almacena tres claves FileSystem Key Clave de la clase NSProtectionNone Clave del keybag del sistema
  • 27. NSFileProtectionComplete Passcode + UID Se borra al bloquear NSFileProtectionCompleteUntilFirstUserAuthentication Passcode + UID No se borra al bloquear NSFileProtectionNone UID Clave de la clase guardada en Effaceable Storage
  • 28. NSFileProtectionCompleteUnlessOpen Ficheros que necesitan escribirse con el dispositivo bloqueado Se genera un par efímero Con ECDH se crea un secreto compartido con la privada efímera y la pública de la clase. Los metadatos del fichero almacenan: La clave del fichero cifrada con el hash del secreto La parte pública efímera Se borra la parte privada Cuando se cierra el fichero su clave se borra Para abrirlo: Recrear el secreto compartido con la parte privada de la clase y la pública efímera Descifrar la clave del fichero con el hash del secreto
  • 31. Base de datos SQLite Permiten guardar información de forma fácil a las Apps NSFileProtectionNone Acceso a través de API provista por Apple Acceso permitido o no en función de keychain-access-groups application-identifier Clases análogas a las de los ficheros Sin NSFileProtectionCompleteUnlessOpen AES128-GCM
  • 33. Contienen las claves de las clases. Ficheros & Keychain System keybag: donde están normalmente en el sistema Se accede a través de AppleKeyStore.kext Triple cifrado Filesystem key System keybag key Cada clave de clase cifrada con UID / passcode Backup keybag: usada en los backups cifrados de iTunes PKBDF2(password iTunes) * 10000
  • 34. iCloud keybag: similar a la de Backup Usa criptografía asimétrica como en “Protected Unless Open” para hacer el backup en el background. Escrow keybag: iOS la crea al conectar con iTunes por primera vez y se envía cifrada al PC con una clave. La clave queda guardada en el dispositivo El PC almacena la keybag cifrada con la clave. La clave se envía cuando se conecta a iTunes y permite sincronizar aunque el dispositivo esté bloqueado. Utilizada también para MDM.
  • 36. La Passcode Key se calcula utilizando el UID Proceso deliberadamente lento No es posible crack offline! En iPhone 4 con iOS 5:
  • 37. Es un dispositivo embebido Extraer la UID del procesador está normalmente fuera de ámbito (¿microscopios electrónicos de barrido? ¿FIB? La otra posibilidad: hacerlo ‘a la Live CD’
  • 39. Bootrom Bootloader Firmware
  • 40. Lo primero que se ejecuta Sólo lectura Origen de la cadena de confianza Si es vulnerado la seguridad del sistema se viene abajo Y no tiene arreglo…
  • 41. Modelo / 0x24000 usb_control_ Limera1n SHA-1 Image Exploit Segment msg(0xA1,1) Segment Overflow Overflow iPhone 3GS A X iPhone 3GS B X iPod 2G X iPod 4G X X iPad 1G X X iPhone 4 X X Apple TV 2G X X
  • 42. Fallo a nivel de aplicación / kernel Vulnerabilidad en BootROM
  • 43. Permitir ejecución de aplicaciones no firmadas por Apple Instala la tienda alternativa de aplicaciones: Cydia Permite instalar aplicaciones “piratas” Y otras muchas utilidades por supuesto Reduce la seguridad del sistema a la de Android
  • 46. BootROM exploit == tethered jailbreak BootROM exploit + Incomplete Code Signing + Kernel Exploit = untethered jailbreak Safari + Kernel exploit = Remote jailbreak Safari + Kernel + Incomplete Code Signing exploit = remote untethered jailbreak
  • 47. Aplica a todas las aplicaciones de terceros (y a la mayoría de las propias) Impide Acceder a ficheros de otra aplicación Acceder a ficheros del sistema El acceso a la funcionalidad de la API está limitado por los entitlements.
  • 48. Cada aplicación declara a qué funcionalidad desea tener acceso No se permite el acceso a la API sin el entitlement correspondiente Unido a la firma de código es un mecanismo muy potente
  • 49. Todas las aplicaciones deben estar firmadas Las de terceros son firmadas con la clave privada que identifica al desarrollador (firmada por Apple) La identidad del desarrollador es verificada por Apple La calidad del código es revisada por Apple Se permite cargar nuevas entidades de confianza Para desarrollo Para empresas Ciertamente peligroso Es responsabilidad del kernel verificarlo
  • 50. También en tiempo de ejecución (para cada página) Mucho más allá de W^X Una de las razones para que no haya Flash o Java La cadena de confianza se mantiene hasta el último momento
  • 51. La excepción que confirma la regla (iOS 4.3) dynamic code signing entitlement Permite a Safari ejecutar JIT Requiere una zona de memoria RWX (que también es marcada como JIT) Puede permitir exploits más sencillos en Safari
  • 52. Hasta iOS 5.0.1 sólo se comprobaba el entitlement de dynamic code signing si se pasaba la flag MAP_ANON ¡Cualquiera podía reservar memoria RWX! Charlie Miller lo descubre y cuela aplicación en App Store que ejecuta payloads remotas. EPIC FAIL
  • 54. Apple ha logrado llegar a un nivel de seguridad realmente impresionante. A costa de sacrificar la “libertad” del usuario Apple es el moderno sysadmin Ha demostrado no abandonar los modelos antiguos No obstante, seguirán saliendo nuevas vulnerabilidades