Qu’est-ce qu’un audit de sécurité logicielle ?


Cet article a été écrit par Jack Chan, un testeur d’intrusion chez ExpressVPN.

ExpressVPN est avant tout une société de confidentialité en ligne. Pour maintenir nos normes de sécurité élevées, nous engageons fréquemment des auditeurs tiers pour vérifier nos déclarations de sécurité. Au cours des deux dernières années, nous avons commandé plus d’une douzaine audits de sécurité indépendants couvrant toutes nos applications, notre routeur Aircove, notre politique de confidentialité, et plus encore. Celles-ci s’ajoutent à nos propres processus d’audit interne rigoureux.

Alors, quelle est la valeur des audits de sécurité logicielle et comment sont-ils menés ?

Bien que tous les types de logiciels soient soumis à des audits de sécurité, ils sont cruciaux pour les services VPN, qui jouent un rôle clé dans la protection du trafic et la confidentialité des utilisateurs. Exemples récents des incidents de sécurité majeurs impliquant des vulnérabilités dans les VPN sont des rappels saillants de l’importance d’une stratégie de sécurité solide.

Non seulement les sociétés VPN doivent travailler dur pour assurer la sécurité, mais elles doivent également pouvoir gagner la confiance des utilisateurs. C’est là qu’interviennent les audits tiers, validant nos déclarations de sécurité de manière transparente et indépendante.

Que sont les audits de sécurité ? Pourquoi sont-ils importants ?

En termes généraux, la plupart des VPN se composent de deux composants principaux : le client utilisé pour créer une connexion (généralement une application installée sur l’appareil d’un utilisateur) et un serveur ou une passerelle VPN. Le client VPN et les applications serveur sont des logiciels, écrits par le fournisseur VPN et exécutés sur du matériel (appareil utilisateur et serveur).

Dans le processus complexe de développement de logiciels, les erreurs et les bogues sont inévitables. Certains bogues sont petits, comme un bouton rendu dans la mauvaise couleur. Mais certains peuvent être volumineux, entraînant de graves vulnérabilités pouvant entraîner des appareils compromis et des fuites de données.

Un audit de sécurité est le processus d’examen des logiciels et du code source pour s’assurer qu’ils sont exempts de vulnérabilités. Dans le cadre du contrôle qualité, un produit doit être soumis à une évaluation de sécurité approfondie avant d’être mis en production pour une utilisation publique, afin de garantir que le logiciel fourni aux clients est aussi sécurisé que possible.

Comment se déroulent les audits de sécurité ?

Les audits de sécurité doivent être effectués à la fois en interne et en externe, et chacun suit une méthodologie similaire. Ils partagent l’objectif d’obtenir une compréhension complète du logiciel pour supprimer les bogues. Bien qu’ils aient le même objectif et une méthodologie similaire, ils diffèrent sur certains aspects :

Indépendance. Les auditeurs externes sont des tiers indépendants, qui agissent comme des yeux neufs. De plus, des fournisseurs réputés signalent tout problème de sécurité, quels que soient leurs propres intérêts ou leurs relations avec les équipes de développement. Bien que notre équipe de sécurité interne agisse de manière indépendante, la vérification par un tiers indépendant est un élément clé du maintien de la confiance des utilisateurs.

Niveau d’intégration. Alors que les auditeurs externes sont totalement indépendants, les audits internes s’intègrent fortement au cycle de vie du développement, intégrant la sécurité dès le début, de la conception à la livraison. Les audits internes se produisent dans le cadre du cycle de vie du développement, tandis que les audits externes se concentrent généralement sur un produit fini. Nous détaillerons comment ExpressVPN aborde cela dans la section ci-dessous.

Approche statique ou dynamique des audits de sécurité

Les auditeurs de sécurité, tant internes qu’externes, adoptent généralement deux approches lors de l’audit de logiciels : l’approche statique et l’approche dynamique.

Dans le approche statique, un auditeur de sécurité reçoit une copie du logiciel, de préférence avec le code source, et analyse sa structure, sans exécuter le logiciel. Il s’agit d’une partie essentielle d’un audit de sécurité, car elle permet au testeur de comprendre comment le code fonctionne de bout en bout.

Ensuite, dans le approche dynamique, l’auditeur exécute le logiciel, comprenant et analysant son comportement réel en temps réel. Les informations de l’analyse statique sont également utilisées ici, et c’est là que le testeur validera que les précautions de sécurité prises sont suffisamment solides pour résister aux attaques.

Après l’audit, un rapport avec les détails de chaque vulnérabilité identifiée est compilé, ainsi qu’un ensemble de recommandations. Ce rapport est partagé avec les propriétaires de produits, permettant aux développeurs d’examiner et de mettre en œuvre les correctifs recommandés. Enfin, l’auditeur examinera les correctifs mis en œuvre pour s’assurer de leur exactitude.

Tous les audits de sécurité ne sont pas de qualité égale

Tout comme les logiciels eux-mêmes, les audits de sécurité ont leurs propres mises en garde. Certains facteurs peuvent réduire la qualité d’un audit.

