À une époque où les renseignements personnels (PII) sensibles tels que les noms, mots de passe et numéros de sécurité sociale sont très recherchés, les gens deviennent plus vulnérables à la divulgation de leurs données. Lorsqu'une violation des données se produit, l'entreprise est tenue responsable d'une mauvaise gestion de la sécurité. Cependant, avec la formation et les outils appropriés, tous les développeurs peuvent contribuer à la protection contre la divulgation des données dans leurs applications. Dans cet article de blog, vous découvrirez comment les données sensibles peuvent être divulguées via les logs et comment utiliser la fonction d'obfuscation des logs de New Relic pour protéger les données sensibles.

Conséquence de la fuite des données sensibles dans les logs 

Considérons un scénario dans lequel un utilisateur interagit avec une plateforme de trading en ligne. Lors de l'inscription, l'application collecte un certain nombre de données privées, dont un numéro de sécurité sociale, afin d'identifier l'identité d'un client conformément à la réglementation financière de KYC. Si un numéro de sécurité sociale est collecté dans une intention malveillante, cela peut conduire à de nombreux délits tels qu'un accès non autorisé aux approbations de prêt, à la création de comptes bancaires et bien plus encore, le tout sous cet identifiant. Il est donc logique que les développeurs d’applications assurent la meilleure sécurisation possible des numéros de sécurité sociale lors de la collecte et de l’enregistrement de ces données. 

Examinons de plus près ce qui se passe lorsqu'un utilisateur se connecte à la plateforme de trading TechieVibez Finance. Vous pouvez suivre et cloner ce référentiel en suivant les instructions du fichier ReadMe.

La conception actuelle du programme capture un numéro de sécurité sociale arbitraire dans les logs chaque fois qu'un utilisateur clique sur le bouton « Se connecter ».

Un numéro de sécurité sociale exposé est problématique, car non seulement les renseignements personnels du client sont accessibles aux employés ayant accès à l'application et à l'environnement de production, mais elles peuvent également être compromises par toute personne ayant accès aux outils de monitoring tiers intégrés, tels que New Relic. Heureusement, New Relic dispose d'une fonctionnalité de transfert de logs qui permet de masquer (obfusquer) les données sensibles soit automatiquement, soit via la création de règles pour des scénarios uniques afin d'aider à atténuer ce type de violation de données. 

Qu’est-ce que l’obfuscation des logs ?

L'obfuscation est le processus qui rend le contenu difficile à comprendre pour les humains et les ordinateurs. Ce processus est important pour sécuriser les renseignements personnels, tels que les numéros de sécurité sociale ou les mots de passe, car il rend ces données incompréhensibles pour tout le monde, y compris les acteurs malveillants. New Relic prend en charge le masquage et le hachage pour masquer les données sensibles. Le masquage est le processus consistant à supprimer complètement les informations sensibles et à les remplacer par des caractères « X », rendant ces valeurs impossibles à rechercher une fois la transformation terminée. La technique de masquage des données est utile lorsque vous souhaitez anonymiser les renseignements personnels. Par exemple :

Les détails du log d'origine en texte brut.

{
  "username": "mmaka",
  "password": "mM@ck3s",
  "ssn": "123-45-6789"
}

Les mêmes détails du log obfusqués à l’aide de la technique de masquage.

{
  "username": "XXXXXXXX",
  "password": "XXXXXXXX" ,
  "ssn": "XXXXXXXX"
}

Pour en savoir plus sur les différentes techniques de masquage des données, les cas d'utilisation et les bonnes pratiques, consultez cet article sur le sujet

Contrairement au masquage des données, la technique de hachage prend les données d'origine en texte brut et les convertit en une valeur cryptique qui pourra être récupérée et recherchée ultérieurement. Cette valeur peut être utilisée comme point de données significatif tant que vous vous souvenez de la valeur d'origine en texte brut. Il existe un certain nombre d'algorithmes de hachage sécurisé (SHA) référencés aujourd'hui, mais New Relic prend en charge le formulaire SHA-256. Par exemple :

Les détails du log d'origine en texte brut.

{
  "username": "mmaka",
  "password": "mM@ck3s",
  "ssn": "123-45-6789"
}

Les mêmes détails du log obfusqués à l'aide de la technique de hachage.

