Accélérer l'analyse du code des applications mobiles pour débusquer les failles de sécurité, c'est l'un des sujets sur lesquels se penchent les chercheurs de l'Institut Fraunhofer en Allemagne. L'objectif avec l'outil CodeScan est de parvenir en quelques millisecondes à des résultats qui peuvent actuellement demander plusieurs heures aux développeurs. Sur le Cebit 2014, qui se tient cette semaine à Hanovre, les chercheurs montrent trois outils visant à évaluer ou améliorer la sécurité des applications mobiles.

Le service Appicaptor doit aider les entreprises à identifier les apps qui menacent la sécurité ou qui ne respectent pas les règles de protection de données mises en place. App-Ray propose des fonctions similaires sous la forme d'un service hébergé ou d'une machine virtuelle que les départements informatiques peuvent déployer sur leurs propres serveurs.

Une combinaison d'analyse statique et dynamique


CodeScan n'est encore qu'un prototype. Les chercheurs continuent à renforcer sa capacité à identifier des failles dans le code à travers une combinaison d'analyse statique et dynamique. L'outil « est conçu pour Java, mais dans la mesure où les apps Android sont écrites en Java, vous pouvez l'utiliser aussi pour Android », a expliqué Eric Bodden, responsable du département Secure Software Engineering au Fraunhofer SIT (Secure Information Technology), à nos confrères d'IDG News Service. Comme les autres outils d'analyse de code du marché, celui-ci fonctionne avec un environnement de développement intégré (IDE).

Les logiciels existants sont ou bien trop lents, analysant de façon uniforme l'ensemble du code pendant la nuit sur un serveur puissant, ce qui ne permet pas d'obtenir un feedback immédiat, ou bien ils ne vont pas assez loin, n'utilisant qu'une seule méthode d'analyse à la fois avec des fonctionnalités limitées. Avec CodeScan, l'objectif est de faire ce type d'analyse presque instantanément, à l'enregistrement du code.

Cibler en premier les failles les plus dangereuses


Pour y parvenir, les chercheurs ciblent en premier les failles les plus dangereuses dans les parties du code les plus sensibles, plutôt que d'analyser avec la même profondeur la totalité du code. Parmi les erreurs le plus fréquemment rencontrées, Eric Bodden cite l'utilisation du chiffrement symétrique dont les algorithmes utilisent la même clef pour chiffrer et déchiffrer les données. « L'une des choses qu'il ne faut absolument pas faire dans ce contexte, c'est d'intégrer la clé dans le code », souligne le chercheur. Parce que cela donnera aux éventuels attaquants les éléments dont ils ont besoin pour intercepter les communications dans les deux directions. « Nous pouvons retrouver l'utilisation de ces API très rapidement et ensuite lancer une analyse spécifique pour rechercher les clés de chiffrement ».

Parmi les sujets sensibles, Eric Bodden cite celui des données personnelles et notamment des mots de passe. Lorsqu'ils travaillent sur une app, les développeurs lui permettent d'accéder aux données de connexion pendant qu'elle s'exécute. Cela ne pose pas de problèmes pendant le développement, mais il ne faut pas livrer le code sous cette forme parce que ces informations peuvent être utilisées par d'autres apps. En lançant des analyses sur les flux de données, CodeScan peut voir si un mot de passe circule vers les fichiers de connexion. « La plupart des erreurs résultent d'une mauvaise utilisation des API », pointe Eric Bodden, ou résultent d'un problème lié à la façon dont circulent les données.

Repérer les apps qui traquent le comportement


Dans les apps mobiles, les menaces pesant sur les données privées ne sont pas toujours involontaires. Un certain nombre d'outils sont installés par des éditeurs pour traquer le comportement des utilisateurs. L'équipe d'Eric Bodden a fait un test sur les 400 apps les plus utilisées et trouvé de très nombreuses fonctions de pistage. « Toutes ces entreprises peuvent récupérer des informations sur vous si vous utilisez leurs apps », souligne Jens Heider, responsable du laboratoire de test sur la sécurité mobile de l'Institut Fraunhofer.

Appicaptor
Appicaptor, un service qui s'adresse aux entreprises. (crédit : Peter Sayer/IDGNS)