
La prévention à l'ère de la surface d'attaque sans fin
Une version de cet article a été publiée dans SD Times. Il a été mis à jour et diffusé ici.
Lorsque nous parlons de progrès, le progrès numérique est généralement au premier plan de la conversation. Nous voulons que tout soit meilleur, plus rapide, plus pratique, plus puissant, et nous voulons le faire pour moins d'argent, de temps et de risques. Dans la plupart des cas, ces objectifs « impossibles » sont finalement atteints ; cela peut prendre plusieurs années et plusieurs versions (et une équipe de développeurs qui pourrait lancer un coup d'État si on leur demande de changer de cap en matière de conception des fonctionnalités) encore une fois), mais chaque jour, du code change le monde.
Cependant, une grande expansion logicielle implique de grandes responsabilités, et la réalité est que nous ne sommes tout simplement pas prêts à y faire face du point de vue de la sécurité. Le développement de logiciels n'est plus une mince affaire, et lorsque nous prenons en compte tous les aspects des risques liés aux logiciels, qu'il s'agisse du cloud, des systèmes intégrés dans les appareils et les véhicules, de notre infrastructure critique, sans oublier les API qui connectent tout cela, la surface d'attaque est sans frontières et incontrôlable.
Nous ne pouvons pas nous attendre à un moment magique où chaque ligne de code est méticuleusement vérifiée par des experts en sécurité chevronnés - ce déficit de compétences n'est pas près de se combler - mais nous pouvons, en tant qu'industrie, adopter une approche plus globale de la sécurité au niveau du code.
Voyons comment nous pouvons neutraliser cette surface d'attaque infinie à l'aide des outils à portée de main :
Soyez réaliste quant au niveau de risque commercial (et à ce que vous êtes prêt à accepter)
Une sécurité parfaite n'est pas durable, mais porter un bandeau sur les yeux et prétendre que tout est un ciel bleu ne l'est pas non plus. Nous savons déjà que les organisations expédient sciemment du code vulnérable, et il est clair qu'il s'agit d'un risque calculé en fonction du délai de commercialisation des nouvelles fonctionnalités et des nouveaux produits.
La rapidité de la sécurité constitue un défi, en particulier dans les domaines où DevSecOps n'est pas la méthodologie de développement standard. Cependant, il suffit de regarder les récents Exploit Log4Shell pour découvrir comment des problèmes de sécurité relativement minimes liés au code ont ouvert la voie à une attaque réussie, et pour constater que les conséquences de ces risques calculés sur la livraison de code de moindre qualité pourraient être bien plus importantes que prévu.
Soyez à l'aise avec le fait d'être un maniaque du contrôle (d'accès)
Un nombre alarmant de violations de données coûteuses sont provoquées par des environnements de stockage cloud mal configurés, et le risque d'exposition de données sensibles résultant d'erreurs de contrôle d'accès continue de hanter les équipes de sécurité de la plupart des entreprises.
En 2019, First American Financial Corp., société du Fortune 500. Je l'ai découvert à la dure. Une erreur d'authentification, relativement simple à corriger, a entraîné la divulgation de plus de 800 millions de dossiers, notamment des relevés bancaires, des contrats hypothécaires et des pièces d'identité avec photo. Leurs liens vers les documents ne nécessitaient aucune identification d'utilisateur ni aucune connexion, ce qui les rendait accessibles à toute personne utilisant un navigateur Web. Pire encore, ils étaient enregistrés avec des numéros séquentiels, ce qui signifie qu'un simple changement de numéro dans le lien révélait un nouvel enregistrement de données.
Ce problème de sécurité a été identifié en interne avant d'être exposé dans les médias, toutefois, le fait de ne pas l'avoir correctement classé comme un problème de sécurité à haut risque et de ne pas l'avoir signalé à la haute direction pour qu'il y soit remédié d'urgence ont eu des répercussions qui se font encore sentir aujourd'hui.
Ce n'est pas pour rien que le contrôle d'accès cassé se trouve désormais tout en haut de Top 10 de l'OWASP: c'est aussi courant que la saleté, et les développeurs ont besoin de connaissances vérifiées en matière de sécurité et de compétences pratiques pour découvrir les meilleures pratiques en matière d'authentification et de privilèges dans leurs propres versions, en veillant à ce que des contrôles et des mesures soient en place pour protéger l'exposition des données sensibles.
La nature des API les rend particulièrement pertinentes et délicates ; elles sont très bavardes avec les autres applications de par leur conception, et les équipes de développement devraient avoir une visibilité sur tous les points d'accès potentiels. Après tout, ils ne peuvent pas prendre en compte des variables et des cas d'utilisation inconnus dans leur quête de logiciels plus sûrs.
Analysez votre programme de sécurité : quelle importance accordez-vous à la prévention ?
Il est logique qu'une grande partie d'un programme de sécurité soit dédiée à la réponse et à la réaction aux incidents, mais de nombreuses organisations ne parviennent pas à minimiser les risques en n'utilisant pas toutes les ressources disponibles pour prévenir un incident de sécurité en premier lieu.
Bien sûr, il existe des outils de sécurité complets qui aident à découvrir les bogues problématiques, mais près de 50 % des entreprises ont admis avoir utilisé un code d'expédition dont elles savaient qu'il était vulnérable. Les contraintes de temps, la complexité des outils et le manque d'experts qualifiés pour répondre aux rapports contribuent à ce qui était essentiellement un risque calculé, mais le fait que le code doive être sécurisé dans le cloud, dans les applications, dans les fonctionnalités des API, les systèmes intégrés, les bibliothèques et un paysage technologique en constante évolution garantit que nous aurons toujours un retard par rapport à l'approche actuelle.
Les bogues de sécurité sont un problème d'origine humaine, et nous ne pouvons pas nous attendre à ce que les robots les corrigent à notre place. Si les compétences de votre cohorte de développement ne sont pas renforcées de manière efficace (il ne s'agit pas simplement d'un séminaire annuel, mais de modules pédagogiques appropriés), vous courez toujours le risque d'accepter un code de faible qualité en tant que standard, avec les risques de sécurité qui en découlent.
Avez-vous surestimé l'état de préparation de vos développeurs ?
Les développeurs sont rarement évalués sur leurs capacités de codage sécurisé, et ce n'est pas leur priorité (ce n'est pas non plus un KPI dans de nombreux cas). Ils ne peuvent pas être les responsables de mauvaises pratiques de sécurité si on ne leur montre pas la meilleure voie à suivre ou si on ne leur dit pas que c'est une mesure de leur succès.
Trop souvent, toutefois, les organisations partent du principe que les conseils fournis ont été efficaces pour préparer l'équipe d'ingénierie à atténuer les risques de sécurité courants. En fonction de leur formation et de leur capacité à appliquer les meilleures pratiques de sécurité, il se peut qu'ils ne soient pas prêts à être la première ligne de défense souhaitable (et à empêcher les failles d'injection interminables qui obstruent les rapports de pentest).
L'idéal est que des parcours d'apprentissage de plus en plus complexes soient achevés et que les compétences qui en résultent soient vérifiées pour s'assurer qu'elles fonctionnent réellement pour le développeur dans le monde réel. Cependant, cela nécessite une norme culturelle selon laquelle les développeurs sont pris en compte dès le début et correctement activés. Si, en tant qu'industrie, nous partons dans la nature pour défendre ce vaste paysage de code que nous avons créé nous-mêmes, nous aurons besoin de toute l'aide possible... et il y en a plus devant nous que nous ne le pensons.


