Une version de cet article a été publiée dans DevOps.com. Elle a été mise à jour et publiée ici.
Le terrain de jeu entre les héros et les méchants de la cybersécurité est notoirement injuste. Les données sensibles sont le nouvel or, et les attaquants s'adaptent rapidement pour contourner les défenses, en exploitant les bogues de sécurité, petits et grands, pour en tirer un profit potentiel.
Le volume de code produit est trop important pour que les experts en sécurité - de plus en plus rares - puissent y faire face, et le coût croissant des violations de données est la preuve que quelque chose doit changer. Heureusement, pour notre sécurité numérique et la santé mentale de tous les RSSI, le mouvement DevSecOps contribue à intégrer les développeurs à la sécurité dès le début du processus de développement logiciel. Ils sont reconnus comme la première ligne de défense contre les cyberattaquants, avec le pouvoir d'éliminer les vulnérabilités courantes au bout de leurs doigts.
Cependant, leurs capacités défensives ne sont que le reflet de la formation qu'ils reçoivent, et c'est un autre défi que les équipes de sécurité doivent relever. Pour de nombreux développeurs qui reçoivent une formation au codage sécurisé dans le cadre de leur travail, le principal défi consiste à rester éveillés pendant des activités abrutissantes qui ne sont pas efficaces et qui ne les incitent pas à garder la sécurité à l'avant-plan de leurs préoccupations. Les vidéos sans âme courses ne nous y conduisent pas, les événements annuels à cocher sont une perte de temps, et personne ne gagne contre les acteurs potentiels de menaces malveillantes qui attendent de sauter sur une petite fenêtre d'opportunité.
À ce stade de notre industrie, nous avons compris qu'une formation contextuelle et pratique, dispensée dans des langages de programmation et des cadres pertinents, avec des défis qui imitent ceux qu'un développeur pourrait rencontrer dans le monde réel, est une approche bien plus attrayante.
Il s'agit de la première phase de la quête d'un développeur pour aider les gourous de l'AppSec à éliminer les vulnérabilités courantes, mais c'est au cours de la deuxième phase que les scénarios doivent devenir réels pour une force défensive suralimentée et consciente de la sécurité.
L'apprentissage par échafaudage est essentiel dans l'éducation des adultes
Lorsqu'il s'agit d'activités extrascolaires ( courses ) ou de formation en cours d'emploi, on oublie souvent que les adultes apportent avec eux un certain niveau d'expérience et de connaissances. Une bonne formation complète cette base et est structurée de manière à permettre une compréhension plus profonde et une autonomie plus rapide dans le processus d'apprentissage.
L'éducation encadrée est une méthode d'apprentissage puissante et positive qui cherche à activer et à renforcer l'expérience antérieure, tout en continuant à développer de nouvelles compétences - en morceaux gérables - qui permettent à l'élève de s'attaquer à des tâches de plus en plus difficiles avec plus de confiance. En règle générale, il s'agit d'une méthodologie qui s'accompagne d'une bonne dose de démonstrations, d'aides visuelles et d'explorations menées par l'élève.
Si nous rattachons cette approche à la formation à la sécurité des développeurs, il n'est pas surprenant que la méthode dynamique d'apprentissage par la pratique ait longtemps été préférée à l'apprentissage statique basé sur la théorie. Ils sont libres d'être les maîtres de leur domaine et doivent veiller à ce que leur temps soit bien utilisé.
Dans ce sens, apprendre à coder en toute sécurité dans un environnement contextuel hyper pertinent est essentiel, mais le "niveau supérieur" de cette étape est de voir un exploit de code vulnérable en action. Avec le contexte des vues frontales et dorsales côte à côte, il existe un lien tangible entre les actions entreprises au cours du processus de codage et ce qu'un attaquant peut potentiellement faire en prenant des raccourcis, en procédant à des configurations erronées ou à des accidents qui n'ont pas été détectés et corrigés.
Passez du rappel à l'application pour une approche véritablement préventive de la sécurité
Faire l'expérience directe de l'impact des vulnérabilités de sécurité est une pièce essentielle du puzzle de l'éducation, et c'est une chose assez rare, même avec les options de formation à la sécurité les plus modernes pour les développeurs. Le travail de base consacré à l'amélioration des compétences en matière de repérage et de correction des vulnérabilités, et le rappel de cette expérience pour éliminer les mêmes bogues dans le code en cours d'écriture sont extrêmement importants, mais ce n'est pas tout. Voir comment un code vulnérable est exploité par un acteur malveillant ajoute une puissante couche de contexte, qui souligne vraiment l'importance de sécuriser le code et d'appliquer les connaissances en matière de sécurité durement acquises pour fermer chaque fenêtre d'opportunité.
Il est généralement admis que les développeurs n'aiment pas la sécurité et qu'ils ont encore moins d'affection pour la formation à la sécurité. Leurs expériences avec les spécialistes de l'AppSec peuvent être très glaciales, et le travail de reprise causé par l'équipe de sécurité qui renvoie le code vulnérable aux développeurs pour qu'ils y remédient est le fléau de leur existence. Pour une équipe d'ingénieurs déjà très dispersée, la sécurité est le problème de quelqu'un d'autre, ce n'est pas sa priorité et c'est une entrave à sa créativité naturelle et à son objectif premier qui est de créer des fonctionnalités. Cependant, il y a tout simplement trop de code, trop de brèches et trop de risques pour les données mondiales pour que cette mentalité perdure.
Un processus DevSecOps fonctionnel permet aux développeurs de travailler en harmonie avec les équipes de sécurité dès le début du SDLC, et l'opportunité d'un apprentissage appliqué où ils peuvent interagir avec un exploit simulé et voir l'impact d'un code mal sécurisé contribue grandement à mettre les développeurs sur la même longueur d'onde que les personnes chargées de l'AppSec (qui ne sont pas si mauvaises que cela, après tout).
L'apprentissage interactif prépare les développeurs au combat des chefs
À l'heure où nous écrivons ces lignes, deux violations majeures ont été signalées en l'espace de sept jours : Razer a annoncé que plus de 100 000 données sensibles avaient été exposées, tandis que la chaîne de fournitures de bureau Staples a également signalé une fuite de données similaire. Plus d'un milliard d'enregistrements sensibles ont été exposés jusqu'à présent en 2020, et cette tendance inquiétante ne montre aucun signe de ralentissement. En d'autres termes, les acteurs malveillants ont le dessus, et les développeurs sensibilisés à la sécurité sont cruellement nécessaires pour servir de première ligne de défense.
Les défis interactifs qui se concentrent sur la simulation de telles brèches permettent aux développeurs de passer d'un rappel passif à l'application de compétences qui ont un impact sur le véritable combat des chefs : stopper les attaquants dans leur élan.