Cet article a été publié sur le blog BizTechMagazine.
Les failles de sécurité des applications devraient déjà être de l’histoire ancienne de nos jours. Après tout, le projet Open Web Application Security (OWASP) a été lancé il y a déjà 16 ans et est toujours très actif, le Web Application Security Consortium (WASC) a eu son heure de gloire entre 2004 et 2011, et des outils dynamiques de test de la sécurité des applications sont disponibles dans le commerce depuis près de dix ans. Pourtant, nous voici en 2018 en train de tenter de nous remettre du dernier tollé médiatique suscité par une énième faille de sécurité importante des applications. Plus tôt cette année par exemple, des milliers de militaires notamment français et américains, ainsi que les bases et les bâtiments où ils travaillent, ont été identifiés à partir des données GPS partagées via l’intégration entre leurs bracelets connectés et l’application de suivi d’activité sportive Strava.
Face au volume et à l’omniprésence des bugs et autres failles, la sécurité des applications n’est pas un luxe réservé aux secteurs réglementés comme les services financiers, pour ne citer qu’eux. La responsabilité de la sécurité des applications incombe à plusieurs acteurs : leurs développeurs – quel que soit leur secteur d’activité – mais aussi leurs installateurs et leurs utilisateurs.
Les développeurs sont responsables de la conception et la réalisation de logiciels sécurisés, et les installateurs du choix des applications répondant aux exigences de sécurité et de la validation de leur bon fonctionnement. Quant aux utilisateurs, il leur appartient, dans leur vie personnelle, de défendre leur droit au respect de la vie privée et de décider de ne pas utiliser les applications qui ne le respectent pas.
Strava : ce qui a mal tourné
Dans le cas de la débâcle de Strava, nous avons assisté à une faillite complète des trois échelons de responsabilité. Pour commencer, Strava a commis au moins deux erreurs : le partage supposément anonyme des données GPS d’un utilisateur était l’option cochée par défaut et il n’était pas simple de la désactiver. Cette fonction ayant un impact sur la vie privée, elle aurait dû nécessiter un consentement explicite et être désactivée par défaut. Strava a également omis de retirer les bases militaires de ses cartes et images comme le fait par exemple Google Maps.
Dans ce cas, l’armée jouait le rôle de l’entreprise et elle a failli dans sa responsabilité de protéger ses utilisateurs contre eux-mêmes en omettant de leur fournir une formation essentielle à la sécurité et des garde-fous pour l’utilisation sans danger des fitness trackersdont ils ont été équipés en 2013 et 2015. L’armée chinoise, ayant quant à elle constaté la menace présentée par ces bracelets connectés et leurs données GPS mobiles, les a interdits dès 2015. Une nouvelle qui avait fait le tour du monde à l’époque.
Enfin, nous ne devons pas oublier les utilisateurs : les militaires. Leur métier est de protéger le pays et ses alliés, pourtant ils sont susceptibles, comme vous et moi, de négliger les menaces pour leur propre sécurité et leur vie privée au nom des réseaux sociaux. Et pourtant, on pourrait penser que certains des adeptes du jogging ou du vélo au sein de l’armée qui utilisent Strava ont des postes dans la sécurité informatique, consistant à évaluer les menaces des applications employées par les militaires.
Comment les développeurs peuvent concevoir des applications plus sécurisées ?
- Ayez une vision personnalisée de la sécurité. Utilisez des fonctionnalités telles que la modélisation des menaces pour faire en sorte de concevoir des logiciels sécurisés dès le départ. Mettez-vous dans la peau d’un hacker et demandez-vous comment vous pirateriez votre API de partage de données. Et, en tant qu’utilisateur, comment vous pourriez mettre en péril votre vie privée en partageant votre localisation avec des applications et services tiers ? L’une des clés d’un succès rapide dans la modélisation de menaces est de collaborer avec votre équipe de sécurité, en particulier si elle compte dans ses rangs des spécialistes expérimentés en matière d’attaques. Ceux-ci savent comment entrer par effraction, par conséquent mettez à profit leurs talents pour améliorer vos propres applications.
- Ne codez jamais « en dur » les mots de passe ou autres informations confidentielles dans votre application. Les mots de passe, clés API, codes d’accès et autres clés TLS pour les certificats, etc. ne doivent jamais être inscrits en clair dans le code source ou les fichiers de configuration. Activez l’authentification unique (SSO) et multifacteur. Cryptez les informations confidentielleset autres données sensibles à l’aide d’encodages puissants et limitez l’accès des systèmes selon le principe des moindres privilèges.
- Intégrez la sécurité dans l’expérience utilisateur. Le NIST (National Institute of Standards and Technology) a publié ses lignes directrices sur l’identité numérique en 2017, préconisant d’abandonner les règles de complexité, de rotation et d’historique des mots de passe. Une planification complète est nécessaire pour réussir cette transition. Cela passe, notamment, par des améliorations de l’interface utilisateur afin d’aider visuellement les utilisateurs à créer des mots de passe suffisamment longs et complexes, par exemple des instructions pour utiliser au minimum une vingtaine de caractères répartis en quatre segments d’au moins cinq caractères dont pas plus de deux ne sont répétés. Il est également conseillé de programmer du code favorisant, voire intégrant, les gestionnaires de mot de passe. Simplifiez l’emploi de ce type d’outil afin d’éviter la réutilisation des mots de passe et d’encourager les utilisateurs à en choisir de plus complexes.
Comment les installateurs peuvent renforcer la sécurité des applications ?
- Choisissez et installez des solutions comportant des fonctionnalités pour la protection des utilisateurs et des données. Si la solution n’offre pas d’emblée des fonctions telles que l’authentification multifacteur, assurez-vous qu’elle reconnaît au moins le langage SAML, de manière à pouvoir s’intégrer avec une plate-forme de gestion d’identités supportant l’authentification multifacteur.
- Evitez les solutions qui n’ont pas d’engagement envers la sécurité des applications. Effectuez des tests de pénétration sur les applications avant leur achat dans la mesure du possible. A défaut, demandez une attestation, des résultats ou d’autres justificatifs de tests de sécurité de ces applications.
- Sécurisez l’installation des applications et surveillez-les pour détecter des attaques et des mauvais usages éventuels. Il ne suffit pas de surveiller lesperformances et la disponibilité. Encore faut-il sensibiliser les utilisateurs à un usage sûr des applications.
Les utilisateurs déterminants pour la sécurisation des données
- Protégez votre vie privée en dehors de l’entreprise. Vérifiez régulièrement les paramètres de sécurité des applications et de protection de la vie privée. Au bureau, utilisez les fonctions de sécurité à votre disposition, notamment l’authentification multifacteur. Alertez le personnel technique en cas de préoccupation concernant la sécurité.
- Choisissez des mots de passe sûrs. Ne réutilisez pas les mêmes sur Internet. Faites appel à un outil spécialisé pour gérer ceux-ci ainsi que vos autres informations confidentielles. Utilisez l’authentification multifacteur si possible.
- Soyez prudent lors de l’utilisation d’applications sur des réseaux WiFI ouverts et non cryptés.Si l’application n’assure pas par elle-même la sécurité de ses transmissions, vos informations risquent d’apparaître en clair.
Dans le climat actuel des choses, chacun a donc une part de responsabilité dans la sécurité des applications. Les plus grandes responsabilités reposent sur les utilisateurs, qui doivent désormais avoir retenu la leçon dans ce domaine, si ce n’est par leur propre expérience, du moins après avoir lu dans les médias les mésaventures arrivées à d’autres. En suivant ne serait-ce qu’une partie de ces conseils, vous accomplirez un pas dans la bonne direction mais de nombreuses autres ressources sont disponibles par une simple recherche sur internet.