Qu’il s’agisse d’applications ou d’API, traditionnelles, modernes ou basées sur l’IA, la programmabilité est un outil essentiel de l’arsenal de sécurité pour faire face aux problématiques de sécurité.
L’un des moyens de garantir la sécurité des applications et des API consiste à tester leur bon fonctionnement et à rechercher d’éventuelles vulnérabilités avant de les mettre à la disposition des clients et des partenaires. Une technique couramment utilisée pour tester les applications et les API est le test par données aléatoires.
Le fuzz testing consiste à envoyer des données inattendues — des chaînes de caractères à la place de nombres, des caractères spéciaux, des données trop longues ou trop courtes, etc. — afin d’observer la réponse de l’API ou de l’application. Une implémentation robuste gérera ces données en les rejetant comme non valides. Mais il est tout aussi important de tester le code chargé de traiter les données saisies que de tester leur traitement.
Autrement dit, il ne suffit pas que la logique de l’application ou de l’API rejette les entrées non valides ; la logique chargée de vérifier la validité des entrées doit elle aussi être robuste.
Or, comme c’est souvent le cas dans le monde de la sécurité des applications, quelqu’un finira par concevoir une entrée qui n’avait été ni prévue ni envisagée. Nous passerons sous silence le fait qu’un bon nombre d’implémentations de nettoyage des entrées sont tout simplement mauvaises et supposerons qu’elles sont toutes robustes et capables de détecter 99 % des entrées malformées.
Même en partant de cette hypothèse utopique, il reste toujours ce 1 % auquel personne n’a pensé. C’est notamment ainsi que naissent les vulnérabilités zero-day.
Parfois, elles résultent d’un défaut dans la pile technologique. Il peut s’agir du serveur web, du serveur d’applications ou du serveur GraphQL. Le problème peut aussi se trouver dans un connecteur à une source de données, comme une base de données vectorielle utilisée pour prendre en charge le cas d’usage de plus en plus répandu de la génération augmentée par récupération (RAG) pour l’IA générative. Il peut encore s’agir de l’apparition de vulnérabilités liées à l’inférence de l’IA, comme Probllama. Après tout, l’ajout d’une nouvelle couche à l’architecture globale de l’application entraîne de nouvelles vulnérabilités.
Ce sont ces vulnérabilités qui sèment la panique sur Internet. Elles ont notamment donné lieu à « Apache Killer » (2011), « HeartBleed » (2014), « Spectre et Meltdown » (2018) et « Log4Shell » (2021).
Il s’agissait de vulnérabilités imprévues. On ne pouvait pas attendre des développeurs, des équipes SecOps et DevSecOps, ni des équipes d’assurance qualité qu’ils les anticipent. C’était vraiment impossible.
Même si les développeurs et les professionnels de la sécurité ne pouvaient pas prévoir la situation, lorsqu’une vulnérabilité zero-day apparaît, il faut agir — surtout si une organisation y est exposée parce qu’elle utilise la technologie concernée. C’est ce qui transforme un risque en menace, et les menaces doivent être neutralisées.
C’est là que la programmabilité des services applicatifs entre en jeu.
La programmabilité des services applicatifs n’a rien de nouveau. Depuis les débuts d’Internet, les organisations y ont recours pour mettre en œuvre diverses solutions.
Les utilisations les plus courantes de la programmabilité dans le chemin de données sont notamment les suivantes :
- Sécurité: la programmabilité est essentielle pour atténuer les menaces zero-day et faire face aux nouveaux risques de sécurité.
- Médiation des applications: Facilite une expérience utilisateur fluide lors des mises à niveau et des migrations d’applications, favorise la modernisation et permet d’intégrer de nouvelles API à moindre coût.
- Orchestration des services: Intègre les workflows et les services tiers aux applications sans perturber les utilisateurs, accélérant ainsi la mise sur le marché.
- Disponibilité: prend en charge l’équilibrage de charge et les pratiques modernes de déploiement, telles que les déploiements Canary et les tests A/B.
Nous savons que ces usages sont courants, car nos données internes le confirment. Plus de 70 % de nos clients utilisent quotidiennement la programmabilité pour mettre en œuvre une grande variété de solutions. Certaines d’entre elles sont axées sur la sécurité.
Il n’était donc pas surprenant de constater, en étudiant le marché dans son ensemble, que la programmabilité arrivait en tête des fonctionnalités techniques jugées importantes pour la sécurité des API.

