Can we trust smartphones ?

 
CONTINUER À LIRE
Can we trust smartphones ?
Can we trust smartphones ?

   Mathieu.RENARD@Sogeti.com - 03/10/2012
Can we trust smartphones ?
Synthèse

  Concernant la sécurité la plupart des solutions ne sont pas matures.

La combinaison de solutions de sécurité peut permettre d’atteindre un
            niveau de sécurité relativement satisfaisant.

© Sogeti
Can we trust smartphones ?
Agenda

           Le BYOD en quelques mots

           Intégration de la sécurité dans un projet de mobilité
               - Sécurité des tablettes
               - Sécurité des applications mobiles
               - Mobile Device Management

            Retour d’expérience « sécurité » projet « BYOD »

           Conclusion

© Sogeti
Can we trust smartphones ?
Le phénomène BYOD

• L’équipement en terminaux mobiles est un vrai raz de marée.
     • Les utilisateurs veulent profiter de la connectivité de ces terminaux
         • Accéder aux données de l’entreprise / PIM (Mail, Contacts, Calendrier).

• Le BYOD se produit que les entreprises y soient préparées ou pas.

• Il faut donc le préparer et le sécuriser
     • Un projet BYOD nécessite l’implication de différents acteurs d’une société.

           • En plus des équipes IT, il est nécessaire de travailler avec les équipes RH, juridique
             voire achat afin de cadrer correctement le ou les projet(s) et constituer ainsi une
             charte d’usage à faire signer par les futurs détenteurs.

• Des règles de sécurité spécifiques doivent être définies et mise en place afin de
  permettre la réalisation d’un projet BYOD dans de bonnes conditions.

© Sogeti
Can we trust smartphones ?
BYOD Les dangers

             Diversité des équipements et des plateformes
           + Absence de standard
           + Personnalisation des équipements par les opérateurs
           + Verrouillage des systèmes par les constructeurs
           + Abondance d’application
           + Connectivité
           + Mobilité

           =

© Sogeti
Can we trust smartphones ?
Agenda

           Le BYOD en quelques mots

           Intégration de la sécurité dans un projet de mobilité
               - Sécurité des tablettes:
               - Sécurité des applications mobiles
               - Mobile Device Management

            Retour d’expérience « sécurité » projet « BYOD »

           Conclusion

© Sogeti
Can we trust smartphones ?
Sécurité des Tablettes et Smartphones
    Vecteurs d’attaque

                                     Lecteurs de fichiers          Navigateur &
                       WIFI
                                           (PDF)                Applications Réseaux

                               3G/GPRS
                                                            Backup              Port de connexion USB
                              (Baseband)

                                                                         Application
                                           Carte SIM
                                                                     (Jeux "trojanisés« )

Vecteurs d’attaque distants
Vecteurs d’attaque locaux
    © Sogeti
Can we trust smartphones ?
Sécurité des Tablettes et Smartphones
Démarrage sur un disque alternatif

•      Vulnérabilité dans la chaine de confiance de démarrage
        – Exécution de code non signé lors du démarrage en mode DFU
               • Seulement valide sur certaines versions (iPhone < 4s & iPad 1)

           – Les outils du Framework iPhoneDataProtection permettent d’exploiter
             cette faille et de retrouver un mot de passe de 4 caractères en 20min.
               • Seul les Geeks et quelques initiés définissent un mot de passe avec une
                 longueur > 4.
               • Cette attaque permet d’accéder à l’intégralité des données stockée sur
                 l’équipement.

© Sogeti
Can we trust smartphones ?
Sécurité des Tablettes et Smartphones
AFC Protocol for fun & profit

•      AFC (Apple File Connection)
           –   Présent et actif sur tous les iDevice
           –   Utilisé par iTunes pour la synchronisation et les sauvegardes
           –   Cloisonné dans le répertoire /private/var/mobile/Media
           –   Géré par le demon /usr/libexec/afcd
           –   Implémenté dans la librairie open source libiMobileDevice

•      Que peut on faire
           –   Accès possible aux répertoires des applications
                •   Accéder au fichier de préférence par défaut des applications et parfois aux mots de passe
           –   Accès au répertoire du téléphone
           –   Accès au document de l’utilisateur
           –   Accès possible uniquement après déverrouillage de l’équipement
           –   Lancement d’une sauvegarde

© Sogeti
Can we trust smartphones ?
Exemple de scenario d’attaque (1/2)
Station de charge compromise

•      Scenario:
           – L'utilisateur doit envoyer des emails a un client
             important, mais le niveau de la batterie est
             très faible:
               • L'utilisateur connecte son équipement sur une
                 station de recharge compromise (par exemple
                 dans un aéroport).
               • L'appareil est déverrouillé (l'utilisateur souhaite
                 envoyer un email).

