Image demandant une confirmation pour s'authentifier

Article 1/3 : L’automatisation de tests dans un environnement sécurisé avec de l’authentification multi-facteur – Jonathan Bernales

1. Introduction aux mécanismes MFA dans le contexte du test

Bienvenue dans cette série d’articles dédiée à une analyse approfondie du test de systèmes intégrant des mécanismes d’authentification multi-facteurs. Si vous travaillez dans une entité régulée, notamment dans les secteurs financier ou bancaire, vous avez probablement été confrontés aux défis liés aux tests des flux d’authentification et de validation de transactions utilisant le MFA. Bien souvent, la décision prise consiste désactiver ses mécanismes et ne les tester que ponctuellement.

Cette série d’articles est conçue pour vous offrir une compréhension détaillée et pratique des contraintes et des meilleures pratiques dans ce domaine. Cette série est composée de trois articles qui sont les suivants :

  1. Introduction : Qu’est-ce que le MFA et pourquoi est-ce utilisé ?
  2. Les contraintes du MFA dans le test et les solutions pour automatiser cela
  3. Aller plus loin : Le RPA et l’intégration vers d’autres services

L’objectif est de vous fournir les outils nécessaires pour aborder efficacement le MFA dans vos projets de test, vous aidant ainsi à surmonter les obstacles courants et à optimiser vos processus de test tout en assurant leur exhaustivité et complétude.

2. Contexte

A. Qu’est-ce que le MFA et à quoi ça sert ?