Le développement de logiciels n'est plus une mince affaire, et lorsque nous prenons en compte tous les aspects des risques liés aux logiciels, qu'il s'agisse du cloud, des systèmes intégrés dans les appareils et les véhicules, de notre infrastructure critique, sans oublier les API qui connectent tout cela, la surface d'attaque est sans frontières et incontrôlable.
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Veuillez réserver une démonstration.Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.


Une version de cet article a été publiée dans SD Times. Il a été mis à jour et diffusé ici.
Lorsque nous parlons de progrès, le progrès numérique est généralement au premier plan de la conversation. Nous voulons que tout soit meilleur, plus rapide, plus pratique, plus puissant, et nous voulons le faire pour moins d'argent, de temps et de risques. Dans la plupart des cas, ces objectifs « impossibles » sont finalement atteints ; cela peut prendre plusieurs années et plusieurs versions (et une équipe de développeurs qui pourrait lancer un coup d'État si on leur demande de changer de cap en matière de conception des fonctionnalités) encore une fois), mais chaque jour, du code change le monde.
Cependant, une grande expansion logicielle implique de grandes responsabilités, et la réalité est que nous ne sommes tout simplement pas prêts à y faire face du point de vue de la sécurité. Le développement de logiciels n'est plus une mince affaire, et lorsque nous prenons en compte tous les aspects des risques liés aux logiciels, qu'il s'agisse du cloud, des systèmes intégrés dans les appareils et les véhicules, de notre infrastructure critique, sans oublier les API qui connectent tout cela, la surface d'attaque est sans frontières et incontrôlable.
Nous ne pouvons pas nous attendre à un moment magique où chaque ligne de code est méticuleusement vérifiée par des experts en sécurité chevronnés - ce déficit de compétences n'est pas près de se combler - mais nous pouvons, en tant qu'industrie, adopter une approche plus globale de la sécurité au niveau du code.
Voyons comment nous pouvons neutraliser cette surface d'attaque infinie à l'aide des outils à portée de main :
Soyez réaliste quant au niveau de risque commercial (et à ce que vous êtes prêt à accepter)
Une sécurité parfaite n'est pas durable, mais porter un bandeau sur les yeux et prétendre que tout est un ciel bleu ne l'est pas non plus. Nous savons déjà que les organisations expédient sciemment du code vulnérable, et il est clair qu'il s'agit d'un risque calculé en fonction du délai de commercialisation des nouvelles fonctionnalités et des nouveaux produits.
La rapidité de la sécurité constitue un défi, en particulier dans les domaines où DevSecOps n'est pas la méthodologie de développement standard. Cependant, il suffit de regarder les récents Exploit Log4Shell pour découvrir comment des problèmes de sécurité relativement minimes liés au code ont ouvert la voie à une attaque réussie, et pour constater que les conséquences de ces risques calculés sur la livraison de code de moindre qualité pourraient être bien plus importantes que prévu.
Soyez à l'aise avec le fait d'être un maniaque du contrôle (d'accès)
Un nombre alarmant de violations de données coûteuses sont provoquées par des environnements de stockage cloud mal configurés, et le risque d'exposition de données sensibles résultant d'erreurs de contrôle d'accès continue de hanter les équipes de sécurité de la plupart des entreprises.
En 2019, First American Financial Corp., société du Fortune 500. Je l'ai découvert à la dure. Une erreur d'authentification, relativement simple à corriger, a entraîné la divulgation de plus de 800 millions de dossiers, notamment des relevés bancaires, des contrats hypothécaires et des pièces d'identité avec photo. Leurs liens vers les documents ne nécessitaient aucune identification d'utilisateur ni aucune connexion, ce qui les rendait accessibles à toute personne utilisant un navigateur Web. Pire encore, ils étaient enregistrés avec des numéros séquentiels, ce qui signifie qu'un simple changement de numéro dans le lien révélait un nouvel enregistrement de données.
Ce problème de sécurité a été identifié en interne avant d'être exposé dans les médias, toutefois, le fait de ne pas l'avoir correctement classé comme un problème de sécurité à haut risque et de ne pas l'avoir signalé à la haute direction pour qu'il y soit remédié d'urgence ont eu des répercussions qui se font encore sentir aujourd'hui.
Ce n'est pas pour rien que le contrôle d'accès cassé se trouve désormais tout en haut de Top 10 de l'OWASP: c'est aussi courant que la saleté, et les développeurs ont besoin de connaissances vérifiées en matière de sécurité et de compétences pratiques pour découvrir les meilleures pratiques en matière d'authentification et de privilèges dans leurs propres versions, en veillant à ce que des contrôles et des mesures soient en place pour protéger l'exposition des données sensibles.
La nature des API les rend particulièrement pertinentes et délicates ; elles sont très bavardes avec les autres applications de par leur conception, et les équipes de développement devraient avoir une visibilité sur tous les points d'accès potentiels. Après tout, ils ne peuvent pas prendre en compte des variables et des cas d'utilisation inconnus dans leur quête de logiciels plus sûrs.
Analysez votre programme de sécurité : quelle importance accordez-vous à la prévention ?
Il est logique qu'une grande partie d'un programme de sécurité soit dédiée à la réponse et à la réaction aux incidents, mais de nombreuses organisations ne parviennent pas à minimiser les risques en n'utilisant pas toutes les ressources disponibles pour prévenir un incident de sécurité en premier lieu.
Bien sûr, il existe des outils de sécurité complets qui aident à découvrir les bogues problématiques, mais près de 50 % des entreprises ont admis avoir utilisé un code d'expédition dont elles savaient qu'il était vulnérable. Les contraintes de temps, la complexité des outils et le manque d'experts qualifiés pour répondre aux rapports contribuent à ce qui était essentiellement un risque calculé, mais le fait que le code doive être sécurisé dans le cloud, dans les applications, dans les fonctionnalités des API, les systèmes intégrés, les bibliothèques et un paysage technologique en constante évolution garantit que nous aurons toujours un retard par rapport à l'approche actuelle.
Les bogues de sécurité sont un problème d'origine humaine, et nous ne pouvons pas nous attendre à ce que les robots les corrigent à notre place. Si les compétences de votre cohorte de développement ne sont pas renforcées de manière efficace (il ne s'agit pas simplement d'un séminaire annuel, mais de modules pédagogiques appropriés), vous courez toujours le risque d'accepter un code de faible qualité en tant que standard, avec les risques de sécurité qui en découlent.
Avez-vous surestimé l'état de préparation de vos développeurs ?
Les développeurs sont rarement évalués sur leurs capacités de codage sécurisé, et ce n'est pas leur priorité (ce n'est pas non plus un KPI dans de nombreux cas). Ils ne peuvent pas être les responsables de mauvaises pratiques de sécurité si on ne leur montre pas la meilleure voie à suivre ou si on ne leur dit pas que c'est une mesure de leur succès.
Trop souvent, toutefois, les organisations partent du principe que les conseils fournis ont été efficaces pour préparer l'équipe d'ingénierie à atténuer les risques de sécurité courants. En fonction de leur formation et de leur capacité à appliquer les meilleures pratiques de sécurité, il se peut qu'ils ne soient pas prêts à être la première ligne de défense souhaitable (et à empêcher les failles d'injection interminables qui obstruent les rapports de pentest).
L'idéal est que des parcours d'apprentissage de plus en plus complexes soient achevés et que les compétences qui en résultent soient vérifiées pour s'assurer qu'elles fonctionnent réellement pour le développeur dans le monde réel. Cependant, cela nécessite une norme culturelle selon laquelle les développeurs sont pris en compte dès le début et correctement activés. Si, en tant qu'industrie, nous partons dans la nature pour défendre ce vaste paysage de code que nous avons créé nous-mêmes, nous aurons besoin de toute l'aide possible... et il y en a plus devant nous que nous ne le pensons.

