LES AVANTANGES DES TESTS D’INTRUSION POUR LES APPLICATIONS MOBILES ET LES APPLICATIONS WEB
Les applications mobiles sont très utilisées dans les secteurs du commerce au détail, des soins de santé et des finances. Elles sont accessibles du bout des doigts et peuvent inclure des fonctionnalités spécifiques à l’appareil, contrairement aux applications web. Il faut cependant être très prudent au niveau de la sécurité, pour les deux types d’applications. Les tests d’intrusion pour les applications mobiles sont tous aussi importants que les tests d’intrusion pour les applications web.
Comparaison entre les applications web et mobiles
Les applications web sont exécutées sur un serveur web et les utilisateurs y accèdent via un navigateur. Ces applications peuvent être aussi simples qu’un ensemble de formulaires qui initient une action ou aussi compliquées qu’un jeu vidéo au rythme soutenu ou un système de planification des ressources de l’entreprise (ERP). Une application mobile s’exécute en tant qu’application séparée du côté du client, mais est souvent développée avec du code de navigateur qui accède à un seul site. Certaines applications mobiles sont effectivement des navigateurs à une seule page alors que d’autres ajoutent des fonctionnalités natives.
Il existe également des applications mobiles entièrement natives et elles font également face des enjeux de sécurité. Mais elles sont plus variées et chacune doit être abordée selon ses propres fonctionnalités. Pour les besoins de cette discussion, nous considérerons les applications qui accèdent principalement à un serveur web, qu’elles soient autonomes ou qu’elles utilisent un navigateur ordinaire.
Les différences de risques
Les applications mobiles et les applications web ont chacune leurs propres risques. Une application web coexiste dans le navigateur avec d’autres sites. Elle a moins de contrôle sur son environnement et sur ce que l’utilisateur peut faire, comparativement à une application mobile. Elle peut s’exécuter sur un navigateur désuet sur lequel les plus récentes correctifs n’ont pas été appliqués. Elle pourrait se retrouver sur un navigateur obscur, sur lequel elle n’a jamais été testée. Il est laborieux mais nécessaire de tester l’application sur suffisamment d’environnements différents pour en avoir confiance.
Une application mobile est pourvue de son propre navigateur, elle a donc plein contrôle sur le client et le serveur. Elle fait cependant face à tellement de ses propres risques que l’OWASP (Open Web Application Security Project) a compilé une liste de risques pour les applications mobiles. Certains de ces risques sont particulièrement pertinents pour les développeurs et les testeurs de sécurité.
- Communications non sécurisées. Les applications qui transmettent des données sensibles devraient les transmettre de façon sécuritaire. Avec un navigateur, il suffit de configurer un serveur HTTPS et d’utiliser des adresses URL adéquates dans le navigateur. Une application mobile requiert plus de travail. Certaines le font insuffisamment, ignorant les erreurs de validation. D’autres ne le font pas du tout, transmettant des mots de passe et des numéros de cartes de crédit en texte clair.
- Validation inadéquate de formulaires. Les formulaires que l’on retrouve dans les applications mobiles sont vulnérables aux données malveillantes s’ils ne vérifient pas suffisamment la saisie des données. Les développeurs d’applications mobiles sont parfois négligents car ils ne considèrent pas leurs applications comme des applications web.
- Stockage de données non sécuritaire. Une application mobile doit habituellement stocker certaines données pour l’utilisateur. Certaines applications stockent des renseignements sensibles sans les protéger, de sorte que d’autres applications peuvent y accéder.
- Clés et mots de passe codés. Il faudrait un développeur vraiment imprudent pour inclure une clé ou un mot de passe à découvert dans le JavaScript d’une page, mais les développeurs d’applications mobiles ont plutôt une illusion de la sécurité. Extraire un tel renseignement d’une application mobile est plus difficile qu’à partir d’un navigateur, mais c’est tout de même un risque dangereux.
- Accès aux fonctions de l’appareil. Une application mobile peut demander l’accès au microphone, à la caméra, au courriel ou au carnet d’adresses de l’utilisateur. La plupart des utilisateurs accorderont l’accès sans réfléchir. Si l’application est compromise, elle aura accès à des renseignements auxquels une application web ne peut accéder facilement; elle pourrait même espionner l’utilisateur.
Ironiquement, les problèmes de sécurité des applications mobiles proviennent souvent d’un excès de confiance. Parce que l’application est autosuffisante, les développeurs ne s’attardent pas toujours aux problèmes de façon aussi prudente qu’ils le feraient pour un site web.
L’importance des tests d’intrusion
Tout type d’application qui accède à du code du côté serveur et qui traite des renseignements confidentiels doit faire l’objet de tests pour s’assurer qu’elle est sécuritaire. Les tests d’intrusion pour les applications mobiles diffèrent des tests d’intrusion pour les applications web. Il n’y a aucune barre d’adresse dans une application mobile; les personnes ne peuvent donc pas saisir arbitrairement des URLs. Des outils de tests différents sont requis. Des attaques réelles ou simulées peuvent impliquer de simuler l’application et de reproduire ses demandes au serveur.
Lorsque les utilisateurs accordent un accès à leurs données de santé ou de finances personnelles, ils ont le droit que ces données soient protégées. Les développeurs doivent se montrer dignes de confiance en soumettant leurs applications à des test rigoureux. Orenda Security se spécialise dans les tests d’intrusion, les tests dynamiques de sécurité des applications (DAST) et l’évaluation des applications. Nous desservons les secteurs du commerce au détail, des soins de santé et des finances.
Contactez-nous dès aujourd’hui et demandez une soumission!