•      Attaque :
           – Puisque le périphérique est déverrouillé
             l'attaquant est capable de synchroniser /
             copier toutes les applications et les données
             sur la fausse station.

© Sogeti
Exemple de scenario d’attaque (2/2)
iPown Dock & Evilmaid

• Utilisation d’une station d’écoute / réveil compromis pour
  extraire les données.

© Sogeti
Sécurité des Tablettes et Smartphones
Sauvegarde iTunes

•      Emplacement des fichiers
           –   %APPDATA%/Apple Computer/MobileSync/Backup/
           –   Protection par mot de passe possible
           –   Fichiers stockés individuellement
           –   Chiffrement (AES-256 CBC)
           –   Nom des fichiers : SHA1 haches

•      Contenu du répertoire,
           –   Status.plist – Etat de la dernière synchronisation
           –   Manifest,plist – Informations sur les fichiers sauvegardés
           –   Info.plist – Informations sur l’équipement
           –   Fichiers sauvegardé (SHA1)
           –   Keychain

© Sogeti
Sécurité des Tablettes et Smartphones
Analyse forensics sur les backup

• Framework iPhoneDataProtection [Sogeti] :
           – Attaque par recherche exhaustive sur le mot de passe des
             sauvegardes (Excessivement lent).
              • Elcomsoft (Entre 870 mdp/s sur CPU et 35000 mdp/s sur GPU)

           – Extraction des fichiers sauvegardés

           – Extraction du contenu du Keychain
              • Extraire certaines données peut nécessiter la connaissance de la
                clé 0x835 accessible seulement sur l’équipement
                   – Extraction de la clé 0x835:
                       » Jailbreak de l’équipement
                       » Accès SSH
                       » Kernel_patcher
                       » Device_info

© Sogeti
Sécurité des Tablettes et Smartphones
Extraction des Backups

© Sogeti
Sécurité des Tablettes et Smartphones
Analyse des données présent dans le keychain

• Keychain: Coffre fort numérique de l‘équipement
                    –     Inclus dans les sauvegardes
                    –     Clés de chiffrement
                    –     Identifiants
                    –     Certificats
    Extraction possible
       sans jailbreak

© Sogeti
Sécurité des Tablettes et Smartphones
Extraction de la clé 0x835   (Après Jailbreak)

© Sogeti
Sécurité des Tablettes et Smartphones
Conclusion

•      Les équipements mobiles sont conçus pour la grande distribution.

•      Les constructeurs ont intégré de la sécurité mais il reste des vulnérabilités.
           –   Jailbreak / Root des équipements.

•      Une fois jailbreaké / Rooté il n’est plus possible de garantir la
       confidentialité des éléments stockés / échangés sur l’équipement.

© Sogeti
Agenda

           Le BYOD en quelques mots

           Intégration de la sécurité dans un projet de mobilité
               - Sécurité des tablettes
               - Sécurité des applications mobiles
               - Mobile Device Management

            Retour d’expérience « sécurité » projet « BYOD »

           Conclusion

