Qu'est-ce que la sécurité des applications web ?
La sécurité des applications web désigne la pratique consistant à protéger les sites web, les applications et les API contre les attaques. Il s'agit d'une vaste discipline, mais ses objectifs ultimes sont de maintenir le bon fonctionnement des applications web et de protéger les entreprises du cyber vandalisme, du vol de données, de la concurrence déloyale et d'autres conséquences négatives.
La nature globale de l'internet expose les applications web et les API à des attaques provenant de nombreux endroits et de différents niveaux d'échelle et de complexité. En tant que telle, la sécurité des applications web englobe une variété de stratégies et couvre de nombreuses parties de la chaîne d'approvisionnement en logiciels.
Quels sont les risques courants en matière de sécurité des applications web ?
Les applications web peuvent être confrontées à plusieurs types d'attaques en fonction des objectifs de l'attaquant, de la nature du travail de l'organisation ciblée et des lacunes de sécurité particulières de l'application. Les types d'attaques les plus courants sont les suivants :
- Vulnérabilités de type "zero day" : il s'agit de vulnérabilités inconnues des fabricants d'une application, et qui n'ont donc pas de correctif disponible. Nous en observons désormais plus de 20 000 par an. Les attaques cherchent à exploiter rapidement ces vulnérabilités, souvent dans le but de contourner les protections mises en place par les fournisseurs de sécurité.
- Cross-Site Scripting (XSS) : cette vulnérabilité permet à un acteur malveillant d'injecter des scripts au sein d'une page web, côté client, dans le but d'accéder directement à des informations importantes, d'usurper l'identité des utilisateurs ou de piéger ces derniers afin qu'ils révèlent des informations importantes. Découvrez comment prévenir les attaques XSS.
- Injection SQL (SQi) : cette technique permet aux acteurs malveillants d'exploiter les vulnérabilités inhérentes à la manière dont une base de données exécute les requêtes de recherche. L'injection SQL permet ainsi d'accéder à des informations sans autorisation, de modifier ou de créer de nouvelles autorisations utilisateur, voire de manipuler ou détruire des données sensibles. Découvrez comment prévenir les injections SQL.
- Attaques par déni de service (DoS) et déni de service distribué (DDoS) : en s'appuyant sur divers vecteurs, les pirates peuvent surcharger un serveur ciblé ou son infrastructure environnante sous différents types de trafic hostile. Un serveur incapable de traiter efficacement les requêtes entrantes réagira de plus en plus lentement et finira par refuser de répondre aux requêtes entrantes des utilisateurs légitimes.
- Corruption de mémoire : une corruption survient lorsqu'un emplacement de la mémoire fait l'objet d'une modification involontaire, entraînant ainsi un comportement inattendu du logiciel. Les pirates peuvent essayer de détecter et d'exploiter le phénomène de corruption de mémoire par diverses méthodes, comme l'injection de code ou les attaques par débordement de tampon (buffer overflow).
- Débordement de tampon : le phénomène de débordement de tampon désigne une anomalie qui se produit lorsqu'un logiciel écrit des données dans un espace défini de la mémoire, connu sous le nom de mémoire tampon. L'engorgement de cette dernière entraîne l'écrasement des données contenues dans les emplacements de mémoire adjacents par d'autres données. Ce comportement peut être exploité afin d'injecter du code malveillant dans la mémoire, créant ainsi une faille potentielle au sein de la machine cible.
- Falsification de requêtes intersites (CSRF) : cette attaque a pour objectif de piéger une victime afin de l'amener à effectuer une requête utilisant ses identifiants ou son autorisation. L'exploitation des privilèges de compte d'un utilisateur permet à un acteur malveillant d'envoyer une requête en se faisant passer pour ce dernier. Une fois le compte d'un utilisateur compromis, le pirate peut exfiltrer, détruire ou modifier les informations importantes qu'il contient. Les comptes aux privilèges les plus élevés, comme ceux des administrateurs ou des cadres, sont fréquemment pris pour cible.
- Bourrage d'identifiants (Credential Stuffing) : les acteurs malveillants peuvent utiliser des bots pour saisir rapidement un grand nombre de combinaisons de noms d'utilisateur et de mots de passe volés dans le portail de connexion d'une application Web. Si le bourrage d'identifiants lui permet d'accéder au véritable compte de l'utilisateur, l'acteur malveillant peut voler les données de l'utilisateur et procéder à des achats frauduleux au nom de l'utilisateur.
- Extraction de contenu de page : les acteurs malveillants peuvent également utiliser des bots pour voler le contenu de pages web à grande échelle. Ils peuvent utiliser ce contenu pour obtenir un avantage tarifaire sur un concurrent, imiter le propriétaire de la page à des fins malveillantes, ou pour d'autres raisons.
- Utilisation abusive d'API : les API, ou interfaces de programmation d'applications sont des logiciels qui permettent à deux applications de communiquer entre elles. Comme tout type de logiciel, elles peuvent présenter des vulnérabilités qui permettent aux acteurs malveillants d'envoyer un code malveillant dans l'une des applications ou d'intercepter des données sensibles lorsqu'elles passent d'une application à l'autre. Il s'agit d'un type d'attaque de plus en plus courant à mesure que l'utilisation des API augmente. La liste des dix principales menaces sur les API identifiées par l'OWASP (OWASP API Top ten) répertorie succinctement les principaux risques de sécurité API auxquels les organisations sont confrontées aujourd'hui.
- API fantômes : les équipes de développement travaillent rapidement pour atteindre les objectifs commerciaux, en créant et en publiant fréquemment des API sans en informer les équipes de sécurité. Ces API inconnues peuvent exposer les données sensibles de l'entreprise, en opérant dans "l'ombre", car les équipes de sécurité chargées de protéger les API ne sont tout simplement pas au courant de leur existence.
- Abus de code tiers : de nombreuses applications web modernes s'appuient sur un grand nombre d'outils tiers (un site d'e-commerce peut, par exemple, utiliser un outil tiers pour le traitement des paiements). Les acteurs malveillants qui parviendraient à trouver une vulnérabilité dans l'un de ces outils pourraient ainsi être en mesure de compromettre l'outil, de dérober les données qu'il traite, de l'empêcher de fonctionner ou de l'utiliser pour injecter du code malveillant à un autre endroit au sein de l'application. Les attaques Magecart, qui extraient les données des cartes bancaires (pour les cloner) des processeurs de paiement, sont un exemple de ce type d'attaque. Ces attaques sont également considérées comme des attaques sur la chaîne d'approvisionnement du navigateur.
- Mauvaises configurations de la surface d'attaque : la surface d'attaque d'une entreprise désigne l'ensemble de son étendue informatique susceptible de faire l'objet de cyberattaques : serveurs, appareils, SaaS et ressources dans le cloud accessibles depuis l'Internet. Cette surface d'attaque peut rester vulnérable aux attaques en raison de l'oubli ou de la mauvaise configuration de certains éléments.
Quelles sont les principales stratégies de sécurité des applications web ?
Comme nous l'avons mentionné, la sécurité des applications web est une discipline vaste et en constante évolution. Ainsi, les meilleures pratiques de la discipline évoluent au fur et à mesure que de nouvelles attaques et vulnérabilités apparaissent. Mais le paysage moderne des menaces sur Internet est suffisamment actif pour qu'aucune organisation ne puisse s'en sortir sans certains services de sécurité de base adaptés aux besoins spécifiques de son entreprise :
- Atténuation des attaques DDoS: Les services d'atténuation des attaques DDoS s'interposent entre un serveur et l'internet public, en utilisant un filtrage spécialisé et une capacité de bande passante extrêmement élevée pour empêcher les pics de trafic malveillant de submerger le serveur.Ces services sont importants car de nombreuses attaques DDoS modernes délivrent suffisamment de trafic malveillant pour submerger jusqu'aux serveurs les plus résistants.
- Pare-feu d'application Web (WAF) : filtre le trafic connu pour ou suspecté de tirer parti des vulnérabilités des applications Web. Les WAF sont importants car les nouvelles vulnérabilités apparaissent trop rapidement et trop discrètement pour que la plupart des organisations puissent les détecter par elles-mêmes.
- Passerelles API : . Elles permettent d'identifier les "API fantômes" et de bloquer le trafic connu ou suspecté de cibler les vulnérabilités des API. Elles aident également à gérer et à surveiller le trafic des API. (En savoir plus sur la sécurité des API.)
- DNSSEC: Protocole qui garantit que le trafic DNS d'une application web est acheminé en toute sécurité vers les bons serveurs, afin que les utilisateurs ne soient pas interceptés par un attaquant sur le chemin.
- Gestion des certificats de chiffrement : Dans lequel un tiers gère les éléments clés du processus de chiffrement SSL/TLS, tels que la génération de clés privées, le renouvellement des certificats et la révocation des certificats en raison de vulnérabilités. Cela élimine le risque que ces éléments passent inaperçus et exposent le trafic privé.
- Gestion des bots : qui utilise l'apprentissage automatique et d'autres méthodes de détection spécialisées pour distinguer le trafic automatisé de celui des utilisateurs humains et empêcher le premier d'accéder à une application web.
- Sécurité côté client : Which vérifie les nouvelles dépendances JavaScript de tiers et les modifications de code de tiers, ce qui permet aux organisations de détecter plus rapidement les activités malveillantes.
- Gestion de la surface d'attaque : les outils de gestion de la surface d'attaque exploitables doivent offrir une interface unique pour cartographier votre surface d'attaque, identifier les risques de sécurité potentiels et atténuer les risques, en quelques clics seulement.
Quelles sont les meilleures pratiques en matière de sécurité des applications que les organisations doivent attendre de leurs fournisseurs ?
Les développeurs web peuvent concevoir et construire des applications de manière à empêcher les attaquants d'accéder à des données privées, d'accéder frauduleusement à des comptes d'utilisateurs et d'effectuer d'autres actions malveillantes. La liste OWASP Top 10 présente les risques de sécurité applicative les plus courants dont les développeurs doivent être conscients. Les pratiques permettant de prévenir ces risques sont les suivantes :
- Exiger la validation des entrées : Bloquer le passage de données mal formatées dans les flux de travail de l'application permet d'éviter que du code malveillant ne pénètre dans l'application via une attaque par injection.
- Utilisation d'un chiffrement à jour : Le stockage des données des utilisateurs de manière chiffrée, ainsi que l'utilisation de HTTPS pour crypter la transmission du trafic entrant et sortant, contribuent à empêcher les attaquants de voler des données.
- Offrir une authentification et une autorisation fortes : la mise en place et l'application de contrôles pour les mots de passe forts, les options d'authentification multifactorielle, y compris les clés physiques, les possibilités de contrôle des accès et d'autres pratiques permettent de faire en sorte qu'il soit plus difficile pour les acteurs malveillants d'accéder frauduleusement aux comptes des utilisateurs et de se déplacer latéralement dans votre application.
- Assurer le suivi des API : Il existe des outils permettant d'identifier les "API fantômes" négligées qui pourraient constituer une surface d'attaque, mais la sécurité des API devient plus facile lorsque les API ne sont jamais négligées en premier lieu.
- Documenter les modifications du code : . Cela aide les équipes de sécurité et de développement à corriger plus rapidement les vulnérabilités nouvellement introduites.
Comment Cloudflare assure-t-il la sécurité des applications Web ?
Cloudflare gère un 330réseau mondial réparti dans villes et propose un grand nombre des services de sécurité énumérés ci-dessus, notamment l'DDoS atténuation des, un web application pare-feu pour , laAPI protectionDNSSEC des , , le SSL/TLS bot géré, laclientgestion des , la protection côté, et plus.
Ces services sont tous conçus pour s'exécuter à partir de n'importe quel datacenter de notre réseau, afin de leur permettre d'arrêter les attaques à proximité de leur source. Elles sont intégrées à nos services d'amélioration des performances web pour notre site, pour que l'ajout de nouvelles protections de sécurité ne ralentisse jamais le trafic. Qui plus est, tous ces services fonctionnent avec toutes sortes d'infrastructures web de sites, et peuvent souvent être mis en service en quelques minutes.
En savoir plus sur les solutions de sécurité des applications ou souscrire à une offre Cloudflare.