Fermer

septembre 29, 2023

Un guide complet sur l’utilisation de Checkmarx / Blogs / Perficient

Un guide complet sur l’utilisation de Checkmarx / Blogs / Perficient


Le développement de logiciels sécurisés est aujourd’hui essentiel pour les entreprises, et les organisations qui utilisent Salesforce comme plate-forme CRM principale doivent garantir que leurs applications Salesforce sont sécurisées et protégées contre les menaces potentielles. L’un des meilleurs moyens d’améliorer la sécurité des applications Salesforce consiste à utiliser Checkmarx, un outil de sécurité logiciel qui fournit des solutions de test de sécurité des applications.

Checkmarx

La solution de tests de sécurité des applications statiques (SAST) de Checkmarx est un puissant outil de révision de code pour Salesforce qui analyse le code source d’une application et identifie les vulnérabilités de sécurité avant que le code ne soit compilé ou exécuté.

Le processus de test de sécurité des applications statiques comprend les étapes suivantes :

Étape 1. Le développeur télécharge le code Apex sur la plateforme Checkmarx. Checkmarx analyse le code à la recherche de vulnérabilités de sécurité potentielles, notamment les failles d’injection, les attaques de scripts intersites et les erreurs de configuration de sécurité.

Étape 2. Le développeur reçoit un rapport détaillant les failles de sécurité potentielles du code.

Étape 3. Le développeur corrige les vulnérabilités identifiées, soit en corrigeant le code, soit en fournissant une justification.

La solution SAST de Checkmarx pour Salesforce s’intègre également à la plateforme de développement de Salesforce. Il permet aux développeurs d’analyser leur code Apex à la recherche de vulnérabilités potentielles directement dans l’environnement Salesforce. Cette intégration garantit que les développeurs peuvent identifier et corriger les vulnérabilités de sécurité potentielles rapidement et efficacement. Cela réduit le risque de violation de données ou de cyberattaque.

Problèmes et vulnérabilités courants que Checkmarx peut aider à identifier dans les applications Salesforce :

  1. Scripts intersites – Cette vulnérabilité permet aux attaquants d’injecter du code malveillant dans un site Web ou une application Web, qui peut ensuite être exécuté par des utilisateurs sans méfiance. La solution SAST de Checkmark peut identifier les vulnérabilités potentielles de script intersite dans le code Apex, permettant ainsi aux développeurs d’y remédier avant que le code ne soit compilé ou exécuté.
  2. SOQL/SOSLInjection – Cette vulnérabilité permet aux attaquants d’injecter du code malveillant dans les requêtes SOQL ou SOSL d’une application Salesforce, leur permettant potentiellement d’accéder à des données sensibles ou d’effectuer des actions non autorisées. La solution SAST de Checkmark peut identifier les vulnérabilités potentielles d’injection SOQL/SOSL dans le code Apex, permettant aux développeurs de les résoudre avant l’exécution du code. Solution: Nous pouvons utiliser ‘String.escapeSingleQuotes’ ou lier des variables dans la requête pour éviter cette vulnérabilité.
    //Insecure code
     Contact contact = [SELECT Id, Name FROM Contact WHERE LastName =: Inputstring LIMIT 1];
    
    //Secure code 
    Contact contact = [SELECT Id, Name FROM Contact WHERE LastName =: String.escapeSingleQuotes(Inputstring) LIMIT 1];
    

  3. Problèmes CRUD – CRUD signifie Créer, Lire, Mettre à jour et Supprimer, qui sont les quatre fonctions de base du stockage persistant. Les problèmes CRUD peuvent permettre aux attaquants d’effectuer des actions non autorisées sur les données Salesforce, telles que la création, la lecture, la mise à jour ou la suppression d’enregistrements. La solution SAST de Checkmarx peut identifier les problèmes CRUD potentiels dans le code Apex, permettant aux développeurs de les résoudre avant l’exécution du code. Solution: Nous pouvons utiliser n’importe lequel des différents tests disponibles dans Apex, tels que isQueryable(), isAccessible(), isUpdateable(),isCreateable(), etc. sur les champs du code ainsi que sur les objets. Pour éviter cette vulnérabilité.
    If (Schema.sObjectType.Contact.isQueryable()){
    Contact contact = [SELECT Id, Name FROM Contact WHERE LastName =: String.escapeSingleQuotes(Inputstring) LIMIT 1];
    }
    // For Insertion:
    Contact contact = new Contact();
    if (Schema.sObjectType.Contact.fields.LastName.isCreateable()){
             contact.Title = ‘Example Title’;
    }
    if (Schema.sObjectType. Contact.fields.Email.isCreateable()){
             contact.Email= ‘examplenew@gmail.com’;
    }
    if (Schema.sObjectType.Contact.isCreateable() && contact !=null){
             Insert contact;
    }
    // For Deletion:
    if (Schema.sObjectType.Contact.isDeletable() && contact !=null){
             Delete contact;
    }
    // For Update:
    Contact contact= new Contact();
    contact.Id = id;
    if (Schema.sObjectType. Contact.fields.Email.isUpdateable()){
    contact.Email = ‘example@gmail.com’;
    }
    if (Schema.sObjectType.Contact. isUpdateable () && contact !=null){
             Update contact;
    }
    

  4. Problèmes de contrôle d’accès (partage, FLS) – Les problèmes de contrôle d’accès peuvent permettre aux attaquants d’accéder à des données sensibles ou d’effectuer des actions non autorisées dans une application Salesforce. La solution SAST de Checkmarx peut identifier les problèmes potentiels de contrôle d’accès liés aux paramètres de partage ou à la sécurité au niveau du champ (FLS) dans le code Apex, permettant aux développeurs de les résoudre avant l’exécution du code. Solution: Nous pouvons utiliser le avec partage mot-clé dans le nom de la classe. Exemple:
    //Insecure code
     public class ClassName { 
    //your code 
    }
    //Secure code
     public with sharing class ClassName {
     //your code 
     }
    

    Les problèmes de sécurité et vulnérabilités potentiels dans les applications Salesforce sont identifiés. La solution SAST de Checkmarx peut aider les développeurs à les résoudre dès le début du cycle de vie du développement logiciel. Cela réduit le risque de violation de données ou de cyberattaque.

Les fonctionnalités de Checkmarx incluent :

  1. Tests de sécurité complets des applications Salesforce
  2. Intégration avec la plateforme de développement de Salesforce pour une analyse facile du code Apex.
  3. Détection des vulnérabilités connues dans les composants et bibliothèques tiers.

Les avantages de l’utilisation de Checkmarx pour Salesforce incluent :

  1. Améliorer la sécurité des applications Salesforce.
  2. Réduire le risque de violation de données ou de cyberattaque.
  3. Identifier les vulnérabilités de sécurité potentielles dès le début du cycle de vie du développement logiciel.

Résumé

La raison de la révision du code est de garantir que la qualité du code reste la plus élevée possible. Cette étape est effectuée à l’aide de checkmarx pour identifier les lacunes du code. Le checkmarx minimise les risques de sécurité des applications.






Source link

septembre 29, 2023