Application Security Resources

Sub Text of Application Security Resources

PCI-DSS et sécurité des applications – Mise en conformité PCI DSS avec Seeker

June 10, 2014

Tiny Url for this post: http://tinyurl.com/op72p86

Avant-propos

Le Standard de Sécurisation des Données de l’Industrie du Paiement par Carte, communément appelé PCI-DSS est un standard majeur, auquel les organisations qui gèrent des données de paiement telles que les cartes de crédit, sont tenues de se conformer.

Défini par le Conseil aux Normes de Sécurité de l’Industrie du Paiement par Carte, ce standard a été créé afin d’augmenter les contrôles entourant les données d’un titulaire de carte, et réduire la fraude par carte de crédit du fait de son exposition. L’évaluation de la conformité est faite annuellement par un assesseur externe qualifié en sécurité (QSA : Qualified Security Assessor ) qui établit un rapport de conformité (ROC : Report on Compliance) pour les organisations détenant de grands volumes de transactions, ou par questionnaire d’auto-évaluation (SAQ : Self Assessment Questionnaire) pour les entreprises détenant de plus petits volumes.

Dans ce document nous traiterons en détail de la norme PCI-DSS et du rôle qu’elle joue dans la construction d’applications logicielles sécurisées. Nous nous concentrerons sur les exigences spécifiques relatives à la protection et à la transmission des données du titulaire de la carte, des systèmes et des procédures régulières en matière de sécurité, facteurs essentiels à la mise en place d’une sécurité des applications robuste.

Seeker cartographie toutes les données critiques de l’application, en particulier celles qui sont relatives au paiement par carte et à l’authentification, puis il traque ces données lorsqu’elles franchissent l’application pour s’assurer que cette dernière ne les expose pas à des risques.

Ce document va démontrer comment la solution Seeker de Quotium Technologies peut contribuer à assurer la conformité aux normes PCI-DSS. Chaque condition va y être abordée, ainsi que la réponse de Seeker correspondante.

Nous allons  aborder l’une après l’autre chaque condition PCI DSS, et voir dans le détail comment Seeker y répond.

 

 

Ce document peut fournir des informations précieuses sur la conformité à la norme PCI DSS aux :

  • Sites marchands qui développent des applications impliquant des paiements de clients.ou
  • aux éditeurs de logiciels qui écrivent ces applications

PCI DSS – Statistiques

Le standard PCI DSS s’applique aux organisations ou aux commerçants qui acceptant les paiements par cartes de crédit ou de débit.

L’Institut de Recherche Ponemon a quantifié le coût des cyberattaques, bien que le coût financier ne soit pas le seul qui en résulte.

Dans son « 2012 Cost of Cyber Crime Study », Ponemon conclut que le coût annuel moyen du cyber-crime (par société) aux Etats-Unis est de 8.9 millions de dollars. Cela représente une augmentation de 6% de plus que l’année précédente. Des études parallèles conduites en Allemagne, au Japon, en Australie et au Royaume Uni ont révélé des coûts moyens annuels (en millions de dollars) approchant respectivement les 5.9, 5.2, 3.4, et 3.3. Bien qu’ils soient inférieurs à ceux des Etats-Unis, ces chiffres suffisent à causer des dommages significatifs pour n’importe quelle entreprise.

En vous conformant à la norme PCI-DSS, vous pourrez renforcer vos défenses, éliminer les vulnérabilités, et réduire de manière significative les risques de violation de données.

En fait la conformité PCI DSS n’est pas une fin en soi. Elle est cruciale pour la sécurité de votre entreprise.

 

 

 

 

PCI DSS – Sécurité des applications

Le succès et l’impact d’une cyber-attaque dépendent pour une grande part de la façon dont les organisations ont sécurisé leurs applications. Quand les applications présentent de sérieuses vulnérabilités, une cyber-attaque peut facilement atteindre son but et son impact peut être considérable.

Dans l’édition américaine de l’Etude Ponemon, mentionnée ci-dessus, trois des types les plus coûteux de cyber-attaques, à savoir les actes malveillants internes, le code malveillant, et les attaques Internet représentent 54% du coût total de la cyber-criminalité. Elles sont également très difficiles à résoudre, les actes malveillants exigeant en moyenne 57.1 jours, le code malicieux 50.3 jours, et les attaques provenant du Web 37.9 jours. Le taux de succès et l’impact de ces attaques peut être considérablement réduit par une sécurité des applications efficace.