© Sogeti
REX – Application Mobile et secret d’entreprise
  Contexte & Enjeux
                                                                                                     Design     Build     Run
  XXXX développe des applications mobiles à destination des VIP et des chefs de projets.
  Ces applications permettent de diffuser des vidéos, des images et des fichiers PDF de
  présentation des nouveaux produits de l’organisme.
  Toute diffusion de ces documents entrainerait des pertes financières significatives pour
  l’organisme.
  Les experts Sogeti-Esec ont donc testé ces applications sous deux axes : protection des données
  stockées sur le matériel et confidentialités des données échangées.
                                                                                                                    Tablette
                                                                                                                    Smartphone

                                         Réalisation SOGETI
                                          Les tests techniques suivants ont été réalisés lors de                    Apple iOS
                                          cette prestation:                                                         Android
                                           • Test en boite noire:                                                   BlackBerry
                                                   • Tentative d’injection de code
                                                   • Tentative de récupération d’informations (mot
                                                     de passe, certificats…).
                                                   • Bypass de l’authentification
                                           • Analyse du code source de l’application en boîte
                                             blanche :
                                                   • Analyse des protocoles de communications                       On Shore
                                                   • Analyse de la méthode d’authentification
                                                   • Analyse des fonctionnalités de contrôle de la
                                                     validité des données entrante et de fonctions
                                                     de chiffrement.
                                                   • Analyse des fonctionnalités de détection du
                                                     jailbreak.
                                                                                                              2011/2012
                                         Afin de permettre au client d’intégrer les
                                         recommandations dans chacun de ses projets à venir,
                                         SOGETI développe actuellement un Framework de
                                         développement sécurisé prenant en compte
                                         l’ensemble des bonnes pratiques et des
                                         recommandations émises lors des tests d’intrusion.

© Sogeti                                    Sogeti, orchestrateur de la mobilité de l’entreprise
Sécurité des Applications
Stockage des mots de passe en clair & Possibilité d’extraction

      Equipement jailbreaké

                                       Equipement standard

© Sogeti
Sécurité des Applications
Stockage de clé de chiffrement en clair

© Sogeti
Sécurité des Applications
Stockage de clé de chiffrement codé en dur

© Sogeti
Points de vigilance dans le développement
des applications mobiles

