Cybersécurité des applications Web : la meilleure stratégie c’est l’attaque ET la défense
Sécuriser une application Web paraît évident à beaucoup mais
nombre d’entreprises n’y parviennent pas ou passent à côté, quelle(s) que
soi(en)t la(les) raison(s). Malween Le Goffic, spécialise en cybersécurité et
auteur de « Sécurité des applications web – Stratégies offensives et défensives
» sorti aux Editions ENI au mois de juin 2024 revient sur les failles, dont la
principale reste l’interface entre la chaise et le clavier.
Pour ce spécialiste, il ne faut négliger ni l’aspect
offensif ni le défensif au vu des menaces. Notre auteur revient aussi sur
quelques points de méthodes pour sécuriser son application web.
ENI : On entend
parfois que de très nombreuses PME et ETI n’ont pas de solutions de protection
de leurs applications web. Qu’en est-il selon vous ? les entreprises sécurisent-elles
assez en règle « générale » ?
Malween Le Goffic : En règle générale, la sécurité des
applications web varie considérablement d’une entreprise à l’autre, notamment
parmi les PME et les ETI. Nombre de ces entreprises n’ont pas nécessairement
mis en place des solutions de protection robustes pour leurs applications web,
souvent en raison de contraintes budgétaires, de ressources limitées en
cybersécurité ou d’un manque de sensibilisation aux risques potentiels.
De plus, il est fréquent de voir des entreprises se reposer sur des fausses impressions comme : “Pourquoi quelqu’un attaquerait-il mon entreprise ? Je n’ai rien de valeur, je ne suis pas une cible stratégique, etc.” Cependant, les attaquants ne ciblent pas toujours les grandes entreprises pour des gains importants ; ils peuvent parfois choisir des cibles plus faciles d’accès.
ENI : On parle souvent de cybersécurité suite à des failles humaines. Mais les applications web sont de plus en plus nombreuses, pourquoi est-ce important de les sécuriser ?
MLG : Les applications web, au sens large du terme, sont omniprésentes dans notre quotidien. Toutes nos informations, qu’elles concernent notre vie personnelle, professionnelle, relationnelle ou financière, sont désormais accessibles grâce à des applications web. Il est donc impératif de bien protéger l’accès à ces données et de rendre ces applications fiables et robustes.
ENI : Quelles sont
aujourd’hui les principales menaces ?
MLG : À l’heure actuelle, je considère que l’élément le plus ciblé et le plus vulnérable est… l’humain justement. Les campagnes de phishing deviennent de plus en plus sophistiquées, rendant difficile de ne pas se faire piéger. Cependant, les attaquants exploitent toutes les opportunités pour atteindre leurs objectifs. Si une tentative de phishing échoue, ils peuvent opter pour une injection SQL sur une application web pour compromettre les données de l’entreprise. Dans le cas où cela n’est possible, ils peuvent viser un composant tiers utilisé par l’entreprise, voire attaquer un partenaire ou un client pour accéder à l’entreprise finale (attaques via la chaîne d’approvisionnement) et nuire à sa réputation.
ENI : Vous détaillez
dans votre livre les stratégies offensives et défensives. Concrètement, comment
cela se traduit-il ?
MLG : Le côté offensif consiste à se mettre dans la peau
d’une personne malveillante désirant attaquer l’application web, ou dans celle
d’un auditeur en cybersécurité réalisant un test d’intrusion pour évaluer sa
sécurité. Cela implique de mettre en avant les techniques de découverte et
d’exploitation des vulnérabilités.
Il était important pour moi d’intégrer également le côté
défensif des aspects de sécurité. Concernant les vulnérabilités web, cela passe
par l’identification de ces vulnérabilités en ayant accès au code source, comme
peut le faire un développeur, mais aussi par leur correction. Le livre offre au
lecteur la possibilité de corriger du code source volontairement vulnérable et
de tester la robustesse de cette correction. De plus, les aspects de
caractérisation de la sévérité des vulnérabilités ainsi que la priorisation des
corrections sont mis en avant.
Enfin, il n’est pas rare que les développeurs doivent
intégrer des fonctionnalités utilisant des mécanismes de cryptographie, par
exemple pour permettre l’authentification des utilisateurs. Il était donc
essentiel d’expliquer clairement les bases nécessaires à une bonne compréhension.
ENI : Quelles sont
les bonnes pratiques et méthodes ?
MLG : Il y en a beaucoup, ce qui peut parfois décourager
leur mise en place. Cependant, il est possible d’en citer quelques-unes.
Pour les développeurs, il est essentiel de toujours considérer
les utilisateurs de leurs applications comme potentiellement malveillants :
“Never trust user input”, autrement dit ne faites jamais confiance à ce que
renseigne un utilisateur (et plus généralement aux actions qu’il entreprend sur
l’application). Si une application possède une faiblesse permettant de
contourner son objectif principal, il est certain qu’elle sera exploitée un
jour.
D’un autre côté, il est crucial d’automatiser le plus
d’actions possibles, notamment les différentes analyses de sécurité, en
utilisant les outils adéquats et en mettant les résultats à disposition des
intéressés le plus tôt possible (principe du “Shift Left”).
Enfin, et cela vaut pour tous les métiers techniques, il est
important de faire une veille quotidienne, ce qui est d’autant plus vrai en
cybersécurité.
ENI : Vous soulignez
dans votre livre l’importance de la protection des équipements en plus des
applis webs. C’est un pan souvent oublié ?
Quels sont les risques majeurs ?
MLG : Les systèmes actuels sont devenus très complexes et sont constitués d’un ensemble de composants, y compris les équipements, sur lesquels les applications web se reposent. Mettre tout en œuvre pour sécuriser le code source développé par ses équipes est une étape clé. Cependant, comme le dit l’adage, une chaîne est aussi forte que son maillon le plus faible. Si une application web robuste repose sur un serveur web ou une plateforme rarement mis à jour et possédant des vulnérabilités, cela peut complètement ruiner tous les efforts effectués.
Toute la difficulté est là, il est nécessaire de prendre en
compte tous les domaines impactés, et cela dépasse les aspects seulement
techniques, auxquels il faut ajouter les aspects humains, organisationnels, et
même juridiques.
ENI : Pourquoi ce
sujet de livre ?
MLG : La sécurité des applications web est un domaine qui
m’a toujours passionné. C’est un secteur dynamique où les technologies, les
langages de programmation et les frameworks évoluent constamment. De même, les
vulnérabilités progressent et de nouvelles techniques pour contourner les
protections sont régulièrement identifiées.
Je lis beaucoup de livres sur la sécurité des applications
web, en anglais comme en français, et j’ai constaté que beaucoup d’entre eux se
concentrent uniquement sur le côté offensif : comment découvrir et exploiter
les vulnérabilités. Cependant, ils abordent, selon moi, trop rarement le côté
défensif, ou alors de manière superficielle. Pourtant, il est essentiel de
pouvoir identifier les faiblesses en lisant simplement le code source et de
savoir comment développer de manière sécurisée en appliquant les bonnes
pratiques de développement. Il en va de même pour la connaissance des
différents outils et bonnes pratiques à mettre en place dans la chaîne
d’intégration continue au sein d’une entreprise éditrice de logiciels.
ENI : C’est votre
premier livre ? Quelle expérience ?
MLG : Tout à fait, et cela a été une expérience très
enrichissante. J’ai décidé de partager mes connaissances et expériences sur la
sécurité des applications web pour aider les développeurs et les professionnels
de la sécurité à mieux comprendre les enjeux et les meilleures pratiques dans
ce domaine. J’espère qu’il sera utile à ceux qui cherchent à améliorer la
sécurité de leurs applications.
Ce projet m’a fait réaliser qu’il y a une grande différence
entre maîtriser un sujet et l’expliquer à d’autres personnes. Bien que cet
aspect ne me soit pas inconnu, car j’enseigne déjà la sécurité des applications
web à des étudiants en Master 2, il est possible, dans ce cadre, de creuser les
sujets d’un cours à l’autre pour apporter des précisions si nécessaire. Ce qui
est impossible une fois le livre publié.
J’ai donc dû approfondir certains sujets afin de mieux les
simplifier et les expliquer. Cependant, cet exercice n’est pas simple : prendre
certains raccourcis ou expliquer des sujets interconnectés peut malheureusement
conduire à des erreurs ou à des inexactitudes.
ENI : Pouvez-vous nous parler un peu de votre
métier et de comment vous êtes parvenus à l’exercer ?
MLG : Après avoir obtenu un Master 2 en Sécurité des Systèmes d’Information, j’ai effectué mon stage de fin d’études chez Capgemini. Mon sujet principal était le développement d’un outil SAST (Static Application Security Testing) destiné à repérer les potentielles vulnérabilités en analysant le code source des applications Java. Mon introduction à la sécurité des applications web a donc commencé par le côté défensif.
Cependant, pour bien se défendre, il est essentiel de
connaître les méthodes des attaquants permettant de découvrir et d’exploiter
ces vulnérabilités, ce qui m’a conduit à étudier également le côté offensif.
Une fois en CDI, j’ai poursuivi le développement d’outils
défensifs, tout en intégrant des solutions de sécurité tierces, en réalisant des
tests d’intrusion et en formant les développeurs. Actuellement, chez Klaxoon,
je continue de travailler sur tous ces aspects, en cherchant toujours à aller
plus loin.
ENI : Cette notion de
bon sens que vous évoquez revient souvent dans la bouche de nos spécialistes
développement, et pas seulement en cybersécurité…
JS : Parce qu’ils sont tous confrontés à un manque flagrant
de bon sens ! Que ce soit dans la mise en œuvre de la méthode Agile, du DevOps
plus généralement, ou autres pratiques, il est impératif de revenir à
l’essentiel : l’efficacité.
Et pour y parvenir, il est nécessaire d’organiser les
processus, d’intervenir très en amont, d’automatiser au maximum, de s’engager
dans une démarche d’amélioration continue, et surtout de discuter des
véritables causes des problèmes, ce que l’on néglige souvent.
En réalité, personne ne cherche les causes profondes ; tout
le monde se contente de poser des rustines et de poursuivre sans remise en
question. Cette approche dévalorise trop souvent le travail accompli par les
services.
ENI : Les menaces
sont multiples et concernent tous les types d’entreprises et institutions. Mais
existent-ils des fondamentaux, des compétences pour toute situation ?
JS : Oui et ce sont les mêmes. Des bonnes pratiques. Et dans
le cas des grandes entreprises, on va procéder par strate là où c’est plus
direct dans les TPE et PME.
Personnellement, je me concentre sur les directions car je
pense que si les dirigeants ne me suivent pas, la mission ne sert à rien.
Un point important, l’excellence opérationnelle dont je
parlais implique que les choses fonctionnent déjà bien et seulement à ce moment
on va chercher à aller encore plus loin. Mais dans la plupart des cas, les
bases ne sont pas là ! Or la menace est planante en permanence.
Je suis quelqu’un de réaliste, et avec les bonnes pratiques
ainsi que les bons outils, il est tout à fait possible de protéger efficacement
les systèmes de manière relativement aisée.
Les fondamentaux, c’est la conclusion du livre : vous devez
procéder au durcissement (Hardening), utiliser les EDR, UTM, WIPS et XDR, et
les intégrer dans une démarche d’excellence opérationnelle, ou de CPS, la
méthode que je recommande vivement.
ENI : Respecter les fondamentaux gommerait toutes les
problématiques courantes, notamment le travail à distance, l’utilisation des
réseaux sans fils de type WiFi, etc. ?
JS : De nombreux acteurs de la cybersécurité (RSSI, les consultants ou encore les risk managers etc…), soulignent que le risque zéro n’existe pas dans un système d’information. Je partage cette perspective, mais je tiens surtout à expliquer que la majeure partie du problème réside dans le comportement humain, régulièrement dépourvu de bon sens, ce qui conduit à des erreurs graves, souvent dues à des biais cognitifs.
Une fois que vous avez mis en place les fondamentaux de la
cybersécurité avec les outils WatchGuard traités dans le livre, je vais être
franc : les pirates vont cibler l’humain, la partie la plus vulnérable des
systèmes d’information. Ils utiliseront l’ingénierie sociale, le phishing
ciblé… Ils tenteront de l’exploiter de toutes les manières possibles par ce
biais. Cependant, ils abandonneront rapidement la piste purement technique.
ENI : Ce livre est
votre premier. Quel est votre retour d’expérience ?
JS : La première chose qui m’a frappé, c’est qu’ENI m’a
accordé une totale liberté. Ils m’ont laissé carte blanche sur la durée et le
contenu, ce que je trouve remarquable.
La deuxième chose qui m’a frappé, c’est que je ne savais pas
que j’aimais écrire avant de me lancer. J’étais curieux de tenter l’expérience,
tout comme avec la cybersécurité : je suis venu, j’ai vu l’opportunité… et cela
me correspond totalement.
C’était à ma portée et c’est quelque chose que je ne peux
plus ignorer. L’expérience de l’écriture s’est très bien déroulée, je pense que
je vais continuer dans cette voie.