Aller au contenu

Comment stocker et sécuriser les données sensibles

    Le rapport d’enquête sur les fuites de données Verizon 2020 (DBIR) indique que près de la moitié (45%) des attaques comportaient un piratage et sont liées aux vulnérabilités des applications Web.

    Il a plus que doublé d’année en année, 22% des intrusions dues aux attaques sociales et aux attaques de logiciels malveillants, 17% des intrusions dues à des erreurs de configuration, 8% des accès non autorisés et 4% des attaques physiques.

    Pour rendre possible l’hébergement et l’exécution d’une application Web, plusieurs composants d’application Web sont nécessaires. Dans un environnement de base, il doit y avoir au moins un logiciel de serveur Web (tel qu’Apache ou IIS), un système d’exploitation de serveur Web (tel que Windows, Linux, MacOS), un serveur de base de données (tel que MySQL, MSSQL ou PostgreSQL) et un réseau basé service, tel que FTP ou SFTP.

    Pour un serveur Web sécurisé, tous ces composants doivent également être protégés pour s’assurer que les données sensibles sont correctement sécurisées. Si la sécurité est interrompue à tout moment, les attaquants malveillants peuvent accéder à l’application Web et récupérer des données de la base de données ou la falsifier.

    DONNÉES SENSIBLES DANS LES APPLICATIONS WEB

    Les données sensibles peuvent être toute sorte d’informations qui doivent être protégées contre tout accès non autorisé pour protéger la confidentialité ou la sécurité d’un individu ou d’une organisation. Il peut inclure toute information relative aux:

    • Mots de passe
    • Phrases secrètes
    • Clés de chiffrement
    • Jetons OAuth
    • Numéros de carte de crédit
    • Informations de contact personnelles telles que noms, numéros de téléphone, adresses e-mail, comptes d’utilisateurs, adresses physiques, etc.
    • Informations démographiques telles que le sexe, l’âge, le revenu, l’éducation, l’appartenance ethnique
    • Dans certains états et pays: informations d’identification de la machine telles que MAC, adresses IP, numéros de série, etc.

    Il peut également s’agir d’informations d’identification personnelle ou de données à fort impact commercial. Les données sensibles varient beaucoup d’un pays à l’autre et la façon dont vous devez stocker et sécuriser les données sensibles peut également varier en conséquence. Diverses normes de conformité, telles que la norme de conformité PCI (Payment Card Industry), exigent que des mesures spéciales soient prises lors de la collecte de données sensibles pour rester conformes.

    Dans le monde actuel de la sécurité des infrastructures – au niveau du réseau, de l’hôte et des applications, la sécurité des données devient plus importante. La sécurité des données, comprend la sécurité des:

    • Données en transit
    • Données au repos

    Et les bons mécanismes de stockage doivent être choisis pour stocker ces données. Les mécanismes de stockage doivent enregistrer les informations de manière plus fiable, réduire la bande passante et améliorer la réactivité.

    Modèle de données
    Le modèle de données est un sous-ensemble du modèle d’implémentation qui décrit la représentation logique et physique des données persistantes dans le système.

    • Structuré: les données structurées sont conformes à un format tabulaire avec des relations entre les différentes lignes et colonnes, typique des SGBD SQL, des requêtes flexibles et dynamiques, où la gamme complète des types de requêtes peut ne pas être connue a priori. Exemple: IndexedDB.
    • Clé / valeur: les banques de données clé / valeur et les bases de données NoSQL associées utilisent un tableau associatif comme modèle de données fondamental où chaque clé est associée à une et une seule valeur dans une collection. Exemples: API de cache dans le navigateur, Apache Cassandra sur le serveur.
    • Byte Streams: Les systèmes de fichiers et autres données organisées hiérarchiquement, stockent les données sous forme de longueur variable, chaîne d’octets, laissant toute forme d’organisation interne à la couche application. Exemples: systèmes de fichiers et services de stockage dans le cloud.

    Persistance
    Les méthodes de stockage pour les applications Web peuvent être évaluées en fonction de l’étendue sur laquelle les données sont rendues persistantes.

    • Persistance de session: les données ne sont conservées que tant qu’il existe une session Web ou un onglet de navigateur unique actif. Exemple: API de stockage de session.
    • Persistance de l’appareil: les données sont conservées dans les sessions et les onglets / fenêtres du navigateur sur un appareil particulier. Exemple: API de cache.
    • Persistance globale: les données sont conservées entre les sessions et les appareils. C’est la forme la plus robuste de persistance des données. Il ne peut pas être stocké sur l’appareil lui-même, un stockage côté serveur est donc nécessaire. Exemple: Google Cloud Storage.

    STOCKAGE DE DONNÉES CÔTÉ CLIENT

    Le stockage côté client permet aux utilisateurs de stocker différents types de données sur le client avec l’autorisation des utilisateurs, puis de les récupérer chaque fois que nécessaire. Cela permet aux utilisateurs de conserver les données pour un stockage à long terme, d’enregistrer des sites ou des documents pour une utilisation hors ligne, de conserver les paramètres spécifiques à l’utilisateur pour le site, etc.

    Les données peuvent être stockées de différentes manières, telles que le stockage de session, le stockage local, les cookies, WebSQL, le cache et indexedDB.

    Stockage de session
    L’objet SessionStorage est utilisé pour stocker des données sur une base temporaire et effacé à la fin de la session de page. Étant donné que SessionStorage est spécifique à un onglet, il n’est pas accessible à partir des travailleurs Web ou des techniciens de service. Il est limité à environ 5 Mo et ne peut contenir que des chaînes. Cela peut être utile pour stocker de petites quantités d’informations spécifiques à la session, par exemple, la clé IndexedDB.

    Stockage local
    L’objet LocalStorage est utilisé pour stocker les données de l’ensemble du site Web de manière permanente. LocalStorage n’est pas accessible depuis les web workers ou les techniciens de service. Il est limité à environ 5 Mo et ne peut contenir que des chaînes. LocalStorage doit être évité car il est synchrone et bloquera le thread principal.

    Cookies
    Les cookies sont envoyés avec chaque requête HTTP, donc le stockage de données augmentera considérablement la taille des requêtes Web. Ils sont synchrones et ne sont pas accessibles depuis les web workers. Comme LocalStorage et SessionStorage, les cookies sont limités à des chaînes uniquement. Les cookies ont leurs utilisations, mais ce n’est pas un bon choix pour le stockage.

    WebSQL
    Le support WebSQL a été supprimé de presque tous les principaux navigateurs. Le W3C a cessé de maintenir la spécification Web SQL en 2010, sans prévoir de nouvelles mises à jour. WebSQL ne doit pas être utilisé et l’utilisation existante doit être migrée vers IndexedDB.

    Cache
    Le cache est obsolète et la prise en charge sera supprimée des navigateurs à l’avenir. Le cache d’application ne doit pas être utilisé et l’utilisation existante doit être migrée vers les techniciens de service et l’API Cache.

    IndexedDB
    Contrairement à la plupart des API modernes basées sur les promesses, IndexedDB est basé sur les événements. Les wrappers de promesse comme idb pour IndexedDB masquent certaines des fonctionnalités puissantes mais, plus important encore, masquent la machinerie complexe (par exemple, les transactions, la gestion des versions de schéma) fournie avec la bibliothèque IndexedDB. Il s’agit d’une API de bas niveau qui nécessite une configuration importante avant utilisation, ce qui peut être particulièrement pénible pour stocker des données simples.

    STOCKAGE DE DONNÉES CÔTÉ SERVEUR

    Le stockage des données est généralement géré côté serveur. Le stockage des données peut se produire sur des disques durs physiques, des lecteurs de disque, des clés USB ou virtuellement dans le cloud. Les fichiers sont sauvegardés et facilement disponibles lorsque les systèmes tombent en panne irrémédiablement.

    Il existe trois grands types de stockage de données, y compris le stockage en connexion directe, le stockage en réseau et le réseau de stockage.

    Stockage à connexion directe (DAS)
    DAS est un système de stockage dans lequel les serveurs sont directement connectés au périphérique de stockage. Dans DAS, pour accéder aux données par des applications, un protocole d’accès au niveau des blocs est utilisé. Certains des appareils courants de cette catégorie comprennent:

    • Disques durs
    • Disques SSD (SSD)
    • Lecteurs CD / DVD
    • Lecteurs Flash

    Stockage en réseau (NAS)
    Le stockage en réseau est un serveur de stockage de données informatiques de niveau fichier et il est connecté à un réseau informatique. Il offre un service et un partage de fichiers dédiés via le réseau. Il augmente les performances et la fiabilité grâce à des fonctionnalités telles que RAID et des disques interchangeables conçus pour des charges de travail multi-disques plus élevées.

    Réseau de stockage (SAN)
    Un réseau de stockage est un système de stockage dédié et performant. Il transfère les données de niveau bloc entre les serveurs et les périphériques de stockage. Le SAN est généralement utilisé dans les centres de données, les entreprises ou les environnements informatiques virtuels.

    Périphériques de stockage de données
    Les périphériques de stockage informatique sont tout type de matériel qui stocke des données. Il conserve et conserve les informations à court ou à long terme. Il peut s’agir d’un appareil à l’intérieur ou à l’extérieur d’un ordinateur ou d’un serveur.

    Disque dur HDD
    Le disque dur (HDD) ou le lecteur de disque fixe (FDD) est un périphérique de stockage de données matériel non volatile connecté à un ordinateur ou un serveur. Il stocke, récupère et émet magnétiquement des données numériques à l’aide d’une série de disques métalliques rotatifs empilés qui ont été recouverts d’un matériau magnétique. Les disques rotatifs sont associés à un bras d’actionnement qui lit et écrit les données numériques sur les disques.

    Disque dur SSD
    Le Solid State Device (SSD) est un périphérique de stockage qui utilise des assemblages de circuits intégrés pour stocker et récupérer des données, généralement à l’aide de la mémoire flash, et fonctionnant comme stockage secondaire dans la hiérarchie du stockage informatique. Il offre un transfert de données rapide entre SSD et une taille physique plus petite qu’une matrice de disques.

    Disque compact / disque polyvalent numérique
    Un lecteur de disque optique lit et écrit tous les formats courants de disque compact (CD) et de disque numérique polyvalent (DVD). Les lecteurs de CD sont intégrés aux ordinateurs. Un DVD contient plus d’informations qu’un CD et peut donc être utilisé pour une grande variété de supports et de stockage.

    Baies Flash hybrides
    Ces périphériques de stockage comprennent à la fois des lecteurs de mémoire flash et des lecteurs de disque dur pour des performances équilibrées. Les baies flash hybrides utilisent des facteurs de forme et des interfaces électriques compatibles avec les baies de disque dur courantes. Les baies flash hybrides offrent un démarrage à faible coût, des coûts de performance raisonnables et un accès rapide aux données à la demande.

    Stockage cloud hybride
    Le stockage cloud hybride est une approche de gestion du stockage cloud qui utilise à la fois des ressources locales et hors site. Il offre une option sécurisée et conforme qui contribue à assurer la continuité des activités. Il prend en charge les sauvegardes fréquentes et les archives à long terme, ainsi que la mise à l’échelle future et la disponibilité permanente. La combinaison du stockage cloud et sur site ajoute une couche de sécurité pour garantir la protection et la disponibilité des données, et l’espace de stockage pourrait être illimité.

    Logiciel de sauvegarde
    Programmes informatiques utilisés pour effectuer une sauvegarde; crée des copies exactes supplémentaires de fichiers, de bases de données ou d’ordinateurs entiers. Les logiciels de sauvegarde des systèmes et des entreprises sont généralement fournis avec une licence ou un tarif d’abonnement facturé mensuellement ou annuellement.

    Appareils de sauvegarde
    Accumule le logiciel de sauvegarde et les composants matériels dans un seul appareil. Les configurations peuvent être compliquées et la fiabilité peut être mise en péril en cas de mauvaise configuration et de réglage incorrect du logiciel.

    Stockage en ligne
    Des solutions complètes de stockage en ligne ou basées sur le cloud offrent un stockage de données virtuel qui stocke des données sur Internet via un fournisseur de cloud computing. Ils le gèrent et sont responsables de la disponibilité et de l’accessibilité des données, pas seulement sur un ordinateur local ou un disque dur externe. La fiabilité a tendance à être au rendez-vous, mais les entreprises doivent envisager une stratégie de sécurité de stockage dans le cloud avant de mettre en œuvre.

    VULNÉRABILITÉS DES APPLICATIONS WEB QUI ENTRAÎNENT DES FUITES DE DONNÉES SENSIBLES

    OWASP Top 10 est la liste des 10 vulnérabilités applicatives les plus courantes avec ses risques, son impact, ses contre-mesures et elle est mise à jour tous les trois à quatre ans. La dernière liste de vulnérabilités OWASP a été publiée en 2017, ce sont:

    • Injection
    • Authentification cassée
    • Exposition des données sensibles
    • Entités externes XML (XXE)
    • Contrôle d’accès cassé
    • Mauvaises configurations de sécurité
    • Scripts intersites (XSS)
    • Désérialisation non sécurisée
    • Utilisation de composants avec des vulnérabilités connues
    • Journalisation et surveillance insuffisantes

    MESURES ET MÉCANISMES DE PROTECTION DES DONNÉES SENSIBLES

    Authentification
    L’authentification des utilisateurs joue un rôle important dans la prise en compte de nombreux principes importants de protection des données, car elle est essentielle pour répondre aux exigences de sécurité, d’accès, de consentement et de responsabilité.

    Le maintien de la confidentialité, de l’intégrité et de la disponibilité pour la sécurité des données est un facteur fondamental de la sécurisation des données. L’authentification des utilisateurs et même des systèmes communicants est effectuée par divers mécanismes, mais le facteur fondamental de ceux-ci est la cryptographie.

    L’authentification des utilisateurs prend plusieurs formes, mais toutes sont basées sur la combinaison de facteurs d’authentification: quelque chose qu’un individu sait (comme un mot de passe), quelque chose qu’il possède (comme un jeton de sécurité) ou une qualité mesurable (comme une empreinte digitale) .

    L’authentification à facteur unique est basée sur un seul facteur d’authentification. Une authentification plus forte nécessite des facteurs supplémentaires; par exemple, l’authentification à deux facteurs est basée sur deux facteurs d’authentification (comme une épingle et une empreinte digitale).

    Contrôle d’accès
    Les contrôles d’accès sont généralement décrits comme discrétionnaires ou non, et les modèles de contrôle d’accès les plus courants sont:

    • Le contrôle d’accès discrétionnaire (DAC) est un type de système de contrôle d’accès qui attribue des droits d’accès en fonction de règles spécifiées par les utilisateurs. La gestion des autorisations peut être difficile à maintenir; DAC n’évolue pas bien au-delà d’un petit groupe d’utilisateurs.
    • Le contrôle d’accès basé sur les rôles (RBAC), également connu sous le nom de contrôle d’accès non discrétionnaire, attribue des droits en fonction des rôles organisationnels au lieu de comptes d’utilisateurs individuels au sein d’une organisation et la stratégie d’accès est déterminée par le système. Un sujet peut accéder à un objet ou exécuter une fonction, uniquement si l’ensemble d’autorisations ou de rôle le permet.
    • Le contrôle d’accès obligatoire (MAC) utilise une approche hiérarchique pour contrôler l’accès aux fichiers / ressources. L’étiquette d’un sujet spécifie le niveau de confiance et l’étiquette d’un objet spécifie le niveau de confiance requis pour y accéder. Si un sujet doit accéder à un objet, l’étiquette de sujet doit dominer ou au moins elle doit être aussi haute que l’étiquette d’objet. La politique d’accès est déterminée par le système.

    Chiffrement
    Il existe plusieurs façons de crypter les données au repos. Voici un aperçu des différentes formes de cryptage qui sont des méthodes de protection pour sécuriser les données au repos:

    • Cryptage complet des données sur disque au niveau du disque – méthode cryptographique qui applique le cryptage à l’ensemble du disque dur, y compris les données, les fichiers, le système d’exploitation et les logiciels. Il s’agit d’une approche par force brute pour crypter les données, mais cela implique également des problèmes de performances et de fiabilité. Si le chiffrement n’est pas effectué au niveau matériel du lecteur, cela affecte le système en termes de performances et même une corruption de disque mineure peut être fatale en tant que système d’exploitation, applications et données.
    • Niveau de répertoire (ou système de fichiers) – Des répertoires de données entiers sont chiffrés ou déchiffrés en tant que conteneur et pour accéder à ces fichiers, des clés de chiffrement sont nécessaires. Utilisé pour séparer les données de sensibilité ou de catégorisation identique dans des répertoires qui sont individuellement cryptés avec des clés différentes.
    • Niveau fichier – Seuls les fichiers spécifiques contenant des données sensibles sont cryptés plutôt que de crypter un disque dur entier ou même un répertoire. Il peut être plus efficace de crypter des fichiers individuels.
    • Niveau de l’application – Permet de crypter des fichiers entiers ou des champs de données spécifiques au niveau de l’application, avant qu’ils ne soient stockés. L’application gère le chiffrement et le déchiffrement des données gérées par l’application.

    Les deux objectifs de la sécurisation des données en mouvement sont d’éviter que les données ne soient compromises par leur confidentialité, leur intégrité, leur disponibilité. Pour protéger les données en mouvement:

    • Mettre en œuvre un cadre de sécurité pour les données en appliquant le cryptage de bout en bout, l’authentification forte, l’automatisation des tâches basées sur les fichiers, les règles et la gestion des politiques, les transferts de fichiers sécurisés ad hoc des utilisateurs, la livraison garantie, l’intégration avec les contrôles de sécurité existants, etc.
    • Restreindre le partage de cloud / méthodes de transfert alternatives
    • Identifier les actifs critiques et les vulnérabilités

    Le moyen le plus courant de protéger les données en mouvement consiste à utiliser le cryptage combiné à l’authentification pour créer un canal de transmission des données en toute sécurité.

    Conclusion
    En résumé, pour stocker et sécuriser les données sensibles, il est important de choisir le bon mécanisme. Pourtant, il est évident que la sécurisation des données sensibles ne peut être assurée qu’avec le bon mécanisme de stockage, elle nécessite également une sécurité adéquate de l’application. Si l’application finit par être vulnérable, il est alors plus facile pour un attaquant de récupérer des données sensibles.

    OrdiWeb

    OrdiWeb