Politiques et processus

Les politiques et les processus relatifs à la sécurité des informations constituent le pilier de notre programme de sécurité des informations. En effet, les politiques de sécurité de Galvanize donnent le ton et l'orientation de l'organisation : elles attribuent et délèguent les rôles et les responsabilités concernant la sécurité des informations, elles définissent les objectifs des contrôles et elles démontrent de l'engagement et de la responsabilité auprès de toutes les parties prenantes comme les employés, les partenaires commerciaux et les clients.

Notre solution s'accompagne de divers politiques, standards et procédures opérationnels et sécuritaires liés aux sujets suivants :

  • Contrôle d'accès
  • Intégration et départ des employés
  • Classification des informations
  • Suivi et supervision
  • Contrôle des modifications
  • Sécurité du développement
  • Gestion des vulnérabilités
  • Service client
  • Gestion des problèmes
  • Réponse aux incidents
  • Gestion des tiers

Modèle de responsabilité partagée

Nous gérons toute l'infrastructure applicative alors que nos clients gèrent la sécurité de l'utilisateur final et le contrôle d'accès à leur système individuel. Ce modèle porte le nom de Modèle de responsabilité partagée, qui se compose des éléments suivants :

  • Responsabilité des clients
  • Responsabilité de Galvanize
  • Responsabilité d'Amazon Web Services (AWS)

Modèle de responsabilité partagée

Responsabilité des clients

Les clients partagent la responsabilité de non seulement garder leurs données en toute sécurité, mais aussi de respecter les lois applicables relatives à la réglementation ou à la confidentialité. Nos clients ont la pleine maîtrise des contrôles d'accès utilisateur et gèrent l'intégralité du cycle de vie des données client. Ils décident des données à intégrer au système, de la durée de leur conservation, des données à supprimer et des personnes autorisées à y accéder.

Responsabilité de Galvanize

Outre la sécurité physique et matérielle qu'Amazon fournit, nous disposons aussi d'un solide environnement de sécurité des informations pour s'assurer que la confidentialité, l'intégrité et la disponibilité des données des clients répondent à nos hautes exigences et aux attentes élevées de nos clients.

Responsabilité d'Amazon Web Services (AWS)

Amazon est le plus grand fournisseur de stockage de données et d'informatique sur la planète. C'est lui qui est responsable du site physique ainsi que de l'infrastructure physique du matériel du serveur, du réseau et des services liés aux services HighBond et à l'hébergement des données des clients.

Sécurité physique et sécurité de l'environnement

Le siège de notre entreprise se trouve sur un site physique collectif. L'entrée du bâtiment, qui reste verrouillée pendant les heures non ouvrées, est protégée par un service de gardiennage de sécurité. Des caméras de sécurité sont placées de manière visible aux entrées connaissant un trafic élevé ou aux endroits sensibles.

L'ouverture des portes de Galvanize est équipée d'un accès par badge. Tous les employés, sous-traitants et visiteurs doivent porter un badge visible à tout moment. Toutes les portes sont équipées d'une alarme qui avertira notre prestataire et la police en cas de troubles. L'accès physique est audité chaque trimestre ; toutefois, aucune donnée client n'est stockée sur notre site.

Sécurité logique

Nous avons recours au principe de moindre privilège pour l'administration interne. Les employés ayant besoin d'un accès d'administrateur doivent le demander via un système de création de tickets. Cette demande exige l'approbation de la direction générale avant que l'accès soit accordé.

L'accès administratif à toutes les applications est accordé à tous les employés de Galvanize selon les responsabilités des fonctions de l'utilisateur. L'accès à toutes les applications du système de production et à toutes les applications internes est retiré à la fin de la période d'emploi de l'employé ou au terme du contrat du sous-traitant.

Chaque trimestre, le directeur informatique, associé au directeur de la technologie et à notre responsable de la sécurité des informations, est chargé d'examiner les droits d'accès et d'y répondre avec les modifications nécessaires et l'approbation associée.

Accès à l'environnement client

Nos clients doivent mettre en place des contrôles pour limiter l'accès aux personnes ayant un compte. Les contrôles doivent inclure l'approbation des personnes ayant accès aux comptes avant la configuration des utilisateurs dans le système et la révocation des informations d'identification des utilisateurs lorsqu'un accès utilisateur n'est plus requis ou si les informations d'authentification des utilisateurs ou d'autres informations sensibles ont été compromises.

