Remove ads
De Wikipédia, l'encyclopédie libre
La sécurité logicielle des smartphones ou sécurité logicielle des téléphones intelligents est devenue une préoccupation de plus en plus importante de l'informatique liée à la téléphonie mobile. Elle est particulièrement préoccupante car elle concerne la sécurité des informations personnelles disponibles au sein des smartphones.
De plus en plus d'utilisateurs et d'entreprises utilisent au jour le jour des smartphones comme outils de communication mais aussi pour la planification, la gestion et l'organisation de leurs vies professionnelle et privée. Au sein des entreprises, ces techniques sont à l'origine de profonds bouleversements dans l'organisation des systèmes d'information et par conséquent elles deviennent la source de nouveaux risques. En effet, les smartphones collectent et compilent un nombre croissant d'informations sensibles dont l'accès doit être contrôlé afin de protéger la vie privée de l'usager et ce qui est du domaine de la propriété intellectuelle de l'entreprise.
Tout comme les ordinateurs, les smartphones sont des cibles privilégiées d'attaques. Ces attaques exploitent plusieurs faiblesses liées au smartphone: cela peut provenir des moyens de communications comme les SMS/MMS et les réseaux Wi-Fi et GSM. Ensuite des vulnérabilités aux attaques exploitant les failles logicielles qui peuvent provenir aussi bien du navigateur web que du système. Et enfin des logiciels malveillants qui le plus souvent comptent sur les faibles connaissances d'un utilisateur commun.
Différentes contre-mesures sont développées et apposées sur les terminaux au fil de leur développement, sur chacune des couches logicielles, jusqu'à la diffusion d'information à l'utilisateur final de la machine. Il y a des bonnes pratiques à respecter à tous les niveaux, de la conception à l'utilisation, en passant par le développement des systèmes d'exploitation, des couches logicielles, des applications téléchargeables sur les kiosques destinés à cet effet.
Un utilisateur de smartphone subit différentes menaces lorsqu'il utilise son téléphone. Ces menaces peuvent soit nuire au bon fonctionnement du smartphone, soit transmettre ou modifier les données de l'utilisateur. Pour ces raisons, les applications qui y sont déployées doivent avoir des garanties de confidentialité et d'intégrité quant aux informations qu'elles manipulent. De plus, certains logiciels pouvant être eux-mêmes malveillants, leurs fonctionnalités et leurs activités doivent être limitées (consultation de la position GPS, du carnet d'adresse, transmission de données sur le réseau, envoi de SMS facturés, etc.).
Il y a trois cibles privilégiées par les attaquants[1]:
À l'origine de ces attaques on retrouve les mêmes acteurs que dans l'informatique non mobile[1] :
Quand un smartphone est infecté par une personne malveillante, l'attaquant peut opérer plusieurs types d'action sur le smartphone :
Certaines attaques proviennent de failles dans le gestionnaire des SMS et des MMS.
Certains modèles de mobiles ont des problèmes dans la gestion des messages SMS binaires. Il est possible en envoyant un message mal-formé de bloquer ou de forcer le téléphone à redémarrer, menant à des attaques par dénis de service. Lorsqu'un utilisateur du modèle SIEMENS S5 recevait un SMS contenant un caractère chinois, cela menait à un déni de service[6]. La norme impose que la taille maximale d'une adresse mail soit de 32 caractères, certaines implémentations de téléphone Nokia ont montré qu'ils ne vérifiaient pas cette norme, par conséquent si un utilisateur entre une adresse mail supérieure à 32 caractères cela mène au dysfonctionnement complet du gestionnaire de messagerie qui est mis hors-service. Cette attaque est nommée "curse of silence". Une étude sur la sécurité de l'infrastructure SMS a révélé que les messages SMS envoyés depuis Internet peuvent être utilisés pour provoquer un déni de service distribué (DDoS) contre les infrastructures de télécommunications mobiles d'une grande ville. L'attaque exploite les retards dans la livraison des messages pour surcharger le réseau.
Un téléphone malintentionné envoie un MMS à d'autres téléphones avec une pièce jointe. Cette pièce jointe est infectée par un virus. À la réception du MMS, l'utilisateur a le choix ou non d'ouvrir cette pièce jointe. S'il l'ouvre, il est infecté et le virus envoie un MMS avec une pièce jointe infectée à tous les contacts de son répertoire. Le virus CommWarrior[5] utilise le carnet d'adresses et envoie des messages MMS incluant un fichier infecté aux destinataires. Exemple réel : un utilisateur a installé le logiciel qu'il a reçu comme message MMS ; ensuite le virus a commencé à envoyer des messages aux destinataires récupérés à partir du carnet d'adresse.
Attaques sur les réseaux GSM
L'attaquant peut chercher à briser le chiffrement du réseau mobile. Le chiffrement des réseaux GSM fait partie de la famille des algorithmes A5. Du fait de la politique de sécurité par l'obscurité il n'a pas été permis de tester publiquement la solidité de ces algorithmes. Il y avait principalement deux variantes de l'algorithme qui étaient déployées : A5/1 et A5/2 (chiffrement par flot), ce dernier étant une version plus faible de chiffrement pour les pays ayant des restrictions légales sur l'utilisation des schémas cryptographiques. Depuis que l'algorithme de chiffrement a été rendu public, il a été prouvé qu'il était possible de casser ces algorithmes de chiffrement en environ 6 heures[7]. En , le 3GPP a décidé de prohiber l'utilisation de A5/2.
D'autres algorithmes publics plus résistants ont été introduits : le A5/3 et le A5/4 (chiffrement par blocs) autrement appelés UEA1 ou KASUMI[8] publiés par l'ETSI. Si le réseau ne supporte pas A5/1 ni d'autres algorithmes A5 supportés par le téléphone mobile, le réseau peut à tout moment forcer l'utilisation de A5/0, qui veut dire que la communication n'est pas chiffrée. Même si le téléphone est capable de communications radio 3G ou 4G qui possèdent des algorithmes bien plus résistants que ceux du 2G GSM, le réseau peut limiter la communication radio au 2G (GSM) et forcer l'utilisation de A5/0 (non chiffré)[9]. Ceci permet l'attaque par IMSI catcher. Une fois l'algorithme cassé, l'attaquant peut intercepter en clair toutes les communications effectuées par le smartphone victime.
Attaques sur les réseaux Wi-Fi
L'attaquant peut chercher à écouter les communications Wi-Fi pour en tirer des informations (identifiant, mot de passe). Ce type d'attaque n'est pas propre aux smartphones mais ceux-ci sont très vulnérables à ces attaques car très souvent le Wi-Fi est le seul moyen de communication qu'ils possèdent pour accéder à Internet. La sécurité des réseaux sans fil (WLAN) est un sujet sensible. Au départ les réseaux sans fils étaient sécurisés par des clés WEP : ses faiblesses sont une clé de chiffrement courte qui est la même pour tous les clients connectés. De plus, plusieurs réductions dans l'espace de recherche des clés ont été trouvées par des cryptologues.
Maintenant les réseaux sans fil sont protégés par le protocole de sécurité WPA. WPA est basé sur le "Temporal Key Integrity Protocol (TKIP)" qui a été conçu pour permettre la migration de WEP à WPA sur le matériel déjà déployé. La principale amélioration en matière de sécurité concerne les clés de chiffrement dynamique. Pour les petits réseaux, la clé WPA est une "clé pré-partagée" qui est basée sur une clé partagée. Le chiffrement peut être vulnérable si la longueur de la clé partagée est courte. Avec des possibilités limitées de saisie, par exemple seulement via le clavier numérique, les utilisateurs de téléphones mobiles ont tendance à définir des clés de chiffrement courtes qui ne contiennent que des nombres. Cela augmente la probabilité qu'un attaquant réussisse une attaque par force brute. Le successeur de WPA se nomme WPA2 ; il est supposé être suffisamment sûr pour résister à une attaque par force brute. Comme pour les réseaux GSM, si l'attaquant arrive à casser la clé d'identification, il lui sera possible d'attaquer le téléphone mais aussi tout le réseau sur lequel il se trouve.
Beaucoup de smartphones se souviennent des réseaux Wi-Fi auxquels ils ont déjà été connectés, ce mécanisme permet d'éviter à l'utilisateur de s’identifier à chaque connexion. Cependant un attaquant pourrait créer un point d'accès Wi-Fi jumeau avec les mêmes paramètres et caractéristiques que le vrai réseau[10], en utilisant le fait que certains smartphones mémorisent les réseaux, ils pourraient confondre les deux réseaux et se connecter au réseau de l'attaquant qui pourra intercepter des données si celui-ci ne transmet pas ses données de manière chiffrée.
Lasco est un ver qui infecte d'abord l'appareil distant à l'aide du fichier au format SIS (en)[11]. Un fichier au format SIS (Software Installation Script) est un fichier script qui peut être exécuté par le système sans interaction avec l'utilisateur. Le smartphone croit donc recevoir le fichier d'une source sûre et le télécharge[5].
Principe des attaques sur le Bluetooth
Les problèmes de sécurité des appareils mobiles liés au Bluetooth ont été étudiés et ont montré de multiples problèmes sur différents téléphones. Une vulnérabilité simple à exploiter : les services non enregistrés ne nécessitent aucune authentification, l'application vulnérable possède un port série virtuel utilisé pour contrôler le téléphone. Un attaquant n'avait besoin que de se connecter au port pour prendre le contrôle total de l'appareil[12]. Un autre exemple, un téléphone doit être à portée et son bluetooth en mode découverte. On envoie un fichier par Bluetooth. Si le receveur accepte, un virus est transmis. Par exemple : Cabir[5] est un ver qui se propage via la connexion Bluetooth. Le ver recherche les téléphones à proximité, avec le Bluetooth en mode découverte et s'envoie vers le périphérique cible. La transmission doit être acceptée par le destinataire ; l'utilisateur doit accepter le fichier entrant et installer le programme. C'est seulement après l'installation que le ver infecte l'appareil.
Le juice jacking est un type de cyberattaque visant un téléphone intelligent, une tablette ou un autre périphérique informatique utilisant un port de rechargement (pour recharger sa batterie) qui sert également de port de transfert de données, par exemple un port USB.
Le juice jacking peut prendre deux formes :
D'autres attaques sont basées sur des failles de l'OS ou des applications du téléphone.
Le navigateur Web mobile est un vecteur d'attaque émergent pour les appareils mobiles. Tout comme les navigateurs Web d'ordinateurs personnels, les navigateurs Web mobiles sont issus de moteurs de liaison HTTP et de rendu du HTML, tels que WebKit ou Gecko.
Le déverrouillage de l'iPhone avec le firmware 1.1.1 (jailbreak[13]) a été entièrement basé sur les vulnérabilités du navigateur Web. Par conséquent, l'exploitation de cette vulnérabilité décrit ici l'importance du navigateur Web comme vecteur d'attaque pour un appareil mobile. Il y avait une vulnérabilité basée sur le dépassement de tampon de la pile dans une bibliothèque utilisée par le navigateur Web (libtiff).
Une vulnérabilité dans le navigateur web d'Android a été découverte en . Comme la vulnérabilité iPhone ci-dessus, elle était due à un module de bibliothèque obsolète et vulnérable. Une différence importante à la vulnérabilité iPhone a été l'architecture d'Android, système de sandboxing qui limitait les effets de cette vulnérabilité pour le processus de navigateur Web.
Les smartphones sont aussi victimes des piratages classiques liés au Web : hameçonnage, sites Web malveillants, la grande différence est que les smartphones ne disposent pas encore d'antivirus performant.[réf. nécessaire]
Parfois, il est possible d'échapper aux fonctions de sécurité en modifiant le système d'exploitation lui-même. Comme exemples du monde réel, cette section couvre la manipulation du firmware et des certificats de signature malveillants. Ces attaques sont difficiles.
À la fin de l'année 2004, des vulnérabilités dans l'exécution de machines virtuelles de certains appareils ont été présentées. Il était possible de contourner le vérificateur de bytecode et d'accéder aux méthodes du système d'exploitation natif sous-jacent. Les résultats de ces recherches n'ont pas été publiés dans le détail. La sécurité du firmware Symbian de Nokia Platform Security Architecture (PSA) repose sur un fichier de configuration central SWIPolicy. Par exemple il était possible en 2008 de manipuler un firmware Nokia[14] avant que celui ne soit installé, en effet dans certaines versions téléchargeables de celui-ci, ce fichier était humainement lisible, il était donc possible de le modifier et de modifier l’image du firmware, ceci a été résolu par une mise à jour de Nokia. En théorie les smartphones ont un avantage sur les disques durs car les fichiers de l’OS sont dans la mémoire morte, et ne peuvent donc être modifiés par un malware. Cependant dans certains OS il était possible de contourner cela : dans l’OS Symbian il était possible d’écraser un fichier par un fichier du même nom[14]. Sur l’OS Windows, il était possible de changer un pointeur de configuration général vers un fichier modifiable.
Quand une application est installée, la signature de cette application est vérifiée par une série de certificats. On peut créer une signature valide sans utiliser de certificat valide[15] et l’ajouter à la liste. Dans l’OS Symbian tous les certificats se trouvent dans le répertoire : c:\resource\swicertstore\dat. Avec les modifications du firmware expliquées plus haut il est très facile d’insérer un certificat valide.
Comme les smartphones sont un point d'accès permanent à internet (la plupart du temps allumé), ils peuvent être compromis au même titre que les ordinateurs par les malwares[16]. Un logiciel malveillant (malware) est un programme informatique qui a pour but de nuire au système dans lequel il se trouve. Les chevaux de Troie, les vers et les virus font partie des logiciels malveillants. Un cheval de Troie est un programme qui se trouve sur le smartphone et qui permet aux utilisateurs extérieurs de s'y connecter de manière discrète. Un ver est un logiciel qui se reproduit sur plusieurs ordinateurs à travers un réseau. Un virus est un logiciel malveillant conçu pour se propager à d'autres ordinateurs en s'insérant dans des programmes légitimes et en s'exécutant en parallèle des programmes. Il faut cependant dire que les malwares sont beaucoup moins nombreux et importants pour les smartphones que pour les ordinateurs.
Typiquement l'attaque d'un smartphone réalisée par un malware se déroule en trois phases : l'infection d'un hôte, l'accomplissement de sa fonction et la propagation de celui-ci dans le système. Un malware utilisera souvent les ressources offertes par le smartphone infecté. Il utilisera les périphériques de sortie comme le bluetooth ou l'infrarouge mais il pourra aussi utiliser le carnet d'adresse ou l'adresse mail de la personne pour infecter les connaissances de l'utilisateur. Il abusera l'utilisateur en exploitant la confiance qu'il accordera aux données envoyées par une connaissance.
L'infection correspond au moyen qu'utilise le malware pour s'introduire dans le smartphone, il peut soit utiliser une des failles précédemment présentées soit abuser de la crédulité de l'utilisateur. On classe les infections en quatre classes selon leurs degrés d'interaction avec l'utilisateur[18] :
Une fois que le malware aura infecté un téléphone il cherchera aussi à accomplir son but qui se divise en trois grandes classes, en dommages monétaires, endommager les données et/ou l'appareil, et des dommages cachés[19]:
Une fois que le malware a infecté un smartphone, il a toujours pour but de se propager d'une manière ou d'une autre[20] :
Voici différents logiciels malveillants qui existent dans le monde des smartphones avec un petit descriptif de chacun d'entre eux.
Voici un graphique qui représente les effets et actions des logiciels malveillants pour les smartphones (en 2009)[17] :
D'après le graphique, 50 logiciels malveillants n'ont pas de comportement négatif[17] si ce n'est leur faculté d'expansion.
Il existe une multitude de malwares. C'est en partie lié à la multitude de systèmes présents sur les smartphones. Cependant une volonté chez les attaquants de rendre leurs malwares multiplateformes, on peut trouver des malwares qui s'attaquent spécifiquement à un OS mais qui se propageront vers différents systèmes.
Tout d'abord pour se propager et pour agir les malwares peuvent utiliser les environnements d'exécution comme la machine virtuelle JAVA ou l’environnement Dotnet. Ils peuvent aussi utiliser des librairies présentes dans beaucoup de systèmes d'exploitation[24]. D'autres malwares disposent de plusieurs fichiers exécutables pour pouvoir s'exécuter dans plusieurs environnements et ils les répandent durant le processus de propagation. En pratique, ce type de malwares a besoin d'une connexion entre les deux systèmes d'exploitation pour l'utiliser comme un vecteur d'attaque. Cette connexion peut être une carte mémoire passée d'un appareil à un autre, un logiciel de synchronisation avec un PC ou un logiciel de transmission.
Les mécanismes de sécurité mis en place pour contrer les menaces décrites précédemment sont présentés dans cette section. Ils sont divisés en plusieurs catégories agissant à des niveaux différents ; on trouve des mesures allant de la gestion par le système d'exploitation à l'éducation comportementale de l'utilisateur[réf. souhaitée]. Les menaces prévenues par les différentes mesures ne sont pas les mêmes suivant les cas. En reprenant les deux extrêmes cités précédemment, dans le premier cas, la corruption par une application sera empêchée par le système, dans le second cas l'installation d'une application suspecte sera empêchée par l'utilisateur.
La première couche de sécurité au sein d'un smartphone se situe au niveau du système d'exploitation porté par celui-ci. Au-delà des rôles habituels d'un système d'exploitation (gérer les ressources, ordonnancer les processus), sur un smartphone, il doit également mettre en place la mécanique permettant d'introduire différentes applications et données sans pour autant introduire de risque.
Une idée centrale retrouvée au sein des systèmes d'exploitation mobiles est l'idée de sandbox. Les smartphones étant actuellement prévus pour accueillir de nombreuses applications, ils doivent mettre en place des mécanismes pour que ces installations ne représentent pas de danger ni pour eux-mêmes, ni pour les autres applications, ni pour les données (du système, des autres applications ou de l'utilisateur). Si une application malveillante parvient à atteindre un terminal, il faut que la surface d'attaque que le système offre soit la plus petite possible. Le sandboxing développe cette idée de compartimenter les différents processus, les empêchant d’interagir et donc de se nuire. En fonction des systèmes, le sandboxing ne se traduira pas de la même façon. Là où iOS mettra l'accent à limiter l'accès à son API pour les applications issues de son App Store, Android basera son sandboxing sur son héritage de Linux.
Les points suivants mettent en valeur des mécanismes mis en place dans les systèmes d'exploitation, notamment Android.
Au-dessus des sécurités du système d'exploitation, on peut ensuite trouver une couche logicielle de sécurité. Cette couche est composée de différentes briques visant à renforcer différents points : empêcher les logiciels malveillants, les intrusions, ou encore l'identification d'un utilisateur en tant qu'humain et son authentification. On y trouvera des briques logicielles qui sont notamment héritées de l'expérience de sécurité acquise avec les ordinateurs ; néanmoins, ces briques subissent, sur des smartphones, des contraintes plus fortes (voir les limitations).
Lorsqu'une application passe les différentes barrières de sécurité, tant au niveau du matériel du smartphone que des vigilances successives des responsables des magasin d'applications et des utilisateurs, elle peut mettre en œuvre les actions pour lesquelles elle a été conçue. Dès lors que lesdites actions se déclenchent, l'activité de l'application malveillante peut être détectée si l'on surveille les différentes ressources utilisables du téléphone. Suivant les buts des applicatifs, les conséquences de l'infection ne seront pas toujours les mêmes ; on peut d'ailleurs noter que toutes les applications malveillantes ne visent pas à nuire aux terminaux sur lesquels elles se sont déployées. Les points suivants décrivent différents éléments à observer sur le téléphone pour détecter une activité suspecte[43],[44].
Les différents points de surveillance cités ci-avant ne représentent que des indications et non pas des mesures permettant d'affirmer avec certitude de la légitimité de l'activité d'une application. Néanmoins, ces critères peuvent aider à cibler des recherches, surtout dans le cas où plusieurs critères se croisent, mettant en évidence une application comme ayant des utilisations suspectes des ressources.
Le trafic des informations échangées par les protocoles propres aux téléphones est un élément qui peut être surveillé. On peut placer des sécurités au sein des points de trafic des informations afin de pratiquer des détections ou des filtres de comportements anormaux. Comme l'usage des protocoles mobiles est beaucoup plus cadré que l'utilisation d'internet, les flux de données peuvent être tout à fait prévus (tel que le protocole suivi pour l'envoi d'un SMS par exemple) ; ceci permet de détecter facilement des anomalies au sein des réseaux mobiles.
Dans la chaîne de construction et de diffusion des terminaux, il est de la responsabilité des constructeurs de veiller à ce que leurs machines soient diffusées dans un état de base n'apportant aucune faille. Les utilisateurs ne sont majoritairement pas experts et nombre d'entre eux ne sont pas au fait de l'existence de failles de sécurité ; la configuration diffusée par les constructeurs sera donc la configuration conservée par nombre d'utilisateurs. Ci-dessous sont listées plusieurs points auxquels les constructeurs doivent veiller.
De nombreux comportements mal intentionnés sont permis par l'inattention de l'utilisateur. Depuis l'absence de verrouillage par mot de passe du terminal jusqu'au contrôle précis des permissions accordées aux applications, l'utilisateur a une grande part de responsabilité dans le cycle de sécurité : ne pas être le vecteur d'intrusion. Cette précaution est d'autant plus importante dans le cas où l'utilisateur est l'employé d'une entreprise et qu'il stocke, à ce titre, des données professionnelles au sein de son terminal. Ci-dessous sont détaillées quelques précautions que peut prendre un utilisateur afin de veiller correctement à son smartphone.
Ces précautions sont des mesures permettant de ne pas laisser de solution de facilité à l'intrusion de personnes ou d'applications malveillantes au sein d'un smartphone ; si les utilisateurs sont prudents, de nombreuses attaques peuvent être déjouées, tout particulièrement l'hameçonnage et les applications ne cherchant qu'à obtenir des droits sur un terminal.
Les mécanismes de sécurité cités dans cet article sont pour une bonne part hérités de la connaissance et de l'expérience acquise avec la sécurité des ordinateurs. Les briques composant les deux types d'appareils sont proches, et l'on trouve des mesures communes, telles que les antivirus et les pare-feu. Néanmoins, la mise en place de ces solutions n'est pas toujours possible ou tout au moins est fortement contrainte dans le cadre d'un terminal mobile. La raison en est la différence de ressources techniques que proposent les deux types d'appareil ; quand bien même la puissance des smartphones est de plus en plus importante, ceux-ci souffrent d'autres limitations que leur puissance de calcul.
De plus, il est à noter qu'à tous les niveaux, il est courant de constater que des mises à jour existent, peuvent être développées, ou déployées, mais que ceci n'est pas toujours fait. On peut par exemple citer un utilisateur qui ne sait pas qu'il existe une version plus récente du système d'exploitation compatible avec son smartphone, ou encore des failles connues mais non corrigées avant de longues périodes dans certains cycles de développement, lesquelles périodes permettent d'exploiter les failles mises à jour[47].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.