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 :
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 :
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.
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.
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.
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.
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.
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 :
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.
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é.
En cas d'incident, des notifications sont envoyées rapidement aux parties concernées.
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.
Galvanize suit les grandes étapes suivantes pour se préparer à réagir en cas d'incident :
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.
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 :
Lorsque l'incident a été résolu, le SIRT mène les activités suivantes pour garantir une amélioration continue :
À 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.
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.
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.
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.
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 :
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.
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.
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.
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.
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é.
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.
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. |
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.