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 voyons maintenant plus de 20 000 par an. Les attaques cherchent à exploiter rapidement ces vulnérabilités et cherchent souvent à contourner les protections mises en place par les fournisseurs de sécurité.
- Cross-Site Scripting (XSS) : cette faille de sécurité permet à un pirate 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 de les amener à révéler des informations importantes.
- 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.
- 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 recèle. Les comptes aux privilèges les plus élevés, comme ceux des administrateurs ou des cadres, sont fréquemment pris pour cible.
- Credential stuffing : Les attaquants peuvent utiliser des robots 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 cette pratique permet au pirate d'accéder au compte d'un véritable utilisateur, il peut voler les données de ce dernier ou effectuer des achats frauduleux en son nom.
- Page scraping : Les attaquants peuvent également utiliser des robots pour "aspirer" 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.
- Abus 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, ils peuvent présenter des vulnérabilités qui permettent aux attaquants 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 OWASP API Top ten résume 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 utilisent un grand nombre d'outils tiers - par exemple, un site de commerce électronique utilisant un outil de traitement des paiements tiers.Si les attaquants trouvent une vulnérabilité dans l'un de ces outils, ils peuvent être en mesure de compromettre l'outil et de voler les données qu'il traite, de l'empêcher de fonctionner ou de l'utiliser pour injecter du code malveillant ailleurs dans l'application. Les attaques de type Magecart, qui écrèment les données des cartes de crédit des processeurs de paiement, sont un exemple de ce type d'attaque. Ces attaques sont également considérées comme des attaques de la chaîne logistique du navigateur.
- Mauvaises configurations de la surface d'attaque : La surface d'attaque d'une entreprise désigne l'ensemble de son empreinte 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 robots: Qui utilise l'apprentissage automatique et d'autres méthodes de détection spécialisées pour distinguer le trafic automatisé 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 fournir un endroit unique pour cartographier votre surface d'attaque, identifier les risques de sécurité potentiels et atténuer les risques en quelques clics.
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 cryptage à jour : Le stockage des données des utilisateurs de manière crypté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, l'offre d'options d'authentification multifactorielle, y compris les clés dures, l'offre d'options de contrôle d'accès et d'autres pratiques font qu'il est plus difficile pour les attaquants 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 réseau mondial de 300 villes qui offre un grand nombre des services de sécurité énumérés ci-dessus, notamment , l'atténuation des attaques DDoS, un pare-feu d'applications Web ,, , la protection des API, , DNSSEC, , la gestion SSL/TLS, , la gestion des robots, , la sécurité côté client, etc.
Ces services sont tous conçus pour fonctionner à partir de n'importe quel centre de données de notre réseau, ce qui leur permet d'arrêter les attaques près de leur source. Ils sont intégrés à nos services de performance des sites web, de sorte que l'ajout de nouvelles protections de sécurité ne ralentit jamais le trafic. En outre, tous ces services fonctionnent avec toutes sortes d'infrastructures de sites Web et peuvent souvent être lancés en quelques minutes.
Pour les essayer, , inscrivez-vous à un plan Cloudflare.