Parce que la sécurité des applications joue un rôle fondamental dans la lutte contre les cyber-attaques, la norme PCI DSS est considérée avec la plus grand importance. Les exigences de sécurité qui régissent le développement logiciel sont décrites dans le Critère 6 qui incite les sites marchands à « développer et maintenir des systèmes et des applications sécurisés ».

D’autres exigences qui ont fait l’objet de prescriptions particulières pour le développement logiciel et la sécurité des applications,  sont détaillées dans les critères 3, 4, 8 et 11. Ces critères précisent les normes en matière de protection des données stockées concernant le titulaire de carte, de cryptage des données du titulaire de la carte lors de la transmission, d’attribution d’un identifiant unique (ID) à chaque personne qui a accès à un ordinateur, et de tests réguliers des systèmes et des processus de sécurité.

Comment Seeker peut vous aider à réussir la mise en conformité PCI DSS

 

La solution Seeker de Quotium vous permet de répondre avec facilité aux critères de la norme PCI DSS. Elle s’intègre dans le cycle de développement logiciel, et identifie les vulnérabilités au début du cycle de vie de l’application, avant qu’elles ne deviennent un handicap pour votre organisation.

Seeker y parvient par le déclenchement d’attaques simulées et par l’analyse du code pendant son exécution, en réponse à ces attaques. Au même moment il surveille de près la façon dont le code traite les données sensibles, au moment où leur flux traverse l’ensemble des couches et des composants de l’application. Pour éliminer les faux positifs et obtenir une évaluation plus précise de l’impact potentiel et du risque pour l’entreprise, les attaques simulées sont basées sur  des cas réels.

Seeker est centré sur les données, ce qui signifie que toutes les vulnérabilités sont évaluées par rapport à la façon dont elles affectent les données critiques de l’entreprise. C’est ce qui  en fait la solution la meilleure pour réaliser la conformité aux normes relatives à la sécurité des données de l’application.

A présent, examinons de plus près les critères PCI DSS et voyons comment Seeker permet de les atteindre.

 

Critère 3 : Protéger les données stockées des titulaires de carte

 

Détails du Critère Mise en conformité avec Seeker
3.1 –     Garder le stockage de données de titulaires de cartes à un niveau minimum en appliquant des politiques, procédures et processus de  conservation et d’élimination des données Pour mettre efficacement en œuvre des politiques relatives à la conservation et à l’élimination des données, il est d’abord nécessaire d’identifier les données qui ont besoin d’être conservées ou éliminées, puis  de les localiser. Cette tâche n’est pas facile compte tenu du volume de données traitées chaque jour par les nombreuses organisations.

Seeker identifie automatiquement les informations de titulaires de cartes. Si une personnalisation plus poussée est nécessaire, Seeker permet la configuration de données sensibles définies par l’utilisateur. Il utilise ensuite cette connaissance lors de l’exécution pour surveiller l’application, rechercher les données en question, et suivre leur flux.

Cette fonction permet de connaître le lieu de stockage des données de titulaires de cartes , et de savoir si les politiques de conservation et destruction des données sont violées.

3.2 –      Ne stocker aucune donnée d’authenfication sensibles après autorisation (même cryptée).

Les données d’authentification sensibles comprennent:

L’intégralité du contenu de la bande magnétique située au dos de la carte, qui inclut le nom du titulaire, le numéro de compte primaire (PAN), la date d’expiration, le code de service, etc.

Code de vérification de la carte ou de la valeur (CAV2/CVC2/CVV2/ CID)

Numéro d’identification personnelle (PIN) ou Bloc PIN

Seeker surveille toutes les données sensibles tout au long de leur durée de vie dans l’application pour s’assurer qu’elles ne soient jamais stockées. La technologies unique de Seeker lui permet de surveiller les systèmes de services du web, les bases de données et les fichiers  appelés par le système sur le chemin des données sensibles.

Les exigences de stockage de la norme PCI DSS ne se limitent pas au stockage primaire ou au dépôt des données telles que les bases de données et les fichiers plats (par ex: les fichiers de textes et les feuilles de calcul). Elles concernent également le stockage non primaire comme les sauvegardes, les journaux d’audit, d’exception et de résolution des problèmes.