La polyvalence d’une solution de sécurité des API prenant en charge la programmabilité est pratiquement illimitée. Et si F5 a incontestablement été pionnier dans ce domaine, cette fonctionnalité est désormais devenue incontournable sur le marché des services applicatifs en général. Très peu de services applicatifs — en particulier ceux axés sur la sécurisation des applications et des API — ne proposent pas la programmabilité parmi leurs fonctionnalités essentielles.
En effet, la programmabilité est essentielle pour atténuer les menaces zero-day et permettre aux organisations d’élaborer plus méthodiquement des plans de déploiement de correctifs qui concernent une part importante de leurs systèmes.
La programmabilité permet, eh bien, de faire à peu près tout. Mais dans le domaine de la sécurité — et tout particulièrement de la sécurité des API —, elle n’est pas simplement « appréciable ». Elle est indispensable.
Pour en savoir plus sur les API, consultez notre rapport sur l’état de la stratégie applicative : sécurité des API.
À propos de l’auteur

Lori MacVittie est ingénieure émérite et évangéliste en chef au sein du bureau du directeur technique de F5. Elle possède une expertise approfondie dans la fourniture d’applications, les stratégies d’automatisation et les infrastructures. Elle est réputée pour sa capacité à rendre la complexité intelligible, qu’elle définisse des garde-fous pour les agents d’IA, analyse des architectures multicloud fragiles ou explore les limites des systèmes évolutifs. Elle cumule plus de trente ans d’expérience dans le secteur, couvrant le développement d’applications, l’architecture informatique ainsi que l’exploitation des réseaux et des systèmes. Avant de rejoindre F5, elle a été rédactrice spécialisée dans les technologies et a reçu plusieurs distinctions. MacVittie est titulaire d’un master en informatique et est une autrice prolifique dont les publications couvrent la sécurité, le cloud et l’architecture d’entreprise. Elle est également une passionnée de jeux de société et de jeux vidéo, et assume pleinement ses avis bien tranchés sur le fromage.
Autres articles de Lori Mac VittieArticles de blog associés

Pourquoi devriez-vous vous intéresser à WebAssembly ?
WebAssembly (Wasm) est un jeu d’instructions binaires portable, rapide et sécurisé, qui permet d’exécuter des applications hautes performances sur n’importe quelle plateforme.
Trois choses à savoir sur les applications d’IA
Les applications d’IA sont des applications modernes, mais elles présentent certaines particularités. Découvrez les points essentiels à connaître sur les applications basées sur l’IA.
État des lieux de la stratégie applicative 2022 : il est temps de moderniser les opérations
Il est devenu évident que, pour maintenir la dynamique de leur transformation numérique, les organisations doivent recentrer leurs efforts sur les fonctions métier. Si les expériences destinées aux clients restent prioritaires, il est également indispensable de permettre la numérisation de fonctions telles que les services juridiques, les ressources humaines et la finance. Les DSI prennent donc les commandes, tandis que la transformation numérique passe de la modernisation des applications à celle des opérations.
Clouds multiples ou multicloud : faciliter la transition
La gestion et la sécurisation des charges de travail deviennent complexes à mesure que les entreprises adoptent une stratégie de cloud connecté. Découvrez comment F5 répond au besoin d’une nouvelle approche de la mise en réseau multicloud.
L’expérience client dépend de la visibilité
Une enquête menée par Dimensional Research auprès de plus de 3 000 utilisateurs d’applications mobiles a confirmé ce que beaucoup d’entre nous pensent des attentes actuelles des clients.
Transformation numérique et explosion du portefeuille d’applications
La transformation numérique stimule la croissance des portefeuilles d’applications et modifie la manière dont celles-ci sont développées, déployées, intégrées et, en définitive, utilisées.