Notre plateforme inclut plusieurs fonctionnalités permettant d'aider les clients à gérer l'accès des utilisateurs au système, dont les fonctionnalités suivantes :

  • Appliquer des mots de passe forts
  • Configurer l'expiration des mots de passe
  • Configurer la temporisation de session
  • Configurer l'authentification unique (SSO, Single-Sign On) via SAML 2.0
  • Verrouiller les comptes de l'utilisateur après plusieurs échecs de connexion
  • Supprimer ou suspendre facilement des comptes d'utilisateurs
  • Identifier les adresses IP des utilisateurs autorisés
  • Utiliser le suivi des activités pour consigner les accès et les utilisations du système

Accès des utilisateurs aux couches du système

Les bases de données de production se trouvent sur Amazon RDS. RDS n'autorise pas l'accès aux serveurs de base de données au-delà de l'interface des protocoles de bases de données standard.

La création et la configuration des bases de données RDS sont assurées par notre équipe Opérations de développement grâce à l'infrastructure codée et à l'interface de gestion d'AWS.

Gestion des incidents

Nous disposons d'un solide plan de réponse aux incidents pour gérer efficacement et rapidement les incidents touchant l'environnement du système. Ce plan est mis en place pour minimiser les éventuels dégâts pouvant apparaître suite à une violation des données et pour s'assurer que les parties concernées par la violation de données sont informées de façon appropriée et qu'elles savent comment se protéger.

Le SIRT (Security Incident Response Team) est responsable de la réponse, de la gestion et de la réalisation des enquêtes de sécurité, y compris de tous les aspects de la communication comme les décisions concernant comment, quand et à qui signaler les découvertes. La remédiation aux incidents de sécurité identifiés reste de la responsabilité de l'entreprise ou du propriétaire du système pour l'actif concerné.

Notifications des violations

En cas d'incident, des notifications sont envoyées rapidement aux parties concernées.

La notification inclura les informations suivantes :

  • Une brève description de l'incident, y compris la nature de la violation et sa date
  • Une description des type(s) de données généraux concernées par la violation (pas les informations propres à une personne)
  • Une explication de ce que nous sommes en train de faire pour étudier la violation, atténuer ses effets négatifs et empêcher des incidents futurs

Flux de travail de la gestion des incidents

Le cycle de vie d'une violation de sécurité chez Galvanize se compose des quatre phases identifiées dans le schéma suivant. À l'intérieur de chacune de ces phases, des actions spécifiques sont prises pour traiter les problèmes et s'assurer que les clients et les employés disposent des notifications et des conseils appropriés.

Phases de la gestion des incidents

Préparation

Galvanize suit les grandes étapes suivantes pour se préparer à réagir en cas d'incident :

  • Mise en place de politiques et de procédures de sécurité : nous avons implémenté un cadre d'action pour la sécurité conformément à la norme ISO 27001/2 afin de définir les besoins et les exigences de sécurité minimales au sein de l'organisation.
  • Définition des rôles et des responsabilités dans une réponse à un incident : le SIRT est chargé de vérifier qu'un incident s'est bien produit, de prendre les mesures nécessaires et de faire remonter le problème à notre équipe de direction, le cas échéant.
  • Constitution d'un SIRT regroupant des experts de toutes les équipes : le SIRT inclut les membres principaux et d'autres membres de divers groupes opérationnels formant un VSIRT (SIRT virtuel). Les membres du VSIRT sont des experts d'un domaine qui sont officiellement nommés « points de contact » en cas d'incidents de sécurité.
  • Évaluation des principaux systèmes de sécurité ACL : nous effectuons des évaluations de vulnérabilité de routine sur les actifs prédéfinis et conduit les activités de remédiation dans toute l'organisation.
  • Étude approfondie des exigences juridiques applicables pour la réponse aux violations : nous entretenons la liste des contacts externes appropriés comme les forces de l'ordre et les experts d'un domaine susceptibles d'aider pendant une enquête.
  • Réalisation des formations régulières qui conviennent : les membres SIRT participent aux simulations et aux exercices de routine, en assistant à des formations spécialisées, ainsi qu'en surveillant les informations et les tendances actuelles du secteur pour améliorer leur réactivité et leur préparation.

Identification et analyse

Nous surveillons et examinons tous les événements et rapports d'une activité suspecte ou inattendue et nous les suivons dans un système de création de ticket interne.

Si un incident se confirme, une analyse commence, un niveau de gravité est affecté et le ticket est remonté en conséquence.

Selon le type d'incident et sa gravité, le SIRT regroupe et analyse les informations, impliquant des spécialistes judiciaires, pour déterminer les causes, l'impact, le type et toute autre information pertinente le concernant.

Maîtrise et remédiation

