MAIN MENU
Le blogue Devolutions

Annonces, mises à jour et analyses de Devolutions

Documents techniques
Devolutions-Secure-Software-Development-Practices

Les pratiques de développement sécuritaire de logiciels de Devolutions

Le programme de sécurité de Devolutions comprend une politique de développement sécuritaire de logiciels, qui régit tous les aspects de développement logiciel de l’entreprise. Notre approche est basée

Photo of Martin Lemay Martin Lemay

programme de sécurité de Devolutions comprend une politique de développement sécuritaire de logiciels, qui régit tous les aspects de développement logiciel de l’entreprise. Notre approche est basée sur le SSDF (de l’anglais Secure Software Development Framework) développé par l’Institut national des normes et de la technologie (NIST). Le SSDF définit un ensemble de normes et de pratiques de sécurité à intégrer dans le cycle de vie du développement logiciel (Software Development Life Cycle, SDLC, en anglais).

Ce document décrit sept aspects fondamentaux de nos pratiques de sécurité intégrées dans notre SDLC :

  1. Rôles et responsabilités
  2. Expertise et formation
  3. Environnement de contrôle
  4. Technologies
  5. Activités internes et de tierces parties
  6. Protection intégrée de la vie privée
  7. Signalement et correction des vulnérabilités

1. Rôles et responsabilités

Pour offrir des logiciels sécurisés et fiables, il est primordial de suivre un solide programme de pratiques sécurisées de développement. Ce programme, d’une importance capitale pour notre entreprise, est géré et soutenu par notre Comité exécutif, le Directeur de la sécurité, le Directeur des affaires juridiques, risques et protection des renseignements personnels et par le Chef de pratique en développement sécuritaire. Chaque rôle contribue au succès de notre programme. Ils sont détaillés dans le tableau suivant :

RôleMandat
Comité exécutifLe Comité exécutif s’engage à fournir des logiciels sécurisés et fiables à nos clients. Ses membres fournissent tout le soutien et toutes les ressources nécessaires pour administrer efficacement le programme.
Chef de la sécurité (CSO)Le Chef de la sécurité (CSO) est responsable de la conception, de la mise en œuvre et du contrôle des stratégies de sécurité nécessaires à l’atteinte des objectifs de l’organisation. Il supervise toutes les initiatives de sécurité et se rapporte directement au Comité exécutif. Il fournit également le soutien nécessaire au Chef de pratique en développement sécuritaire pour assurer la performance et la réussite des objectifs du programme.
Directeur des affaires juridiques, risques et protection des renseignements personnelsLe Directeur des affaires juridiques, risques et protection des renseignements personnels est responsable de la mise en œuvre des politiques, procédures et contrôles relatifs à la gestion et à la protection des informations personnelles identifiables (PII), en conformité avec toutes les lois et tous les règlements en vigueur. Le directeur se rapporte au Comité exécutif et travaille en collaboration avec le CSO pour appliquer les stratégies de protection des renseignements personnels.
Le Chef de pratique en développement sécuritaireLe Chef de pratique en développement sécuritaire collabore avec le Chef de la sécurité afin de conceptualiser, mettre en place, et surveiller la performance et l’amélioration continues du programme tout en promouvant ses bénéfices et motivant son adoption à l’ensemble de l’organisation.

2. Expertise et formation

Un programme SDLC sécuritaire requiert une expertise et des compétences particulières. C’est pourquoi notre entreprise investit dans des programmes annuels de formation et de développement des compétences. Voici quelques faits qui en témoignent :

3. Environnement de contrôle

L’environnement de contrôle est d’une importance vitale, parce qu’il influence directement le succès de notre programme. Les facteurs environnementaux sont identifiés et contrôlés pour limiter la présence et l’impact des menaces externes au développement des produits et services. Vous trouverez ci-dessous certains des contrôles que nous avons actuellement en place chez Devolutions.

4. Technologies

Le choix et l’implantation de la technologie sont deux facteurs majeurs qui influencent la qualité du logiciel. Pour mieux prévenir et combattre les menaces, notre entreprise favorise des technologies reconnues pour leur sécurité, leur stabilité et leur fiabilité. De manière plus précise :

5. Activités internes et de tierces parties

Notre organisation évalue constamment la sécurité des logiciels produits par des activités manuelles et automatisées. Notre méthodologie et notre approche s’appuient sur des normes et des directives documentées et reconnues, publiées par l’OWASP et le NIST. De plus, les principes, standards et régulations en matière de protections des renseignements personnels sont respectés et intégrés dans nos actions afin d’assurer le respect de la vie privée. Voici un aperçu de ces actions :