Limites de temps. Bien qu’ExpressVPN alloue toujours suffisamment de temps aux audits de sécurité pour s’assurer que nous maintenons un niveau élevé de qualité de nos audits (c’est-à-dire que nous obtenons une couverture de la base de code et des fonctionnalités), les audits de sécurité que nous avons observés dans l’industrie sont généralement limités dans le temps. , surtout lorsque les ressources sont limitées. Le temps nécessaire à un audit dépend de la complexité du logiciel, mais le fait d’avoir un délai plus court simplement en raison de ressources limitées réduit la couverture : certaines parties du logiciel seront exclues de la portée de l’audit. Ces limitations empêchent un audit approfondi.

Surveillance des auditeurs. ExpressVPN travaille toujours avec des fournisseurs hautement qualifiés et de confiance, et continue d’évaluer les auditeurs avec lesquels nous travaillons. Il est essentiel de travailler avec des auditeurs qui ont une connaissance approfondie et de solides compétences en matière de tests de sécurité ; un auditeur moins familiarisé avec la pile technologique utilisée par le logiciel, ou moins compétent techniquement pour bien comprendre le code, peut passer à côté de vulnérabilités potentiellement graves.

Nous sommes parfaitement conscients des limites, et nos processus d’audit interne et externe sont conçus pour répondre à ces limites. Nous allons vous expliquer ci-dessous.

Audits de sécurité chez ExpressVPN

Qu’est-ce qui différencie nos audits de sécurité ? Chez ExpressVPN, nous suivons un ensemble de flux de travail bien développés, conçus pour identifier et traiter les vulnérabilités à plusieurs étapes du cycle de vie du développement logiciel et garantir la qualité de nos audits.

Audit interne

En tant que première étape de notre flux de travail, avant l’écriture de tout code, notre équipe de sécurité joue un rôle important en tant que réviseurs de conception. Nous examinons la conception de haut niveau du logiciel en cours de construction, modélisons de manière approfondie les menaces auxquelles il pourrait être confronté et identifions les risques de sécurité potentiels, en faisant des suggestions pratiques aux développeurs pour des améliorations. Ce processus nous aide à réduire la faiblesse structurelle de nos produits et à prévenir les risques potentiels avant qu’ils ne fassent partie de notre code.

Nous continuons à travailler main dans la main avec nos ingénieurs tout au long du processus de développement pour nous assurer que nous avons une compréhension approfondie du logiciel avant de l’auditer. Lorsque l’application est presque prête à être lancée, nous commençons une évaluation et essayons de la “pirater”. Les membres de notre équipe de sécurité, grâce à leurs années d’expérience dans l’industrie et à une grande variété de technologies, sont des experts dans la pratique de l’audit, couvrant toutes les plates-formes sur lesquelles nos produits fonctionnent, y compris les clients Windows, Linux et macOS, les applications Web, firmware et clients Android et iOS.

Ce même ensemble de compétences nous a permis de offrir des performances stellaires dans des compétitions « capture the flag » (où des « drapeaux » sont secrètement cachés dans des programmes ou des sites Web conçus intentionnellement avec des vulnérabilités) lors de hackathons comme les Hack the Box CTF. En fait, lors du Hack the Box de l’année dernière, l’équipe ExpressVPN s’est classée huitième sur plus de 650 équipes.

Un audit de sécurité interne est effectué par au moins deux membres de notre équipe de sécurité, qui vérifient quotidiennement la couverture de l’audit et s’assurent que les domaines importants sont entièrement couverts. En conséquence, nous identifions systématiquement presque toutes les faiblesses graves bien avant que toute application ne soit entre les mains des clients, et cela est démontré par les constatations minimales lors des audits externes de nos produits. Pour étayer cela, le rapport complet de tous les audits externes que nous avons effectués au cours des deux dernières années est accessible au public à tout le monde – pas de paywall, pas d’abonnement, juste de la transparence.

Audit externe

Une fois l’audit interne terminé et que nous avons corrigé toutes les faiblesses identifiées, nous travaillons avec nos fournisseurs de confiance pour vérifier de manière indépendante la sécurité de nos produits. Nous partageons une documentation complète avec eux pour nous assurer qu’ils ont la même compréhension du produit que nous, et leur donnons accès au code source afin qu’ils puissent examiner ce qui se passe sous le capot.

Preuve de la solidité de nos processus d’audit interne, relativement peu de faiblesses, et généralement de faible gravité, ont été relevées par nos partenaires indépendants – et ces problèmes sont visibles par tous lorsque notre les fournisseurs publient le rapport. Il est important de noter que ces résultats positifs ne sont pas typiques de l’industrie, où il est courant de voir un plus grand nombre de problèmes et d’autres plus graves.

Avec tous les efforts mentionnés, ExpressVPN sert en toute confiance nos produits à ceux qui apprécient la sécurité, et nous continuerons à maintenir des processus de sécurité solides et transparents.





Voir le meilleur VPN