Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 

De la Théorie à la pratique











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Sébastien Gioria, Owasp France : Web Agencies il est encore temps de penser à sécuriser vos applications pour les Smartphones

février 2013 par Marc Jacob

Lors de l’édition 2013 des Tech Days organisés par Microsoft, Sébastien Gioria, Owasp France Leader, Owasp Global Éducation Comittee a animé une conférence sur le thème des 10 principaux risques engendrés par le développement d’applications pour les Smartphones. Ainsi, il a mis en garde les développeurs des Web Agencies plus préoccupés a travailler sur le design des applications que par la sécurité. Selon lui c’est le bon timming pour penser à la sécurité.

En préambule il a annoncé que Windows Phone ne représente actuellement que 2% du marché des mobiles et vise à termes environ 5%. Puis, il a présenté un panorama des risques multiplateformes en faisant un focus sur les risques plutôt que sur les vulnérabilités et en centrant son intervention sur les applications développé pour Windows Mobile.

Le 1er risque concerne le stockage de données. Selon Sébastien Gioria, les données sensibles ne sont pas protégées. Toutefois, sur nos mobiles on stocke les mots de passes, les rendez-vous avec des clients… sans aucune mesure de sécurité. L’impact est simple : on déplore des possibilités de pertes de confidentialité sur les données, de divulgation d’authentification, de violation de la vie privée, enfin on se trouve confronté à des problèmes de conformité. Pour y remédier, Il conseille de sécuriser ces informations, de ne stocker que ce qui est vraiment nécessaire et surtout pas sur des éléments public comme des SD-Card... Il recommande d’utiliser des APIs de chiffrement fournis et les conteneurs sécurisés fournis par la plateforme.

Le second risque concerne les problèmes liés aux contrôles des serveurs défaillants. En effet, pour aller plus vite, les développeurs ont l’habitude d’ouvrir la plateforme à destination des serveurs ce qui pose des problèmes en particulier sur JSON, REST... Afin de déporter des applications pour les mobiles.

Le troisième est la protection insuffisante lors des transports de données. Celle-ci engendre une perte complète de chiffrement des données transmises. Un des impacts le plus significatif est le Man In the Middle, sans compté la modification des données transmises. Pour prévenir ces problèmes il faut vérifier que les données sensibles qui quittent l’appareil sont chiffrées. Il ne faut pas ignorer les erreurs de sécurité ! Il est pourtant assez simple de remédier à ce problème en codant en HTTPS au lieu de HTTP.

Le 4ème concerne les injections clients avec l’utilisation des fonctions de navigateur. Le principal impact de ce problème est l’envoi de SMS non souhaité. Pour le prévenir, il faut valider les données d’entrée, nettoyer les données...

Le 5éme risque : l’authentification et habilitation défaillante. Pour Sébastien Gioria 50% sont due à des problèmes d’architecture et 50% sont dus à des problèmes du mobile. Certaines applications se reposent uniquement sur des éléments théoriquement réputés inchangeables, mais qui peuvent être compromis IMEI, IMSI, UUDI. Pour remédier à ce problème, il est important d’avoir une authentification multi-facteur. Toutefois, cette double authentification ne permet plus d’envoyer des SMS. Pour prévenir ce risque, il recommande de ne jamais utiliser l’ID de l’opérateur.

Le 6ème risque est la mauvaise gestion des sessions. Les sessions applicatives mobiles sont généralement plus longues que sur des applications normales. Ainsi, dans un but de facilité d’utilisation et car le réseau est plus lent et moins sûr les développeurs ont pris l’habitude de permettre l’enregistrement des mots de passe de façon transparente pour l’utilisateur... ce qui bien entendu est particulièrement risqué. Ainsi, il préconise de ne pas hésiter à redemander à l’utilisateur de se ré-authentifier à plusieurs reprises. Il faut aussi s’assurer que les ID/Token peuvent rapidement être révoqués en cas de perte. Il faut utiliser des outils éprouvés et surtout chiffrer les éléments que l’on doit transmettre avec par exemple de l’HTTPS.

Le 7ème risque concerne l’utilisation des données d’entrée pour effectuer des décisions de sécurité. Elle peut être exploitée pour faire de l’injection de données comme par exemple dans le cas de Skype. Il faut donc demander les permissions lors de l’utilisation de données d’entrée et à l’utilisateur une confirmation avant l’utilisation...

Avec le 8eme problème il s’est intéressé à la perte de données via des canaux cachés. Cela implique un mélange de fonctionnalités de la plateforme et des failles de programmation. De ce fait, les données sensibles se trouvent un peu partout et surtout là où on ne s’y attend pas... Pour prévenir ce risque, il recommande de ne jamais stocker à la même place les authentifiants et les mots de passes, de supprimer les donnes sensibles avant les Screenshots, de débugger avec attention les applications avant la mise en production...

Pour le 9ème risque, il a pointé les chiffrements défectueux. Il a mentionné deux cas : une implémentation défectueuse via l’utilisation de librairies de chiffrement et une implantation « personnelle » du chiffrement. Ainsi, il a particulièrement recommandé d’utiliser le chiffrement contenu sur les plateformes. En termes de prévention, il propose de stocker les clés et les données chiffrées dans des endroits différents. De plus, selon lui, il vaut mieux utiliser le chiffrement et la librairie fournis.

Enfin, le 10ème risque concerne la perte d’information sensible. En effet, sur les mobiles il est assez simple de faire du reverse engineering. De ce fait, il a vivement une fois de plus de ne rien stocker. « Si vous avez une logique métier propriétaire il faut la faire exécuter sur les serveurs. Il n’y a jamais de raison pour stocker des informations sensibles sur les mobiles ».

En conclusion, Sébastien Gioria a rappelé que la sécurité mobile en est à ses débuts, et surtout il faut corriger les problèmes que vous avez identifiés. C’est donc le bon moment pour penser à la sécurité d’autant que les plateformes sont de plus en plus matures. Il faut dès à présent encadrer les agences web qui font du développement pour les mobiles et les alerter sur les problèmes de sécurité.


Articles connexes:


Voir les articles précédents

    

Voir les articles suivants