ActionsDescription
Modélisation de la menaceCette action implique un brainstorming et une analyse de scénarios de menaces pour évaluer leur impact négatif. L’objectif est de s’assurer que des contrôles adéquats sont en place afin de prévenir ou d’atténuer les risques identifiés dès que possible dans le SDLC. Le principal avantage de cette action est d’aider à identifier les problèmes structurels dans la conception d’une application, ce qui réduit considérablement le coût des modifications et la probabilité d’exposition aux vulnérabilités.
Revue de code de sécuritéL’équipe de sécurité utilise des techniques manuelles et automatisées pour identifier les vulnérabilités potentielles dans le code source. Les revues de code permettent de s’assurer que les contrôles de sécurité (authentification, autorisation, filtrage, contrôles d’accès, etc.) ont été correctement implantés pour identifier et empêcher les vulnérabilités d’atteindre la production.
Analyse automatisée statiqueCette action consiste à utiliser un outil d’analyse de code automatisé qui inspecte le code source sans l’exécuter. Les problèmes de sécurité peuvent être identifiés en traçant les entrées de données et leurs chemins d’exécution où la validation et le filtrage sont manquants. Le principal avantage de cette activité est qu’elle peut être faite directement dans la chaîne d’outils d’environnement de développement intégré (IDE) et d’intégration continue (CI), afin de ne pas exposer les vulnérabilités au moment où les développeurs construisent leur code.
Fuzzing (ou test de données corrompues)Il s’agit d’un test qui permet d’évaluer la robustesse d’un programme lorsqu’il est exposé à des données non valides ou mal formées. Combiné aux informations de couverture du programme, le fuzzing peut être très efficace pour identifier les problèmes de gestion de la mémoire dans les langages de bas niveau tels que C et C++.
Test d’intrusionCette action est effectuée par l’équipe de sécurité et des auditeurs tiers pour simuler des attaques ciblées sur les logiciels. L’objectif est de valider l’efficacité ou l’absence de contrôles de sécurité dans les logiciels en identifiant les vulnérabilités et en tentant de les exploiter. Les tests d’intrusion sont considérés comme la dernière ligne de défense.
Audit et tests de conformitéDes audits sont effectués périodiquement par des partenaires de confiance afin d’évaluer l’engagement de notre entreprise à l’égard de programmes de conformité, tels que SOC2 et GDPR. Divers processus, politiques, normes et contrôles techniques conçus et mis en œuvre dans nos logiciels et nos services sont validés par des auditeurs réputés. Cela assure la transparence de nos pratiques de sécurité. Combinés aux autres actions, ces audits procurent un haut niveau de confiance de nos clients et partenaires envers notre pratique de développement sécuritaire.

6. Protection intégrée de la vie privée

Le Comité exécutif s’engage fermement à la sécurité et la protection des renseignements personnels. L’intégration de la protection de la vie privée est planifiée dès la conception des produits et services et tout au long du cycle de vie logiciel. Cette responsabilité est assignée à notre Directeur des affaires juridiques, risques et protection des renseignements personnels qui veille à son intégration à tous les niveaux du processus de développement et à travers toute l’organisation. La collecte d’informations personnelles est effectuée uniquement lorsque :

Notre organisation se conforme aux exigences du Règlement général sur la protection des données (RGPD) de l’Union européenne et de la Loi sur la protection des renseignements personnels et les documents électroniques (LPRPDE). En appliquant les principes de confidentialité et les mesures de sécurité appropriées dès les premières étapes du SDLC, la probabilité et l’impact de fuite ou brèche de renseignements personnels sont considérablement réduits.

7. Signalement et correction des vulnérabilités

Avoir un processus défini de signalement des vulnérabilités et de correction est essentiel au succès du programme de développement sécuritaire de notre entreprise. Ce processus réduit les risques d’exploitation de vulnérabilités pouvant affecter notre organisation, nos clients et nos partenaires en nous permettant de mettre en œuvre rapidement des correctifs de sécurité.

Les utilisateurs et les chercheurs en sécurité sont encouragés à signaler les problèmes de sécurité à security@devolutions.net chaque fois qu’un problème logiciel ou d’infrastructure expose la clientèle ou l’organisation à un impact négatif sur la confidentialité, l’intégrité ou la disponibilité des données ou du service. Pour accélérer le processus de résolution, les informations suivantes doivent être incluses dans le rapport :

Après avoir reçu un rapport, notre équipe de sécurité :

More from Documents techniques

Read more articles