Voici la première partie d'une série de deux articles sur la conformité PCI-DSS au sein d'une organisation. Dans ce chapitre, nous détaillons comment les spécialistes AppSec peuvent travailler en étroite collaboration avec les responsables du développement pour responsabiliser les développeurs, renforcer le SSDLC et obtenir des résultats spécifiques à partir de la législation générale.
Le mot "conformité" n'est pas très excitant. Il est formel, sec, directif... et même un peu restrictif dans son ton. S'il avait une couleur, ce serait le beige. Enfin, il semble en contradiction avec toute forme d'environnement créatif ou d'innovation.
En tant que développeur, mon expérience de la "conformité" consistait généralement à lire (verticalement) quelques lignes directrices ou à regarder une présentation, avant de retourner au codage des fonctionnalités et de me concentrer sur la création d'un logiciel que les clients utiliseront et aimeront. Chacun retient ce qu'il peut dans l'instant (et essaie de faire ce qu'il faut à tout moment), mais les directives de conformité - en particulier celles qui concernent les meilleures pratiques en matière de sécurité - ne sont généralement pas rédigées à l'intention des développeurs, et les actions requises peuvent manquer de clarté. Dans ce scénario, il est trop facile de se contenter de poursuivre les objectifs en cours.
Le fait est que le développement de logiciels sécurisés n'est plus un "avantage" pour une entreprise ; il est (ou devrait être) au centre des préoccupations de chaque organisation... et si elle détient de grandes quantités d'informations sensibles sur ses clients, elle est mûre pour les cyber-attaques. Les développeurs sont les premiers à manipuler le code et, à ce titre, ils devraient être tout aussi impliqués que le reste de l'équipe dans les mesures de conformité en matière de sécurité.
Mais, attendez... écoutez-moi. Cela ne signifie pas que tout le monde doit devenir l'esclave d'un développement et de résultats logiciels rigides et dépourvus de créativité. Cela signifie que l'entreprise a la possibilité et le pouvoir de créer ensemble une norme de code plus élevée. Lentement, le monde se rend compte que, jusqu'à présent, les développeurs n'ont pas vraiment eu les bons outils à leur disposition pour faire de la sécurité une priorité (et les spécialistes de la sécurité, cloisonnés, ne peuvent pas assumer seuls cette responsabilité). Cependant, alors que l'industrie évolue vers un avenir DevSecOps où la sécurité est une responsabilité partagée, ils peuvent contribuer à endiguer le flux de vulnérabilités récurrentes lorsqu'ils sont mis en place pour réussir.
Les lignes directrices PCI-DSS couvrent la conformité de la sécurité en ligne pour les passerelles de paiement par carte - un service que la plupart d'entre nous utilisent régulièrement. Ces lignes directrices sont applicables à l'échelle mondiale et décrivent en détail ce que les développeurs doivent faire pour maintenir des normes conformes à leurs mandats, ainsi que plusieurs documents de conformité concernant des aspects de l'activité de commerce électronique.
Les violations de données sont des risques effrayants et destructeurs de réputation que les entreprises ne peuvent pas se permettre, et avec Cyber Security Ventures qui prévoit que les violations de type "zero-day" atteindront une par jour en 2021, c'est quelque chose que tout le monde dans le processus de livraison de logiciels peut aider à combattre.
Décortiquons les recommandations PCI-DSS et voyons comment elles peuvent s'appliquer à l'ensemble de l'équipe :
Hé, équipes AppSec et Compliance : Toutes les formations pour développeurs ne sont pas égales
Les développeurs des grandes (ou même des petites) entreprises ont rarement leur mot à dire sur la formation qu'ils reçoivent en cours d'emploi. Afin de conserver leurs employés vedettes, certaines entreprises proposent des programmes complets, mais ceux-ci sont encore moins répandus qu'ils ne devraient l'être. Un besoin de formation en matière de sécurité représente une excellente occasion non seulement de lancer la conformité organisationnelle sans ennuyer tout le monde, mais aussi de commencer à réchauffer les relations glaciales avec l'équipe de développement.
En ce qui concerne la conformité PCI, vous pouvez constater que les lignes directrices sont spécifiques quant aux résultats qu'elles attendent de tout logiciel exécutant des passerelles de paiement ; entre autres objectifs, elles veulent que les applications soient renforcées (ce qui est vital pour contrecarrer l'injection de code malveillant ou la falsification), qu'il y ait des contrôles du moindre privilège et une sensibilisation à grande échelle aux vulnérabilités courantes... au minimum. Tout le personnel travaillant avec des données de titulaires de cartes doit être formé de manière adéquate, et pour les développeurs, cette formation peut faire la différence entre leur succès et l'écriture d'un code sécurisé dès le début de leur processus.
Le document officiel " Best Practices for Maintaining PCI-DSS Compliance" détaille certains concepts directs concernant la sensibilisation à la sécurité, les besoins des développeurs et la formation appropriée, par exemple :
Copyright © 2006 - 2020 Conseil des normes de sécurité PCILLC. Tous droits réservés.
Cela donne une idée de la formation spécifique et approfondie requise pour doter les développeurs des compétences nécessaires, mais n'indique toujours pas de type particulier de solutions éducatives plus efficaces que d'autres. Le guide PCI-DSS pour les développeurs est un peu plus direct, identifiant le Top 10 de l'OWASP comme une référence pour apprendre à trouver et à corriger les vulnérabilités les plus courantes, ainsi que certains programmes de certification.
Mais... c'est là que le bât blesse. Comme vous l'avez sans doute constaté à l'occasion de diverses initiatives de formation et de mise en conformité sur le lieu de travail, leur qualité et leur succès futur peuvent varier considérablement. En ce qui concerne les développeurs, de nombreux programmes de formation au codage sécurisé ne semblent pas répondre à nos besoins, à nos méthodes de travail ou même à nos tâches quotidiennes de manière significative. Dans ce scénario, toutes les formations ne se valent pas, et toutes les formations ne déboucheront pas sur des logiciels plus sûrs. C'est, bien sûr, exactement le contraire de ce que vous souhaitez et cela ne réduira pas le stress de votre propre travail de manière significative. Si vous voulez réduire le fardeau et empêcher les vulnérabilités courantes de provoquer des catastrophes potentielles, vous devrez construire un pont.
Combler le fossé des compétences en matière de sécurité avec l'aide des responsables de l'ingénierie
Travailler directement avec les responsables de l'ingénierie pour trouver une solution adaptée, tout en étant adoptée par les personnes qui doivent réellement s'en charger, est un moyen rapide d'obtenir des résultats positifs en matière de sécurité. Ils auront une vision plus immédiate de leur propre équipe et pourront parler de tous les obstacles qui ont rendu la formation à la conformité difficile (à part le fait qu'elle n'est pas une bonne expérience, la plupart du temps).
Les formations en salle de classe, les vidéos à la demande et les exercices ponctuels rendent très difficile le fait de rester à jour ; il s'agit de solutions statiques qui ne peuvent pas suivre le rythme de l'évolution constante du secteur de la cybersécurité. En fin de compte, le responsable de l'ingénierie voudra voir la valeur de l'engagement en temps, et il est important de travailler avec lui et de lui fournir des options viables qui permettent d'atteindre l'objectif commun de tous : un code plus sûr et plus conforme.
À quoi ressemble donc une bonne formation ? Il ne sert pas à grand-chose d'apprendre à coder en toute sécurité par le biais de grandes quantités d'informations ponctuelles. Un processus d'apprentissage graduel et par petites bouchées facilite grandement la mémorisation et l'application en contexte, et il doit absolument se faire dans les langages et les cadres utilisés au quotidien. Personnellement, je veux être stimulé et je veux que mes efforts soient récompensés - nous sommes déjà tous assez occupés, n'est-ce pas ?
Pour se conformer aux meilleures pratiques PCI-DSS décrites ci-dessus, en fonction de la solution choisie, les responsables peuvent se retrouver à devoir assembler un patchwork de différents sites courses pour couvrir tous les langages et cadres utilisés dans l'entreprise, et c'est là que les choses deviennent très compliquées, sans parler de la difficulté pour les équipes AppSec et de conformité d'évaluer l'impact sur la sécurité et la réduction des vulnérabilités dans les logiciels. Travaillez ensemble pour trouver la bonne solution, au lieu de vous précipiter sur la mauvaise option pour obtenir un résultat rapide. Sinon, vous risquez de vous retrouver avec une solution de formation Frankenstein... et cela fait très peur.
Merci d'avoir lu la première partie de cette mini-série sur la norme PCI-DSS. Dans le dernier chapitre, nous verrons comment les RSSI et les directeurs techniques peuvent contribuer à cette transformation culturelle, habiliter les équipes et comment les premières lignes de sécurité (votre cohorte de développeurs) peuvent utiliser la sensibilisation et la conformité à la norme PCI-DSS à leur avantage.