Le MFA (multi-factor authentication (MFA) ou Two-Factor Authentication (2FA) est une méthode de sécurité qui exige plusieurs formes de vérification avant d’accorder l’accès à un système ou une application. Contrairement à l’authentification par mot de passe unique, le MFA combine, comme son nom l’indique, deux ou plusieurs facteurs de vérification indépendants : ce que l’utilisateur connaît (mot de passe), ce que l’utilisateur possède (téléphone, carte à puce), et ce que l’utilisateur est (empreinte digitale, reconnaissance faciale). Cette combinaison rend beaucoup plus difficile pour les attaquants de compromettre un compte, car ils doivent non seulement voler un mot de passe mais aussi obtenir un deuxième facteur de vérification. C’est un mécanisme qui permet donc d’améliorer considérablement la sécurité de vos accès, rendant la compromission de mots de passe moins critique.

B. Un mécanisme fortement utilisé dans les milieux régulés et financiers

La sécurité est un pilier fondamental, surtout dans les applications financières et autres environnements régulés. Par conséquent, les régulateurs exigent des mesures de sécurité robustes pour protéger les informations sensibles et prévenir les fraudes des individus. Le MFA est crucial dans ce contexte car il renforce la sécurité en nécessitant plusieurs formes de vérification avant de permettre l’accès. Concrètement, cela permet de mitiger l’impact de compromissions de comptes d’individus avec des mots de passe trop simples et présents dans des bases de données.

C. L’impact des mécanismes MFA dans le monde du test

Maintenir les mécanismes de sécurité, y compris le MFA, dans les environnements de test est essentiel. Désactiver ces mécanismes peut entraîner des tests incomplets ou non représentatifs des conditions réelles. En conservant le MFA actif, les équipes de test peuvent valider les flux métier critiques et garantir que les systèmes fonctionnent correctement et en toute sécurité, même lors des phases de test.

Souvent, tester de façon automatisée des flux identiques à ceux de production représente une charge supplémentaire, et par conséquent la solution de facilité consiste à désactiver les mécanismes de sécurité comme le MFA. Nous creuserons dans le prochain article pourquoi cela n’est pas forcément la meilleure pratique et nous décrirons quels sont les solutions qui peuvent être mis en place maximisant la qualité de test avec un coût minimal.

D. Les mécanismes existants (TOTP/SMS/Voice/etc.)

Avant de plonger dans les détails des mécanismes spécifiques de MFA, il est important de comprendre les différentes options disponibles et leurs caractéristiques. Chaque mécanisme a ses propres avantages et inconvénients en termes de sécurité, de facilité d’utilisation et de coût de mise en œuvre. Les entreprises doivent souvent faire des compromis pour choisir le mécanisme le mieux adapté à leurs besoins et à ceux de leurs utilisateurs finaux. Vous trouverez ci-dessous les mécanismes les plus courants auxquels vous avez déjà du être confrontés en tant que testeur :

1. Le SMS

Le SMS est probablement le mécanisme de MFA le plus courant. Bien qu’il soit facile à comprendre et à utiliser pour les utilisateurs, il est aussi considéré comme le moins sécurisé en raison des vulnérabilités potentielles telles que les attaques par interception de SMS. Souvent, il consiste en l’envoi d’un code à 6 chiffres sur un numéro de téléphone défini par l’utilisateur.

2. Le Mail

Similaire au SMS, le mail est une méthode courante et pratique. Cependant, il partage également des vulnérabilités similaires, notamment les risques de compromission des comptes de messagerie. À la différence des SMS, le mail peut aussi transmettre des liens de connexion uniques et pas forcément des codes à 6 chiffres.

3. L’appel vocal

L’appel vocal est moins utilisé, mais il offre une alternative intéressante, surtout dans les contextes où les SMS et les emails ne sont pas fiables. Bien que moins courant, il peut être utile dans certains scénarios spécifiques.

4. Le Time-Based One-Time Password (TOTP)

Le TOTP est un mécanisme de MFA plus sécurisé. Il utilise des algorithmes qui génèrent des mots de passe temporaires basés sur l’heure actuelle. Bien que plus sécurisé, il est moins connu du grand public, ce qui peut limiter son adoption. Il est souvent utilisé dans des environnements professionnels et proposé à des utilisateurs avec une culture poussée. Notamment, il est utilisé pour la protection de comptes d’admin dans l’IT mais aussi pour des services financiers comme les portefeuilles crypto.

5. Autres exemples

Deux autres mécanismes de MFA incluent :

  • Les clés de sécurité matérielles : telles que YubiKey, qui offrent un très haut niveau de sécurité, mais très peu utilisées par le grand publique. Elles sont souvent utilisées par des administrateurs systèmes et des individus ayant accès à des systèmes sensibles.
  • Les applications d’authentification privées : proposées par des écosystèmes comme Google qui vous demandent d’ouvrir YouTube (par exemple) pour valider un popup de connexion.

3. Les entreprises doivent faire le choix entre facilité d’utilisation et sécurité

Vous l’aurez compris, les entreprises qui souhaitent améliorer la sécurité de leurs utilisateurs finaux, doivent proposer des mécanismes d’authentification adaptés et compréhensifs. Leur cible n’est pas forcément nous les testeurs, mais plutôt les utilisateurs.

Lors de la sélection des mécanismes de MFA, elles doivent donc trouver un équilibre entre facilité d’utilisation et sécurité. Les mécanismes de sécurité doivent être suffisamment robustes pour protéger contre les menaces, mais aussi suffisamment simples pour ne pas dissuader les utilisateurs. Par exemple, bien que les clés de sécurité matérielles offrent une excellente protection, il n’est pas très réaliste de proposer aux utilisateurs d’acheter une clé YubiKey à chaque inscription… À l’inverse, des méthodes plus simples comme le SMS, bien qu’accessibles, peuvent ne pas offrir un niveau de sécurité suffisant.

Par conséquent, nous allons nous focaliser sur les méthodes d’authentification les plus communes, car ce sont celles auxquelles vous devrez faire face en tant que testeurs et automaticiens. Nous allons donc aborder lors des prochains articles comment bien tester et automatiser des flux avec du MFA sous forme de SMS, email, ou TOTP.

4. Conclusion

La sélection et l’implémentation efficaces des mécanismes de MFA dans le cadre des tests nécessitent une compréhension approfondie des contraintes réglementaires, des mécanismes existants, et des compromis entre sécurité et facilité d’utilisation. Comme indique au début, les prochains articles se concentreront en l’exploration en détail les contraintes et les meilleures pratiques pour intégrer efficacement le test de flux MFA dans vos stratégies de test automatisés.

Naturellement, nous restons à votre entière disposition si vous avez des questions, commentaires et avis sur l’article que vous venez de découvrir.

A propos de l’auteur: Jonathan Bernales

Je suis CTO chez Germen, une InsurTech mettant en place des solutions à destination de clients entreprises et particuliers. Je m’intéresse particulièrement à l’automatisation et aux mécanismes garantissant la livraison de code de qualité dans des environnements complexes, tout en assurant un haut niveau de sécurité.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Agilité

Agilité & Tests de charge incrémental

Avec l’avènement des méthodes agiles, l’organisation pour continuer à assurer la qualité technique doit évoluer (sujet évoqué dans un article précédent : lien ). L’application de la méthodologie de test de charge évolue aussi.   Le fait de tester régulièrement un SI permet une forme d’historisation des résultats. Les objectifs d’évolution

Lire la suite »
Agilité

Le test arrive-t-il plus tôt avec les méthodes Agiles ?

Teste-t-on plus tôt avec les méthodes Agiles ?? La question peut paraître triviale mais il me semble important de se la poser… Surtout que la réponse ne l’ai pas forcément! En effet, même si l’Agile permet de grandes avancées sur le shift left ces dernières ne sont pas globales comme

Lire la suite »
Automatisation

Estimer la pertinence d’automatiser un test – Brice Roselier

L’automatisation d’un test est souvent vu comme la solution à tous les problèmes du testeur. D’autres l’ont dit avant moi, un test automatisé n’est pas un simple programme qui prend 5 minutes à être analysé, conçu et implémenté et qui, une fois en place, tourne tout seul dans son coin.

Lire la suite »