Renforcer la sécurité, réduire les risques et démontrer la conformité
Un guide complet destiné aux équipes de développement, responsables sécurité et responsables conformité travaillant avec des applications PowerBuilder.
Aux équipes en charge des applications PowerBuilder : développeurs, architectes, chefs de projet et responsables d’exploitation. Il explique comment renforcer la sécurité des applications et sécuriser leur cycle de vie (dev/test/prod).
Aux équipes « sécurité » et « conformité » : responsables sécurité applicative, RSSI, équipes GRC, auditeurs internes ou externes. Il aide à évaluer le niveau de sécurité d’une application PowerBuilder et à préparer un audit ou une mise en conformité.
Les applications PowerBuilder sont au cœur de processus critiques (finance, santé, logistique, industrie, secteur public). Elles doivent répondre maintenant à des exigences de sécurité et de conformité plus élevées qu'au moment de leur conception : protection du poste client, authentification forte, chiffrement, contrôle des accès, traçabilité, rapports d'audits, etc.
Dans ce contexte, les organisations doivent simultanément répondre à trois objectifs :
En lisant ce guide, vous disposerez :
Ce guide est modulaire et peut être lu de façon sélective.
Chaque chapitre est indépendant et structuré pour faciliter une lecture rapide : contextes, menaces, objectifs techniques, fonctionnalités de chaque outil, conformité avec les principaux standards, éléments de preuve.
Il peut servir de base à un projet de sécurisation ou de mise en conformité.
Renforcer la sécurité du code et du cycle de vie de l'application, sans refonte complète.
Évaluer le niveau de sécurité d'une application PowerBuilder et piloter le plan de remédiation.
Préparer un audit ou une mise en conformité et constituer le dossier de preuves associé.
| Intégrer la signature de code dans le processus de compilation et de déploiement, y compris pour les projets PowerServer et PowerClient. | PB |
| Utiliser des certificats à validation étendue (certificats EV) pour signer les applications, afin d’améliorer la confiance des utilisateurs et la compatibilité avec les politiques de sécurité modernes. | PB |
| Sécuriser les livraisons en analysant le code PowerBuilder et en détectant les vulnérabilités et mauvaises pratiques à l’aide de règles de sécurité (SAST) dédiées à PowerBuilder. | VE |
| Détecter les identifiants/mots de passe codés en dur, les clés de chiffrement et les adresses IP dans le code afin de réduire le risque de fuite par décompilation ou copie de scripts de déploiement. | VE |
Ce chapitre couvre généralement les exigences liées à l’intégrité logicielle et au contrôle du cycle de publication, fréquemment présentes dans des standards tels qu’ISO 27001 et dans des environnements soumis à SOX. Standards de sécurité et conformité
| Chiffrer les propriétés de connexion des objets transaction et générer une chaîne de connexion chiffrée à l’aide du Secure Connection Encryptor, afin d’éviter les identifiants en clair dans les scripts ou fichiers. | PB |
| Chiffrer les connexions SQL Server en activant le chiffrement TLS/« Strict » dans le pilote SQL Server et côté base de données, et en validant les certificats. | PB |
| Encoder et chiffrer les données à l’aide des objets CoderObject et CrypterObject. | PB |
| Analyser le code PowerBuilder afin de détecter l’utilisation de DES/3DES, les fonctions de hachage obsolètes (SHA-1/MD5, etc.), les modes de chiffrement, les clés codées en dur ou les tailles de clés insuffisantes. | VE |
| Réduire l’exposition en contrôlant précisément l’accès aux données et fonctions sensibles via un modèle de permissions et de rôles. | VG |
| Journaliser l’accès aux données sensibles et les opérations critiques. Activer une traçabilité détaillée (qui a fait quoi, quand et depuis où). Traçabilité & audit | VG |
Ce chapitre contribue aux exigences de confidentialité et de protection des données présentes dans ISO 27001, NIST SP 800-53, PCI DSS et, selon le contexte, HIPAA et RGPD. Standards de sécurité et conformité
| Prendre en charge TLS 1.3 et HTTP/2 avec les objets HTTPClient et RESTClient. | PB |
| Prendre en charge l’authentification TLS mutuelle (certificat client), par exemple pour des API internes ou des services partenaires. | PB |
| Identifier les points de communication du code (clients HTTP, appels à des services web, gestion des certificats). | VE |
| Détecter les usages ne prenant pas en charge des protocoles de sécurité modernes (par exemple, appels à des services SOAP/INET ou utilisation d’API d’authentification non sécurisées) afin de prioriser les refactorisations réseau. | VE |
| Utiliser des services web standardisés pour l’authentification, le contrôle d’accès et la journalisation via un serveur dédié, afin de centraliser les contrôles et de limiter la logique de sécurité côté client. | VG |
Ce chapitre contribue aux contrôles liés à la sécurité des communications définis dans ISO 27001 et le NIST, et répond fréquemment aux exigences d’audit dans les secteurs de la finance et de la santé. Standards de sécurité et conformité
| Privilégier les intégrations REST via RESTClient. Si SOAP est requis, utiliser HTTPClient avec TLS 1.2+ et une authentification forte, et éviter les implémentations SOAP héritées. | PB |
| Utiliser le protocole d’autorisation OAuth 2.0 afin de s’aligner sur les pratiques courantes d’intégration d’API. Objet RESTClient enrichi | PB |
|
Recourir à l’authentification par jeton (jetons OAuth 2.0 de type bearer) plutôt qu’à la transmission d’identifiants/mots de passe, et gérer les jetons via HTTPClient et OAuthClient (évolutions HTTPClient et OAuthClient – Nouveautés). |
PB |
| Prendre en charge nativement SMTP et utiliser des méthodes d’authentification modernes (dont XOAUTH2). Réduire les implémentations internes fragiles. Support natif de l’e-mail (client SMTP) | PB |
| Analyser le code afin d’identifier les attaques potentielles par injection de code SQL, commandes système ou chemins, ainsi que les secrets codés en dur, une gestion insuffisante des erreurs ou l’absence de contrôles sur les données échangées. | VE |
| Limiter les personnes autorisées à déclencher des appels sensibles (exports, envois, actions métiers). | VG |
| Tracer ces opérations à des fins d’audit et d’investigation. Surveiller en temps réel et déclencher des alertes en cas d’événements critiques ou inhabituels. | VG |
Les contrôles liés aux intégrations contribuent aux exigences de sécurité et de traçabilité d’ISO 27001, du NIST, de PCI DSS et, selon le périmètre, d’HIPAA. Standards de sécurité et conformité
| Utiliser le contrôle WebBrowser modernisé basé sur Microsoft Edge WebView2, avec les améliorations fonctionnelles associées. | PB |
| Tirer parti des améliorations du WebBrowser pour l’exécution JavaScript et l’interaction avec les pages. | PB |
| Activer le débogage à distance du WebBrowser à des fins de diagnostic. Cette fonctionnalité doit être strictement contrôlée et désactivée en production. | PB |
| Détecter l’utilisation d’un navigateur OLE ou de composants obsolètes, plus exposés aux vulnérabilités et aux incompatibilités de sécurité. | VE |
| Recenser et analyser les usages du WebBrowser (ouverture d’URL, exécution de scripts, manipulation de contenu) afin d’identifier les écrans à risque et de prioriser les corrections. | VE |
| Restreindre l’accès aux écrans ou fonctions intégrant du contenu web. | VG |
| Tracer et auditer les opérations sensibles associées au navigateur. | VG |
| Surveiller en temps réel l’accès aux écrans et fonctions affichant du contenu web et notifier les équipes en cas de comportement anormal. | VG |
Ce chapitre répond aux exigences liées à la réduction de la surface d’attaque et au contrôle des accès, généralement présentes dans ISO 27001 et le NIST. Standards de sécurité et conformité
| Passer au format solution afin de convertir le code en texte et de faciliter l’intégration avec les outils de versioning et d’automatisation. | PB |
| Utiliser PBAutoBuild pour simplifier les scripts de build et standardiser les pipelines. | PB |
| Réduire les conflits de fusion et faciliter les revues et la traçabilité avec PowerBuilder 2025. | PB |
| Industrialiser l’analyse statique des vulnérabilités (SAST) à chaque build : déclenchement, critères d’acceptation et tableaux de bord. | VE |
| Vérifier qu’aucune exception n’est ignorée et que les traces console ne sont pas utilisées en production. Détecter les vulnérabilités de sécurité dans le code PowerBuilder | VE |
| Automatiser le déploiement des paramètres de contrôle d’accès (droits, rôles, etc.) entre les environnements (dev/test/prod) afin de réduire les écarts et les erreurs. | VG |
Ce chapitre contribue aux exigences de gouvernance et de traçabilité associées à ISO 27001 et, le cas échéant, aux exigences de contrôle interne (SOX). Standards de sécurité et conformité
| Intégrer des mécanismes d’authentification modernes et basés sur des jetons lorsque l’application interagit avec des services d’identité, via les objets réseau PB HTTPClient/OAuth et RESTClient. | PB |
| Identifier les implémentations d’authentification et d’autorisation dans le code et détecter les vulnérabilités d’authentification. | VE |
| Mettre en œuvre l’authentification multifacteur (MFA) avec Windows, login/mot de passe ou en mode mixte. | VG |
| Gérer la fédération d’identités et la hiérarchie des groupes utilisateurs. | VG |
| Identifier les conflits via la séparation des tâches (SoD). | VG |
| Produire des rapports exploitables en audit en générant une matrice des droits. | VG |
Ce chapitre répond directement aux exigences IAM et de gouvernance des accès définies dans ISO 27001, NIST SP 800-53 et PCI DSS, et est particulièrement pertinent pour les secteurs de la finance, de la santé et des entreprises cotées. (Standards de sécurité et conformité)
Certaines applications PowerBuilder sont maintenant accessibles à distance (VPN, passerelles applicatives, virtualisation), tout en conservant un client lourd se connectant directement à la base de données et s’appuyant sur des paramètres stockés sur les postes utilisateurs.
Ce modèle induit certains risques, car les équipements situés au périmètre du réseau et les accès distants deviennent des points d’entrée critiques. Il devient également plus difficile de maîtriser, poste par poste, les secrets et paramètres de connexion.
Le DBIR 2025 indique que l’exploitation de vulnérabilités représente environ 20 % des accès initiaux. Il souligne que celles affectant les équipements d’accès distant sont particulièrement sensibles, car elles ne sont corrigées qu’à 54 % dans les 30 jours.
La réponse consiste à réduire la dépendance des postes et l’exposition de la base en évoluant vers une architecture à plusieurs niveaux, où un serveur d’applications expose des API .NET (PowerServer), avec une identité centralisée et des contrôles placés au bon endroit (authentification, journaux, segmentation réseau).
| Utiliser PowerServer pour évoluer vers une architecture à plusieurs niveaux côté serveur et réduire l’accès direct à la base de données depuis les postes clients. | PB |
| Mettre en œuvre des mécanismes d’authentification tels qu’OAuth 2.0 ou JWT dans les Web API afin d’empêcher les accès non autorisés. | PB |
| Mettre à jour les composants serveur vers une version supportée de .NET. | PB |
| Cartographier l’application, identifier les dépendances et sécuriser le code existant avant, pendant et après un changement d’architecture. | VE |
| Utiliser des outils standards pour gérer les utilisateurs, les droits d’accès aux API et produire des rapports d’audit. | VG |
| Centraliser la sécurité de plusieurs applications afin d’obtenir une vision globale des identités et des droits, et de standardiser les contrôles, la journalisation et les audits. | VG |
Ce chapitre s’inscrit dans une démarche d’alignement avec des architectures auditables et standardisées, fréquemment mises en avant dans ISO 27001 et le NIST. (Standards de sécurité et conformité)
Dans les secteurs régulés (finance, santé, entreprises cotées), l’objectif n’est pas uniquement de renforcer la sécurité.
Ces organisations doivent démontrer la conformité de leurs applications à des standards modernes. Elle doivent aussi procéder à des contrôles concrets et vérifiables : qui peut accéder aux fonctions sensibles, quels droits ont été accordés, quelles actions ont été effectuées et quelles mesures protègent les données critiques.
Cette exigence a été renforcée par des obligations de transparence : aux États-Unis par exemple, la SEC demande aux sociétés cotées de déclarer certains incidents de cybersécurité "matériels" selon un procédure très encadrée.
Par ailleurs, le coût moyen mondial d’une violation de données atteint 4,88 M$, ce qui transforme un écart de conformité en risque financier direct.
Dans ce contexte, les organisations doivent maintenant systématiser les contrôles et produire des preuves : rapports, journaux, revues d’accès et traçabilité des changements.
Pour éviter les doublons de lecture et faciliter la préparation des audits, ce chapitre établit un lien entre les fonctionnalités décrites précédemment et les exigences de conformité.
| Prendre en charge les exigences fréquentes : signature du code, chiffrement des connexions base de données/pilotes, protocoles réseau sécurisés et capacités d’intégration OAuth/REST. | PB |
| Fournir des analyses répétables et versionnées (notamment sur les règles de sécurité PowerBuilder), utiles pour démontrer la réduction des vulnérabilités et une démarche d’amélioration continue. | VE |
| Automatiser les contrôles et rapports de sécurité et la conformité aux standards modernes : IAM, RBAC, séparation des tâches, traçabilité, audit. | VG |
| Documenter « qui a accès à quoi » en publiant une matrice des droits. | VG |
| S’appuyer sur un référentiel de règles d’inspection afin de produire des résultats reproductibles pour la détection des vulnérabilités dans le code source. | VE |
Visual Guard publie une cartographie des standards pris en charge (ISO 27001, NIST SP 800-53, NIST SP 800-63, CIS Controls, PCI DSS, RGPD, etc.) et précise les mécanismes associés (MFA, RBAC, SoD, journalisation, revues d’accès). (Standards de sécurité et conformité)
Ces check-lists proposent une approche pragmatique : des actions applicables dans la plupart des contextes, suivies de mesures optionnelles à activer selon l’architecture de l’organisation et les contraintes réglementaires.
| Chapitre | Mesure |
|---|---|
Transversal (prérequis) |
Recenser les applications, environnements, dépendances et flux (postes, serveurs, bases de données, etc.). |
| Classifier les données manipulées et formaliser les exigences de protection associées. | |
| Mettre en place un processus de remédiation (priorisation, délais cibles, validation, suivi). | |
| Appliquer les correctifs et maintenir à jour les composants exposés (OS, bases de données, middleware, bibliothèques, accès distants). | |
| Formaliser un plan de réponse aux incidents et tester le PRA/PCA (restauration, reprise). | |
2. Exécutables et composants |
Mettre en place un processus de build reproductible et versionné, lié à une livraison identifiable. |
| Signer tous les exécutables, bibliothèques et packages de déploiement avec un certificat approuvé par l’entreprise. | |
| Vérifier l’intégrité des artefacts avant diffusion (hash/empreinte) et conserver le résultat. | |
| Tracer les versions déployées (hash, date, responsable) et conserver l’historique. | |
| Restreindre et auditer les droits de publication et d’administration liés au déploiement. | |
| Analyser le code PowerBuilder avant livraison afin d’identifier les vulnérabilités et mauvaises pratiques. | |
| Détecter et supprimer les secrets codés en dur (identifiants, mots de passe, clés, IP) du code et des scripts. | |
3. Protection des données |
Identifier les données sensibles et leurs emplacements (base de données, fichiers, exports, journaux, sauvegardes). |
| Activer TLS sur le serveur de base de données et les pilotes PB afin d’utiliser TLS 1.2+, avec validation des certificats. | |
| Chiffrer les données sensibles au repos lorsque requis (base, fichiers, exports, sauvegardes). | |
| Protéger les clés de chiffrement (stockage, contrôle d’accès, rotation, révocation). | |
| Chiffrer les paramètres de connexion et générer des chaînes de connexion chiffrées (aucun secret en clair). | |
| Détecter et éliminer les chiffrements faibles (ex. DES/3DES). Imposer des modes robustes. | |
| Détecter et éliminer les fonctions de hachage obsolètes (ex. SHA-1/MD5) et imposer des alternatives robustes. | |
| Vérifier la robustesse cryptographique (tailles de clés, modes opératoires, padding) par rapport à la politique de sécurité. | |
| Réduire l’exposition aux données sensibles en limitant strictement les accès via rôles et droits. | |
4. Protocoles réseau |
Recenser les flux réseau et les protocoles effectivement négociés (versions TLS, suites, certificats). |
| Supprimer les protocoles obsolètes et aligner la configuration TLS sur la politique de l’entreprise. | |
| Valider les certificats et gérer correctement les erreurs (pas de contournement ni de dégradation silencieuse). | |
| Mettre en œuvre une authentification TLS mutuelle (mTLS) lorsque requis (API internes/partenaires). | |
| Tester la compatibilité avec les proxies, passerelles et protections réseau (RESTClient / HTTPClient). | |
| Détecter les appels réseau non conformes ou hérités et prioriser leur remplacement. | |
5. Échanges avec des services externes et API |
Recenser les intégrations (API, services internes, SMTP) et les données échangées. |
| Privilégier REST par rapport à SOAP/INET pour les intégrations (RESTClient). | |
| Si SOAP est requis, utiliser HTTPClient avec TLS 1.2+ et une authentification forte. Éviter les clients SOAP hérités. | |
| Utiliser une authentification par jeton plutôt que des identifiants/mots de passe, via HTTPClient / OAuthClient. | |
| Limiter strictement les privilèges des jetons et des comptes techniques (scopes, autorisations). | |
| Supprimer les secrets codés en dur et organiser leur stockage, rotation et révocation (par environnement). | |
| Détecter et corriger les risques d’injection (SQL, commandes OS, chemins) sur les entrées et paramètres. | |
| Valider les entrées et encoder les sorties sur les flux exposés (services, API, fichiers, emails). | |
| Tracer les opérations sensibles (exports, envois, actions critiques) et mettre en place supervision et alertes. | |
6. Navigateur embarqué |
Recenser les écrans intégrant un navigateur et définir les contenus attendus et les URL autorisées. |
| Migrer vers un moteur de navigateur moderne et supporté et supprimer les composants obsolètes. | |
| Limiter la navigation, l’ouverture d’URL et l’exécution de scripts pour les contenus non fiables. | |
| Encadrer les interactions JavaScript (ponts applicatifs) afin d’éviter toute exécution non souhaitée. | |
| Désactiver le débogage à distance en production et le réserver à des diagnostics contrôlés. | |
| Restreindre l’accès aux écrans « web ». | |
| Surveiller les accès web et déclencher des notifications en cas de comportement anormal (Traçabilité & audit). | |
7. Build et déploiement |
Définir un pipeline standard (build, tests, analyses, signature, déploiement) avec des critères de passage explicites. |
| Passer au format solution afin de simplifier le versioning et l’automatisation. | |
| Passer à PowerBuilder 2025+ afin de réduire les conflits de fusion et améliorer la traçabilité. | |
| Rendre les builds reproductibles (versions, dépendances, paramètres) et conserver artefacts et rapports par version. | |
| Sécuriser les comptes techniques du pipeline (moindre privilège, séparation des rôles, audit). | |
| Sécuriser les secrets et clés du pipeline (stockage sécurisé, accès restreint, rotation). | |
| Industrialiser l’analyse SAST à chaque build et bloquer la livraison si des règles critiques échouent. | |
| Éviter les pratiques risquées en production (ex. logs console) et ne pas ignorer les exceptions. | |
| Standardiser le déploiement des paramètres de sécurité entre dev/test/prod afin d’éviter les écarts. | |
8. Authentification et contrôle des accès |
Centraliser les identités (AD/Entra ID) et réduire les comptes applicatifs locaux. |
| Activer l’authentification multifacteur (MFA) pour les applications sensibles et les comptes à privilèges. | |
| Modéliser les droits via des rôles et autorisations alignés sur le principe du moindre privilège. | |
| Centraliser l’authentification, l’autorisation et la journalisation via un serveur dédié (Identity Server). | |
| Mettre en œuvre la séparation des tâches (SoD) pour les opérations critiques et traiter les conflits. | |
| Organiser des revues d’accès périodiques et conserver les preuves associées. | |
| Produire une matrice des droits exploitable en audit (qui a accès à quoi). | |
| Journaliser les connexions et actions sensibles (qui, quoi, quand, où) et centraliser la supervision. | |
10. Conformité aux standards modernes |
Définir les standards applicables et le périmètre de conformité de l’application. |
| Traduire les exigences en contrôles mesurables et en preuves attendues (rapports, journaux, revues d’accès). | |
| Mettre en place un référentiel de preuves et conserver l’historique par version/environnement. | |
| Standardiser la gouvernance (revues d’accès, gestion des exceptions, traitement des conflits SoD). | |
| Constituer un dossier d’audit réutilisable reliant exigences, contrôles, outils et preuves. |
| Chapitre | Mesure |
|---|---|
5. Échanges avec des services externes et API |
Si l’application consomme des API : authentification forte et rotation des clés/jetons (OAuth 2.0). |
| Si l’application consomme des API : limiter les scopes et privilèges des jetons (OAuthClient). | |
| Si envoi d’emails : utiliser le support email natif et une authentification moderne (SMTP Client / XOAUTH2). | |
| Si envoi d’emails : sécuriser les relais (authentification, TLS), limiter les pièces jointes, tracer les envois sensibles (XOAUTH2). | |
6. Navigateur embarqué |
Si composants Web/HTML : contrôler les contenus et limiter les scripts non fiables (WebBrowser). |
| Si composants Web/HTML : remplacer les moteurs hérités par un moteur supporté (WebView2). | |
7. Build et déploiement |
En cas d’industrialisation : standardiser les scripts de build et l’orchestration des pipelines (PBAutoBuild). |
| Pour un QA renforcé : définir des critères d’acceptation basés sur les résultats d’analyse (SAST). | |
8. Authentification et contrôle des accès |
En cas de conflits d’autorisation : définir des règles SoD et un plan de remédiation (Séparation des tâches). |
| En cas d’organisation complexe : mettre en place une hiérarchie groupes/utilisateurs reflétant l’organisation afin de déléguer les droits. | |
| Si les identités sont réparties sur plusieurs annuaires : mettre en œuvre une fédération d’identités. | |
| En préparation d’audits : générer et exploiter une matrice des droits (Permission Matrix). | |
9. Architecture moderne avec PowerServer |
Si la base de données est accessible depuis les clients : migrer vers une architecture n-tiers avec PowerServer. |
| Si l’application expose ou consomme des API : standardiser l’authentification des API (OAuth 2.0). | |
| Si l’application expose ou consomme des API : utiliser des jetons standards et limiter les accès non autorisés (JWT). | |
| Centraliser les contrôles côté serveur (authentification, autorisation, journalisation). | |
| Planifier une évolution progressive en priorisant les modules les plus sensibles (migration progressive). | |
| Mettre à jour les composants serveur vers une version .NET supportée. | |
| Administrer les droits d’accès aux API et produire des rapports d’audit (Permissions / Audit Activities). | |
10. Conformité aux standards modernes |
En cas d’exigences fortes (finance, santé, etc.) : gouvernance de la conformité et contrôles formalisés (Audit Activities). |
| En cas d’exigences fortes : industrialiser la production et la conservation des preuves d’audit (Permission Matrix). |