Sécurité des systèmes mobiles Chantal Keller 8 mars 2016 Sécurité Chantal Keller 1 / 16
Un des challenges des années à venir À protéger : données : informations personnelles, activité, mots de passe,... disponibilité : pouvoir utiliser le système et ses fonctionnalités identité : numéro de téléphone,... Sécurité Chantal Keller 2 / 16
Différentes attaques Réseau : GSM, wifi, bluetooth,... Matérielles : périphériques à distance Logicielles : malware navigateur système d exploitation Sécurité Chantal Keller 3 / 16
Quelques solutions (1/2) Fermé vs. ouvert : fermeture : empêcher d installer certaines applications, d accéder au système, de modifier certaines paramètres,... ouverture : chacun (dont des spécialistes indépendant) peut étudier le système Blocage : réseau : filtre logiciel : antivirus, firewall,... monitoring : contrôle de l accès aux ressources Sécurité Chantal Keller 4 / 16
Quelques solutions (2/2) Sécurité du système d exploitation : chiffrement sandbox Responsabilité : utilisateur : permissions, chiffrement développeur : requérir le strict minimum Sécurité Chantal Keller 5 / 16
Sandbox Principe : séparer l exécution d une application du reste du système (pas d accès aux autres données, protection de la mémoire,...) restreindre l accès aux ressources (réseau, périphériques,...) Exemples : virtualisation (système complet, containers) Android : noyau Linux, permissions, communication entre activités limitée, signature Sécurité Chantal Keller 6 / 16
Plan 1 Android 2 Et ensuite? Sécurité Chantal Keller 7 / 16
Politique de sécurité d Android Volonté de sécurité : fournie par le système vérification au niveau du design, du code ; test open source rapports de bugs et réactivité Sécurité Chantal Keller 8 / 16
Sécurité système la sécurité d une couche repose sur celle de la couche précédente Sécurité Chantal Keller 9 / 16
Sécurité noyau basée sur Linux Propriétés du noyau Linux : modèle de permissions basé sur les utilisateurs : système de fichiers, gestion de la mémoire et du CPU, gestion des périphériques isolation des processus, contrôle de la communication entre processus (IPC) Application à Android : à chaque application est associé un compte utilisateur ( user ID ) groupes pour gérer les permissions Sécurité Chantal Keller 10 / 16
Système de permissions Ressources accessibles uniquement via l OS : webcam, GPS téléphonie, SMS/MMS réseau, internet, bluetooth certaines données (carte SIM : inaccessible (pas d API)) Permissions : demandées lors de l installation sur les versions récentes, possibilités de demander lors de l utilisation but : informer l utilisateur développeur : peut définir de nouvelles permissions Sécurité Chantal Keller 11 / 16
Communication entre applications/processus Mécanismes de Linux : système de fichiers, sockets, signaux,... permissions Unix Mécanismes complémentaires d Android : intentions : diffusion et réception (activités, BroadCast Receiver ) fournisseurs de contenu ( Content Provider ) : ex. carnet d adresse Sécurité Chantal Keller 12 / 16
Limitations : exemple de deux applications Photoki TM : associer ses contacts à ses photos permission : carnet d adresse, photos SandyBrush TM : jeu avec leaderboard permission : internet Sécurité Chantal Keller 13 / 16
Limitations : exemple de deux applications Photoki TM : associer ses contacts à ses photos permission : carnet d adresse, photos SandyBrush TM : jeu avec leaderboard permission : internet Solution (pas dans Android pour l instant) : vérifier à l exécution que les communications entre processus on lieu entre applications ayant des permissions compatibles Sécurité Chantal Keller 13 / 16
Plan 1 Android 2 Et ensuite? Sécurité Chantal Keller 14 / 16
Prochaine génération? Noyau sûr : OS riche communiquant avec un petit noyau sûr séparation matérielle, cryptage matériel Qualité du logiciel et du matériel test et preuve formelle de propriétés de sécurité ex : Prove & Run, PikeOS,... Sécurité Chantal Keller 15 / 16
Exemple : ProvenCore-M Sécurité Chantal Keller 16 / 16