•      Actions préventives/curatives
           •   Identifier les éléments à protéger
           •   Chiffrer les éléments à protéger
           •   Si possible ne pas stocker les éléments crypto (Clé, IV), sinon les protéger
               (crypto boite blanche, utilisation de fonction de dérivation, obfuscation…
           •   Ne pas autoriser l’export des données stockée dans le coffre fort numérique
           •   Vérifier l’identité du client et du serveur avant d’échanger des données
           •   Vérifier l’intégrité de l’application et des fonctionnalités sensible
           •   Vérifier la validité des données saisie par les utilisateurs
           •   Intégrer des fonctionnalités pour ralentir la rétro-ingénierie
           •   Gérer la sécurité au niveau de l’équipement:
                •   Détection de jailbreak/root de l’équipement
                •   Remote wipe
                •   …

© Sogeti
Agenda

           Le BYOD en quelques mots

           Intégration de la sécurité dans un projet de mobilité
               - Sécurité des tablettes
               - Sécurité des applications mobiles
               - Mobile Device Management

            Retour d’expérience « sécurité » projet « BYOD »

           Conclusion

© Sogeti
Qu’est ce qu’un MDM ?

•      Un MDM est une solution logicielle conçue pour gérer les périphériques mobiles
       (smartphones, tablettes)

•      Gartner définit qu’un MDM inclut un logiciel fournissant les fonctions suivantes :
       distribution de logiciels, gestion des politiques, gestion des stocks, gestion de la
       sécurité et des services pour les smartphones et tablettes médias.

•      Un MDM permet aux équipes IT de surveiller les terminaux mobiles grâce à un
       logiciel installé sur les terminaux « over the air ».

•      Il existe des solutions mono-plateforme, généralement éditées par les fournisseurs
       de terminaux (Apple MDM pour iOS, RIM BES pour BlackBerry, etc.), et des
       solutions multiplateformes.

•      Les services offerts par les MDM sont définis par les fonctionnalités de
       management offerte par le système d’exploitation cible.

© Sogeti
Que peut faire un MDM ?

•      Un MDM peut :
        – Autoriser ou non des applications
                • Par exemple, autoriser Angry Birds et interdire Facebook

           – Fournir des informations sur le terminal
                •   Est-il sûr ?
                •   Quel est l’état de la batterie ?
                •   Est-il jailbreaké ou rooté ?
                •   Géolocalisation, …

           – Appliquer une politique de sécurité sur un équipement
                • Désactiver les périphériques et les services (Webcam, iCloud,…)
                • Forcer l’utilisation d’un mot de passe de déverrouillage.
                • Forcer l’utilisation d’un mot de passe pour les sauvegarde.
                     – Il n’est pas possible de définir ce mot de passe avant la première sauvegarde.

           – Effacer/ Verrouiller à distance un téléphone compromis

© Sogeti
Zoom sur les fonctionnalités
de détection de jailbreak (1/4)
           - Exemple de fonctionnalité de détection de jailbreak

           + (BOOL)doCydia {
              if ([[NSFileManager defaultManager]
                fileExistsAtPath: @"/Applications/Cydia.app"]){
                return YES;
              }
              return NO;
           }

           - La plupart des fonctionnalité de détection de jailbreak ne font que détecter la
             présence des fichiers installés lors du jailbreak:
               - Cydia,
               - SSH,
               - MobileSubstrate

           - La détection du jailbreak public fonctionne

           - Les techniques de contournement sont connues et accessible sur internet

© Sogeti
Zoom sur les fonctionnalités
de détection de jailbreak (2/4)
           – Exemple de contournement

           void* (*old_fileExistsAtPath)(void* self, SEL _cmd,NSString* path) = NULL;
           void* st_fileExistsAtPath(void* self, SEL _cmd, NSString* path){
              if ([path isEqualToString:@"/Applications/Cydia.app"){
                  NSLog(@"=>hiding %@", path);
                  return 0;
              }
              return old_fileExistsAtPath(self,_cmd,path);
           }

           __attribute__((constructor)) static void initialize() {
             NSLog(@"StealthJBInitialize!");
             MSHookMessageEx([NSFileManager class], @selector(fileExistsAtPath:),
           – Exemple de contournement
                                 (IMP)st_fileExistsAtPath, (IMP *)&old_fileExistsAtPath);
           }

© Sogeti
Zoom sur les fonctionnalités
de détection de jailbreak (3/4)
           – Exemple de contournement : DEMO

© Sogeti
Zoom sur les fonctionnalités
de détection de jailbreak (4/4)

•      Manque de maturité
           –   Depuis cette analyse le niveau de complexité de ces fonctionnalités à
               augmenter conformément aux bonnes pratiques de sécurité.
                •   Chiffrement/déchiffrement des chaines de caractères à la volée.

•      A décharge:
           –   La détection de jailbreak est réalisée au lancement de l’application
           –   Aucun test n’est réalisable avant ou pendant l’installation
           –   Les clients MDM sont disponibles sur l’Apple Store
                •   Il est donc possible de les analyser sur un équipement jailbreaké…

•      L’ajout de mesure défensive et l’obfuscation du binaire pourrait
       permettre d’augmenter le niveau de sécurité des client MDM.
           –   Certains MDM Commencent à implémenter ces protections.

© Sogeti
Agenda

           Le BYOD en quelques mots

           Intégration de la sécurité dans un projet de mobilité
               - Sécurité des tablettes
               - Sécurité des applications mobiles
               - Mobile Device Management

            Retour d’expérience « sécurité » projet « BYOD »

           Conclusion

© Sogeti
BYOD Penetration test feedback
                                                                                                     Design   Build     Run
  Context
  Pour ses utilisateurs VIP, XXXX a lancé un programme d’ouverture de l’accès à son Système
  d’Information aux terminaux mobiles. Les experts Sogeti-ESEC ont vérifié la capacité d’une
  personne malveillante à obtenir des accès ou des informations d’une tablette sous iOS.

                                         Réalisation SOGETI-ESEC
                                         Lors de la seconde phase de cette étude, les scénarios
                                         suivants ont été déroulés:
                                                                                                                  Tab
                                            • Vol d’un iPAD verrouillé
                                            • Vol d’un iPAD Non Verrouillé (Vol à l’arraché)
                                            • Utilisateur malveillant

                                         Les tests techniques suivants ont été réalisés lors de la                Apple iOS
                                         réalisation de ces scénarios:                                            ActiveSync
                                            • Tests d’extraction de données sur IPAD verrouillé
                                                    • Démarrage sur RamDisk
                                                    • Connexion console de débogage
                                            • Tests d’intrusion sur IPAD déverrouillé
                                                    • Tentative de contournement du MDM
                                                    • Interception Réseau
                                                    • Récupération d’information (Mot de passe,
                                                      Certificats,…) dans les sauvegardes.                        On Shore
                                            • Tests d’intrusion du service
                                                    • Injection de code
                                                    • Accès sans habilitation (mail, calendrier…)
                                            • Tests d’intrusion sur système jailbreaké
                                                    • Démarrage sur RamDisk
                                                    • Contournement de la détection de jailbreak          2011 - 2012
                                                    • Récupération d’informations personnelles
                                                    • Intrusion du service ActiveSync

© Sogeti
Contexte

   Afin de répondre aux exigences du projet BYOD avec un niveau de
        sécurité suffisant, les tests ont ciblés les points suivants

 Conteneurisation des mails

 Ségrégation des contacts

 Confidentialité des données

© Sogeti
MDM – BYOD Exigences de sécurité

• Liste des exigences de sécurité standards
           –   Chiffrement des données sur le terminal
           –   Chiffrement des échanges en mobilité
           –   Export/récupération des données par des tiers
           –   Effacement à distance
           –   Gestion de la mise au rebut, arrêt de l’utilisation d’un
               terminal
           –   Contrôle du format du mot de passe
           –   Détection et protection contre les malwares
           –   Détection et approbation/désapprobation d’applications
           –   Sauvegarde, synchronisation des données
           –   Accès distant, authentification à double facteurs
           –   Accès direct à internet/split tunneling
           –   Restrictions du Bluetooth

© Sogeti
MDM – BYOD Risques de sécurité

      Analyse du niveau de
      risque sans mitigation

      MDM1

      MDM2

      MDM3

© Sogeti                         35
Combinaison de couches de sécurité

•      L’union fait la force !
           – Protection réseau : VPN
           – Application de la Politique de Sécurité: MDM
           – Protection de l’environnement professionnel: Sandbox applicative

© Sogeti
Résultats des tests d’intrusion (1/2)

                                      Detection du Jailbreak

           Protection des données                                  Protection contre l’accès
                proffesionelles                                            Physique
                  (Sandbox)                                       (équipement déverrouillé)

      Protection contre
                                                                        Wipe
     les attaques réseau
            (MiTM)

      Protection contre l’accès                                  Chiffrement des données
              Physique                                           (Hors chiffrement natif)
      (équipement verrouillé)

                                    Chiffrement des sauvegarde

                            MDM                VPN               Sandbox

© Sogeti
Résultats des tests d’intrusion 2/2

                                      Detection du Jailbreak

           Protection des données                                         Protection contre l’accès
               professionnelles                                                   Physique
                  (Sandbox)                                              (équipement déverrouillé)

      Protection contre
                                                                               Wipe
     les attaques réseau
            (MiTM)

      Protection contre l’accès                                         Chiffrement des données
              Physique                                                  (Hors chiffrement natif)
      (équipement verrouillé)

                                    Chiffrement des sauvegarde
                                                                                     Solution globale
                  Equipement seul           Solution Globale Analysée
                                                                                    après corrections
© Sogeti                                                                                                38
Agenda

           Le BYOD en quelques mots

           Intégration de la sécurité dans un projet de mobilité
               - Sécurité des tablettes
               - Sécurité des applications mobiles
               - Mobile Device Management

            Retour d’expérience « sécurité » projet « BYOD »

           Conclusion

© Sogeti
Conclusion

•      Concernant la sécurité la plupart des solutions ne sont pas
       matures.

•      La combinaison de solution de sécurité (VPN, MDM, Sandbox) permet
       d’atteindre un niveau de sécurité relativement satisfaisant.
           –   Les systèmes d’exploitation limitent les possibilités de sécurisation offertes aux
               vendeurs de solutions de sécurité.
           –   Les systèmes d’exploitation ne sont pas infaillibles.
           –   La sensibilisation des utilisateurs est primordiale (Risques Sécurité).

•      La sécurité d’un équipement mobile est basée sur:
           –   La sécurité des applications.
           –   La sécurité de l’équipement.
           –   La sécurité de l’infrastructure.

•      La sécurité doit être prise en compte dès le début du projet:
           –   Identification des ressources à protéger.
           –   Analyse de risque.
           –   Définition d’une infrastructure sécurisée.
           –   Validation du niveau de sécurité.
           –   Correction des éventuelles vulnérabilités.
© Sogeti
Can we trust smartphones ?

Merci de votre
  attention

Mathieu.RENARD@Sogeti.com - 03/10/2012
Vous pouvez aussi lire