3.4 –     Rendre le PAN (numéro de compte primaire) illisible où qu’il soit stocké (y compris sur support numérique portable, support de sauvegarde journaux En plus d’identifier et de surveiller les données sensibles comme le numéro de compte primaire (PAN) et autres données d’authentification, Seeker est également capable de déterminer si ces données sont stockées sans cryptage.

Critère 4 : Crypter les données des titulaires de carte sur les réseaux publics ouverts

 

Critère PCI-DSS Mise en conformité avec  Seeker
4.1        Utiliser des protocoles de sécurité et de cryptographie robustes (par exemple : SSL/TLS, IPSEC, SSH, etc.) afin de protéger les données sensibles des titulaires de cartes durant la transmission sur des réseaux publics ouverts. Seeker identifie les données sensibles, surveille leur flux et détermine si elles sont cryptées ou non, indépendamment du fait que les données soit au repos, ou en mouvement. Seeker déclenche des alertes en cas d’absence de SSL, et lorsque des données de titulaires de cartes sont transmises de façon risquée.

 

Critère 6 : développer et maintenir des systèmes et des applications sécurisés.

 

Critère PCI-DSS Mise en conformité avec Seeker
6.3        Développer des applications logicielles conformément à la norme PCI DSS, et basées sur les meilleures pratiques du secteur, et intégrer la sécurité des informations à tout le cycle de vie du développement logiciel (SDLC). Ces processus doivent inclure ce qui suit : Seeker s’intègre facilement aux processus de développement et de test d’un SDLC, et veille à ce que la sécurité de l’application soit mise à exécution tout au long du cycle de développement.
6.3.1     La suppression des comptes d’application personnalisés, des identifiants d’utilisateurs, et mots de passe avant l’activation des applications ou leur mise à disposition des clients. Seeker alerte l’utilisateur lorsqu’il identifie une information sensible, comme par exemple les mots de passe d’application codés en dur
6.3.2     L’examen du code personnalisé avant sa mise en production ou sa mise à la disposition des clients  afin d’identifier toute vulnérabilité éventuelle du codage. Seeker s’intègre dans le cycle de vie du développement, et en tant que part entière du SDLC, il permet aux organisations de tester facilement tout nouveau code avant sa diffusion.

 

6.5        Développer des applications basées sur les directvies de codage securisé. Prévenir les vulnérabilités de codage courantes dans les processus de développement de logiciel, afin d’inclure les éléments suivants : En analysant l’application de l’intérieur, Seeker dispose d’une visibilité du code et du fonctionnement interne de l’application. Cette visibilité lui permet de fournir des informations détaillées relatives à l’emplacement exact de la vulnérabilité directement dans le code de l’application. En outre, l’information est accompagnée de recommandations basées sur le contexte, et d’échantillons de code sécurisé qui peuvent guider les développeurs pour corriger la vulnérabilité.

Ainsi, en corrigeant chaque vulnérabilité, les équipes de développement ont la possibilité  de faire l’apprentissage  de meilleurs pratiques pour un codage sécurisé.

Attaques par injection, notamment les injections SQL. Envisager également :

Des attaques par injection  PLD et Xpath, ainsi que les autres attaques par injection.

La capacité de Seeker à repérer les vulnérabilités qui pourraient conduire  à une injection SQL n’est pas pure théorie ou spéculation. En réalité, Seeker surveille l’application pendant qu’elle s’exécute  et observe les entrées malveillantes qui la traversent et arrivent à la couche des  données. Seeker voit le fonctionnement interne de l’application pendant son exécution, ce qui  rend sa détection précise et libre de tout faux positif.

Cette fonctionnalité de Seeker vaut également pour les requêtes LDAP, Xpath etc… Seeker traque les données à travers tous les composants et tous les niveaux de l’application,  puis les contrôle au moment où elles arrivent à la base de données appelée par le répertoire ou le fichier référenciel.  Seeker tente alors d’exploiter cet accès pour vérifier s’il pourrait effectivement être attaqué par un pirate.

 

 

Stockage cryptographique non sécurisé Seeker contrôle le flux des donnés pendant l’exécution et fait des rapports précis sur les lieux de stockage de l’information non  cryptée. Ce peut être les bases de données, les référenciels de fichiers, les informations de débogage et tout autre stockage de données.
Communications non sécurisées Seeker est capable d’indiquer si et où des données sont transmises sous forme de texte en clair, de sorte que l’on sait exactement où il est nécessaire de crypter les données en mouvement.
Traitement inapproprié des erreurs

 

Les applications laissent parfois, par inadvertance, fuir des informations confidentielles à travers des messages d’erreur. Ces fuites peuvent concerner des configurations de sécurité, des fonctionnements internes ou des données de cartes de paiement.

Parce que Seeker peut identifier une grande variété d’informations critiques, intégrées et définies par l’utilisateur, il peut donc vérifier les messages d’erreurs pour détecter si ces  informations sensibles y apparaissent.

Toutes les vulnérabilités à « haut risque », identifiées dans le processus d’idenfication de vulnérabilité telle  que définie dans la norme PCI DSS Seeker évalue avec précision l’impact et la classification du risque correspondant à chaque vulnerabilité à travers la simulation d’exploits et l’analyse des données.

Cette caractéristique fait de Seeker un outil  précieux dans les activités de classement des risques et,  par conséquent, dans l’identification des vulnérabilités à haut risque.

Script Intersite (XSS) XSS permet à des attaquants d’exécuter des scripts sur le navigateur de la victime  et leur permet de détourner  les sessions de l’utilisateur, d’altérer  les sites web, de diffuser des virus, et d’effectuer de nombreux autres actes malveillants.

Seeker possède un moteur d’analyse JavaScript et VBScript unique qui identifie le cross site scripting et verifie qu’il peut être exploité en utilisant des attaques  simulées.

De plus, en analysant les données, Seeker est capable de fournir un aperçu unique dans les tests de Persistent Cross Scripting.

Contrôle d’accès inapproprié (comme des références d’objet directes non sécurisées, impossibilité de limiter l’accès URL, et traversée de répertoire) Les pirates profitent des références d’objets directs pour accéder sans autorisation à d’autres objets. Les références d’objets directs sont créees lorsque les développeurs exposent involontairement les références à des objets de mise en œuvre  interne, tels que les fichiers, les répertoires, les clés, ou les enregistrements de bases de données par le biais des URL ou des paramètres de formulaire.

Par l’identification et le suivi des données dans le système, Seeker détecte si des références affectent les données et si, en les modifiant, il serait possible à un pirate d’accéder aux informations sensibles .

 

Attaques CSFR (Cross-site request forgery)

 

En utilisant CSRF, un pirate peut profiter dun navigateur de la victime en l’obligeant à envoyer automatiquement une requête malveillante pré-authentifiée à une application web pendant que l’utilisateur légitime est connecté.

Seeker détecte les vulnérabilités CSRF qui ont un impact réel sur les opérations de l’application ( par exemple les vulnérabilités qui permettent les opérations d’écriture de fichier, ou lecture à partir des tables de bases de données), et seules les opérations qui constituent une menace réelle sont alors signalées à l’utilisateur.

6.6        Pour les applications web orientées public, traiter les nouvelles menaces et vulnérabilités de manière régulière et veiller à ce que ces applications soient protégées contre les attaques connues à l’aide de l’une des méthodes suivantes :

Examen des applications web orientées public à l’aide d’outils ou de méthodes d’évaluation de la sécurité et de la vulnérabilité des applications automatiques ou manuels, au  moins une fois par an et après toute modification.

Installation d’un pare-feu pour applications web  devant les applications web orientées public.

Les applications web orientées public, sont exposés à des menances permanentes et peuvent être attaquées à tout moment. Ces attaques souvent réussissent à cause des pratiques de codage non sécurisées. Une revue régulière de ces applications est donc cruciale pour prévenir ces  attaques.

Seeker applique une approche innovante et hautement efficace d’analyse du code et des données pendant l’exécution.

Seeker s’intègre parfaitement dans les processus de développement de logiciels. Il devient une partie du workflow existant et introduit les tests de sécurité de l’application  dans le cadre des processus en cours. Seeker suit les failles de sécurité à chaque étape du développement ainsi qu’à chaque nouvelle version du produit .

 


Critère 8 : affecter un identifiant (ID) unique à chaque utilisateur d’ordinateur

 

Critère PCI-DSS Mise en conformité avec Seeker
8.4        Rendre tous les mots de passe illisibles pendant la transmission et le stockage sur tous les composants du système à l’aide d’une cryptographie robuste. Les mots de passe des utilisateurs sont parfois stockés dans une base de données ou transmis sur le réseau en texte clair. Dans ces situations, ils peuvent ainsi être facilement obtenus par toute personne qui peut pénétrer la base de données ou intercepter la transmission.

Seeker identifie de nombreux types d’informations sensibles, y compris les données d’authentification comme les mots de passe. Il peut également déterminer si les  informations sont cryptées. Quand les mots de passe sont détectés, Seeker suit leur flux et cartographie les zones où ils ne parviennent pas à être protégés par un cryptage solide.

8.5        S’assurer qu’une gestion appropriée de l’identification et l’authentification des utilisateurs est mise en œuvre pour les utilisateurs non consommateurs et les administrateurs sur tous les composants système.

De meilleures pratiques dans la gestion d’identification et d’authentification de l’utilisateur impliquent un certains nombre d’activités. Il s’agit notamment de la mise en œuvre  d’une politique de mots de passe robuste, verouiller les utilisateurs qui ne respectent pas certaines conditions de sécurité ( utilisateurs qui font trop de tentatives de connexion infructueuses), et obliger les utilisateurs à se ré-authentifier quand une limite de session inactive est atteinte.

 

Seeker vérifie si de meilleures pratiques de gestion d’identification et d’authentification ont été mises en place.

Seeker fait un rapport quand la politique de mot de passe est faible et si le système accepte les mots de passe faibles.

Seeker vérifie également si le système ne verouille pas des comptes utilisateurs même quand un nombre spécifié de  tentatives de login infructueuses a été dépassé.

Il surveille également la longueur d’une session inactive et détermine si la limite de session inactive a été violée.

Critère 11: Tester régulièrement les processus et les systèmes de sécurité

 

Crityère PCI-DSS Mise en conformité avec Seeker
11.3      Effectuer des tests de pénétration externe et interne au moins une fois par an et après tout changement ou mise à niveau significatif de l’infrastructure ou de l’application. Le but d’un test de pénétration sur un environnement particulier est de simuler un scénario d’attaque réelle et de déterminer l’extension par laquelle l’attaque peut pénétrer dans l’environnement.

Seeker conduit des attaques simulées, puis analyse le code pendant l’exécution pour apprendre comment l’application répond à ces attaques. Mais il ne s’arrête pas là. Afin d’éviter les faux positifs, Seeker teste ses propres résultats pour vérifier si les vulnérabilités détectées sont effectivement exploitables par des attaques réelles.

De plus, Seeker s’intègre dans la méthodologie R&D existante, de sorte qu’à  chaque modification du code, il peut entrer dans le code modifié et y effectuer les tests appropriés.

Conclusion

PCI DSS fournit de nombreuses indications détaillées pour vous permettre de mettre en place une sécurité des applications performante. Cependant, le standard PCI DSS ne doit pas être considéré comme le critère ultime. Ce qui signifie que, même en ayant satisfait à la totalité des conditions requises, cette norme vous ne vous garantit pas que votre système est totalement  protégé. Les cybers-criminels découvrent sans cesse de nouveaux types d’attaques. Les mesures prises en faveur de la sécurité des applications devraient donc être basées sur un processus en  continu.

Seeker peut jouer un rôle vital dans ce processus. Comme cela a été démontré dans ce document, Seeker possède tous les éléments nécessaires pour réussir la conformité à la  norme PCI DSS. Mais, plus important encore, grâce à sa polyvalence et sa capacité à scruter minutieusement le code de l’application, et à suivre le flux des données à travers tous les composants de l’application en temps réel,  Seeker est capable de détecter les vulnérabilités les plus insoupçonnables, et permet aux développeurs de construire des applications considérablement plus sécurisées.

A propos de Quotium Technologies

 

Quotium Technologies est une société spécialisée dans le développement de solutions logicielles innovantes qui garantissent la sécurité et le fonctionnement des applications critiques tout au long de leur cycle de vie.

Seeker est le leader de la nouvelle génération de logiciels de tests de sécurité des applications. S’intégrant facilement dans les processus de test existants,  il permet aux développeurs de développer efficacement des applications sécurisées.

 

Pour plus d’informations, veuillez consulter  le site www.quotium.com ou envoyer un mail à  [email protected]

This post is also available in: Anglais

Learn more about Seeker

More Ressources