Une version de cet article a été publiée dans SD Times. Il a été mis à jour et diffusé ici.
Lorsque nous parlons de progrès, le progrès numérique est généralement au premier plan de la conversation. Nous voulons que tout soit meilleur, plus rapide, plus pratique, plus puissant, et nous voulons le faire pour moins d'argent, de temps et de risques. Dans la plupart des cas, ces objectifs « impossibles » sont finalement atteints ; cela peut prendre plusieurs années et plusieurs versions (et une équipe de développeurs qui pourrait lancer un coup d'État si on leur demande de changer de cap en matière de conception des fonctionnalités) encore une fois), mais chaque jour, du code change le monde.
Cependant, une grande expansion logicielle implique de grandes responsabilités, et la réalité est que nous ne sommes tout simplement pas prêts à y faire face du point de vue de la sécurité. Le développement de logiciels n'est plus une mince affaire, et lorsque nous prenons en compte tous les aspects des risques liés aux logiciels, qu'il s'agisse du cloud, des systèmes intégrés dans les appareils et les véhicules, de notre infrastructure critique, sans oublier les API qui connectent tout cela, la surface d'attaque est sans frontières et incontrôlable.
Nous ne pouvons pas nous attendre à un moment magique où chaque ligne de code est méticuleusement vérifiée par des experts en sécurité chevronnés - ce déficit de compétences n'est pas près de se combler - mais nous pouvons, en tant qu'industrie, adopter une approche plus globale de la sécurité au niveau du code.
Voyons comment nous pouvons neutraliser cette surface d'attaque infinie à l'aide des outils à portée de main :
Soyez réaliste quant au niveau de risque commercial (et à ce que vous êtes prêt à accepter)
Une sécurité parfaite n'est pas durable, mais porter un bandeau sur les yeux et prétendre que tout est un ciel bleu ne l'est pas non plus. Nous savons déjà que les organisations expédient sciemment du code vulnérable, et il est clair qu'il s'agit d'un risque calculé en fonction du délai de commercialisation des nouvelles fonctionnalités et des nouveaux produits.
La rapidité de la sécurité constitue un défi, en particulier dans les domaines où DevSecOps n'est pas la méthodologie de développement standard. Cependant, il suffit de regarder les récents Exploit Log4Shell pour découvrir comment des problèmes de sécurité relativement minimes liés au code ont ouvert la voie à une attaque réussie, et pour constater que les conséquences de ces risques calculés sur la livraison de code de moindre qualité pourraient être bien plus importantes que prévu.
Soyez à l'aise avec le fait d'être un maniaque du contrôle (d'accès)
Un nombre alarmant de violations de données coûteuses sont provoquées par des environnements de stockage cloud mal configurés, et le risque d'exposition de données sensibles résultant d'erreurs de contrôle d'accès continue de hanter les équipes de sécurité de la plupart des entreprises.
En 2019, First American Financial Corp., société du Fortune 500. Je l'ai découvert à la dure. Une erreur d'authentification, relativement simple à corriger, a entraîné la divulgation de plus de 800 millions de dossiers, notamment des relevés bancaires, des contrats hypothécaires et des pièces d'identité avec photo. Leurs liens vers les documents ne nécessitaient aucune identification d'utilisateur ni aucune connexion, ce qui les rendait accessibles à toute personne utilisant un navigateur Web. Pire encore, ils étaient enregistrés avec des numéros séquentiels, ce qui signifie qu'un simple changement de numéro dans le lien révélait un nouvel enregistrement de données.
Ce problème de sécurité a été identifié en interne avant d'être exposé dans les médias, toutefois, le fait de ne pas l'avoir correctement classé comme un problème de sécurité à haut risque et de ne pas l'avoir signalé à la haute direction pour qu'il y soit remédié d'urgence ont eu des répercussions qui se font encore sentir aujourd'hui.
Ce n'est pas pour rien que le contrôle d'accès cassé se trouve désormais tout en haut de Top 10 de l'OWASP: c'est aussi courant que la saleté, et les développeurs ont besoin de connaissances vérifiées en matière de sécurité et de compétences pratiques pour découvrir les meilleures pratiques en matière d'authentification et de privilèges dans leurs propres versions, en veillant à ce que des contrôles et des mesures soient en place pour protéger l'exposition des données sensibles.
La nature des API les rend particulièrement pertinentes et délicates ; elles sont très bavardes avec les autres applications de par leur conception, et les équipes de développement devraient avoir une visibilité sur tous les points d'accès potentiels. Après tout, ils ne peuvent pas prendre en compte des variables et des cas d'utilisation inconnus dans leur quête de logiciels plus sûrs.
Analysez votre programme de sécurité : quelle importance accordez-vous à la prévention ?
Il est logique qu'une grande partie d'un programme de sécurité soit dédiée à la réponse et à la réaction aux incidents, mais de nombreuses organisations ne parviennent pas à minimiser les risques en n'utilisant pas toutes les ressources disponibles pour prévenir un incident de sécurité en premier lieu.
Bien sûr, il existe des outils de sécurité complets qui aident à découvrir les bogues problématiques, mais près de 50 % des entreprises ont admis avoir utilisé un code d'expédition dont elles savaient qu'il était vulnérable. Les contraintes de temps, la complexité des outils et le manque d'experts qualifiés pour répondre aux rapports contribuent à ce qui était essentiellement un risque calculé, mais le fait que le code doive être sécurisé dans le cloud, dans les applications, dans les fonctionnalités des API, les systèmes intégrés, les bibliothèques et un paysage technologique en constante évolution garantit que nous aurons toujours un retard par rapport à l'approche actuelle.
Les bogues de sécurité sont un problème d'origine humaine, et nous ne pouvons pas nous attendre à ce que les robots les corrigent à notre place. Si les compétences de votre cohorte de développement ne sont pas renforcées de manière efficace (il ne s'agit pas simplement d'un séminaire annuel, mais de modules pédagogiques appropriés), vous courez toujours le risque d'accepter un code de faible qualité en tant que standard, avec les risques de sécurité qui en découlent.
Avez-vous surestimé l'état de préparation de vos développeurs ?
Les développeurs sont rarement évalués sur leurs capacités de codage sécurisé, et ce n'est pas leur priorité (ce n'est pas non plus un KPI dans de nombreux cas). Ils ne peuvent pas être les responsables de mauvaises pratiques de sécurité si on ne leur montre pas la meilleure voie à suivre ou si on ne leur dit pas que c'est une mesure de leur succès.
Trop souvent, toutefois, les organisations partent du principe que les conseils fournis ont été efficaces pour préparer l'équipe d'ingénierie à atténuer les risques de sécurité courants. En fonction de leur formation et de leur capacité à appliquer les meilleures pratiques de sécurité, il se peut qu'ils ne soient pas prêts à être la première ligne de défense souhaitable (et à empêcher les failles d'injection interminables qui obstruent les rapports de pentest).
L'idéal est que des parcours d'apprentissage de plus en plus complexes soient achevés et que les compétences qui en résultent soient vérifiées pour s'assurer qu'elles fonctionnent réellement pour le développeur dans le monde réel. Cependant, cela nécessite une norme culturelle selon laquelle les développeurs sont pris en compte dès le début et correctement activés. Si, en tant qu'industrie, nous partons dans la nature pour défendre ce vaste paysage de code que nous avons créé nous-mêmes, nous aurons besoin de toute l'aide possible... et il y en a plus devant nous que nous ne le pensons.

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.
Secure Code Warrior là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Veuillez consulter le rapportVeuillez réserver une démonstration.Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.
Une version de cet article a été publiée dans SD Times. Il a été mis à jour et diffusé ici.
Lorsque nous parlons de progrès, le progrès numérique est généralement au premier plan de la conversation. Nous voulons que tout soit meilleur, plus rapide, plus pratique, plus puissant, et nous voulons le faire pour moins d'argent, de temps et de risques. Dans la plupart des cas, ces objectifs « impossibles » sont finalement atteints ; cela peut prendre plusieurs années et plusieurs versions (et une équipe de développeurs qui pourrait lancer un coup d'État si on leur demande de changer de cap en matière de conception des fonctionnalités) encore une fois), mais chaque jour, du code change le monde.
Cependant, une grande expansion logicielle implique de grandes responsabilités, et la réalité est que nous ne sommes tout simplement pas prêts à y faire face du point de vue de la sécurité. Le développement de logiciels n'est plus une mince affaire, et lorsque nous prenons en compte tous les aspects des risques liés aux logiciels, qu'il s'agisse du cloud, des systèmes intégrés dans les appareils et les véhicules, de notre infrastructure critique, sans oublier les API qui connectent tout cela, la surface d'attaque est sans frontières et incontrôlable.
Nous ne pouvons pas nous attendre à un moment magique où chaque ligne de code est méticuleusement vérifiée par des experts en sécurité chevronnés - ce déficit de compétences n'est pas près de se combler - mais nous pouvons, en tant qu'industrie, adopter une approche plus globale de la sécurité au niveau du code.
Voyons comment nous pouvons neutraliser cette surface d'attaque infinie à l'aide des outils à portée de main :
Soyez réaliste quant au niveau de risque commercial (et à ce que vous êtes prêt à accepter)
Une sécurité parfaite n'est pas durable, mais porter un bandeau sur les yeux et prétendre que tout est un ciel bleu ne l'est pas non plus. Nous savons déjà que les organisations expédient sciemment du code vulnérable, et il est clair qu'il s'agit d'un risque calculé en fonction du délai de commercialisation des nouvelles fonctionnalités et des nouveaux produits.
La rapidité de la sécurité constitue un défi, en particulier dans les domaines où DevSecOps n'est pas la méthodologie de développement standard. Cependant, il suffit de regarder les récents Exploit Log4Shell pour découvrir comment des problèmes de sécurité relativement minimes liés au code ont ouvert la voie à une attaque réussie, et pour constater que les conséquences de ces risques calculés sur la livraison de code de moindre qualité pourraient être bien plus importantes que prévu.
Soyez à l'aise avec le fait d'être un maniaque du contrôle (d'accès)
Un nombre alarmant de violations de données coûteuses sont provoquées par des environnements de stockage cloud mal configurés, et le risque d'exposition de données sensibles résultant d'erreurs de contrôle d'accès continue de hanter les équipes de sécurité de la plupart des entreprises.
En 2019, First American Financial Corp., société du Fortune 500. Je l'ai découvert à la dure. Une erreur d'authentification, relativement simple à corriger, a entraîné la divulgation de plus de 800 millions de dossiers, notamment des relevés bancaires, des contrats hypothécaires et des pièces d'identité avec photo. Leurs liens vers les documents ne nécessitaient aucune identification d'utilisateur ni aucune connexion, ce qui les rendait accessibles à toute personne utilisant un navigateur Web. Pire encore, ils étaient enregistrés avec des numéros séquentiels, ce qui signifie qu'un simple changement de numéro dans le lien révélait un nouvel enregistrement de données.
Ce problème de sécurité a été identifié en interne avant d'être exposé dans les médias, toutefois, le fait de ne pas l'avoir correctement classé comme un problème de sécurité à haut risque et de ne pas l'avoir signalé à la haute direction pour qu'il y soit remédié d'urgence ont eu des répercussions qui se font encore sentir aujourd'hui.
Ce n'est pas pour rien que le contrôle d'accès cassé se trouve désormais tout en haut de Top 10 de l'OWASP: c'est aussi courant que la saleté, et les développeurs ont besoin de connaissances vérifiées en matière de sécurité et de compétences pratiques pour découvrir les meilleures pratiques en matière d'authentification et de privilèges dans leurs propres versions, en veillant à ce que des contrôles et des mesures soient en place pour protéger l'exposition des données sensibles.
La nature des API les rend particulièrement pertinentes et délicates ; elles sont très bavardes avec les autres applications de par leur conception, et les équipes de développement devraient avoir une visibilité sur tous les points d'accès potentiels. Après tout, ils ne peuvent pas prendre en compte des variables et des cas d'utilisation inconnus dans leur quête de logiciels plus sûrs.
Analysez votre programme de sécurité : quelle importance accordez-vous à la prévention ?
Il est logique qu'une grande partie d'un programme de sécurité soit dédiée à la réponse et à la réaction aux incidents, mais de nombreuses organisations ne parviennent pas à minimiser les risques en n'utilisant pas toutes les ressources disponibles pour prévenir un incident de sécurité en premier lieu.
Bien sûr, il existe des outils de sécurité complets qui aident à découvrir les bogues problématiques, mais près de 50 % des entreprises ont admis avoir utilisé un code d'expédition dont elles savaient qu'il était vulnérable. Les contraintes de temps, la complexité des outils et le manque d'experts qualifiés pour répondre aux rapports contribuent à ce qui était essentiellement un risque calculé, mais le fait que le code doive être sécurisé dans le cloud, dans les applications, dans les fonctionnalités des API, les systèmes intégrés, les bibliothèques et un paysage technologique en constante évolution garantit que nous aurons toujours un retard par rapport à l'approche actuelle.
Les bogues de sécurité sont un problème d'origine humaine, et nous ne pouvons pas nous attendre à ce que les robots les corrigent à notre place. Si les compétences de votre cohorte de développement ne sont pas renforcées de manière efficace (il ne s'agit pas simplement d'un séminaire annuel, mais de modules pédagogiques appropriés), vous courez toujours le risque d'accepter un code de faible qualité en tant que standard, avec les risques de sécurité qui en découlent.
Avez-vous surestimé l'état de préparation de vos développeurs ?
Les développeurs sont rarement évalués sur leurs capacités de codage sécurisé, et ce n'est pas leur priorité (ce n'est pas non plus un KPI dans de nombreux cas). Ils ne peuvent pas être les responsables de mauvaises pratiques de sécurité si on ne leur montre pas la meilleure voie à suivre ou si on ne leur dit pas que c'est une mesure de leur succès.
Trop souvent, toutefois, les organisations partent du principe que les conseils fournis ont été efficaces pour préparer l'équipe d'ingénierie à atténuer les risques de sécurité courants. En fonction de leur formation et de leur capacité à appliquer les meilleures pratiques de sécurité, il se peut qu'ils ne soient pas prêts à être la première ligne de défense souhaitable (et à empêcher les failles d'injection interminables qui obstruent les rapports de pentest).
L'idéal est que des parcours d'apprentissage de plus en plus complexes soient achevés et que les compétences qui en résultent soient vérifiées pour s'assurer qu'elles fonctionnent réellement pour le développeur dans le monde réel. Cependant, cela nécessite une norme culturelle selon laquelle les développeurs sont pris en compte dès le début et correctement activés. Si, en tant qu'industrie, nous partons dans la nature pour défendre ce vaste paysage de code que nous avons créé nous-mêmes, nous aurons besoin de toute l'aide possible... et il y en a plus devant nous que nous ne le pensons.
Table des matières
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Veuillez réserver une démonstration.TéléchargerRessources pour vous aider à démarrer
Thèmes et contenus de formation sur le code sécurisé
Notre contenu de pointe évolue constamment pour s'adapter à l'évolution constante du paysage du développement de logiciels tout en tenant compte de votre rôle. Des sujets couvrant tout, de l'IA à l'injection XQuery, proposés pour une variété de postes, allant des architectes aux ingénieurs en passant par les chefs de produit et l'assurance qualité. Découvrez un aperçu de ce que notre catalogue de contenu a à offrir par sujet et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour vous aider à démarrer
Cybermon est de retour : les missions Beat the Boss sont désormais disponibles sur demande.
Cybermon 2025 : Vaincre le Boss est désormais accessible toute l'année dans SCW. Mettez en œuvre des défis de sécurité avancés liés à l'IA et au LLM afin de renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès leur conception
Découvrez les exigences de la loi européenne sur la cyber-résilience (CRA), à qui elle s'applique et comment les équipes d'ingénieurs peuvent se préparer grâce à des pratiques de sécurité dès la conception, à la prévention des vulnérabilités et au renforcement des capacités des développeurs.
Facilitateur 1 : Critères de réussite clairement définis et mesurables
Enabler 1 inaugure notre série en 10 parties intitulée « Enablers of Success » en démontrant comment associer le codage sécurisé à des résultats commerciaux tels que la réduction des risques et la rapidité afin d'assurer la maturité à long terme des programmes.




%20(1).avif)
.avif)
