Le développement logiciel comporte le risque de négliger des vulnérabilités de sécurité susceptibles de servir de porte d’entrée à une cyberattaque. Les bugs ou les erreurs dans le code en sont les sources les plus fréquentes. Or, les logiciels sont rarement parfaits lorsqu’ils sortent. C’est pourquoi il convient d’identifier et de corriger les erreurs, les bugs et les déploiements incorrects qui génèrent des risques pour la sécurité. Cependant, si la mission des équipes de sécurité se limite à la correction des problèmes détectés seulement après l’exécution de tests sur des logiciels complètement développés, ces améliorations, bien qu’essentielles, ne sont que partielles, car elles ne résolvent pas les problèmes sous-jacents.
Chez Axis, nous estimons que les considérations de sécurité sont à prendre au sérieux dès le départ et tout au long du processus de développement. Pas seulement à la fin. En effet, une multitude de décisions sont prises lors des différentes phases de développement logiciel, depuis la définition des critères de l’application jusqu’à la vérification et au déploiement, en passant par les phases de conception et de mise en œuvre. À chaque phase, les développeurs, les architectes et les responsables produit entérinent des décisions difficiles à modifier une fois le logiciel entièrement développé.
Modèle de développement de sécurité Axis
Pour traiter efficacement la cybersécurité et veiller à son intégration dans le cycle de développement logiciel, Axis a mis en place une méthodologie baptisée Axis Security Development Model (ASDM). Elle décrit les diverses activités de sécurité à mener au cours des différentes phases de développement logiciel. Son objectif est de réduire les vulnérabilités et les coûts de développement, par l’élaboration d’un cadre de référence de cybersécurité et de consignes d’application. Les équipes de développement sont ainsi mieux informées des attentes et peuvent communiquer plus simplement les décisions liées à la sécurité.
La boîte à outils de la méthode ASDM prescrit une diversité d’activités : évaluation des risques, modélisation des menaces, test du modèle de menace, analyse du code statique, recherche des vulnérabilités et évaluation des fournisseurs. Ainsi, une variété de problèmes de sécurité sont pris en compte. Les équipes de développement peuvent engager ou non certaines activités selon le type de logiciel à développer. Le cadre ASDM propose une approche basée sur le risque, qui veille à la réalisation des activités liées à la sécurité lorsqu’elles revêtent une importance cruciale. L’ambition est ici de renforcer le niveau de cybersécurité plutôt que de respecter un processus à la lettre.
Toutes les activités ASDM commencent par évaluer si une nouvelle fonction ou application présente un risque de cybersécurité. Dans la plupart des cas, une évaluation du risque est suivie entre autres d’une modélisation des menaces, puis du test du modèle de menace. Le système, les scénarios d’utilisation, les menaces et les parades sont déterminés à ce stade. Le code est examiné, analysé et vérifié.
Des tests de pénétration (simulation de cyberattaque) sur divers logiciels Axis sont réalisés chaque année par des entreprises indépendantes spécialisées. Ces essais, à l’initiative d’Axis et de ses partenaires, fournissent un examen indépendant de nos logiciels et contribuent à orienter nos efforts en sécurité logicielle. Les résultats de ces tests sont examinés par le Groupe de sécurité logicielle Axis (SSG, Software Security Group) pour évaluer les activités réalisées dans le cadre ASDM et déterminer si la méthode a besoin d’améliorations. Il en va de même pour les nouvelles vulnérabilités découvertes par des chercheurs extérieurs en sécurité et signalées à l’équipe de sécurité des produits Axis. Les constats de ces chercheurs indépendants en sécurité et des tests de pénétration indépendants contribuent à améliorer nos produits et nos méthodes de travail. Il faut signaler en effet que ce modèle ASDM d'Axis est en développement permanent.
Le cœur du modèle de développement de sécurité Axis est son approche centrée sur l’équipe. L’équipe de développement qui crée le logiciel est également responsable de son bilan sécurité. Plus de 1100 développeurs appartenant à 50 équipes de développement appliquent le modèle ASDM dans leurs activités quotidiennes chez Axis. En appui des équipes de développement sur ce sujet, plus de 40 développeurs travaillent dans le groupe SSG d’Axis et des groupes satellites SSG d’assistance de première ligne. Le groupe SSG est chargé de fournir la formation et la boîte à outils de sécurité, mais aussi d’assurer le suivi des différentes équipes et d’apporter des améliorations au modèle ASDM en cas de besoin. De leur côté, les satellites SSG contribuent à adapter le modèle ASDM aux besoins de chaque équipe du fait de la diversité des environnements technologiques et des méthodes de travail. Les responsables et les administrateurs des équipes logicielles ont ensuite pour mission d’assurer le suivi des activités ASDM des équipes et de veiller à la sécurité du logiciel.
Mise en œuvre du modèle ASDM
Le modèle ASDM a été créé en 2015 et depuis 2017, les équipes Axis de développement logiciel sont tenues de l’appliquer. Avant son introduction, les équipes de développement Axis appliquaient un ensemble de bonnes pratiques de développement logiciel, inspirées de la culture d’entreprise Axis qui encourage l’appropriation, la qualité technique, la transparence et l’examen par les pairs. Même si les équipes aboutissaient à du code de haute qualité, Axis ne disposait pas de méthode commune pour définir la démarche à privilégier pour incorporer les considérations de sécurité dans le processus de développement. La problématique toujours plus pressante de la cybersécurité et l’évolution des bonnes pratiques ont également fait apparaître le besoin de rationaliser les méthodes de travail.
Pour établir une démarche commune et exploitable, Axis s’est inspiré des normes et cadres de cybersécurité existants, comme ISO 27001, IEC 62443, NIST, BSIMM ou CMMC, qui traitent directement ou indirectement de la sécurité en cours de développement logiciel. Le fil conducteur de ces normes et cadres est le nécessité d’incorporer la sécurité dans les différentes phases de développement. Ces références encouragent également les utilisateurs à appliquer les bonnes pratiques et à créer un vocabulaire commun permettant aux différents acteurs de la cybersécurité de communiquer plus clairement.
Le modèle ASDM n’est pourtant la simple adaptation d’une norme ou d’un cadre existant. Il adopte plusieurs aspects bénéfiques d’une diversité de normes et de cadres, adaptés pour être compatibles avec la culture d’entreprise et les pratiques de développement d’Axis. La mise à disposition d’un modèle personnalisé assure sa pertinence pour divers types de logiciels. Par ailleurs, dans un environnement où les cybermenaces et leurs parades se réinventent en permanence, un modèle personnalisé a l’avantage de pouvoir incorporer les nouvelles bonnes pratiques. Au final, le modèle ASDM permet aux équipes de développement logiciel Axis de produire l’impact maximal et de véritablement intégrer la sécurité dans les logiciels.