Disclaimer : Les études de cas ci-dessous sont inspirés de situations réelles, mais par soucis de confidentialité, les cas présentés sont fictifs et ne correspondent à aucun de nos clients.
Pour vous aider à mieux comprendre les objectifs et l’impact de réaliser un test d’intrusion, nous vous présentons ici plusieurs études de cas. Cela vous permettra d’avoir une vision plus complète qu’une simple liste de services.
Cette entreprise se spécialise dans la production industrielle. Elle fournit d’autres entreprises en matériaux et équipements. C’est une PME qui compte 340 employés répartis sur 3 sites : le siège social avec l’usine principale ainsi que 2 autres usines situées dans d’autres région du Québec.
Le risque le plus important pour elle est le déploiement d’un ransomware. En effet, un arrêt de chaîne de production aurait un impact dévastateur financièrement et les retards de production occasionnés pourraient également lui poser de sérieux problèmes avec sa clientèle.
De plus, travaillant pour de grands groupes internationaux, elle se fait de plus en plus challenger sur ses mesures de sécurité et elle a besoin de prouver à ces clients qu’elle adopte les bonnes pratiques en matière de cybersécurité.
Cette entreprise a investi en outils de sécurité, ils utilisent:
D’un point de vue plus opérationnel, ils utilisent la suite Microsoft 365 et ont migré leurs données dans le cloud (Sharepoint). Ils ont quelques solutions liées à leur secteur d’activité qu’ils ont l’obligation de garder sur leurs serveurs locaux.
Cette entreprise n’a jamais fait de tests d’intrusion. Nous avons réalisé un test d’intrusion de son réseau interne puisqu’il s’agit de son risque principal. À part un wordpress, ils n’ont pas de sites/application web.
Afin de limiter les coûts, nous avons proposé un scénario « assumed breach ». Cela signifie que nous partons du principe qu’un employé a été compromis et nous avons demandé à cette entreprise de nous fournir des credentials.
Cette entreprise a eu des problèmes avec une personne à la comptabilité qui a déjà été piégée par des campagnes de phishing plusieurs fois. Nous allons donc tester 3 types d’employés : la comptabilité, la réception (le moins d’accès dans l’entreprise) et la production (beaucoup d’enjeux dans la sécurisation des accès).
Nous avons été capables de compromettre le domaine de 4 façons différentes. Oui, ils ont reçu des alertes de leur EDR pour certaines de nos tentatives, mais nous n’avons pas été bloqués et nous avons réussi à contourner Sentinel One (tous les EDR peuvent être contournés). La compromission du domaine a été possible par :
À la présentation du rapport, nous avons brainstormé avec notre client pour l’aider dans la mise en place de son plan d’action. Quelques vulnérabilités critiques pouvaient être corrigés très rapidement via la modification de configurations. L’entreprise avait un plan de gestion des mises à jour, mais il a fallu revoir son application.
Un enjeu majeur a toutefois été l’impossibilité de mettre à jour certains équipements en usine, car la machine en question ne pouvait pas fonctionner sur des versions plus récentes. Changer les machines de l’usine n’était évidemment pas une solution réaliste à court terme, donc nous leur avons demandé de procéder à une meilleure segmentation de leur réseau et d’isoler complètement les machines en question.
En plus de la remise des résultats du test, notre client a disposé de 4 heures avec nous. Les 2 premières heures ont été utilisées pour l’aider davantage dans la préparation de son plan d’action et nous l’avons formé sur des outils gratuits, que nous utilisons, très utiles pour sa propre gestion de sa sécurité (Bloodhound et Purple Knight).
En complément du test, nous leur offrons le scan de leurs 4 IPs externes exposées sur internet pendant un an.
Cette entreprise a développé une application pour aider les professionnels dans le domaine de la santé. Elle vient de lancer son MVP pour tester son marché et valider qu’ils sont dans la bonne direction pour répondre au mieux aux besoins de leur clientèle cible.
Bien que l’entreprise soit à ses débuts, elle doit réaliser un test d’intrusion de son application pour avancer dans son développement. En effet, le MSSS exige qu’elle obtienne la certification TGV et ses clients dans le privé ont également des exigences de cybersécurité pour considérer leur application. Les données stockées dans l’application sont médicales, donc très sensibles.
De plus, pour avancer dans son développement, cette entreprise est à la recherche d’investisseurs qui ont également des attentes en la matière.
Leur produit est une application SaaS. Pour le moment, il y a uniquement une version web, mais une application mobile viendra pour la suite pour faciliter son usage auprès de ses utilisateurs qui ne sont pas toujours devant un ordinateur. Le tout fonctionne avec une REST API.
Afin de segmenter les données sensibles de ses différents clients, l’application est construite en multi-tenants. Pour le moment, chaque organisation a deux rôles : l’administrateur du tenant et ses utilisateurs.
L’application ayant été créée très récemment avec des langages récents, il est peu probable d’y retrouver des failles communes comme du XSS ou une injection SQL. Ces tests seront bien sûr effectués, mais nous proposons de mettre l’emphase sur l’API et les logiques d’affaires.
Les plus grands enjeux que nous envisageons sont la possibilité d'un utilisateur d’accéder aux données d’une autre organisation. Nous porterons une attention particulière sur la gestion des accès et la possibilité d’escalader nos privilèges.
Nous avons constaté que l’application ne vérifiait pas correctement les permissions avant de donner accès à certains objets. Ici, cela nous a permis d’accéder au tenant d’une autre organisation. De plus, certaines vérifications étaient effectuées côté client, ce qui nous a permis de les contourner.
Après la présentation du rapport et quelques discussions avec le client, ces vulnérabilités ont pu être corrigées. Cela a permis au client de rassurer ses clients et d’enclencher les démarches pour obtenir la certification TGV.
Nous avons pris une entente annuelle pour pouvoir tester ses nouvelles fonctionnalités au fur et à mesure et lui permettre de continuer à rassurer ses clients tout en limitant les coûts et les risques puisque les tests sont faits en parallèle du développement et non après avoir été poussés en production.
Cette entreprise développe des applications Saas pour répondre au besoin de ses clients. Une fois le produit fini livré aux clients, elle s’occupe également de la maintenance et de développer de nouvelles fonctionnalités au fur et à mesure du cycle de vie de l’application.
Ses clients commencent à la challenger de plus en plus sur le développement sécuritaire des applications. Son équipe est formée sur le sujet et connait bien le top 10 OWASP, mais cela n’est pas toujours suffisant pour remporter un contrat ou rassurer ses clients.
Certains appels d’offres requièrent désormais d’inclure un test d’intrusion dans le projet.
Chaque application livrée est différente puisqu’elles répondent aux besoins de différentes entreprises. Cela dit, l’entreprise choisit généralement d’utiliser des langages récents (ex: backend en GO et frontend en Javascript).
Pour avoir un code le plus propre possible, ils se reposent beaucoup sur des librairies existantes. Leur attention est surtout portée sur les API puisque c’est ici qu’il y a le plus d’erreurs possibles.
L’entreprise souhaite vraiment accroître ses compétences en cybersécurité. Quand le client le requiert, un test d’intrusion complet avec rapport sera fourni pour être conforme.
Pour les autres projets, une approche plus continue a été choisie: sans réaliser de tests d’intrusion de toute l’application, des tests itératifs sont réalisés au fur et à mesure du développement des applications pour pouvoir corriger rapidement les vulnérabilités et ne pas les reproduire dans les autres projets.
L’intégration de tests réguliers à même le projet a augmenté la valeur de leur offre de services aux yeux de leurs clients. En effet, ceux-ci sont rassurés et peuvent également plus facilement vendre leurs applications à leurs propres clients.
De plus, le travail conjoint de nos deux équipes a permis d’accroître les compétences de chaque et de gagner en efficacité. En effet, les développeurs de l’entreprise ont pu apprendre et produire un code plus sécuritaire d’entrée de jeu, chez Yack, nous avons une meilleure compréhension de leur façon de travailler et de leurs enjeux, donc nos recommandations sont toujours plus précises et adaptées.