La fonction en tant que service (plus sécurisé)

Écosystème F5 | 04 mars 2019

Il existe plusieurs approches modernes de l’architecture et du développement d’applications qui consistent essentiellement à « réduire leur taille pour les rendre plus efficaces ».

Les microservices et les fonctions en tant que service (FaaS) reposent tous deux sur la notion de code hautement spécialisé. S’il est vrai que la plupart des organisations ne décomposent pas leurs applications en centaines de microservices ou en milliers de fonctions, elles s’orientent néanmoins vers cette conception. Cela s’explique souvent par le fait qu’elle facilite le développement Agile : une équipe relativement restreinte peut concevoir, développer, puis améliorer un service bien plus rapidement qu’une application monolithique de grande envergure. Après tout, il est beaucoup plus facile d’écrire et de tester un programme de 1 000 lignes de code qu’une application plus volumineuse qui en compte 100 000.

Mais les microservices et le FaaS présentent un autre avantage intéressant qui n’est pas suffisamment mis en avant : la sécurité.

De nombreuses discussions sur Internet — et j’en ai lu un nombre considérable — tentent de déterminer la densité « moyenne du secteur » en matière de défauts et de vulnérabilités. On trouve des estimations très diverses, certaines fondées sur de véritables analyses de code open source, d’autres sur des chiffres autodéclarés. La NASA, par exemple, a fièrement présenté son taux de défauts extrêmement faible comme l’une des raisons du succès du programme de la navette spatiale. Il existe également des rapports fondés sur des données recueillies de manière objective par des sociétés de sécurité comme WhiteHat, mais leurs chiffres portent sur les vulnérabilités par application et pas nécessairement par ligne de code.

Il n’existe pas de véritable consensus sur la densité des défauts et des vulnérabilités, si ce n’est pour reconnaître qu’elle existe bel et bien.

Il va toutefois de soi que moins vous écrivez de lignes de code, moins vous risquez d’introduire de défauts et de vulnérabilités. Tout aussi important, moins vous avez de lignes de code à parcourir pour trouver une vulnérabilité ou un défaut, plus vite vous le trouverez et, on peut le supposer, le corrigerez.

L’une des raisons qui expliquent cela tient au périmètre. Si mon microservice ou ma fonction vise à formaliser un seul aspect de la logique métier, sa mise en œuvre nécessite moins de logique et moins de bibliothèques. Ce périmètre plus restreint réduit les risques d’introduire des erreurs de logique ou des vulnérabilités dans les bibliothèques (tierces ou non) nécessaires à la mise en œuvre de cette logique supplémentaire. Chaque fois que vous devez intégrer un autre composant ou faire appel à un autre service, vous créez un risque de défauts et de vulnérabilités.

La réduction du nombre d’interfaces avec la fonction ou le microservice contribue également à renforcer la sécurité du code. Chaque interface (un point d’entrée tel qu’un appel d’API) crée une vulnérabilité potentielle, car elle implique de traiter des données saisies par l’utilisateur. Or, comme nous le savons tous, les saisies utilisateur doivent toujours être considérées comme suspectes et potentiellement malveillantes.

Et si les microservices réduisent le risque de vulnérabilités et de défauts, alors restreindre encore davantage le périmètre à une fonction devrait réduire encore ce risque.

Cela ne veut pas dire pour autant que les microservices et le FaaS soient intrinsèquement plus sûrs que les architectures trois tiers et monolithiques. Du code bâclé reste du code bâclé, quel que soit le nombre de lignes qu’il comporte. Il est toutefois vrai que ces deux architectures se prêtent à des pratiques de développement et de livraison susceptibles de produire du code plus sûr.

Garder à l’esprit les avantages en matière de sécurité lors de l’évaluation ou de la mise en œuvre de microservices et/ou du FaaS peut contribuer à éviter que le code ne s’alourdisse, tout en empêchant l’introduction de vulnérabilités.

Partager
Mots-clés : 2019

À propos de l’auteur

Lori Mac Vittie
Lori Mac VittieIngénieur émérite et évangéliste en chef | F5

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 Vittie

Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Écosystème F5 | 08/09/2025

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives

Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
Écosystème F5 | 24/04/2023

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui

En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).

Appliquer le principe de Peter Parker à l’inspection TLS
Écosystème F5 | 09/12/2019

Appliquer le principe de Peter Parker à l’inspection TLS

« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.

Le NetOps a besoin de défenseurs, pas d’adversaires
Écosystème F5 | 13/12/2018

Le NetOps a besoin de défenseurs, pas d’adversaires

Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Écosystème F5 | 01/03/2018

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects

Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…

Les templates prennent le contrôle du cloud
Écosystème F5 | 02/02/2017

Les templates prennent le contrôle du cloud

Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.