Connect with us

Technologie

Conseils pour minimiser les vulnérabilités dans les applications Web et mobiles

Published

on


Beaucoup trop d’organisations exécutent des applications Web et mobiles qui sont vulnérables aux attaques ciblées. Ils peuvent utiliser des bibliothèques non corrigées et des composants logiciels, ils peuvent accéder à des informations d’identification personnelle (PII) non chiffrées, ou ils peuvent simplement avoir été développés d’une manière qui n’a pas été intégrée dans le pipeline de développement logiciel.

Selon Bola Rotibi, directeur de recherche chez CCS Insight, la raison pour laquelle les applications Web sont si souvent vulnérables est la façon dont les équipes de développement fonctionnent. « Il y a trop de vulnérabilités de sécurité de base parce que les équipes de développement et, soyons justes, leurs auditeurs de sécurité, se laissent grande ouverte », dit-elle.

Par exemple, ne pas couvrir les pistes vers des emplacements de dossiers communs où des informations sensibles sont conservées revient à laisser la porte ouverte aux pirates. « Les déconnexions dans la posture de sécurité entre les différentes équipes présentent des lacunes qui peuvent être exploitées. Pour trop d’organisations, il y a encore trop peu de partage des politiques de sécurité ou de la liste de contrôle des vulnérabilités courantes sur lesquelles les équipes sont régulièrement prises au dépourvu », explique Rotibi.

Besoin de vitesse

Si l’on en passe par la dernière enquête de GitLab auprès de 4 500 développeurs de logiciels, les tests sont la principale raison des retards dans la publication du nouveau code. Mais des tests approfondis sont essentiels si les organisations souhaitent minimiser le risque de publication de code non sécurisé qui pourrait être exploité par un acteur malveillant.

Pour l’anecdote, les développeurs qui ont participé à l’enquête ont estimé qu’ils devaient « passer à gauche » en termes de position de sécurité. En d’autres termes, les développeurs commencent à reconnaître la nécessité de devenir plus avertis en matière de sécurité et d’appliquer les meilleures pratiques de sécurité à leur codage.

Encourager les développeurs à passer plus de temps à réfléchir à la sécurité du logiciel qu’ils écrivent ne peut se faire isolément, surtout si les demandes de l’entreprise exigent une cadence élevée dans les versions de nouvelles fonctionnalités numériques – mais les attitudes changent

Le test des vulnérabilités dans le code doit être intégré à toutes les phases du processus de développement logiciel. Certains experts recommandent de soumettre du code pour des tests externes avant de la mise en ligne avec de nouvelles fonctionnalités.

« Si vous ne le faites pas [carry out] les tests de pénétration externes, vous vous dirigez vers une catastrophe », prévient Roy Castleman, directeur général d’EC-MSP, une société de soutien informatique basée à Londres pour les petites et moyennes entreprises (PME).

Encourager les développeurs à passer plus de temps à réfléchir à la sécurité du logiciel qu’ils écrivent ne peut pas se faire isolément, surtout si les demandes de l’entreprise exigent une cadence élevée dans les versions de nouvelles fonctionnalités numériques. Mais les mentalités changent.

Priorités opérationnelles

« En tant que propriétaires d’entreprise, nous en savons très peu sur le fonctionnement interne de nos systèmes. Il est important de faire confiance à votre équipe et, dans ce cas, il est plus important de vérifier. Votre équipe peut bien être d’excellents spécialistes du marketing et concepteurs, mais la sécurité est un tout autre jeu de balle. Même lorsque vous avez une équipe de sécurité qui travaille pour vous, il est essentiel de revérifier les choses », explique Castleman.

Une étude de l’analyste Forrester révèle que si les failles de sécurité des applications sont prolifiques, la direction reconnaît au moins le problème. Les organisations ont commencé à réaliser que la solution ne réside pas seulement dans les équipes de sécurité, mais aussi dans les développeurs, notent les auteurs de Forrester’s État de sécurité de l’application, 2021 rapport.

La recherche de Forrester montre que pour 28% des décideurs en matière de sécurité, l’amélioration de la sécurité des applications est une priorité tactique de sécurité informatique au cours de l’année à venir – il s’agit de l’initiative la plus souvent citée. Selon l’étude, 21% des décideurs en matière de sécurité prévoient de donner la priorité à la construction de la sécurité dans les processus de développement.

Forrester affirme que des outils de sécurité des applications bien mis en œuvre peuvent réduire le fossé entre les développeurs et les professionnels de la sécurité. Cela permet aux développeurs de résoudre de manière transparente les problèmes de sécurité sans quitter leurs propres pipelines de développement. Un exemple de pipeline de développement et de déploiement de logiciels avec la sécurité intégrée est utilisé chez Domino’s Pizza pour maintenir une qualité de code élevée et garantir que la sécurité informatique n’entrave pas le rythme du développement de logiciels.

Un pipeline pour le développement, le déploiement et les opérations de logiciels sécurisés

Domino’s Pizza adopte une approche hybride du développement de logiciels, ce qui signifie que la sécurité des applications relie le code développé en interne et les logiciels développés en externe.

