Il y a une question que doit se poser tout développeur, qu'il soit diplômé ou vétéran. Et la réponse est importante. Elle est devenue encore plus importante dans un monde agile, car elle aura un impact direct sur votre réussite dans le domaine du génie logiciel et sur la valeur que vous apporterez à votre prochain employeur.
C'est la question à un million de dollars. En fait, c'est la question à plusieurs millions de dollars !
Vous engagez-vous à m'aider à coder en toute sécurité ?
Le coût moyen d'une violation de données s'élève aujourd'hui à 3,6 millions de dollars. La probabilité que votre entreprise soit victime d'une violation de données cette année est d'une sur quatre. Compte tenu de ces faits, je partage les frustrations de nombreuses personnes qui constatent que les développeurs ne sortent pas de l'université avec des compétences en matière de codage sécurisé et que la sécurité est inscrite dans leur ADN.
Pourquoi ? Le génie logiciel est une profession encore relativement jeune. L'accent a été mis sur l'enseignement de la construction rapide de codes, de leur élégance et de leur fonctionnalité, mais l'attention portée à la sécurisation des codes a été très limitée. Le rythme d'évolution des méthodologies, des technologies, des langages et des opportunités ne fait qu'exacerber ces lacunes en matière de compétences.
Nous n'allons pas changer le système académique rapidement, donc les développeurs et les entreprises devraient s'attendre à ce que les développeurs aient besoin d'apprendre des compétences de codage sécurisées sur le terrain. Dans certaines professions, vous pouvez apprendre en faisant des erreurs, mais pour d'autres, ce n'est pas une option. Il en va de même pour la cybersécurité.
Les faits montrent que nous n'avons pas non plus été très performants en matière de formation à la sécurité des développeurs en cours d'emploi. La plupart des grandes failles de sécurité dans le monde sont dues à des erreurs de codage qui permettent aux pirates d'obtenir des privilèges sur les réseaux informatiques, ce qui leur permet d'accéder à des données précieuses et de les récolter. Le rapport Verizon Data Breach Investigation Report (DBIR) 2017 montre que 30 % de toutes les violations sont directement causées par des faiblesses dans la sécurité des applications web et cette conclusion est constante dans le rapport DBIR depuis 2013.
L'enquête mondiale 2017 sur les compétences DevSecOps, publiée en août 2017, a confirmé ce que nous savions déjà : si 65 % des professionnels DevOps estiment qu'il est très important d'avoir des connaissances en DevSecOps lorsqu'on entre dans l'informatique, 70 % d'entre eux pensent qu'ils ne reçoivent pas la formation nécessaire par le biais de l'enseignement formel pour réussir dans le monde DevSecOps d'aujourd'hui.
Près de 40 % des responsables du recrutement interrogés ont déclaré que les employés les plus difficiles à trouver sont les développeurs haut de gamme polyvalents ayant des connaissances suffisantes en matière de tests de sécurité. 70 % des personnes interrogées ont déclaré que la formation en matière de sécurité qu'elles avaient reçue n'était pas adaptée à leur poste actuel. En fait, moins de 4 % des personnes interrogées ont déclaré qu'elles avaient eu l'occasion de se former.
J'ai pu le constater de mes propres yeux lorsque j'ai travaillé pendant près de dix ans avec plusieurs équipes de pirates informatiques professionnels. Avec une régularité tragique, nous nous sommes introduits dans de grandes entreprises, des start-ups et des services gouvernementaux, en trouvant toujours les mêmes faiblesses.
C'est pourquoi les développeurs doivent s'exprimer lorsqu'ils sont embauchés. Si votre futur employeur ne prend pas au sérieux votre formation à la sécurité des développeurs, vous devriez réfléchir au type d'entreprise que vous envisagez de rejoindre.
La deuxième question que vous devez vous poser est de savoir comment ils prévoient de dispenser la formation. Sera-t-elle pratique et interactive ? Une formation à la sécurité des développeurs sur les vulnérabilités qui utilise des diapositives, des vidéos, des animations cliquables ou des discussions abstraites a peu de chances de vous aider directement dans votre codage. Ces formations vous permettront-elles de vous tenir continuellement au courant des dernières vulnérabilités ? Existe-t-il une guilde ou une communauté de sécurité auprès de laquelle vous pouvez apprendre ? Existe-t-il des experts en sécurité auxquels vous pouvez faire appel si vous avez besoin d'aide ?
Un engagement envers vos compétences en matière de codage sécurisé nécessite un apprentissage continu par le biais de défis pratiques dans des cadres de codage spécifiques et en vous confrontant à différentes vulnérabilités dans de multiples scénarios. Vous ne pouvez tout simplement pas apprendre les injections SQL à partir d'un seul exemple. Vous devez être exposé à de multiples exemples de différents types afin d'apprendre à reconnaître ces modèles de codage dangereux.
L'un de nos clients a demandé à ses développeurs de relever un seul défi (5 minutes) chaque jour pendant deux mois. Il a testé leurs compétences avant et après la période de formation et a observé une augmentation de 60 % des capacités de codage sécurisé sur un groupe de centaines de développeurs. Cela signifie que moins de ressources sont consacrées à la recherche et à la correction de bogues de sécurité à un stade ultérieur du cycle de vie et que d'importantes économies sont réalisées à long terme. Cela signifie que les pirates n'utiliseront pas votre code pour compromettre les données de votre entreprise.
Il y avait 11 millions de développeurs professionnels dans le monde en 2014, selon une étude d'IDC. En 2015, Burning Glass a constaté que pas moins de 7 millions d'emplois nécessitaient des compétences en codage et que les emplois dans le domaine de la programmation augmentaient en moyenne 12 % plus vite que le marché.
Il existe de nombreux emplois dans le domaine des logiciels. Prenez donc position et choisissez des employeurs qui s'engagent à prendre soin de leur sécurité, de votre sécurité et de celle de leurs clients. Par extension, choisissez des entreprises qui investissent en vous.
Il y a une question que doit se poser tout développeur, qu'il soit diplômé ou vétéran. Et la réponse est importante. Elle est devenue encore plus importante dans un monde agile, car elle aura un impact direct sur votre réussite dans le domaine du génie logiciel et sur la valeur que vous apporterez à votre prochain employeur.
C'est la question à un million de dollars. En fait, c'est la question à plusieurs millions de dollars !
Vous engagez-vous à m'aider à coder en toute sécurité ?