Afin de limiter l'impact de l'incident, empêcher tout autre dommage et restaurer les systèmes affectés, le SIRT peut prendre plusieurs mesures au cours de cette phase :

  • Maîtrise à court terme : pour arrêter une attaque/un incident.
  • Conservation des preuves : pour capturer les données utilisables dans l'enquête, les bilans et/ou les poursuites.
  • Atténuation de la menace : pour atténuer la menace afin de remettre temporairement en ligne les systèmes affectés.
  • Remédiation : pour s'assurer que le système affecté est sécurisé avant d'être réintroduit dans un environnement de production.
  • Récupération  : pour tester, valider, introduire à nouveau et suivre attentivement les systèmes après leur réintroduction.

Activités post-incident

Lorsque l'incident a été résolu, le SIRT mène les activités suivantes pour garantir une amélioration continue :

  • Surveillance en continu : pour surveiller les systèmes affectés et s'assurer de l'éradication de la menace et qu'elle ne revienne pas.
  • Analyse des causes premières : pour s'assurer que les actions correctives portent véritablement sur la cause première du problème.
  • Examen des bilans : pour identifier et documenter les domaines de l'amélioration dans le processus de réaction aux incidents.
  • Fermeture de l'incident : pour s'assurer que toute la documentation nécessaire est remplie et soumise avec le cas, et le dossier de suivi d'incident est fermé.

Cycle de développement d'un logiciel sécurisé (Secure Software Development Life Cycle, SSDLC)

À chaque phase du processus de développement d'application, la sécurité est la priorité numéro un.

Chez Galvanize, la sécurité est intégrée à nos logiciels : les bonnes pratiques recommandées en matière de sécurité de codage sont strictement observées. Les vulnérabilités de couches d'application courantes, comme toutes les vulnérabilités du Top 10 de l'OWASP, sont traitées explicitement à tous les niveaux du cycle de vie à l'aide de mesures de prévention standard dans le secteur, comme le nettoyage explicite de toutes les entrées utilisateurs, l'utilisation de requêtes paramétrables et l'utilisation de bibliothèques sécurisées.

Après leur contrôle et leur approbation, toutes les modifications apportées au code doivent passer par une stricte évaluation par les pairs et par des tests de contrôle qualité avant le déploiement de la production.

Développement et tests

Nous avons recours à des pratiques de développement à la pointe du secteur comme un examen du code et des programmes par les pairs, ainsi qu'à des outils d'intégration continue pour réaliser des tests automatisés, y compris l'analyse de code statique pour la sécurité.

Plusieurs environnements de transit ont été créés pour faciliter les tests manuels et automatisés. De plus, une fonction de contrôle qualité formalisée et indépendante a été créée pour réaliser des tests structurés lorsqu'une fonctionnalité, une correction de bogue ou une modification à risque élevé doit être introduite dans notre environnement.

En tant qu'entreprise de développement agile, nous entretenons des processus et des outils pour déployer des modifications en cas de problèmes depuis un déploiement de production.

Gestion des programmes et opérations de développement