S’adressant à Computer Weekly avant l’événement virtuel Infosecurity Europe de cette année, Lee Whatford, directeur de la sécurité de l’information (RSSI) chez Domino’s Pizza, a décrit le processus DevSecOps de l’entreprise, qui repose sur un modèle de sécurité qui assure la surveillance et la visibilité sur l’ensemble du pipeline de développement et de déploiement de logiciels, avec tous les problèmes résolus lors des tests de produit.

« Nous avons des développeurs de plateformes internes et un tiers qui s’charge du développement d’applications », dit-il, ajoutant que si le code est développé en interne ou par la société de développement de logiciels externe, les développeurs internes sont habilités à s’assurer que le code produit est sécurisé.

La société a développé un modèle de sécurité qui offre surveillance et visibilité. Le modèle couvre les conteneurs et l’infrastructure de sécurité, et intègre la gouvernance, les compétences et la visibilité. En fournissant un niveau de visibilité, Whatford dit que les développeurs sont en mesure d’améliorer leurs connaissances et leur sensibilisation à la sécurité, ce qui leur permet de coder de manière plus sécurisée.

Abordant le défi d’intégrer un état d’esprit de sécurité dans le processus de développement de logiciels, il déclare: « Dans le pipeline de développement de logiciels, l’étape la plus importante consiste à travailler aussi près que possible du processus de développement de logiciels. Les développeurs doivent être agiles pour l’entreprise, nous devons donc travailler au rythme, tout en conservant des freins et contrepoids sur la façon dont ils exécutent l’infrastructure et déploient le code.

Whatford dit que ces freins et contrepoids garantissent que les développeurs ne publient pas accidentellement du code au mauvais endroit. Le modèle de sécurité fournit efficacement un terrain de jeu dans lequel développer et déployer du code en toute sécurité, sans empiéter sur le processus agile de développement et de déploiement de logiciels.

L’automatisation est largement utilisée dans la phase de développement logiciel, pour tester les vulnérabilités des applications et rejeter automatiquement le code qui échoue à certains critères de test. Ces analyses automatiques évaluent les risques de sécurité. Par exemple, le code testé peut avoir un niveau moyen de risque de vulnérabilité. Pour Whatford, ce rejet automatisé contribue à renforcer le message de formation à la sécurité. « Cela signifie que le code du développeur ne peut pas passer par le pipeline de développement logiciel et l’environnement de production », explique-t-il.

Du côté de l’infrastructure informatique, la publication de code est automatisée via un autre pipeline. Cela garantit que les équipes de développement d’applications et d’infrastructure peuvent travailler efficacement avec les équipes des opérations informatiques. Domino’s Pizza exige une telle séparation des tâches en termes de contrôles de sécurité pour se conformer à la norme de paiement par carte PCI DSS.

M. Whatford affirme que Domino’s Pizza est en train de faire mûrir son modèle de sécurité, en ajoutant des processus plus détaillés. L’objectif est d’avoir un ensemble de règles du point de vue des opérations qui applique une approche sécurisée dès la conception.

« Si nous avons une visibilité de ce qui se passe et une base de référence de ce qu’est le bien, nous pouvons rapidement repérer les anomalies et les erreurs de configuration », dit-il, ajoutant que cela permettra à Domino’s Pizza de hiérarchiser les problèmes et de résoudre rapidement les risques de sécurité graves. « Quand il y a un million de choses à faire, c’est une question de gouvernance et de gestion des risques de l’entreprise. Nous devons donner la priorité aux correctifs », ajoute Whatford.

Domino’s Pizza a maintenant commencé à déployer la correction automatique des problèmes de configuration informatique, sur la base d’une base de référence minimale de configurations prioritaires.

Changer les attitudes

De par sa nature même, lors du codage manuel des applications, il y a plus de chances que le programmeur introduise de nouvelles vulnérabilités. Mais si l’enquête GitLab peut être considérée comme un test décisif de l’attitude des développeurs, les développeurs de logiciels commencent à prendre plus de responsabilités en matière de sécurité.

« Pour tous ceux qui se soucient de répondre aux attentes des clients, qu’ils soient à l’intérieur ou à l’extérieur de l’organisation, l’une de vos principales priorités devrait être de réduire les risques dans les applications Web que vous développez »

Bola Rotibi, SCC Perspicacité

Pour les développeurs avec qui GitLab a parlé, les méthodes courantes utilisées pour améliorer la sécurité du code incluent les révisions de code, l’analyse du code statique et la surveillance des applications en direct, ainsi que les analyses de sécurité des bibliothèques et conteneurs open source et l’analyse des risques dans la phase de conception du projet.

Pour Domino’s Pizza’s Whatford, le codage sécurisé commence par un modèle de sécurité, que les développeurs peuvent utiliser parallèlement aux tests automatisés, pour s’assurer qu’ils écrivent du code propre et sécurisé et comprennent pourquoi la suite de tests rejette le logiciel qu’ils soumettent. Il s’agit d’un processus d’apprentissage : à mesure qu’ils développent des applications plus sécurisées, les outils sont moins susceptibles de rejeter leur code.

C’est cette idée de s’efforcer de réduire les erreurs de codage que les développeurs de logiciels doivent prendre en note. Rotibi de CCS Insight déclare : « Pour tous ceux qui se soucient de répondre aux attentes des clients, qu’ils soient à l’intérieur ou à l’extérieur de l’organisation, l’une de vos principales priorités devrait être de réduire les risques dans les applications Web que vous développez. »

Click to comment

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Tendance