Sécurité : réduire les risques liés aux plateformes low-code et no-code
Il n’est pas possible d’éviter entièrement les problèmes de sécurité induits par l’utilisation de plateformes low-code et no-code. Mais il est possible de les atténuer. Voici un aperçu des principales vulnérabilités et des moyens de les combattre.
Les plateformes low-code et no-code sont de plus en plus utilisées pour le développement d’applications professionnelles. Mais elles apportent leur lot de nouveaux défis en matière de sécurité. Les applications low-code/no-code sont produites essentiellement via des interfaces graphiques et des modules préconstruits, sans saisie manuelle de code, ou presque. En coulisses, ces applications contiennent encore beaucoup de code, mais pas du point de vue de ceux qui les créent.
Les principaux défis en matière de sécurité
Bien que les plateformes low-code ou no-code simplifient le développement et accélèrent le délai de livraison des applications, elles peuvent poser des problèmes de sécurité. Notamment les suivants :
Externalisation du développement. Lorsque l’on utilise une plateforme low-code ou no-code, une grande partie des lignes de code de l’application finale est externalisée à la plateforme et à ses développeurs, chargés de produire les modules préconstruits. Comme toute forme d’externalisation, celle-ci, moins perceptible de prime abord, peut compliquer l’application des politiques de sécurité de l’organisation ou le respect des pratiques de référence.
Mises à jour par des tiers. Lorsque vous externalisez votre code, il en est de même pour vos workflows de mise à jour. Avec une plateforme low-code ou no-code, vous devez faire confiance au développeur pour tenir compte des vulnérabilités de sécurité au sein des modules qu'il fournit et pour effectuer des mises à jour qui s’imposent. Cette dépendance induira peut-être un ajustement du calendrier interne de gestion des mises à jour pour tenir compte de celui de la plateforme low-code/no-code. Surtout, il y a un risque de perte de contrôle sur la gestion des vulnérabilités connues dans les applications low-code.
Absence de contrôles de sécurité. Les plateformes low-code ou no-code permettent de développer et de diffuser rapidement des applications. Cette rapidité n’est pas nécessairement le principal risque pour la sécurité ; en fait, elle peut l’améliorer en permettant des mises à jour – et donc l’application de correctifs – plus rapides. Mais lorsque l’on livre des applications en flux tendu, il y a un risque non négligeable de les laisser échapper à des contrôles de sécurité appropriés.
Manque de validation des données. Les plateformes low-code ou no-code sont très souvent utilisées pour créer des applications qui interagissent avec des données métier. Mais si ces données ne sont pas correctement validées, les applications risquent de produire des résultats erronés. Et si les données ne sont pas stockées de manière sûre, elles deviennent vulnérables. Les plateformes low-code se concentrent généralement sur la facilité d’ingestion et de traitement des données, mais rarement sur leur sécurisation.
Développeurs inexpérimentés. L'un des principaux arguments en faveur des plateformes low-code/no-code est leur capacité à donner à chacun les moyens de créer des applications, sans grande expérience en programmation. Cependant, l'autonomisation de ces citizen developers n’est pas sans risque : ils peuvent ne pas être conscients de vulnérabilités, ou de rupture de conformité, qui seraient évidentes pour des personnes plus expérimentées.
Atténuer le risque
Parce que les défis de sécurité ci-dessus sont inhérents aux plateformes low-code/no-code, il est impossible de les éviter complètement. Toutefois, il est possible d’atténuer leur fréquence ou leur sévérité potentielles grâce à quelques pratiques de référence.
Privilégier la sécurité aux délais de livraison. Pas question de céder à la pression de délais de production trop courts pour négliger les évaluations de sécurité qui seraient appliquées à d’autres types d'applications. Les processus doivent être tout aussi rigoureux et formalisés pour permettre de faire passer la sécurité et la conformité en premier.
Continuer d’embaucher des développeurs qualifiés. Les plateformes low-code/no-code ne remplacent pas les développeurs qualifiés. Il est tentant de vouloir éviter de rémunérer des développeurs professionnels, mais il reste indispensable d’en compter tout de même parmi ses équipes pour superviser l'ensemble du processus de développement.
Utiliser une plateforme de confiance. Lorsque l’on choisit une plateforme, il convient d’évaluer les fonctions de sécurité qu'elle offre, ainsi que la fiabilité de l’éditeur. De nombreux antécédents négatifs en matière de sécurité, ou la probabilité élevée d’un rachat ultérieur, peuvent rendre un projet plus complexe.
Personnaliser et ajouter des fonctions aux applications. Les meilleures plateformes low-code/no-code permettent de personnaliser et d’ajouter des fonctions à ses applications. Cette richesse fonctionnelle constitue l’opportunité d’intégrer des contrôles de sécurité additionnels. La personnalisation peut également singulariser une application et, par conséquent, la rendre moins vulnérable aux tentatives d’exploitation de défauts éventuels présents dans une application low-code sur étagère.
Pas de plateformes low-code pour les applications sensibles. Le développement low-code/no-code est assurément intuitif et rentable, mais les applications pour lesquelles la sécurité et la conformité sont critiques ne sont pas de bons candidats pour les plateformes supportant ces modes de développement.