Faille Android - L'attaque Dirty Stream met en danger vos apps
Mauvaise nouvelle, Microsoft vient de mettre en lumière une faille bien vicieuse qui se planque dans un paquet d’applications Android… enfin, quand je dis un paquet, je parle quand même de plus de 4 milliards d’installations concernées.
Cette saleté, baptisée “Dirty Stream”, permet à une app malveillante d’écrire tranquillou dans le répertoire d’une autre app et d’exécuter du code comme bon lui semble.
Mais comment c’est possible ce bazar ?
Eh bien figurez-vous que sous Android, les apps peuvent partager des données entre elles grâce à un système de “fournisseur de contenu”. Jusque là, tout va bien, sauf que certains petits malins ont trouvé le moyen de contourner les contrôles de sécurité en utilisant des “intents personnalisés” mal ficelées.
En clair, une app malveillante envoie un fichier avec un nom ou un chemin trafiqué à une app légitime qui, sans méfiance, l’exécute ou le stocke gentiment dans l’un de ses dossiers critiques. Et paf, l’attaquant peut alors faire mumuse avec les données de l’app cible, voler des infos sensibles comme les identifiants SMB et FTP stockés dans le fichier rmt_i.properties
, ou carrément prendre le contrôle de l’app. Bref, c’est le boxon.
Et le pire, c’est que ce genre de boulettes est monnaie courante. Les chercheurs de Microsoft ont épinglé plusieurs apps populaires, comme le gestionnaire de fichiers de Xiaomi (1 milliard d’installations, tout de même) qui utilise un chemin spécifique /files/lib
pour sauvegarder les fichiers, ce qui peut être détourné par un attaquant. Autant dire que ça fait un sacré paquet de téléphones exposés.
Heureusement, après avoir prévenu Google et les éditeurs concernés, des correctifs ont été déployés en vitesse. Mais ça la fout mal surtout quand on sait que selon l’équipe de recherche sur la sécurité des applications Android de Google, 20% des apps Android seraient vulnérables à ce type d’attaque. Ouch !
Alors, que faire pour se protéger ?
Et bien commencez par mettre à jour vos apps via le Google Play Store, à vérifier les permissions des app installées et surtout évitez d’installer des appli louches surtout si ça vient d’un store alternatif ou un APK tombé du camion. Et si vous êtes dev Android, il va falloir blinder vos apps en suivant ces bonnes pratiques :
- Ignorer le nom retourné par le fournisseur de fichiers distant lors de la mise en cache du contenu reçu
- Utiliser des noms générés aléatoirement ou assainir le nom de fichier avant d’écrire un fichier en cache
- Vérifier que le fichier en cache se trouve dans un répertoire dédié avant d’effectuer une opération d’écriture
- Utiliser
File.getCanonicalPath
et valider le préfixe de la valeur retournée pour s’assurer que le fichier est au bon endroit
Voilà, vous savez tout pour ne pas vous faire dirty streamer dans les grandes largeurs !
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).