{
  "username": "007affa7d313e4b5b2b85b3d42f2aa3a70423c83a93d9ee058aed3a3145b23cc",
  "password": "528be89abeea17a90e98b4872394a28437eb14911006a55d34ead0c647dea2cf",
  "ssn": "01a54629efb952287e554eb23ef69c52097a75aecc0e3a93ca0855ab6d7a31a0"
}

La plateforme New Relic est conçue pour masquer automatiquement les modèles de numéros dans les données de log identifiées comme étant sensibles, telles que les numéros de carte de crédit ou de sécurité sociale. Lorsque des cas d'utilisation plus uniques surviennent, vous pouvez créer des règles d'obfuscation et même utiliser un outil de hachage pour masquer les données de vos logs. Voyons maintenant la façon dont un numéro de sécurité sociale obfusqué apparaît dans New Relic après avoir été transmis par le biais des logs.

La fonctionnalité d'obfuscation des logs dans New Relic

Pour savoir comment fonctionne la fonctionnalité d’obfuscation des logs dans New Relic :

  1. Connectez-vous à New Relic.
  2. Transférez vos logs à New Relic
  3. Sélectionnez l'onglet All Entities sur le côté gauche, puis votre application.

4.  Ouvrez l'onglet Logs dans le contexte de votre application.

Jusqu'ici, un utilisateur a interagi avec l'application et son activité a été capturée dans les logs affichés dans la fenêtre du terminal (vu sur l'écran de droite de la vidéo). Il est important de noter que le numéro de sécurité sociale est capturé en texte brut dans la fenêtre du terminal, alors que ce même numéro de sécurité sociale est automatiquement obfusqué lorsque les logs sont transmis à New Relic (vu sur l'écran de gauche de la vidéo). L'obfuscation automatique utilisée pour protéger les numéros de sécurité sociale détectés dans New Relic est la méthode de masquage. Toutefois, si vous souhaitez explorer des fonctionnalités d'obfuscation plus avancées qui ne sont pas automatiques, ou même incorporer la technique de hachage à la place afin de pouvoir rechercher ces valeurs plus tard. C’est là que la fonctionnalité supplémentaire d’obfuscation des logs devient utile. 

Explorer l'obfuscation des logs avec Data Plus

La fonctionnalité avancée d'obfuscation des logs de New Relic est disponible avec un compte Data Plus. L'obfuscation des logs vous permet de créer et de suivre des règles directement dans l'interface de la gestion des logs, et de sélectionner l'algorithme de chiffrement par hachage ou masquage que vous souhaitez appliquer dans votre processus.

Pour accéder à l'outil, sélectionnez l'onglet Logs dans le volet extérieur gauche, puis l'onglet Obfuscation.

Dans la vue Obfuscation, vous avez la possibilité d'utiliser un ou tous les outils suivants pour protéger les données sensibles trouvées dans vos logs. Continuez à lire pour en savoir plus sur chacune de ces fonctionnalités.

Outil de hachage

Si vous disposez de données sensibles dans vos logs que vous souhaiteriez récupérer ultérieurement à des fins de suivi, telles que des noms d'utilisateur, l'outil de hachage fonctionne parfaitement pour votre cas d'utilisation. Pour utiliser cet outil :

  1. Sélectionnez l'onglet Hashing Tool sur l'écran.
  2. Copiez les données souhaitées dans leur forme d'origine en texte brut dans le champ Value.
  3. Une valeur de hachage SHA-256 sera générée automatiquement dans le champ Hash.
  4. Sélectionnez le bouton Copy hash to clipboard pour copier la valeur de hachage pour une utilisation ultérieure.

Créez une expression pour détecter et obfusquer les modèles de renseignements personnels

Comme mentionné, New Relic applique automatiquement l'obfuscation aux données identifiées comme étant un numéro de sécurité sociale (américain) ou un numéro de carte de crédit . Ceci est possible grâce à leurs règles d'expression régulière respectives.

 

Cependant, si vous rencontrez des cas uniques (si vous souhaitez masquer les mots de passe détectés dans vos logs, par exemple), la fonctionnalité d'obfuscation de New Relic vous offre la possibilité de créer une expression qui pourra être utilisée ultérieurement lorsque vous créerez votre règle d'obfuscation.Une fois que vous aurez créé votre règle d'obfuscation, vous pourrez l'appliquer à certains logs afin que les données modifiées puissent être reflétées dans les logs. Voyons comment cela fonctionne.

Dans l'exemple d'application TechieVibez Finance, lors de la création d'un compte, les critères de mot de passe sont les suivants :

 

