Support de cours développement sécurisé sous Android

Objectif du développement sécurisé

Protéger contre le vol du terminal
Protéger contre l’exploitation de l’application par une autre application malveillante
Protéger contre l’utilisateur malveillant
Protéger les différents flux de communication

Différents modèles de sécurités

Windows Mobile Phone 7 : Pas de risque
« Pas de multi-tâches », ainsi pas de risque de key-logger
Impossibilité de faire communiquer les applications
Forte limitation des applications proposées
Windows Mobile Phone 8 : A étudier
IPhone : Peu de risque
Chiffrement du disque
Très peu de communication entre les applications
Multitâches fortement limité
Limitation des applications proposées
Android : Risque important
Chiffrement en option
De nombreux mécanismes de communication entre les applications
Véritable multitâches
Pratiquement aucune limitation sur les types applications proposées.

Sécurité sous Android

Publication des applications sur Play Store avec signature numérique
Algorithmes de chiffrements disponibles (flux, fichier)
Pas de conteneur sécurisé de clef avant la version 4
Isolation des applications (user Linux différent)
Privilèges pour accéder aux services sensibles.
Possibilité d’ajouter de nouveaux privilèges
Présentation des privilèges AVANT l’installation de l’application
Quelques vulnérabilités découvertes sur les applications root (de moins en moins) ou les surcouches constructeurs

LIRE AUSSI :  Les difficultés du développement pour des systèmes embarqués

Modèle des applications

Basé sur des Activités
sorte de page Web identifiée par une URL/Intent
Peuvent être déclenchées par toutes les applications
Publication de services
traitements en tâche de fond
utilisables par les autres applications
Événements broadcast.
Peuvent être envoyés et capturés par toutes les applications, même absentes de la mémoire
Content provider
Exposition des bases de données des applications
Barre de notification pour informer l’utilisateur sur des événements asynchrones
Tous ces canaux sont sensibles.

Authentification/habilitation

Authentification
L’utilisateur du téléphone est considéré comme « autorisé »
Valide si mécanisme de blocage du terminal (pin)
Pour les traitements sensibles, demander confirmation d’un autre PIN
La dernière version d’Android propose le multi-compte
Habilitation
Les applications utilisent des users linux différents
De nouveaux privilèges peuvent être déclarés par les applications
Habilitation pour tous, limitée aux mêmes auteurs des applications ou limitée au système.
Permet de partager des secrets entre applications du même auteur

….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Développement sous Android (1,15 MO) (Cours PPT)
développement sécurisé sous Android

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *