Si l'outillage AppSec est la solution miracle, pourquoi tant d'entreprises ne l'utilisent-elles pas ?
Une version de cet article a été publiée dans SC Magazine. Elle a été mise à jour et publiée ici.
L'un des nombreux problèmes auxquels sont confrontés les spécialistes de la sécurité d'aujourd'hui consiste à déterminer l'équilibre entre les solutions qu'ils utiliseront pour faire face aux cyberrisques auxquels ils sont confrontés. Comment le budget doit-il être réparti entre les outils et les personnes ? Quel ensemble d'outils fonctionnera le mieux avec la pile technologique existante ? Il n'y a pas de réponse facile face à la multitude d'options disponibles, et le choix des mauvaises options coûtera du temps et de l'argent plus tard.
Un récent rapport a révélé que le marché des outils de sécurité des applications devrait connaître une croissance "explosive" d'ici à 2025, ce qui témoigne du rôle incontesté de ces outils dans la réussite des pratiques DevSecOps et de la pertinence croissante du secteur face à l'augmentation des volumes de code présentant des vulnérabilités potentielles en matière de sécurité.
Il existe toutefois un problème quelque peu curieux. Près de la moitié des organisations expédient sciemment du code vulnérable, bien qu'elles utilisent toute une série d'outils AppSec conçus pour empêcher cela. Pour des produits dont la demande sur le marché est indéniable et qui gagnent rapidement du terrain, cela n'a guère de sens. Pourquoi tant d'entreprises achètent-elles des outils de sécurité sophistiqués pour ensuite ignorer leurs résultats ou ne pas les utiliser du tout ? C'est un peu comme si vous achetiez une maison en bord de mer pour dormir dans une tente dans les bois.
Il y a quelques raisons pour lesquelles les outils AppSec ne sont pas utilisés comme nous l'aurions espéré, et il s'agit moins des outils et de leurs fonctionnalités que de la façon dont ils s'intègrent dans un programme de sécurité dans son ensemble.
Plus d'outils ne signifie pas moins de problèmes.
Au fur et à mesure que les entreprises font évoluer leurs processus de développement de logiciels, passant d'Agile à DevOps, puis au saint nirvana qu'est DevSecOps (hé, pour l'instant, c'est ce que nous avons de mieux), il est inévitable que de multiples scanners, moniteurs, pare-feu et toutes sortes d'outils AppSec soient achetés en cours de route. Bien que l'on puisse penser qu'il s'agit d'un cas de "plus on est de fous, plus on rit", cela conduit très souvent à une pile technologique qui ressemble au monstre de Frankenstein, avec toute l'imprévisibilité que cela implique.
Avec des budgets et des ressources d'experts de plus en plus limités par rapport à l'ampleur du travail requis, essayer de réparer le gâchis et de trouver le meilleur outil pour aller de l'avant est une tâche décourageante, et le code nécessitant une analyse et une remédiation ne cesse d'affluer. Il n'est pas étonnant que de nombreuses organisations aient dû continuer à expédier du code, bien que ce soit plutôt alarmant et que cela représente toujours un risque immense pour nos données et notre vie privée.
Les outils d'analyse sont lents, ce qui nuit à la souplesse des versions.
La sécurité à grande vitesse est une sorte de baleine blanche dans le développement de logiciels, et la vérité est que nous essayons toujours d'y parvenir même si nous poussons les organisations à adopter une approche orientée DevSecOps. L'examen méticuleux et manuel du code aurait pu être une sécurité absolue dans les années 90, mais à une époque où nous produisons des centaines de milliards de lignes de code, ce plan est aussi efficace que de préparer un terrain de football avec une paire de ciseaux à ongles.
Les outils d'analyse automatisent le processus de détection des problèmes potentiels, en effectuant à notre place l'examen méticuleux du code. Le problème est qu'ils sont encore lents dans le contexte d'un pipeline CI/CD qui fonctionne à plein régime, et qu'aucun outil ne trouve toutes les vulnérabilités. Il y a également quelques problèmes flagrants avec les résultats qui sont crachés à l'équipe de sécurité après un balayage :
- Il y a beaucoup de faux positifs (et négatifs).
- Un pauvre expert en sécurité doit encore s'asseoir là et faire un examen manuel pour trier les vrais bogues des bogues fantômes.
- Très souvent, un trop grand nombre de vulnérabilités courantes sont révélées alors qu'elles auraient dû être détectées avant que le code ne soit déployé. Voulez-vous vraiment que vos très coûteux experts en sécurité soient distraits des gros problèmes de sécurité par de petites choses ?
- Les scanners trouvent, ils ne réparent pas.
Même dans une organisation qui fait de son mieux pour respecter les meilleures pratiques en matière de cybersécurité et qui évolue avec son temps pour inclure la sécurité à chaque étape du processus, le processus ci-dessus est toujours un échec si les scanners sont la principale mesure de protection et si trop de bogues courants empêchent l'équipe de déployer un code sûr. Il va de soi que des concessions peuvent être faites à ce niveau, et cela se traduit généralement par le recours au strict minimum d'outils qui ne peuvent pas couvrir tous les risques potentiels, même si une suite de solutions a été achetée.
L'automatisation par les techniciens peut conduire à une diminution de la qualité du code.
L'analyse et le test supportent la charge des processus automatisés dans l'outillage AppSec, ainsi que des éléments essentiels tels que les pare-feu et la surveillance, mais d'autres outils courants peuvent involontairement éroder les fondements de la sécurité pratique au fil du temps.
Par exemple, la technologie RASP (runtime application self-protection) est souvent appliquée pour renforcer la sécurité sans sacrifier la vitesse de codage. Elle fonctionne dans l'environnement d'exécution d'une application, protégeant contre l'entrée de codes malveillants, les attaques en temps réel et signalant tout comportement d'exécution étrange.
Il s'agit certainement d'une couche de protection supplémentaire, mais si elle est considérée comme une sécurité contre toute faiblesse potentielle dans la base de code, les développeurs peuvent devenir complaisants, en particulier lorsqu'ils sont confrontés à des délais de mise sur le marché de plus en plus impossibles à respecter pour la mise en place de nouvelles fonctionnalités. Les pratiques de codage sécurisé peuvent ne pas être suivies, en partant du principe que l'autoprotection en cours d'exécution détectera toute erreur. Les développeurs ne font pas tout pour créer des modèles de codage non sécurisés, mais la sécurité est souvent reléguée au second plan au profit de la livraison de fonctionnalités, surtout si l'on suppose qu'il existe une protection automatisée.
Les outils peuvent échouer (et dans le cas de RASP, ils fonctionnent souvent en mode surveillance pour éviter les faux positifs, ce qui à son tour ne fournit qu'une visibilité - et non une protection - contre une attaque), et lorsque cela se produit, c'est un code sécurisé de haute qualité sur lequel on peut compter à chaque fois. La sensibilisation à la sécurité dans tous les rôles qui touchent au code est fondamentale pour DevSecOps, et les développeurs qui ne se forment pas ou ne produisent pas de code sécurisé sont une erreur. L'écriture d'un code sécurisé ou non nécessite le même effort ; c'est l'acquisition des connaissances nécessaires pour coder de manière sécurisée qui demande la plus grande énergie. Le temps consacré à la mise en œuvre et à l'optimisation de RASP peut être bien mieux utilisé pour former les développeurs afin qu'ils ne commettent pas l'erreur dès le départ.
Équilibrer les outils et les personnes : ce n'est pas une solution miracle, mais c'est ce qui s'en rapproche le plus (pour l'instant).
L'éthique principale de DevSecOps est de faire de la sécurité une responsabilité partagée, et pour les organisations qui créent les logiciels qui alimentent nos vies - tout, du réseau électrique à nos sonnettes de porte - elles doivent faire participer tout le monde au voyage pour assurer un niveau de sécurité plus élevé.
Les outils ne peuvent pas tout faire, et ce n'est même pas le moyen le plus économique. Les meilleurs résultats sont de loin obtenus en donnant la priorité à une formation pertinente en matière de sécurité pour toutes les personnes qui touchent au code, en travaillant activement pour que l'équipe de développement garde la sécurité à l'esprit, et en construisant une culture de la sécurité positive qui est dirigée par l'homme, avec une suite d'outils qui joue un rôle de soutien.
Même en cas de contraintes de temps, d'économies et d'autres éléments qui font perdre le sommeil aux experts en sécurité, si les développeurs n'introduisent pas de défauts de sécurité courants en premier lieu, ces outils (qu'ils soient utilisés ou non) représentent un facteur de risque bien moindre.
Il y a quelques raisons pour lesquelles les outils AppSec ne sont pas utilisés comme nous l'aurions espéré, et il s'agit moins des outils et de leurs fonctionnalités que de la façon dont ils s'intègrent dans un programme de sécurité dans son ensemble.
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 est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO 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é.
Réservez une démonstrationMatias 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 SC Magazine. Elle a été mise à jour et publiée ici.
L'un des nombreux problèmes auxquels sont confrontés les spécialistes de la sécurité d'aujourd'hui consiste à déterminer l'équilibre entre les solutions qu'ils utiliseront pour faire face aux cyberrisques auxquels ils sont confrontés. Comment le budget doit-il être réparti entre les outils et les personnes ? Quel ensemble d'outils fonctionnera le mieux avec la pile technologique existante ? Il n'y a pas de réponse facile face à la multitude d'options disponibles, et le choix des mauvaises options coûtera du temps et de l'argent plus tard.
Un récent rapport a révélé que le marché des outils de sécurité des applications devrait connaître une croissance "explosive" d'ici à 2025, ce qui témoigne du rôle incontesté de ces outils dans la réussite des pratiques DevSecOps et de la pertinence croissante du secteur face à l'augmentation des volumes de code présentant des vulnérabilités potentielles en matière de sécurité.
Il existe toutefois un problème quelque peu curieux. Près de la moitié des organisations expédient sciemment du code vulnérable, bien qu'elles utilisent toute une série d'outils AppSec conçus pour empêcher cela. Pour des produits dont la demande sur le marché est indéniable et qui gagnent rapidement du terrain, cela n'a guère de sens. Pourquoi tant d'entreprises achètent-elles des outils de sécurité sophistiqués pour ensuite ignorer leurs résultats ou ne pas les utiliser du tout ? C'est un peu comme si vous achetiez une maison en bord de mer pour dormir dans une tente dans les bois.
Il y a quelques raisons pour lesquelles les outils AppSec ne sont pas utilisés comme nous l'aurions espéré, et il s'agit moins des outils et de leurs fonctionnalités que de la façon dont ils s'intègrent dans un programme de sécurité dans son ensemble.
Plus d'outils ne signifie pas moins de problèmes.
Au fur et à mesure que les entreprises font évoluer leurs processus de développement de logiciels, passant d'Agile à DevOps, puis au saint nirvana qu'est DevSecOps (hé, pour l'instant, c'est ce que nous avons de mieux), il est inévitable que de multiples scanners, moniteurs, pare-feu et toutes sortes d'outils AppSec soient achetés en cours de route. Bien que l'on puisse penser qu'il s'agit d'un cas de "plus on est de fous, plus on rit", cela conduit très souvent à une pile technologique qui ressemble au monstre de Frankenstein, avec toute l'imprévisibilité que cela implique.
Avec des budgets et des ressources d'experts de plus en plus limités par rapport à l'ampleur du travail requis, essayer de réparer le gâchis et de trouver le meilleur outil pour aller de l'avant est une tâche décourageante, et le code nécessitant une analyse et une remédiation ne cesse d'affluer. Il n'est pas étonnant que de nombreuses organisations aient dû continuer à expédier du code, bien que ce soit plutôt alarmant et que cela représente toujours un risque immense pour nos données et notre vie privée.
Les outils d'analyse sont lents, ce qui nuit à la souplesse des versions.
La sécurité à grande vitesse est une sorte de baleine blanche dans le développement de logiciels, et la vérité est que nous essayons toujours d'y parvenir même si nous poussons les organisations à adopter une approche orientée DevSecOps. L'examen méticuleux et manuel du code aurait pu être une sécurité absolue dans les années 90, mais à une époque où nous produisons des centaines de milliards de lignes de code, ce plan est aussi efficace que de préparer un terrain de football avec une paire de ciseaux à ongles.
Les outils d'analyse automatisent le processus de détection des problèmes potentiels, en effectuant à notre place l'examen méticuleux du code. Le problème est qu'ils sont encore lents dans le contexte d'un pipeline CI/CD qui fonctionne à plein régime, et qu'aucun outil ne trouve toutes les vulnérabilités. Il y a également quelques problèmes flagrants avec les résultats qui sont crachés à l'équipe de sécurité après un balayage :
- Il y a beaucoup de faux positifs (et négatifs).
- Un pauvre expert en sécurité doit encore s'asseoir là et faire un examen manuel pour trier les vrais bogues des bogues fantômes.
- Très souvent, un trop grand nombre de vulnérabilités courantes sont révélées alors qu'elles auraient dû être détectées avant que le code ne soit déployé. Voulez-vous vraiment que vos très coûteux experts en sécurité soient distraits des gros problèmes de sécurité par de petites choses ?
- Les scanners trouvent, ils ne réparent pas.
Même dans une organisation qui fait de son mieux pour respecter les meilleures pratiques en matière de cybersécurité et qui évolue avec son temps pour inclure la sécurité à chaque étape du processus, le processus ci-dessus est toujours un échec si les scanners sont la principale mesure de protection et si trop de bogues courants empêchent l'équipe de déployer un code sûr. Il va de soi que des concessions peuvent être faites à ce niveau, et cela se traduit généralement par le recours au strict minimum d'outils qui ne peuvent pas couvrir tous les risques potentiels, même si une suite de solutions a été achetée.
L'automatisation par les techniciens peut conduire à une diminution de la qualité du code.
L'analyse et le test supportent la charge des processus automatisés dans l'outillage AppSec, ainsi que des éléments essentiels tels que les pare-feu et la surveillance, mais d'autres outils courants peuvent involontairement éroder les fondements de la sécurité pratique au fil du temps.
Par exemple, la technologie RASP (runtime application self-protection) est souvent appliquée pour renforcer la sécurité sans sacrifier la vitesse de codage. Elle fonctionne dans l'environnement d'exécution d'une application, protégeant contre l'entrée de codes malveillants, les attaques en temps réel et signalant tout comportement d'exécution étrange.
Il s'agit certainement d'une couche de protection supplémentaire, mais si elle est considérée comme une sécurité contre toute faiblesse potentielle dans la base de code, les développeurs peuvent devenir complaisants, en particulier lorsqu'ils sont confrontés à des délais de mise sur le marché de plus en plus impossibles à respecter pour la mise en place de nouvelles fonctionnalités. Les pratiques de codage sécurisé peuvent ne pas être suivies, en partant du principe que l'autoprotection en cours d'exécution détectera toute erreur. Les développeurs ne font pas tout pour créer des modèles de codage non sécurisés, mais la sécurité est souvent reléguée au second plan au profit de la livraison de fonctionnalités, surtout si l'on suppose qu'il existe une protection automatisée.
Les outils peuvent échouer (et dans le cas de RASP, ils fonctionnent souvent en mode surveillance pour éviter les faux positifs, ce qui à son tour ne fournit qu'une visibilité - et non une protection - contre une attaque), et lorsque cela se produit, c'est un code sécurisé de haute qualité sur lequel on peut compter à chaque fois. La sensibilisation à la sécurité dans tous les rôles qui touchent au code est fondamentale pour DevSecOps, et les développeurs qui ne se forment pas ou ne produisent pas de code sécurisé sont une erreur. L'écriture d'un code sécurisé ou non nécessite le même effort ; c'est l'acquisition des connaissances nécessaires pour coder de manière sécurisée qui demande la plus grande énergie. Le temps consacré à la mise en œuvre et à l'optimisation de RASP peut être bien mieux utilisé pour former les développeurs afin qu'ils ne commettent pas l'erreur dès le départ.
Équilibrer les outils et les personnes : ce n'est pas une solution miracle, mais c'est ce qui s'en rapproche le plus (pour l'instant).
L'éthique principale de DevSecOps est de faire de la sécurité une responsabilité partagée, et pour les organisations qui créent les logiciels qui alimentent nos vies - tout, du réseau électrique à nos sonnettes de porte - elles doivent faire participer tout le monde au voyage pour assurer un niveau de sécurité plus élevé.
Les outils ne peuvent pas tout faire, et ce n'est même pas le moyen le plus économique. Les meilleurs résultats sont de loin obtenus en donnant la priorité à une formation pertinente en matière de sécurité pour toutes les personnes qui touchent au code, en travaillant activement pour que l'équipe de développement garde la sécurité à l'esprit, et en construisant une culture de la sécurité positive qui est dirigée par l'homme, avec une suite d'outils qui joue un rôle de soutien.
Même en cas de contraintes de temps, d'économies et d'autres éléments qui font perdre le sommeil aux experts en sécurité, si les développeurs n'introduisent pas de défauts de sécurité courants en premier lieu, ces outils (qu'ils soient utilisés ou non) représentent un facteur de risque bien moindre.
Une version de cet article a été publiée dans SC Magazine. Elle a été mise à jour et publiée ici.
L'un des nombreux problèmes auxquels sont confrontés les spécialistes de la sécurité d'aujourd'hui consiste à déterminer l'équilibre entre les solutions qu'ils utiliseront pour faire face aux cyberrisques auxquels ils sont confrontés. Comment le budget doit-il être réparti entre les outils et les personnes ? Quel ensemble d'outils fonctionnera le mieux avec la pile technologique existante ? Il n'y a pas de réponse facile face à la multitude d'options disponibles, et le choix des mauvaises options coûtera du temps et de l'argent plus tard.
Un récent rapport a révélé que le marché des outils de sécurité des applications devrait connaître une croissance "explosive" d'ici à 2025, ce qui témoigne du rôle incontesté de ces outils dans la réussite des pratiques DevSecOps et de la pertinence croissante du secteur face à l'augmentation des volumes de code présentant des vulnérabilités potentielles en matière de sécurité.
Il existe toutefois un problème quelque peu curieux. Près de la moitié des organisations expédient sciemment du code vulnérable, bien qu'elles utilisent toute une série d'outils AppSec conçus pour empêcher cela. Pour des produits dont la demande sur le marché est indéniable et qui gagnent rapidement du terrain, cela n'a guère de sens. Pourquoi tant d'entreprises achètent-elles des outils de sécurité sophistiqués pour ensuite ignorer leurs résultats ou ne pas les utiliser du tout ? C'est un peu comme si vous achetiez une maison en bord de mer pour dormir dans une tente dans les bois.
Il y a quelques raisons pour lesquelles les outils AppSec ne sont pas utilisés comme nous l'aurions espéré, et il s'agit moins des outils et de leurs fonctionnalités que de la façon dont ils s'intègrent dans un programme de sécurité dans son ensemble.
Plus d'outils ne signifie pas moins de problèmes.
Au fur et à mesure que les entreprises font évoluer leurs processus de développement de logiciels, passant d'Agile à DevOps, puis au saint nirvana qu'est DevSecOps (hé, pour l'instant, c'est ce que nous avons de mieux), il est inévitable que de multiples scanners, moniteurs, pare-feu et toutes sortes d'outils AppSec soient achetés en cours de route. Bien que l'on puisse penser qu'il s'agit d'un cas de "plus on est de fous, plus on rit", cela conduit très souvent à une pile technologique qui ressemble au monstre de Frankenstein, avec toute l'imprévisibilité que cela implique.
Avec des budgets et des ressources d'experts de plus en plus limités par rapport à l'ampleur du travail requis, essayer de réparer le gâchis et de trouver le meilleur outil pour aller de l'avant est une tâche décourageante, et le code nécessitant une analyse et une remédiation ne cesse d'affluer. Il n'est pas étonnant que de nombreuses organisations aient dû continuer à expédier du code, bien que ce soit plutôt alarmant et que cela représente toujours un risque immense pour nos données et notre vie privée.
Les outils d'analyse sont lents, ce qui nuit à la souplesse des versions.
La sécurité à grande vitesse est une sorte de baleine blanche dans le développement de logiciels, et la vérité est que nous essayons toujours d'y parvenir même si nous poussons les organisations à adopter une approche orientée DevSecOps. L'examen méticuleux et manuel du code aurait pu être une sécurité absolue dans les années 90, mais à une époque où nous produisons des centaines de milliards de lignes de code, ce plan est aussi efficace que de préparer un terrain de football avec une paire de ciseaux à ongles.
Les outils d'analyse automatisent le processus de détection des problèmes potentiels, en effectuant à notre place l'examen méticuleux du code. Le problème est qu'ils sont encore lents dans le contexte d'un pipeline CI/CD qui fonctionne à plein régime, et qu'aucun outil ne trouve toutes les vulnérabilités. Il y a également quelques problèmes flagrants avec les résultats qui sont crachés à l'équipe de sécurité après un balayage :
- Il y a beaucoup de faux positifs (et négatifs).
- Un pauvre expert en sécurité doit encore s'asseoir là et faire un examen manuel pour trier les vrais bogues des bogues fantômes.
- Très souvent, un trop grand nombre de vulnérabilités courantes sont révélées alors qu'elles auraient dû être détectées avant que le code ne soit déployé. Voulez-vous vraiment que vos très coûteux experts en sécurité soient distraits des gros problèmes de sécurité par de petites choses ?
- Les scanners trouvent, ils ne réparent pas.
Même dans une organisation qui fait de son mieux pour respecter les meilleures pratiques en matière de cybersécurité et qui évolue avec son temps pour inclure la sécurité à chaque étape du processus, le processus ci-dessus est toujours un échec si les scanners sont la principale mesure de protection et si trop de bogues courants empêchent l'équipe de déployer un code sûr. Il va de soi que des concessions peuvent être faites à ce niveau, et cela se traduit généralement par le recours au strict minimum d'outils qui ne peuvent pas couvrir tous les risques potentiels, même si une suite de solutions a été achetée.
L'automatisation par les techniciens peut conduire à une diminution de la qualité du code.
L'analyse et le test supportent la charge des processus automatisés dans l'outillage AppSec, ainsi que des éléments essentiels tels que les pare-feu et la surveillance, mais d'autres outils courants peuvent involontairement éroder les fondements de la sécurité pratique au fil du temps.
Par exemple, la technologie RASP (runtime application self-protection) est souvent appliquée pour renforcer la sécurité sans sacrifier la vitesse de codage. Elle fonctionne dans l'environnement d'exécution d'une application, protégeant contre l'entrée de codes malveillants, les attaques en temps réel et signalant tout comportement d'exécution étrange.
Il s'agit certainement d'une couche de protection supplémentaire, mais si elle est considérée comme une sécurité contre toute faiblesse potentielle dans la base de code, les développeurs peuvent devenir complaisants, en particulier lorsqu'ils sont confrontés à des délais de mise sur le marché de plus en plus impossibles à respecter pour la mise en place de nouvelles fonctionnalités. Les pratiques de codage sécurisé peuvent ne pas être suivies, en partant du principe que l'autoprotection en cours d'exécution détectera toute erreur. Les développeurs ne font pas tout pour créer des modèles de codage non sécurisés, mais la sécurité est souvent reléguée au second plan au profit de la livraison de fonctionnalités, surtout si l'on suppose qu'il existe une protection automatisée.
Les outils peuvent échouer (et dans le cas de RASP, ils fonctionnent souvent en mode surveillance pour éviter les faux positifs, ce qui à son tour ne fournit qu'une visibilité - et non une protection - contre une attaque), et lorsque cela se produit, c'est un code sécurisé de haute qualité sur lequel on peut compter à chaque fois. La sensibilisation à la sécurité dans tous les rôles qui touchent au code est fondamentale pour DevSecOps, et les développeurs qui ne se forment pas ou ne produisent pas de code sécurisé sont une erreur. L'écriture d'un code sécurisé ou non nécessite le même effort ; c'est l'acquisition des connaissances nécessaires pour coder de manière sécurisée qui demande la plus grande énergie. Le temps consacré à la mise en œuvre et à l'optimisation de RASP peut être bien mieux utilisé pour former les développeurs afin qu'ils ne commettent pas l'erreur dès le départ.
Équilibrer les outils et les personnes : ce n'est pas une solution miracle, mais c'est ce qui s'en rapproche le plus (pour l'instant).
L'éthique principale de DevSecOps est de faire de la sécurité une responsabilité partagée, et pour les organisations qui créent les logiciels qui alimentent nos vies - tout, du réseau électrique à nos sonnettes de porte - elles doivent faire participer tout le monde au voyage pour assurer un niveau de sécurité plus élevé.
Les outils ne peuvent pas tout faire, et ce n'est même pas le moyen le plus économique. Les meilleurs résultats sont de loin obtenus en donnant la priorité à une formation pertinente en matière de sécurité pour toutes les personnes qui touchent au code, en travaillant activement pour que l'équipe de développement garde la sécurité à l'esprit, et en construisant une culture de la sécurité positive qui est dirigée par l'homme, avec une suite d'outils qui joue un rôle de soutien.
Même en cas de contraintes de temps, d'économies et d'autres éléments qui font perdre le sommeil aux experts en sécurité, si les développeurs n'introduisent pas de défauts de sécurité courants en premier lieu, ces outils (qu'ils soient utilisés ou non) représentent un facteur de risque bien moindre.
Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO 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é.
Voir le rapportRéservez une démonstrationMatias 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 SC Magazine. Elle a été mise à jour et publiée ici.
L'un des nombreux problèmes auxquels sont confrontés les spécialistes de la sécurité d'aujourd'hui consiste à déterminer l'équilibre entre les solutions qu'ils utiliseront pour faire face aux cyberrisques auxquels ils sont confrontés. Comment le budget doit-il être réparti entre les outils et les personnes ? Quel ensemble d'outils fonctionnera le mieux avec la pile technologique existante ? Il n'y a pas de réponse facile face à la multitude d'options disponibles, et le choix des mauvaises options coûtera du temps et de l'argent plus tard.
Un récent rapport a révélé que le marché des outils de sécurité des applications devrait connaître une croissance "explosive" d'ici à 2025, ce qui témoigne du rôle incontesté de ces outils dans la réussite des pratiques DevSecOps et de la pertinence croissante du secteur face à l'augmentation des volumes de code présentant des vulnérabilités potentielles en matière de sécurité.
Il existe toutefois un problème quelque peu curieux. Près de la moitié des organisations expédient sciemment du code vulnérable, bien qu'elles utilisent toute une série d'outils AppSec conçus pour empêcher cela. Pour des produits dont la demande sur le marché est indéniable et qui gagnent rapidement du terrain, cela n'a guère de sens. Pourquoi tant d'entreprises achètent-elles des outils de sécurité sophistiqués pour ensuite ignorer leurs résultats ou ne pas les utiliser du tout ? C'est un peu comme si vous achetiez une maison en bord de mer pour dormir dans une tente dans les bois.
Il y a quelques raisons pour lesquelles les outils AppSec ne sont pas utilisés comme nous l'aurions espéré, et il s'agit moins des outils et de leurs fonctionnalités que de la façon dont ils s'intègrent dans un programme de sécurité dans son ensemble.
Plus d'outils ne signifie pas moins de problèmes.
Au fur et à mesure que les entreprises font évoluer leurs processus de développement de logiciels, passant d'Agile à DevOps, puis au saint nirvana qu'est DevSecOps (hé, pour l'instant, c'est ce que nous avons de mieux), il est inévitable que de multiples scanners, moniteurs, pare-feu et toutes sortes d'outils AppSec soient achetés en cours de route. Bien que l'on puisse penser qu'il s'agit d'un cas de "plus on est de fous, plus on rit", cela conduit très souvent à une pile technologique qui ressemble au monstre de Frankenstein, avec toute l'imprévisibilité que cela implique.
Avec des budgets et des ressources d'experts de plus en plus limités par rapport à l'ampleur du travail requis, essayer de réparer le gâchis et de trouver le meilleur outil pour aller de l'avant est une tâche décourageante, et le code nécessitant une analyse et une remédiation ne cesse d'affluer. Il n'est pas étonnant que de nombreuses organisations aient dû continuer à expédier du code, bien que ce soit plutôt alarmant et que cela représente toujours un risque immense pour nos données et notre vie privée.
Les outils d'analyse sont lents, ce qui nuit à la souplesse des versions.
La sécurité à grande vitesse est une sorte de baleine blanche dans le développement de logiciels, et la vérité est que nous essayons toujours d'y parvenir même si nous poussons les organisations à adopter une approche orientée DevSecOps. L'examen méticuleux et manuel du code aurait pu être une sécurité absolue dans les années 90, mais à une époque où nous produisons des centaines de milliards de lignes de code, ce plan est aussi efficace que de préparer un terrain de football avec une paire de ciseaux à ongles.
Les outils d'analyse automatisent le processus de détection des problèmes potentiels, en effectuant à notre place l'examen méticuleux du code. Le problème est qu'ils sont encore lents dans le contexte d'un pipeline CI/CD qui fonctionne à plein régime, et qu'aucun outil ne trouve toutes les vulnérabilités. Il y a également quelques problèmes flagrants avec les résultats qui sont crachés à l'équipe de sécurité après un balayage :
- Il y a beaucoup de faux positifs (et négatifs).
- Un pauvre expert en sécurité doit encore s'asseoir là et faire un examen manuel pour trier les vrais bogues des bogues fantômes.
- Très souvent, un trop grand nombre de vulnérabilités courantes sont révélées alors qu'elles auraient dû être détectées avant que le code ne soit déployé. Voulez-vous vraiment que vos très coûteux experts en sécurité soient distraits des gros problèmes de sécurité par de petites choses ?
- Les scanners trouvent, ils ne réparent pas.
Même dans une organisation qui fait de son mieux pour respecter les meilleures pratiques en matière de cybersécurité et qui évolue avec son temps pour inclure la sécurité à chaque étape du processus, le processus ci-dessus est toujours un échec si les scanners sont la principale mesure de protection et si trop de bogues courants empêchent l'équipe de déployer un code sûr. Il va de soi que des concessions peuvent être faites à ce niveau, et cela se traduit généralement par le recours au strict minimum d'outils qui ne peuvent pas couvrir tous les risques potentiels, même si une suite de solutions a été achetée.
L'automatisation par les techniciens peut conduire à une diminution de la qualité du code.
L'analyse et le test supportent la charge des processus automatisés dans l'outillage AppSec, ainsi que des éléments essentiels tels que les pare-feu et la surveillance, mais d'autres outils courants peuvent involontairement éroder les fondements de la sécurité pratique au fil du temps.
Par exemple, la technologie RASP (runtime application self-protection) est souvent appliquée pour renforcer la sécurité sans sacrifier la vitesse de codage. Elle fonctionne dans l'environnement d'exécution d'une application, protégeant contre l'entrée de codes malveillants, les attaques en temps réel et signalant tout comportement d'exécution étrange.
Il s'agit certainement d'une couche de protection supplémentaire, mais si elle est considérée comme une sécurité contre toute faiblesse potentielle dans la base de code, les développeurs peuvent devenir complaisants, en particulier lorsqu'ils sont confrontés à des délais de mise sur le marché de plus en plus impossibles à respecter pour la mise en place de nouvelles fonctionnalités. Les pratiques de codage sécurisé peuvent ne pas être suivies, en partant du principe que l'autoprotection en cours d'exécution détectera toute erreur. Les développeurs ne font pas tout pour créer des modèles de codage non sécurisés, mais la sécurité est souvent reléguée au second plan au profit de la livraison de fonctionnalités, surtout si l'on suppose qu'il existe une protection automatisée.
Les outils peuvent échouer (et dans le cas de RASP, ils fonctionnent souvent en mode surveillance pour éviter les faux positifs, ce qui à son tour ne fournit qu'une visibilité - et non une protection - contre une attaque), et lorsque cela se produit, c'est un code sécurisé de haute qualité sur lequel on peut compter à chaque fois. La sensibilisation à la sécurité dans tous les rôles qui touchent au code est fondamentale pour DevSecOps, et les développeurs qui ne se forment pas ou ne produisent pas de code sécurisé sont une erreur. L'écriture d'un code sécurisé ou non nécessite le même effort ; c'est l'acquisition des connaissances nécessaires pour coder de manière sécurisée qui demande la plus grande énergie. Le temps consacré à la mise en œuvre et à l'optimisation de RASP peut être bien mieux utilisé pour former les développeurs afin qu'ils ne commettent pas l'erreur dès le départ.
Équilibrer les outils et les personnes : ce n'est pas une solution miracle, mais c'est ce qui s'en rapproche le plus (pour l'instant).
L'éthique principale de DevSecOps est de faire de la sécurité une responsabilité partagée, et pour les organisations qui créent les logiciels qui alimentent nos vies - tout, du réseau électrique à nos sonnettes de porte - elles doivent faire participer tout le monde au voyage pour assurer un niveau de sécurité plus élevé.
Les outils ne peuvent pas tout faire, et ce n'est même pas le moyen le plus économique. Les meilleurs résultats sont de loin obtenus en donnant la priorité à une formation pertinente en matière de sécurité pour toutes les personnes qui touchent au code, en travaillant activement pour que l'équipe de développement garde la sécurité à l'esprit, et en construisant une culture de la sécurité positive qui est dirigée par l'homme, avec une suite d'outils qui joue un rôle de soutien.
Même en cas de contraintes de temps, d'économies et d'autres éléments qui font perdre le sommeil aux experts en sécurité, si les développeurs n'introduisent pas de défauts de sécurité courants en premier lieu, ces outils (qu'ils soient utilisés ou non) représentent un facteur de risque bien moindre.
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 est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO 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é.
Réservez une démonstrationTéléchargerRessources pour vous aider à démarrer
Évaluation comparative des compétences en matière de sécurité : Rationalisation de la conception sécurisée dans l'entreprise
Le mouvement "Secure-by-Design" (conception sécurisée) est l'avenir du développement de logiciels sécurisés. Découvrez les éléments clés que les entreprises doivent garder à l'esprit lorsqu'elles envisagent une initiative de conception sécurisée.
DigitalOcean réduit sa dette de sécurité avec Secure Code Warrior
L'utilisation par DigitalOcean de la formation Secure Code Warrior a considérablement réduit la dette de sécurité, permettant aux équipes de se concentrer davantage sur l'innovation et la productivité. L'amélioration de la sécurité a renforcé la qualité des produits et l'avantage concurrentiel de l'entreprise. À l'avenir, le score de confiance SCW les aidera à améliorer leurs pratiques de sécurité et à continuer à stimuler l'innovation.
Ressources pour vous aider à démarrer
La note de confiance révèle la valeur des initiatives d'amélioration de la sécurité par la conception
Nos recherches ont montré que la formation au code sécurisé fonctionne. Le Trust Score, qui utilise un algorithme s'appuyant sur plus de 20 millions de points de données d'apprentissage issus du travail de plus de 250 000 apprenants dans plus de 600 organisations, révèle son efficacité à réduire les vulnérabilités et la manière de rendre l'initiative encore plus efficace.
Sécurité réactive contre sécurité préventive : La prévention est un meilleur remède
L'idée d'apporter une sécurité préventive aux codes et systèmes existants en même temps qu'aux applications plus récentes peut sembler décourageante, mais une approche "Secure-by-Design", mise en œuvre en améliorant les compétences des développeurs, permet d'appliquer les meilleures pratiques de sécurité à ces systèmes. C'est la meilleure chance qu'ont de nombreuses organisations d'améliorer leur sécurité.
Les avantages de l'évaluation des compétences des développeurs en matière de sécurité
L'importance croissante accordée au code sécurisé et aux principes de conception sécurisée exige que les développeurs soient formés à la cybersécurité dès le début du cycle de développement durable, et que des outils tels que le Trust Score de Secure Code Warriorles aident à mesurer et à améliorer leurs progrès.
Assurer le succès des initiatives de conception sécurisée de l'entreprise
Notre dernier document de recherche, Benchmarking Security Skills : Streamlining Secure-by-Design in the Enterprise est le résultat d'une analyse approfondie d'initiatives réelles de conception sécurisée au niveau de l'entreprise, et de l'élaboration d'approches de meilleures pratiques basées sur des conclusions fondées sur des données.