(?=(?:.*[A-Z]){1,}) (?=(?:.*[a-z]){1,})(?=(?:.*\d){1,}) (?=(?:.*[!@#$%^&*()\-_=+{};:,<.>]){1,}) ([A-Za-z0-9!@#$%^&*()\-_=+{};:,<.>]{6,})$

Toutefois, comme New Relic ne prend pas en charge la syntaxe ?= , nous devons supprimer chaque instance de ces caractères, de sorte que la version regex conviviale du langage de requête de New Relic (NRQL) devient :

((?:.*[A-Z]){1,}) ((?:.*[a-z]){1,})((?:.*\d){1,}) ((?:.*[!@#$%^&*()\-_=+{};:,<.>]){1,}) ([A-Za-z0-9!@#$%^&*()\-_=+{};:,<.>]{6,})$ 

Vous disposez désormais des informations requises pour créer une expression dans New Relic.

  1. Sélectionnez le bouton Create an expression.
  2. Saisissez un nom pour votre expression dans le champ Expression name.
  3. Saisissez le modèle regex correspondant à votre cas d'utilisation dans le champ Regex
    • Cliquez sur l'icône d'information pour mieux comprendre le fonctionnement du champ Regex.
  4. Sélectionnez le bouton Create expression pour terminer le processus de création d’expression.

Après avoir créé votre expression, vous pouvez accéder à l'onglet Expressions pour l'afficher et voir toute autre expression créée ultérieurement. Vous aurez la possibilité de modifier ou de supprimer les expressions. Une fois que vous avez l'expression, vous pouvez passer à l'étape finale consistant à créer la règle d'obfuscation.

Création d'une règle d'obfuscation pour sécuriser les renseignements personnels

Pour créer une règle d’obfuscation dans New Relic, vous devez au préalable préparer quelques détails importants. Regardons de nouveau l'enregistrement du log généré à partir de l'interaction avec la plateforme TechieVibez Finance. 

{
  "username": "mmaka",
  "password": "mM@ck3s",
  "ssn": "123-45-6789",
  "serviceName": "login"
}

Le champ serviceName a été ajouté à l'enregistrement afin de pouvoir référencer d'autres détails du log. Vous disposez désormais de suffisamment de détails pour créer la règle d’obfuscation.

  1. Sélectionnez le bouton Create obfuscate rule.
  2. Saisissez le nom de la règle dans le champ Rule name.
  3. Saisissez une requête NRQL dans le champ Matching criteria.
  4. Saisissez le ou les attributs auxquels vous souhaitez appliquer la règle d'obfuscation, dans le champ Attributes.
  5. Sélectionnez ou créez une expression dans la liste déroulante Select expression. Cette expression indique à New Relic quelle expression rationnelle rechercher dans les logs une fois qu'ils sont transférés.
  6. Sélectionnez la méthode d'obfuscation Hash ou Mask dans la liste déroulante Sélectionner la méthode d'obfuscation pour transformer vos données avec l'algorithme souhaité.
  7. Sélectionnez le bouton Create rule pour créer et activer avec succès votre règle d'obfuscation.

Une fois la règle d'obfuscation créée, elle sera appliquée à tous les logs entrants qui répondent aux critères de la règle et sera reflétée dans New Relic. 

La sélection de la technique Mask pour le mot de passe verra sa valeur convertie en une série de « X ».

Lors de la sélection de la technique de hachage, la valeur du mot de passe est convertie au format SHA-256.

Conclusion 

Avec New Relic, vous serez non seulement capable de monitorer les performances de vos applications et d'observer les causes profondes des problèmes, mais vous pourrez également sécuriser les renseignements personnels divulgués dans vos logs afin d'améliorer la sécurité globale de vos applications. Avec Data Plus, New Relic applique l'obfuscation automatique à tous les numéros de sécurité sociale (américains) et de carte de crédit détectés. Vous pouvez également déverrouiller des techniques de cryptage supplémentaires pour masquer ou hacher les renseignements personnels, avec l'outil de hachage ou d'autres outils. Une option gratuite d'obfuscation des logs consiste à utiliser les redirecteurs de logs, tels que Fluent Bit.

Étapes suivantes

Vous n'avez pas encore de compte, mais vous souhaitez tester l'obfuscation des logs de New Relic et les autres fonctionnalités de sécurité proposées ? Inscrivez-vous pour obtenir un compte gratuit.