Institut de la Francophonie Ecole Nationale Supérieure pour l Informatique des Télécommunications RAPPORT DE STAGE DE FIN D ETUDES Sujet : SECURITE POUR LES TELEPHONES PORTABLES Etudiant : Responsable : Pham Viet Tan Nguyen, IFI Patrick Bellot, ENST Paris, janvier 2005 TIEU LUAN MOI download : skknchat@gmail.com 2 Remerciements Je tiens à remercier particulièrement Monsieur Patrick Bellot, Professeur du Département Informatique et Réseaux (INFRES), l Ecole Nationale Supérieure des Télécommunications (ENST), pour m avoir accueilli et m avoir bien encadré pendant toute la durée du stage. J aimerais remercier sincèrement Monsieur Michel Riguidel, Responsable du Département Informatique et Réseaux, l Ecole Nationale Supérieure des Télécommunications (ENST), de ses conseils professionnels et de m a donné des meilleures conditions de travail au cours du stage. J exprime également mes vifs remerciements à Monsieur Charles Durand, Directeur de l Institut de la Francophonie pour l Informatique (IFI), d avoir préparé mon stage. Finalement, je remercie aussi vivement toutes les personnes de l ENST et de l IFI, particulièrement les thésards et les stagiaires de l INFRES, qui m ont porté leur amitié.
TIEU LUAN MOI download : skknchat@gmail.com 3 Table des matières Remerciements. 2 Table des matières. 6 Liste des figures. 8 Chapitre 2: Systèmes embarqués sécurisés : un défi .1 Exigences de sécurité.2 Défis de conception d un système embarqué sécurisé .3 Attaques sur le système embarqué.
15 Chapitre 3: Téléphones portables .3 Interfaces entre le téléphone portable et la SIM.4 Communication par GSM. 21 Chapitre 4: Système d exploitation Symbian .1 Sécurité au niveau de l OS .2 Cryptographie et chiffrement.3 Système de fichiers .4 Gestion de mémoire.3 Sécurité des applications du téléphone portable. 35 Chapitre 5: Améliorer la sécurité des téléphones portables.1 Renforcer la sécurité des téléphones portables .1 Utilisation systématique des composants matériels dédiés sécurité .2 Sécurité du code.3 Gestion du niveau de sécurité des applications et services. 44 Annexe : Vérification de code d octet Java .2 Vue d ensemble de la JVM et de vérification de code d octet.3 Approches et algorithmes .1 Analyse de flux de données .2 Vérification de l initialisation d objet.3 Problèmes des sous-programmes .4 Vérification de modèles .4 Vérification pour les dispositifs mobiles.
67 TIEU LUAN MOI download : skknchat@gmail.1 Vérification légère de code d octet .2 Vérification pour Java Smart Card. 72 TIEU LUAN MOI download : skknchat@gmail.com 5 Résumé Le problème de la sécurité des téléphones portables connaît un regain d intérêt depuis l année 2003 avec la généralisation des plates-formes Symbian OS et Windows CE : leur richesse et leurs failles dans le modèle de sécurité permettent aux attaquants de réaliser des opérations malveillantes comme le ver Cabir et récemment Skulls pour Symbian OS et le ver Dust pour Windows CE. Ce travail a pour but de faire une étude profonde sur les problèmes de sécurité des téléphones portables, notamment ceux qui utilisent le système d'exploitation Symbian et le réseau GSM. Nous nous concentrons sur les raisons pour lesquelles la sécurité des téléphones portables n'est pas actuellement garantie à fin de proposer une approche globale de la sécurité.
Cette approche passe par la définition d une architecture de sécurité intégrant le téléphone, la SIM, les services de sécurité, et s appuyant sur la certification du code des applications natives ou sensibles. Un autre intérêt du stage est la vérification de code d octet Java qui donne la possibilité de prévoir le comportement des programmes avant leur exécution réelle. Le stage est réalisé dans le cadre du grand projet européen SEINIT auquel l ENST participe. Mots clés : Sécurité des téléphones portables, Symbian, virus, attaques logicielles, informatique de confiance, vérification de code d octet.
TIEU LUAN MOI download : skknchat@gmail.com 6 Abstract The security problem of mobile phones has taken a lot of interests from 2003 with the generalization of platforms Symbian OS and Windows CE: their richness and weakness in the security model allow attackers realize many malicious operations like the worms Cabir and recently Skulls in Symbian OS or Dust in Windows CE. The purpose of this work is to make a survey on security problems of mobile phones, particularly which use the operating system Symbian and GSM network. We concentrate on reasons for which the security of mobile phones is not currently guaranteed to propose a global approach of security. This approach goes through the definition of a security architecture integrating the phone, the SIM, the services and base on code certification of native or sensible applications.
Another interest of this internship is the problem of Java bytecode verification which gives the possibility to predict programs behavior before their real execution. This work is realized in the context of European project SEINIT, in which ENST is involved. Keywords: mobile phone security, Symbian, virus, software attack, Trusted Computing Base, bytecode verification. TIEU LUAN MOI download : skknchat@gmail.com 7 Liste des figures Figure 1 Les exigences de sécurité pour un smartphone.
10 Figure 2 Les exigences communes de sécurité de systèmes embarqués. 11 Figure 3 Les attaques sur les systèmes embarqués. 15 Figure 4 L'architecture logicielle du téléphone portable. 18 Figure 5 La communication par GSM.
22 Figure 6 L'architecture de l'OS Symbian v8. 24 Figure 7 Le constructeur de deux phases (droit) dans le Symbian et le constructeur standard (gauche). 28 Figure 8 Exemple de code source Java et le code d octet correspondant. 47 Figure 9 Quelques expressions de types utilisées par le vérificateur et leur relation de sous- type.
50 Figure 10 Exemple de sous-programme et le code d'octet correspondant. 58 Figure 11 Flux de contrôle dans l'approche de vérification de modèles. 67 TIEU LUAN MOI download : skknchat@gmail.com 8 Chapitre 1: Introduction Aujourd'hui, les dispositifs mobiles apparaissent sous différentes formes et caractéristiques. Un dispositif mobile typique utilise un système d'exploitation qui permet l'installation de logiciels de producteurs tiers.
La plupart des produits ont aussi des logiciels préinstallés pour la gestion des informations personnelles telles que des applications de carnet d'adresses ou de calendrier. Quelques dispositifs incluent des applications préinstallées comme des browsers, des applications de traitement de textes, des programmes de courrier électronique, etc. Ces dispositifs sont connus généralement sous le nom d'assistant numérique personnel (PDA par la suite). Pour échanger des données avec les ordinateurs de bureau, les autres PDAs ou le réseau local, les PDA sont souvent incluent les mécanismes de communication (série, IrDA, BlueTooth, réseau local sans fil).
En plus de la fonctionnalité standard de PDAs, le smartphone ajoute un téléphone portable intégré. Cette intégration permet aux utilisateurs de porter un seul dispositif au lieu d'un portable et d'un PDA. Le sujet de la sécurité des dispositifs mobiles, en général, ou des téléphones portables, spécifiquement, n'est pas nouveau, en 2000, le virus VBS/Timofonica [52] avait pour charge d'envoyer des SMS1 aux abonnés du service Movistar. Ce virus se propageait toutefois exclusivement sur les ordinateurs personnels (PC par la suite) et n'avait pas d'impact sur les téléphones visés.
Depuis l'année 2003, le problème de la sécurité connaît un regain d'intérêt avec la généralisation des plates-formes Symbian OS [46] et Windows CE [35], qui sont beaucoup plus performantes en termes de programmation que les anciens téléphones propriétaires. La richesse de ces plates-formes et leurs failles dans le modèle de sécurité permettent aux attaquants de réaliser des attaques comme le ver Cabir [3] et récemment Skulls [42] pour Symbian OS et le ver Dust [13] pour Windows CE. Ce rapport a pour but de faire une enquête sur les problèmes de sécurité des téléphones portables, notamment les smartphones qui utilisent le système d'exploitation (OS par la suite) Symbian et le réseau GSM. Nous nous concentrons sur les raisons (les exigences de 1 SMS: Short Message Service.
TIEU LUAN MOI download : skknchat@gmail.com 9 sécurité et les solutions existantes) pour lesquelles la sécurité des téléphones portables n'est pas actuellement garantie à fin de proposer une approche globale de la sécurité. Ce stage avait été intitulé dans un premier temps « Analyse de code d octet Java » qui a pour but de faire des études sur la vérification de code d octet Java et d écrire ensuite un analyseur (vérificateur) Java pour Symbian. Au cours de réalisation du stage, nous avons constaté que le but initial n est pas assez pour garantir la sécurité des téléphones portables (comme montré dans ce rapport), le sujet est devenu ensuite « Sécurité pour les téléphones portables ». Ce travail est réalisé dans le cadre d un grand projet, SEINIT (Security Expert Initiative, http://www.org), entre les universités et les entreprises européens, auquel l ENST participe.
L objectif de SEINIT est d assurer un cadre de sécurité et de confiance, fonctionnant sur de multiples dispositifs et sur des réseaux hétérogènes. Omniprésent, interopérable, ce cadre sera également centré autour de l utilisateur final. En particulier, SEINIT définira des modèles de confiance et de sécurité innovants afin de répondre aux nouveaux enjeux de l environnement numérique ambiant. Le reste de ce rapport se compose de cinq chapitres.
Le chapitre 2 aborde les exigences de sécurité pour le système embarqué en général ainsi des défis de conception et les attaques sur le système embarqué. Une anatomie de l'architecture des téléphones portables est donnée dans le chapitre 3. Le chapitre 4 concentre sur l'OS Symbian et le développement des applications dans cet environnement. Le chapitre 5 décrit les aspects pour le renforcement de la sécurité des téléphones portables.
Finalement, le rapport se termine par la dernière section avec de conclusion dans le chapitre 6. Ce rapport se compose également d une annexe abordant la vérification de code d octet Java. Nous décrivons des divers algorithmes et leurs problèmes principaux, par exemple dans l implémentation existante de Sun. TIEU LUAN MOI download : skknchat@gmail.com 10 Chapitre 2: Systèmes embarqués sécurisés : un défi 2.1 Exigences de sécurité Les téléphones portables, spécifiquement ou les systèmes embarqués, en général, fournissent souvent les fonctions critiques qui pourraient être sabotées par des entités malveillantes.
Avant de discuter les exigences communes de sécurité des systèmes embarqués, il est important de noter qu'il y a beaucoup d'entités impliquées dans la chaîne de conception, de fabrication, et d'utilisation d'un système embarqué. Les exigences de sécurité changent selon les perspectives que nous considérons. Par exemple, considérons un smartphone2 qui est capable de communications de données, de multimédia, et de voix sans fils. Les exigences de sécurité selon les points de vue des différents participants sont comme suit : Utilisateur final Intimité et l intégrité des données personnelles Appels et transactions frauduleux Perte/vol Exécution sécurisée des applications téléchargées Fournisseur de contenu Sécurité de contenu, gestion des droits numériques Fournisseur de service des Communications sécurisées applications Non-répudiation Fournisseur de service Accès sécurisé au réseau Fabricant de téléphone Utilisation frauduleuse de service Fournisseur de logiciel et de Protection des propriétés intellectuelles matériel Figure 1 Les exigences de sécurité pour un smartphone.
Les soucis de l'utilisateur peuvent inclure la sécurité des données personnelles stockées et communiquées par le téléphone, pendant que l'inquiétude du fournisseur de contenu peut 2 Le mot smartphone est utilisé dans ce rapport comme une combinaison d un téléphone portable traditionnel et d un assistant numérique personnel (PDA). Les smartphones diffèrent des téléphones portables normaux sur le point qu ils ont un système d exploitation et le stockage local, pour que l utilisateur ou les encarteurs puissent ajouter l information et les applications comme les PDAs. TIEU LUAN MOI download : skknchat@gmail.com 11 être la protection des contenus multimédias fournis au téléphone, et le fabricant de téléphone pourrait en plus s'intéresser au secret du logiciel de propriété industrielle qui réside dans le téléphone. Pour chacun de ces cas, l'ensemble des entités non sûres (potentiellement malveillantes) peut également changer.
Par exemple, dans la perspective du fournisseur de contenu, l'utilisateur du téléphone peut être une entité non sûre. La Figure 2 cite les exigences de sécurité pour les systèmes embarqués, qui sont décrits comme suit : Figure 2 Les exigences communes de sécurité de systèmes embarqués.