La gestion des programmes relève de la responsabilité de notre équipe Opérations de développement dans notre siège au Canada. Ce groupe entretient les serveurs (approvisionnement, sauvegardes, mises à jour du système d'exploitation et correctifs, journalisation et surveillance) et supervise le déploiement de toutes les modifications de notre équipe Recherche et développement (R et D) vers la production, en s'assurant que notre processus de gestion du changement a été suivi.

Les équipes Opérations de développement et R et D travaillent en étroite collaboration pour garantir la qualité de notre service logiciel, mais ont des responsabilités distinctes.

Séparation des tâches

Nous avons mis en place des procédures, des contrôles et une supervision pour s'assurer qu'il existe bien une séparation des tâches entre les phases de définition, conception, développement, test et déploiement dans le cycle de vie d'un logiciel.

Nous avons aussi recours à une supervision tierce pour le développement, les tests et la production afin de détecter des erreurs d'exécution et de suivre les performances pour que les différents intervenants soient informés sur le déploiement ou sur l'erreur.

Contrôles de sécurité des postes de travail et des ordinateurs portables

Pour maintenir la sécurité et l'intégrité de nos points de terminaison comme de nos données, les contrôles clés suivants sont mis en place pour tous les ordinateurs portables et postes de travail dans l'environnement de R et D :

  • Chiffrement des disques pleins
  • Comptes à privilèges limités
  • Mise à jour en continu de la détection des virus et des programmes malveillants
  • Standardisation des exigences d'authentification de mots de passe
  • Accès VPN
  • Sauvegardes à distance

Référentiel de code des applications

Nous maintenons un référentiel de code source exclusivement pour la gestion du code source. Le référentiel de code source est une copie complète du code source (y compris l'historique de toutes les versions).

La nature redondante de notre référentiel de code source réduit sensiblement le risque de perte de code source pour la disponibilité du système. Ce référentiel est sauvegardé régulièrement.

Gestion du changement

La direction a mis en place des politiques et des procédures pour contrôler et pour gérer des modifications apportées à des systèmes de production.

Nous utilisons des environnements de développement, de test et de production qui sont séparés. Toutes les modifications de programme sont testées dans un environnement de développement et dans un environnement d'intégration continu, puis sont officiellement acceptées dans un environnement de transit avant d'être déployées dans l'environnement de production.

Le système de déploiement a la capacité de restaurer les modifications déployées pour que, même en cas de problème après le déploiement, l'application de production puisse être renvoyée à un état stable rapidement et efficacement.

Gestion des modifications d'urgence

Les modifications d'urgence nécessitent le même processus de test et d'approbation que la demande de modifications standard. Toutefois, ces activités peuvent être réalisées et documentées rétroactivement par rapport à la migration de la modification vers la production afin de s'assurer que le problème de production est résolu le plus rapidement possible.

Problèmes client

Les problèmes client peuvent être signalés au Service client de Galvanize via des tickets d'assistance.

La personne recevant la requête tente de traiter immédiatement le problème ou de l'acheminer vers la personne appropriée, puis de documenter les procédures de résolution.

Des problèmes d'expérience client peuvent aussi être identifiés automatiquement par le biais d'erreurs de couche d'application. Lorsqu'une erreur se produit dans une application, une notification programmatique est effectuée, ce qui génère automatiquement un e-mail de notification. Une fois la notification reçue, le ticket sert à suivre la résolution de l'erreur.

Tests d'intrusion

Outre ses tests de sécurité internes, nous utilisons des tests d'intrusion indépendants tiers pour contrôler l'absence de vulnérabilité de sécurité dans le service HighBond.

Ces tests sont effectués par une organisation spécialisée dans la sécurité logicielle ; ils servent à sonder l'environnement HighBond pour y détecter d'éventuelles vulnérabilités comme l'exécution de scripts de site à site, l'injection de code SQL, la gestion des sessions et des cookies.

Nous nous assurons que les vulnérabilités exploitables sont résolues en temps voulu selon leur gravité et leur impact. Une copie du dernier rapport de test d'intrusion peut être fournie, sous réserve de signature d'un contrat de confidentialité.

Analyses Web et tests

Nous utilisons un fournisseur de sécurité tiers indépendant pour effectuer l'analyse des applications Web et des tests de sécurité automatisés.

Les analyses de vulnérabilité sont effectuées sur toutes les applications afin d'y rechercher des failles de sécurité avant une version de production.

Les découvertes sont remontées immédiatement et résolues en temps voulu. Au cas où une vulnérabilité à risque élevé serait identifiée, toutes les autres tâches opérationnelles seraient immédiatement abandonnées et la résolution de cette vulnérabilité sera considérée comme la priorité de toute l'entreprise.

Description des zones de sécurité où des vulnérabilités sont recherchées

Zone de sécurité

Description

Découverte de port

Identifie et mappe les ports ouverts sur le réseau de production.

Analyse des vulnérabilités des services du réseau

Découvre, identifie et surveille les périphériques du réseau, trouve les périphériques non autorisés ou identifie les services non autorisés.

Découverte du réseau

Interroge tous les services sur chaque port disponible pour déterminer exactement quels sont les logiciels en cours d'exécution et comment ils sont configurés conformément à la base de connaissances de vulnérabilité pour le lancement de tests propres au service.

Analyse des vulnérabilités des applications Web

Vérifie tous les services HTTP et domaines virtuels pour y détecter l'existence de modules, de paramètres de configuration, de CGI et d'autres scripts, ainsi que de fichiers installés par défaut qui représentent un danger potentiel.

Le site Web est alors « profondément analysé » avec des liens flash intégrés et des pages protégées par mot de passe, pour trouver des formulaires et d'autres éléments interactifs représentant un danger potentiel.

Ceux-ci sont ensuite utilisés de façons précises pour révéler des vulnérabilités au niveau de l'application, comme la révélation de code, la création de scripts site à site et l'injection de code SQL.

Fin des abonnements

Lorsque vous choisirez de mettre fin à votre abonnement, nous prolongerons l'accès au système pendant 30 jours supplémentaires pour que vous puissiez copier ou extraire les données que vous souhaitez conserver. Une fois vos données extraites, vous avez l'entière responsabilité (et l'entière possibilité) de supprimer tout ou partie de vos données restantes dans le système.

Sur demande écrite, Galvanize détruira le système du client et tout le contenu des données après le traitement de l'extraction. Passé un délai de 90 jours sans demande écrite de destruction du système du client, Galvanize se réserve le droit de détruire le système du client pour récupérer les ressources du système.